Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Unified Diff: JavaScriptCore/runtime/JSGlobalData.h

Issue 28077: WebKit side of merge from r41149 to r41181. (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/WebKit/
Patch Set: Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « JavaScriptCore/runtime/JSFunction.h ('k') | JavaScriptCore/runtime/JSGlobalData.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: JavaScriptCore/runtime/JSGlobalData.h
===================================================================
--- JavaScriptCore/runtime/JSGlobalData.h (revision 10232)
+++ JavaScriptCore/runtime/JSGlobalData.h (working copy)
@@ -31,6 +31,7 @@
#include "Collector.h"
#include "ExecutableAllocator.h"
+#include "JITStubs.h"
#include "JSValue.h"
#include "SmallStrings.h"
#include "TimeoutChecker.h"
@@ -58,6 +59,7 @@
class Structure;
class UString;
struct HashTable;
+ struct VPtrSet;
class JSGlobalData : public RefCounted<JSGlobalData> {
public:
@@ -68,7 +70,7 @@
static bool sharedInstanceExists();
static JSGlobalData& sharedInstance();
- static PassRefPtr<JSGlobalData> create();
+ static PassRefPtr<JSGlobalData> create(bool isShared = false);
static PassRefPtr<JSGlobalData> createLeaked();
~JSGlobalData();
@@ -80,18 +82,6 @@
bool isSharedInstance;
ClientData* clientData;
- Interpreter* interpreter;
- TimeoutChecker timeoutChecker;
-
- JSValuePtr exception;
-#if ENABLE(JIT)
- void* exceptionLocation;
-#endif
-
- const Vector<Instruction>& numericCompareFunction(ExecState*);
- Vector<Instruction> lazyNumericCompareFunction;
- bool initializingLazyNumericCompareFunction;
-
const HashTable* arrayTable;
const HashTable* dateTable;
const HashTable* mathTable;
@@ -110,15 +100,40 @@
RefPtr<Structure> numberStructure;
#endif
+ void* jsArrayVPtr;
+ void* jsByteArrayVPtr;
+ void* jsStringVPtr;
+ void* jsFunctionVPtr;
+
IdentifierTable* identifierTable;
CommonIdentifiers* propertyNames;
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.
SmallStrings smallStrings;
-
- HashMap<OpaqueJSClass*, OpaqueJSClassContextData*> opaqueJSClassData;
+#if ENABLE(ASSEMBLER)
+ ExecutableAllocator executableAllocator;
+#endif
+
Lexer* lexer;
Parser* parser;
+ Interpreter* interpreter;
+#if ENABLE(JIT)
+ JITStubs jitStubs;
+#endif
+ TimeoutChecker timeoutChecker;
+ Heap heap;
+
+ JSValuePtr exception;
+#if ENABLE(JIT)
+ void* exceptionLocation;
+#endif
+
+ const Vector<Instruction>& numericCompareFunction(ExecState*);
+ Vector<Instruction> lazyNumericCompareFunction;
+ bool initializingLazyNumericCompareFunction;
+
+ HashMap<OpaqueJSClass*, OpaqueJSClassContextData*> opaqueJSClassData;
+
HashSet<ParserRefCounted*>* newParserObjects;
HashCountedSet<ParserRefCounted*>* parserObjectExtraRefCounts;
@@ -129,17 +144,8 @@
ScopeNode* scopeNodeBeingReparsed;
- Heap heap;
-#if ENABLE(ASSEMBLER)
- PassRefPtr<ExecutablePool> poolForSize(size_t n) { return m_executableAllocator.poolForSize(n); }
-#endif
-
private:
- JSGlobalData(bool isShared = false);
-#if ENABLE(ASSEMBLER)
- ExecutableAllocator m_executableAllocator;
-#endif
-
+ JSGlobalData(bool isShared, const VPtrSet&);
static JSGlobalData*& sharedInstanceInternal();
};
} // namespace JSC
« no previous file with comments | « JavaScriptCore/runtime/JSFunction.h ('k') | JavaScriptCore/runtime/JSGlobalData.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698