diff options
Diffstat (limited to 'JavaScriptCore/runtime/JSGlobalData.h')
-rw-r--r-- | JavaScriptCore/runtime/JSGlobalData.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/JavaScriptCore/runtime/JSGlobalData.h b/JavaScriptCore/runtime/JSGlobalData.h index 0f1f3c6..a90bf2c 100644 --- a/JavaScriptCore/runtime/JSGlobalData.h +++ b/JavaScriptCore/runtime/JSGlobalData.h @@ -37,6 +37,7 @@ #include "MarkStack.h" #include "NumericStrings.h" #include "SmallStrings.h" +#include "Terminator.h" #include "TimeoutChecker.h" #include "WeakRandom.h" #include <wtf/Forward.h> @@ -83,6 +84,11 @@ namespace JSC { double increment; }; + enum ThreadStackType { + ThreadStackTypeLarge, + ThreadStackTypeSmall + }; + class JSGlobalData : public RefCounted<JSGlobalData> { public: struct ClientData { @@ -92,9 +98,9 @@ namespace JSC { static bool sharedInstanceExists(); static JSGlobalData& sharedInstance(); - static PassRefPtr<JSGlobalData> create(); - static PassRefPtr<JSGlobalData> createLeaked(); - static PassRefPtr<JSGlobalData> createNonDefault(); + static PassRefPtr<JSGlobalData> create(ThreadStackType); + static PassRefPtr<JSGlobalData> createLeaked(ThreadStackType); + static PassRefPtr<JSGlobalData> createNonDefault(ThreadStackType); ~JSGlobalData(); #if ENABLE(JSC_MULTIPLE_THREADS) @@ -116,6 +122,7 @@ namespace JSC { RefPtr<Structure> activationStructure; RefPtr<Structure> interruptedExecutionErrorStructure; + RefPtr<Structure> terminatedExecutionErrorStructure; RefPtr<Structure> staticScopeStructure; RefPtr<Structure> stringStructure; RefPtr<Structure> notAnObjectErrorStubStructure; @@ -153,6 +160,7 @@ namespace JSC { JITThunks jitStubs; #endif TimeoutChecker timeoutChecker; + Terminator terminator; Heap heap; JSValue exception; @@ -184,8 +192,9 @@ namespace JSC { WeakRandom weakRandom; + int maxReentryDepth; #ifndef NDEBUG - bool mainThreadOnly; + ThreadIdentifier exclusiveThread; #endif void resetDateCache(); @@ -194,7 +203,7 @@ namespace JSC { void stopSampling(); void dumpSampleData(ExecState* exec); private: - JSGlobalData(bool isShared); + JSGlobalData(bool isShared, ThreadStackType); static JSGlobalData*& sharedInstanceInternal(); void createNativeThunk(); }; |