Changeset 98501 in webkit


Ignore:
Timestamp:
Oct 26, 2011 10:55:34 AM (13 years ago)
Author:
mhahnenberg@apple.com
Message:

Remove getOwnPropertySlotVirtual
https://bugs.webkit.org/show_bug.cgi?id=70741

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Removed all declarations and definitions of getOwnPropertySlotVirtual.
Also replaced all call sites to getOwnPropertyVirtualVirtual with a
corresponding lookup in the MethodTable.

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

(JSC::::getOwnPropertyDescriptor):

(JSC::DebuggerActivation::getOwnPropertySlot):

  • debugger/DebuggerActivation.h:
  • runtime/Arguments.cpp:
  • runtime/Arguments.h:
  • runtime/ArrayConstructor.cpp:
  • runtime/ArrayConstructor.h:
  • runtime/ArrayPrototype.cpp:
  • runtime/ArrayPrototype.h:
  • runtime/BooleanPrototype.cpp:
  • runtime/BooleanPrototype.h:
  • runtime/DateConstructor.cpp:
  • runtime/DateConstructor.h:
  • runtime/DatePrototype.cpp:
  • runtime/DatePrototype.h:

(JSC::DatePrototype::create):

  • runtime/ErrorPrototype.cpp:
  • runtime/ErrorPrototype.h:
  • runtime/JSActivation.cpp:
  • runtime/JSActivation.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::getOwnPropertySlotByIndex):

  • runtime/JSArray.h:
  • runtime/JSByteArray.cpp:
  • runtime/JSByteArray.h:
  • runtime/JSCell.cpp:
  • runtime/JSCell.h:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::getOwnPropertyDescriptor):
(JSC::JSFunction::getOwnPropertyNames):
(JSC::JSFunction::put):

  • runtime/JSFunction.h:
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h:
  • runtime/JSNotAnObject.cpp:
  • runtime/JSNotAnObject.h:
  • runtime/JSONObject.cpp:

(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):

  • runtime/JSONObject.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::JSObject::hasOwnProperty):

  • runtime/JSObject.h:

(JSC::JSCell::fastGetOwnPropertySlot):
(JSC::JSObject::getPropertySlot):
(JSC::JSValue::get):

  • runtime/JSStaticScopeObject.cpp:
  • runtime/JSStaticScopeObject.h:
  • runtime/JSString.cpp:

(JSC::JSString::getOwnPropertySlot):

  • runtime/JSString.h:
  • runtime/MathObject.cpp:
  • runtime/MathObject.h:

(JSC::MathObject::create):

  • runtime/NumberConstructor.cpp:
  • runtime/NumberConstructor.h:
  • runtime/NumberPrototype.cpp:
  • runtime/NumberPrototype.h:
  • runtime/ObjectConstructor.cpp:
  • runtime/ObjectConstructor.h:
  • runtime/ObjectPrototype.cpp:
  • runtime/ObjectPrototype.h:
  • runtime/RegExpConstructor.cpp:
  • runtime/RegExpConstructor.h:
  • runtime/RegExpMatchesArray.h:

(JSC::RegExpMatchesArray::createStructure):

  • runtime/RegExpObject.cpp:
  • runtime/RegExpObject.h:
  • runtime/RegExpPrototype.cpp:
  • runtime/RegExpPrototype.h:
  • runtime/StringConstructor.cpp:
  • runtime/StringConstructor.h:
  • runtime/StringObject.cpp:
  • runtime/StringObject.h:
  • runtime/StringPrototype.cpp:
  • runtime/StringPrototype.h:

Source/JavaScriptGlue:

Removed all declarations and definitions of getOwnPropertySlotVirtual.
Also replaced all call sites to getOwnPropertyVirtualVirtual with a
corresponding lookup in the MethodTable.

  • UserObjectImp.cpp:
  • UserObjectImp.h:

Source/WebCore:

No new tests.

Removed all declarations and definitions of getOwnPropertySlotVirtual.
Also replaced all call sites to getOwnPropertyVirtualVirtual with a
corresponding lookup in the MethodTable.

  • WebCore.exp.in:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::DialogHandler::returnValue):

  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::getOwnPropertySlot):

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

(WebCore::CloneSerializer::getSparseIndex):
(WebCore::CloneSerializer::getProperty):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):

  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_runtime.mm:
  • bridge/qt/qt_runtime.cpp:
  • bridge/qt/qt_runtime.h:
  • bridge/runtime_array.cpp:
  • bridge/runtime_array.h:
  • bridge/runtime_method.cpp:
  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:
  • bridge/runtime_object.h:

Source/WebKit2:

Removed all declarations and definitions of getOwnPropertySlotVirtual.
Also replaced all call sites to getOwnPropertyVirtualVirtual with a
corresponding lookup in the MethodTable.

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

Legend:

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

    r98422 r98501  
    173173    }
    174174
     175    using Parent::methodTable;
     176
    175177protected:
    176178    static const unsigned StructureFlags = ProhibitsPropertyCaching | OverridesGetOwnPropertySlot | ImplementsHasInstance | OverridesHasInstance | OverridesVisitChildren | OverridesGetPropertyNames | Parent::StructureFlags;
     
    179181    virtual UString className() const;
    180182
    181     virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    182183    static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    183184    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h

    r98422 r98501  
    125125
    126126template <class Parent>
    127 bool JSCallbackObject<Parent>::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    128 {
    129     return getOwnPropertySlot(this, exec, propertyName, slot);
    130 }
    131 
    132 template <class Parent>
    133127bool JSCallbackObject<Parent>::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    134128{
     
    193187{
    194188    PropertySlot slot;
    195     if (getOwnPropertySlotVirtual(exec, propertyName, slot)) {
     189    if (methodTable()->getOwnPropertySlot(this, exec, propertyName, slot)) {
    196190        // Ideally we should return an access descriptor, but returning a value descriptor is better than nothing.
    197191        JSValue value = slot.getValue(exec, propertyName);
  • trunk/Source/JavaScriptCore/ChangeLog

    r98498 r98501  
     12011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
     2
     3        Remove getOwnPropertySlotVirtual
     4        https://bugs.webkit.org/show_bug.cgi?id=70741
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Removed all declarations and definitions of getOwnPropertySlotVirtual.
     9        Also replaced all call sites to getOwnPropertyVirtualVirtual with a
     10        corresponding lookup in the MethodTable.
     11
     12        * API/JSCallbackObject.h:
     13        * API/JSCallbackObjectFunctions.h:
     14        (JSC::::getOwnPropertyDescriptor):
     15        * JavaScriptCore.exp:
     16        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
     17        * debugger/DebuggerActivation.cpp:
     18        (JSC::DebuggerActivation::getOwnPropertySlot):
     19        * debugger/DebuggerActivation.h:
     20        * runtime/Arguments.cpp:
     21        * runtime/Arguments.h:
     22        * runtime/ArrayConstructor.cpp:
     23        * runtime/ArrayConstructor.h:
     24        * runtime/ArrayPrototype.cpp:
     25        * runtime/ArrayPrototype.h:
     26        * runtime/BooleanPrototype.cpp:
     27        * runtime/BooleanPrototype.h:
     28        * runtime/DateConstructor.cpp:
     29        * runtime/DateConstructor.h:
     30        * runtime/DatePrototype.cpp:
     31        * runtime/DatePrototype.h:
     32        (JSC::DatePrototype::create):
     33        * runtime/ErrorPrototype.cpp:
     34        * runtime/ErrorPrototype.h:
     35        * runtime/JSActivation.cpp:
     36        * runtime/JSActivation.h:
     37        * runtime/JSArray.cpp:
     38        (JSC::JSArray::getOwnPropertySlotByIndex):
     39        * runtime/JSArray.h:
     40        * runtime/JSByteArray.cpp:
     41        * runtime/JSByteArray.h:
     42        * runtime/JSCell.cpp:
     43        * runtime/JSCell.h:
     44        * runtime/JSFunction.cpp:
     45        (JSC::JSFunction::getOwnPropertyDescriptor):
     46        (JSC::JSFunction::getOwnPropertyNames):
     47        (JSC::JSFunction::put):
     48        * runtime/JSFunction.h:
     49        * runtime/JSGlobalObject.cpp:
     50        * runtime/JSGlobalObject.h:
     51        * runtime/JSNotAnObject.cpp:
     52        * runtime/JSNotAnObject.h:
     53        * runtime/JSONObject.cpp:
     54        (JSC::Stringifier::Holder::appendNextProperty):
     55        (JSC::Walker::walk):
     56        * runtime/JSONObject.h:
     57        * runtime/JSObject.cpp:
     58        (JSC::JSObject::getOwnPropertySlotByIndex):
     59        (JSC::JSObject::hasOwnProperty):
     60        * runtime/JSObject.h:
     61        (JSC::JSCell::fastGetOwnPropertySlot):
     62        (JSC::JSObject::getPropertySlot):
     63        (JSC::JSValue::get):
     64        * runtime/JSStaticScopeObject.cpp:
     65        * runtime/JSStaticScopeObject.h:
     66        * runtime/JSString.cpp:
     67        (JSC::JSString::getOwnPropertySlot):
     68        * runtime/JSString.h:
     69        * runtime/MathObject.cpp:
     70        * runtime/MathObject.h:
     71        (JSC::MathObject::create):
     72        * runtime/NumberConstructor.cpp:
     73        * runtime/NumberConstructor.h:
     74        * runtime/NumberPrototype.cpp:
     75        * runtime/NumberPrototype.h:
     76        * runtime/ObjectConstructor.cpp:
     77        * runtime/ObjectConstructor.h:
     78        * runtime/ObjectPrototype.cpp:
     79        * runtime/ObjectPrototype.h:
     80        * runtime/RegExpConstructor.cpp:
     81        * runtime/RegExpConstructor.h:
     82        * runtime/RegExpMatchesArray.h:
     83        (JSC::RegExpMatchesArray::createStructure):
     84        * runtime/RegExpObject.cpp:
     85        * runtime/RegExpObject.h:
     86        * runtime/RegExpPrototype.cpp:
     87        * runtime/RegExpPrototype.h:
     88        * runtime/StringConstructor.cpp:
     89        * runtime/StringConstructor.h:
     90        * runtime/StringObject.cpp:
     91        * runtime/StringObject.h:
     92        * runtime/StringPrototype.cpp:
     93        * runtime/StringPrototype.h:
     94
    1952011-10-26  Alejandro G. Castro  <alex@igalia.com>
    296
  • trunk/Source/JavaScriptCore/JavaScriptCore.exp

    r98422 r98501  
    170170__ZN3JSC14JSGlobalObject18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    171171__ZN3JSC14JSGlobalObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
    172 __ZN3JSC14JSGlobalObject25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    173172__ZN3JSC14JSGlobalObject3putEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE
    174173__ZN3JSC14JSGlobalObject4initEPNS_8JSObjectE
     
    261260__ZN3JSC6JSCell11getCallDataEPS0_RNS_8CallDataE
    262261__ZN3JSC6JSCell16getConstructDataEPS0_RNS_13ConstructDataE
    263 __ZN3JSC6JSCell25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    264 __ZN3JSC6JSCell25getOwnPropertySlotVirtualEPNS_9ExecStateEjRNS_12PropertySlotE
    265262__ZN3JSC6JSCell9getObjectEv
    266263__ZN3JSC6JSLock12DropAllLocksC1ENS_14JSLockBehaviorE
     
    328325__ZN3JSC8JSObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
    329326__ZN3JSC8JSObject25getOwnPropertySlotByIndexEPNS_6JSCellEPNS_9ExecStateEjRNS_12PropertySlotE
    330 __ZN3JSC8JSObject25getOwnPropertySlotVirtualEPNS_9ExecStateEjRNS_12PropertySlotE
    331327__ZN3JSC8JSObject3putEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE
    332328__ZN3JSC8JSObject6s_infoE
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def

    r98422 r98501  
    203203    ?getOwnPropertySlotByIndex@JSByteArray@JSC@@SA_NPAVJSCell@2@PAVExecState@2@IAAVPropertySlot@2@@Z
    204204    ?getOwnPropertySlotByIndex@JSObject@JSC@@SA_NPAVJSCell@2@PAVExecState@2@IAAVPropertySlot@2@@Z
    205     ?getOwnPropertySlotVirtual@JSCell@JSC@@MAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertySlot@2@@Z
    206     ?getOwnPropertySlotVirtual@JSCell@JSC@@MAE_NPAVExecState@2@IAAVPropertySlot@2@@Z
    207     ?getOwnPropertySlotVirtual@JSGlobalObject@JSC@@UAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertySlot@2@@Z
    208     ?getOwnPropertySlotVirtual@JSObject@JSC@@UAE_NPAVExecState@2@IAAVPropertySlot@2@@Z
    209205    ?getPropertyDescriptor@JSObject@JSC@@QAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertyDescriptor@2@@Z
    210206    ?getPropertyNames@JSObject@JSC@@UAEXPAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z
  • trunk/Source/JavaScriptCore/debugger/DebuggerActivation.cpp

    r98422 r98501  
    6161}
    6262
    63 bool DebuggerActivation::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    64 {
    65     return getOwnPropertySlot(this, exec, propertyName, slot);
    66 }
    67 
    6863bool DebuggerActivation::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    6964{
    70     return static_cast<DebuggerActivation*>(cell)->m_activation->getOwnPropertySlotVirtual(exec, propertyName, slot);
     65    DebuggerActivation* thisObject = static_cast<DebuggerActivation*>(cell);
     66    return thisObject->m_activation->methodTable()->getOwnPropertySlot(thisObject->m_activation.get(), exec, propertyName, slot);
    7167}
    7268
  • trunk/Source/JavaScriptCore/debugger/DebuggerActivation.h

    r98422 r98501  
    4444        static void visitChildren(JSCell*, SlotVisitor&);
    4545        virtual UString className() const;
    46         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    4746        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    4847        static void put(JSCell*, ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&);
  • trunk/Source/JavaScriptCore/runtime/Arguments.cpp

    r98422 r98501  
    146146}
    147147
    148 bool Arguments::getOwnPropertySlotVirtual(ExecState* exec, unsigned i, PropertySlot& slot)
    149 {
    150     return getOwnPropertySlotByIndex(this, exec, i, slot);
    151 }
    152 
    153148bool Arguments::getOwnPropertySlotByIndex(JSCell* cell, ExecState* exec, unsigned i, PropertySlot& slot)
    154149{
     
    187182    descriptor.setAccessorDescriptor(thrower, thrower, DontEnum | DontDelete | Getter | Setter);
    188183    defineOwnProperty(exec, exec->propertyNames().callee, descriptor, false);
    189 }
    190 
    191 bool Arguments::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    192 {
    193     return getOwnPropertySlot(this, exec, propertyName, slot);
    194184}
    195185
  • trunk/Source/JavaScriptCore/runtime/Arguments.h

    r98422 r98501  
    136136    private:
    137137        void getArgumentsData(CallFrame*, JSFunction*&, ptrdiff_t& firstParameterIndex, Register*& argv, int& argc);
    138         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    139138        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    140         virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    141139        static bool getOwnPropertySlotByIndex(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    142140        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/ArrayConstructor.cpp

    r98203 r98501  
    6464}
    6565
    66 bool ArrayConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    67 {
    68     return getOwnPropertySlot(this, exec, propertyName, slot);
    69 }
    70 
    7166bool ArrayConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    7267{
  • trunk/Source/JavaScriptCore/runtime/ArrayConstructor.h

    r98203 r98501  
    5252    private:
    5353        ArrayConstructor(JSGlobalObject*, Structure*);
    54         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5554        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    5655
  • trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp

    r98422 r98501  
    124124    Base::finishCreation(globalObject->globalData());
    125125    ASSERT(inherits(&s_info));
    126 }
    127 
    128 bool ArrayPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    129 {
    130     return getOwnPropertySlot(this, exec, propertyName, slot);
    131126}
    132127
  • trunk/Source/JavaScriptCore/runtime/ArrayPrototype.h

    r97537 r98501  
    4141        }
    4242       
    43         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    4443        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    4544        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/BooleanPrototype.cpp

    r97537 r98501  
    6363}
    6464
    65 bool BooleanPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    66 {
    67     return getOwnPropertySlot(this, exec, propertyName, slot);
    68 }
    69 
    7065bool BooleanPrototype::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    7166{
  • trunk/Source/JavaScriptCore/runtime/BooleanPrototype.h

    r97537 r98501  
    5050    private:
    5151        BooleanPrototype(ExecState*, Structure*);
    52         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5352        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    5453
  • trunk/Source/JavaScriptCore/runtime/DateConstructor.cpp

    r98203 r98501  
    8484    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().prototype, datePrototype, DontEnum | DontDelete | ReadOnly);
    8585    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().length, jsNumber(7), ReadOnly | DontEnum | DontDelete);
    86 }
    87 
    88 bool DateConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    89 {
    90     return getOwnPropertySlot(this, exec, propertyName, slot);
    9186}
    9287
  • trunk/Source/JavaScriptCore/runtime/DateConstructor.h

    r98203 r98501  
    5555        static CallType getCallData(JSCell*, CallData&);
    5656
    57         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5857        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    5958
  • trunk/Source/JavaScriptCore/runtime/DatePrototype.cpp

    r97826 r98501  
    444444}
    445445
    446 bool DatePrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    447 {
    448     return getOwnPropertySlot(this, exec, propertyName, slot);
    449 }
    450 
    451446bool DatePrototype::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    452447{
  • trunk/Source/JavaScriptCore/runtime/DatePrototype.h

    r97537 r98501  
    4141            return prototype;
    4242        }
    43         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    4443        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    4544
  • trunk/Source/JavaScriptCore/runtime/ErrorPrototype.cpp

    r97537 r98501  
    6363}
    6464
    65 bool ErrorPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    66 {
    67     return getOwnPropertySlot(this, exec, propertyName, slot);
    68 }
    69 
    7065bool ErrorPrototype::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    7166{
  • trunk/Source/JavaScriptCore/runtime/ErrorPrototype.h

    r97537 r98501  
    5353
    5454    private:
    55         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5655        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    5756        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSActivation.cpp

    r98422 r98501  
    142142}
    143143
    144 bool JSActivation::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    145 {
    146     return getOwnPropertySlot(this, exec, propertyName, slot);
    147 }
    148 
    149144bool JSActivation::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    150145{
  • trunk/Source/JavaScriptCore/runtime/JSActivation.h

    r98422 r98501  
    6262        virtual bool isActivationObject() const { return true; }
    6363
    64         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    6564        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    6665        virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode);
  • trunk/Source/JavaScriptCore/runtime/JSArray.cpp

    r98422 r98501  
    246246}
    247247
    248 bool JSArray::getOwnPropertySlotVirtual(ExecState* exec, unsigned i, PropertySlot& slot)
    249 {
    250     return getOwnPropertySlotByIndex(this, exec, i, slot);
    251 }
    252 
    253248bool JSArray::getOwnPropertySlotByIndex(JSCell* cell, ExecState* exec, unsigned i, PropertySlot& slot)
    254249{
     
    258253    if (i >= storage->m_length) {
    259254        if (i > MAX_ARRAY_INDEX)
    260             return thisObject->getOwnPropertySlotVirtual(exec, Identifier::from(exec, i), slot);
     255            return thisObject->methodTable()->getOwnPropertySlot(thisObject, exec, Identifier::from(exec, i), slot);
    261256        return false;
    262257    }
     
    279274
    280275    return JSObject::getOwnPropertySlot(thisObject, exec, Identifier::from(exec, i), slot);
    281 }
    282 
    283 bool JSArray::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    284 {
    285     return getOwnPropertySlot(this, exec, propertyName, slot);
    286276}
    287277
  • trunk/Source/JavaScriptCore/runtime/JSArray.h

    r98422 r98501  
    9595        }
    9696
    97         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    9897        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    99         virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    10098        static bool getOwnPropertySlotByIndex(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    10199        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSByteArray.cpp

    r98415 r98501  
    5555}
    5656
    57 bool JSByteArray::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    58 {
    59     return getOwnPropertySlot(this, exec, propertyName, slot);
    60 }
    61 
    6257bool JSByteArray::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    6358{
     
    8176    }
    8277    return JSObject::getOwnPropertyDescriptor(exec, propertyName, descriptor);
    83 }
    84 
    85 bool JSByteArray::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    86 {
    87     return getOwnPropertySlotByIndex(this, exec, propertyName, slot);
    8878}
    8979
  • trunk/Source/JavaScriptCore/runtime/JSByteArray.h

    r98415 r98501  
    8989        static Structure* createStructure(JSGlobalData&, JSGlobalObject*, JSValue prototype, const JSC::ClassInfo* = &s_info);
    9090
    91         virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    9291        static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    93         virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
    9492        static bool getOwnPropertySlotByIndex(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
    9593        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSCell.cpp

    r98422 r98501  
    6565}
    6666
    67 bool JSCell::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& identifier, PropertySlot& slot)
    68 {
    69     return getOwnPropertySlot(this, exec, identifier, slot);
    70 }
    71 
    7267bool JSCell::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& identifier, PropertySlot& slot)
    7368{
     
    8075        slot.setUndefined();
    8176    return true;
    82 }
    83 
    84 bool JSCell::getOwnPropertySlotVirtual(ExecState* exec, unsigned identifier, PropertySlot& slot)
    85 {
    86     return getOwnPropertySlotByIndex(this, exec, identifier, slot);
    8777}
    8878
  • trunk/Source/JavaScriptCore/runtime/JSCell.h

    r98422 r98501  
    130130
    131131        // Base implementation; for non-object classes implements getPropertySlot.
    132         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    133132        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    134         virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    135133        static bool getOwnPropertySlotByIndex(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    136134       
  • trunk/Source/JavaScriptCore/runtime/JSFunction.cpp

    r98422 r98501  
    196196}
    197197
    198 bool JSFunction::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    199 {
    200     return getOwnPropertySlot(this, exec, propertyName, slot);
    201 }
    202 
    203198bool JSFunction::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    204199{
     
    264259    if (propertyName == exec->propertyNames().prototype) {
    265260        PropertySlot slot;
    266         getOwnPropertySlotVirtual(exec, propertyName, slot);
     261        methodTable()->getOwnPropertySlot(this, exec, propertyName, slot);
    267262        return Base::getOwnPropertyDescriptor(exec, propertyName, descriptor);
    268263    }
     
    309304        // Make sure prototype has been reified.
    310305        PropertySlot slot;
    311         getOwnPropertySlotVirtual(exec, exec->propertyNames().prototype, slot);
     306        methodTable()->getOwnPropertySlot(this, exec, exec->propertyNames().prototype, slot);
    312307
    313308        propertyNames.add(exec->propertyNames().arguments);
     
    329324        // following the rules set out in ECMA-262 8.12.9.
    330325        PropertySlot slot;
    331         thisObject->getOwnPropertySlotVirtual(exec, propertyName, slot);
     326        thisObject->methodTable()->getOwnPropertySlot(thisObject, exec, propertyName, slot);
    332327    }
    333328    if (thisObject->jsExecutable()->isStrictMode() && (propertyName == exec->propertyNames().arguments || propertyName == exec->propertyNames().caller)) {
  • trunk/Source/JavaScriptCore/runtime/JSFunction.h

    r98422 r98501  
    130130        void finishCreation(ExecState*, FunctionExecutable*, ScopeChainNode*);
    131131
    132         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    133132        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    134133        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp

    r98415 r98501  
    430430}
    431431
    432 bool JSGlobalObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    433 {
    434     return getOwnPropertySlot(this, exec, propertyName, slot);
    435 }
    436 
    437432bool JSGlobalObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    438433{
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h

    r98415 r98501  
    183183        static void visitChildren(JSCell*, SlotVisitor&);
    184184
    185         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    186185        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    187186        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSNotAnObject.cpp

    r98422 r98501  
    4646}
    4747
    48 bool JSNotAnObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& identifier, PropertySlot& slot)
    49 {
    50     return getOwnPropertySlot(this, exec, identifier, slot);
    51 }
    52 
    5348// JSObject methods
    5449bool JSNotAnObject::getOwnPropertySlot(JSCell*, ExecState* exec, const Identifier&, PropertySlot&)
     
    5651    ASSERT_UNUSED(exec, exec->hadException());
    5752    return false;
    58 }
    59 
    60 bool JSNotAnObject::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    61 {
    62     return getOwnPropertySlotByIndex(this, exec, propertyName, slot);
    6353}
    6454
  • trunk/Source/JavaScriptCore/runtime/JSNotAnObject.h

    r98422 r98501  
    6969
    7070        // JSObject methods
    71         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    7271        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    73         virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    7472        static bool getOwnPropertySlotByIndex(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    7573        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSONObject.cpp

    r98422 r98501  
    524524        else {
    525525            PropertySlot slot(m_object.get());
    526             if (!m_object->getOwnPropertySlotVirtual(exec, index, slot))
     526            if (!m_object->methodTable()->getOwnPropertySlotByIndex(m_object.get(), exec, index, slot))
    527527                slot.setUndefined();
    528528            if (exec->hadException())
     
    542542        PropertySlot slot(m_object.get());
    543543        Identifier& propertyName = m_propertyNames->propertyNameVector()[index];
    544         if (!m_object->getOwnPropertySlotVirtual(exec, propertyName, slot))
     544        if (!m_object->methodTable()->getOwnPropertySlot(m_object.get(), exec, propertyName, slot))
    545545            return true;
    546546        JSValue value = slot.getValue(exec, propertyName);
     
    598598
    599599// ECMA 15.8
    600 
    601 bool JSONObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    602 {
    603     return getOwnPropertySlot(this, exec, propertyName, slot);
    604 }
    605600
    606601bool JSONObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     
    694689                else {
    695690                    PropertySlot slot;
    696                     if (array->getOwnPropertySlotVirtual(m_exec, index, slot))
     691                    if (array->methodTable()->getOwnPropertySlotByIndex(array, m_exec, index, slot))
    697692                        inValue = slot.getValue(m_exec, index);
    698693                    else
     
    756751                }
    757752                PropertySlot slot;
    758                 if (object->getOwnPropertySlotVirtual(m_exec, properties[index], slot))
     753                if (object->methodTable()->getOwnPropertySlot(object, m_exec, properties[index], slot))
    759754                    inValue = slot.getValue(m_exec, properties[index]);
    760755                else
  • trunk/Source/JavaScriptCore/runtime/JSONObject.h

    r97537 r98501  
    5757    private:
    5858        JSONObject(JSGlobalObject*, Structure*);
    59         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    6059        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    6160        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSObject.cpp

    r98422 r98501  
    105105}
    106106
    107 bool JSObject::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    108 {
    109     return getOwnPropertySlotByIndex(this, exec, propertyName, slot);
    110 }
    111 
    112107bool JSObject::getOwnPropertySlotByIndex(JSCell* cell, ExecState* exec, unsigned propertyName, PropertySlot& slot)
    113108{
    114     return static_cast<JSObject*>(cell)->getOwnPropertySlotVirtual(exec, Identifier::from(exec, propertyName), slot);
     109    JSObject* thisObject = static_cast<JSObject*>(cell);
     110    return thisObject->methodTable()->getOwnPropertySlot(thisObject, exec, Identifier::from(exec, propertyName), slot);
    115111}
    116112
     
    279275{
    280276    PropertySlot slot;
    281     return const_cast<JSObject*>(this)->getOwnPropertySlotVirtual(exec, propertyName, slot);
     277    return const_cast<JSObject*>(this)->methodTable()->getOwnPropertySlot(const_cast<JSObject*>(this), exec, propertyName, slot);
    282278}
    283279
  • trunk/Source/JavaScriptCore/runtime/JSObject.h

    r98422 r98501  
    100100        bool getPropertyDescriptor(ExecState*, const Identifier& propertyName, PropertyDescriptor&);
    101101
    102         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    103102        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    104         virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    105103        static bool getOwnPropertySlotByIndex(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    106104        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
     
    521519}
    522520
    523 ALWAYS_INLINE bool JSObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    524 {
    525     return getOwnPropertySlot(this, exec, propertyName, slot);
    526 }
    527 
    528521// It may seem crazy to inline a function this large, especially a virtual function,
    529522// but it makes a big difference to property lookup that derived classes can inline their
     
    538531    if (!structure()->typeInfo().overridesGetOwnPropertySlot())
    539532        return asObject(this)->inlineGetOwnPropertySlot(exec, propertyName, slot);
    540     return getOwnPropertySlotVirtual(exec, propertyName, slot);
     533    return methodTable()->getOwnPropertySlot(this, exec, propertyName, slot);
    541534}
    542535
     
    576569    JSObject* object = this;
    577570    while (true) {
    578         if (object->getOwnPropertySlotVirtual(exec, propertyName, slot))
     571        if (object->methodTable()->getOwnPropertySlotByIndex(object, exec, propertyName, slot))
    579572            return true;
    580573        JSValue prototype = object->prototype();
     
    797790    JSCell* cell = const_cast<JSCell*>(asCell());
    798791    while (true) {
    799         if (cell->getOwnPropertySlotVirtual(exec, propertyName, slot))
     792        if (cell->methodTable()->getOwnPropertySlotByIndex(cell, exec, propertyName, slot))
    800793            return slot.getValue(exec, propertyName);
    801794        JSValue prototype = asObject(cell)->prototype();
  • trunk/Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp

    r98415 r98501  
    8787}
    8888
    89 bool JSStaticScopeObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    90 {
    91     return getOwnPropertySlot(this, exec, propertyName, slot);
    92 }
    93 
    9489bool JSStaticScopeObject::getOwnPropertySlot(JSCell* cell, ExecState*, const Identifier& propertyName, PropertySlot& slot)
    9590{
  • trunk/Source/JavaScriptCore/runtime/JSStaticScopeObject.h

    r98415 r98501  
    4545        bool isDynamicScope(bool& requiresDynamicChecks) const;
    4646        virtual JSObject* toThisObject(ExecState*) const;
    47         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    4847        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    4948        static void put(JSCell*, ExecState*, const Identifier&, JSValue, PutPropertySlot&);
  • trunk/Source/JavaScriptCore/runtime/JSString.cpp

    r98261 r98501  
    202202}
    203203
    204 bool JSString::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    205 {
    206     return getOwnPropertySlot(this, exec, propertyName, slot);
    207 }
    208 
    209204bool JSString::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    210205{
     
    222217    for (JSValue prototype = exec->lexicalGlobalObject()->stringPrototype(); !prototype.isNull(); prototype = object->prototype()) {
    223218        object = asObject(prototype);
    224         if (object->getOwnPropertySlotVirtual(exec, propertyName, slot))
     219        if (object->methodTable()->getOwnPropertySlot(object, exec, propertyName, slot))
    225220            return true;
    226221    }
     
    256251}
    257252
    258 bool JSString::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    259 {
    260     return getOwnPropertySlotByIndex(this, exec, propertyName, slot);
    261 }
    262 
    263253bool JSString::getOwnPropertySlotByIndex(JSCell* cell, ExecState* exec, unsigned propertyName, PropertySlot& slot)
    264254{
  • trunk/Source/JavaScriptCore/runtime/JSString.h

    r98261 r98501  
    251251
    252252        // Actually getPropertySlot, not getOwnPropertySlot (see JSCell).
    253         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    254253        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    255         virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    256254        static bool getOwnPropertySlotByIndex(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    257255        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/MathObject.cpp

    r97537 r98501  
    105105}
    106106
    107 bool MathObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    108 {
    109     return getOwnPropertySlot(this, exec, propertyName, slot);
    110 }
    111 
    112107bool MathObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    113108{
  • trunk/Source/JavaScriptCore/runtime/MathObject.h

    r97537 r98501  
    3939            return object;
    4040        }
    41         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    4241        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    4342        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/NumberConstructor.cpp

    r98203 r98501  
    7272}
    7373
    74 bool NumberConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    75 {
    76     return getOwnPropertySlot(this, exec, propertyName, slot);
    77 }
    78 
    7974bool NumberConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    8075{
  • trunk/Source/JavaScriptCore/runtime/NumberConstructor.h

    r98203 r98501  
    3939        }
    4040
    41         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    4241        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    4342        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/NumberPrototype.cpp

    r97537 r98501  
    8282
    8383    ASSERT(inherits(&s_info));
    84 }
    85 
    86 bool NumberPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    87 {
    88     return getOwnPropertySlot(this, exec, propertyName, slot);
    8984}
    9085
  • trunk/Source/JavaScriptCore/runtime/NumberPrototype.h

    r97537 r98501  
    5050    private:
    5151        NumberPrototype(ExecState*, Structure*);
    52         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5352        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    5453        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/ObjectConstructor.cpp

    r98203 r98501  
    9090}
    9191
    92 bool ObjectConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    93 {
    94     return getOwnPropertySlot(this, exec, propertyName, slot);
    95 }
    96 
    9792bool ObjectConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    9893{
  • trunk/Source/JavaScriptCore/runtime/ObjectConstructor.h

    r98203 r98501  
    3939        }
    4040
    41         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    4241        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    4342        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/ObjectPrototype.cpp

    r98415 r98501  
    8888}
    8989
    90 bool ObjectPrototype::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    91 {
    92     return getOwnPropertySlotByIndex(this, exec, propertyName, slot);
    93 }
    94 
    9590bool ObjectPrototype::getOwnPropertySlotByIndex(JSCell* cell, ExecState* exec, unsigned propertyName, PropertySlot& slot)
    9691{
     
    9994        return false;
    10095    return JSNonFinalObject::getOwnPropertySlotByIndex(thisObject, exec, propertyName, slot);
    101 }
    102 
    103 bool ObjectPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    104 {
    105     return getOwnPropertySlot(this, exec, propertyName, slot);
    10696}
    10797
  • trunk/Source/JavaScriptCore/runtime/ObjectPrototype.h

    r98415 r98501  
    5353        static void put(JSCell*, ExecState*, const Identifier&, JSValue, PutPropertySlot&);
    5454
    55         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5655        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    57         virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    5856        static bool getOwnPropertySlotByIndex(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    5957        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp

    r98415 r98501  
    6969
    7070const ClassInfo RegExpConstructor::s_info = { "Function", &InternalFunction::s_info, 0, ExecState::regExpConstructorTable, CREATE_METHOD_TABLE(RegExpConstructor) };
     71
     72const ClassInfo RegExpMatchesArray::s_info = {"Array", &JSArray::s_info, 0, 0, CREATE_METHOD_TABLE(RegExpMatchesArray)};
    7173
    7274/* Source for RegExpConstructor.lut.h
     
    203205}
    204206   
    205 bool RegExpConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    206 {
    207     return getOwnPropertySlot(this, exec, propertyName, slot);
    208 }
    209 
    210207bool RegExpConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    211208{
  • trunk/Source/JavaScriptCore/runtime/RegExpConstructor.h

    r98415 r98501  
    7474        static void put(JSCell*, ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&);
    7575
    76         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    7776        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    7877        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/RegExpMatchesArray.h

    r98422 r98501  
    4040        virtual ~RegExpMatchesArray();
    4141
     42        static JS_EXPORTDATA const ClassInfo s_info;
     43       
     44        static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
     45        {
     46            return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
     47        }
     48       
    4249    protected:
    4350        void finishCreation(JSGlobalData&, RegExpConstructorPrivate* data);
    4451
    4552    private:
    46         virtual bool getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    47         {
    48             return getOwnPropertySlot(this, exec, propertyName, slot);
    49         }
    50 
    5153        static bool getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    5254        {
     
    5557                thisObject->fillArrayInstance(exec);
    5658            return JSArray::getOwnPropertySlot(thisObject, exec, propertyName, slot);
    57         }
    58 
    59         virtual bool getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    60         {
    61             return getOwnPropertySlotByIndex(this, exec, propertyName, slot);
    6259        }
    6360
  • trunk/Source/JavaScriptCore/runtime/RegExpObject.cpp

    r98415 r98501  
    9090    if (UNLIKELY(!thisObject->d->lastIndex.get().isInt32()))
    9191        visitor.append(&thisObject->d->lastIndex);
    92 }
    93 
    94 bool RegExpObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    95 {
    96     return getOwnPropertySlot(this, exec, propertyName, slot);
    9792}
    9893
  • trunk/Source/JavaScriptCore/runtime/RegExpObject.h

    r98415 r98501  
    6666        JSValue exec(ExecState*);
    6767
    68         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    6968        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    7069        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/RegExpPrototype.cpp

    r97537 r98501  
    6666    : RegExpObject(globalObject, structure, regExp)
    6767{
    68 }
    69 
    70 bool RegExpPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    71 {
    72     return getOwnPropertySlot(this, exec, propertyName, slot);
    7368}
    7469
  • trunk/Source/JavaScriptCore/runtime/RegExpPrototype.h

    r97537 r98501  
    5050
    5151    private:
    52         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5352        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    5453        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/StringConstructor.cpp

    r98203 r98501  
    5858    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().prototype, stringPrototype, ReadOnly | DontEnum | DontDelete);
    5959    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().length, jsNumber(1), ReadOnly | DontEnum | DontDelete);
    60 }
    61 
    62 bool StringConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    63 {
    64     return getOwnPropertySlot(this, exec, propertyName, slot);
    6560}
    6661
  • trunk/Source/JavaScriptCore/runtime/StringConstructor.h

    r98203 r98501  
    5555        static CallType getCallData(JSCell*, CallData&);
    5656
    57         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5857        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    5958        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/StringObject.cpp

    r98422 r98501  
    4242}
    4343
    44 bool StringObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    45 {
    46     return getOwnPropertySlot(this, exec, propertyName, slot);
    47 }
    48 
    4944bool StringObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    5045{
     
    5550}
    5651   
    57 bool StringObject::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    58 {
    59     return getOwnPropertySlotByIndex(this, exec, propertyName, slot);
    60 }
    61 
    6252bool StringObject::getOwnPropertySlotByIndex(JSCell* cell, ExecState* exec, unsigned propertyName, PropertySlot& slot)
    6353{
  • trunk/Source/JavaScriptCore/runtime/StringObject.h

    r98422 r98501  
    4646        static StringObject* create(ExecState*, JSGlobalObject*, JSString*);
    4747
    48         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    4948        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    50         virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    5149        static bool getOwnPropertySlotByIndex(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    5250        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp

    r98415 r98501  
    144144    // The constructor will be added later, after StringConstructor has been built
    145145    putDirectWithoutTransition(exec->globalData(), exec->propertyNames().length, jsNumber(0), DontDelete | ReadOnly | DontEnum);
    146 }
    147 
    148 bool StringPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    149 {
    150     return getOwnPropertySlot(this, exec, propertyName, slot);
    151146}
    152147
  • trunk/Source/JavaScriptCore/runtime/StringPrototype.h

    r97537 r98501  
    4343        }
    4444
    45         virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    4645        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    4746        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptGlue/ChangeLog

    r98415 r98501  
     12011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
     2
     3        Remove getOwnPropertySlotVirtual
     4        https://bugs.webkit.org/show_bug.cgi?id=70741
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Removed all declarations and definitions of getOwnPropertySlotVirtual.
     9        Also replaced all call sites to getOwnPropertyVirtualVirtual with a
     10        corresponding lookup in the MethodTable.
     11
     12        * UserObjectImp.cpp:
     13        * UserObjectImp.h:
     14
    1152011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
    216
  • trunk/Source/JavaScriptGlue/UserObjectImp.cpp

    r98415 r98501  
    124124}
    125125
    126 bool UserObjectImp::getOwnPropertySlotVirtual(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
    127 {
    128     return getOwnPropertySlot(this, exec, propertyName, slot);
    129 }
    130 
    131126bool UserObjectImp::getOwnPropertySlot(JSCell* cell, ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
    132127{
  • trunk/Source/JavaScriptGlue/UserObjectImp.h

    r98415 r98501  
    5555
    5656    virtual JSValue callAsFunction(ExecState *exec);
    57     virtual bool getOwnPropertySlotVirtual(ExecState *, const Identifier&, PropertySlot&);
    5857    static bool getOwnPropertySlot(JSCell*, ExecState *, const Identifier&, PropertySlot&);
    5958    static void put(JSCell*, ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&);
  • trunk/Source/WebCore/ChangeLog

    r98496 r98501  
     12011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
     2
     3        Remove getOwnPropertySlotVirtual
     4        https://bugs.webkit.org/show_bug.cgi?id=70741
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        No new tests.
     9
     10        Removed all declarations and definitions of getOwnPropertySlotVirtual.
     11        Also replaced all call sites to getOwnPropertyVirtualVirtual with a
     12        corresponding lookup in the MethodTable.
     13
     14        * WebCore.exp.in:
     15        * bindings/js/JSDOMWindowCustom.cpp:
     16        (WebCore::DialogHandler::returnValue):
     17        * bindings/js/JSDOMWindowShell.cpp:
     18        (WebCore::JSDOMWindowShell::getOwnPropertySlot):
     19        * bindings/js/JSDOMWindowShell.h:
     20        * bindings/js/SerializedScriptValue.cpp:
     21        (WebCore::CloneSerializer::getSparseIndex):
     22        (WebCore::CloneSerializer::getProperty):
     23        * bindings/scripts/CodeGeneratorJS.pm:
     24        (GenerateHeader):
     25        (GenerateImplementation):
     26        (GenerateConstructorDeclaration):
     27        (GenerateConstructorDefinition):
     28        * bridge/objc/objc_runtime.h:
     29        * bridge/objc/objc_runtime.mm:
     30        * bridge/qt/qt_runtime.cpp:
     31        * bridge/qt/qt_runtime.h:
     32        * bridge/runtime_array.cpp:
     33        * bridge/runtime_array.h:
     34        * bridge/runtime_method.cpp:
     35        * bridge/runtime_method.h:
     36        * bridge/runtime_object.cpp:
     37        * bridge/runtime_object.h:
     38
    1392011-10-26  Alejandro G. Castro  <alex@igalia.com>
    240
  • trunk/Source/WebCore/WebCore.exp.in

    r98422 r98501  
    16911691__ZN3JSC13RuntimeMethod18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    16921692__ZN3JSC13RuntimeMethod24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
    1693 __ZN3JSC13RuntimeMethod25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    16941693__ZN3JSC13RuntimeMethod6s_infoE
    16951694__ZN3JSC13RuntimeMethodC2EPNS_14JSGlobalObjectEPNS_9StructureERN3WTF6VectorIPNS_8Bindings6MethodELm0EEE
     
    17021701__ZN3JSC8Bindings13RuntimeObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE
    17031702__ZN3JSC8Bindings13RuntimeObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
    1704 __ZN3JSC8Bindings13RuntimeObject25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    17051703__ZN3JSC8Bindings13RuntimeObject3putEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE
    17061704__ZN3JSC8Bindings13RuntimeObject6s_infoE
  • trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp

    r98422 r98501  
    122122}
    123123
    124 bool JSDOMWindow::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    125 {
    126     return getOwnPropertySlot(this, exec, propertyName, slot);
    127 }
    128 
    129124bool JSDOMWindow::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    130125{
     
    692687    Identifier identifier(m_exec, "returnValue");
    693688    PropertySlot slot;
    694     if (!globalObject->getOwnPropertySlotVirtual(m_exec, identifier, slot))
     689    if (!globalObject->methodTable()->getOwnPropertySlot(globalObject, m_exec, identifier, slot))
    695690        return jsUndefined();
    696691    return slot.getValue(m_exec, identifier);
  • trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp

    r98422 r98501  
    101101}
    102102
    103 bool JSDOMWindowShell::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    104 {
    105     return getOwnPropertySlot(this, exec, propertyName, slot);
    106 }
    107 
    108103bool JSDOMWindowShell::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    109104{
    110     return static_cast<JSDOMWindowShell*>(cell)->m_window->getOwnPropertySlotVirtual(exec, propertyName, slot);
     105    JSDOMWindowShell* thisObject = static_cast<JSDOMWindowShell*>(cell);
     106    return thisObject->m_window->methodTable()->getOwnPropertySlot(thisObject->m_window.get(), exec, propertyName, slot);
    111107}
    112108
  • trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h

    r98422 r98501  
    8181        static void visitChildren(JSC::JSCell*, JSC::SlotVisitor&);
    8282        virtual JSC::UString className() const;
    83         virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    8483        static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    8584        virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
  • trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp

    r98415 r98501  
    338338                return slot.getValue(m_exec, propertyName);
    339339            }
    340         } else if (array->getOwnPropertySlotVirtual(m_exec, propertyName, slot)) {
     340        } else if (array->methodTable()->getOwnPropertySlotByIndex(array, m_exec, propertyName, slot)) {
    341341            hasIndex = true;
    342342            return slot.getValue(m_exec, propertyName);
     
    349349    {
    350350        PropertySlot slot(object);
    351         if (object->getOwnPropertySlotVirtual(m_exec, propertyName, slot))
     351        if (object->methodTable()->getOwnPropertySlot(object, m_exec, propertyName, slot))
    352352            return slot.getValue(m_exec, propertyName);
    353353        return JSValue();
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r98495 r98501  
    771771    # Getters
    772772    if ($hasGetter) {
    773         push(@headerContent, "    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);\n");
    774773        push(@headerContent, "    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);\n");
    775774        push(@headerContent, "    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);\n");
    776         push(@headerContent, "    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);\n") if ($dataNode->extendedAttributes->{"HasIndexGetter"} || $dataNode->extendedAttributes->{"HasCustomIndexGetter"} || $dataNode->extendedAttributes->{"HasNumericIndexGetter"}) && !$dataNode->extendedAttributes->{"HasOverridingNameGetter"};
    777775        push(@headerContent, "    static bool getOwnPropertySlotByIndex(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);\n") if ($dataNode->extendedAttributes->{"HasIndexGetter"} || $dataNode->extendedAttributes->{"HasCustomIndexGetter"} || $dataNode->extendedAttributes->{"HasNumericIndexGetter"}) && !$dataNode->extendedAttributes->{"HasOverridingNameGetter"};
    778776        push(@headerContent, "    bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n") if $dataNode->extendedAttributes->{"DelegatingGetOwnPropertySlot"};
     
    968966
    969967    if ($dataNode->extendedAttributes->{"InlineGetOwnPropertySlot"} && !$dataNode->extendedAttributes->{"CustomGetOwnPropertySlot"}) {
    970         push(@headerContent, "ALWAYS_INLINE bool ${className}::getOwnPropertySlotVirtual(JSC::ExecState* exec, const JSC::Identifier& propertyName, JSC::PropertySlot& slot)\n");
    971         push(@headerContent, "{\n");
    972         push(@headerContent, "    return getOwnPropertySlot(this, exec, propertyName, slot);\n");
    973         push(@headerContent, "}\n\n");
    974968        push(@headerContent, "ALWAYS_INLINE bool ${className}::getOwnPropertySlot(JSC::JSCell* cell, JSC::ExecState* exec, const JSC::Identifier& propertyName, JSC::PropertySlot& slot)\n");
    975969        push(@headerContent, "{\n");
     
    10411035    push(@headerContent, "    static const JSC::ClassInfo s_info;\n");
    10421036    if ($numFunctions > 0 || $numConstants > 0 || $dataNode->extendedAttributes->{"DelegatingPrototypeGetOwnPropertySlot"}) {
    1043         push(@headerContent, "    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n");
    10441037        push(@headerContent, "    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n");
    10451038        push(@headerContent, "    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);\n");
     
    14361429    }
    14371430    if ($numConstants > 0 || $numFunctions > 0 || $dataNode->extendedAttributes->{"DelegatingPrototypeGetOwnPropertySlot"}) {
    1438         push(@implContent, "bool ${className}Prototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
    1439         push(@implContent, "{\n");
    1440         push(@implContent, "    return getOwnPropertySlot(this, exec, propertyName, slot);\n");
    1441         push(@implContent, "}\n\n");
    1442        
    14431431        push(@implContent, "bool ${className}Prototype::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
    14441432        push(@implContent, "{\n");
     
    15761564    if ($hasGetter) {
    15771565        if (!$dataNode->extendedAttributes->{"InlineGetOwnPropertySlot"} && !$dataNode->extendedAttributes->{"CustomGetOwnPropertySlot"}) {
    1578             push(@implContent, "bool ${className}::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
    1579             push(@implContent, "{\n");
    1580             push(@implContent, "    return getOwnPropertySlot(this, exec, propertyName, slot);\n");
    1581             push(@implContent, "}\n\n");
    15821566            push(@implContent, "bool ${className}::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
    15831567            push(@implContent, "{\n");
     
    15951579        if (($dataNode->extendedAttributes->{"HasIndexGetter"} || $dataNode->extendedAttributes->{"HasCustomIndexGetter"} || $dataNode->extendedAttributes->{"HasNumericIndexGetter"})
    15961580                && !$dataNode->extendedAttributes->{"HasOverridingNameGetter"}) {
    1597             push(@implContent, "bool ${className}::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)\n");
    1598             push(@implContent, "{\n");
    1599             push(@implContent, "    return getOwnPropertySlotByIndex(this, exec, propertyName, slot);\n");
    1600             push(@implContent, "}\n\n");
    16011581            push(@implContent, "bool ${className}::getOwnPropertySlotByIndex(JSCell* cell, ExecState* exec, unsigned propertyName, PropertySlot& slot)\n");
    16021582            push(@implContent, "{\n");
     
    16111591            push(@implContent, "        return true;\n");
    16121592            push(@implContent, "    }\n");
    1613             push(@implContent, "    return thisObject->getOwnPropertySlotVirtual(exec, Identifier::from(exec, propertyName), slot);\n");
     1593            push(@implContent, "    return thisObject->methodTable()->getOwnPropertySlot(thisObject, exec, Identifier::from(exec, propertyName), slot);\n");
    16141594            push(@implContent, "}\n\n");
    16151595        }
     
    31913171    push(@$outputArray, "    }\n\n");
    31923172
    3193     push(@$outputArray, "    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n");
    31943173    push(@$outputArray, "    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n");
    31953174    push(@$outputArray, "    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);\n");
     
    32433222    push(@$outputArray, "}\n\n");
    32443223
    3245     push(@$outputArray, "bool ${constructorClassName}::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
    3246     push(@$outputArray, "{\n");
    3247     push(@$outputArray, "    return getOwnPropertySlot(this, exec, propertyName, slot);\n");
    3248     push(@$outputArray, "}\n\n");
    3249    
    32503224    push(@$outputArray, "bool ${constructorClassName}::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
    32513225    push(@$outputArray, "{\n");
  • trunk/Source/WebCore/bridge/objc/objc_runtime.h

    r98422 r98501  
    124124    ObjcFallbackObjectImp(JSGlobalObject*, Structure*, ObjcInstance*, const Identifier& propertyName);
    125125    static const unsigned StructureFlags = OverridesGetOwnPropertySlot | JSObject::StructureFlags;
    126     virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    127126    static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    128127    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/WebCore/bridge/objc/objc_runtime.mm

    r98422 r98501  
    206206}
    207207
    208 bool ObjcFallbackObjectImp::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& identifier, PropertySlot& slot)
    209 {
    210     return getOwnPropertySlot(this, exec, identifier, slot);
    211 }
    212 
    213208bool ObjcFallbackObjectImp::getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot& slot)
    214209{
  • trunk/Source/WebCore/bridge/qt/qt_runtime.cpp

    r98415 r98501  
    14951495}
    14961496
    1497 bool QtRuntimeMetaMethod::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    1498 {
    1499     return getOwnPropertySlot(this, exec, propertyName, slot);
    1500 }
    1501 
    15021497bool QtRuntimeMetaMethod::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    15031498{
     
    17421737}
    17431738
    1744 bool QtRuntimeConnectionMethod::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    1745 {
    1746     return getOwnPropertySlot(this, exec, propertyName, slot);
    1747 }
    1748 
    17491739bool QtRuntimeConnectionMethod::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    17501740{
  • trunk/Source/WebCore/bridge/qt/qt_runtime.h

    r97537 r98501  
    165165    }
    166166
    167     virtual bool getOwnPropertySlotVirtual(ExecState *, const Identifier&, PropertySlot&);
    168167    static bool getOwnPropertySlot(JSCell*, ExecState *, const Identifier&, PropertySlot&);
    169168    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
     
    206205    }
    207206
    208     virtual bool getOwnPropertySlotVirtual(ExecState *, const Identifier&, PropertySlot&);
    209207    static bool getOwnPropertySlot(JSCell*, ExecState *, const Identifier&, PropertySlot&);
    210208    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/WebCore/bridge/runtime_array.cpp

    r98422 r98501  
    7979}
    8080
    81 bool RuntimeArray::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    82 {
    83     return getOwnPropertySlot(this, exec, propertyName, slot);
    84 }
    85 
    8681bool RuntimeArray::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    8782{
     
    125120   
    126121    return JSObject::getOwnPropertyDescriptor(exec, propertyName, descriptor);
    127 }
    128 
    129 bool RuntimeArray::getOwnPropertySlotVirtual(ExecState *exec, unsigned index, PropertySlot& slot)
    130 {
    131     return getOwnPropertySlotByIndex(this, exec, index, slot);
    132122}
    133123
  • trunk/Source/WebCore/bridge/runtime_array.h

    r98422 r98501  
    5151
    5252    virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties);
    53     virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5453    static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    55     virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned, PropertySlot&);
    5654    static bool getOwnPropertySlotByIndex(JSCell*, ExecState*, unsigned, PropertySlot&);
    5755    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/WebCore/bridge/runtime_method.cpp

    r97537 r98501  
    7070}
    7171
    72 bool RuntimeMethod::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    73 {
    74     return getOwnPropertySlot(this, exec, propertyName, slot);
    75 }
    76 
    7772bool RuntimeMethod::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    7873{
  • trunk/Source/WebCore/bridge/runtime_method.h

    r98367 r98501  
    6565    static CallType getCallData(JSCell*, CallData&);
    6666
    67     virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    6867    static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    6968
  • trunk/Source/WebCore/bridge/runtime_object.cpp

    r98422 r98501  
    115115           
    116116    return method;
    117 }
    118 
    119 bool RuntimeObject::getOwnPropertySlotVirtual(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
    120 {
    121     return getOwnPropertySlot(this, exec, propertyName, slot);
    122117}
    123118
  • trunk/Source/WebCore/bridge/runtime_object.h

    r98422 r98501  
    4646    virtual ~RuntimeObject();
    4747
    48     virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    4948    static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    5049    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier& propertyName, PropertyDescriptor&);
  • trunk/Source/WebKit2/ChangeLog

    r98498 r98501  
     12011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
     2
     3        Remove getOwnPropertySlotVirtual
     4        https://bugs.webkit.org/show_bug.cgi?id=70741
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Removed all declarations and definitions of getOwnPropertySlotVirtual.
     9        Also replaced all call sites to getOwnPropertyVirtualVirtual with a
     10        corresponding lookup in the MethodTable.
     11
     12        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
     13        * WebProcess/Plugins/Netscape/JSNPObject.h:
     14
    1152011-10-26  Alejandro G. Castro  <alex@igalia.com>
    216
  • trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp

    r98422 r98501  
    248248}
    249249
    250 bool JSNPObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    251 {
    252     return getOwnPropertySlot(this, exec, propertyName, slot);
    253 }
    254 
    255250bool JSNPObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    256251{
  • trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h

    r98422 r98501  
    8383    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&);
    8484
    85     virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    8685    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    8786    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
Note: See TracChangeset for help on using the changeset viewer.