summaryrefslogtreecommitdiffstats
path: root/Source/JavaScriptCore/runtime/JSGlobalData.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSGlobalData.h')
-rw-r--r--Source/JavaScriptCore/runtime/JSGlobalData.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/Source/JavaScriptCore/runtime/JSGlobalData.h b/Source/JavaScriptCore/runtime/JSGlobalData.h
index 7b69055..ee3e067 100644
--- a/Source/JavaScriptCore/runtime/JSGlobalData.h
+++ b/Source/JavaScriptCore/runtime/JSGlobalData.h
@@ -39,7 +39,6 @@
#include "SmallStrings.h"
#include "Terminator.h"
#include "TimeoutChecker.h"
-#include "WeakGCMap.h"
#include "WeakRandom.h"
#include <wtf/BumpPointerAllocator.h>
#include <wtf/Forward.h>
@@ -63,6 +62,7 @@ namespace JSC {
class JSGlobalObject;
class JSObject;
class Lexer;
+ class NativeExecutable;
class Parser;
class RegExpCache;
class Stringifier;
@@ -75,8 +75,6 @@ namespace JSC {
struct HashTable;
struct Instruction;
- typedef WeakGCMap<JSGlobalObject*, JSGlobalObject> GlobalObjectMap; // FIXME: Would be nice to use a WeakGCSet here.
-
struct DSTOffsetCache {
DSTOffsetCache()
{
@@ -141,6 +139,7 @@ namespace JSC {
const HashTable* jsonTable;
const HashTable* mathTable;
const HashTable* numberTable;
+ const HashTable* objectConstructorTable;
const HashTable* regExpTable;
const HashTable* regExpConstructorTable;
const HashTable* stringTable;
@@ -155,6 +154,7 @@ namespace JSC {
RefPtr<Structure> propertyNameIteratorStructure;
RefPtr<Structure> getterSetterStructure;
RefPtr<Structure> apiWrapperStructure;
+ RefPtr<Structure> scopeChainNodeStructure;
RefPtr<Structure> dummyMarkableCellStructure;
static void storeVPtrs();
@@ -199,9 +199,10 @@ namespace JSC {
{
return jitStubs->ctiStub(this, generator);
}
- PassRefPtr<NativeExecutable> getHostFunction(NativeFunction function);
- PassRefPtr<NativeExecutable> getHostFunction(NativeFunction function, ThunkGenerator generator);
+ PassRefPtr<NativeExecutable> getHostFunction(NativeFunction, ThunkGenerator);
#endif
+ PassRefPtr<NativeExecutable> getHostFunction(NativeFunction);
+
TimeoutChecker timeoutChecker;
Terminator terminator;
Heap heap;
@@ -213,7 +214,7 @@ namespace JSC {
HashMap<OpaqueJSClass*, OpaqueJSClassContextData*> opaqueJSClassData;
- GlobalObjectMap globalObjects;
+ unsigned globalObjectCount;
JSGlobalObject* dynamicGlobalObject;
HashSet<JSObject*> stringRecursionCheckVisitedObjects;
@@ -253,6 +254,8 @@ namespace JSC {
void addRegExpToTrace(PassRefPtr<RegExp> regExp);
#endif
void dumpRegExpTrace();
+ HandleSlot allocateGlobalHandle() { return heap.allocateGlobalHandle(); }
+
private:
JSGlobalData(GlobalDataType, ThreadStackType);
static JSGlobalData*& sharedInstanceInternal();