Changeset 163496 in webkit


Ignore:
Timestamp:
Feb 5, 2014 4:58:13 PM (10 years ago)
Author:
oliver@apple.com
Message:

Change custom getter signature to make the base reference an object pointer
https://bugs.webkit.org/show_bug.cgi?id=128279

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Make custom getters take a JSObject* instead of EncodedJSValue as the base
reference. This allows us to drop one pointer from the JSVALUE32_64 calling
convention.

  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):

  • jit/JITOperations.cpp:
  • jit/Repatch.cpp:

(JSC::generateProtoChainAccessStub):
(JSC::tryBuildGetByIDList):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::argumentsGetter):

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

(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::nameGetter):

  • runtime/JSFunction.h:
  • runtime/JSObject.h:

(JSC::PropertySlot::getValue):

  • runtime/NumberConstructor.cpp:

(JSC::numberConstructorNaNValue):
(JSC::numberConstructorNegInfinity):
(JSC::numberConstructorPosInfinity):
(JSC::numberConstructorMaxValue):
(JSC::numberConstructorMinValue):

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

(JSC::regExpConstructorDollar1):
(JSC::regExpConstructorDollar2):
(JSC::regExpConstructorDollar3):
(JSC::regExpConstructorDollar4):
(JSC::regExpConstructorDollar5):
(JSC::regExpConstructorDollar6):
(JSC::regExpConstructorDollar7):
(JSC::regExpConstructorDollar8):
(JSC::regExpConstructorDollar9):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):

  • runtime/RegExpObject.cpp:

(JSC::regExpObjectGlobal):
(JSC::regExpObjectIgnoreCase):
(JSC::regExpObjectMultiline):
(JSC::regExpObjectSource):

Source/WebCore:

Update everything to the new calling convention.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
(WebCore::cssPropertyGetterCallback):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::objectToStringFunctionGetter):

  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMMimeTypeArrayCustom.cpp:

(WebCore::JSDOMMimeTypeArray::nameGetter):

  • bindings/js/JSDOMPluginArrayCustom.cpp:

(WebCore::JSDOMPluginArray::nameGetter):

  • bindings/js/JSDOMPluginCustom.cpp:

(WebCore::JSDOMPlugin::nameGetter):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::nonCachingStaticFunctionGetter):
(WebCore::childFrameGetter):
(WebCore::indexGetter):
(WebCore::namedItemGetter):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::JSHTMLAllCollection::nameGetter):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::JSHTMLCollection::nameGetter):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::nameGetter):

  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp:

(WebCore::JSHTMLFormControlsCollection::nameGetter):

  • bindings/js/JSHTMLFormElementCustom.cpp:

(WebCore::JSHTMLFormElement::nameGetter):

  • bindings/js/JSHTMLFrameSetElementCustom.cpp:

(WebCore::JSHTMLFrameSetElement::nameGetter):

  • bindings/js/JSHistoryCustom.cpp:

(WebCore::nonCachingStaticBackFunctionGetter):
(WebCore::nonCachingStaticForwardFunctionGetter):
(WebCore::nonCachingStaticGoFunctionGetter):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::nonCachingStaticReplaceFunctionGetter):
(WebCore::nonCachingStaticReloadFunctionGetter):
(WebCore::nonCachingStaticAssignFunctionGetter):

  • bindings/js/JSNamedNodeMapCustom.cpp:

(WebCore::JSNamedNodeMap::nameGetter):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginElementPropertyGetter):

  • bindings/js/JSPluginElementFunctions.h:
  • bindings/js/JSRTCStatsResponseCustom.cpp:

(WebCore::JSRTCStatsResponse::nameGetter):

  • bindings/js/JSStorageCustom.cpp:

(WebCore::JSStorage::nameGetter):

  • bindings/js/JSStyleSheetListCustom.cpp:

(WebCore::JSStyleSheetList::nameGetter):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::indexGetter):

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

(JSC::RuntimeMethod::lengthGetter):

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

(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):

  • bridge/runtime_object.h:

Source/WebKit2:

Update everything to the new calling convention.

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):

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

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/API/JSCallbackObject.h

    r162139 r163496  
    212212   
    213213    JSValue getStaticValue(ExecState*, PropertyName);
    214     static EncodedJSValue staticFunctionGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    215     static EncodedJSValue callbackGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
     214    static EncodedJSValue staticFunctionGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     215    static EncodedJSValue callbackGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
    216216
    217217    OwnPtr<JSCallbackObjectData> m_callbackObjectData;
  • trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h

    r163225 r163496  
    592592
    593593template <class Parent>
    594 EncodedJSValue JSCallbackObject<Parent>::staticFunctionGetter(ExecState* exec, EncodedJSValue slotParent, EncodedJSValue, PropertyName propertyName)
     594EncodedJSValue JSCallbackObject<Parent>::staticFunctionGetter(ExecState* exec, JSObject* slotParent, EncodedJSValue, PropertyName propertyName)
    595595{
    596596    JSCallbackObject* thisObj = asCallbackObject(slotParent);
     
    620620
    621621template <class Parent>
    622 EncodedJSValue JSCallbackObject<Parent>::callbackGetter(ExecState* exec, EncodedJSValue slotParent, EncodedJSValue, PropertyName propertyName)
     622EncodedJSValue JSCallbackObject<Parent>::callbackGetter(ExecState* exec, JSObject* slotParent, EncodedJSValue, PropertyName propertyName)
    623623{
    624624    JSCallbackObject* thisObj = asCallbackObject(slotParent);
  • trunk/Source/JavaScriptCore/ChangeLog

    r163483 r163496  
     12014-02-05  Oliver Hunt  <oliver@apple.com>
     2
     3        Change custom getter signature to make the base reference an object pointer
     4        https://bugs.webkit.org/show_bug.cgi?id=128279
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Make custom getters take a JSObject* instead of EncodedJSValue as the base
     9        reference.  This allows us to drop one pointer from the JSVALUE32_64 calling
     10        convention.
     11
     12        * API/JSCallbackObject.h:
     13        * API/JSCallbackObjectFunctions.h:
     14        (JSC::JSCallbackObject<Parent>::staticFunctionGetter):
     15        (JSC::JSCallbackObject<Parent>::callbackGetter):
     16        * jit/JITOperations.cpp:
     17        * jit/Repatch.cpp:
     18        (JSC::generateProtoChainAccessStub):
     19        (JSC::tryBuildGetByIDList):
     20        * runtime/JSActivation.cpp:
     21        (JSC::JSActivation::argumentsGetter):
     22        * runtime/JSActivation.h:
     23        * runtime/JSFunction.cpp:
     24        (JSC::JSFunction::argumentsGetter):
     25        (JSC::JSFunction::callerGetter):
     26        (JSC::JSFunction::lengthGetter):
     27        (JSC::JSFunction::nameGetter):
     28        * runtime/JSFunction.h:
     29        * runtime/JSObject.h:
     30        (JSC::PropertySlot::getValue):
     31        * runtime/NumberConstructor.cpp:
     32        (JSC::numberConstructorNaNValue):
     33        (JSC::numberConstructorNegInfinity):
     34        (JSC::numberConstructorPosInfinity):
     35        (JSC::numberConstructorMaxValue):
     36        (JSC::numberConstructorMinValue):
     37        * runtime/PropertySlot.h:
     38        * runtime/RegExpConstructor.cpp:
     39        (JSC::regExpConstructorDollar1):
     40        (JSC::regExpConstructorDollar2):
     41        (JSC::regExpConstructorDollar3):
     42        (JSC::regExpConstructorDollar4):
     43        (JSC::regExpConstructorDollar5):
     44        (JSC::regExpConstructorDollar6):
     45        (JSC::regExpConstructorDollar7):
     46        (JSC::regExpConstructorDollar8):
     47        (JSC::regExpConstructorDollar9):
     48        (JSC::regExpConstructorInput):
     49        (JSC::regExpConstructorMultiline):
     50        (JSC::regExpConstructorLastMatch):
     51        (JSC::regExpConstructorLastParen):
     52        (JSC::regExpConstructorLeftContext):
     53        (JSC::regExpConstructorRightContext):
     54        * runtime/RegExpObject.cpp:
     55        (JSC::regExpObjectGlobal):
     56        (JSC::regExpObjectIgnoreCase):
     57        (JSC::regExpObjectMultiline):
     58        (JSC::regExpObjectSource):
     59
    1602014-02-05  Andreas Kling  <akling@apple.com>
    261
  • trunk/Source/JavaScriptCore/jit/JITOperations.cpp

    r163321 r163496  
    220220    Identifier ident(vm, uid);
    221221   
    222     return function(exec, JSValue::encode(base), JSValue::encode(base), ident);
     222    return function(exec, jsCast<JSObject*>(base), JSValue::encode(base), ident);
    223223}
    224224
  • trunk/Source/JavaScriptCore/jit/Repatch.cpp

    r163342 r163496  
    305305        } else {
    306306#if USE(JSVALUE64)
    307             // EncodedJSValue (*GetValueFunc)(ExecState*, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName);
     307            // EncodedJSValue (*GetValueFunc)(ExecState*, JSObject* slotBase, EncodedJSValue thisValue, PropertyName);
    308308            stubJit.setupArgumentsWithExecState(MacroAssembler::TrustedImmPtr(protoObject), scratchGPR, MacroAssembler::TrustedImmPtr(propertyName.impl()));
    309309            operationFunction = FunctionPtr(slot.customGetter());
     
    618618            } else {
    619619#if USE(JSVALUE64)
    620                 // EncodedJSValue (*GetValueFunc)(ExecState*, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName);
     620                // EncodedJSValue (*GetValueFunc)(ExecState*, JSObject* slotBase, EncodedJSValue thisValue, PropertyName);
    621621                stubJit.setupArgumentsWithExecState(baseGPR, baseGPR, MacroAssembler::TrustedImmPtr(ident.impl()));
    622622                operationFunction = FunctionPtr(slot.customGetter());
  • trunk/Source/JavaScriptCore/runtime/JSActivation.cpp

    r163225 r163496  
    211211}
    212212
    213 EncodedJSValue JSActivation::argumentsGetter(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
    214 {
    215     JSActivation* activation = jsCast<JSActivation*>(JSValue::decode(slotBase));
     213EncodedJSValue JSActivation::argumentsGetter(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
     214{
     215    JSActivation* activation = jsCast<JSActivation*>(slotBase);
    216216    CallFrame* callFrame = CallFrame::create(reinterpret_cast<Register*>(activation->m_registers));
    217217    ASSERT(!activation->isTornOff() && (callFrame->codeBlock()->usesArguments() || callFrame->codeBlock()->usesEval()));
  • trunk/Source/JavaScriptCore/runtime/JSActivation.h

    r163322 r163496  
    101101    bool symbolTablePutWithAttributes(VM&, PropertyName, JSValue, unsigned attributes);
    102102
    103     static EncodedJSValue argumentsGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
     103    static EncodedJSValue argumentsGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
    104104
    105105    static size_t allocationSize(SymbolTable*);
  • trunk/Source/JavaScriptCore/runtime/JSFunction.cpp

    r163321 r163496  
    224224}
    225225
    226 EncodedJSValue JSFunction::argumentsGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
    227 {
    228     JSFunction* thisObj = jsCast<JSFunction*>(JSValue::decode(slotBase));
     226EncodedJSValue JSFunction::argumentsGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
     227{
     228    JSFunction* thisObj = jsCast<JSFunction*>(slotBase);
    229229    ASSERT(!thisObj->isHostFunction());
    230230
     
    279279}
    280280
    281 EncodedJSValue JSFunction::callerGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
    282 {
    283     JSFunction* thisObj = jsCast<JSFunction*>(JSValue::decode(slotBase));
     281EncodedJSValue JSFunction::callerGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
     282{
     283    JSFunction* thisObj = jsCast<JSFunction*>(slotBase);
    284284    ASSERT(!thisObj->isHostFunction());
    285285    JSValue caller = retrieveCallerFunction(exec, thisObj);
     
    294294}
    295295
    296 EncodedJSValue JSFunction::lengthGetter(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
    297 {
    298     JSFunction* thisObj = jsCast<JSFunction*>(JSValue::decode(slotBase));
     296EncodedJSValue JSFunction::lengthGetter(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
     297{
     298    JSFunction* thisObj = jsCast<JSFunction*>(slotBase);
    299299    ASSERT(!thisObj->isHostFunction());
    300300    return JSValue::encode(jsNumber(thisObj->jsExecutable()->parameterCount()));
    301301}
    302302
    303 EncodedJSValue JSFunction::nameGetter(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
    304 {
    305     JSFunction* thisObj = jsCast<JSFunction*>(JSValue::decode(slotBase));
     303EncodedJSValue JSFunction::nameGetter(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
     304{
     305    JSFunction* thisObj = jsCast<JSFunction*>(slotBase);
    306306    ASSERT(!thisObj->isHostFunction());
    307307    return JSValue::encode(thisObj->jsExecutable()->nameValue());
  • trunk/Source/JavaScriptCore/runtime/JSFunction.h

    r163321 r163496  
    173173        JS_EXPORT_PRIVATE bool isHostFunctionNonInline() const;
    174174
    175         static EncodedJSValue argumentsGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    176         static EncodedJSValue callerGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    177         static EncodedJSValue lengthGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    178         static EncodedJSValue nameGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
     175        static EncodedJSValue argumentsGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     176        static EncodedJSValue callerGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     177        static EncodedJSValue lengthGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     178        static EncodedJSValue nameGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
    179179
    180180        WriteBarrier<ExecutableBase> m_executable;
  • trunk/Source/JavaScriptCore/runtime/JSObject.h

    r163225 r163496  
    15441544        return JSValue::decode(m_data.value);
    15451545    if (m_propertyType == TypeCustomIndex)
    1546         return JSValue::decode(m_data.customIndex.getIndexValue(exec, JSValue::encode(slotBase()), JSValue::encode(m_thisValue), m_data.customIndex.index));
     1546        return JSValue::decode(m_data.customIndex.getIndexValue(exec, slotBase(), JSValue::encode(m_thisValue), m_data.customIndex.index));
    15471547    if (m_propertyType == TypeGetter)
    15481548        return functionGetter(exec);
    1549     return JSValue::decode(m_data.custom.getValue(exec, JSValue::encode(slotBase()), JSValue::encode(m_thisValue), propertyName));
     1549    return JSValue::decode(m_data.custom.getValue(exec, slotBase(), JSValue::encode(m_thisValue), propertyName));
    15501550}
    15511551
     
    15551555        return JSValue::decode(m_data.value);
    15561556    if (m_propertyType == TypeCustomIndex)
    1557         return JSValue::decode(m_data.customIndex.getIndexValue(exec, JSValue::encode(slotBase()), JSValue::encode(m_thisValue), m_data.customIndex.index));
     1557        return JSValue::decode(m_data.customIndex.getIndexValue(exec, slotBase(), JSValue::encode(m_thisValue), m_data.customIndex.index));
    15581558    if (m_propertyType == TypeGetter)
    15591559        return functionGetter(exec);
    1560     return JSValue::decode(m_data.custom.getValue(exec, JSValue::encode(slotBase()), JSValue::encode(m_thisValue), Identifier::from(exec, propertyName)));
     1560    return JSValue::decode(m_data.custom.getValue(exec, slotBase(), JSValue::encode(m_thisValue), Identifier::from(exec, propertyName)));
    15611561}
    15621562
  • trunk/Source/JavaScriptCore/runtime/NumberConstructor.cpp

    r162740 r163496  
    3030namespace JSC {
    3131
    32 static EncodedJSValue numberConstructorNaNValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    33 static EncodedJSValue numberConstructorNegInfinity(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    34 static EncodedJSValue numberConstructorPosInfinity(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    35 static EncodedJSValue numberConstructorMaxValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    36 static EncodedJSValue numberConstructorMinValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
     32static EncodedJSValue numberConstructorNaNValue(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     33static EncodedJSValue numberConstructorNegInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     34static EncodedJSValue numberConstructorPosInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     35static EncodedJSValue numberConstructorMaxValue(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     36static EncodedJSValue numberConstructorMinValue(ExecState*, JSObject*, EncodedJSValue, PropertyName);
    3737
    3838} // namespace JSC
     
    7878}
    7979
    80 static EncodedJSValue numberConstructorNaNValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
     80static EncodedJSValue numberConstructorNaNValue(ExecState*, JSObject*, EncodedJSValue, PropertyName)
    8181{
    8282    return JSValue::encode(jsNaN());
    8383}
    8484
    85 static EncodedJSValue numberConstructorNegInfinity(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
     85static EncodedJSValue numberConstructorNegInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName)
    8686{
    8787    return JSValue::encode(jsNumber(-std::numeric_limits<double>::infinity()));
    8888}
    8989
    90 static EncodedJSValue numberConstructorPosInfinity(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
     90static EncodedJSValue numberConstructorPosInfinity(ExecState*, JSObject*, EncodedJSValue, PropertyName)
    9191{
    9292    return JSValue::encode(jsNumber(std::numeric_limits<double>::infinity()));
    9393}
    9494
    95 static EncodedJSValue numberConstructorMaxValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
     95static EncodedJSValue numberConstructorMaxValue(ExecState*, JSObject*, EncodedJSValue, PropertyName)
    9696{
    9797    return JSValue::encode(jsNumber(1.7976931348623157E+308));
    9898}
    9999
    100 static EncodedJSValue numberConstructorMinValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
     100static EncodedJSValue numberConstructorMinValue(ExecState*, JSObject*, EncodedJSValue, PropertyName)
    101101{
    102102    return JSValue::encode(jsNumber(5E-324));
  • trunk/Source/JavaScriptCore/runtime/PropertySlot.h

    r163225 r163496  
    3232class ExecState;
    3333class GetterSetter;
     34class JSObject;
    3435
    3536// ECMA 262-3 8.6.1
     
    6263    }
    6364
    64     typedef EncodedJSValue (*GetValueFunc)(ExecState*, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName);
    65     typedef EncodedJSValue (*GetIndexValueFunc)(ExecState*, EncodedJSValue slotBase, EncodedJSValue thisValue, unsigned);
     65    typedef EncodedJSValue (*GetValueFunc)(ExecState*, JSObject* slotBase, EncodedJSValue thisValue, PropertyName);
     66    typedef EncodedJSValue (*GetIndexValueFunc)(ExecState*, JSObject* slotBase, EncodedJSValue thisValue, unsigned);
    6667
    6768    JSValue getValue(ExecState*, PropertyName) const;
  • trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp

    r163225 r163496  
    3030namespace JSC {
    3131
    32 static EncodedJSValue regExpConstructorInput(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    33 static EncodedJSValue regExpConstructorMultiline(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    34 static EncodedJSValue regExpConstructorLastMatch(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    35 static EncodedJSValue regExpConstructorLastParen(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    36 static EncodedJSValue regExpConstructorLeftContext(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    37 static EncodedJSValue regExpConstructorRightContext(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    38 static EncodedJSValue regExpConstructorDollar1(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    39 static EncodedJSValue regExpConstructorDollar2(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    40 static EncodedJSValue regExpConstructorDollar3(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    41 static EncodedJSValue regExpConstructorDollar4(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    42 static EncodedJSValue regExpConstructorDollar5(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    43 static EncodedJSValue regExpConstructorDollar6(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    44 static EncodedJSValue regExpConstructorDollar7(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    45 static EncodedJSValue regExpConstructorDollar8(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    46 static EncodedJSValue regExpConstructorDollar9(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
     32static EncodedJSValue regExpConstructorInput(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     33static EncodedJSValue regExpConstructorMultiline(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     34static EncodedJSValue regExpConstructorLastMatch(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     35static EncodedJSValue regExpConstructorLastParen(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     36static EncodedJSValue regExpConstructorLeftContext(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     37static EncodedJSValue regExpConstructorRightContext(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     38static EncodedJSValue regExpConstructorDollar1(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     39static EncodedJSValue regExpConstructorDollar2(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     40static EncodedJSValue regExpConstructorDollar3(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     41static EncodedJSValue regExpConstructorDollar4(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     42static EncodedJSValue regExpConstructorDollar5(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     43static EncodedJSValue regExpConstructorDollar6(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     44static EncodedJSValue regExpConstructorDollar7(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     45static EncodedJSValue regExpConstructorDollar8(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     46static EncodedJSValue regExpConstructorDollar9(ExecState*, JSObject*, EncodedJSValue, PropertyName);
    4747
    4848static void setRegExpConstructorInput(ExecState*, JSObject*, EncodedJSValue, EncodedJSValue);
     
    164164}
    165165   
    166 EncodedJSValue regExpConstructorDollar1(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     166EncodedJSValue regExpConstructorDollar1(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    167167{
    168168    return JSValue::encode(asRegExpConstructor(slotBase)->getBackref(exec, 1));
    169169}
    170170
    171 EncodedJSValue regExpConstructorDollar2(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     171EncodedJSValue regExpConstructorDollar2(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    172172{
    173173    return JSValue::encode(asRegExpConstructor(slotBase)->getBackref(exec, 2));
    174174}
    175175
    176 EncodedJSValue regExpConstructorDollar3(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     176EncodedJSValue regExpConstructorDollar3(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    177177{
    178178    return JSValue::encode(asRegExpConstructor(slotBase)->getBackref(exec, 3));
    179179}
    180180
    181 EncodedJSValue regExpConstructorDollar4(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     181EncodedJSValue regExpConstructorDollar4(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    182182{
    183183    return JSValue::encode(asRegExpConstructor(slotBase)->getBackref(exec, 4));
    184184}
    185185
    186 EncodedJSValue regExpConstructorDollar5(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     186EncodedJSValue regExpConstructorDollar5(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    187187{
    188188    return JSValue::encode(asRegExpConstructor(slotBase)->getBackref(exec, 5));
    189189}
    190190
    191 EncodedJSValue regExpConstructorDollar6(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     191EncodedJSValue regExpConstructorDollar6(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    192192{
    193193    return JSValue::encode(asRegExpConstructor(slotBase)->getBackref(exec, 6));
    194194}
    195195
    196 EncodedJSValue regExpConstructorDollar7(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     196EncodedJSValue regExpConstructorDollar7(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    197197{
    198198    return JSValue::encode(asRegExpConstructor(slotBase)->getBackref(exec, 7));
    199199}
    200200
    201 EncodedJSValue regExpConstructorDollar8(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     201EncodedJSValue regExpConstructorDollar8(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    202202{
    203203    return JSValue::encode(asRegExpConstructor(slotBase)->getBackref(exec, 8));
    204204}
    205205
    206 EncodedJSValue regExpConstructorDollar9(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     206EncodedJSValue regExpConstructorDollar9(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    207207{
    208208    return JSValue::encode(asRegExpConstructor(slotBase)->getBackref(exec, 9));
    209209}
    210210
    211 EncodedJSValue regExpConstructorInput(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     211EncodedJSValue regExpConstructorInput(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
    212212{
    213213    return JSValue::encode(asRegExpConstructor(slotBase)->input());
    214214}
    215215
    216 EncodedJSValue regExpConstructorMultiline(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     216EncodedJSValue regExpConstructorMultiline(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
    217217{
    218218    return JSValue::encode(jsBoolean(asRegExpConstructor(slotBase)->multiline()));
    219219}
    220220
    221 EncodedJSValue regExpConstructorLastMatch(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     221EncodedJSValue regExpConstructorLastMatch(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    222222{
    223223    return JSValue::encode(asRegExpConstructor(slotBase)->getBackref(exec, 0));
    224224}
    225225
    226 EncodedJSValue regExpConstructorLastParen(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     226EncodedJSValue regExpConstructorLastParen(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    227227{
    228228    return JSValue::encode(asRegExpConstructor(slotBase)->getLastParen(exec));
    229229}
    230230
    231 EncodedJSValue regExpConstructorLeftContext(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     231EncodedJSValue regExpConstructorLeftContext(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    232232{
    233233    return JSValue::encode(asRegExpConstructor(slotBase)->getLeftContext(exec));
    234234}
    235235
    236 EncodedJSValue regExpConstructorRightContext(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     236EncodedJSValue regExpConstructorRightContext(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    237237{
    238238    return JSValue::encode(asRegExpConstructor(slotBase)->getRightContext(exec));
  • trunk/Source/JavaScriptCore/runtime/RegExpObject.cpp

    r162740 r163496  
    4040namespace JSC {
    4141
    42 static EncodedJSValue regExpObjectGlobal(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    43 static EncodedJSValue regExpObjectIgnoreCase(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    44 static EncodedJSValue regExpObjectMultiline(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    45 static EncodedJSValue regExpObjectSource(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
     42static EncodedJSValue regExpObjectGlobal(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     43static EncodedJSValue regExpObjectIgnoreCase(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     44static EncodedJSValue regExpObjectMultiline(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     45static EncodedJSValue regExpObjectSource(ExecState*, JSObject*, EncodedJSValue, PropertyName);
    4646
    4747} // namespace JSC
     
    161161}
    162162
    163 EncodedJSValue regExpObjectGlobal(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     163EncodedJSValue regExpObjectGlobal(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
    164164{
    165165    return JSValue::encode(jsBoolean(asRegExpObject(slotBase)->regExp()->global()));
    166166}
    167167
    168 EncodedJSValue regExpObjectIgnoreCase(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     168EncodedJSValue regExpObjectIgnoreCase(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
    169169{
    170170    return JSValue::encode(jsBoolean(asRegExpObject(slotBase)->regExp()->ignoreCase()));
    171171}
    172172 
    173 EncodedJSValue regExpObjectMultiline(ExecState*, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     173EncodedJSValue regExpObjectMultiline(ExecState*, JSObject* slotBase, EncodedJSValue, PropertyName)
    174174{           
    175175    return JSValue::encode(jsBoolean(asRegExpObject(slotBase)->regExp()->multiline()));
     
    284284   
    285285   
    286 EncodedJSValue regExpObjectSource(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName)
     286EncodedJSValue regExpObjectSource(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)
    287287{
    288288    String pattern = asRegExpObject(slotBase)->regExp()->pattern();
  • trunk/Source/WebCore/ChangeLog

    r163486 r163496  
     12014-02-05  Oliver Hunt  <oliver@apple.com>
     2
     3        Change custom getter signature to make the base reference an object pointer
     4        https://bugs.webkit.org/show_bug.cgi?id=128279
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Update everything to the new calling convention.
     9
     10        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
     11        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
     12        (WebCore::cssPropertyGetterCallback):
     13        * bindings/js/JSDOMBinding.cpp:
     14        (WebCore::objectToStringFunctionGetter):
     15        * bindings/js/JSDOMBinding.h:
     16        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
     17        (WebCore::JSDOMMimeTypeArray::nameGetter):
     18        * bindings/js/JSDOMPluginArrayCustom.cpp:
     19        (WebCore::JSDOMPluginArray::nameGetter):
     20        * bindings/js/JSDOMPluginCustom.cpp:
     21        (WebCore::JSDOMPlugin::nameGetter):
     22        * bindings/js/JSDOMWindowCustom.cpp:
     23        (WebCore::nonCachingStaticFunctionGetter):
     24        (WebCore::childFrameGetter):
     25        (WebCore::indexGetter):
     26        (WebCore::namedItemGetter):
     27        * bindings/js/JSHTMLAllCollectionCustom.cpp:
     28        (WebCore::JSHTMLAllCollection::nameGetter):
     29        * bindings/js/JSHTMLCollectionCustom.cpp:
     30        (WebCore::JSHTMLCollection::nameGetter):
     31        * bindings/js/JSHTMLDocumentCustom.cpp:
     32        (WebCore::JSHTMLDocument::nameGetter):
     33        * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
     34        (WebCore::JSHTMLFormControlsCollection::nameGetter):
     35        * bindings/js/JSHTMLFormElementCustom.cpp:
     36        (WebCore::JSHTMLFormElement::nameGetter):
     37        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
     38        (WebCore::JSHTMLFrameSetElement::nameGetter):
     39        * bindings/js/JSHistoryCustom.cpp:
     40        (WebCore::nonCachingStaticBackFunctionGetter):
     41        (WebCore::nonCachingStaticForwardFunctionGetter):
     42        (WebCore::nonCachingStaticGoFunctionGetter):
     43        * bindings/js/JSLocationCustom.cpp:
     44        (WebCore::nonCachingStaticReplaceFunctionGetter):
     45        (WebCore::nonCachingStaticReloadFunctionGetter):
     46        (WebCore::nonCachingStaticAssignFunctionGetter):
     47        * bindings/js/JSNamedNodeMapCustom.cpp:
     48        (WebCore::JSNamedNodeMap::nameGetter):
     49        * bindings/js/JSPluginElementFunctions.cpp:
     50        (WebCore::pluginElementPropertyGetter):
     51        * bindings/js/JSPluginElementFunctions.h:
     52        * bindings/js/JSRTCStatsResponseCustom.cpp:
     53        (WebCore::JSRTCStatsResponse::nameGetter):
     54        * bindings/js/JSStorageCustom.cpp:
     55        (WebCore::JSStorage::nameGetter):
     56        * bindings/js/JSStyleSheetListCustom.cpp:
     57        (WebCore::JSStyleSheetList::nameGetter):
     58        * bindings/scripts/CodeGeneratorJS.pm:
     59        (GenerateHeader):
     60        (GenerateImplementation):
     61        * bridge/runtime_array.cpp:
     62        (JSC::RuntimeArray::lengthGetter):
     63        (JSC::RuntimeArray::indexGetter):
     64        * bridge/runtime_array.h:
     65        * bridge/runtime_method.cpp:
     66        (JSC::RuntimeMethod::lengthGetter):
     67        * bridge/runtime_method.h:
     68        * bridge/runtime_object.cpp:
     69        (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
     70        (JSC::Bindings::RuntimeObject::fieldGetter):
     71        (JSC::Bindings::RuntimeObject::methodGetter):
     72        * bridge/runtime_object.h:
     73
    1742014-02-04  Andy Estes  <aestes@apple.com>
    275
  • trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp

    r160879 r163496  
    304304}
    305305
    306 static EncodedJSValue cssPropertyGetterPixelOrPosPrefixCallback(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, unsigned propertyID)
     306static EncodedJSValue cssPropertyGetterPixelOrPosPrefixCallback(ExecState* exec, JSObject*, EncodedJSValue thisValue, unsigned propertyID)
    307307{
    308308    JSCSSStyleDeclaration* thisObject = jsDynamicCast<JSCSSStyleDeclaration*>(JSValue::decode(thisValue));
     
    321321}
    322322
    323 static EncodedJSValue cssPropertyGetterCallback(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, unsigned propertyID)
     323static EncodedJSValue cssPropertyGetterCallback(ExecState* exec, JSObject*, EncodedJSValue thisValue, unsigned propertyID)
    324324{
    325325    JSCSSStyleDeclaration* thisObject = jsDynamicCast<JSCSSStyleDeclaration*>(JSValue::decode(thisValue));
  • trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp

    r163027 r163496  
    278278}
    279279
    280 EncodedJSValue objectToStringFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
     280EncodedJSValue objectToStringFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
    281281{
    282282    return JSValue::encode(JSFunction::create(exec->vm(), exec->lexicalGlobalObject(), 0, propertyName.publicName(), objectProtoFuncToString));
  • trunk/Source/WebCore/bindings/js/JSDOMBinding.h

    r163413 r163496  
    579579
    580580void printErrorMessageForFrame(Frame*, const String& message);
    581 JSC::EncodedJSValue objectToStringFunctionGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
     581JSC::EncodedJSValue objectToStringFunctionGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
    582582
    583583inline JSC::JSValue jsStringWithCache(JSC::ExecState* exec, const String& s)
  • trunk/Source/WebCore/bindings/js/JSDOMMimeTypeArrayCustom.cpp

    r160208 r163496  
    3434}
    3535
    36 EncodedJSValue JSDOMMimeTypeArray::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     36EncodedJSValue JSDOMMimeTypeArray::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    3737{
    38     JSDOMMimeTypeArray* thisObj = jsDynamicCast<JSDOMMimeTypeArray*>(JSValue::decode(slotBase));
     38    JSDOMMimeTypeArray* thisObj = jsDynamicCast<JSDOMMimeTypeArray*>(slotBase);
    3939    if (!thisObj)
    4040        return throwVMTypeError(exec);
  • trunk/Source/WebCore/bindings/js/JSDOMPluginArrayCustom.cpp

    r160208 r163496  
    3434}
    3535
    36 EncodedJSValue JSDOMPluginArray::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     36EncodedJSValue JSDOMPluginArray::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    3737{
    38     JSDOMPluginArray* thisObj = jsCast<JSDOMPluginArray*>(JSValue::decode(slotBase));
     38    JSDOMPluginArray* thisObj = jsCast<JSDOMPluginArray*>(slotBase);
    3939    return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->impl().namedItem(propertyNameToAtomicString(propertyName))));
    4040}
  • trunk/Source/WebCore/bindings/js/JSDOMPluginCustom.cpp

    r160208 r163496  
    3333}
    3434
    35 EncodedJSValue JSDOMPlugin::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     35EncodedJSValue JSDOMPlugin::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    3636{
    37     JSDOMPlugin* thisObj = jsCast<JSDOMPlugin*>(JSValue::decode(slotBase));
     37    JSDOMPlugin* thisObj = jsCast<JSDOMPlugin*>(slotBase);
    3838    return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->impl().namedItem(propertyNameToAtomicString(propertyName))));
    3939}
  • trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp

    r163026 r163496  
    7373
    7474template<NativeFunction nativeFunction, int length>
    75 EncodedJSValue nonCachingStaticFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
     75EncodedJSValue nonCachingStaticFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
    7676{
    7777    return JSValue::encode(JSFunction::create(exec->vm(), exec->lexicalGlobalObject(), length, propertyName.publicName(), nativeFunction));
    7878}
    7979
    80 static EncodedJSValue childFrameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
    81 {
    82     return JSValue::encode(toJS(exec, jsCast<JSDOMWindow*>(JSValue::decode(slotBase))->impl().frame()->tree().scopedChild(propertyNameToAtomicString(propertyName))->document()->domWindow()));
    83 }
    84 
    85 static EncodedJSValue indexGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, unsigned index)
    86 {
    87     return JSValue::encode(toJS(exec, jsCast<JSDOMWindow*>(JSValue::decode(slotBase))->impl().frame()->tree().scopedChild(index)->document()->domWindow()));
    88 }
    89 
    90 static EncodedJSValue namedItemGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
    91 {
    92     JSDOMWindowBase* thisObj = jsCast<JSDOMWindow*>(JSValue::decode(slotBase));
     80static EncodedJSValue childFrameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
     81{
     82    return JSValue::encode(toJS(exec, jsCast<JSDOMWindow*>(slotBase)->impl().frame()->tree().scopedChild(propertyNameToAtomicString(propertyName))->document()->domWindow()));
     83}
     84
     85static EncodedJSValue indexGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, unsigned index)
     86{
     87    return JSValue::encode(toJS(exec, jsCast<JSDOMWindow*>(slotBase)->impl().frame()->tree().scopedChild(index)->document()->domWindow()));
     88}
     89
     90static EncodedJSValue namedItemGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
     91{
     92    JSDOMWindowBase* thisObj = jsCast<JSDOMWindow*>(slotBase);
    9393    Document* document = thisObj->impl().frame()->document();
    9494
  • trunk/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp

    r160208 r163496  
    101101}
    102102
    103 EncodedJSValue JSHTMLAllCollection::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     103EncodedJSValue JSHTMLAllCollection::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    104104{
    105     JSHTMLAllCollection* thisObj = jsCast<JSHTMLAllCollection*>(JSValue::decode(slotBase));
     105    JSHTMLAllCollection* thisObj = jsCast<JSHTMLAllCollection*>(slotBase);
    106106    return JSValue::encode(getNamedItems(exec, thisObj, propertyName));
    107107}
  • trunk/Source/WebCore/bindings/js/JSHTMLCollectionCustom.cpp

    r160208 r163496  
    4646}
    4747
    48 EncodedJSValue JSHTMLCollection::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     48EncodedJSValue JSHTMLCollection::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    4949{
    50     JSHTMLCollection* collection = jsCast<JSHTMLCollection*>(JSValue::decode(slotBase));
     50    JSHTMLCollection* collection = jsCast<JSHTMLCollection*>(slotBase);
    5151    const AtomicString& name = propertyNameToAtomicString(propertyName);
    5252    return JSValue::encode(toJS(exec, collection->globalObject(), collection->impl().namedItem(name)));
  • trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp

    r160208 r163496  
    5858}
    5959
    60 EncodedJSValue JSHTMLDocument::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     60EncodedJSValue JSHTMLDocument::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    6161{
    62     JSHTMLDocument* thisObj = jsCast<JSHTMLDocument*>(JSValue::decode(slotBase));
     62    JSHTMLDocument* thisObj = jsCast<JSHTMLDocument*>(slotBase);
    6363    HTMLDocument& document = thisObj->impl();
    6464
  • trunk/Source/WebCore/bindings/js/JSHTMLFormControlsCollectionCustom.cpp

    r160208 r163496  
    5858}
    5959
    60 EncodedJSValue JSHTMLFormControlsCollection::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     60EncodedJSValue JSHTMLFormControlsCollection::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    6161{
    62     JSHTMLFormControlsCollection* thisObj = jsCast<JSHTMLFormControlsCollection*>(JSValue::decode(slotBase));
     62    JSHTMLFormControlsCollection* thisObj = jsCast<JSHTMLFormControlsCollection*>(slotBase);
    6363    return JSValue::encode(getNamedItems(exec, thisObj, propertyName));
    6464}
  • trunk/Source/WebCore/bindings/js/JSHTMLFormElementCustom.cpp

    r160208 r163496  
    4343}
    4444
    45 EncodedJSValue JSHTMLFormElement::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     45EncodedJSValue JSHTMLFormElement::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    4646{
    47     JSHTMLFormElement* jsForm = jsCast<JSHTMLFormElement*>(JSValue::decode(slotBase));
     47    JSHTMLFormElement* jsForm = jsCast<JSHTMLFormElement*>(slotBase);
    4848    HTMLFormElement& form = jsForm->impl();
    4949
  • trunk/Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp

    r160208 r163496  
    4848}
    4949
    50 EncodedJSValue JSHTMLFrameSetElement::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     50EncodedJSValue JSHTMLFrameSetElement::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    5151{
    52     HTMLElement& element = jsCast<JSHTMLElement*>(JSValue::decode(slotBase))->impl();
     52    HTMLElement& element = jsCast<JSHTMLElement*>(slotBase)->impl();
    5353    Node* frameElement = element.children()->namedItem(propertyNameToAtomicString(propertyName));
    5454    if (Document* document = toHTMLFrameElement(frameElement)->contentDocument()) {
  • trunk/Source/WebCore/bindings/js/JSHistoryCustom.cpp

    r161593 r163496  
    3939namespace WebCore {
    4040
    41 static EncodedJSValue nonCachingStaticBackFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
     41static EncodedJSValue nonCachingStaticBackFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
    4242{
    4343    return JSValue::encode(JSFunction::create(exec->vm(), exec->lexicalGlobalObject(), 0, propertyName.publicName(), jsHistoryPrototypeFunctionBack));
    4444}
    4545
    46 static EncodedJSValue nonCachingStaticForwardFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
     46static EncodedJSValue nonCachingStaticForwardFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
    4747{
    4848    return JSValue::encode(JSFunction::create(exec->vm(), exec->lexicalGlobalObject(), 0, propertyName.publicName(), jsHistoryPrototypeFunctionForward));
    4949}
    5050
    51 static EncodedJSValue nonCachingStaticGoFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
     51static EncodedJSValue nonCachingStaticGoFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
    5252{
    5353    return JSValue::encode(JSFunction::create(exec->vm(), exec->lexicalGlobalObject(), 1, propertyName.publicName(), jsHistoryPrototypeFunctionGo));
  • trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp

    r160208 r163496  
    3131namespace WebCore {
    3232
    33 static EncodedJSValue nonCachingStaticReplaceFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
     33static EncodedJSValue nonCachingStaticReplaceFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
    3434{
    3535    return JSValue::encode(JSFunction::create(exec->vm(), exec->lexicalGlobalObject(), 1, propertyName.publicName(), jsLocationPrototypeFunctionReplace));
    3636}
    3737
    38 static EncodedJSValue nonCachingStaticReloadFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
     38static EncodedJSValue nonCachingStaticReloadFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
    3939{
    4040    return JSValue::encode(JSFunction::create(exec->vm(), exec->lexicalGlobalObject(), 0, propertyName.publicName(), jsLocationPrototypeFunctionReload));
    4141}
    4242
    43 static EncodedJSValue nonCachingStaticAssignFunctionGetter(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName propertyName)
     43static EncodedJSValue nonCachingStaticAssignFunctionGetter(ExecState* exec, JSObject*, EncodedJSValue, PropertyName propertyName)
    4444{
    4545    return JSValue::encode(JSFunction::create(exec->vm(), exec->lexicalGlobalObject(), 1, propertyName.publicName(), jsLocationPrototypeFunctionAssign));
  • trunk/Source/WebCore/bindings/js/JSNamedNodeMapCustom.cpp

    r160208 r163496  
    4141}
    4242
    43 EncodedJSValue JSNamedNodeMap::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     43EncodedJSValue JSNamedNodeMap::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    4444{
    45     JSNamedNodeMap* thisObj = jsCast<JSNamedNodeMap*>(JSValue::decode(slotBase));
     45    JSNamedNodeMap* thisObj = jsCast<JSNamedNodeMap*>(slotBase);
    4646    return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->impl().getNamedItem(propertyNameToAtomicString(propertyName))));
    4747}
  • trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.cpp

    r160879 r163496  
    101101}
    102102   
    103 EncodedJSValue pluginElementPropertyGetter(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName propertyName)
     103EncodedJSValue pluginElementPropertyGetter(ExecState* exec, JSObject*, EncodedJSValue thisValue, PropertyName propertyName)
    104104{
    105105
  • trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.h

    r160208 r163496  
    3939    JSC::JSObject* pluginScriptObject(JSC::ExecState*, JSHTMLElement*);
    4040
    41     JSC::EncodedJSValue pluginElementPropertyGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
     41    JSC::EncodedJSValue pluginElementPropertyGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
    4242    bool pluginElementCustomGetOwnPropertySlot(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&, JSHTMLElement*);
    4343    bool pluginElementCustomPut(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSHTMLElement*, JSC::PutPropertySlot&);
  • trunk/Source/WebCore/bindings/js/JSRTCStatsResponseCustom.cpp

    r160208 r163496  
    4141}
    4242
    43 EncodedJSValue JSRTCStatsResponse::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     43EncodedJSValue JSRTCStatsResponse::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    4444{
    45     JSRTCStatsResponse* thisObj = jsCast<JSRTCStatsResponse*>(JSValue::decode(slotBase));
     45    JSRTCStatsResponse* thisObj = jsCast<JSRTCStatsResponse*>(slotBase);
    4646    return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->impl().namedItem(propertyNameToAtomicString(propertyName))));
    4747}
  • trunk/Source/WebCore/bindings/js/JSStorageCustom.cpp

    r163413 r163496  
    4343}
    4444
    45 EncodedJSValue JSStorage::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     45EncodedJSValue JSStorage::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    4646{
    47     JSStorage* thisObj = jsCast<JSStorage*>(JSValue::decode(slotBase));
     47    JSStorage* thisObj = jsCast<JSStorage*>(slotBase);
    4848       
    49     JSValue prototype = asObject(JSValue::decode(slotBase))->prototype();
     49    JSValue prototype = slotBase->prototype();
    5050    if (prototype.isObject() && asObject(prototype)->hasProperty(exec, propertyName))
    5151        return JSValue::encode(asObject(prototype)->get(exec, propertyName));
  • trunk/Source/WebCore/bindings/js/JSStyleSheetListCustom.cpp

    r160208 r163496  
    4141}
    4242
    43 EncodedJSValue JSStyleSheetList::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     43EncodedJSValue JSStyleSheetList::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    4444{
    45     JSStyleSheetList* thisObj = jsCast<JSStyleSheetList*>(JSValue::decode(slotBase));
     45    JSStyleSheetList* thisObj = jsCast<JSStyleSheetList*>(slotBase);
    4646    HTMLStyleElement* element = thisObj->impl().getNamedItem(propertyNameToString(propertyName));
    4747    ASSERT(element);
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r163413 r163496  
    982982            push(@headerContent, "    JSC::JSValue getByIndex(JSC::ExecState*, unsigned index);\n");
    983983        } else {
    984             push(@headerContent, "    static JSC::EncodedJSValue indexGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, unsigned);\n");
     984            push(@headerContent, "    static JSC::EncodedJSValue indexGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, unsigned);\n");
    985985        }
    986986    }
     
    994994        push(@headerContent, "private:\n");
    995995        push(@headerContent, "    static bool canGetItemsForName(JSC::ExecState*, $interfaceName*, JSC::PropertyName);\n");
    996         push(@headerContent, "    static JSC::EncodedJSValue nameGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n");
     996        push(@headerContent, "    static JSC::EncodedJSValue nameGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n");
    997997    }
    998998
     
    11351135            push(@headerContent, "#if ${conditionalString}\n") if $conditionalString;
    11361136            my $getter = GetAttributeGetterName($interfaceName, $className, $attribute);
    1137             push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n");
     1137            push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n");
    11381138            if (!IsReadonly($attribute)) {
    11391139                my $setter = GetAttributeSetterName($interfaceName, $className, $attribute);
     
    11451145        if (!$interface->extendedAttributes->{"NoInterfaceObject"}) {
    11461146            my $getter = "js" . $interfaceName . "Constructor";
    1147             push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n");
     1147            push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n");
    11481148        }
    11491149
     
    11601160            push(@headerContent, "#if ${conditionalString}\n") if $conditionalString;
    11611161            my $getter = "js" . $interfaceName . $codeGenerator->WK_ucfirst($constant->name);
    1162             push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n");
     1162            push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n");
    11631163            push(@headerContent, "#endif\n") if $conditionalString;
    11641164        }
     
    19651965            push(@implContent, "#if ${attributeConditionalString}\n") if $attributeConditionalString;
    19661966
    1967             push(@implContent, "EncodedJSValue ${getFunctionName}(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName)\n");
     1967            push(@implContent, "EncodedJSValue ${getFunctionName}(ExecState* exec, JSObject* slotBase, EncodedJSValue thisValue, PropertyName)\n");
    19681968            push(@implContent, "{\n");
    19691969
     
    21482148            my $constructorFunctionName = "js" . $interfaceName . "Constructor";
    21492149
    2150             push(@implContent, "EncodedJSValue ${constructorFunctionName}(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)\n");
     2150            push(@implContent, "EncodedJSValue ${constructorFunctionName}(ExecState* exec, JSObject*, EncodedJSValue thisValue, PropertyName)\n");
    21512151            push(@implContent, "{\n");
    21522152            if ($interfaceName eq "DOMWindow") {
     
    26292629
    26302630            # FIXME: this casts into int to match our previous behavior which turned 0xFFFFFFFF in -1 for NodeFilter.SHOW_ALL
    2631             push(@implContent, "EncodedJSValue ${getter}(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)\n");
     2631            push(@implContent, "EncodedJSValue ${getter}(ExecState* exec, JSObject*, EncodedJSValue, PropertyName)\n");
    26322632            push(@implContent, "{\n");
    26332633            if ($constant->type eq "DOMString") {
     
    26432643
    26442644    if ($indexedGetterFunction && !$hasNumericIndexedGetter) {
    2645         push(@implContent, "\nEncodedJSValue ${className}::indexGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, unsigned index)\n");
     2645        push(@implContent, "\nEncodedJSValue ${className}::indexGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, unsigned index)\n");
    26462646        push(@implContent, "{\n");
    2647         push(@implContent, "    ${className}* thisObj = jsCast<$className*>(JSValue::decode(slotBase));\n");
     2647        push(@implContent, "    ${className}* thisObj = jsCast<$className*>(slotBase);\n");
    26482648        push(@implContent, "    ASSERT_GC_OBJECT_INHERITS(thisObj, info());\n");
    26492649        if ($indexedGetterFunction->signature->type eq "DOMString") {
     
    26822682            push(@implContent, "    return collection->hasNamedItem(propertyNameToAtomicString(propertyName));\n");
    26832683            push(@implContent, "}\n\n");
    2684             push(@implContent, "EncodedJSValue ${className}::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)\n");
     2684            push(@implContent, "EncodedJSValue ${className}::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)\n");
    26852685            push(@implContent, "{\n");
    2686             push(@implContent, "    ${className}* thisObj = jsCast<$className*>(JSValue::decode(slotBase));\n");
     2686            push(@implContent, "    ${className}* thisObj = jsCast<$className*>(slotBase);\n");
    26872687            push(@implContent, "    return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->impl().namedItem(propertyNameToAtomicString(propertyName))));\n");
    26882688            push(@implContent, "}\n\n");
  • trunk/Source/WebCore/bridge/runtime_array.cpp

    r160879 r163496  
    6161}
    6262
    63 EncodedJSValue RuntimeArray::lengthGetter(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
     63EncodedJSValue RuntimeArray::lengthGetter(ExecState* exec, JSObject*, EncodedJSValue thisValue, PropertyName)
    6464{
    6565    RuntimeArray* thisObject = jsDynamicCast<RuntimeArray*>(JSValue::decode(thisValue));
     
    6969}
    7070
    71 EncodedJSValue RuntimeArray::indexGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, unsigned index)
     71EncodedJSValue RuntimeArray::indexGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, unsigned index)
    7272{
    73     RuntimeArray* thisObj = jsCast<RuntimeArray*>(JSValue::decode(slotBase));
     73    RuntimeArray* thisObj = jsCast<RuntimeArray*>(slotBase);
    7474    return JSValue::encode(thisObj->getConcreteArray()->valueAt(exec, index));
    7575}
  • trunk/Source/WebCore/bridge/runtime_array.h

    r160208 r163496  
    8585private:
    8686    RuntimeArray(ExecState*, Structure*);
    87     static EncodedJSValue lengthGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    88     static EncodedJSValue indexGetter(ExecState*, EncodedJSValue, EncodedJSValue, unsigned);
     87    static EncodedJSValue lengthGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     88    static EncodedJSValue indexGetter(ExecState*, JSObject*, EncodedJSValue, unsigned);
    8989
    9090    BindingsArray* m_array;
  • trunk/Source/WebCore/bridge/runtime_method.cpp

    r160879 r163496  
    5555}
    5656
    57 EncodedJSValue RuntimeMethod::lengthGetter(ExecState* exec, EncodedJSValue, EncodedJSValue thisValue, PropertyName)
     57EncodedJSValue RuntimeMethod::lengthGetter(ExecState* exec, JSObject*, EncodedJSValue thisValue, PropertyName)
    5858{
    5959    RuntimeMethod* thisObject = jsDynamicCast<RuntimeMethod*>(JSValue::decode(thisValue));
  • trunk/Source/WebCore/bridge/runtime_method.h

    r160208 r163496  
    6868
    6969private:
    70     static EncodedJSValue lengthGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
     70    static EncodedJSValue lengthGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
    7171
    7272    Bindings::Method* m_method;
  • trunk/Source/WebCore/bridge/runtime_object.cpp

    r160208 r163496  
    6363}
    6464
    65 EncodedJSValue RuntimeObject::fallbackObjectGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
    66 {
    67     RuntimeObject* thisObj = jsCast<RuntimeObject*>(JSValue::decode(slotBase));
     65EncodedJSValue RuntimeObject::fallbackObjectGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
     66{
     67    RuntimeObject* thisObj = jsCast<RuntimeObject*>(slotBase);
    6868    RefPtr<Instance> instance = thisObj->m_instance;
    6969
     
    8181}
    8282
    83 EncodedJSValue RuntimeObject::fieldGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
     83EncodedJSValue RuntimeObject::fieldGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
    8484{   
    85     RuntimeObject* thisObj = jsCast<RuntimeObject*>(JSValue::decode(slotBase));
     85    RuntimeObject* thisObj = jsCast<RuntimeObject*>(slotBase);
    8686    RefPtr<Instance> instance = thisObj->m_instance;
    8787
     
    100100}
    101101
    102 EncodedJSValue RuntimeObject::methodGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
    103 {
    104     RuntimeObject* thisObj = jsCast<RuntimeObject*>(JSValue::decode(slotBase));
     102EncodedJSValue RuntimeObject::methodGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
     103{
     104    RuntimeObject* thisObj = jsCast<RuntimeObject*>(slotBase);
    105105    RefPtr<Instance> instance = thisObj->m_instance;
    106106
  • trunk/Source/WebCore/bridge/runtime_object.h

    r160208 r163496  
    7979
    8080private:
    81     static EncodedJSValue fallbackObjectGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    82     static EncodedJSValue fieldGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
    83     static EncodedJSValue methodGetter(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
     81    static EncodedJSValue fallbackObjectGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     82    static EncodedJSValue fieldGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
     83    static EncodedJSValue methodGetter(ExecState*, JSObject*, EncodedJSValue, PropertyName);
    8484
    8585    RefPtr<Instance> m_instance;
  • trunk/Source/WebKit2/ChangeLog

    r163483 r163496  
     12014-02-05  Oliver Hunt  <oliver@apple.com>
     2
     3        Change custom getter signature to make the base reference an object pointer
     4        https://bugs.webkit.org/show_bug.cgi?id=128279
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Update everything to the new calling convention.
     9
     10        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
     11        (WebKit::JSNPObject::propertyGetter):
     12        (WebKit::JSNPObject::methodGetter):
     13        * WebProcess/Plugins/Netscape/JSNPObject.h:
     14
    1152014-02-05  Andreas Kling  <akling@apple.com>
    216
  • trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp

    r160208 r163496  
    418418}
    419419
    420 EncodedJSValue JSNPObject::propertyGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
    421 {
    422     JSNPObject* thisObj = jsCast<JSNPObject*>(JSValue::decode(slotBase));
     420EncodedJSValue JSNPObject::propertyGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
     421{
     422    JSNPObject* thisObj = jsCast<JSNPObject*>(slotBase);
    423423    ASSERT_GC_OBJECT_INHERITS(thisObj, info());
    424424   
     
    454454}
    455455
    456 EncodedJSValue JSNPObject::methodGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
    457 {
    458     JSNPObject* thisObj = jsCast<JSNPObject*>(JSValue::decode(slotBase));
     456EncodedJSValue JSNPObject::methodGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
     457{
     458    JSNPObject* thisObj = jsCast<JSNPObject*>(slotBase);
    459459    ASSERT_GC_OBJECT_INHERITS(thisObj, info());
    460460   
  • trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h

    r160208 r163496  
    9696    static void getOwnPropertyNames(JSC::JSObject*, JSC::ExecState*, JSC::PropertyNameArray&, JSC::EnumerationMode);
    9797
    98     static JSC::EncodedJSValue propertyGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
    99     static JSC::EncodedJSValue methodGetter(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
     98    static JSC::EncodedJSValue propertyGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
     99    static JSC::EncodedJSValue methodGetter(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
    100100    static JSC::JSObject* throwInvalidAccessError(JSC::ExecState*);
    101101
Note: See TracChangeset for help on using the changeset viewer.