Changeset 94644 in webkit for trunk/Source/JavaScriptCore


Ignore:
Timestamp:
Sep 7, 2011, 12:01:29 AM (14 years ago)
Author:
Csaba Osztrogonác
Message:

Unreviewed, rolling out r94627 and r94632.
http://trac.webkit.org/changeset/94627
http://trac.webkit.org/changeset/94632
https://bugs.webkit.org/show_bug.cgi?id=67698

It broke tests on GTK and Qt (Requested by Ossy on #webkit).

Patch by Sheriff Bot <[email protected]> on 2011-09-07

Source/JavaScriptCore:

  • API/JSCallbackConstructor.cpp:

(JSC::JSCallbackConstructor::JSCallbackConstructor):

  • API/JSCallbackConstructor.h:

(JSC::JSCallbackConstructor::create):

  • API/JSCallbackFunction.cpp:

(JSC::JSCallbackFunction::JSCallbackFunction):

(JSC::DebuggerActivation::create):

  • debugger/DebuggerActivation.h:
  • jsc.cpp:

(GlobalObject::constructorBody):
(GlobalObject::GlobalObject):

  • runtime/ArrayConstructor.cpp:

(JSC::ArrayConstructor::ArrayConstructor):

  • runtime/ArrayConstructor.h:
  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::ArrayPrototype):

  • runtime/ArrayPrototype.h:

(JSC::ArrayPrototype::create):

  • runtime/BooleanConstructor.cpp:

(JSC::BooleanConstructor::BooleanConstructor):

  • runtime/BooleanConstructor.h:
  • runtime/BooleanObject.cpp:

(JSC::BooleanObject::BooleanObject):

  • runtime/BooleanObject.h:

(JSC::BooleanObject::create):

  • runtime/BooleanPrototype.cpp:

(JSC::BooleanPrototype::BooleanPrototype):

  • runtime/BooleanPrototype.h:
  • runtime/DateConstructor.cpp:

(JSC::DateConstructor::DateConstructor):

  • runtime/DateConstructor.h:
  • runtime/DateInstance.cpp:

(JSC::DateInstance::DateInstance):

  • runtime/DateInstance.h:

(JSC::DateInstance::create):

  • runtime/DatePrototype.cpp:

(JSC::DatePrototype::DatePrototype):

  • runtime/DatePrototype.h:
  • runtime/Error.cpp:

(JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction):

  • runtime/ErrorConstructor.cpp:

(JSC::ErrorConstructor::ErrorConstructor):

  • runtime/ErrorConstructor.h:

(JSC::ErrorConstructor::create):

  • runtime/ErrorPrototype.cpp:

(JSC::ErrorPrototype::ErrorPrototype):

  • runtime/ErrorPrototype.h:

(JSC::ErrorPrototype::create):

  • runtime/FunctionConstructor.cpp:

(JSC::FunctionConstructor::FunctionConstructor):

  • runtime/FunctionConstructor.h:
  • runtime/FunctionPrototype.cpp:

(JSC::FunctionPrototype::FunctionPrototype):

  • runtime/FunctionPrototype.h:
  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::InternalFunction):

  • runtime/InternalFunction.h:
  • runtime/JSActivation.cpp:

(JSC::JSActivation::JSActivation):

  • runtime/JSActivation.h:

(JSC::JSActivation::create):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::create):
(JSC::JSGlobalObject::JSGlobalObject):

  • runtime/JSONObject.cpp:

(JSC::JSONObject::JSONObject):

  • runtime/JSONObject.h:

(JSC::JSONObject::create):

  • runtime/JSStaticScopeObject.h:

(JSC::JSStaticScopeObject::create):
(JSC::JSStaticScopeObject::JSStaticScopeObject):

  • runtime/JSString.cpp:

(JSC::StringObject::create):

  • runtime/MathObject.cpp:

(JSC::MathObject::MathObject):

  • runtime/MathObject.h:

(JSC::MathObject::create):

  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructor::NativeErrorConstructor):

  • runtime/NativeErrorConstructor.h:

(JSC::NativeErrorConstructor::constructorBody):

  • runtime/NativeErrorPrototype.cpp:

(JSC::NativeErrorPrototype::NativeErrorPrototype):
(JSC::NativeErrorPrototype::constructorBody):

  • runtime/NativeErrorPrototype.h:
  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::NumberConstructor):

  • runtime/NumberConstructor.h:
  • runtime/NumberObject.cpp:

(JSC::NumberObject::NumberObject):

  • runtime/NumberObject.h:

(JSC::NumberObject::create):

  • runtime/NumberPrototype.cpp:

(JSC::NumberPrototype::NumberPrototype):

  • runtime/NumberPrototype.h:
  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructor::ObjectConstructor):

  • runtime/ObjectConstructor.h:
  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::RegExpConstructor):
(JSC::RegExpMatchesArray::RegExpMatchesArray):

  • runtime/RegExpConstructor.h:
  • runtime/RegExpMatchesArray.h:

(JSC::RegExpMatchesArray::create):

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::RegExpObject):

  • runtime/RegExpObject.h:

(JSC::RegExpObject::create):

  • runtime/RegExpPrototype.cpp:

(JSC::RegExpPrototype::RegExpPrototype):

  • runtime/StringConstructor.cpp:

(JSC::StringConstructor::StringConstructor):

  • runtime/StringConstructor.h:
  • runtime/StringObject.cpp:

(JSC::StringObject::StringObject):

  • runtime/StringObject.h:

(JSC::StringObject::create):

  • runtime/StringObjectThatMasqueradesAsUndefined.h:

(JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::StringPrototype):

  • runtime/StringPrototype.h:

Source/JavaScriptGlue:

  • JSRun.cpp:

(JSGlueGlobalObject::JSGlueGlobalObject):

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/JSDOMBinding.h:

(WebCore::DOMConstructorObject::DOMConstructorObject):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):

  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::create):

  • bindings/js/JSDOMWindowShell.h:
  • bindings/js/JSDOMWrapper.h:

(WebCore::JSDOMWrapper::JSDOMWrapper):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterface::JSTestInterface):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObj::JSTestObj):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):

  • bridge/c/CRuntimeObject.cpp:

(JSC::Bindings::CRuntimeObject::CRuntimeObject):

  • bridge/c/CRuntimeObject.h:
  • bridge/jni/jsc/JavaRuntimeObject.cpp:

(JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):

  • bridge/jni/jsc/JavaRuntimeObject.h:
  • bridge/objc/ObjCRuntimeObject.h:
  • bridge/objc/ObjCRuntimeObject.mm:

(JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):

  • bridge/objc/objc_runtime.h:

(JSC::Bindings::ObjcFallbackObjectImp::create):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtRuntimeObject::QtRuntimeObject):

  • bridge/qt/qt_pixmapruntime.cpp:

(JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):

  • bridge/qt/qt_runtime.h:
  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::RuntimeArray):

  • bridge/runtime_array.h:

(JSC::RuntimeArray::create):

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::RuntimeMethod):

  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::RuntimeObject):

  • bridge/runtime_object.h:

(JSC::Bindings::RuntimeObject::create):

Source/WebKit/mac:

  • Plugins/Hosted/ProxyRuntimeObject.h:
  • Plugins/Hosted/ProxyRuntimeObject.mm:

(WebKit::ProxyRuntimeObject::ProxyRuntimeObject):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/JSNPMethod.cpp:

(WebKit::JSNPMethod::JSNPMethod):
(WebKit::JSNPMethod::create):

  • WebProcess/Plugins/Netscape/JSNPMethod.h:
  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::JSNPObject):
(WebKit::JSNPObject::create):

  • WebProcess/Plugins/Netscape/JSNPObject.h:
Location:
trunk/Source/JavaScriptCore
Files:
71 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/API/JSCallbackConstructor.cpp

    r94627 r94644  
    4444    , m_callback(callback)
    4545{
     46    finishCreation(globalObject, jsClass);
    4647}
    4748
  • trunk/Source/JavaScriptCore/API/JSCallbackConstructor.h

    r94627 r94644  
    3838    static JSCallbackConstructor* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, JSClassRef classRef, JSObjectCallAsConstructorCallback callback)
    3939    {
    40         JSCallbackConstructor* constructor = new (allocateCell<JSCallbackConstructor>(*exec->heap())) JSCallbackConstructor(globalObject, structure, classRef, callback);
    41         constructor->finishCreation(globalObject, classRef);
    42         return constructor;
     40        return new (allocateCell<JSCallbackConstructor>(*exec->heap())) JSCallbackConstructor(globalObject, structure, classRef, callback);
    4341    }
    4442   
  • trunk/Source/JavaScriptCore/API/JSCallbackFunction.cpp

    r94627 r94644  
    4444
    4545JSCallbackFunction::JSCallbackFunction(ExecState* exec, JSGlobalObject* globalObject, JSObjectCallAsFunctionCallback callback, const Identifier& name)
    46     : InternalFunction(globalObject, globalObject->callbackFunctionStructure())
     46    : InternalFunction(&exec->globalData(), globalObject, globalObject->callbackFunctionStructure(), name)
    4747    , m_callback(callback)
    4848{
    49     finishCreation(exec->globalData(), globalObject, name);
    50 }
    51 
    52 void JSCallbackFunction::finishCreation(JSGlobalData& globalData, JSGlobalObject* globalObject, const Identifier& name)
    53 {
    54     Base::finishCreation(globalData, globalObject, name);
    5549    ASSERT(inherits(&s_info));
    5650}
  • trunk/Source/JavaScriptCore/API/JSCallbackFunction.h

    r94627 r94644  
    3535protected:
    3636    JSCallbackFunction(ExecState*, JSGlobalObject*, JSObjectCallAsFunctionCallback, const Identifier& name);
    37     void finishCreation(JSGlobalData&, JSGlobalObject*, const Identifier& name);
    3837
    3938public:
  • trunk/Source/JavaScriptCore/ChangeLog

    r94640 r94644  
     12011-09-07  Sheriff Bot  <[email protected]>
     2
     3        Unreviewed, rolling out r94627 and r94632.
     4        http://trac.webkit.org/changeset/94627
     5        http://trac.webkit.org/changeset/94632
     6        https://bugs.webkit.org/show_bug.cgi?id=67698
     7
     8        It broke tests on GTK and Qt (Requested by Ossy on #webkit).
     9
     10        * API/JSCallbackConstructor.cpp:
     11        (JSC::JSCallbackConstructor::JSCallbackConstructor):
     12        * API/JSCallbackConstructor.h:
     13        (JSC::JSCallbackConstructor::create):
     14        * API/JSCallbackFunction.cpp:
     15        (JSC::JSCallbackFunction::JSCallbackFunction):
     16        * API/JSCallbackFunction.h:
     17        * JavaScriptCore.exp:
     18        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
     19        * debugger/DebuggerActivation.cpp:
     20        (JSC::DebuggerActivation::create):
     21        * debugger/DebuggerActivation.h:
     22        * jsc.cpp:
     23        (GlobalObject::constructorBody):
     24        (GlobalObject::GlobalObject):
     25        * runtime/ArrayConstructor.cpp:
     26        (JSC::ArrayConstructor::ArrayConstructor):
     27        * runtime/ArrayConstructor.h:
     28        * runtime/ArrayPrototype.cpp:
     29        (JSC::ArrayPrototype::ArrayPrototype):
     30        * runtime/ArrayPrototype.h:
     31        (JSC::ArrayPrototype::create):
     32        * runtime/BooleanConstructor.cpp:
     33        (JSC::BooleanConstructor::BooleanConstructor):
     34        * runtime/BooleanConstructor.h:
     35        * runtime/BooleanObject.cpp:
     36        (JSC::BooleanObject::BooleanObject):
     37        * runtime/BooleanObject.h:
     38        (JSC::BooleanObject::create):
     39        * runtime/BooleanPrototype.cpp:
     40        (JSC::BooleanPrototype::BooleanPrototype):
     41        * runtime/BooleanPrototype.h:
     42        * runtime/DateConstructor.cpp:
     43        (JSC::DateConstructor::DateConstructor):
     44        * runtime/DateConstructor.h:
     45        * runtime/DateInstance.cpp:
     46        (JSC::DateInstance::DateInstance):
     47        * runtime/DateInstance.h:
     48        (JSC::DateInstance::create):
     49        * runtime/DatePrototype.cpp:
     50        (JSC::DatePrototype::DatePrototype):
     51        * runtime/DatePrototype.h:
     52        * runtime/Error.cpp:
     53        (JSC::StrictModeTypeErrorFunction::StrictModeTypeErrorFunction):
     54        * runtime/ErrorConstructor.cpp:
     55        (JSC::ErrorConstructor::ErrorConstructor):
     56        * runtime/ErrorConstructor.h:
     57        (JSC::ErrorConstructor::create):
     58        * runtime/ErrorPrototype.cpp:
     59        (JSC::ErrorPrototype::ErrorPrototype):
     60        * runtime/ErrorPrototype.h:
     61        (JSC::ErrorPrototype::create):
     62        * runtime/FunctionConstructor.cpp:
     63        (JSC::FunctionConstructor::FunctionConstructor):
     64        * runtime/FunctionConstructor.h:
     65        * runtime/FunctionPrototype.cpp:
     66        (JSC::FunctionPrototype::FunctionPrototype):
     67        * runtime/FunctionPrototype.h:
     68        * runtime/InternalFunction.cpp:
     69        (JSC::InternalFunction::InternalFunction):
     70        * runtime/InternalFunction.h:
     71        * runtime/JSActivation.cpp:
     72        (JSC::JSActivation::JSActivation):
     73        * runtime/JSActivation.h:
     74        (JSC::JSActivation::create):
     75        * runtime/JSGlobalObject.h:
     76        (JSC::JSGlobalObject::create):
     77        (JSC::JSGlobalObject::JSGlobalObject):
     78        * runtime/JSONObject.cpp:
     79        (JSC::JSONObject::JSONObject):
     80        * runtime/JSONObject.h:
     81        (JSC::JSONObject::create):
     82        * runtime/JSStaticScopeObject.h:
     83        (JSC::JSStaticScopeObject::create):
     84        (JSC::JSStaticScopeObject::JSStaticScopeObject):
     85        * runtime/JSString.cpp:
     86        (JSC::StringObject::create):
     87        * runtime/MathObject.cpp:
     88        (JSC::MathObject::MathObject):
     89        * runtime/MathObject.h:
     90        (JSC::MathObject::create):
     91        * runtime/NativeErrorConstructor.cpp:
     92        (JSC::NativeErrorConstructor::NativeErrorConstructor):
     93        * runtime/NativeErrorConstructor.h:
     94        (JSC::NativeErrorConstructor::constructorBody):
     95        * runtime/NativeErrorPrototype.cpp:
     96        (JSC::NativeErrorPrototype::NativeErrorPrototype):
     97        (JSC::NativeErrorPrototype::constructorBody):
     98        * runtime/NativeErrorPrototype.h:
     99        * runtime/NumberConstructor.cpp:
     100        (JSC::NumberConstructor::NumberConstructor):
     101        * runtime/NumberConstructor.h:
     102        * runtime/NumberObject.cpp:
     103        (JSC::NumberObject::NumberObject):
     104        * runtime/NumberObject.h:
     105        (JSC::NumberObject::create):
     106        * runtime/NumberPrototype.cpp:
     107        (JSC::NumberPrototype::NumberPrototype):
     108        * runtime/NumberPrototype.h:
     109        * runtime/ObjectConstructor.cpp:
     110        (JSC::ObjectConstructor::ObjectConstructor):
     111        * runtime/ObjectConstructor.h:
     112        * runtime/RegExpConstructor.cpp:
     113        (JSC::RegExpConstructor::RegExpConstructor):
     114        (JSC::RegExpMatchesArray::RegExpMatchesArray):
     115        * runtime/RegExpConstructor.h:
     116        * runtime/RegExpMatchesArray.h:
     117        (JSC::RegExpMatchesArray::create):
     118        * runtime/RegExpObject.cpp:
     119        (JSC::RegExpObject::RegExpObject):
     120        * runtime/RegExpObject.h:
     121        (JSC::RegExpObject::create):
     122        * runtime/RegExpPrototype.cpp:
     123        (JSC::RegExpPrototype::RegExpPrototype):
     124        * runtime/StringConstructor.cpp:
     125        (JSC::StringConstructor::StringConstructor):
     126        * runtime/StringConstructor.h:
     127        * runtime/StringObject.cpp:
     128        (JSC::StringObject::StringObject):
     129        * runtime/StringObject.h:
     130        (JSC::StringObject::create):
     131        * runtime/StringObjectThatMasqueradesAsUndefined.h:
     132        (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
     133        * runtime/StringPrototype.cpp:
     134        (JSC::StringPrototype::StringPrototype):
     135        * runtime/StringPrototype.h:
     136
    11372011-09-06  Xianzhu Wang  <[email protected]>
    2138
  • trunk/Source/JavaScriptCore/JavaScriptCore.exp

    r94632 r94644  
    124124__ZN3JSC11createErrorEPNS_9ExecStateERKNS_7UStringE
    125125__ZN3JSC11regExpFlagsERKNS_7UStringE
    126 __ZN3JSC12DateInstance14finishCreationERNS_12JSGlobalDataEd
    127126__ZN3JSC12DateInstance6s_infoE
    128 __ZN3JSC12DateInstanceC1EPNS_9ExecStateEPNS_9StructureE
     127__ZN3JSC12DateInstanceC1EPNS_9ExecStateEPNS_9StructureEd
    129128__ZN3JSC12JSGlobalData10ClientDataD2Ev
    130129__ZN3JSC12JSGlobalData11jsArrayVPtrE
     
    140139__ZN3JSC12JSGlobalData6createENS_15ThreadStackTypeENS_8HeapSizeE
    141140__ZN3JSC12JSGlobalDataD1Ev
    142 __ZN3JSC12RegExpObject14finishCreationEPNS_14JSGlobalObjectE
    143141__ZN3JSC12RegExpObject6s_infoE
    144142__ZN3JSC12RegExpObjectC1EPNS_14JSGlobalObjectEPNS_9StructureEPNS_6RegExpE
     
    147145__ZN3JSC12SmallStrings27createSingleCharacterStringEPNS_12JSGlobalDataEh
    148146__ZN3JSC12StringObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
    149 __ZN3JSC12StringObject14finishCreationERNS_12JSGlobalDataEPNS_8JSStringE
    150147__ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    151148__ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
     
    154151__ZN3JSC12StringObject3putEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE
    155152__ZN3JSC12StringObject6s_infoE
    156 __ZN3JSC12StringObjectC2ERNS_12JSGlobalDataEPNS_9StructureE
     153__ZN3JSC12StringObjectC2ERNS_12JSGlobalDataEPNS_9StructureEPNS_8JSStringE
    157154__ZN3JSC13SamplingFlags4stopEv
    158155__ZN3JSC13SamplingFlags5startEv
     
    185182__ZN3JSC15createTypeErrorEPNS_9ExecStateERKNS_7UStringE
    186183__ZN3JSC16InternalFunction12vtableAnchorEv
    187 __ZN3JSC16InternalFunction14finishCreationERNS_12JSGlobalDataEPNS_14JSGlobalObjectERKNS_10IdentifierE
    188184__ZN3JSC16InternalFunction4nameEPNS_9ExecStateE
    189185__ZN3JSC16InternalFunction6s_infoE
    190 __ZN3JSC16InternalFunctionC2EPNS_14JSGlobalObjectEPNS_9StructureE
     186__ZN3JSC16InternalFunctionC2EPNS_12JSGlobalDataEPNS_14JSGlobalObjectEPNS_9StructureERKNS_10IdentifierE
    191187__ZN3JSC16JSVariableObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
    192188__ZN3JSC16JSVariableObject14symbolTableGetERKNS_10IdentifierERNS_18PropertyDescriptorE
     
    200196__ZN3JSC17constructFunctionEPNS_9ExecStateEPNS_14JSGlobalObjectERKNS_7ArgListERKNS_10IdentifierERKNS_7UStringEi
    201197__ZN3JSC17createSyntaxErrorEPNS_9ExecStateERKNS_7UStringE
    202 __ZN3JSC18DebuggerActivation14finishCreationERNS_12JSGlobalDataEPNS_8JSObjectE
    203 __ZN3JSC18DebuggerActivationC1ERNS_12JSGlobalDataE
     198__ZN3JSC18DebuggerActivation6createERNS_12JSGlobalDataEPNS_8JSObjectE
    204199__ZN3JSC18PropertyDescriptor11setWritableEb
    205200__ZN3JSC18PropertyDescriptor12setUndefinedEv
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def

    r94627 r94644  
    44    ??0CString@WTF@@QAE@PBDI@Z
    55    ??0Collator@WTF@@QAE@PBD@Z
    6     ??0DateInstance@JSC@@IAE@PAVExecState@1@PAVStructure@1@@Z
     6    ??0DateInstance@JSC@@IAE@PAVExecState@1@PAVStructure@1@N@Z
    77    ??0DefaultGCActivityCallback@JSC@@QAE@PAVHeap@1@@Z
    88    ??0DropAllLocks@JSLock@JSC@@QAE@W4JSLockBehavior@2@@Z
    9     ??0DynamicGlobalObjectScope@JSC@@QAE@AAVJSGlobalData@1@PAVJSGlobalObject@1@@Z
    10     ??0InternalFunction@JSC@@IAE@PAVJSGlobalObject@1@PAVStructure@1@@Z
     9    ??0DynamicGlobalObjectScope@JSC@@QAE@AAVJSGlobalData@1@PAVJSGlobalObject@1@@Z  
     10    ??0InternalFunction@JSC@@IAE@PAVJSGlobalData@1@PAVJSGlobalObject@1@PAVStructure@1@ABVIdentifier@1@@Z
    1111    ??0JSArray@JSC@@IAE@AAVJSGlobalData@1@PAVStructure@1@@Z
    1212    ??0JSByteArray@JSC@@AAE@PAVExecState@1@PAVStructure@1@PAVByteArray@WTF@@@Z
     
    2020    ??0RegExpObject@JSC@@IAE@PAVJSGlobalObject@1@PAVStructure@1@PAVRegExp@1@@Z
    2121    ??0SHA1@WTF@@QAE@XZ
    22     ??0StringObject@JSC@@IAE@AAVJSGlobalData@1@PAVStructure@1@@Z
     22    ??0StringObject@JSC@@IAE@AAVJSGlobalData@1@PAVStructure@1@PAVJSString@1@@Z
    2323    ??0Structure@JSC@@AAE@AAVJSGlobalData@1@VJSValue@1@ABVTypeInfo@1@IPBUClassInfo@1@@Z
    2424    ??0ThreadCondition@WTF@@QAE@XZ
     
    176176    ?fillGetterPropertySlot@JSObject@JSC@@QAEXAAVPropertySlot@2@PAV?$WriteBarrierBase@W4Unknown@JSC@@@2@@Z
    177177    ?finalize@WeakHandleOwner@JSC@@UAEXV?$Handle@W4Unknown@JSC@@@2@PAX@Z
    178     ?finishCreation@DateInstance@JSC@@IAEXAAVJSGlobalData@2@N@Z
    179     ?finishCreation@InternalFunction@JSC@@IAEXAAVJSGlobalData@2@PAVJSGlobalObject@2@ABVIdentifier@2@@Z
    180178    ?finishCreation@JSArray@JSC@@IAEXAAVJSGlobalData@2@@Z
    181179    ?finishCreation@JSArray@JSC@@IAEXAAVJSGlobalData@2@ABVArgList@2@@Z
    182180    ?finishCreation@JSFunction@JSC@@IAEXPAVExecState@2@PAVJSGlobalObject@2@HABVIdentifier@2@PAVExecutableBase@2@@Z
    183181    ?finishCreation@JSObjectWithGlobalObject@JSC@@IAEXAAVJSGlobalData@2@PAVJSGlobalObject@2@@Z
    184     ?finishCreation@RegExpObject@JSC@@IAEXPAVJSGlobalObject@2@@Z
    185     ?finishCreation@StringObject@JSC@@IAEXAAVJSGlobalData@2@PAVJSString@2@@Z
    186182    ?focus@Profile@JSC@@QAEXPBVProfileNode@2@@Z
    187183    ?from@Identifier@JSC@@SA?AV12@PAVExecState@2@H@Z
  • trunk/Source/JavaScriptCore/debugger/DebuggerActivation.cpp

    r94627 r94644  
    3434    : JSNonFinalObject(globalData, globalData.debuggerActivationStructure.get())
    3535{
     36}
     37
     38DebuggerActivation* DebuggerActivation::create(JSGlobalData& globalData, JSObject* object)
     39{
     40    DebuggerActivation* activation = new (allocateCell<DebuggerActivation>(globalData.heap)) DebuggerActivation(globalData);
     41    activation->finishCreation(globalData, object);
     42    return activation;
    3643}
    3744
  • trunk/Source/JavaScriptCore/debugger/DebuggerActivation.h

    r94627 r94644  
    3535        typedef JSNonFinalObject Base;
    3636
    37         static DebuggerActivation* create(JSGlobalData& globalData, JSObject* object)
    38         {
    39             DebuggerActivation* activation = new (allocateCell<DebuggerActivation>(globalData.heap)) DebuggerActivation(globalData);
    40             activation->finishCreation(globalData, object);
    41             return activation;
    42         }
    43 
     37        static DebuggerActivation* create(JSGlobalData&, JSObject*);
    4438        virtual void visitChildren(SlotVisitor&);
    4539        virtual UString className() const;
  • trunk/Source/JavaScriptCore/jsc.cpp

    r94627 r94644  
    158158
    159159protected:
    160     void finishCreation(JSGlobalData& globalData, const Vector<UString>& arguments)
     160    void constructorBody(const Vector<UString>& arguments)
    161161    {
    162         Base::finishCreation(globalData, this);
    163162        putDirectFunction(globalExec(), JSFunction::create(globalExec(), this, functionStructure(), 1, Identifier(globalExec(), "debug"), functionDebug));
    164163        putDirectFunction(globalExec(), JSFunction::create(globalExec(), this, functionStructure(), 1, Identifier(globalExec(), "print"), functionPrint));
     
    192191    : JSGlobalObject(globalData, structure)
    193192{
    194     finishCreation(globalData, arguments);
     193    constructorBody(arguments);
    195194}
    196195
  • trunk/Source/JavaScriptCore/runtime/ArrayConstructor.cpp

    r94627 r94644  
    5353
    5454ArrayConstructor::ArrayConstructor(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, ArrayPrototype* arrayPrototype)
    55     : InternalFunction(globalObject, structure)
     55    : InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, arrayPrototype->classInfo()->className))
    5656{
    57     finishCreation(exec, globalObject, arrayPrototype);
    58 }
    59 
    60 void ArrayConstructor::finishCreation(ExecState* exec, JSGlobalObject* globalObject, ArrayPrototype* arrayPrototype)
    61 {
    62     Base::finishCreation(exec->globalData(), globalObject, Identifier(exec, arrayPrototype->classInfo()->className));
    6357    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().prototype, arrayPrototype, DontEnum | DontDelete | ReadOnly);
    6458    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().length, jsNumber(1), ReadOnly | DontEnum | DontDelete);
  • trunk/Source/JavaScriptCore/runtime/ArrayConstructor.h

    r94627 r94644  
    4545
    4646    protected:
    47         void finishCreation(ExecState*, JSGlobalObject*, ArrayPrototype*);
    4847        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | InternalFunction::StructureFlags;
    4948
  • trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp

    r94627 r94644  
    118118    : JSArray(globalObject->globalData(), structure)
    119119{
     120    finishCreation(globalObject);
    120121}
    121122
  • trunk/Source/JavaScriptCore/runtime/ArrayPrototype.h

    r94627 r94644  
    3636        static ArrayPrototype* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure)
    3737        {
    38             ArrayPrototype* prototype = new (allocateCell<ArrayPrototype>(*exec->heap())) ArrayPrototype(globalObject, structure);
    39             prototype->finishCreation(globalObject);
    40             return prototype;
     38            return new (allocateCell<ArrayPrototype>(*exec->heap())) ArrayPrototype(globalObject, structure);
    4139        }
    4240       
  • trunk/Source/JavaScriptCore/runtime/BooleanConstructor.cpp

    r94627 r94644  
    3030
    3131BooleanConstructor::BooleanConstructor(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, BooleanPrototype* booleanPrototype)
    32     : InternalFunction(globalObject, structure)
     32    : InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, booleanPrototype->classInfo()->className))
    3333{
    34     finishCreation(exec, globalObject, booleanPrototype);
    35 }
    36 
    37 void BooleanConstructor::finishCreation(ExecState* exec, JSGlobalObject* globalObject, BooleanPrototype* booleanPrototype)
    38 {
    39     Base::finishCreation(exec->globalData(), globalObject, Identifier(exec, booleanPrototype->classInfo()->className));
    4034    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().prototype, booleanPrototype, DontEnum | DontDelete | ReadOnly);
    4135
  • trunk/Source/JavaScriptCore/runtime/BooleanConstructor.h

    r94627 r94644  
    3737        }
    3838
    39     protected:
    40         void finishCreation(ExecState*, JSGlobalObject*, BooleanPrototype*);
    41 
    4239    private:
    4340        BooleanConstructor(ExecState*, JSGlobalObject*, Structure*, BooleanPrototype*);
  • trunk/Source/JavaScriptCore/runtime/BooleanObject.cpp

    r94627 r94644  
    3131    : JSWrapperObject(globalData, structure)
    3232{
     33    finishCreation(globalData);
    3334}
    3435
  • trunk/Source/JavaScriptCore/runtime/BooleanObject.h

    r94627 r94644  
    3636        static BooleanObject* create(JSGlobalData& globalData, Structure* structure)
    3737        {
    38             BooleanObject* boolean = new (allocateCell<BooleanObject>(globalData.heap)) BooleanObject(globalData, structure);
    39             boolean->finishCreation(globalData);
    40             return boolean;
     38            return new (allocateCell<BooleanObject>(globalData.heap)) BooleanObject(globalData, structure);
    4139        }
    4240       
  • trunk/Source/JavaScriptCore/runtime/BooleanPrototype.cpp

    r94627 r94644  
    5353    : BooleanObject(exec->globalData(), structure)
    5454{
    55     finishCreation(exec, globalObject);
    56 }
    57 
    58 void BooleanPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject)
    59 {
    60     Base::finishCreation(exec->globalData());
    6155    setInternalValue(exec->globalData(), jsBoolean(false));
    6256
  • trunk/Source/JavaScriptCore/runtime/BooleanPrototype.h

    r94627 r94644  
    4343
    4444    protected:
    45         void finishCreation(ExecState*, JSGlobalObject*);
    4645        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | BooleanObject::StructureFlags;
    4746        static const unsigned AnonymousSlotCount = BooleanObject::AnonymousSlotCount + 1;
  • trunk/Source/JavaScriptCore/runtime/DateConstructor.cpp

    r94627 r94644  
    7575
    7676DateConstructor::DateConstructor(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, DatePrototype* datePrototype)
    77     : InternalFunction(globalObject, structure)
    78 {
    79     finishCreation(exec, globalObject, datePrototype);
    80 }
    81 
    82 void DateConstructor::finishCreation(ExecState* exec, JSGlobalObject* globalObject, DatePrototype* datePrototype)
    83 {
    84     Base::finishCreation(exec->globalData(), globalObject, Identifier(exec, datePrototype->classInfo()->className));
     77    : InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, datePrototype->classInfo()->className))
     78{
    8579    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().prototype, datePrototype, DontEnum | DontDelete | ReadOnly);
    8680    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().length, jsNumber(7), ReadOnly | DontEnum | DontDelete);
  • trunk/Source/JavaScriptCore/runtime/DateConstructor.h

    r94627 r94644  
    4545
    4646    protected:
    47         void finishCreation(ExecState*, JSGlobalObject*, DatePrototype*);
    4847        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | InternalFunction::StructureFlags;
    4948
  • trunk/Source/JavaScriptCore/runtime/DateInstance.cpp

    r94627 r94644  
    3838    : JSWrapperObject(exec->globalData(), structure)
    3939{
     40    finishCreation(exec->globalData());
     41}
     42
     43DateInstance::DateInstance(ExecState* exec, Structure* structure, double time)
     44    : JSWrapperObject(exec->globalData(), structure)
     45{
     46    finishCreation(exec->globalData(), time);
    4047}
    4148
  • trunk/Source/JavaScriptCore/runtime/DateInstance.h

    r94627 r94644  
    3232    class DateInstance : public JSWrapperObject {
    3333    protected:
     34        DateInstance(ExecState*, Structure*, double);
    3435        DateInstance(ExecState*, Structure*);
    3536        void finishCreation(JSGlobalData&);
     
    4142        static DateInstance* create(ExecState* exec, Structure* structure, double date)
    4243        {
    43             DateInstance* instance = new (allocateCell<DateInstance>(*exec->heap())) DateInstance(exec, structure);
    44             instance->finishCreation(exec->globalData(), date);
    45             return instance;
     44            return new (allocateCell<DateInstance>(*exec->heap())) DateInstance(exec, structure, date);
    4645        }
    47 
    4846        static DateInstance* create(ExecState* exec, Structure* structure)
    4947        {
    50             DateInstance* instance = new (allocateCell<DateInstance>(*exec->heap())) DateInstance(exec, structure);
    51             instance->finishCreation(exec->globalData());
    52             return instance;
     48            return new (allocateCell<DateInstance>(*exec->heap())) DateInstance(exec, structure);
    5349        }
    54 
     50       
    5551        double internalNumber() const { return internalValue().uncheckedGetNumber(); }
    5652
  • trunk/Source/JavaScriptCore/runtime/DatePrototype.cpp

    r94627 r94644  
    433433    : DateInstance(exec, structure)
    434434{
    435     finishCreation(exec, globalObject);
    436 }
    437 
    438 void DatePrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject)
    439 {
    440     Base::finishCreation(exec->globalData(), jsNaN());
    441435    ASSERT(inherits(&s_info));
    442436
  • trunk/Source/JavaScriptCore/runtime/DatePrototype.h

    r94627 r94644  
    5050
    5151    protected:
    52         void finishCreation(ExecState*, JSGlobalObject*);
    5352        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | DateInstance::StructureFlags;
    5453
  • trunk/Source/JavaScriptCore/runtime/Error.cpp

    r94627 r94644  
    169169private:
    170170    StrictModeTypeErrorFunction(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const UString& message)
    171         : InternalFunction(globalObject, structure)
     171        : InternalFunction(&exec->globalData(), globalObject, structure, exec->globalData().propertyNames->emptyIdentifier)
    172172        , m_message(message)
    173173    {
    174         finishCreation(exec->globalData(), globalObject, exec->globalData().propertyNames->emptyIdentifier);
    175174    }
    176175
  • trunk/Source/JavaScriptCore/runtime/ErrorConstructor.cpp

    r94627 r94644  
    3131
    3232ErrorConstructor::ErrorConstructor(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, ErrorPrototype* errorPrototype)
    33     : InternalFunction(globalObject, structure)
     33    : InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, errorPrototype->classInfo()->className))
    3434{
    35     finishCreation(exec, globalObject, errorPrototype);
    36 }
    37 
    38 void ErrorConstructor::finishCreation(ExecState* exec, JSGlobalObject* globalObject, ErrorPrototype* errorPrototype)
    39 {
    40     Base::finishCreation(exec->globalData(), globalObject, Identifier(exec, errorPrototype->classInfo()->className));
    4135    // ECMA 15.11.3.1 Error.prototype
    4236    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().prototype, errorPrototype, DontEnum | DontDelete | ReadOnly);
  • trunk/Source/JavaScriptCore/runtime/ErrorConstructor.h

    r94627 r94644  
    3737            return new (allocateCell<ErrorConstructor>(*exec->heap())) ErrorConstructor(exec, globalObject, structure, errPrototype);
    3838        }
    39 
    40     protected:
    41         void finishCreation(ExecState*, JSGlobalObject*, ErrorPrototype*);
    4239       
    4340    private:
  • trunk/Source/JavaScriptCore/runtime/ErrorPrototype.cpp

    r94627 r94644  
    5151ASSERT_CLASS_FITS_IN_CELL(ErrorPrototype);
    5252
    53 ErrorPrototype::ErrorPrototype(ExecState* exec, Structure* structure)
     53ErrorPrototype::ErrorPrototype(ExecState* exec, JSGlobalObject* globalObject, Structure* structure)
    5454    : ErrorInstance(exec->globalData(), structure)
    5555{
     56    finishCreation(exec, globalObject);
    5657}
    5758
  • trunk/Source/JavaScriptCore/runtime/ErrorPrototype.h

    r94627 r94644  
    3434        static ErrorPrototype* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure)
    3535        {
    36             ErrorPrototype* prototype = new (allocateCell<ErrorPrototype>(*exec->heap())) ErrorPrototype(exec, structure);
    37             prototype->finishCreation(exec, globalObject);
    38             return prototype;
     36            return new (allocateCell<ErrorPrototype>(*exec->heap())) ErrorPrototype(exec, globalObject, structure);
    3937        }
    4038       
     
    4745
    4846    protected:
    49         ErrorPrototype(ExecState*, Structure*);
     47        ErrorPrototype(ExecState*, JSGlobalObject*, Structure*);
    5048        void finishCreation(ExecState*, JSGlobalObject*);
    5149
  • trunk/Source/JavaScriptCore/runtime/FunctionConstructor.cpp

    r94627 r94644  
    3939
    4040FunctionConstructor::FunctionConstructor(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, FunctionPrototype* functionPrototype)
    41     : InternalFunction(globalObject, structure)
     41    : InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, functionPrototype->classInfo()->className))
    4242{
    43     finishCreation(exec, globalObject, functionPrototype);
    44 }
    45 
    46 void FunctionConstructor::finishCreation(ExecState* exec, JSGlobalObject* globalObject, FunctionPrototype* functionPrototype)
    47 {
    48     Base::finishCreation(exec->globalData(), globalObject, Identifier(exec, functionPrototype->classInfo()->className));
    4943    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().prototype, functionPrototype, DontEnum | DontDelete | ReadOnly);
    5044
  • trunk/Source/JavaScriptCore/runtime/FunctionConstructor.h

    r94627 r94644  
    3939    private:
    4040        FunctionConstructor(ExecState*, JSGlobalObject*, Structure*, FunctionPrototype*);
    41         void finishCreation(ExecState*, JSGlobalObject*, FunctionPrototype*);
    4241        virtual ConstructType getConstructData(ConstructData&);
    4342        virtual CallType getCallData(CallData&);
  • trunk/Source/JavaScriptCore/runtime/FunctionPrototype.cpp

    r94627 r94644  
    3939
    4040FunctionPrototype::FunctionPrototype(ExecState* exec, JSGlobalObject* globalObject, Structure* structure)
    41     : InternalFunction(globalObject, structure)
     41    : InternalFunction(&exec->globalData(), globalObject, structure, exec->propertyNames().nullIdentifier)
    4242{
    43     finishCreation(exec, globalObject, exec->propertyNames().nullIdentifier);
    44 }
    45 
    46 void FunctionPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject, const Identifier& name)
    47 {
    48     Base::finishCreation(exec->globalData(), globalObject, name);
    4943    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().length, jsNumber(0), DontDelete | ReadOnly | DontEnum);
    5044}
  • trunk/Source/JavaScriptCore/runtime/FunctionPrototype.h

    r94627 r94644  
    4242        }
    4343
    44     protected:
    45         void finishCreation(ExecState*, JSGlobalObject*, const Identifier& name);
    46 
    4744    private:
    4845        FunctionPrototype(ExecState*, JSGlobalObject*, Structure*);
  • trunk/Source/JavaScriptCore/runtime/InternalFunction.cpp

    r94627 r94644  
    4242}
    4343
    44 InternalFunction::InternalFunction(JSGlobalObject* globalObject, Structure* structure)
     44InternalFunction::InternalFunction(JSGlobalData* globalData, JSGlobalObject* globalObject, Structure* structure, const Identifier& name)
    4545    : JSObjectWithGlobalObject(globalObject, structure)
    4646{
     47    finishCreation(*globalData, globalObject, name);
    4748}
    4849
  • trunk/Source/JavaScriptCore/runtime/InternalFunction.h

    r94627 r94644  
    5353        InternalFunction(VPtrStealingHackType);
    5454
    55         InternalFunction(JSGlobalObject*, Structure*);
     55        InternalFunction(JSGlobalData*, JSGlobalObject*, Structure*, const Identifier&);
    5656
    5757        void finishCreation(JSGlobalData&, JSGlobalObject*, const Identifier& name);
  • trunk/Source/JavaScriptCore/runtime/JSActivation.cpp

    r94627 r94644  
    4747    , m_argumentsRegister(functionExecutable->generatedBytecode().argumentsRegister())
    4848{
     49    finishCreation(callFrame);
    4950}
    5051
  • trunk/Source/JavaScriptCore/runtime/JSActivation.h

    r94627 r94644  
    4949        static JSActivation* create(JSGlobalData& globalData, CallFrame* callFrame, FunctionExecutable* funcExec)
    5050        {
    51             JSActivation* activation = new (allocateCell<JSActivation>(globalData.heap)) JSActivation(callFrame, funcExec);
    52             activation->finishCreation(callFrame);
    53             return activation;
     51            return new (allocateCell<JSActivation>(globalData.heap)) JSActivation(callFrame, funcExec);
    5452        }
    5553
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h

    r94627 r94644  
    147147        static JSGlobalObject* create(JSGlobalData& globalData, Structure* structure)
    148148        {
    149             JSGlobalObject* globalObject = new (allocateCell<JSGlobalObject>(globalData.heap)) JSGlobalObject(globalData, structure);
    150             globalObject->finishCreation(globalData, globalObject);
    151             return globalObject;
     149            return new (allocateCell<JSGlobalObject>(globalData.heap)) JSGlobalObject(globalData, structure);
    152150        }
    153151
     
    162160            , m_evalEnabled(true)
    163161        {
     162            finishCreation(globalData, this);
     163        }
     164
     165        JSGlobalObject(JSGlobalData& globalData, Structure* structure, JSObject* thisValue)
     166            : JSVariableObject(globalData, structure, &m_symbolTable, 0)
     167            , m_registerArraySize(0)
     168            , m_globalScopeChain()
     169            , m_weakRandom(static_cast<unsigned>(randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)))
     170            , m_evalEnabled(true)
     171        {
     172            finishCreation(globalData, thisValue);
    164173        }
    165174
  • trunk/Source/JavaScriptCore/runtime/JSONObject.cpp

    r94627 r94644  
    5757    : JSObjectWithGlobalObject(globalObject, structure)
    5858{
     59    finishCreation(globalObject);
    5960}
    6061
  • trunk/Source/JavaScriptCore/runtime/JSONObject.h

    r94627 r94644  
    3939        static JSONObject* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure)
    4040        {
    41             JSONObject* object = new (allocateCell<JSONObject>(*exec->heap())) JSONObject(globalObject, structure);
    42             object->finishCreation(globalObject);
    43             return object;
     41            return new (allocateCell<JSONObject>(*exec->heap())) JSONObject(globalObject, structure);
    4442        }
    4543       
  • trunk/Source/JavaScriptCore/runtime/JSStaticScopeObject.h

    r94627 r94644  
    3737        static JSStaticScopeObject* create(ExecState* exec, const Identifier& identifier, JSValue value, unsigned attributes)
    3838        {
    39             JSStaticScopeObject* scopeObject = new (allocateCell<JSStaticScopeObject>(*exec->heap())) JSStaticScopeObject(exec);
    40             scopeObject->finishCreation(exec, identifier, value, attributes);
    41             return scopeObject;
     39            return new (allocateCell<JSStaticScopeObject>(*exec->heap())) JSStaticScopeObject(exec, identifier, value, attributes);
    4240        }
    4341
     
    6260
    6361    private:
    64         JSStaticScopeObject(ExecState* exec)
     62        JSStaticScopeObject(ExecState* exec, const Identifier& identifier, JSValue value, unsigned attributes)
    6563            : JSVariableObject(exec->globalData(), exec->globalData().staticScopeStructure.get(), &m_symbolTable, reinterpret_cast<Register*>(&m_registerStore + 1))
    6664        {
     65            finishCreation(exec, identifier, value, attributes);
    6766        }
    6867       
  • trunk/Source/JavaScriptCore/runtime/JSString.cpp

    r94627 r94644  
    299299inline StringObject* StringObject::create(ExecState* exec, JSGlobalObject* globalObject, JSString* string)
    300300{
    301     StringObject* object = new (allocateCell<StringObject>(*exec->heap())) StringObject(exec->globalData(), globalObject->stringObjectStructure());
    302     object->finishCreation(exec->globalData(), string);
    303     return object;
     301    return new (allocateCell<StringObject>(*exec->heap())) StringObject(exec->globalData(), globalObject->stringObjectStructure(), string);
    304302}
    305303
  • trunk/Source/JavaScriptCore/runtime/MathObject.cpp

    r94627 r94644  
    8585*/
    8686
    87 MathObject::MathObject(JSGlobalObject* globalObject, Structure* structure)
     87MathObject::MathObject(ExecState* exec, JSGlobalObject* globalObject, Structure* structure)
    8888    : JSObjectWithGlobalObject(globalObject, structure)
    8989{
     90    finishCreation(exec, globalObject);
    9091}
    9192
  • trunk/Source/JavaScriptCore/runtime/MathObject.h

    r94627 r94644  
    2828    class MathObject : public JSObjectWithGlobalObject {
    2929    private:
    30         MathObject(JSGlobalObject*, Structure*);
     30        MathObject(ExecState*, JSGlobalObject*, Structure*);
    3131
    3232    public:
     
    3535        static MathObject* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure)
    3636        {
    37             MathObject* object = new (allocateCell<MathObject>(*exec->heap())) MathObject(globalObject, structure);
    38             object->finishCreation(exec, globalObject);
    39             return object;
     37            return new (allocateCell<MathObject>(*exec->heap())) MathObject(exec, globalObject, structure);
    4038        }
    4139        virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
  • trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp

    r94627 r94644  
    3434
    3535NativeErrorConstructor::NativeErrorConstructor(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, Structure* prototypeStructure, const UString& name)
    36     : InternalFunction(globalObject, structure)
     36    : InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, name))
    3737{
    38     finishCreation(exec, globalObject, prototypeStructure, name);
     38    constructorBody(exec, globalObject, prototypeStructure, name);
    3939}
    4040
  • trunk/Source/JavaScriptCore/runtime/NativeErrorConstructor.h

    r94627 r94644  
    5050
    5151    protected:
    52         void finishCreation(ExecState* exec, JSGlobalObject* globalObject, Structure* prototypeStructure, const UString& name)
     52        void constructorBody(ExecState* exec, JSGlobalObject* globalObject, Structure* prototypeStructure, const UString& name)
    5353        {
    54             Base::finishCreation(exec->globalData(), globalObject, Identifier(exec, name));
    5554            ASSERT(inherits(&s_info));
    5655
  • trunk/Source/JavaScriptCore/runtime/NativeErrorPrototype.cpp

    r94627 r94644  
    3131ASSERT_CLASS_FITS_IN_CELL(NativeErrorPrototype);
    3232
    33 NativeErrorPrototype::NativeErrorPrototype(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const UString& nameAndMessage, NativeErrorConstructor* constructor)
    34     : ErrorPrototype(exec, structure)
     33NativeErrorPrototype::NativeErrorPrototype(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const UString& name, NativeErrorConstructor* constructor)
     34    : ErrorPrototype(exec, globalObject, structure)
    3535{
    36     finishCreation(exec, globalObject, nameAndMessage, constructor);
     36    constructorBody(exec, name, constructor);
    3737}
    3838
    39 inline void NativeErrorPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject, const UString& nameAndMessage, NativeErrorConstructor* constructor)
     39inline void NativeErrorPrototype::constructorBody(ExecState* exec, const UString& name, NativeErrorConstructor* constructor)
    4040{
    41     Base::finishCreation(exec, globalObject);
    42     putDirect(exec->globalData(), exec->propertyNames().name, jsString(exec, nameAndMessage), DontEnum);
    43     putDirect(exec->globalData(), exec->propertyNames().message, jsString(exec, nameAndMessage), DontEnum);
     41    putDirect(exec->globalData(), exec->propertyNames().name, jsString(exec, name), DontEnum);
     42    putDirect(exec->globalData(), exec->propertyNames().message, jsEmptyString(exec), DontEnum);
    4443    putDirect(exec->globalData(), exec->propertyNames().constructor, constructor, DontEnum);
    4544}
  • trunk/Source/JavaScriptCore/runtime/NativeErrorPrototype.h

    r94627 r94644  
    4040
    4141    protected:
    42         void finishCreation(ExecState*, JSGlobalObject*, const UString& nameAndMessage, NativeErrorConstructor*);
     42        void constructorBody(ExecState*, const UString& name, NativeErrorConstructor*);
    4343    };
    4444
  • trunk/Source/JavaScriptCore/runtime/NumberConstructor.cpp

    r94627 r94644  
    5656
    5757NumberConstructor::NumberConstructor(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, NumberPrototype* numberPrototype)
    58     : InternalFunction(globalObject, structure)
     58    : InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, numberPrototype->s_info.className))
    5959{
    60     finishCreation(exec, globalObject, numberPrototype);
    61 }
    62 
    63 void NumberConstructor::finishCreation(ExecState* exec, JSGlobalObject* globalObject, NumberPrototype* numberPrototype)
    64 {
    65     Base::finishCreation(exec->globalData(), globalObject, Identifier(exec, numberPrototype->s_info.className));
    6660    ASSERT(inherits(&s_info));
    6761
  • trunk/Source/JavaScriptCore/runtime/NumberConstructor.h

    r94627 r94644  
    5151
    5252    protected:
    53         void finishCreation(ExecState*, JSGlobalObject*, NumberPrototype*);
    5453        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | InternalFunction::StructureFlags;
    5554
  • trunk/Source/JavaScriptCore/runtime/NumberObject.cpp

    r94627 r94644  
    3535    : JSWrapperObject(globalData, structure)
    3636{
     37    finishCreation(globalData);
    3738}
    3839
  • trunk/Source/JavaScriptCore/runtime/NumberObject.h

    r94627 r94644  
    3636        static NumberObject* create(JSGlobalData& globalData, Structure* structure)
    3737        {
    38             NumberObject* number = new (allocateCell<NumberObject>(globalData.heap)) NumberObject(globalData, structure);
    39             number->finishCreation(globalData);
    40             return number;
     38            return new (allocateCell<NumberObject>(globalData.heap)) NumberObject(globalData, structure);
    4139        }
    4240
  • trunk/Source/JavaScriptCore/runtime/NumberPrototype.cpp

    r94640 r94644  
    7373    : NumberObject(exec->globalData(), structure)
    7474{
    75     finishCreation(exec, globalObject);
    76 }
    77 
    78 void NumberPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject)
    79 {
    80     Base::finishCreation(exec->globalData());
    8175    setInternalValue(exec->globalData(), jsNumber(0));
    8276
  • trunk/Source/JavaScriptCore/runtime/NumberPrototype.h

    r94627 r94644  
    4343
    4444    protected:
    45         void finishCreation(ExecState*, JSGlobalObject*);
    4645        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | NumberObject::StructureFlags;
    4746        static const unsigned AnonymousSlotCount = NumberObject::AnonymousSlotCount + 1;
  • trunk/Source/JavaScriptCore/runtime/ObjectConstructor.cpp

    r94627 r94644  
    7777
    7878ObjectConstructor::ObjectConstructor(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, ObjectPrototype* objectPrototype)
    79     : InternalFunction(globalObject, structure)
    80 {
    81     finishCreation(exec, globalObject, objectPrototype);
    82 }
    83 
    84 void ObjectConstructor::finishCreation(ExecState* exec, JSGlobalObject* globalObject, ObjectPrototype* objectPrototype)
    85 {
    86     Base::finishCreation(exec->globalData(), globalObject, Identifier(exec, "Object"));
     79    : InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, "Object"))
     80{
    8781    // ECMA 15.2.3.1
    8882    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().prototype, objectPrototype, DontEnum | DontDelete | ReadOnly);
  • trunk/Source/JavaScriptCore/runtime/ObjectConstructor.h

    r94627 r94644  
    4848
    4949    protected:
    50         void finishCreation(ExecState*, JSGlobalObject*, ObjectPrototype*);
    5150        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | InternalFunction::StructureFlags;
    5251
  • trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp

    r94627 r94644  
    9797
    9898RegExpConstructor::RegExpConstructor(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, RegExpPrototype* regExpPrototype)
    99     : InternalFunction(globalObject, structure)
     99    : InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, "RegExp"))
    100100    , d(adoptPtr(new RegExpConstructorPrivate))
    101101{
    102     finishCreation(exec, globalObject, regExpPrototype);
    103 }
    104 
    105 void RegExpConstructor::finishCreation(ExecState* exec, JSGlobalObject* globalObject, RegExpPrototype* regExpPrototype)
    106 {
    107     Base::finishCreation(exec->globalData(), globalObject, Identifier(exec, "RegExp"));
    108102    ASSERT(inherits(&s_info));
    109103
     
    115109}
    116110
    117 RegExpMatchesArray::RegExpMatchesArray(ExecState* exec)
     111RegExpMatchesArray::RegExpMatchesArray(ExecState* exec, RegExpConstructorPrivate* data)
    118112    : JSArray(exec->globalData(), exec->lexicalGlobalObject()->regExpMatchesArrayStructure())
    119113{
     114    finishCreation(exec->globalData(), data);
    120115}
    121116
  • trunk/Source/JavaScriptCore/runtime/RegExpConstructor.h

    r94627 r94644  
    9191
    9292    protected:
    93         void finishCreation(ExecState*, JSGlobalObject*, RegExpPrototype*);
    9493        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | InternalFunction::StructureFlags;
    9594
  • trunk/Source/JavaScriptCore/runtime/RegExpMatchesArray.h

    r94627 r94644  
    2727    class RegExpMatchesArray : public JSArray {
    2828    private:
    29         RegExpMatchesArray(ExecState*);
     29        RegExpMatchesArray(ExecState*, RegExpConstructorPrivate*);
    3030
    3131    public:
     
    3434        static RegExpMatchesArray* create(ExecState* exec, RegExpConstructorPrivate* ctorPrivate)
    3535        {
    36             RegExpMatchesArray* regExp = new (allocateCell<RegExpMatchesArray>(*exec->heap())) RegExpMatchesArray(exec);
    37             regExp->finishCreation(exec->globalData(), ctorPrivate);
    38             return regExp;
     36            return new (allocateCell<RegExpMatchesArray>(*exec->heap())) RegExpMatchesArray(exec, ctorPrivate);
    3937        }
    4038        virtual ~RegExpMatchesArray();
  • trunk/Source/JavaScriptCore/runtime/RegExpObject.cpp

    r94627 r94644  
    6767    , d(adoptPtr(new RegExpObjectData(globalObject->globalData(), this, regExp)))
    6868{
     69    finishCreation(globalObject);
    6970}
    7071
  • trunk/Source/JavaScriptCore/runtime/RegExpObject.h

    r94627 r94644  
    3333        static RegExpObject* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, RegExp* regExp)
    3434        {
    35             RegExpObject* object = new (allocateCell<RegExpObject>(*exec->heap())) RegExpObject(globalObject, structure, regExp);
    36             object->finishCreation(globalObject);
    37             return object;
     35            return new (allocateCell<RegExpObject>(*exec->heap())) RegExpObject(globalObject, structure, regExp);
    3836        }
    3937       
    4038        static RegExpObject* create(JSGlobalData& globalData, JSGlobalObject* globalObject, Structure* structure, RegExp* regExp)
    4139        {
    42             RegExpObject* object = new (allocateCell<RegExpObject>(globalData.heap)) RegExpObject(globalObject, structure, regExp);
    43             object->finishCreation(globalObject);
    44             return object;
     40            return new (allocateCell<RegExpObject>(globalData.heap)) RegExpObject(globalObject, structure, regExp);
    4541        }
    4642
  • trunk/Source/JavaScriptCore/runtime/RegExpPrototype.cpp

    r94627 r94644  
    6666    : RegExpObject(globalObject, structure, regExp)
    6767{
    68     finishCreation(globalObject);
    6968}
    7069
  • trunk/Source/JavaScriptCore/runtime/StringConstructor.cpp

    r94627 r94644  
    4949
    5050StringConstructor::StringConstructor(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, StringPrototype* stringPrototype)
    51     : InternalFunction(globalObject, structure)
     51    : InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, stringPrototype->classInfo()->className))
    5252{
    53     finishCreation(exec, globalObject, stringPrototype);
    54 }
    55 
    56 void StringConstructor::finishCreation(ExecState* exec, JSGlobalObject* globalObject, StringPrototype* stringPrototype)
    57 {
    58     Base::finishCreation(exec->globalData(), globalObject, Identifier(exec, stringPrototype->classInfo()->className));
    5953    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().prototype, stringPrototype, ReadOnly | DontEnum | DontDelete);
    6054    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().length, jsNumber(1), ReadOnly | DontEnum | DontDelete);
  • trunk/Source/JavaScriptCore/runtime/StringConstructor.h

    r94627 r94644  
    4545
    4646    protected:
    47         void finishCreation(ExecState*, JSGlobalObject*, StringPrototype*);
    4847        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | InternalFunction::StructureFlags;
    4948
  • trunk/Source/JavaScriptCore/runtime/StringObject.cpp

    r94627 r94644  
    3030const ClassInfo StringObject::s_info = { "String", &JSWrapperObject::s_info, 0, 0 };
    3131
    32 StringObject::StringObject(JSGlobalData& globalData, Structure* structure)
     32StringObject::StringObject(JSGlobalData& globalData, Structure* structure, JSString* string)
    3333    : JSWrapperObject(globalData, structure)
    3434{
     35    finishCreation(globalData, string);
    3536}
    3637
  • trunk/Source/JavaScriptCore/runtime/StringObject.h

    r94627 r94644  
    3434        {
    3535            JSString* string = jsEmptyString(exec);
    36             StringObject* object = new (allocateCell<StringObject>(*exec->heap())) StringObject(exec->globalData(), structure); 
    37             object->finishCreation(exec->globalData(), string);
    38             return object;
     36            return new (allocateCell<StringObject>(*exec->heap())) StringObject(exec->globalData(), structure, string); 
    3937        }
    4038        static StringObject* create(ExecState* exec, Structure* structure, const UString& str)
    4139        {
    4240            JSString* string = jsString(exec, str);
    43             StringObject* object = new (allocateCell<StringObject>(*exec->heap())) StringObject(exec->globalData(), structure);
    44             object->finishCreation(exec->globalData(), string);
    45             return object;
     41            return new (allocateCell<StringObject>(*exec->heap())) StringObject(exec->globalData(), structure, string);
    4642        }
    4743        static StringObject* create(ExecState*, JSGlobalObject*, JSString*);
     
    6763        void finishCreation(JSGlobalData&, JSString*);
    6864        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | OverridesGetPropertyNames | JSWrapperObject::StructureFlags;
    69         StringObject(JSGlobalData&, Structure*);
     65        StringObject(JSGlobalData&, Structure*, JSString*);
    7066    };
    7167
  • trunk/Source/JavaScriptCore/runtime/StringObjectThatMasqueradesAsUndefined.h

    r94627 r94644  
    4242    private:
    4343        StringObjectThatMasqueradesAsUndefined(ExecState* exec, Structure* structure, JSString* string)
    44             : StringObject(exec->globalData(), structure)
     44            : StringObject(exec->globalData(), structure, string)
    4545        {
    46             finishCreation(exec->globalData(), string);
    4746        }
    4847
  • trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp

    r94627 r94644  
    132132
    133133// ECMA 15.5.4
    134 StringPrototype::StringPrototype(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, JSString* nameAndMessage)
    135     : StringObject(exec->globalData(), structure)
    136 {
    137     finishCreation(exec, globalObject, nameAndMessage);
    138 }
    139 
    140 void StringPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject, JSString* nameAndMessage)
    141 {
    142     Base::finishCreation(exec->globalData(), nameAndMessage);
     134StringPrototype::StringPrototype(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, JSString* string)
     135    : StringObject(exec->globalData(), structure, string)
     136{
    143137    ASSERT(inherits(&s_info));
    144138
  • trunk/Source/JavaScriptCore/runtime/StringPrototype.h

    r94627 r94644  
    5151       
    5252    protected:
    53         void finishCreation(ExecState*, JSGlobalObject*, JSString*);
    5453        static const unsigned StructureFlags = OverridesGetOwnPropertySlot | StringObject::StructureFlags;
    5554
Note: See TracChangeset for help on using the changeset viewer.