]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/CommonIdentifiers.h
JavaScriptCore-7600.1.4.11.8.tar.gz
[apple/javascriptcore.git] / runtime / CommonIdentifiers.h
index e15335ef08f60832559305a696d51494799212d8..96f88f80f3199d74be4ac4a6a919fef6116cc0ce 100644 (file)
 // 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) \
 // 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(apply) \
+    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(add) \
+    macro(anonymous) \
     macro(arguments) \
     macro(arguments) \
+    macro(assign) \
+    macro(back) \
     macro(bind) \
     macro(bind) \
-    macro(call) \
+    macro(blur) \
+    macro(buffer) \
+    macro(byteLength) \
+    macro(byteOffset) \
+    macro(bytecode) \
+    macro(bytecodeIndex) \
+    macro(bytecodes) \
+    macro(bytecodesID) \
     macro(callee) \
     macro(caller) \
     macro(callee) \
     macro(caller) \
+    macro(cast) \
+    macro(clear) \
+    macro(close) \
+    macro(closed) \
+    macro(compilationKind) \
+    macro(compilations) \
     macro(compile) \
     macro(configurable) \
     macro(constructor) \
     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(enumerable) \
     macro(eval) \
     macro(exec) \
+    macro(executionCount) \
+    macro(exitKind) \
+    macro(focus) \
+    macro(forEach) \
+    macro(forward) \
     macro(fromCharCode) \
     macro(fromCharCode) \
-    macro(global) \
     macro(get) \
     macro(get) \
+    macro(global) \
+    macro(go) \
+    macro(has) \
     macro(hasOwnProperty) \
     macro(hasOwnProperty) \
+    macro(hash) \
+    macro(header) \
+    macro(href) \
+    macro(id) \
     macro(ignoreCase) \
     macro(index) \
     macro(ignoreCase) \
     macro(index) \
+    macro(inferredName) \
     macro(input) \
     macro(input) \
+    macro(instructionCount) \
     macro(isArray) \
     macro(isPrototypeOf) \
     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(lastIndex) \
     macro(length) \
     macro(message) \
     macro(multiline) \
     macro(name) \
+    macro(next) \
     macro(now) \
     macro(now) \
+    macro(numInlinedCalls) \
+    macro(numInlinedGetByIds) \
+    macro(numInlinedPutByIds) \
+    macro(of) \
+    macro(opcode) \
+    macro(origin) \
+    macro(osrExitSites) \
+    macro(osrExits) \
     macro(parse) \
     macro(parse) \
+    macro(postMessage) \
+    macro(profiledBytecodes) \
     macro(propertyIsEnumerable) \
     macro(prototype) \
     macro(propertyIsEnumerable) \
     macro(prototype) \
+    macro(reload) \
+    macro(replace) \
     macro(set) \
     macro(set) \
+    macro(showModalDialog) \
+    macro(size) \
+    macro(slice) \
     macro(source) \
     macro(source) \
+    macro(sourceCode) \
     macro(stack) \
     macro(stack) \
+    macro(subarray) \
     macro(test) \
     macro(test) \
+    macro(then) \
     macro(toExponential) \
     macro(toFixed) \
     macro(toISOString) \
     macro(toExponential) \
     macro(toFixed) \
     macro(toISOString) \
     macro(toLocaleString) \
     macro(toPrecision) \
     macro(toString) \
     macro(toLocaleString) \
     macro(toPrecision) \
     macro(toString) \
-    macro(UTC) \
     macro(value) \
     macro(valueOf) \
     macro(value) \
     macro(valueOf) \
-    macro(writable) \
-    macro(displayName) \
-    macro(join)
+    macro(values) \
+    macro(webkit) \
+    macro(window) \
+    macro(writable)
 
 #define JSC_COMMON_IDENTIFIERS_EACH_KEYWORD(macro) \
 
 #define JSC_COMMON_IDENTIFIERS_EACH_KEYWORD(macro) \
-    macro(null) \
-    macro(undefined) \
-    macro(true) \
-    macro(false) \
     macro(break) \
     macro(case) \
     macro(catch) \
     macro(break) \
     macro(case) \
     macro(catch) \
+    macro(class) \
     macro(const) \
     macro(const) \
-    macro(default) \
-    macro(finally) \
-    macro(for) \
-    macro(instanceof) \
-    macro(new) \
-    macro(var) \
     macro(continue) \
     macro(continue) \
-    macro(function) \
-    macro(return) \
-    macro(void) \
+    macro(debugger) \
+    macro(default) \
     macro(delete) \
     macro(delete) \
-    macro(if) \
-    macro(this) \
     macro(do) \
     macro(do) \
-    macro(while) \
     macro(else) \
     macro(else) \
-    macro(in) \
-    macro(switch) \
-    macro(throw) \
-    macro(try) \
-    macro(typeof) \
-    macro(with) \
-    macro(debugger) \
-    macro(class) \
     macro(enum) \
     macro(export) \
     macro(extends) \
     macro(enum) \
     macro(export) \
     macro(extends) \
-    macro(import) \
-    macro(super) \
+    macro(false) \
+    macro(finally) \
+    macro(for) \
+    macro(function) \
+    macro(if) \
     macro(implements) \
     macro(implements) \
+    macro(import) \
+    macro(in) \
+    macro(instanceof) \
     macro(interface) \
     macro(let) \
     macro(interface) \
     macro(let) \
+    macro(new) \
+    macro(null) \
     macro(package) \
     macro(private) \
     macro(protected) \
     macro(public) \
     macro(package) \
     macro(private) \
     macro(protected) \
     macro(public) \
+    macro(return) \
     macro(static) \
     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(yield)
 
     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:
     class CommonIdentifiers {
         WTF_MAKE_NONCOPYABLE(CommonIdentifiers); WTF_MAKE_FAST_ALLOCATED;
     private:
-        CommonIdentifiers(JSGlobalData*);
-        friend class JSGlobalData;
-
+        CommonIdentifiers(VM*);
+        ~CommonIdentifiers();
+        friend class VM;
+        
     public:
     public:
+        const BuiltinNames& builtinNames() const { return *m_builtinNames; }
         const Identifier nullIdentifier;
         const Identifier emptyIdentifier;
         const Identifier underscoreProto;
         const Identifier thisIdentifier;
         const Identifier useStrictIdentifier;
         const Identifier nullIdentifier;
         const Identifier emptyIdentifier;
         const Identifier underscoreProto;
         const Identifier thisIdentifier;
         const Identifier useStrictIdentifier;
+    private:
+        std::unique_ptr<BuiltinNames> 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)
         
 #define JSC_IDENTIFIER_DECLARE_KEYWORD_NAME_GLOBAL(name) const Identifier name##Keyword;
         JSC_COMMON_IDENTIFIERS_EACH_KEYWORD(JSC_IDENTIFIER_DECLARE_KEYWORD_NAME_GLOBAL)
@@ -146,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_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
     };
 
 } // namespace JSC