X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/14957cd040308e3eeec43d26bae5d76da13fcd85..2d39b0e377c0896910ee49ae70082ba665faf986:/runtime/CommonIdentifiers.h diff --git a/runtime/CommonIdentifiers.h b/runtime/CommonIdentifiers.h index f74a843..96f88f8 100644 --- a/runtime/CommonIdentifiers.h +++ b/runtime/CommonIdentifiers.h @@ -27,41 +27,135 @@ // MarkedArgumentBuffer of property names, passed to a macro so we can do set them up various // ways without repeating the list. #define JSC_COMMON_IDENTIFIERS_EACH_PROPERTY_NAME(macro) \ + macro(ArgumentsIterator) \ + macro(Array) \ + macro(ArrayBuffer) \ + macro(ArrayIterator) \ + macro(BYTES_PER_ELEMENT) \ + macro(Boolean) \ + macro(Date) \ + macro(Error) \ + macro(EvalError) \ + macro(Function) \ + macro(Infinity) \ + macro(JSON) \ + macro(Map)\ + macro(MapIterator)\ + macro(Math) \ + macro(NaN) \ + macro(Number) \ + macro(Object) \ + macro(Promise) \ + macro(RangeError) \ + macro(ReferenceError) \ + macro(RegExp) \ + macro(Set)\ + macro(SetIterator)\ + macro(String) \ + macro(SyntaxError) \ + macro(TypeError) \ + macro(URIError) \ + macro(UTC) \ + macro(WeakMap)\ macro(__defineGetter__) \ macro(__defineSetter__) \ macro(__lookupGetter__) \ macro(__lookupSetter__) \ - macro(apply) \ + macro(add) \ + macro(anonymous) \ macro(arguments) \ - macro(call) \ + macro(assign) \ + macro(back) \ + macro(bind) \ + macro(blur) \ + macro(buffer) \ + macro(byteLength) \ + macro(byteOffset) \ + macro(bytecode) \ + macro(bytecodeIndex) \ + macro(bytecodes) \ + macro(bytecodesID) \ macro(callee) \ macro(caller) \ + macro(cast) \ + macro(clear) \ + macro(close) \ + macro(closed) \ + macro(compilationKind) \ + macro(compilations) \ macro(compile) \ macro(configurable) \ macro(constructor) \ + macro(count) \ + macro(counters) \ + macro(description) \ + macro(descriptions) \ + macro(displayName) \ + macro(document) \ + macro(done) \ + macro(entries) \ macro(enumerable) \ macro(eval) \ macro(exec) \ + macro(executionCount) \ + macro(exitKind) \ + macro(focus) \ + macro(forEach) \ + macro(forward) \ macro(fromCharCode) \ - macro(global) \ macro(get) \ + macro(global) \ + macro(go) \ + macro(has) \ macro(hasOwnProperty) \ + macro(hash) \ + macro(header) \ + macro(href) \ + macro(id) \ macro(ignoreCase) \ macro(index) \ + macro(inferredName) \ macro(input) \ + macro(instructionCount) \ macro(isArray) \ macro(isPrototypeOf) \ + macro(isView) \ + macro(isWatchpoint) \ + macro(jettisonReason) \ + macro(join) \ + macro(keys) \ + macro(lastIndex) \ macro(length) \ macro(message) \ macro(multiline) \ macro(name) \ + macro(next) \ macro(now) \ + macro(numInlinedCalls) \ + macro(numInlinedGetByIds) \ + macro(numInlinedPutByIds) \ + macro(of) \ + macro(opcode) \ + macro(origin) \ + macro(osrExitSites) \ + macro(osrExits) \ macro(parse) \ + macro(postMessage) \ + macro(profiledBytecodes) \ macro(propertyIsEnumerable) \ macro(prototype) \ + macro(reload) \ + macro(replace) \ macro(set) \ + macro(showModalDialog) \ + macro(size) \ + macro(slice) \ macro(source) \ + macro(sourceCode) \ + macro(stack) \ + macro(subarray) \ macro(test) \ + macro(then) \ macro(toExponential) \ macro(toFixed) \ macro(toISOString) \ @@ -69,65 +163,100 @@ macro(toLocaleString) \ macro(toPrecision) \ macro(toString) \ - macro(UTC) \ macro(value) \ macro(valueOf) \ - macro(writable) \ - macro(displayName) + macro(values) \ + macro(webkit) \ + macro(window) \ + macro(writable) #define JSC_COMMON_IDENTIFIERS_EACH_KEYWORD(macro) \ - macro(null) \ - macro(true) \ - macro(false) \ macro(break) \ macro(case) \ macro(catch) \ + macro(class) \ macro(const) \ + macro(continue) \ + macro(debugger) \ macro(default) \ + macro(delete) \ + macro(do) \ + macro(else) \ + macro(enum) \ + macro(export) \ + macro(extends) \ + macro(false) \ macro(finally) \ macro(for) \ - macro(instanceof) \ - macro(new) \ - macro(var) \ - macro(continue) \ macro(function) \ - macro(return) \ - macro(void) \ - macro(delete) \ macro(if) \ - macro(this) \ - macro(do) \ - macro(while) \ - macro(else) \ + macro(implements) \ + macro(import) \ macro(in) \ + macro(instanceof) \ + macro(interface) \ + macro(let) \ + macro(new) \ + macro(null) \ + macro(package) \ + macro(private) \ + macro(protected) \ + macro(public) \ + macro(return) \ + macro(static) \ + macro(super) \ macro(switch) \ + macro(this) \ macro(throw) \ + macro(true) \ macro(try) \ macro(typeof) \ + macro(undefined) \ + macro(var) \ + macro(void) \ + macro(while) \ macro(with) \ - macro(debugger) \ - macro(class) \ - macro(enum) \ - macro(export) \ - macro(extends) \ - macro(import) \ - macro(super) + macro(yield) -namespace JSC { +#define JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(macro) \ + macro(iterator) \ + macro(iteratorNext) \ + macro(resolve) \ + macro(reject) \ + macro(promise) \ + macro(fulfillmentHandler) \ + macro(rejectionHandler) \ + macro(index) \ + macro(values) \ + macro(deferred) \ + macro(countdownHolder) \ + macro(Object) \ + macro(TypeError) \ + macro(undefined) \ + macro(BuiltinLog) +namespace JSC { + + class BuiltinNames; + class CommonIdentifiers { WTF_MAKE_NONCOPYABLE(CommonIdentifiers); WTF_MAKE_FAST_ALLOCATED; private: - CommonIdentifiers(JSGlobalData*); - friend class JSGlobalData; - + CommonIdentifiers(VM*); + ~CommonIdentifiers(); + friend class VM; + public: + const BuiltinNames& builtinNames() const { return *m_builtinNames; } const Identifier nullIdentifier; const Identifier emptyIdentifier; const Identifier underscoreProto; const Identifier thisIdentifier; const Identifier useStrictIdentifier; + private: + std::unique_ptr m_builtinNames; + public: #define JSC_IDENTIFIER_DECLARE_KEYWORD_NAME_GLOBAL(name) const Identifier name##Keyword; JSC_COMMON_IDENTIFIERS_EACH_KEYWORD(JSC_IDENTIFIER_DECLARE_KEYWORD_NAME_GLOBAL) @@ -136,6 +265,13 @@ namespace JSC { #define JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL(name) const Identifier name; JSC_COMMON_IDENTIFIERS_EACH_PROPERTY_NAME(JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL) #undef JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL + +#define JSC_IDENTIFIER_DECLARE_PRIVATE_PROPERTY_NAME_GLOBAL(name) const Identifier name##PrivateName; + JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(JSC_IDENTIFIER_DECLARE_PRIVATE_PROPERTY_NAME_GLOBAL) +#undef JSC_IDENTIFIER_DECLARE_PRIVATE_PROPERTY_NAME_GLOBAL + + const Identifier* getPrivateName(const Identifier&) const; + Identifier getPublicName(const Identifier&) const; }; } // namespace JSC