Changeset 41168 in webkit for trunk/JavaScriptCore/runtime/JSGlobalData.h
- Timestamp:
- Feb 23, 2009, 7:58:09 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/JSGlobalData.h
r41126 r41168 32 32 #include "Collector.h" 33 33 #include "ExecutableAllocator.h" 34 #include "JITStubs.h" 34 35 #include "JSValue.h" 35 36 #include "SmallStrings.h" … … 59 60 class UString; 60 61 struct HashTable; 62 struct VPtrSet; 61 63 62 64 class JSGlobalData : public RefCounted<JSGlobalData> { … … 69 71 static JSGlobalData& sharedInstance(); 70 72 71 static PassRefPtr<JSGlobalData> create( );73 static PassRefPtr<JSGlobalData> create(bool isShared = false); 72 74 static PassRefPtr<JSGlobalData> createLeaked(); 73 75 ~JSGlobalData(); … … 80 82 bool isSharedInstance; 81 83 ClientData* clientData; 82 83 Interpreter* interpreter;84 TimeoutChecker timeoutChecker;85 86 JSValuePtr exception;87 #if ENABLE(JIT)88 void* exceptionLocation;89 #endif90 91 const Vector<Instruction>& numericCompareFunction(ExecState*);92 Vector<Instruction> lazyNumericCompareFunction;93 bool initializingLazyNumericCompareFunction;94 84 95 85 const HashTable* arrayTable; … … 111 101 #endif 112 102 103 void* jsArrayVPtr; 104 void* jsByteArrayVPtr; 105 void* jsStringVPtr; 106 void* jsFunctionVPtr; 107 113 108 IdentifierTable* identifierTable; 114 109 CommonIdentifiers* propertyNames; 115 110 const ArgList* emptyList; // Lists are supposed to be allocated on the stack to have their elements properly marked, which is not the case here - but this list has nothing to mark. 116 111 SmallStrings smallStrings; 117 118 HashMap<OpaqueJSClass*, OpaqueJSClassContextData*> opaqueJSClassData; 112 113 #if ENABLE(ASSEMBLER) 114 ExecutableAllocator executableAllocator; 115 #endif 119 116 120 117 Lexer* lexer; 121 118 Parser* parser; 119 Interpreter* interpreter; 120 #if ENABLE(JIT) 121 JITStubs jitStubs; 122 #endif 123 TimeoutChecker timeoutChecker; 124 Heap heap; 125 126 JSValuePtr exception; 127 #if ENABLE(JIT) 128 void* exceptionLocation; 129 #endif 130 131 const Vector<Instruction>& numericCompareFunction(ExecState*); 132 Vector<Instruction> lazyNumericCompareFunction; 133 bool initializingLazyNumericCompareFunction; 134 135 HashMap<OpaqueJSClass*, OpaqueJSClassContextData*> opaqueJSClassData; 136 122 137 HashSet<ParserRefCounted*>* newParserObjects; 123 138 HashCountedSet<ParserRefCounted*>* parserObjectExtraRefCounts; … … 130 145 ScopeNode* scopeNodeBeingReparsed; 131 146 132 Heap heap;133 #if ENABLE(ASSEMBLER)134 PassRefPtr<ExecutablePool> poolForSize(size_t n) { return m_executableAllocator.poolForSize(n); }135 #endif136 137 147 private: 138 JSGlobalData(bool isShared = false); 139 #if ENABLE(ASSEMBLER) 140 ExecutableAllocator m_executableAllocator; 141 #endif 142 148 JSGlobalData(bool isShared, const VPtrSet&); 143 149 static JSGlobalData*& sharedInstanceInternal(); 144 150 };
Note:
See TracChangeset
for help on using the changeset viewer.