summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/JSSymbolTableObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSSymbolTableObject.h')
-rw-r--r--Source/JavaScriptCore/runtime/JSSymbolTableObject.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/Source/JavaScriptCore/runtime/JSSymbolTableObject.h b/Source/JavaScriptCore/runtime/JSSymbolTableObject.h
index 1913d018b..b4d313c19 100644
--- a/Source/JavaScriptCore/runtime/JSSymbolTableObject.h
+++ b/Source/JavaScriptCore/runtime/JSSymbolTableObject.h
@@ -44,22 +44,23 @@ public:
static NO_RETURN_DUE_TO_ASSERT void putDirectVirtual(JSObject*, ExecState*, PropertyName, JSValue, unsigned attributes);
JS_EXPORT_PRIVATE static bool deleteProperty(JSCell*, ExecState*, PropertyName);
- JS_EXPORT_PRIVATE static void getOwnPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
+ JS_EXPORT_PRIVATE static void getOwnNonIndexPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
protected:
static const unsigned StructureFlags = IsEnvironmentRecord | OverridesVisitChildren | OverridesGetPropertyNames | Base::StructureFlags;
- JSSymbolTableObject(JSGlobalData& globalData, Structure* structure, JSScope* scope)
+ JSSymbolTableObject(JSGlobalData& globalData, Structure* structure, JSScope* scope, SharedSymbolTable* symbolTable = 0)
: Base(globalData, structure, scope)
{
+ if (symbolTable)
+ m_symbolTable.set(globalData, this, symbolTable);
}
- void finishCreation(JSGlobalData& globalData, SharedSymbolTable* symbolTable = 0)
+ void finishCreation(JSGlobalData& globalData)
{
Base::finishCreation(globalData);
- if (!symbolTable)
- symbolTable = SharedSymbolTable::create(globalData);
- m_symbolTable.set(globalData, this, symbolTable);
+ if (!m_symbolTable)
+ m_symbolTable.set(globalData, this, SharedSymbolTable::create(globalData));
}
static void visitChildren(JSCell*, SlotVisitor&);