Changeset 94599 in webkit
- Timestamp:
- Sep 6, 2011 2:51:00 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 100 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSCallbackConstructor.h
r94364 r94599 46 46 static const ClassInfo s_info; 47 47 48 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)48 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 49 49 { 50 return Structure::create(globalData, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);50 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 51 51 } 52 52 -
trunk/Source/JavaScriptCore/API/JSCallbackFunction.h
r92706 r94599 48 48 // InternalFunction mish-mashes constructor and function behavior -- we should 49 49 // refactor the code so this override isn't necessary 50 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)50 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 51 51 { 52 return Structure::create(globalData, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);52 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 53 53 } 54 54 -
trunk/Source/JavaScriptCore/API/JSCallbackObject.h
r94364 r94599 150 150 bool inherits(JSClassRef) const; 151 151 152 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)152 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 153 153 { 154 return Structure::create(globalData, proto, TypeInfo(ObjectType, StructureFlags), Parent::AnonymousSlotCount, &s_info);154 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), Parent::AnonymousSlotCount, &s_info); 155 155 } 156 156 -
trunk/Source/JavaScriptCore/API/JSContextRef.cpp
r91903 r94599 102 102 } 103 103 104 JSGlobalObject* globalObject = JSCallbackObject<JSGlobalObject>::create(*globalData, globalObjectClass, JSCallbackObject<JSGlobalObject>::createStructure(*globalData, jsNull()));104 JSGlobalObject* globalObject = JSCallbackObject<JSGlobalObject>::create(*globalData, globalObjectClass, JSCallbackObject<JSGlobalObject>::createStructure(*globalData, 0, jsNull())); 105 105 ExecState* exec = globalObject->globalExec(); 106 106 JSValue prototype = globalObjectClass->prototype(exec); -
trunk/Source/JavaScriptCore/ChangeLog
r94575 r94599 1 2011-09-05 Oliver Hunt <oliver@apple.com> 2 3 An object's structure should reference the global object responsible for its creation 4 https://bugs.webkit.org/show_bug.cgi?id=67624 5 6 Reviewed by Gavin Barraclough. 7 8 Add a reference to a GlobalObject to Structure, and update all calls to 9 Structure::create() to pass the global object that is the origin for that 10 structure. For objects where the appropriate global object isn't available 11 at construction time (global object prototypes, etc), or objects that 12 logically don't have a global object (strings, etc) we just pass null. 13 14 This change is largely mechanical (passing a new globalObject parameter 15 around). 16 17 * API/JSCallbackConstructor.h: 18 (JSC::JSCallbackConstructor::createStructure): 19 * API/JSCallbackFunction.h: 20 (JSC::JSCallbackFunction::createStructure): 21 * API/JSCallbackObject.h: 22 (JSC::JSCallbackObject::createStructure): 23 * API/JSContextRef.cpp: 24 * JavaScriptCore.exp: 25 * debugger/DebuggerActivation.h: 26 (JSC::DebuggerActivation::createStructure): 27 * runtime/Arguments.h: 28 (JSC::Arguments::createStructure): 29 * runtime/ArrayConstructor.h: 30 (JSC::ArrayConstructor::createStructure): 31 * runtime/ArrayPrototype.h: 32 (JSC::ArrayPrototype::createStructure): 33 * runtime/BooleanObject.h: 34 (JSC::BooleanObject::createStructure): 35 * runtime/BooleanPrototype.h: 36 (JSC::BooleanPrototype::createStructure): 37 * runtime/DateConstructor.h: 38 (JSC::DateConstructor::createStructure): 39 * runtime/DateInstance.h: 40 (JSC::DateInstance::createStructure): 41 * runtime/DatePrototype.h: 42 (JSC::DatePrototype::createStructure): 43 * runtime/ErrorInstance.h: 44 (JSC::ErrorInstance::createStructure): 45 * runtime/ErrorPrototype.h: 46 (JSC::ErrorPrototype::createStructure): 47 * runtime/Executable.h: 48 (JSC::ExecutableBase::createStructure): 49 (JSC::NativeExecutable::createStructure): 50 (JSC::EvalExecutable::createStructure): 51 (JSC::ProgramExecutable::createStructure): 52 (JSC::FunctionExecutable::createStructure): 53 * runtime/FunctionPrototype.h: 54 (JSC::FunctionPrototype::createStructure): 55 * runtime/GetterSetter.h: 56 (JSC::GetterSetter::createStructure): 57 * runtime/InternalFunction.h: 58 (JSC::InternalFunction::createStructure): 59 * runtime/JSAPIValueWrapper.h: 60 (JSC::JSAPIValueWrapper::createStructure): 61 * runtime/JSActivation.h: 62 (JSC::JSActivation::createStructure): 63 * runtime/JSArray.h: 64 (JSC::JSArray::createStructure): 65 * runtime/JSByteArray.cpp: 66 (JSC::JSByteArray::createStructure): 67 * runtime/JSByteArray.h: 68 * runtime/JSFunction.h: 69 (JSC::JSFunction::createStructure): 70 * runtime/JSGlobalData.cpp: 71 (JSC::JSGlobalData::JSGlobalData): 72 * runtime/JSGlobalObject.cpp: 73 (JSC::JSGlobalObject::reset): 74 * runtime/JSGlobalObject.h: 75 (JSC::JSGlobalObject::finishCreation): 76 (JSC::JSGlobalObject::createStructure): 77 * runtime/JSNotAnObject.h: 78 (JSC::JSNotAnObject::createStructure): 79 * runtime/JSONObject.h: 80 (JSC::JSONObject::createStructure): 81 * runtime/JSObject.cpp: 82 (JSC::JSObject::createInheritorID): 83 * runtime/JSObject.h: 84 (JSC::JSObject::createStructure): 85 (JSC::JSNonFinalObject::createStructure): 86 (JSC::JSFinalObject::createStructure): 87 (JSC::createEmptyObjectStructure): 88 * runtime/JSObjectWithGlobalObject.h: 89 (JSC::JSObjectWithGlobalObject::createStructure): 90 * runtime/JSPropertyNameIterator.h: 91 (JSC::JSPropertyNameIterator::createStructure): 92 * runtime/JSStaticScopeObject.h: 93 (JSC::JSStaticScopeObject::createStructure): 94 * runtime/JSString.h: 95 (JSC::RopeBuilder::createStructure): 96 * runtime/JSVariableObject.h: 97 (JSC::JSVariableObject::createStructure): 98 * runtime/JSWrapperObject.h: 99 (JSC::JSWrapperObject::createStructure): 100 * runtime/MathObject.h: 101 (JSC::MathObject::createStructure): 102 * runtime/NativeErrorConstructor.h: 103 (JSC::NativeErrorConstructor::createStructure): 104 (JSC::NativeErrorConstructor::constructorBody): 105 * runtime/NumberConstructor.h: 106 (JSC::NumberConstructor::createStructure): 107 * runtime/NumberObject.h: 108 (JSC::NumberObject::createStructure): 109 * runtime/NumberPrototype.h: 110 (JSC::NumberPrototype::createStructure): 111 * runtime/ObjectConstructor.h: 112 (JSC::ObjectConstructor::createStructure): 113 * runtime/ObjectPrototype.h: 114 (JSC::ObjectPrototype::createStructure): 115 * runtime/RegExp.h: 116 (JSC::RegExp::createStructure): 117 * runtime/RegExpConstructor.h: 118 (JSC::RegExpConstructor::createStructure): 119 * runtime/RegExpObject.h: 120 (JSC::RegExpObject::createStructure): 121 * runtime/RegExpPrototype.h: 122 (JSC::RegExpPrototype::createStructure): 123 * runtime/ScopeChain.h: 124 (JSC::ScopeChainNode::createStructure): 125 * runtime/StrictEvalActivation.h: 126 (JSC::StrictEvalActivation::createStructure): 127 * runtime/StringConstructor.h: 128 (JSC::StringConstructor::createStructure): 129 * runtime/StringObject.h: 130 (JSC::StringObject::createStructure): 131 * runtime/StringObjectThatMasqueradesAsUndefined.h: 132 (JSC::StringObjectThatMasqueradesAsUndefined::create): 133 (JSC::StringObjectThatMasqueradesAsUndefined::createStructure): 134 * runtime/StringPrototype.h: 135 (JSC::StringPrototype::createStructure): 136 * runtime/Structure.cpp: 137 (JSC::Structure::Structure): 138 (JSC::Structure::visitChildren): 139 * runtime/Structure.h: 140 (JSC::Structure::create): 141 (JSC::Structure::globalObject): 142 (JSC::Structure::setGlobalObject): 143 * runtime/StructureChain.h: 144 (JSC::StructureChain::createStructure): 145 1 146 2011-09-06 Michael Saboff <msaboff@apple.com> 2 147 -
trunk/Source/JavaScriptCore/JavaScriptCore.exp
r94522 r94599 118 118 __ZN3JSC10throwErrorEPNS_9ExecStateEPNS_8JSObjectE 119 119 __ZN3JSC11JSByteArray13s_defaultInfoE 120 __ZN3JSC11JSByteArray15createStructureERNS_12JSGlobalDataE NS_7JSValueEPKNS_9ClassInfoE120 __ZN3JSC11JSByteArray15createStructureERNS_12JSGlobalDataEPNS_14JSGlobalObjectENS_7JSValueEPKNS_9ClassInfoE 121 121 __ZN3JSC11JSByteArrayC1EPNS_9ExecStateEPNS_9StructureEPN3WTF9ByteArrayE 122 122 __ZN3JSC11ParserArena5resetEv -
trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
r94575 r94599 115 115 ?createSingleCharacterString@SmallStrings@JSC@@AAEXPAVJSGlobalData@2@E@Z 116 116 ?createStackOverflowError@JSC@@YAPAVJSObject@1@PAVExecState@1@@Z 117 ?createStructure@JSByteArray@JSC@@SAPAVStructure@2@AAVJSGlobalData@2@ VJSValue@2@PBUClassInfo@2@@Z117 ?createStructure@JSByteArray@JSC@@SAPAVStructure@2@AAVJSGlobalData@2@PAVJSGlobalObject@2@VJSValue@2@PBUClassInfo@2@@Z 118 118 ?createSyntaxError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVUString@1@@Z 119 119 ?createTable@HashTable@JSC@@ABEXPAVJSGlobalData@2@@Z -
trunk/Source/JavaScriptCore/debugger/DebuggerActivation.h
r94364 r94599 49 49 virtual JSValue lookupSetter(ExecState*, const Identifier& propertyName); 50 50 51 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)51 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 52 52 { 53 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);53 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 54 54 } 55 55 -
trunk/Source/JavaScriptCore/runtime/Arguments.h
r94364 r94599 112 112 } 113 113 114 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)114 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 115 115 { 116 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);116 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 117 117 } 118 118 -
trunk/Source/JavaScriptCore/runtime/ArrayConstructor.h
r92706 r94599 39 39 static const ClassInfo s_info; 40 40 41 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)41 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 42 42 { 43 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 44 44 } 45 45 -
trunk/Source/JavaScriptCore/runtime/ArrayPrototype.h
r94364 r94599 44 44 static const ClassInfo s_info; 45 45 46 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)46 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 47 47 { 48 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);48 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 49 49 } 50 50 -
trunk/Source/JavaScriptCore/runtime/BooleanObject.h
r94364 r94599 41 41 static const ClassInfo s_info; 42 42 43 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)43 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 44 44 { 45 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);45 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 46 46 } 47 47 }; -
trunk/Source/JavaScriptCore/runtime/BooleanPrototype.h
r92706 r94599 37 37 static const ClassInfo s_info; 38 38 39 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)39 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 40 40 { 41 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);41 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 42 42 } 43 43 -
trunk/Source/JavaScriptCore/runtime/DateConstructor.h
r92706 r94599 39 39 static const ClassInfo s_info; 40 40 41 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)41 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 42 42 { 43 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 44 44 } 45 45 -
trunk/Source/JavaScriptCore/runtime/DateInstance.h
r94364 r94599 67 67 } 68 68 69 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)69 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 70 70 { 71 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);71 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 72 72 } 73 73 -
trunk/Source/JavaScriptCore/runtime/DatePrototype.h
r92706 r94599 44 44 static const ClassInfo s_info; 45 45 46 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)46 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 47 47 { 48 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);48 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 49 49 } 50 50 -
trunk/Source/JavaScriptCore/runtime/ErrorInstance.h
r94364 r94599 32 32 static const ClassInfo s_info; 33 33 34 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)34 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 35 35 { 36 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);36 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 37 37 } 38 38 -
trunk/Source/JavaScriptCore/runtime/ErrorPrototype.h
r94364 r94599 39 39 static const ClassInfo s_info; 40 40 41 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)41 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 42 42 { 43 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 44 44 } 45 45 -
trunk/Source/JavaScriptCore/runtime/Executable.h
r94559 r94599 84 84 } 85 85 86 static Structure* createStructure(JSGlobalData& globalData, JS Value proto) { return Structure::create(globalData, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, &s_info); }86 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, &s_info); } 87 87 88 88 static const ClassInfo s_info; … … 199 199 NativeFunction function() { return m_function; } 200 200 201 static Structure* createStructure(JSGlobalData& globalData, JS Value proto) { return Structure::create(globalData, proto, TypeInfo(LeafType, StructureFlags), AnonymousSlotCount, &s_info); }201 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(LeafType, StructureFlags), AnonymousSlotCount, &s_info); } 202 202 203 203 static const ClassInfo s_info; … … 333 333 } 334 334 #endif 335 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)336 { 337 return Structure::create(globalData, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, &s_info);335 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 336 { 337 return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, &s_info); 338 338 } 339 339 … … 394 394 #endif 395 395 396 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)397 { 398 return Structure::create(globalData, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, &s_info);396 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 397 { 398 return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, &s_info); 399 399 } 400 400 … … 550 550 void visitChildren(SlotVisitor&); 551 551 static FunctionExecutable* fromGlobalCode(const Identifier&, ExecState*, Debugger*, const SourceCode&, JSObject** exception); 552 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)553 { 554 return Structure::create(globalData, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, &s_info);552 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 553 { 554 return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, &s_info); 555 555 } 556 556 -
trunk/Source/JavaScriptCore/runtime/FunctionPrototype.h
r92706 r94599 37 37 void addFunctionProperties(ExecState*, JSGlobalObject*, Structure* functionStructure, JSFunction** callFunction, JSFunction** applyFunction); 38 38 39 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)39 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 40 40 { 41 return Structure::create(globalData, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);41 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 42 42 } 43 43 -
trunk/Source/JavaScriptCore/runtime/GetterSetter.h
r93920 r94599 60 60 JSObject* setter() const { return m_setter.get(); } 61 61 void setSetter(JSGlobalData& globalData, JSObject* setter) { m_setter.set(globalData, this, setter); } 62 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)62 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 63 63 { 64 return Structure::create(globalData, prototype, TypeInfo(GetterSetterType, OverridesVisitChildren), AnonymousSlotCount, &s_info);64 return Structure::create(globalData, globalObject, prototype, TypeInfo(GetterSetterType, OverridesVisitChildren), AnonymousSlotCount, &s_info); 65 65 } 66 66 -
trunk/Source/JavaScriptCore/runtime/InternalFunction.h
r94364 r94599 42 42 const UString calculatedDisplayName(ExecState*); 43 43 44 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)44 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 45 45 { 46 return Structure::create(globalData, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);46 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 47 47 } 48 48 -
trunk/Source/JavaScriptCore/runtime/JSAPIValueWrapper.h
r93920 r94599 40 40 virtual bool isAPIValueWrapper() const { return true; } 41 41 42 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)42 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 43 43 { 44 return Structure::create(globalData, prototype, TypeInfo(CompoundType, OverridesVisitChildren | OverridesGetPropertyNames), AnonymousSlotCount, &s_info);44 return Structure::create(globalData, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren | OverridesGetPropertyNames), AnonymousSlotCount, &s_info); 45 45 } 46 46 -
trunk/Source/JavaScriptCore/runtime/JSActivation.h
r94364 r94599 75 75 static const ClassInfo s_info; 76 76 77 static Structure* createStructure(JSGlobalData& globalData, JS Value proto) { return Structure::create(globalData, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); }77 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); } 78 78 79 79 protected: -
trunk/Source/JavaScriptCore/runtime/JSArray.h
r94364 r94599 150 150 void copyToRegisters(ExecState*, Register*, uint32_t); 151 151 152 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)153 { 154 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);152 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 153 { 154 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 155 155 } 156 156 -
trunk/Source/JavaScriptCore/runtime/JSByteArray.cpp
r94364 r94599 50 50 51 51 52 Structure* JSByteArray::createStructure(JSGlobalData& globalData, JS Value prototype, const JSC::ClassInfo* classInfo)52 Structure* JSByteArray::createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype, const JSC::ClassInfo* classInfo) 53 53 { 54 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, classInfo);54 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, classInfo); 55 55 } 56 56 -
trunk/Source/JavaScriptCore/runtime/JSByteArray.h
r94364 r94599 87 87 } 88 88 89 static Structure* createStructure(JSGlobalData&, JS Value prototype, const JSC::ClassInfo* = &s_defaultInfo);89 static Structure* createStructure(JSGlobalData&, JSGlobalObject*, JSValue prototype, const JSC::ClassInfo* = &s_defaultInfo); 90 90 91 91 virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); -
trunk/Source/JavaScriptCore/runtime/JSFunction.h
r94364 r94599 110 110 static JS_EXPORTDATA const ClassInfo s_info; 111 111 112 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)112 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 113 113 { 114 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);114 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 115 115 } 116 116 -
trunk/Source/JavaScriptCore/runtime/JSGlobalData.cpp
r93755 r94599 215 215 JSLock lock(SilenceAssertionsOnly); 216 216 structureStructure.set(*this, Structure::createStructure(*this)); 217 debuggerActivationStructure.set(*this, DebuggerActivation::createStructure(*this, jsNull()));218 activationStructure.set(*this, JSActivation::createStructure(*this, jsNull()));219 interruptedExecutionErrorStructure.set(*this, JSNonFinalObject::createStructure(*this, jsNull()));220 terminatedExecutionErrorStructure.set(*this, JSNonFinalObject::createStructure(*this, jsNull()));221 staticScopeStructure.set(*this, JSStaticScopeObject::createStructure(*this, jsNull()));222 strictEvalActivationStructure.set(*this, StrictEvalActivation::createStructure(*this, jsNull()));223 stringStructure.set(*this, JSString::createStructure(*this, jsNull()));224 notAnObjectStructure.set(*this, JSNotAnObject::createStructure(*this, jsNull()));225 propertyNameIteratorStructure.set(*this, JSPropertyNameIterator::createStructure(*this, jsNull()));226 getterSetterStructure.set(*this, GetterSetter::createStructure(*this, jsNull()));227 apiWrapperStructure.set(*this, JSAPIValueWrapper::createStructure(*this, jsNull()));228 scopeChainNodeStructure.set(*this, ScopeChainNode::createStructure(*this, jsNull()));229 executableStructure.set(*this, ExecutableBase::createStructure(*this, jsNull()));230 nativeExecutableStructure.set(*this, NativeExecutable::createStructure(*this, jsNull()));231 evalExecutableStructure.set(*this, EvalExecutable::createStructure(*this, jsNull()));232 programExecutableStructure.set(*this, ProgramExecutable::createStructure(*this, jsNull()));233 functionExecutableStructure.set(*this, FunctionExecutable::createStructure(*this, jsNull()));234 regExpStructure.set(*this, RegExp::createStructure(*this, jsNull()));235 structureChainStructure.set(*this, StructureChain::createStructure(*this, jsNull()));217 debuggerActivationStructure.set(*this, DebuggerActivation::createStructure(*this, 0, jsNull())); 218 activationStructure.set(*this, JSActivation::createStructure(*this, 0, jsNull())); 219 interruptedExecutionErrorStructure.set(*this, JSNonFinalObject::createStructure(*this, 0, jsNull())); 220 terminatedExecutionErrorStructure.set(*this, JSNonFinalObject::createStructure(*this, 0, jsNull())); 221 staticScopeStructure.set(*this, JSStaticScopeObject::createStructure(*this, 0, jsNull())); 222 strictEvalActivationStructure.set(*this, StrictEvalActivation::createStructure(*this, 0, jsNull())); 223 stringStructure.set(*this, JSString::createStructure(*this, 0, jsNull())); 224 notAnObjectStructure.set(*this, JSNotAnObject::createStructure(*this, 0, jsNull())); 225 propertyNameIteratorStructure.set(*this, JSPropertyNameIterator::createStructure(*this, 0, jsNull())); 226 getterSetterStructure.set(*this, GetterSetter::createStructure(*this, 0, jsNull())); 227 apiWrapperStructure.set(*this, JSAPIValueWrapper::createStructure(*this, 0, jsNull())); 228 scopeChainNodeStructure.set(*this, ScopeChainNode::createStructure(*this, 0, jsNull())); 229 executableStructure.set(*this, ExecutableBase::createStructure(*this, 0, jsNull())); 230 nativeExecutableStructure.set(*this, NativeExecutable::createStructure(*this, 0, jsNull())); 231 evalExecutableStructure.set(*this, EvalExecutable::createStructure(*this, 0, jsNull())); 232 programExecutableStructure.set(*this, ProgramExecutable::createStructure(*this, 0, jsNull())); 233 functionExecutableStructure.set(*this, FunctionExecutable::createStructure(*this, 0, jsNull())); 234 regExpStructure.set(*this, RegExp::createStructure(*this, 0, jsNull())); 235 structureChainStructure.set(*this, StructureChain::createStructure(*this, 0, jsNull())); 236 236 237 237 wtfThreadData().setCurrentIdentifierTable(existingEntryIdentifierTable); -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
r92788 r94599 186 186 ExecState* exec = JSGlobalObject::globalExec(); 187 187 188 m_functionPrototype.set(exec->globalData(), this, FunctionPrototype::create(exec, this, FunctionPrototype::createStructure(exec->globalData(), jsNull()))); // The real prototype will be set once ObjectPrototype is created.189 m_functionStructure.set(exec->globalData(), this, JSFunction::createStructure(exec->globalData(), m_functionPrototype.get()));188 m_functionPrototype.set(exec->globalData(), this, FunctionPrototype::create(exec, this, FunctionPrototype::createStructure(exec->globalData(), this, jsNull()))); // The real prototype will be set once ObjectPrototype is created. 189 m_functionStructure.set(exec->globalData(), this, JSFunction::createStructure(exec->globalData(), this, m_functionPrototype.get())); 190 190 m_namedFunctionStructure.set(exec->globalData(), this, Structure::addPropertyTransition(exec->globalData(), m_functionStructure.get(), exec->globalData().propertyNames->name, DontDelete | ReadOnly | DontEnum, 0, m_functionNameOffset)); 191 m_internalFunctionStructure.set(exec->globalData(), this, InternalFunction::createStructure(exec->globalData(), m_functionPrototype.get()));191 m_internalFunctionStructure.set(exec->globalData(), this, InternalFunction::createStructure(exec->globalData(), this, m_functionPrototype.get())); 192 192 JSFunction* callFunction = 0; 193 193 JSFunction* applyFunction = 0; … … 195 195 m_callFunction.set(exec->globalData(), this, callFunction); 196 196 m_applyFunction.set(exec->globalData(), this, applyFunction); 197 m_objectPrototype.set(exec->globalData(), this, ObjectPrototype::create(exec, this, ObjectPrototype::createStructure(exec->globalData(), jsNull())));197 m_objectPrototype.set(exec->globalData(), this, ObjectPrototype::create(exec, this, ObjectPrototype::createStructure(exec->globalData(), this, jsNull()))); 198 198 m_functionPrototype->structure()->setPrototypeWithoutTransition(exec->globalData(), m_objectPrototype.get()); 199 199 200 200 m_emptyObjectStructure.set(exec->globalData(), this, m_objectPrototype->inheritorID(exec->globalData())); 201 m_nullPrototypeObjectStructure.set(exec->globalData(), this, createEmptyObjectStructure(exec->globalData(), jsNull()));202 203 m_callbackFunctionStructure.set(exec->globalData(), this, JSCallbackFunction::createStructure(exec->globalData(), m_functionPrototype.get()));204 m_argumentsStructure.set(exec->globalData(), this, Arguments::createStructure(exec->globalData(), m_objectPrototype.get()));205 m_callbackConstructorStructure.set(exec->globalData(), this, JSCallbackConstructor::createStructure(exec->globalData(), m_objectPrototype.get()));206 m_callbackObjectStructure.set(exec->globalData(), this, JSCallbackObject<JSObjectWithGlobalObject>::createStructure(exec->globalData(), m_objectPrototype.get()));207 208 m_arrayPrototype.set(exec->globalData(), this, ArrayPrototype::create(exec, this, ArrayPrototype::createStructure(exec->globalData(), m_objectPrototype.get())));209 m_arrayStructure.set(exec->globalData(), this, JSArray::createStructure(exec->globalData(), m_arrayPrototype.get()));210 m_regExpMatchesArrayStructure.set(exec->globalData(), this, RegExpMatchesArray::createStructure(exec->globalData(), m_arrayPrototype.get()));211 212 m_stringPrototype.set(exec->globalData(), this, StringPrototype::create(exec, this, StringPrototype::createStructure(exec->globalData(), m_objectPrototype.get())));213 m_stringObjectStructure.set(exec->globalData(), this, StringObject::createStructure(exec->globalData(), m_stringPrototype.get()));214 215 m_booleanPrototype.set(exec->globalData(), this, BooleanPrototype::create(exec, this, BooleanPrototype::createStructure(exec->globalData(), m_objectPrototype.get())));216 m_booleanObjectStructure.set(exec->globalData(), this, BooleanObject::createStructure(exec->globalData(), m_booleanPrototype.get()));217 218 m_numberPrototype.set(exec->globalData(), this, NumberPrototype::create(exec, this, NumberPrototype::createStructure(exec->globalData(), m_objectPrototype.get())));219 m_numberObjectStructure.set(exec->globalData(), this, NumberObject::createStructure(exec->globalData(), m_numberPrototype.get()));220 221 m_datePrototype.set(exec->globalData(), this, DatePrototype::create(exec, this, DatePrototype::createStructure(exec->globalData(), m_objectPrototype.get())));222 m_dateStructure.set(exec->globalData(), this, DateInstance::createStructure(exec->globalData(), m_datePrototype.get()));201 m_nullPrototypeObjectStructure.set(exec->globalData(), this, createEmptyObjectStructure(exec->globalData(), this, jsNull())); 202 203 m_callbackFunctionStructure.set(exec->globalData(), this, JSCallbackFunction::createStructure(exec->globalData(), this, m_functionPrototype.get())); 204 m_argumentsStructure.set(exec->globalData(), this, Arguments::createStructure(exec->globalData(), this, m_objectPrototype.get())); 205 m_callbackConstructorStructure.set(exec->globalData(), this, JSCallbackConstructor::createStructure(exec->globalData(), this, m_objectPrototype.get())); 206 m_callbackObjectStructure.set(exec->globalData(), this, JSCallbackObject<JSObjectWithGlobalObject>::createStructure(exec->globalData(), this, m_objectPrototype.get())); 207 208 m_arrayPrototype.set(exec->globalData(), this, ArrayPrototype::create(exec, this, ArrayPrototype::createStructure(exec->globalData(), this, m_objectPrototype.get()))); 209 m_arrayStructure.set(exec->globalData(), this, JSArray::createStructure(exec->globalData(), this, m_arrayPrototype.get())); 210 m_regExpMatchesArrayStructure.set(exec->globalData(), this, RegExpMatchesArray::createStructure(exec->globalData(), this, m_arrayPrototype.get())); 211 212 m_stringPrototype.set(exec->globalData(), this, StringPrototype::create(exec, this, StringPrototype::createStructure(exec->globalData(), this, m_objectPrototype.get()))); 213 m_stringObjectStructure.set(exec->globalData(), this, StringObject::createStructure(exec->globalData(), this, m_stringPrototype.get())); 214 215 m_booleanPrototype.set(exec->globalData(), this, BooleanPrototype::create(exec, this, BooleanPrototype::createStructure(exec->globalData(), this, m_objectPrototype.get()))); 216 m_booleanObjectStructure.set(exec->globalData(), this, BooleanObject::createStructure(exec->globalData(), this, m_booleanPrototype.get())); 217 218 m_numberPrototype.set(exec->globalData(), this, NumberPrototype::create(exec, this, NumberPrototype::createStructure(exec->globalData(), this, m_objectPrototype.get()))); 219 m_numberObjectStructure.set(exec->globalData(), this, NumberObject::createStructure(exec->globalData(), this, m_numberPrototype.get())); 220 221 m_datePrototype.set(exec->globalData(), this, DatePrototype::create(exec, this, DatePrototype::createStructure(exec->globalData(), this, m_objectPrototype.get()))); 222 m_dateStructure.set(exec->globalData(), this, DateInstance::createStructure(exec->globalData(), this, m_datePrototype.get())); 223 223 224 224 RegExp* emptyRegex = RegExp::create(exec->globalData(), "", NoFlags); 225 225 226 m_regExpPrototype.set(exec->globalData(), this, RegExpPrototype::create(exec, this, RegExpPrototype::createStructure(exec->globalData(), m_objectPrototype.get()), emptyRegex));227 m_regExpStructure.set(exec->globalData(), this, RegExpObject::createStructure(exec->globalData(), m_regExpPrototype.get()));226 m_regExpPrototype.set(exec->globalData(), this, RegExpPrototype::create(exec, this, RegExpPrototype::createStructure(exec->globalData(), this, m_objectPrototype.get()), emptyRegex)); 227 m_regExpStructure.set(exec->globalData(), this, RegExpObject::createStructure(exec->globalData(), this, m_regExpPrototype.get())); 228 228 229 229 m_methodCallDummy.set(exec->globalData(), this, constructEmptyObject(exec)); 230 230 231 ErrorPrototype* errorPrototype = ErrorPrototype::create(exec, this, ErrorPrototype::createStructure(exec->globalData(), m_objectPrototype.get()));232 m_errorStructure.set(exec->globalData(), this, ErrorInstance::createStructure(exec->globalData(), errorPrototype));231 ErrorPrototype* errorPrototype = ErrorPrototype::create(exec, this, ErrorPrototype::createStructure(exec->globalData(), this, m_objectPrototype.get())); 232 m_errorStructure.set(exec->globalData(), this, ErrorInstance::createStructure(exec->globalData(), this, errorPrototype)); 233 233 234 234 // Constructors 235 235 236 JSCell* objectConstructor = ObjectConstructor::create(exec, this, ObjectConstructor::createStructure(exec->globalData(), m_functionPrototype.get()), m_objectPrototype.get());237 JSCell* functionConstructor = FunctionConstructor::create(exec, this, FunctionConstructor::createStructure(exec->globalData(), m_functionPrototype.get()), m_functionPrototype.get());238 JSCell* arrayConstructor = ArrayConstructor::create(exec, this, ArrayConstructor::createStructure(exec->globalData(), m_functionPrototype.get()), m_arrayPrototype.get());239 JSCell* stringConstructor = StringConstructor::create(exec, this, StringConstructor::createStructure(exec->globalData(), m_functionPrototype.get()), m_stringPrototype.get());240 JSCell* booleanConstructor = BooleanConstructor::create(exec, this, BooleanConstructor::createStructure(exec->globalData(), m_functionPrototype.get()), m_booleanPrototype.get());241 JSCell* numberConstructor = NumberConstructor::create(exec, this, NumberConstructor::createStructure(exec->globalData(), m_functionPrototype.get()), m_numberPrototype.get());242 JSCell* dateConstructor = DateConstructor::create(exec, this, DateConstructor::createStructure(exec->globalData(), m_functionPrototype.get()), m_datePrototype.get());243 244 m_regExpConstructor.set(exec->globalData(), this, RegExpConstructor::create(exec, this, RegExpConstructor::createStructure(exec->globalData(), m_functionPrototype.get()), m_regExpPrototype.get()));245 246 m_errorConstructor.set(exec->globalData(), this, ErrorConstructor::create(exec, this, ErrorConstructor::createStructure(exec->globalData(), m_functionPrototype.get()), errorPrototype));247 248 Structure* nativeErrorPrototypeStructure = NativeErrorPrototype::createStructure(exec->globalData(), errorPrototype);249 Structure* nativeErrorStructure = NativeErrorConstructor::createStructure(exec->globalData(), m_functionPrototype.get());236 JSCell* objectConstructor = ObjectConstructor::create(exec, this, ObjectConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), m_objectPrototype.get()); 237 JSCell* functionConstructor = FunctionConstructor::create(exec, this, FunctionConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), m_functionPrototype.get()); 238 JSCell* arrayConstructor = ArrayConstructor::create(exec, this, ArrayConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), m_arrayPrototype.get()); 239 JSCell* stringConstructor = StringConstructor::create(exec, this, StringConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), m_stringPrototype.get()); 240 JSCell* booleanConstructor = BooleanConstructor::create(exec, this, BooleanConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), m_booleanPrototype.get()); 241 JSCell* numberConstructor = NumberConstructor::create(exec, this, NumberConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), m_numberPrototype.get()); 242 JSCell* dateConstructor = DateConstructor::create(exec, this, DateConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), m_datePrototype.get()); 243 244 m_regExpConstructor.set(exec->globalData(), this, RegExpConstructor::create(exec, this, RegExpConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), m_regExpPrototype.get())); 245 246 m_errorConstructor.set(exec->globalData(), this, ErrorConstructor::create(exec, this, ErrorConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), errorPrototype)); 247 248 Structure* nativeErrorPrototypeStructure = NativeErrorPrototype::createStructure(exec->globalData(), this, errorPrototype); 249 Structure* nativeErrorStructure = NativeErrorConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()); 250 250 m_evalErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, "EvalError")); 251 251 m_rangeErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, "RangeError")); … … 285 285 286 286 GlobalPropertyInfo staticGlobals[] = { 287 GlobalPropertyInfo(Identifier(exec, "Math"), MathObject::create(exec, this, MathObject::createStructure(exec->globalData(), m_objectPrototype.get())), DontEnum | DontDelete),287 GlobalPropertyInfo(Identifier(exec, "Math"), MathObject::create(exec, this, MathObject::createStructure(exec->globalData(), this, m_objectPrototype.get())), DontEnum | DontDelete), 288 288 GlobalPropertyInfo(Identifier(exec, "NaN"), jsNaN(), DontEnum | DontDelete | ReadOnly), 289 289 GlobalPropertyInfo(Identifier(exec, "Infinity"), jsNumber(std::numeric_limits<double>::infinity()), DontEnum | DontDelete | ReadOnly), 290 290 GlobalPropertyInfo(Identifier(exec, "undefined"), jsUndefined(), DontEnum | DontDelete | ReadOnly), 291 GlobalPropertyInfo(Identifier(exec, "JSON"), JSONObject::create(exec, this, JSONObject::createStructure(exec->globalData(), m_objectPrototype.get())), DontEnum | DontDelete)291 GlobalPropertyInfo(Identifier(exec, "JSON"), JSONObject::create(exec, this, JSONObject::createStructure(exec->globalData(), this, m_objectPrototype.get())), DontEnum | DontDelete) 292 292 }; 293 293 addStaticGlobals(staticGlobals, WTF_ARRAY_LENGTH(staticGlobals)); -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h
r94364 r94599 176 176 { 177 177 Base::finishCreation(globalData); 178 structure()->setGlobalObject(globalData, this); 178 179 COMPILE_ASSERT(JSGlobalObject::AnonymousSlotCount == 1, JSGlobalObject_has_only_a_single_slot); 179 180 putThisToAnonymousValue(0); … … 283 284 static Structure* createStructure(JSGlobalData& globalData, JSValue prototype) 284 285 { 285 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);286 return Structure::create(globalData, 0, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 286 287 } 287 288 -
trunk/Source/JavaScriptCore/runtime/JSNotAnObject.h
r94364 r94599 54 54 } 55 55 56 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)56 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 57 57 { 58 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);58 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 59 59 } 60 60 -
trunk/Source/JavaScriptCore/runtime/JSONObject.h
r94364 r94599 42 42 } 43 43 44 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)44 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 45 45 { 46 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);46 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 47 47 } 48 48 -
trunk/Source/JavaScriptCore/runtime/JSObject.cpp
r94522 r94599 590 590 Structure* JSObject::createInheritorID(JSGlobalData& globalData) 591 591 { 592 m_inheritorID.set(globalData, this, createEmptyObjectStructure(globalData, this));592 m_inheritorID.set(globalData, this, createEmptyObjectStructure(globalData, m_structure->globalObject(), this)); 593 593 ASSERT(m_inheritorID->isEmpty()); 594 594 return m_inheritorID.get(); -
trunk/Source/JavaScriptCore/runtime/JSObject.h
r94522 r94599 271 271 } 272 272 273 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)274 { 275 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);273 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 274 { 275 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 276 276 } 277 277 … … 348 348 typedef JSObject Base; 349 349 350 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)351 { 352 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);350 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 351 { 352 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 353 353 } 354 354 … … 395 395 } 396 396 397 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)398 { 399 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);397 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 398 { 399 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 400 400 } 401 401 … … 440 440 } 441 441 442 inline Structure* createEmptyObjectStructure(JSGlobalData& globalData, JS Value prototype)443 { 444 return JSFinalObject::createStructure(globalData, prototype);442 inline Structure* createEmptyObjectStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 443 { 444 return JSFinalObject::createStructure(globalData, globalObject, prototype); 445 445 } 446 446 -
trunk/Source/JavaScriptCore/runtime/JSObjectWithGlobalObject.h
r94364 r94599 37 37 typedef JSNonFinalObject Base; 38 38 39 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)39 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 40 40 { 41 return Structure::create(globalData, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);41 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 42 42 } 43 43 -
trunk/Source/JavaScriptCore/runtime/JSPropertyNameIterator.h
r93920 r94599 54 54 } 55 55 56 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)56 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 57 57 { 58 return Structure::create(globalData, prototype, TypeInfo(CompoundType, OverridesVisitChildren), AnonymousSlotCount, &s_info);58 return Structure::create(globalData, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), AnonymousSlotCount, &s_info); 59 59 } 60 60 -
trunk/Source/JavaScriptCore/runtime/JSStaticScopeObject.h
r94364 r94599 48 48 void putWithAttributes(ExecState*, const Identifier&, JSValue, unsigned attributes); 49 49 50 static Structure* createStructure(JSGlobalData& globalData, JS Value proto) { return Structure::create(globalData, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); }50 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); } 51 51 52 52 protected: -
trunk/Source/JavaScriptCore/runtime/JSString.h
r94336 r94599 437 437 JSValue replaceCharacter(ExecState*, UChar, const UString& replacement); 438 438 439 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)440 { 441 return Structure::create(globalData, proto, TypeInfo(StringType, OverridesGetOwnPropertySlot), AnonymousSlotCount, &s_info);439 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 440 { 441 return Structure::create(globalData, globalObject, proto, TypeInfo(StringType, OverridesGetOwnPropertySlot), AnonymousSlotCount, &s_info); 442 442 } 443 443 -
trunk/Source/JavaScriptCore/runtime/JSVariableObject.h
r94364 r94599 62 62 static size_t offsetOfRegisters() { return OBJECT_OFFSETOF(JSVariableObject, m_registers); } 63 63 64 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)64 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 65 65 { 66 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);66 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 67 67 } 68 68 -
trunk/Source/JavaScriptCore/runtime/JSWrapperObject.h
r94364 r94599 36 36 void setInternalValue(JSGlobalData&, JSValue); 37 37 38 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)38 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 39 39 { 40 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);40 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 41 41 } 42 42 -
trunk/Source/JavaScriptCore/runtime/MathObject.h
r94364 r94599 42 42 static const ClassInfo s_info; 43 43 44 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)44 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 45 45 { 46 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);46 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 47 47 } 48 48 -
trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.h
r93624 r94599 42 42 static const ClassInfo s_info; 43 43 44 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)44 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 45 45 { 46 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);46 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 47 47 } 48 48 … … 58 58 putDirect(exec->globalData(), exec->propertyNames().length, jsNumber(1), DontDelete | ReadOnly | DontEnum); // ECMA 15.11.7.5 59 59 putDirect(exec->globalData(), exec->propertyNames().prototype, prototype, DontDelete | ReadOnly | DontEnum); 60 m_errorStructure.set(exec->globalData(), this, ErrorInstance::createStructure(exec->globalData(), prototype));60 m_errorStructure.set(exec->globalData(), this, ErrorInstance::createStructure(exec->globalData(), globalObject, prototype)); 61 61 ASSERT(m_errorStructure); 62 62 ASSERT(m_errorStructure->typeInfo().type() == ObjectType); -
trunk/Source/JavaScriptCore/runtime/NumberConstructor.h
r92706 r94599 43 43 static const ClassInfo s_info; 44 44 45 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)45 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 46 46 { 47 return Structure::create(globalData, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);47 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 48 48 } 49 49 -
trunk/Source/JavaScriptCore/runtime/NumberObject.h
r94364 r94599 41 41 static const ClassInfo s_info; 42 42 43 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)43 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 44 44 { 45 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);45 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 46 46 } 47 47 -
trunk/Source/JavaScriptCore/runtime/NumberPrototype.h
r92706 r94599 37 37 static const ClassInfo s_info; 38 38 39 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)39 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 40 40 { 41 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);41 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 42 42 } 43 43 -
trunk/Source/JavaScriptCore/runtime/ObjectConstructor.h
r92706 r94599 42 42 static const ClassInfo s_info; 43 43 44 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)44 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 45 45 { 46 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);46 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 47 47 } 48 48 -
trunk/Source/JavaScriptCore/runtime/ObjectPrototype.h
r94364 r94599 39 39 static const ClassInfo s_info; 40 40 41 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)41 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 42 42 { 43 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 44 44 } 45 45 -
trunk/Source/JavaScriptCore/runtime/RegExp.h
r93835 r94599 67 67 #endif 68 68 69 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)69 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 70 70 { 71 return Structure::create(globalData, prototype, TypeInfo(LeafType, 0), 0, &s_info);71 return Structure::create(globalData, globalObject, prototype, TypeInfo(LeafType, 0), 0, &s_info); 72 72 } 73 73 -
trunk/Source/JavaScriptCore/runtime/RegExpConstructor.h
r92706 r94599 65 65 } 66 66 67 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)67 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 68 68 { 69 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);69 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 70 70 } 71 71 -
trunk/Source/JavaScriptCore/runtime/RegExpObject.h
r94364 r94599 68 68 static JS_EXPORTDATA const ClassInfo s_info; 69 69 70 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)70 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 71 71 { 72 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);72 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 73 73 } 74 74 -
trunk/Source/JavaScriptCore/runtime/RegExpPrototype.h
r92706 r94599 38 38 static const ClassInfo s_info; 39 39 40 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)40 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 41 41 { 42 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);42 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 43 43 } 44 44 -
trunk/Source/JavaScriptCore/runtime/ScopeChain.h
r93920 r94599 87 87 #endif 88 88 89 static Structure* createStructure(JSGlobalData& globalData, JS Value proto) { return Structure::create(globalData, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, &s_info); }89 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, &s_info); } 90 90 virtual void visitChildren(SlotVisitor&); 91 91 static JS_EXPORTDATA const ClassInfo s_info; -
trunk/Source/JavaScriptCore/runtime/StrictEvalActivation.h
r94364 r94599 46 46 virtual JSValue toStrictThisObject(ExecState*) const; 47 47 48 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)48 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 49 49 { 50 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);50 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 51 51 } 52 52 -
trunk/Source/JavaScriptCore/runtime/StringConstructor.h
r92706 r94599 39 39 static const ClassInfo s_info; 40 40 41 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)41 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 42 42 { 43 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);43 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 44 44 } 45 45 -
trunk/Source/JavaScriptCore/runtime/StringObject.h
r94364 r94599 55 55 JSString* internalValue() const { return asString(JSWrapperObject::internalValue());} 56 56 57 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)57 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 58 58 { 59 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);59 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 60 60 } 61 61 -
trunk/Source/JavaScriptCore/runtime/StringObjectThatMasqueradesAsUndefined.h
r93688 r94599 36 36 { 37 37 JSString* newString = jsString(exec, string); 38 Structure* structure = createStructure(exec->globalData(), exec->lexicalGlobalObject() ->stringPrototype());38 Structure* structure = createStructure(exec->globalData(), exec->lexicalGlobalObject(), exec->lexicalGlobalObject()->stringPrototype()); 39 39 return new (allocateCell<StringObjectThatMasqueradesAsUndefined>(*exec->heap())) StringObjectThatMasqueradesAsUndefined(exec, structure, newString); 40 40 } … … 46 46 } 47 47 48 static Structure* createStructure(JSGlobalData& globalData, JS Value proto)48 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) 49 49 { 50 return Structure::create(globalData, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);50 return Structure::create(globalData, globalObject, proto, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 51 51 } 52 52 -
trunk/Source/JavaScriptCore/runtime/StringPrototype.h
r93624 r94599 43 43 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); 44 44 45 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)45 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 46 46 { 47 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);47 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 48 48 } 49 49 -
trunk/Source/JavaScriptCore/runtime/Structure.cpp
r93920 r94599 217 217 , m_didTransition(true) 218 218 { 219 if (previous->m_globalObject) 220 m_globalObject.set(globalData, this, previous->m_globalObject.get()); 219 221 } 220 222 … … 753 755 ASSERT(structure()->typeInfo().overridesVisitChildren()); 754 756 JSCell::visitChildren(visitor); 757 if (m_globalObject) 758 visitor.append(&m_globalObject); 755 759 if (m_prototype) 756 760 visitor.append(&m_prototype); -
trunk/Source/JavaScriptCore/runtime/Structure.h
r93920 r94599 63 63 typedef JSCell Base; 64 64 65 static Structure* create(JSGlobalData& globalData, JS Value prototype, const TypeInfo& typeInfo, unsigned anonymousSlotCount, const ClassInfo* classInfo)65 static Structure* create(JSGlobalData& globalData, JSGlobalObject*, JSValue prototype, const TypeInfo& typeInfo, unsigned anonymousSlotCount, const ClassInfo* classInfo) 66 66 { 67 67 ASSERT(globalData.structureStructure); … … 122 122 const TypeInfo& typeInfo() const { ASSERT(structure()->classInfo() == &s_info); return m_typeInfo; } 123 123 124 JSGlobalObject* globalObject() { return m_globalObject.get(); } 125 void setGlobalObject(JSGlobalData& globalData, JSGlobalObject* globalObject) { m_globalObject.set(globalData, this, globalObject); } 126 124 127 JSValue storedPrototype() const { return m_prototype.get(); } 125 128 JSValue prototypeForLookup(ExecState*) const; … … 241 244 242 245 TypeInfo m_typeInfo; 243 246 247 WriteBarrier<JSGlobalObject> m_globalObject; 244 248 WriteBarrier<Unknown> m_prototype; 245 249 mutable WriteBarrier<StructureChain> m_cachedPrototypeChain; -
trunk/Source/JavaScriptCore/runtime/StructureChain.h
r93920 r94599 55 55 void visitChildren(SlotVisitor&); 56 56 57 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype) { return Structure::create(globalData, prototype, TypeInfo(CompoundType, OverridesVisitChildren), 0, &s_info); }57 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) { return Structure::create(globalData, globalObject, prototype, TypeInfo(CompoundType, OverridesVisitChildren), 0, &s_info); } 58 58 59 59 static ClassInfo s_info; -
trunk/Source/JavaScriptGlue/ChangeLog
r94364 r94599 1 2011-09-05 Oliver Hunt <oliver@apple.com> 2 3 An object's structure should reference the global object responsible for its creation 4 https://bugs.webkit.org/show_bug.cgi?id=67624 5 6 Reviewed by Gavin Barraclough. 7 8 Update for Structure::create() requiring a global object. 9 10 * JSRun.h: 11 (JSGlueGlobalObject::create): 12 * UserObjectImp.h: 13 (UserObjectImp::createStructure): 14 1 15 2011-09-01 Mark Hahnenberg <mhahnenberg@apple.com> 2 16 -
trunk/Source/JavaScriptGlue/JSRun.h
r93059 r94599 41 41 static JSGlueGlobalObject* create(JSGlobalData& globalData, Structure* structure, JSFlags flags = kJSFlagNone) 42 42 { 43 Structure* userObjectStructure = UserObjectImp::createStructure(globalData, jsNull());43 Structure* userObjectStructure = UserObjectImp::createStructure(globalData, 0, jsNull()); 44 44 return new (allocateCell<JSGlueGlobalObject>(globalData.heap)) JSGlueGlobalObject(globalData, structure, userObjectStructure, flags); 45 45 } -
trunk/Source/JavaScriptGlue/UserObjectImp.h
r94364 r94599 67 67 JSUserObject *GetJSUserObject() const; 68 68 69 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)69 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 70 70 { 71 return Structure::create(globalData, prototype, TypeInfo(ObjectType, OverridesGetOwnPropertySlot | OverridesVisitChildren | OverridesGetPropertyNames), AnonymousSlotCount, &s_info);71 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, OverridesGetOwnPropertySlot | OverridesVisitChildren | OverridesGetPropertyNames), AnonymousSlotCount, &s_info); 72 72 } 73 73 -
trunk/Source/WebCore/ChangeLog
r94598 r94599 1 2011-09-05 Oliver Hunt <oliver@apple.com> 2 3 An object's structure should reference the global object responsible for its creation 4 https://bugs.webkit.org/show_bug.cgi?id=67624 5 6 Reviewed by Gavin Barraclough. 7 8 Update calls to Structure::create() to pass the globalObject in, 9 and update the CodeGenerator to generate appropriate createStructure 10 methods. 11 12 * bindings/js/JSAudioConstructor.h: 13 (WebCore::JSAudioConstructor::createStructure): 14 * bindings/js/JSDOMBinding.h: 15 (WebCore::DOMConstructorObject::createStructure): 16 (WebCore::getDOMStructure): 17 * bindings/js/JSDOMGlobalObject.h: 18 (WebCore::JSDOMGlobalObject::createStructure): 19 (WebCore::getDOMConstructor): 20 * bindings/js/JSDOMWindowBase.h: 21 (WebCore::JSDOMWindowBase::createStructure): 22 * bindings/js/JSDOMWindowShell.cpp: 23 (WebCore::JSDOMWindowShell::setWindow): 24 * bindings/js/JSDOMWindowShell.h: 25 (WebCore::JSDOMWindowShell::createStructure): 26 * bindings/js/JSDOMWrapper.h: 27 (WebCore::JSDOMWrapper::createStructure): 28 * bindings/js/JSImageConstructor.h: 29 (WebCore::JSImageConstructor::createStructure): 30 * bindings/js/JSImageDataCustom.cpp: 31 (WebCore::toJS): 32 * bindings/js/JSOptionConstructor.h: 33 (WebCore::JSOptionConstructor::createStructure): 34 * bindings/js/JSWorkerContextBase.h: 35 (WebCore::JSWorkerContextBase::createStructure): 36 * bindings/js/WorkerScriptController.cpp: 37 (WebCore::WorkerScriptController::initScript): 38 * bindings/scripts/CodeGeneratorJS.pm: 39 (GenerateHeader): 40 (GenerateImplementation): 41 (GenerateConstructorDeclaration): 42 * bridge/c/CRuntimeObject.h: 43 (JSC::Bindings::CRuntimeObject::createStructure): 44 * bridge/c/c_instance.cpp: 45 (JSC::Bindings::CRuntimeMethod::createStructure): 46 * bridge/jni/jsc/JavaInstanceJSC.cpp: 47 (JavaRuntimeMethod::createStructure): 48 * bridge/jni/jsc/JavaRuntimeObject.h: 49 (JSC::Bindings::JavaRuntimeObject::createStructure): 50 * bridge/objc/ObjCRuntimeObject.h: 51 (JSC::Bindings::ObjCRuntimeObject::createStructure): 52 * bridge/objc/objc_instance.mm: 53 (ObjCRuntimeMethod::createStructure): 54 * bridge/objc/objc_runtime.h: 55 (JSC::Bindings::ObjcFallbackObjectImp::createStructure): 56 * bridge/runtime_array.h: 57 (JSC::RuntimeArray::createStructure): 58 * bridge/runtime_method.h: 59 (JSC::RuntimeMethod::createStructure): 60 * bridge/runtime_object.h: 61 (JSC::Bindings::RuntimeObject::createStructure): 62 1 63 2011-09-06 Anders Carlsson <andersca@apple.com> 2 64 -
trunk/Source/WebCore/bindings/js/JSAudioConstructor.h
r92706 r94599 44 44 } 45 45 46 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)46 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 47 47 { 48 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);48 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 49 49 } 50 50 -
trunk/Source/WebCore/bindings/js/JSDOMBinding.h
r93059 r94599 46 46 class DOMConstructorObject : public JSDOMWrapper { 47 47 public: 48 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)48 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 49 49 { 50 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);50 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 51 51 } 52 52 … … 91 91 if (JSC::Structure* structure = getCachedDOMStructure(globalObject, &WrapperClass::s_info)) 92 92 return structure; 93 return cacheDOMStructure(globalObject, WrapperClass::createStructure(exec->globalData(), WrapperClass::createPrototype(exec, globalObject)), &WrapperClass::s_info);93 return cacheDOMStructure(globalObject, WrapperClass::createStructure(exec->globalData(), globalObject, WrapperClass::createPrototype(exec, globalObject)), &WrapperClass::s_info); 94 94 } 95 95 -
trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h
r91790 r94599 72 72 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSValue prototype) 73 73 { 74 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);74 return JSC::Structure::create(globalData, 0, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 75 75 } 76 76 … … 89 89 if (JSC::JSObject* constructor = const_cast<JSDOMGlobalObject*>(globalObject)->constructors().get(&ConstructorClass::s_info).get()) 90 90 return constructor; 91 JSC::JSObject* constructor = ConstructorClass::create(exec, ConstructorClass::createStructure(exec->globalData(), globalObject->objectPrototype()), const_cast<JSDOMGlobalObject*>(globalObject));91 JSC::JSObject* constructor = ConstructorClass::create(exec, ConstructorClass::createStructure(exec->globalData(), const_cast<JSDOMGlobalObject*>(globalObject), globalObject->objectPrototype()), const_cast<JSDOMGlobalObject*>(globalObject)); 92 92 ASSERT(!const_cast<JSDOMGlobalObject*>(globalObject)->constructors().contains(&ConstructorClass::s_info)); 93 93 JSC::WriteBarrier<JSC::JSObject> temp; -
trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h
r93913 r94599 53 53 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSValue prototype) 54 54 { 55 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);55 return JSC::Structure::create(globalData, 0, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 56 56 } 57 57 -
trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp
r94364 r94599 69 69 // when we allocate the global object. (Once the global object is fully 70 70 // constructed, it can mark its own prototype.) 71 Structure* prototypeStructure = JSDOMWindowPrototype::createStructure(*JSDOMWindow::commonJSGlobalData(), jsNull());71 Structure* prototypeStructure = JSDOMWindowPrototype::createStructure(*JSDOMWindow::commonJSGlobalData(), 0, jsNull()); 72 72 Strong<JSDOMWindowPrototype> prototype(*JSDOMWindow::commonJSGlobalData(), JSDOMWindowPrototype::create(*JSDOMWindow::commonJSGlobalData(), 0, prototypeStructure)); 73 73 74 Structure* structure = JSDOMWindow::createStructure(*JSDOMWindow::commonJSGlobalData(), prototype.get());74 Structure* structure = JSDOMWindow::createStructure(*JSDOMWindow::commonJSGlobalData(), 0, prototype.get()); 75 75 JSDOMWindow* jsDOMWindow = JSDOMWindow::create(*JSDOMWindow::commonJSGlobalData(), structure, domWindow, this); 76 prototypeStructure->setGlobalObject(*JSDOMWindow::commonJSGlobalData(), jsDOMWindow); 76 77 prototype->putAnonymousValue(*JSDOMWindow::commonJSGlobalData(), 0, jsDOMWindow); 77 78 setWindow(*JSDOMWindow::commonJSGlobalData(), jsDOMWindow); -
trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h
r94364 r94599 60 60 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSValue prototype) 61 61 { 62 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);62 return JSC::Structure::create(globalData, 0, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 63 63 } 64 64 -
trunk/Source/WebCore/bindings/js/JSDOMWrapper.h
r94364 r94599 43 43 } 44 44 45 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)45 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 46 46 { 47 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);47 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 48 48 } 49 49 -
trunk/Source/WebCore/bindings/js/JSImageConstructor.h
r92706 r94599 35 35 } 36 36 37 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)37 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 38 38 { 39 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);39 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 40 40 } 41 41 -
trunk/Source/WebCore/bindings/js/JSImageDataCustom.cpp
r93264 r94599 51 51 Structure* cpaStructure = getCachedDOMStructure(globalObject, &cpaClassInfo); 52 52 if (!cpaStructure) 53 cpaStructure = cacheDOMStructure(globalObject, JSByteArray::createStructure(exec->globalData(), jsNull(), &cpaClassInfo), &cpaClassInfo);53 cpaStructure = cacheDOMStructure(globalObject, JSByteArray::createStructure(exec->globalData(), globalObject, jsNull(), &cpaClassInfo), &cpaClassInfo); 54 54 wrapper->putDirect(exec->globalData(), dataName, JSByteArray::create(exec, cpaStructure, imageData->data()->data()), DontDelete | ReadOnly); 55 55 exec->heap()->reportExtraMemoryCost(imageData->data()->length()); -
trunk/Source/WebCore/bindings/js/JSOptionConstructor.h
r92706 r94599 36 36 } 37 37 38 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)38 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 39 39 { 40 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);40 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 41 41 } 42 42 -
trunk/Source/WebCore/bindings/js/JSWorkerContextBase.h
r84052 r94599 50 50 virtual ScriptExecutionContext* scriptExecutionContext() const; 51 51 52 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)52 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 53 53 { 54 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);54 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 55 55 } 56 56 -
trunk/Source/WebCore/bindings/js/WorkerScriptController.cpp
r93086 r94599 78 78 // when we allocate the global object. (Once the global object is fully 79 79 // constructed, it can mark its own prototype.) 80 Structure* workerContextPrototypeStructure = JSWorkerContextPrototype::createStructure(*m_globalData, jsNull());80 Structure* workerContextPrototypeStructure = JSWorkerContextPrototype::createStructure(*m_globalData, 0, jsNull()); 81 81 Strong<JSWorkerContextPrototype> workerContextPrototype(*m_globalData, JSWorkerContextPrototype::create(*m_globalData, 0, workerContextPrototypeStructure)); 82 82 83 83 if (m_workerContext->isDedicatedWorkerContext()) { 84 Structure* dedicatedContextPrototypeStructure = JSDedicatedWorkerContextPrototype::createStructure(*m_globalData, workerContextPrototype.get());84 Structure* dedicatedContextPrototypeStructure = JSDedicatedWorkerContextPrototype::createStructure(*m_globalData, 0, workerContextPrototype.get()); 85 85 Strong<JSDedicatedWorkerContextPrototype> dedicatedContextPrototype(*m_globalData, JSDedicatedWorkerContextPrototype::create(*m_globalData, 0, dedicatedContextPrototypeStructure)); 86 Structure* structure = JSDedicatedWorkerContext::createStructure(*m_globalData, dedicatedContextPrototype.get());86 Structure* structure = JSDedicatedWorkerContext::createStructure(*m_globalData, 0, dedicatedContextPrototype.get()); 87 87 88 88 m_workerContextWrapper.set(*m_globalData, JSDedicatedWorkerContext::create(*m_globalData, structure, m_workerContext->toDedicatedWorkerContext())); 89 workerContextPrototypeStructure->setGlobalObject(*m_globalData, m_workerContextWrapper.get()); 90 dedicatedContextPrototypeStructure->setGlobalObject(*m_globalData, m_workerContextWrapper.get()); 91 ASSERT(structure->globalObject() == m_workerContextWrapper); 92 ASSERT(m_workerContextWrapper->structure()->globalObject() == m_workerContextWrapper); 93 workerContextPrototype->structure()->setGlobalObject(*m_globalData, m_workerContextWrapper.get()); 94 dedicatedContextPrototype->structure()->setGlobalObject(*m_globalData, m_workerContextWrapper.get()); 89 95 workerContextPrototype->putAnonymousValue(*m_globalData, 0, m_workerContextWrapper.get()); 90 96 dedicatedContextPrototype->putAnonymousValue(*m_globalData, 0, m_workerContextWrapper.get()); … … 92 98 } else { 93 99 ASSERT(m_workerContext->isSharedWorkerContext()); 94 Structure* sharedContextPrototypeStructure = JSSharedWorkerContextPrototype::createStructure(*m_globalData, workerContextPrototype.get());100 Structure* sharedContextPrototypeStructure = JSSharedWorkerContextPrototype::createStructure(*m_globalData, 0, workerContextPrototype.get()); 95 101 Strong<JSSharedWorkerContextPrototype> sharedContextPrototype(*m_globalData, JSSharedWorkerContextPrototype::create(*m_globalData, 0, sharedContextPrototypeStructure)); 96 Structure* structure = JSSharedWorkerContext::createStructure(*m_globalData, sharedContextPrototype.get());102 Structure* structure = JSSharedWorkerContext::createStructure(*m_globalData, 0, sharedContextPrototype.get()); 97 103 98 104 m_workerContextWrapper.set(*m_globalData, JSSharedWorkerContext::create(*m_globalData, structure, m_workerContext->toSharedWorkerContext())); 105 m_workerContextWrapper->structure()->setGlobalObject(*m_globalData, m_workerContextWrapper.get()); 106 sharedContextPrototype->structure()->setGlobalObject(*m_globalData, m_workerContextWrapper.get()); 99 107 workerContextPrototype->putAnonymousValue(*m_globalData, 0, m_workerContextWrapper.get()); 100 108 sharedContextPrototype->putAnonymousValue(*m_globalData, 0, m_workerContextWrapper.get()); -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r94364 r94599 802 802 } 803 803 push(@headerContent, 804 " static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)\n" .804 " static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n" . 805 805 " {\n" . 806 " return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);\n" .806 " return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);\n" . 807 807 " }\n\n"); 808 808 … … 1045 1045 } 1046 1046 push(@headerContent, 1047 " static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)\n" .1047 " static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n" . 1048 1048 " {\n" . 1049 " return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);\n" .1049 " return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);\n" . 1050 1050 " }\n"); 1051 1051 if ($dataNode->extendedAttributes->{"DelegatingPrototypePutFunction"}) { … … 1551 1551 push(@implContent, "{\n"); 1552 1552 if ($hasParent && $parentClassName ne "JSC::DOMNodeFilter") { 1553 push(@implContent, " return ${className}Prototype::create(exec->globalData(), globalObject, ${className}Prototype::createStructure(exec->globalData(), ${parentClassName}Prototype::self(exec, globalObject)));\n");1553 push(@implContent, " return ${className}Prototype::create(exec->globalData(), globalObject, ${className}Prototype::createStructure(exec->globalData(), globalObject, ${parentClassName}Prototype::self(exec, globalObject)));\n"); 1554 1554 } else { 1555 push(@implContent, " return ${className}Prototype::create(exec->globalData(), globalObject, ${className}Prototype::createStructure(globalObject->globalData(), globalObject ->objectPrototype()));\n");1555 push(@implContent, " return ${className}Prototype::create(exec->globalData(), globalObject, ${className}Prototype::createStructure(globalObject->globalData(), globalObject, globalObject->objectPrototype()));\n"); 1556 1556 } 1557 1557 push(@implContent, "}\n\n"); … … 3112 3112 push(@$outputArray, " static const JSC::ClassInfo s_info;\n"); 3113 3113 3114 push(@$outputArray, " static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)\n");3114 push(@$outputArray, " static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n"); 3115 3115 push(@$outputArray, " {\n"); 3116 push(@$outputArray, " return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);\n");3116 push(@$outputArray, " return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);\n"); 3117 3117 push(@$outputArray, " }\n"); 3118 3118 -
trunk/Source/WebCore/bridge/c/CRuntimeObject.h
r93059 r94599 55 55 static const ClassInfo s_info; 56 56 57 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)57 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 58 58 { 59 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);59 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 60 60 } 61 61 -
trunk/Source/WebCore/bridge/c/c_instance.cpp
r93059 r94599 122 122 } 123 123 124 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)125 { 126 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);124 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 125 { 126 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 127 127 } 128 128 -
trunk/Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp
r93573 r94599 127 127 } 128 128 129 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)129 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 130 130 { 131 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);131 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 132 132 } 133 133 -
trunk/Source/WebCore/bridge/jni/jsc/JavaRuntimeObject.h
r93059 r94599 53 53 static const ClassInfo s_info; 54 54 55 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)55 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 56 56 { 57 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);57 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 58 58 } 59 59 -
trunk/Source/WebCore/bridge/objc/ObjCRuntimeObject.h
r93378 r94599 52 52 static const ClassInfo s_info; 53 53 54 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)54 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 55 55 { 56 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);56 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 57 57 } 58 58 -
trunk/Source/WebCore/bridge/objc/objc_instance.mm
r93378 r94599 182 182 } 183 183 184 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)184 static Structure* createStructure(JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSValue prototype) 185 185 { 186 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);186 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 187 187 } 188 188 -
trunk/Source/WebCore/bridge/objc/objc_runtime.h
r94364 r94599 112 112 } 113 113 114 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)114 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 115 115 { 116 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);116 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 117 117 } 118 118 -
trunk/Source/WebCore/bridge/qt/qt_instance.cpp
r93059 r94599 69 69 } 70 70 71 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)71 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 72 72 { 73 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);73 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 74 74 } 75 75 -
trunk/Source/WebCore/bridge/qt/qt_pixmapruntime.cpp
r93059 r94599 210 210 static const ClassInfo s_info; 211 211 212 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)213 { 214 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);212 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 213 { 214 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 215 215 } 216 216 -
trunk/Source/WebCore/bridge/qt/qt_runtime.cpp
r93059 r94599 916 916 WTF::RefPtr<WTF::ByteArray> wtfByteArray = WTF::ByteArray::create(qtByteArray.length()); 917 917 memcpy(wtfByteArray->data(), qtByteArray.constData(), qtByteArray.length()); 918 return JSC::JSByteArray::create(exec, JSC::JSByteArray::createStructure(exec->globalData(), jsNull()), wtfByteArray.get());918 return JSC::JSByteArray::create(exec, JSC::JSByteArray::createStructure(exec->globalData(), exec->lexicalGlobalObject(), jsNull()), wtfByteArray.get()); 919 919 } 920 920 -
trunk/Source/WebCore/bridge/qt/qt_runtime.h
r93059 r94599 138 138 } 139 139 140 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)141 { 142 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);140 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 141 { 142 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 143 143 } 144 144 -
trunk/Source/WebCore/bridge/runtime_array.h
r94364 r94599 69 69 } 70 70 71 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)71 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 72 72 { 73 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);73 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 74 74 } 75 75 -
trunk/Source/WebCore/bridge/runtime_method.h
r92706 r94599 52 52 } 53 53 54 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)54 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 55 55 { 56 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);56 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 57 57 } 58 58 -
trunk/Source/WebCore/bridge/runtime_object.h
r94364 r94599 68 68 } 69 69 70 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)70 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 71 71 { 72 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);72 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 73 73 } 74 74 -
trunk/Source/WebKit/mac/ChangeLog
r94386 r94599 1 2011-09-05 Oliver Hunt <oliver@apple.com> 2 3 An object's structure should reference the global object responsible for its creation 4 https://bugs.webkit.org/show_bug.cgi?id=67624 5 6 Reviewed by Gavin Barraclough. 7 8 Update for new Structure::create() globalObject parameter. 9 10 * Plugins/Hosted/ProxyInstance.mm: 11 (WebKit::ProxyRuntimeMethod::createStructure): 12 * Plugins/Hosted/ProxyRuntimeObject.h: 13 (WebKit::ProxyRuntimeObject::createStructure): 14 1 15 2011-09-01 Mark Rowe <mrowe@apple.com> 2 16 -
trunk/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
r93059 r94599 190 190 } 191 191 192 static Structure* createStructure(JSGlobalData& globalData, JS Value prototype)192 static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) 193 193 { 194 return Structure::create(globalData, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info);194 return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 195 195 } 196 196 -
trunk/Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.h
r93688 r94599 52 52 ProxyInstance* getInternalProxyInstance() const; 53 53 54 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)54 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 55 55 { 56 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);56 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 57 57 } 58 58 -
trunk/Source/WebKit2/ChangeLog
r94586 r94599 1 2011-09-05 Oliver Hunt <oliver@apple.com> 2 3 An object's structure should reference the global object responsible for its creation 4 https://bugs.webkit.org/show_bug.cgi?id=67624 5 6 Reviewed by Gavin Barraclough. 7 8 Update for new Structure::create globalObject parameter. 9 10 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 11 (WebKit::JSNPMethod::create): 12 * WebProcess/Plugins/Netscape/JSNPMethod.h: 13 (WebKit::JSNPMethod::createStructure): 14 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 15 (WebKit::JSNPObject::create): 16 * WebProcess/Plugins/Netscape/JSNPObject.h: 17 (WebKit::JSNPObject::createStructure): 18 1 19 2011-09-06 Ryosuke Niwa <rniwa@webkit.org> 2 20 -
trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp
r93720 r94599 51 51 JSNPMethod* JSNPMethod::create(ExecState* exec, JSGlobalObject* globalObject, const Identifier& ident, NPIdentifier npIdent) 52 52 { 53 JSC::Structure* structure = createStructure(exec->globalData(), globalObject ->functionPrototype());53 JSC::Structure* structure = createStructure(exec->globalData(), globalObject, globalObject->functionPrototype()); 54 54 return new (JSC::allocateCell<JSNPMethod>(*exec->heap())) JSNPMethod(exec, globalObject, ident, npIdent, structure); 55 55 } -
trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h
r93720 r94599 47 47 JSNPMethod(JSC::ExecState*, JSC::JSGlobalObject*, const JSC::Identifier&, NPIdentifier, JSC::Structure*); 48 48 49 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)49 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 50 50 { 51 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);51 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 52 52 } 53 53 -
trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp
r94364 r94599 72 72 JSNPObject* JSNPObject::create(JSC::JSGlobalObject* globalObject, NPRuntimeObjectMap* objectMap, NPObject* npObject) 73 73 { 74 Structure* structure = createStructure(globalObject->globalData(), globalObject ->objectPrototype());74 Structure* structure = createStructure(globalObject->globalData(), globalObject, globalObject->objectPrototype()); 75 75 return new (JSC::allocateCell<JSNPObject>(globalObject->globalData().heap)) JSNPObject(globalObject, objectMap, npObject, structure); 76 76 } -
trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h
r94364 r94599 66 66 static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::OverridesGetPropertyNames | JSObject::StructureFlags; 67 67 68 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JS Value prototype)68 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) 69 69 { 70 return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info);70 return JSC::Structure::create(globalData, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 71 71 } 72 72
Note: See TracChangeset
for help on using the changeset viewer.