From 2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Thu, 2 Jun 2011 12:07:03 +0100 Subject: Merge WebKit at r84325: Initial merge by git. Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b --- Source/JavaScriptCore/runtime/JSGlobalObject.h | 56 +++++++++++++------------- 1 file changed, 28 insertions(+), 28 deletions(-) (limited to 'Source/JavaScriptCore/runtime/JSGlobalObject.h') diff --git a/Source/JavaScriptCore/runtime/JSGlobalObject.h b/Source/JavaScriptCore/runtime/JSGlobalObject.h index 04f63eb..0e36920 100644 --- a/Source/JavaScriptCore/runtime/JSGlobalObject.h +++ b/Source/JavaScriptCore/runtime/JSGlobalObject.h @@ -87,21 +87,21 @@ namespace JSC { WriteBarrier m_datePrototype; WriteBarrier m_regExpPrototype; - RefPtr m_argumentsStructure; - RefPtr m_arrayStructure; - RefPtr m_booleanObjectStructure; - RefPtr m_callbackConstructorStructure; - RefPtr m_callbackFunctionStructure; - RefPtr m_callbackObjectStructure; - RefPtr m_dateStructure; - RefPtr m_emptyObjectStructure; - RefPtr m_errorStructure; - RefPtr m_functionStructure; - RefPtr m_numberObjectStructure; - RefPtr m_regExpMatchesArrayStructure; - RefPtr m_regExpStructure; - RefPtr m_stringObjectStructure; - RefPtr m_internalFunctionStructure; + WriteBarrier m_argumentsStructure; + WriteBarrier m_arrayStructure; + WriteBarrier m_booleanObjectStructure; + WriteBarrier m_callbackConstructorStructure; + WriteBarrier m_callbackFunctionStructure; + WriteBarrier m_callbackObjectStructure; + WriteBarrier m_dateStructure; + WriteBarrier m_emptyObjectStructure; + WriteBarrier m_errorStructure; + WriteBarrier m_functionStructure; + WriteBarrier m_numberObjectStructure; + WriteBarrier m_regExpMatchesArrayStructure; + WriteBarrier m_regExpStructure; + WriteBarrier m_stringObjectStructure; + WriteBarrier m_internalFunctionStructure; unsigned m_profileGroup; Debugger* m_debugger; @@ -115,7 +115,7 @@ namespace JSC { void* operator new(size_t, JSGlobalData*); explicit JSGlobalObject(JSGlobalData& globalData) - : JSVariableObject(JSGlobalObject::createStructure(globalData, jsNull()), &m_symbolTable, 0) + : JSVariableObject(globalData, JSGlobalObject::createStructure(globalData, jsNull()), &m_symbolTable, 0) , m_registerArraySize(0) , m_globalScopeChain() , m_weakRandom(static_cast(randomNumber() * (std::numeric_limits::max() + 1.0))) @@ -125,8 +125,8 @@ namespace JSC { init(this); } - explicit JSGlobalObject(NonNullPassRefPtr structure) - : JSVariableObject(structure, &m_symbolTable, 0) + explicit JSGlobalObject(JSGlobalData& globalData, Structure* structure) + : JSVariableObject(globalData, structure, &m_symbolTable, 0) , m_registerArraySize(0) , m_globalScopeChain() , m_weakRandom(static_cast(randomNumber() * (std::numeric_limits::max() + 1.0))) @@ -137,8 +137,8 @@ namespace JSC { } protected: - JSGlobalObject(NonNullPassRefPtr structure, JSObject* thisValue) - : JSVariableObject(structure, &m_symbolTable, 0) + JSGlobalObject(JSGlobalData& globalData, Structure* structure, JSObject* thisValue) + : JSVariableObject(globalData, structure, &m_symbolTable, 0) , m_registerArraySize(0) , m_globalScopeChain() , m_weakRandom(static_cast(randomNumber() * (std::numeric_limits::max() + 1.0))) @@ -235,11 +235,11 @@ namespace JSC { void copyGlobalsTo(RegisterFile&); void resizeRegisters(int oldSize, int newSize); - void resetPrototype(JSValue prototype); + void resetPrototype(JSGlobalData&, JSValue prototype); JSGlobalData& globalData() const { return *m_globalData.get(); } - static PassRefPtr createStructure(JSGlobalData& globalData, JSValue prototype) + static Structure* createStructure(JSGlobalData& globalData, JSValue prototype) { return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); } @@ -363,7 +363,7 @@ namespace JSC { // We cache our prototype chain so our clients can share it. if (!isValid(exec, m_cachedPrototypeChain.get())) { JSValue prototype = prototypeForLookup(exec); - m_cachedPrototypeChain = StructureChain::create(exec->globalData(), prototype.isNull() ? 0 : asObject(prototype)->structure()); + m_cachedPrototypeChain.set(exec->globalData(), this, StructureChain::create(exec->globalData(), prototype.isNull() ? 0 : asObject(prototype)->structure())); } return m_cachedPrototypeChain.get(); } @@ -374,9 +374,9 @@ namespace JSC { return false; JSValue prototype = prototypeForLookup(exec); - RefPtr* cachedStructure = cachedPrototypeChain->head(); + WriteBarrier* cachedStructure = cachedPrototypeChain->head(); while(*cachedStructure && !prototype.isNull()) { - if (asObject(prototype)->structure() != *cachedStructure) + if (asObject(prototype)->structure() != cachedStructure->get()) return false; ++cachedStructure; prototype = asObject(prototype)->prototype(); @@ -407,17 +407,17 @@ namespace JSC { inline JSArray* constructEmptyArray(ExecState* exec) { - return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure()); + return new (exec) JSArray(exec->globalData(), exec->lexicalGlobalObject()->arrayStructure()); } inline JSArray* constructEmptyArray(ExecState* exec, JSGlobalObject* globalObject) { - return new (exec) JSArray(globalObject->arrayStructure()); + return new (exec) JSArray(exec->globalData(), globalObject->arrayStructure()); } inline JSArray* constructEmptyArray(ExecState* exec, unsigned initialLength) { - return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure(), initialLength, CreateInitialized); + return new (exec) JSArray(exec->globalData(), exec->lexicalGlobalObject()->arrayStructure(), initialLength, CreateInitialized); } inline JSArray* constructArray(ExecState* exec, JSValue singleItemValue) -- cgit v1.1