From a89b2ebb8e192c5e8cea21079bda2ee2c0c7dddd Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 25 May 2012 15:09:11 +0200 Subject: Imported WebKit commit eb5c1b8fe4d4b1b90b5137433fc58a91da0e6878 (http://svn.webkit.org/repository/webkit/trunk@118516) --- Source/JavaScriptCore/runtime/JSGlobalObject.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'Source/JavaScriptCore/runtime/JSGlobalObject.h') diff --git a/Source/JavaScriptCore/runtime/JSGlobalObject.h b/Source/JavaScriptCore/runtime/JSGlobalObject.h index a330f5f1c..59b49755b 100644 --- a/Source/JavaScriptCore/runtime/JSGlobalObject.h +++ b/Source/JavaScriptCore/runtime/JSGlobalObject.h @@ -68,6 +68,9 @@ namespace JSC { typedef bool (*ShouldInterruptScriptFunctionPtr)(const JSGlobalObject*); ShouldInterruptScriptFunctionPtr shouldInterruptScript; + + typedef bool (*JavaScriptExperimentsEnabledFunctionPtr)(const JSGlobalObject*); + JavaScriptExperimentsEnabledFunctionPtr javaScriptExperimentsEnabled; }; class JSGlobalObject : public JSVariableObject { @@ -130,6 +133,7 @@ namespace JSC { WriteBarrier m_namedFunctionStructure; size_t m_functionNameOffset; WriteBarrier m_numberObjectStructure; + WriteBarrier m_privateNameStructure; WriteBarrier m_regExpMatchesArrayStructure; WriteBarrier m_regExpStructure; WriteBarrier m_stringObjectStructure; @@ -144,6 +148,7 @@ namespace JSC { SymbolTable m_symbolTable; bool m_evalEnabled; + bool m_experimentsEnabled; static JS_EXPORTDATA const GlobalObjectMethodTable s_globalObjectMethodTable; const GlobalObjectMethodTable* m_globalObjectMethodTable; @@ -183,6 +188,7 @@ namespace JSC { { Base::finishCreation(globalData); structure()->setGlobalObject(globalData, this); + m_experimentsEnabled = m_globalObjectMethodTable->javaScriptExperimentsEnabled(this); init(this); } @@ -190,6 +196,7 @@ namespace JSC { { Base::finishCreation(globalData); structure()->setGlobalObject(globalData, this); + m_experimentsEnabled = m_globalObjectMethodTable->javaScriptExperimentsEnabled(this); init(thisValue); } @@ -263,6 +270,7 @@ namespace JSC { Structure* namedFunctionStructure() const { return m_namedFunctionStructure.get(); } size_t functionNameOffset() const { return m_functionNameOffset; } Structure* numberObjectStructure() const { return m_numberObjectStructure.get(); } + Structure* privateNameStructure() const { return m_privateNameStructure.get(); } Structure* internalFunctionStructure() const { return m_internalFunctionStructure.get(); } Structure* regExpMatchesArrayStructure() const { return m_regExpMatchesArrayStructure.get(); } Structure* regExpStructure() const { return m_regExpStructure.get(); } @@ -290,6 +298,7 @@ namespace JSC { JS_EXPORT_PRIVATE ExecState* globalExec(); static bool shouldInterruptScript(const JSGlobalObject*) { return true; } + static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return false; } bool isDynamicScope(bool& requiresDynamicChecks) const; @@ -376,7 +385,7 @@ namespace JSC { inline bool JSGlobalObject::symbolTableHasProperty(PropertyName propertyName) { - SymbolTableEntry entry = symbolTable().inlineGet(propertyName.impl()); + SymbolTableEntry entry = symbolTable().inlineGet(propertyName.publicName()); return !entry.isNull(); } -- cgit v1.2.1