Changeset 97537 in webkit


Ignore:
Timestamp:
Oct 14, 2011 7:00:23 PM (13 years ago)
Author:
mhahnenberg@apple.com
Message:

Rename getOwnPropertySlot to getOwnPropertySlotVirtual
https://bugs.webkit.org/show_bug.cgi?id=69810

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
in preparation for when we add the static getOwnPropertySlot to the MethodTable
in ClassInfo.

Also added a few static getOwnPropertySlot functions where they had been overlooked
before (especially in CodeGeneratorJS.pm).

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

(JSC::::getOwnPropertySlotVirtual):
(JSC::::getOwnPropertySlot):
(JSC::::getOwnPropertyDescriptor):
(JSC::::staticFunctionGetter):

(JSC::DebuggerActivation::getOwnPropertySlotVirtual):
(JSC::DebuggerActivation::getOwnPropertySlot):

  • debugger/DebuggerActivation.h:
  • runtime/Arguments.cpp:

(JSC::Arguments::getOwnPropertySlotVirtual):
(JSC::Arguments::getOwnPropertySlot):

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

(JSC::ArrayConstructor::getOwnPropertySlotVirtual):
(JSC::ArrayConstructor::getOwnPropertySlot):

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

(JSC::ArrayPrototype::getOwnPropertySlotVirtual):

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

(JSC::BooleanPrototype::getOwnPropertySlotVirtual):

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

(JSC::DateConstructor::getOwnPropertySlotVirtual):

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

(JSC::DatePrototype::getOwnPropertySlotVirtual):

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

(JSC::ErrorPrototype::getOwnPropertySlotVirtual):

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

(JSC::JSActivation::getOwnPropertySlotVirtual):

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

(JSC::JSArray::getOwnPropertySlotVirtual):
(JSC::JSArray::getOwnPropertySlot):

  • runtime/JSArray.h:
  • runtime/JSBoundFunction.cpp:

(JSC::JSBoundFunction::getOwnPropertySlotVirtual):

  • runtime/JSBoundFunction.h:
  • runtime/JSByteArray.cpp:

(JSC::JSByteArray::getOwnPropertySlotVirtual):

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

(JSC::JSCell::getOwnPropertySlotVirtual):

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

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

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

(JSC::JSGlobalObject::getOwnPropertySlotVirtual):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::hasOwnPropertyForWrite):

  • runtime/JSNotAnObject.cpp:

(JSC::JSNotAnObject::getOwnPropertySlotVirtual):

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

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

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

(JSC::JSObject::getOwnPropertySlotVirtual):
(JSC::JSObject::getOwnPropertySlot):
(JSC::JSObject::hasOwnProperty):

  • runtime/JSObject.h:

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

  • runtime/JSStaticScopeObject.cpp:

(JSC::JSStaticScopeObject::getOwnPropertySlotVirtual):

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

(JSC::JSString::getOwnPropertySlotVirtual):
(JSC::JSString::getOwnPropertySlot):

  • runtime/JSString.h:
  • runtime/Lookup.h:

(JSC::getStaticPropertySlot):
(JSC::getStaticFunctionSlot):
(JSC::getStaticValueSlot):

  • runtime/MathObject.cpp:

(JSC::MathObject::getOwnPropertySlotVirtual):

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

(JSC::NumberConstructor::getOwnPropertySlotVirtual):

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

(JSC::NumberPrototype::getOwnPropertySlotVirtual):

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

(JSC::ObjectConstructor::getOwnPropertySlotVirtual):

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

(JSC::ObjectPrototype::getOwnPropertySlotVirtual):

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

(JSC::RegExpConstructor::getOwnPropertySlotVirtual):

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

(JSC::RegExpMatchesArray::getOwnPropertySlotVirtual):

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::getOwnPropertySlotVirtual):

  • runtime/RegExpObject.h:
  • runtime/RegExpPrototype.cpp:

(JSC::RegExpPrototype::getOwnPropertySlotVirtual):

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

(JSC::StringConstructor::getOwnPropertySlotVirtual):

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

(JSC::StringObject::getOwnPropertySlotVirtual):

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

(JSC::StringPrototype::getOwnPropertySlotVirtual):

  • runtime/StringPrototype.h:

Source/JavaScriptGlue:

Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
in preparation for when we add the static getOwnPropertySlot to the MethodTable
in ClassInfo.

Also added a few static getOwnPropertySlot functions where they had been overlooked
before (especially in CodeGeneratorJS.pm).

  • UserObjectImp.cpp:

(UserObjectImp::getOwnPropertySlotVirtual):

  • UserObjectImp.h:

Source/WebCore:

No new tests.

Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
in preparation for when we add the static getOwnPropertySlot to the MethodTable
in ClassInfo.

Also added a few static getOwnPropertySlot functions where they had been overlooked
before (especially in CodeGeneratorJS.pm).

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

(WebCore::JSDOMWindow::getOwnPropertySlotVirtual):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::DialogHandler::returnValue):

  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::getOwnPropertySlotVirtual):
(WebCore::JSDOMWindowShell::getOwnPropertySlot):

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

(WebCore::JSWorkerContext::getOwnPropertySlotDelegate):

  • bindings/js/SerializedScriptValue.cpp:

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

  • bindings/scripts/CodeGeneratorJS.pm:

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

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

(WebCore::JSTestInterfaceConstructor::getOwnPropertySlotVirtual):
(WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
(WebCore::JSTestInterface::getOwnPropertySlotVirtual):
(WebCore::JSTestInterface::getOwnPropertySlot):

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

(WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlotVirtual):
(WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlotVirtual):
(WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListener::getOwnPropertySlotVirtual):
(WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):

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

(WebCore::JSTestObjConstructor::getOwnPropertySlotVirtual):
(WebCore::JSTestObjConstructor::getOwnPropertySlot):
(WebCore::JSTestObjPrototype::getOwnPropertySlotVirtual):
(WebCore::JSTestObjPrototype::getOwnPropertySlot):
(WebCore::JSTestObj::getOwnPropertySlotVirtual):
(WebCore::JSTestObj::getOwnPropertySlot):

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

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlotVirtual):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlotVirtual):
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_runtime.mm:

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

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtInstance::getOwnPropertySlot):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlotVirtual):
(JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlotVirtual):

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

(JSC::RuntimeArray::getOwnPropertySlotVirtual):

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

(JSC::RuntimeMethod::getOwnPropertySlotVirtual):

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

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

  • bridge/runtime_object.h:

Source/WebKit2:

Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
in preparation for when we add the static getOwnPropertySlot to the MethodTable
in ClassInfo.

Also added a few static getOwnPropertySlot functions where they had been overlooked
before (especially in CodeGeneratorJS.pm).

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::getOwnPropertySlotVirtual):

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

Legend:

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

    r97532 r97537  
    179179    virtual UString className() const;
    180180
    181     virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     181    virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
     182    static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    182183    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
    183184   
  • trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h

    r97532 r97537  
    125125
    126126template <class Parent>
    127 bool JSCallbackObject<Parent>::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    128 {
     127bool JSCallbackObject<Parent>::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     128{
     129    return getOwnPropertySlot(this, exec, propertyName, slot);
     130}
     131
     132template <class Parent>
     133bool JSCallbackObject<Parent>::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     134{
     135    JSCallbackObject* thisObject = static_cast<JSCallbackObject*>(cell);
    129136    JSContextRef ctx = toRef(exec);
    130     JSObjectRef thisRef = toRef(this);
     137    JSObjectRef thisRef = toRef(thisObject);
    131138    RefPtr<OpaqueJSString> propertyNameRef;
    132139   
    133     for (JSClassRef jsClass = classRef(); jsClass; jsClass = jsClass->parentClass) {
     140    for (JSClassRef jsClass = thisObject->classRef(); jsClass; jsClass = jsClass->parentClass) {
    134141        // optional optimization to bypass getProperty in cases when we only need to know if the property exists
    135142        if (JSObjectHasPropertyCallback hasProperty = jsClass->hasProperty) {
     
    138145            APICallbackShim callbackShim(exec);
    139146            if (hasProperty(ctx, thisRef, propertyNameRef.get())) {
    140                 slot.setCustom(this, callbackGetter);
     147                slot.setCustom(thisObject, callbackGetter);
    141148                return true;
    142149            }
     
    163170        if (OpaqueJSClassStaticValuesTable* staticValues = jsClass->staticValues(exec)) {
    164171            if (staticValues->contains(propertyName.impl())) {
    165                 JSValue value = getStaticValue(exec, propertyName);
     172                JSValue value = thisObject->getStaticValue(exec, propertyName);
    166173                if (value) {
    167174                    slot.setValue(value);
     
    173180        if (OpaqueJSClassStaticFunctionsTable* staticFunctions = jsClass->staticFunctions(exec)) {
    174181            if (staticFunctions->contains(propertyName.impl())) {
    175                 slot.setCustom(this, staticFunctionGetter);
    176                 return true;
    177             }
    178         }
    179     }
    180    
    181     return Parent::getOwnPropertySlot(exec, propertyName, slot);
     182                slot.setCustom(thisObject, staticFunctionGetter);
     183                return true;
     184            }
     185        }
     186    }
     187   
     188    return Parent::getOwnPropertySlot(thisObject, exec, propertyName, slot);
    182189}
    183190
     
    186193{
    187194    PropertySlot slot;
    188     if (getOwnPropertySlot(exec, propertyName, slot)) {
     195    if (getOwnPropertySlotVirtual(exec, propertyName, slot)) {
    189196        // Ideally we should return an access descriptor, but returning a value descriptor is better than nothing.
    190197        JSValue value = slot.getValue(exec, propertyName);
     
    537544    // Check for cached or override property.
    538545    PropertySlot slot2(thisObj);
    539     if (thisObj->Parent::getOwnPropertySlot(exec, propertyName, slot2))
     546    if (Parent::getOwnPropertySlot(thisObj, exec, propertyName, slot2))
    540547        return slot2.getValue(exec, propertyName);
    541548   
  • trunk/Source/JavaScriptCore/ChangeLog

    r97536 r97537  
     12011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
     2
     3        Rename getOwnPropertySlot to getOwnPropertySlotVirtual
     4        https://bugs.webkit.org/show_bug.cgi?id=69810
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
     9        in preparation for when we add the static getOwnPropertySlot to the MethodTable
     10        in ClassInfo.
     11
     12        Also added a few static getOwnPropertySlot functions where they had been overlooked
     13        before (especially in CodeGeneratorJS.pm).
     14
     15        * API/JSCallbackObject.h:
     16        * API/JSCallbackObjectFunctions.h:
     17        (JSC::::getOwnPropertySlotVirtual):
     18        (JSC::::getOwnPropertySlot):
     19        (JSC::::getOwnPropertyDescriptor):
     20        (JSC::::staticFunctionGetter):
     21        * JavaScriptCore.exp:
     22        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
     23        * debugger/DebuggerActivation.cpp:
     24        (JSC::DebuggerActivation::getOwnPropertySlotVirtual):
     25        (JSC::DebuggerActivation::getOwnPropertySlot):
     26        * debugger/DebuggerActivation.h:
     27        * runtime/Arguments.cpp:
     28        (JSC::Arguments::getOwnPropertySlotVirtual):
     29        (JSC::Arguments::getOwnPropertySlot):
     30        * runtime/Arguments.h:
     31        * runtime/ArrayConstructor.cpp:
     32        (JSC::ArrayConstructor::getOwnPropertySlotVirtual):
     33        (JSC::ArrayConstructor::getOwnPropertySlot):
     34        * runtime/ArrayConstructor.h:
     35        * runtime/ArrayPrototype.cpp:
     36        (JSC::ArrayPrototype::getOwnPropertySlotVirtual):
     37        * runtime/ArrayPrototype.h:
     38        * runtime/BooleanPrototype.cpp:
     39        (JSC::BooleanPrototype::getOwnPropertySlotVirtual):
     40        * runtime/BooleanPrototype.h:
     41        * runtime/DateConstructor.cpp:
     42        (JSC::DateConstructor::getOwnPropertySlotVirtual):
     43        * runtime/DateConstructor.h:
     44        * runtime/DatePrototype.cpp:
     45        (JSC::DatePrototype::getOwnPropertySlotVirtual):
     46        * runtime/DatePrototype.h:
     47        * runtime/ErrorPrototype.cpp:
     48        (JSC::ErrorPrototype::getOwnPropertySlotVirtual):
     49        * runtime/ErrorPrototype.h:
     50        * runtime/JSActivation.cpp:
     51        (JSC::JSActivation::getOwnPropertySlotVirtual):
     52        * runtime/JSActivation.h:
     53        * runtime/JSArray.cpp:
     54        (JSC::JSArray::getOwnPropertySlotVirtual):
     55        (JSC::JSArray::getOwnPropertySlot):
     56        * runtime/JSArray.h:
     57        * runtime/JSBoundFunction.cpp:
     58        (JSC::JSBoundFunction::getOwnPropertySlotVirtual):
     59        * runtime/JSBoundFunction.h:
     60        * runtime/JSByteArray.cpp:
     61        (JSC::JSByteArray::getOwnPropertySlotVirtual):
     62        * runtime/JSByteArray.h:
     63        * runtime/JSCell.cpp:
     64        (JSC::JSCell::getOwnPropertySlotVirtual):
     65        * runtime/JSCell.h:
     66        * runtime/JSFunction.cpp:
     67        (JSC::JSFunction::getOwnPropertySlotVirtual):
     68        (JSC::JSFunction::getOwnPropertyDescriptor):
     69        (JSC::JSFunction::getOwnPropertyNames):
     70        (JSC::JSFunction::put):
     71        * runtime/JSFunction.h:
     72        * runtime/JSGlobalObject.cpp:
     73        (JSC::JSGlobalObject::getOwnPropertySlotVirtual):
     74        * runtime/JSGlobalObject.h:
     75        (JSC::JSGlobalObject::hasOwnPropertyForWrite):
     76        * runtime/JSNotAnObject.cpp:
     77        (JSC::JSNotAnObject::getOwnPropertySlotVirtual):
     78        * runtime/JSNotAnObject.h:
     79        * runtime/JSONObject.cpp:
     80        (JSC::Stringifier::Holder::appendNextProperty):
     81        (JSC::JSONObject::getOwnPropertySlotVirtual):
     82        (JSC::Walker::walk):
     83        * runtime/JSONObject.h:
     84        * runtime/JSObject.cpp:
     85        (JSC::JSObject::getOwnPropertySlotVirtual):
     86        (JSC::JSObject::getOwnPropertySlot):
     87        (JSC::JSObject::hasOwnProperty):
     88        * runtime/JSObject.h:
     89        (JSC::JSObject::getOwnPropertySlotVirtual):
     90        (JSC::JSCell::fastGetOwnPropertySlot):
     91        (JSC::JSObject::getPropertySlot):
     92        (JSC::JSValue::get):
     93        * runtime/JSStaticScopeObject.cpp:
     94        (JSC::JSStaticScopeObject::getOwnPropertySlotVirtual):
     95        * runtime/JSStaticScopeObject.h:
     96        * runtime/JSString.cpp:
     97        (JSC::JSString::getOwnPropertySlotVirtual):
     98        (JSC::JSString::getOwnPropertySlot):
     99        * runtime/JSString.h:
     100        * runtime/Lookup.h:
     101        (JSC::getStaticPropertySlot):
     102        (JSC::getStaticFunctionSlot):
     103        (JSC::getStaticValueSlot):
     104        * runtime/MathObject.cpp:
     105        (JSC::MathObject::getOwnPropertySlotVirtual):
     106        * runtime/MathObject.h:
     107        * runtime/NumberConstructor.cpp:
     108        (JSC::NumberConstructor::getOwnPropertySlotVirtual):
     109        * runtime/NumberConstructor.h:
     110        * runtime/NumberPrototype.cpp:
     111        (JSC::NumberPrototype::getOwnPropertySlotVirtual):
     112        * runtime/NumberPrototype.h:
     113        * runtime/ObjectConstructor.cpp:
     114        (JSC::ObjectConstructor::getOwnPropertySlotVirtual):
     115        * runtime/ObjectConstructor.h:
     116        * runtime/ObjectPrototype.cpp:
     117        (JSC::ObjectPrototype::getOwnPropertySlotVirtual):
     118        * runtime/ObjectPrototype.h:
     119        * runtime/RegExpConstructor.cpp:
     120        (JSC::RegExpConstructor::getOwnPropertySlotVirtual):
     121        * runtime/RegExpConstructor.h:
     122        * runtime/RegExpMatchesArray.h:
     123        (JSC::RegExpMatchesArray::getOwnPropertySlotVirtual):
     124        * runtime/RegExpObject.cpp:
     125        (JSC::RegExpObject::getOwnPropertySlotVirtual):
     126        * runtime/RegExpObject.h:
     127        * runtime/RegExpPrototype.cpp:
     128        (JSC::RegExpPrototype::getOwnPropertySlotVirtual):
     129        * runtime/RegExpPrototype.h:
     130        * runtime/StringConstructor.cpp:
     131        (JSC::StringConstructor::getOwnPropertySlotVirtual):
     132        * runtime/StringConstructor.h:
     133        * runtime/StringObject.cpp:
     134        (JSC::StringObject::getOwnPropertySlotVirtual):
     135        * runtime/StringObject.h:
     136        * runtime/StringPrototype.cpp:
     137        (JSC::StringPrototype::getOwnPropertySlotVirtual):
     138        * runtime/StringPrototype.h:
     139
    11402011-10-14  Gavin Barraclough  <baraclough@apple.com>
    2141
  • trunk/Source/JavaScriptCore/JavaScriptCore.exp

    r97532 r97537  
    148148__ZN3JSC12SmallStrings27createSingleCharacterStringEPNS_12JSGlobalDataEh
    149149__ZN3JSC12StringObject14finishCreationERNS_12JSGlobalDataEPNS_8JSStringE
    150 __ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    151 __ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
    152150__ZN3JSC12StringObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE
    153151__ZN3JSC12StringObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
     
    167165__ZN3JSC14JSGlobalObject16addStaticGlobalsEPNS0_18GlobalPropertyInfoEi
    168166__ZN3JSC14JSGlobalObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueEj
    169 __ZN3JSC14JSGlobalObject18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
     167__ZN3JSC14JSGlobalObject18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    170168__ZN3JSC14JSGlobalObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
     169__ZN3JSC14JSGlobalObject25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    171170__ZN3JSC14JSGlobalObject3putEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE
    172171__ZN3JSC14JSGlobalObject4initEPNS_8JSObjectE
     
    262261__ZN3JSC6JSCell21deletePropertyVirtualEPNS_9ExecStateERKNS_10IdentifierE
    263262__ZN3JSC6JSCell21deletePropertyVirtualEPNS_9ExecStateEj
    264 __ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    265 __ZN3JSC6JSCell18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
     263__ZN3JSC6JSCell25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
     264__ZN3JSC6JSCell25getOwnPropertySlotVirtualEPNS_9ExecStateEjRNS_12PropertySlotE
    266265__ZN3JSC6JSCell23getConstructDataVirtualERNS_13ConstructDataE
    267266__ZN3JSC6JSCell9getObjectEv
     
    281280__ZN3JSC7JSArray14finishCreationERNS_12JSGlobalDataERKNS_7ArgListE
    282281__ZN3JSC7JSArray15setSubclassDataEPv
    283 __ZN3JSC7JSArray18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
     282__ZN3JSC7JSArray18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateEjRNS_12PropertySlotE
    284283__ZN3JSC7JSArray6s_infoE
    285284__ZN3JSC7JSArray9setLengthEj
     
    325324__ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateEjNS_7JSValueEj
    326325__ZN3JSC8JSObject18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateEjRNS_12PropertySlotE
    327 __ZN3JSC8JSObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE
    328326__ZN3JSC8JSObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE
    329327__ZN3JSC8JSObject21deletePropertyVirtualEPNS_9ExecStateERKNS_10IdentifierE
     
    333331__ZN3JSC8JSObject23allocatePropertyStorageERNS_12JSGlobalDataEmm
    334332__ZN3JSC8JSObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
     333__ZN3JSC8JSObject25getOwnPropertySlotVirtualEPNS_9ExecStateEjRNS_12PropertySlotE
    335334__ZN3JSC8JSObject3putEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE
    336335__ZN3JSC8JSObject6s_infoE
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def

    r97532 r97537  
    201201    ?getOwnPropertyNames@JSVariableObject@JSC@@UAEXPAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z
    202202    ?getOwnPropertyNames@StringObject@JSC@@UAEXPAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z
    203     ?getOwnPropertySlot@JSArray@JSC@@UAE_NPAVExecState@2@IAAVPropertySlot@2@@Z
    204     ?getOwnPropertySlot@JSCell@JSC@@EAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertySlot@2@@Z
    205     ?getOwnPropertySlot@JSCell@JSC@@EAE_NPAVExecState@2@IAAVPropertySlot@2@@Z
    206     ?getOwnPropertySlot@JSGlobalObject@JSC@@UAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertySlot@2@@Z
    207     ?getOwnPropertySlot@JSObject@JSC@@UAE_NPAVExecState@2@IAAVPropertySlot@2@@Z
    208     ?getOwnPropertySlot@JSString@JSC@@EAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertySlot@2@@Z
    209     ?getOwnPropertySlot@JSString@JSC@@EAE_NPAVExecState@2@IAAVPropertySlot@2@@Z
    210     ?getOwnPropertySlot@StringObject@JSC@@UAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertySlot@2@@Z
    211     ?getOwnPropertySlot@StringObject@JSC@@UAE_NPAVExecState@2@IAAVPropertySlot@2@@Z
     203    ?getOwnPropertySlot@JSArray@JSC@@SA_NPAVJSCell@2@PAVExecState@2@IAAVPropertySlot@2@@Z
     204    ?getOwnPropertySlot@JSGlobalObject@JSC@@SA_NPAVJSCell@2@PAVExecState@2@ABVIdentifier@2@AAVPropertySlot@2@@Z
     205    ?getOwnPropertySlotVirtual@JSCell@JSC@@EAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertySlot@2@@Z
     206    ?getOwnPropertySlotVirtual@JSCell@JSC@@EAE_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
    212209    ?getPropertyDescriptor@JSObject@JSC@@QAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertyDescriptor@2@@Z
    213210    ?getPropertyNames@JSObject@JSC@@UAEXPAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z
  • trunk/Source/JavaScriptCore/debugger/DebuggerActivation.cpp

    r97532 r97537  
    6161}
    6262
    63 bool DebuggerActivation::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     63bool DebuggerActivation::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    6464{
    6565    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    6868bool DebuggerActivation::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    6969{
    70     return static_cast<DebuggerActivation*>(cell)->m_activation->getOwnPropertySlot(exec, propertyName, slot);
     70    return static_cast<DebuggerActivation*>(cell)->m_activation->getOwnPropertySlotVirtual(exec, propertyName, slot);
    7171}
    7272
  • trunk/Source/JavaScriptCore/debugger/DebuggerActivation.h

    r97532 r97537  
    4444        static void visitChildren(JSCell*, SlotVisitor&);
    4545        virtual UString className() const;
    46         virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
     46        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    4747        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    4848        virtual void putVirtual(ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&);
  • trunk/Source/JavaScriptCore/runtime/Arguments.cpp

    r97532 r97537  
    146146}
    147147
    148 bool Arguments::getOwnPropertySlot(ExecState* exec, unsigned i, PropertySlot& slot)
     148bool Arguments::getOwnPropertySlotVirtual(ExecState* exec, unsigned i, PropertySlot& slot)
    149149{
    150150    return getOwnPropertySlot(this, exec, i, slot);
     
    189189}
    190190
    191 bool Arguments::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    192 {
     191bool Arguments::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     192{
     193    return getOwnPropertySlot(this, exec, propertyName, slot);
     194}
     195
     196bool Arguments::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     197{
     198    Arguments* thisObject = static_cast<Arguments*>(cell);
    193199    bool isArrayIndex;
    194200    unsigned i = propertyName.toArrayIndex(isArrayIndex);
    195     if (isArrayIndex && i < d->numArguments && (!d->deletedArguments || !d->deletedArguments[i])) {
    196         if (i < d->numParameters) {
    197             slot.setValue(d->registers[d->firstParameterIndex + i].get());
     201    if (isArrayIndex && i < thisObject->d->numArguments && (!thisObject->d->deletedArguments || !thisObject->d->deletedArguments[i])) {
     202        if (i < thisObject->d->numParameters) {
     203            slot.setValue(thisObject->d->registers[thisObject->d->firstParameterIndex + i].get());
    198204        } else
    199             slot.setValue(d->extraArguments[i - d->numParameters].get());
    200         return true;
    201     }
    202 
    203     if (propertyName == exec->propertyNames().length && LIKELY(!d->overrodeLength)) {
    204         slot.setValue(jsNumber(d->numArguments));
    205         return true;
    206     }
    207 
    208     if (propertyName == exec->propertyNames().callee && LIKELY(!d->overrodeCallee)) {
    209         if (!d->isStrictMode) {
    210             slot.setValue(d->callee.get());
    211             return true;
    212         }
    213         createStrictModeCalleeIfNecessary(exec);
    214     }
    215 
    216     if (propertyName == exec->propertyNames().caller && d->isStrictMode)
    217         createStrictModeCallerIfNecessary(exec);
    218 
    219     return JSObject::getOwnPropertySlot(exec, propertyName, slot);
     205            slot.setValue(thisObject->d->extraArguments[i - thisObject->d->numParameters].get());
     206        return true;
     207    }
     208
     209    if (propertyName == exec->propertyNames().length && LIKELY(!thisObject->d->overrodeLength)) {
     210        slot.setValue(jsNumber(thisObject->d->numArguments));
     211        return true;
     212    }
     213
     214    if (propertyName == exec->propertyNames().callee && LIKELY(!thisObject->d->overrodeCallee)) {
     215        if (!thisObject->d->isStrictMode) {
     216            slot.setValue(thisObject->d->callee.get());
     217            return true;
     218        }
     219        thisObject->createStrictModeCalleeIfNecessary(exec);
     220    }
     221
     222    if (propertyName == exec->propertyNames().caller && thisObject->d->isStrictMode)
     223        thisObject->createStrictModeCallerIfNecessary(exec);
     224
     225    return JSObject::getOwnPropertySlot(thisObject, exec, propertyName, slot);
    220226}
    221227
  • trunk/Source/JavaScriptCore/runtime/Arguments.h

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

    r97436 r97537  
    6464}
    6565
    66 bool ArrayConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     66bool ArrayConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    6767{
    68     return getStaticFunctionSlot<InternalFunction>(exec, ExecState::arrayConstructorTable(exec), this, propertyName, slot);
     68    return getOwnPropertySlot(this, exec, propertyName, slot);
     69}
     70
     71bool ArrayConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     72{
     73    return getStaticFunctionSlot<InternalFunction>(exec, ExecState::arrayConstructorTable(exec), static_cast<ArrayConstructor*>(cell), propertyName, slot);
    6974}
    7075
  • trunk/Source/JavaScriptCore/runtime/ArrayConstructor.h

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

    r97532 r97537  
    126126}
    127127
    128 bool ArrayPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     128bool ArrayPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    129129{
    130130    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/ArrayPrototype.h

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

    r97015 r97537  
    6363}
    6464
    65 bool BooleanPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     65bool BooleanPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    6666{
    6767    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/BooleanPrototype.h

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

    r97436 r97537  
    8686}
    8787
    88 bool DateConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     88bool DateConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    8989{
    9090    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/DateConstructor.h

    r97436 r97537  
    5656        static CallType getCallData(JSCell*, CallData&);
    5757
    58         virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     58        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5959        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    6060
  • trunk/Source/JavaScriptCore/runtime/DatePrototype.cpp

    r97015 r97537  
    444444}
    445445
    446 bool DatePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     446bool DatePrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    447447{
    448448    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/DatePrototype.h

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

    r97015 r97537  
    6363}
    6464
    65 bool ErrorPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     65bool ErrorPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    6666{
    6767    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/ErrorPrototype.h

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

    r97532 r97537  
    142142}
    143143
    144 bool JSActivation::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     144bool JSActivation::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    145145{
    146146    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/JSActivation.h

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

    r97532 r97537  
    246246}
    247247
    248 bool JSArray::getOwnPropertySlot(ExecState* exec, unsigned i, PropertySlot& slot)
     248bool JSArray::getOwnPropertySlotVirtual(ExecState* exec, unsigned i, PropertySlot& slot)
    249249{
    250250    return getOwnPropertySlot(this, exec, i, slot);
     
    258258    if (i >= storage->m_length) {
    259259        if (i > MAX_ARRAY_INDEX)
    260             return thisObject->getOwnPropertySlot(exec, Identifier::from(exec, i), slot);
     260            return thisObject->getOwnPropertySlotVirtual(exec, Identifier::from(exec, i), slot);
    261261        return false;
    262262    }
     
    281281}
    282282
    283 bool JSArray::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     283bool JSArray::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    284284{
    285285    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/JSArray.h

    r97532 r97537  
    9595        }
    9696
    97         virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
     97        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    9898        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    99         virtual bool getOwnPropertySlot(ExecState*, unsigned propertyName, PropertySlot&);
     99        virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    100100        static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    101101        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSBoundFunction.cpp

    r97015 r97537  
    9797}
    9898
    99 bool JSBoundFunction::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     99bool JSBoundFunction::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    100100{
    101101    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/JSBoundFunction.h

    r97015 r97537  
    4040    static JSBoundFunction* create(ExecState*, JSGlobalObject*, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs, int, const Identifier&);
    4141
    42     virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     42    virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    4343    static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    4444    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSByteArray.cpp

    r97532 r97537  
    5555}
    5656
    57 bool JSByteArray::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     57bool JSByteArray::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    5858{
    5959    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    8383}
    8484
    85 bool JSByteArray::getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
     85bool JSByteArray::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    8686{
    8787    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/JSByteArray.h

    r97532 r97537  
    8989        static Structure* createStructure(JSGlobalData&, JSGlobalObject*, JSValue prototype, const JSC::ClassInfo* = &s_info);
    9090
    91         virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     91        virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    9292        static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    93         virtual bool getOwnPropertySlot(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
     93        virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
    9494        static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
    9595        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSCell.cpp

    r97532 r97537  
    7070}
    7171
    72 bool JSCell::getOwnPropertySlot(ExecState* exec, const Identifier& identifier, PropertySlot& slot)
     72bool JSCell::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& identifier, PropertySlot& slot)
    7373{
    7474    return getOwnPropertySlot(this, exec, identifier, slot);
     
    8787}
    8888
    89 bool JSCell::getOwnPropertySlot(ExecState* exec, unsigned identifier, PropertySlot& slot)
     89bool JSCell::getOwnPropertySlotVirtual(ExecState* exec, unsigned identifier, PropertySlot& slot)
    9090{
    9191    return getOwnPropertySlot(this, exec, identifier, slot);
  • trunk/Source/JavaScriptCore/runtime/JSCell.h

    r97532 r97537  
    136136    private:
    137137        // Base implementation; for non-object classes implements getPropertySlot.
    138         virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
     138        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    139139        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    140         virtual bool getOwnPropertySlot(ExecState*, unsigned propertyName, PropertySlot&);
     140        virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    141141        static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    142142       
  • trunk/Source/JavaScriptCore/runtime/JSFunction.cpp

    r97532 r97537  
    198198}
    199199
    200 bool JSFunction::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     200bool JSFunction::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    201201{
    202202    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    259259    if (propertyName == exec->propertyNames().prototype) {
    260260        PropertySlot slot;
    261         getOwnPropertySlot(exec, propertyName, slot);
     261        getOwnPropertySlotVirtual(exec, propertyName, slot);
    262262        return Base::getOwnPropertyDescriptor(exec, propertyName, descriptor);
    263263    }
     
    292292        // Make sure prototype has been reified.
    293293        PropertySlot slot;
    294         getOwnPropertySlot(exec, exec->propertyNames().prototype, slot);
     294        getOwnPropertySlotVirtual(exec, exec->propertyNames().prototype, slot);
    295295
    296296        propertyNames.add(exec->propertyNames().arguments);
     
    317317        // following the rules set out in ECMA-262 8.12.9.
    318318        PropertySlot slot;
    319         thisObject->getOwnPropertySlot(exec, propertyName, slot);
     319        thisObject->getOwnPropertySlotVirtual(exec, propertyName, slot);
    320320    }
    321321    if (thisObject->jsExecutable()->isStrictMode()) {
  • trunk/Source/JavaScriptCore/runtime/JSFunction.h

    r97532 r97537  
    132132        void finishCreation(ExecState*, FunctionExecutable*, ScopeChainNode*);
    133133
    134         virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     134        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    135135        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    136136        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp

    r97532 r97537  
    424424}
    425425
    426 bool JSGlobalObject::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     426bool JSGlobalObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    427427{
    428428    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h

    r97532 r97537  
    181181        static void visitChildren(JSCell*, SlotVisitor&);
    182182
    183         virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     183        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    184184        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    185185        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
     
    343343    {
    344344        PropertySlot slot;
    345         if (JSVariableObject::getOwnPropertySlot(exec, propertyName, slot))
     345        if (JSVariableObject::getOwnPropertySlot(this, exec, propertyName, slot))
    346346            return true;
    347347        bool slotIsWriteable;
  • trunk/Source/JavaScriptCore/runtime/JSNotAnObject.cpp

    r97532 r97537  
    4646}
    4747
    48 bool JSNotAnObject::getOwnPropertySlot(ExecState* exec, const Identifier& identifier, PropertySlot& slot)
     48bool JSNotAnObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& identifier, PropertySlot& slot)
    4949{
    5050    return getOwnPropertySlot(this, exec, identifier, slot);
     
    5858}
    5959
    60 bool JSNotAnObject::getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
     60bool JSNotAnObject::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    6161{
    6262    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/JSNotAnObject.h

    r97532 r97537  
    6969
    7070        // JSObject methods
    71         virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
     71        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    7272        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    73         virtual bool getOwnPropertySlot(ExecState*, unsigned propertyName, PropertySlot&);
     73        virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    7474        static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    7575        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/JSONObject.cpp

    r97532 r97537  
    524524        else {
    525525            PropertySlot slot(m_object.get());
    526             if (!m_object->getOwnPropertySlot(exec, index, slot))
     526            if (!m_object->getOwnPropertySlotVirtual(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->getOwnPropertySlot(exec, propertyName, slot))
     544        if (!m_object->getOwnPropertySlotVirtual(exec, propertyName, slot))
    545545            return true;
    546546        JSValue value = slot.getValue(exec, propertyName);
     
    599599// ECMA 15.8
    600600
    601 bool JSONObject::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     601bool JSONObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    602602{
    603603    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    694694                else {
    695695                    PropertySlot slot;
    696                     if (array->getOwnPropertySlot(m_exec, index, slot))
     696                    if (array->getOwnPropertySlotVirtual(m_exec, index, slot))
    697697                        inValue = slot.getValue(m_exec, index);
    698698                    else
     
    756756                }
    757757                PropertySlot slot;
    758                 if (object->getOwnPropertySlot(m_exec, properties[index], slot))
     758                if (object->getOwnPropertySlotVirtual(m_exec, properties[index], slot))
    759759                    inValue = slot.getValue(m_exec, properties[index]);
    760760                else
  • trunk/Source/JavaScriptCore/runtime/JSONObject.h

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

    r97536 r97537  
    9494}
    9595
    96 bool JSObject::getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
     96bool JSObject::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    9797{
    9898    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    101101bool JSObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, unsigned propertyName, PropertySlot& slot)
    102102{
    103     return static_cast<JSObject*>(cell)->getOwnPropertySlot(exec, Identifier::from(exec, propertyName), slot);
     103    return static_cast<JSObject*>(cell)->getOwnPropertySlotVirtual(exec, Identifier::from(exec, propertyName), slot);
    104104}
    105105
     
    282282{
    283283    PropertySlot slot;
    284     return const_cast<JSObject*>(this)->getOwnPropertySlot(exec, propertyName, slot);
     284    return const_cast<JSObject*>(this)->getOwnPropertySlotVirtual(exec, propertyName, slot);
    285285}
    286286
  • trunk/Source/JavaScriptCore/runtime/JSObject.h

    r97536 r97537  
    102102        bool getPropertyDescriptor(ExecState*, const Identifier& propertyName, PropertyDescriptor&);
    103103
    104         virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
     104        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    105105        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    106         virtual bool getOwnPropertySlot(ExecState*, unsigned propertyName, PropertySlot&);
     106        virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    107107        static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    108108        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
     
    525525}
    526526
    527 ALWAYS_INLINE bool JSObject::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     527ALWAYS_INLINE bool JSObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    528528{
    529529    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    542542    if (!structure()->typeInfo().overridesGetOwnPropertySlot())
    543543        return asObject(this)->inlineGetOwnPropertySlot(exec, propertyName, slot);
    544     return getOwnPropertySlot(exec, propertyName, slot);
     544    return getOwnPropertySlotVirtual(exec, propertyName, slot);
    545545}
    546546
     
    580580    JSObject* object = this;
    581581    while (true) {
    582         if (object->getOwnPropertySlot(exec, propertyName, slot))
     582        if (object->getOwnPropertySlotVirtual(exec, propertyName, slot))
    583583            return true;
    584584        JSValue prototype = object->prototype();
     
    801801    JSCell* cell = const_cast<JSCell*>(asCell());
    802802    while (true) {
    803         if (cell->getOwnPropertySlot(exec, propertyName, slot))
     803        if (cell->getOwnPropertySlotVirtual(exec, propertyName, slot))
    804804            return slot.getValue(exec, propertyName);
    805805        JSValue prototype = asObject(cell)->prototype();
  • trunk/Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp

    r97532 r97537  
    9292}
    9393
    94 bool JSStaticScopeObject::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     94bool JSStaticScopeObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    9595{
    9696    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/JSStaticScopeObject.h

    r97532 r97537  
    4545        bool isDynamicScope(bool& requiresDynamicChecks) const;
    4646        virtual JSObject* toThisObject(ExecState*) const;
    47         virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     47        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    4848        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    4949        virtual void putVirtual(ExecState*, const Identifier&, JSValue, PutPropertySlot&);
  • trunk/Source/JavaScriptCore/runtime/JSString.cpp

    r97015 r97537  
    314314}
    315315
    316 bool JSString::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     316bool JSString::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    317317{
    318318    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    334334    for (JSValue prototype = exec->lexicalGlobalObject()->stringPrototype(); !prototype.isNull(); prototype = object->prototype()) {
    335335        object = asObject(prototype);
    336         if (object->getOwnPropertySlot(exec, propertyName, slot))
     336        if (object->getOwnPropertySlotVirtual(exec, propertyName, slot))
    337337            return true;
    338338    }
     
    368368}
    369369
    370 bool JSString::getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
     370bool JSString::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    371371{
    372372    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/JSString.h

    r97381 r97537  
    507507
    508508        // Actually getPropertySlot, not getOwnPropertySlot (see JSCell).
    509         virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
     509        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    510510        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    511         virtual bool getOwnPropertySlot(ExecState*, unsigned propertyName, PropertySlot&);
     511        virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    512512        static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    513513        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/Lookup.h

    r97536 r97537  
    271271
    272272        if (!entry) // not found, forward to parent
    273             return thisObj->ParentImp::getOwnPropertySlot(exec, propertyName, slot);
     273            return ParentImp::getOwnPropertySlot(thisObj, exec, propertyName, slot);
    274274
    275275        if (entry->attributes() & Function)
     
    309309    inline bool getStaticFunctionSlot(ExecState* exec, const HashTable* table, JSObject* thisObj, const Identifier& propertyName, PropertySlot& slot)
    310310    {
    311         if (static_cast<ParentImp*>(thisObj)->ParentImp::getOwnPropertySlot(exec, propertyName, slot))
     311        if (ParentImp::getOwnPropertySlot(thisObj, exec, propertyName, slot))
    312312            return true;
    313313
     
    351351
    352352        if (!entry) // not found, forward to parent
    353             return thisObj->ParentImp::getOwnPropertySlot(exec, propertyName, slot);
     353            return ParentImp::getOwnPropertySlot(thisObj, exec, propertyName, slot);
    354354
    355355        ASSERT(!(entry->attributes() & Function));
  • trunk/Source/JavaScriptCore/runtime/MathObject.cpp

    r97015 r97537  
    105105}
    106106
    107 bool MathObject::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     107bool MathObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    108108{
    109109    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/MathObject.h

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

    r97436 r97537  
    7272}
    7373
    74 bool NumberConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     74bool NumberConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    7575{
    7676    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/NumberConstructor.h

    r97436 r97537  
    3939        }
    4040
    41         virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     41        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    4242        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    4343        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/NumberPrototype.cpp

    r97015 r97537  
    8484}
    8585
    86 bool NumberPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     86bool NumberPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    8787{
    8888    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/NumberPrototype.h

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

    r97436 r97537  
    9090}
    9191
    92 bool ObjectConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     92bool ObjectConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    9393{
    9494    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/ObjectConstructor.h

    r97436 r97537  
    3939        }
    4040
    41         virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     41        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    4242        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    4343        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/ObjectPrototype.cpp

    r97532 r97537  
    9393}
    9494
    95 bool ObjectPrototype::getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
     95bool ObjectPrototype::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    9696{
    9797    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    106106}
    107107
    108 bool ObjectPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     108bool ObjectPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    109109{
    110110    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/ObjectPrototype.h

    r97532 r97537  
    5454        static void put(JSCell*, ExecState*, const Identifier&, JSValue, PutPropertySlot&);
    5555
    56         virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     56        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5757        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    58         virtual bool getOwnPropertySlot(ExecState*, unsigned propertyName, PropertySlot&);
     58        virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    5959        static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    6060        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp

    r97532 r97537  
    203203}
    204204   
    205 bool RegExpConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     205bool RegExpConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    206206{
    207207    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/RegExpConstructor.h

    r97532 r97537  
    7575        static void put(JSCell*, ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&);
    7676
    77         virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
     77        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    7878        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    7979        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/RegExpMatchesArray.h

    r97532 r97537  
    4444
    4545    private:
    46         virtual bool getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     46        virtual bool getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    4747        {
    4848            return getOwnPropertySlot(this, exec, propertyName, slot);
     
    5757        }
    5858
    59         virtual bool getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
     59        virtual bool getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    6060        {
    6161            return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/RegExpObject.cpp

    r97532 r97537  
    9292}
    9393
    94 bool RegExpObject::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     94bool RegExpObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    9595{
    9696    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/RegExpObject.h

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

    r97015 r97537  
    6868}
    6969
    70 bool RegExpPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     70bool RegExpPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    7171{
    7272    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/RegExpPrototype.h

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

    r97436 r97537  
    6060}
    6161
    62 bool StringConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     62bool StringConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    6363{
    6464    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/StringConstructor.h

    r97436 r97537  
    5656        static CallType getCallData(JSCell*, CallData&);
    5757
    58         virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     58        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5959        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    6060        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/StringObject.cpp

    r97532 r97537  
    4242}
    4343
    44 bool StringObject::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     44bool StringObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    4545{
    4646    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    5555}
    5656   
    57 bool StringObject::getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
     57bool StringObject::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)
    5858{
    5959    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/StringObject.h

    r97532 r97537  
    4747        static StringObject* create(ExecState*, JSGlobalObject*, JSString*);
    4848
    49         virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
     49        virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    5050        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    51         virtual bool getOwnPropertySlot(ExecState*, unsigned propertyName, PropertySlot&);
     51        virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&);
    5252        static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
    5353        virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp

    r97532 r97537  
    146146}
    147147
    148 bool StringPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     148bool StringPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    149149{
    150150    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptCore/runtime/StringPrototype.h

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

    r97532 r97537  
     12011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
     2
     3        Rename getOwnPropertySlot to getOwnPropertySlotVirtual
     4        https://bugs.webkit.org/show_bug.cgi?id=69810
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
     9        in preparation for when we add the static getOwnPropertySlot to the MethodTable
     10        in ClassInfo.
     11
     12        Also added a few static getOwnPropertySlot functions where they had been overlooked
     13        before (especially in CodeGeneratorJS.pm).
     14
     15        * UserObjectImp.cpp:
     16        (UserObjectImp::getOwnPropertySlotVirtual):
     17        * UserObjectImp.h:
     18
    1192011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
    220
  • trunk/Source/JavaScriptGlue/UserObjectImp.cpp

    r97532 r97537  
    124124}
    125125
    126 bool UserObjectImp::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
     126bool UserObjectImp::getOwnPropertySlotVirtual(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
    127127{
    128128    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/JavaScriptGlue/UserObjectImp.h

    r97532 r97537  
    5555
    5656    virtual JSValue callAsFunction(ExecState *exec);
    57     virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
     57    virtual bool getOwnPropertySlotVirtual(ExecState *, const Identifier&, PropertySlot&);
    5858    static bool getOwnPropertySlot(JSCell*, ExecState *, const Identifier&, PropertySlot&);
    5959    virtual void putVirtual(ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&);
  • trunk/Source/WebCore/ChangeLog

    r97534 r97537  
     12011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
     2
     3        Rename getOwnPropertySlot to getOwnPropertySlotVirtual
     4        https://bugs.webkit.org/show_bug.cgi?id=69810
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        No new tests.
     9
     10        Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
     11        in preparation for when we add the static getOwnPropertySlot to the MethodTable
     12        in ClassInfo.
     13
     14        Also added a few static getOwnPropertySlot functions where they had been overlooked
     15        before (especially in CodeGeneratorJS.pm).
     16
     17        * WebCore.exp.in:
     18        * bindings/js/JSDOMWindowCustom.cpp:
     19        (WebCore::JSDOMWindow::getOwnPropertySlotVirtual):
     20        (WebCore::JSDOMWindow::getOwnPropertySlot):
     21        (WebCore::DialogHandler::returnValue):
     22        * bindings/js/JSDOMWindowShell.cpp:
     23        (WebCore::JSDOMWindowShell::getOwnPropertySlotVirtual):
     24        (WebCore::JSDOMWindowShell::getOwnPropertySlot):
     25        * bindings/js/JSDOMWindowShell.h:
     26        * bindings/js/JSWorkerContextCustom.cpp:
     27        (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
     28        * bindings/js/SerializedScriptValue.cpp:
     29        (WebCore::CloneSerializer::getSparseIndex):
     30        (WebCore::CloneSerializer::getProperty):
     31        * bindings/scripts/CodeGeneratorJS.pm:
     32        (GenerateGetOwnPropertySlotBody):
     33        (GenerateHeader):
     34        (GenerateImplementation):
     35        (GenerateConstructorDeclaration):
     36        (GenerateConstructorDefinition):
     37        * bindings/scripts/test/JS/JSTestInterface.cpp:
     38        (WebCore::JSTestInterfaceConstructor::getOwnPropertySlotVirtual):
     39        (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
     40        (WebCore::JSTestInterface::getOwnPropertySlotVirtual):
     41        (WebCore::JSTestInterface::getOwnPropertySlot):
     42        * bindings/scripts/test/JS/JSTestInterface.h:
     43        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
     44        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlotVirtual):
     45        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
     46        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlotVirtual):
     47        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
     48        (WebCore::JSTestMediaQueryListListener::getOwnPropertySlotVirtual):
     49        (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
     50        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
     51        * bindings/scripts/test/JS/JSTestObj.cpp:
     52        (WebCore::JSTestObjConstructor::getOwnPropertySlotVirtual):
     53        (WebCore::JSTestObjConstructor::getOwnPropertySlot):
     54        (WebCore::JSTestObjPrototype::getOwnPropertySlotVirtual):
     55        (WebCore::JSTestObjPrototype::getOwnPropertySlot):
     56        (WebCore::JSTestObj::getOwnPropertySlotVirtual):
     57        (WebCore::JSTestObj::getOwnPropertySlot):
     58        * bindings/scripts/test/JS/JSTestObj.h:
     59        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
     60        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlotVirtual):
     61        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
     62        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlotVirtual):
     63        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
     64        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
     65        * bridge/objc/objc_runtime.h:
     66        * bridge/objc/objc_runtime.mm:
     67        (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlotVirtual):
     68        * bridge/qt/qt_instance.cpp:
     69        (JSC::Bindings::QtInstance::getOwnPropertySlot):
     70        * bridge/qt/qt_runtime.cpp:
     71        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlotVirtual):
     72        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlotVirtual):
     73        * bridge/qt/qt_runtime.h:
     74        * bridge/runtime_array.cpp:
     75        (JSC::RuntimeArray::getOwnPropertySlotVirtual):
     76        * bridge/runtime_array.h:
     77        * bridge/runtime_method.cpp:
     78        (JSC::RuntimeMethod::getOwnPropertySlotVirtual):
     79        * bridge/runtime_method.h:
     80        * bridge/runtime_object.cpp:
     81        (JSC::Bindings::RuntimeObject::getOwnPropertySlotVirtual):
     82        * bridge/runtime_object.h:
     83
    1842011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
    285
  • trunk/Source/WebCore/WebCore.exp.in

    r97532 r97537  
    16861686__ZN3JSC13RuntimeMethod11getCallDataEPNS_6JSCellERNS_8CallDataE
    16871687__ZN3JSC13RuntimeMethod14finishCreationERNS_12JSGlobalDataERKNS_10IdentifierE
    1688 __ZN3JSC13RuntimeMethod18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
     1688__ZN3JSC13RuntimeMethod18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    16891689__ZN3JSC13RuntimeMethod24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
     1690__ZN3JSC13RuntimeMethod25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    16901691__ZN3JSC13RuntimeMethod6s_infoE
    16911692__ZN3JSC13RuntimeMethodC2EPNS_14JSGlobalObjectEPNS_9StructureERN3WTF6VectorIPNS_8Bindings6MethodELm0EEE
     
    16941695__ZN3JSC8Bindings13RuntimeObject11getCallDataEPNS_6JSCellERNS_8CallDataE
    16951696__ZN3JSC8Bindings13RuntimeObject14finishCreationEPNS_14JSGlobalObjectE
    1696 __ZN3JSC8Bindings13RuntimeObject18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
     1697__ZN3JSC8Bindings13RuntimeObject18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    16971698__ZN3JSC8Bindings13RuntimeObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE
    16981699__ZN3JSC8Bindings13RuntimeObject23getConstructDataVirtualERNS_13ConstructDataE
    16991700__ZN3JSC8Bindings13RuntimeObject21deletePropertyVirtualEPNS_9ExecStateERKNS_10IdentifierE
    17001701__ZN3JSC8Bindings13RuntimeObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
     1702__ZN3JSC8Bindings13RuntimeObject25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
    17011703__ZN3JSC8Bindings13RuntimeObject6s_infoE
    17021704__ZN3JSC8Bindings13RuntimeObjectC2EPNS_9ExecStateEPNS_14JSGlobalObjectEPNS_9StructureEN3WTF10PassRefPtrINS0_8InstanceEEE
  • trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp

    r97532 r97537  
    122122}
    123123
    124 bool JSDOMWindow::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    125 {
     124bool JSDOMWindow::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     125{
     126    return getOwnPropertySlot(this, exec, propertyName, slot);
     127}
     128
     129bool JSDOMWindow::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     130{
     131    JSDOMWindow* thisObject = static_cast<JSDOMWindow*>(cell);
    126132    // When accessing a Window cross-domain, functions are always the native built-in ones, and they
    127133    // are not affected by properties changed on the Window or anything in its prototype chain.
     
    133139    // or whose iframe got removed).
    134140    // FIXME: This doesn't fully match Firefox, which allows at least toString in addition to those.
    135     if (!impl()->frame()) {
     141    if (!thisObject->impl()->frame()) {
    136142        // The following code is safe for cross-domain and same domain use.
    137143        // It ignores any custom properties that might be set on the DOMWindow (including a custom prototype).
    138144        entry = s_info.propHashTable(exec)->entry(exec, propertyName);
    139145        if (entry && !(entry->attributes() & Function) && entry->propertyGetter() == jsDOMWindowClosed) {
    140             slot.setCustom(this, entry->propertyGetter());
     146            slot.setCustom(thisObject, entry->propertyGetter());
    141147            return true;
    142148        }
    143149        entry = JSDOMWindowPrototype::s_info.propHashTable(exec)->entry(exec, propertyName);
    144150        if (entry && (entry->attributes() & Function) && entry->function() == jsDOMWindowPrototypeFunctionClose) {
    145             slot.setCustom(this, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionClose, 0>);
     151            slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionClose, 0>);
    146152            return true;
    147153        }
     
    157163    // is allowed.
    158164    String errorMessage;
    159     bool allowsAccess = allowsAccessFrom(exec, errorMessage);
     165    bool allowsAccess = thisObject->allowsAccessFrom(exec, errorMessage);
    160166
    161167    // Look for overrides before looking at any of our own properties, but ignore overrides completely
    162168    // if this is cross-domain access.
    163     if (allowsAccess && JSGlobalObject::getOwnPropertySlot(exec, propertyName, slot))
     169    if (allowsAccess && JSGlobalObject::getOwnPropertySlot(thisObject, exec, propertyName, slot))
    164170        return true;
    165171
     
    173179            if (entry->function() == jsDOMWindowPrototypeFunctionBlur) {
    174180                if (!allowsAccess) {
    175                     slot.setCustom(this, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionBlur, 0>);
     181                    slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionBlur, 0>);
    176182                    return true;
    177183                }
    178184            } else if (entry->function() == jsDOMWindowPrototypeFunctionClose) {
    179185                if (!allowsAccess) {
    180                     slot.setCustom(this, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionClose, 0>);
     186                    slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionClose, 0>);
    181187                    return true;
    182188                }
    183189            } else if (entry->function() == jsDOMWindowPrototypeFunctionFocus) {
    184190                if (!allowsAccess) {
    185                     slot.setCustom(this, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionFocus, 0>);
     191                    slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionFocus, 0>);
    186192                    return true;
    187193                }
    188194            } else if (entry->function() == jsDOMWindowPrototypeFunctionPostMessage) {
    189195                if (!allowsAccess) {
    190                     slot.setCustom(this, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionPostMessage, 2>);
     196                    slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionPostMessage, 2>);
    191197                    return true;
    192198                }
    193199            } else if (entry->function() == jsDOMWindowPrototypeFunctionShowModalDialog) {
    194                 if (!DOMWindow::canShowModalDialog(impl()->frame())) {
     200                if (!DOMWindow::canShowModalDialog(thisObject->impl()->frame())) {
    195201                    slot.setUndefined();
    196202                    return true;
     
    202208        if (propertyName == exec->propertyNames().toString) {
    203209            if (!allowsAccess) {
    204                 slot.setCustom(this, objectToStringFunctionGetter);
     210                slot.setCustom(thisObject, objectToStringFunctionGetter);
    205211                return true;
    206212            }
     
    210216    entry = JSDOMWindow::s_info.propHashTable(exec)->entry(exec, propertyName);
    211217    if (entry) {
    212         slot.setCustom(this, entry->propertyGetter());
     218        slot.setCustom(thisObject, entry->propertyGetter());
    213219        return true;
    214220    }
     
    219225    // are in Moz but not IE. Since we have some of these, we have to do
    220226    // it the Moz way.
    221     if (impl()->frame()->tree()->child(identifierToAtomicString(propertyName))) {
    222         slot.setCustom(this, childFrameGetter);
     227    if (thisObject->impl()->frame()->tree()->child(identifierToAtomicString(propertyName))) {
     228        slot.setCustom(thisObject, childFrameGetter);
    223229        return true;
    224230    }
     
    226232    // Do prototype lookup early so that functions and attributes in the prototype can have
    227233    // precedence over the index and name getters. 
    228     JSValue proto = prototype();
     234    JSValue proto = thisObject->prototype();
    229235    if (proto.isObject()) {
    230236        if (asObject(proto)->getPropertySlot(exec, propertyName, slot)) {
    231237            if (!allowsAccess) {
    232                 printErrorMessage(errorMessage);
     238                thisObject->printErrorMessage(errorMessage);
    233239                slot.setUndefined();
    234240            }
     
    243249    bool ok;
    244250    unsigned i = propertyName.toArrayIndex(ok);
    245     if (ok && i < impl()->frame()->tree()->childCount()) {
    246         slot.setCustomIndex(this, i, indexGetter);
     251    if (ok && i < thisObject->impl()->frame()->tree()->childCount()) {
     252        slot.setCustomIndex(thisObject, i, indexGetter);
    247253        return true;
    248254    }
    249255
    250256    if (!allowsAccess) {
    251         printErrorMessage(errorMessage);
     257        thisObject->printErrorMessage(errorMessage);
    252258        slot.setUndefined();
    253259        return true;
     
    255261
    256262    // Allow shortcuts like 'Image1' instead of document.images.Image1
    257     Document* document = impl()->frame()->document();
     263    Document* document = thisObject->impl()->frame()->document();
    258264    if (document->isHTMLDocument()) {
    259265        AtomicStringImpl* atomicPropertyName = findAtomicString(propertyName);
    260266        if (atomicPropertyName && (static_cast<HTMLDocument*>(document)->hasNamedItem(atomicPropertyName) || document->hasElementWithId(atomicPropertyName))) {
    261             slot.setCustom(this, namedItemGetter);
     267            slot.setCustom(thisObject, namedItemGetter);
    262268            return true;
    263269        }
    264270    }
    265271
    266     return Base::getOwnPropertySlot(exec, propertyName, slot);
     272    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);
    267273}
    268274
     
    684690    Identifier identifier(m_exec, "returnValue");
    685691    PropertySlot slot;
    686     if (!globalObject->getOwnPropertySlot(m_exec, identifier, slot))
     692    if (!globalObject->getOwnPropertySlotVirtual(m_exec, identifier, slot))
    687693        return jsUndefined();
    688694    return slot.getValue(m_exec, identifier);
  • trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp

    r97532 r97537  
    101101}
    102102
    103 bool JSDOMWindowShell::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     103bool JSDOMWindowShell::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    104104{
    105105    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    108108bool JSDOMWindowShell::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    109109{
    110     return static_cast<JSDOMWindowShell*>(cell)->m_window->getOwnPropertySlot(exec, propertyName, slot);
     110    return static_cast<JSDOMWindowShell*>(cell)->m_window->getOwnPropertySlotVirtual(exec, propertyName, slot);
    111111}
    112112
  • trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h

    r97532 r97537  
    8181        static void visitChildren(JSC::JSCell*, JSC::SlotVisitor&);
    8282        virtual JSC::UString className() const;
    83         virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     83        virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    8484        static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    8585        virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
  • trunk/Source/WebCore/bindings/js/JSWorkerContextCustom.cpp

    r96346 r97537  
    7373{
    7474    // Look for overrides before looking at any of our own properties.
    75     if (JSGlobalObject::getOwnPropertySlot(exec, propertyName, slot))
     75    if (JSGlobalObject::getOwnPropertySlot(this, exec, propertyName, slot))
    7676        return true;
    7777    return false;
  • trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp

    r97532 r97537  
    334334        PropertySlot slot(array);
    335335        if (isJSArray(&m_exec->globalData(), array)) {
    336             if (array->JSArray::getOwnPropertySlot(m_exec, propertyName, slot)) {
     336            if (JSArray::getOwnPropertySlot(array, m_exec, propertyName, slot)) {
    337337                hasIndex = true;
    338338                return slot.getValue(m_exec, propertyName);
    339339            }
    340         } else if (array->getOwnPropertySlot(m_exec, propertyName, slot)) {
     340        } else if (array->getOwnPropertySlotVirtual(m_exec, propertyName, slot)) {
    341341            hasIndex = true;
    342342            return slot.getValue(m_exec, propertyName);
     
    349349    {
    350350        PropertySlot slot(object);
    351         if (object->getOwnPropertySlot(m_exec, propertyName, slot))
     351        if (object->getOwnPropertySlotVirtual(m_exec, propertyName, slot))
    352352            return slot.getValue(m_exec, propertyName);
    353353        return JSValue();
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r97532 r97537  
    431431
    432432    if ($interfaceName eq "NamedNodeMap" or $interfaceName eq "HTMLCollection" or $interfaceName eq "HTMLAllCollection") {
    433         push(@getOwnPropertySlotImpl, "    ${namespaceMaybe}JSValue proto = prototype();\n");
     433        push(@getOwnPropertySlotImpl, "    ${namespaceMaybe}JSValue proto = thisObject->prototype();\n");
    434434        push(@getOwnPropertySlotImpl, "    if (proto.isObject() && static_cast<${namespaceMaybe}JSObject*>(asObject(proto))->hasProperty(exec, propertyName))\n");
    435435        push(@getOwnPropertySlotImpl, "        return false;\n\n");
     
    441441            push(@getOwnPropertySlotImpl, "    const ${namespaceMaybe}HashEntry* entry = ${className}Table.entry(exec, propertyName);\n");
    442442            push(@getOwnPropertySlotImpl, "    if (entry) {\n");
    443             push(@getOwnPropertySlotImpl, "        slot.setCustom(this, entry->propertyGetter());\n");
     443            push(@getOwnPropertySlotImpl, "        slot.setCustom(thisObject, entry->propertyGetter());\n");
    444444            push(@getOwnPropertySlotImpl, "        return true;\n");
    445445            push(@getOwnPropertySlotImpl, "    }\n");
     
    460460            push(@getOwnPropertySlotImpl, "    if (ok) {\n");
    461461        } else {
    462             push(@getOwnPropertySlotImpl, "    if (ok && index < static_cast<$implClassName*>(impl())->length()) {\n");
     462            push(@getOwnPropertySlotImpl, "    if (ok && index < static_cast<$implClassName*>(thisObject->impl())->length()) {\n");
    463463        }
    464464        if ($dataNode->extendedAttributes->{"HasCustomIndexGetter"} || $dataNode->extendedAttributes->{"HasNumericIndexGetter"}) {
    465             push(@getOwnPropertySlotImpl, "        slot.setValue(getByIndex(exec, index));\n");
     465            push(@getOwnPropertySlotImpl, "        slot.setValue(thisObject->getByIndex(exec, index));\n");
    466466        } else {
    467             push(@getOwnPropertySlotImpl, "        slot.setCustomIndex(this, index, indexGetter);\n");
     467            push(@getOwnPropertySlotImpl, "        slot.setCustomIndex(thisObject, index, indexGetter);\n");
    468468        }
    469469        push(@getOwnPropertySlotImpl, "        return true;\n");
     
    472472
    473473    if ($dataNode->extendedAttributes->{"HasNameGetter"} || $dataNode->extendedAttributes->{"HasOverridingNameGetter"}) {
    474         push(@getOwnPropertySlotImpl, "    if (canGetItemsForName(exec, static_cast<$implClassName*>(impl()), propertyName)) {\n");
    475         push(@getOwnPropertySlotImpl, "        slot.setCustom(this, nameGetter);\n");
     474        push(@getOwnPropertySlotImpl, "    if (canGetItemsForName(exec, static_cast<$implClassName*>(thisObject->impl()), propertyName)) {\n");
     475        push(@getOwnPropertySlotImpl, "        slot.setCustom(thisObject, thisObject->nameGetter);\n");
    476476        push(@getOwnPropertySlotImpl, "        return true;\n");
    477477        push(@getOwnPropertySlotImpl, "    }\n");
     
    488488
    489489    if ($dataNode->extendedAttributes->{"DelegatingGetOwnPropertySlot"}) {
    490         push(@getOwnPropertySlotImpl, "    if (getOwnPropertySlotDelegate(exec, propertyName, slot))\n");
     490        push(@getOwnPropertySlotImpl, "    if (thisObject->getOwnPropertySlotDelegate(exec, propertyName, slot))\n");
    491491        push(@getOwnPropertySlotImpl, "        return true;\n");
    492492    }
     
    495495        if ($inlined) {
    496496            die "Cannot inline if NoStaticTables is set." if ($dataNode->extendedAttributes->{"NoStaticTables"});
    497             push(@getOwnPropertySlotImpl, "    return ${namespaceMaybe}getStaticValueSlot<$className, Base>(exec, s_info.staticPropHashTable, this, propertyName, slot);\n");
     497            push(@getOwnPropertySlotImpl, "    return ${namespaceMaybe}getStaticValueSlot<$className, Base>(exec, s_info.staticPropHashTable, thisObject, propertyName, slot);\n");
    498498        } else {
    499             push(@getOwnPropertySlotImpl, "    return ${namespaceMaybe}getStaticValueSlot<$className, Base>(exec, " . hashTableAccessor($dataNode->extendedAttributes->{"NoStaticTables"}, $className) . ", this, propertyName, slot);\n");
     499            push(@getOwnPropertySlotImpl, "    return ${namespaceMaybe}getStaticValueSlot<$className, Base>(exec, " . hashTableAccessor($dataNode->extendedAttributes->{"NoStaticTables"}, $className) . ", thisObject, propertyName, slot);\n");
    500500        }
    501501    } else {
    502         push(@getOwnPropertySlotImpl, "    return Base::getOwnPropertySlot(exec, propertyName, slot);\n");
     502        push(@getOwnPropertySlotImpl, "    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);\n");
    503503    }
    504504
     
    771771    # Getters
    772772    if ($hasGetter) {
    773         push(@headerContent, "    virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);\n");
     773        push(@headerContent, "    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);\n");
     774        push(@headerContent, "    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);\n");
    774775        push(@headerContent, "    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);\n");
    775         push(@headerContent, "    virtual bool getOwnPropertySlot(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);\n") if ($dataNode->extendedAttributes->{"HasIndexGetter"} || $dataNode->extendedAttributes->{"HasCustomIndexGetter"} || $dataNode->extendedAttributes->{"HasNumericIndexGetter"}) && !$dataNode->extendedAttributes->{"HasOverridingNameGetter"};
     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"};
     777        push(@headerContent, "    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);\n") if ($dataNode->extendedAttributes->{"HasIndexGetter"} || $dataNode->extendedAttributes->{"HasCustomIndexGetter"} || $dataNode->extendedAttributes->{"HasNumericIndexGetter"}) && !$dataNode->extendedAttributes->{"HasOverridingNameGetter"};
    776778        push(@headerContent, "    bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n") if $dataNode->extendedAttributes->{"DelegatingGetOwnPropertySlot"};
    777779        push(@headerContent, "    bool getOwnPropertyDescriptorDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);\n") if $dataNode->extendedAttributes->{"DelegatingGetOwnPropertySlot"};
     
    968970
    969971    if ($dataNode->extendedAttributes->{"InlineGetOwnPropertySlot"} && !$dataNode->extendedAttributes->{"CustomGetOwnPropertySlot"}) {
    970         push(@headerContent, "ALWAYS_INLINE bool ${className}::getOwnPropertySlot(JSC::ExecState* exec, const JSC::Identifier& propertyName, JSC::PropertySlot& slot)\n");
     972        push(@headerContent, "ALWAYS_INLINE bool ${className}::getOwnPropertySlotVirtual(JSC::ExecState* exec, const JSC::Identifier& propertyName, JSC::PropertySlot& slot)\n");
    971973        push(@headerContent, "{\n");
    972         push(@headerContent, "    ASSERT_GC_OBJECT_INHERITS(this, &s_info);\n");
     974        push(@headerContent, "    return getOwnPropertySlot(this, exec, propertyName, slot);\n");
     975        push(@headerContent, "}\n\n");
     976        push(@headerContent, "ALWAYS_INLINE bool ${className}::getOwnPropertySlot(JSC::JSCell* cell, JSC::ExecState* exec, const JSC::Identifier& propertyName, JSC::PropertySlot& slot)\n");
     977        push(@headerContent, "{\n");
     978        push(@headerContent, "    ${className}* thisObject = static_cast<${className}*>(cell);\n");
     979        push(@headerContent, "    ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
    973980        push(@headerContent, GenerateGetOwnPropertySlotBody($dataNode, $interfaceName, $className, $implClassName, $numAttributes > 0, 1));
    974981        push(@headerContent, "}\n\n");
     
    10361043    push(@headerContent, "    static const JSC::ClassInfo s_info;\n");
    10371044    if ($numFunctions > 0 || $numConstants > 0 || $dataNode->extendedAttributes->{"DelegatingPrototypeGetOwnPropertySlot"}) {
    1038         push(@headerContent, "    virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n");
     1045        push(@headerContent, "    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n");
     1046        push(@headerContent, "    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n");
    10391047        push(@headerContent, "    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);\n");
    10401048        push(@headerContent, "    bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n") if $dataNode->extendedAttributes->{"DelegatingPrototypeGetOwnPropertySlot"};
     
    14341442    }
    14351443    if ($numConstants > 0 || $numFunctions > 0 || $dataNode->extendedAttributes->{"DelegatingPrototypeGetOwnPropertySlot"}) {
    1436         push(@implContent, "bool ${className}Prototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
     1444        push(@implContent, "bool ${className}Prototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
    14371445        push(@implContent, "{\n");
     1446        push(@implContent, "    return getOwnPropertySlot(this, exec, propertyName, slot);\n");
     1447        push(@implContent, "}\n\n");
     1448       
     1449        push(@implContent, "bool ${className}Prototype::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
     1450        push(@implContent, "{\n");
     1451        push(@implContent, "    ${className}Prototype* thisObject = static_cast<${className}Prototype*>(cell);\n");
    14381452
    14391453        if ($dataNode->extendedAttributes->{"DelegatingPrototypeGetOwnPropertySlot"}) {
    1440             push(@implContent, "    if (getOwnPropertySlotDelegate(exec, propertyName, slot))\n");
     1454            push(@implContent, "    if (thisObject->getOwnPropertySlotDelegate(exec, propertyName, slot))\n");
    14411455            push(@implContent, "        return true;\n");
    14421456        }
    14431457
    14441458        if ($numConstants eq 0 && $numFunctions eq 0) {
    1445             push(@implContent, "    return Base::getOwnPropertySlot(exec, propertyName, slot);\n");       
     1459            push(@implContent, "    return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);\n");       
    14461460        } elsif ($numConstants eq 0) {
    1447             push(@implContent, "    return getStaticFunctionSlot<JSObject>(exec, " . prototypeHashTableAccessor($dataNode->extendedAttributes->{"NoStaticTables"}, $className) . ", this, propertyName, slot);\n");
     1461            push(@implContent, "    return getStaticFunctionSlot<JSObject>(exec, " . prototypeHashTableAccessor($dataNode->extendedAttributes->{"NoStaticTables"}, $className) . ", thisObject, propertyName, slot);\n");
    14481462        } elsif ($numFunctions eq 0) {
    1449             push(@implContent, "    return getStaticValueSlot<${className}Prototype, JSObject>(exec, " . prototypeHashTableAccessor($dataNode->extendedAttributes->{"NoStaticTables"}, $className) . ", this, propertyName, slot);\n");
     1463            push(@implContent, "    return getStaticValueSlot<${className}Prototype, JSObject>(exec, " . prototypeHashTableAccessor($dataNode->extendedAttributes->{"NoStaticTables"}, $className) . ", thisObject, propertyName, slot);\n");
    14501464        } else {
    1451             push(@implContent, "    return getStaticPropertySlot<${className}Prototype, JSObject>(exec, " . prototypeHashTableAccessor($dataNode->extendedAttributes->{"NoStaticTables"}, $className) . ", this, propertyName, slot);\n");
     1465            push(@implContent, "    return getStaticPropertySlot<${className}Prototype, JSObject>(exec, " . prototypeHashTableAccessor($dataNode->extendedAttributes->{"NoStaticTables"}, $className) . ", thisObject, propertyName, slot);\n");
    14521466        }
    14531467        push(@implContent, "}\n\n");
     
    15731587    if ($hasGetter) {
    15741588        if (!$dataNode->extendedAttributes->{"InlineGetOwnPropertySlot"} && !$dataNode->extendedAttributes->{"CustomGetOwnPropertySlot"}) {
    1575             push(@implContent, "bool ${className}::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
     1589            push(@implContent, "bool ${className}::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
    15761590            push(@implContent, "{\n");
    1577             push(@implContent, "    ASSERT_GC_OBJECT_INHERITS(this, &s_info);\n");
     1591            push(@implContent, "    return getOwnPropertySlot(this, exec, propertyName, slot);\n");
     1592            push(@implContent, "}\n\n");
     1593            push(@implContent, "bool ${className}::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
     1594            push(@implContent, "{\n");
     1595            push(@implContent, "    ${className}* thisObject = static_cast<${className}*>(cell);\n");
     1596            push(@implContent, "    ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
    15781597            push(@implContent, GenerateGetOwnPropertySlotBody($dataNode, $interfaceName, $className, $implClassName, $numAttributes > 0, 0));
    15791598            push(@implContent, "}\n\n");
     
    15871606        if (($dataNode->extendedAttributes->{"HasIndexGetter"} || $dataNode->extendedAttributes->{"HasCustomIndexGetter"} || $dataNode->extendedAttributes->{"HasNumericIndexGetter"})
    15881607                && !$dataNode->extendedAttributes->{"HasOverridingNameGetter"}) {
    1589             push(@implContent, "bool ${className}::getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)\n");
     1608            push(@implContent, "bool ${className}::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot)\n");
    15901609            push(@implContent, "{\n");
    1591             push(@implContent, "    ASSERT_GC_OBJECT_INHERITS(this, &s_info);\n");
    1592             push(@implContent, "    if (propertyName < static_cast<$implClassName*>(impl())->length()) {\n");
     1610            push(@implContent, "    return getOwnPropertySlot(this, exec, propertyName, slot);\n");
     1611            push(@implContent, "}\n\n");
     1612            push(@implContent, "bool ${className}::getOwnPropertySlot(JSCell* cell, ExecState* exec, unsigned propertyName, PropertySlot& slot)\n");
     1613            push(@implContent, "{\n");
     1614            push(@implContent, "    ${className}* thisObject = static_cast<${className}*>(cell);\n");
     1615            push(@implContent, "    ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);\n");
     1616            push(@implContent, "    if (propertyName < static_cast<$implClassName*>(thisObject->impl())->length()) {\n");
    15931617            if ($dataNode->extendedAttributes->{"HasCustomIndexGetter"} || $dataNode->extendedAttributes->{"HasNumericIndexGetter"}) {
    1594                 push(@implContent, "        slot.setValue(getByIndex(exec, propertyName));\n");
     1618                push(@implContent, "        slot.setValue(thisObject->getByIndex(exec, propertyName));\n");
    15951619            } else {
    1596                 push(@implContent, "        slot.setCustomIndex(this, propertyName, indexGetter);\n");
     1620                push(@implContent, "        slot.setCustomIndex(thisObject, propertyName, thisObject->indexGetter);\n");
    15971621            }
    15981622            push(@implContent, "        return true;\n");
    15991623            push(@implContent, "    }\n");
    1600             push(@implContent, "    return getOwnPropertySlot(exec, Identifier::from(exec, propertyName), slot);\n");
     1624            push(@implContent, "    return thisObject->getOwnPropertySlotVirtual(exec, Identifier::from(exec, propertyName), slot);\n");
    16011625            push(@implContent, "}\n\n");
    16021626        }
     
    31573181    push(@$outputArray, "    }\n\n");
    31583182
    3159     push(@$outputArray, "    virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n");
     3183    push(@$outputArray, "    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n");
     3184    push(@$outputArray, "    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n");
    31603185    push(@$outputArray, "    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);\n");
    31613186    push(@$outputArray, "    static const JSC::ClassInfo s_info;\n");
     
    32123237    push(@$outputArray, "}\n\n");
    32133238
    3214     push(@$outputArray, "bool ${constructorClassName}::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
     3239    push(@$outputArray, "bool ${constructorClassName}::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
    32153240    push(@$outputArray, "{\n");
    3216     push(@$outputArray, "    return getStaticValueSlot<${constructorClassName}, JSDOMWrapper>(exec, &${constructorClassName}Table, this, propertyName, slot);\n");
     3241    push(@$outputArray, "    return getOwnPropertySlot(this, exec, propertyName, slot);\n");
     3242    push(@$outputArray, "}\n\n");
     3243   
     3244    push(@$outputArray, "bool ${constructorClassName}::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)\n");
     3245    push(@$outputArray, "{\n");
     3246    push(@$outputArray, "    return getStaticValueSlot<${constructorClassName}, JSDOMWrapper>(exec, &${constructorClassName}Table, static_cast<${constructorClassName}*>(cell), propertyName, slot);\n");
    32173247    push(@$outputArray, "}\n\n");
    32183248
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp

    r97436 r97537  
    8787    }
    8888
    89     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     89    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     90    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
    9091    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
    9192    static const JSC::ClassInfo s_info;
     
    115116}
    116117
    117 bool JSTestInterfaceConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    118 {
    119     return getStaticValueSlot<JSTestInterfaceConstructor, JSDOMWrapper>(exec, &JSTestInterfaceConstructorTable, this, propertyName, slot);
     118bool JSTestInterfaceConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     119{
     120    return getOwnPropertySlot(this, exec, propertyName, slot);
     121}
     122
     123bool JSTestInterfaceConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     124{
     125    return getStaticValueSlot<JSTestInterfaceConstructor, JSDOMWrapper>(exec, &JSTestInterfaceConstructorTable, static_cast<JSTestInterfaceConstructor*>(cell), propertyName, slot);
    120126}
    121127
     
    189195}
    190196
    191 bool JSTestInterface::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    192 {
    193     ASSERT_GC_OBJECT_INHERITS(this, &s_info);
    194     return getStaticValueSlot<JSTestInterface, Base>(exec, &JSTestInterfaceTable, this, propertyName, slot);
     197bool JSTestInterface::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     198{
     199    return getOwnPropertySlot(this, exec, propertyName, slot);
     200}
     201
     202bool JSTestInterface::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     203{
     204    JSTestInterface* thisObject = static_cast<JSTestInterface*>(cell);
     205    ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
     206    return getStaticValueSlot<JSTestInterface, Base>(exec, &JSTestInterfaceTable, thisObject, propertyName, slot);
    195207}
    196208
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h

    r95901 r97537  
    4343
    4444    static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
    45     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     45    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     46    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    4647    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
    4748    static const JSC::ClassInfo s_info;
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp

    r95936 r97537  
    8888    }
    8989
    90     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     90    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     91    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
    9192    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
    9293    static const JSC::ClassInfo s_info;
     
    113114}
    114115
    115 bool JSTestMediaQueryListListenerConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    116 {
    117     return getStaticValueSlot<JSTestMediaQueryListListenerConstructor, JSDOMWrapper>(exec, &JSTestMediaQueryListListenerConstructorTable, this, propertyName, slot);
     116bool JSTestMediaQueryListListenerConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     117{
     118    return getOwnPropertySlot(this, exec, propertyName, slot);
     119}
     120
     121bool JSTestMediaQueryListListenerConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     122{
     123    return getStaticValueSlot<JSTestMediaQueryListListenerConstructor, JSDOMWrapper>(exec, &JSTestMediaQueryListListenerConstructorTable, static_cast<JSTestMediaQueryListListenerConstructor*>(cell), propertyName, slot);
    118124}
    119125
     
    150156}
    151157
    152 bool JSTestMediaQueryListListenerPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    153 {
    154     return getStaticFunctionSlot<JSObject>(exec, &JSTestMediaQueryListListenerPrototypeTable, this, propertyName, slot);
     158bool JSTestMediaQueryListListenerPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     159{
     160    return getOwnPropertySlot(this, exec, propertyName, slot);
     161}
     162
     163bool JSTestMediaQueryListListenerPrototype::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     164{
     165    JSTestMediaQueryListListenerPrototype* thisObject = static_cast<JSTestMediaQueryListListenerPrototype*>(cell);
     166    return getStaticFunctionSlot<JSObject>(exec, &JSTestMediaQueryListListenerPrototypeTable, thisObject, propertyName, slot);
    155167}
    156168
     
    179191}
    180192
    181 bool JSTestMediaQueryListListener::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    182 {
    183     ASSERT_GC_OBJECT_INHERITS(this, &s_info);
    184     return getStaticValueSlot<JSTestMediaQueryListListener, Base>(exec, &JSTestMediaQueryListListenerTable, this, propertyName, slot);
     193bool JSTestMediaQueryListListener::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     194{
     195    return getOwnPropertySlot(this, exec, propertyName, slot);
     196}
     197
     198bool JSTestMediaQueryListListener::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     199{
     200    JSTestMediaQueryListListener* thisObject = static_cast<JSTestMediaQueryListListener*>(cell);
     201    ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
     202    return getStaticValueSlot<JSTestMediaQueryListListener, Base>(exec, &JSTestMediaQueryListListenerTable, thisObject, propertyName, slot);
    185203}
    186204
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h

    r95901 r97537  
    4141
    4242    static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
    43     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     43    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     44    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    4445    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
    4546    static const JSC::ClassInfo s_info;
     
    7677
    7778    static const JSC::ClassInfo s_info;
    78     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     79    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     80    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
    7981    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
    8082    static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp

    r97532 r97537  
    190190    }
    191191
    192     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     192    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     193    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
    193194    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
    194195    static const JSC::ClassInfo s_info;
     
    215216}
    216217
    217 bool JSTestObjConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    218 {
    219     return getStaticValueSlot<JSTestObjConstructor, JSDOMWrapper>(exec, &JSTestObjConstructorTable, this, propertyName, slot);
     218bool JSTestObjConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     219{
     220    return getOwnPropertySlot(this, exec, propertyName, slot);
     221}
     222
     223bool JSTestObjConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     224{
     225    return getStaticValueSlot<JSTestObjConstructor, JSDOMWrapper>(exec, &JSTestObjConstructorTable, static_cast<JSTestObjConstructor*>(cell), propertyName, slot);
    220226}
    221227
     
    307313}
    308314
    309 bool JSTestObjPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    310 {
    311     return getStaticPropertySlot<JSTestObjPrototype, JSObject>(exec, &JSTestObjPrototypeTable, this, propertyName, slot);
     315bool JSTestObjPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     316{
     317    return getOwnPropertySlot(this, exec, propertyName, slot);
     318}
     319
     320bool JSTestObjPrototype::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     321{
     322    JSTestObjPrototype* thisObject = static_cast<JSTestObjPrototype*>(cell);
     323    return getStaticPropertySlot<JSTestObjPrototype, JSObject>(exec, &JSTestObjPrototypeTable, thisObject, propertyName, slot);
    312324}
    313325
     
    336348}
    337349
    338 bool JSTestObj::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    339 {
    340     ASSERT_GC_OBJECT_INHERITS(this, &s_info);
    341     return getStaticValueSlot<JSTestObj, Base>(exec, &JSTestObjTable, this, propertyName, slot);
     350bool JSTestObj::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     351{
     352    return getOwnPropertySlot(this, exec, propertyName, slot);
     353}
     354
     355bool JSTestObj::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     356{
     357    JSTestObj* thisObject = static_cast<JSTestObj*>(cell);
     358    ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
     359    return getStaticValueSlot<JSTestObj, Base>(exec, &JSTestObjTable, thisObject, propertyName, slot);
    342360}
    343361
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h

    r97532 r97537  
    4141
    4242    static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
    43     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     43    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     44    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    4445    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
    4546    virtual void putVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
     
    9091
    9192    static const JSC::ClassInfo s_info;
    92     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     93    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     94    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
    9395    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
    9496    static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp

    r95936 r97537  
    8989    }
    9090
    91     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     91    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
     92    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
    9293    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
    9394    static const JSC::ClassInfo s_info;
     
    114115}
    115116
    116 bool JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    117 {
    118     return getStaticValueSlot<JSTestSerializedScriptValueInterfaceConstructor, JSDOMWrapper>(exec, &JSTestSerializedScriptValueInterfaceConstructorTable, this, propertyName, slot);
     117bool JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     118{
     119    return getOwnPropertySlot(this, exec, propertyName, slot);
     120}
     121
     122bool JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     123{
     124    return getStaticValueSlot<JSTestSerializedScriptValueInterfaceConstructor, JSDOMWrapper>(exec, &JSTestSerializedScriptValueInterfaceConstructorTable, static_cast<JSTestSerializedScriptValueInterfaceConstructor*>(cell), propertyName, slot);
    119125}
    120126
     
    169175}
    170176
    171 bool JSTestSerializedScriptValueInterface::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    172 {
    173     ASSERT_GC_OBJECT_INHERITS(this, &s_info);
    174     return getStaticValueSlot<JSTestSerializedScriptValueInterface, Base>(exec, &JSTestSerializedScriptValueInterfaceTable, this, propertyName, slot);
     177bool JSTestSerializedScriptValueInterface::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     178{
     179    return getOwnPropertySlot(this, exec, propertyName, slot);
     180}
     181
     182bool JSTestSerializedScriptValueInterface::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     183{
     184    JSTestSerializedScriptValueInterface* thisObject = static_cast<JSTestSerializedScriptValueInterface*>(cell);
     185    ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
     186    return getStaticValueSlot<JSTestSerializedScriptValueInterface, Base>(exec, &JSTestSerializedScriptValueInterfaceTable, thisObject, propertyName, slot);
    175187}
    176188
  • trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h

    r95901 r97537  
    4343
    4444    static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
    45     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     45    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     46    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    4647    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
    4748    static const JSC::ClassInfo s_info;
  • trunk/Source/WebCore/bridge/objc/objc_runtime.h

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

    r97532 r97537  
    206206}
    207207
    208 bool ObjcFallbackObjectImp::getOwnPropertySlot(ExecState* exec, const Identifier& identifier, PropertySlot& slot)
     208bool ObjcFallbackObjectImp::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& identifier, PropertySlot& slot)
    209209{
    210210    return getOwnPropertySlot(this, exec, identifier, slot);
  • trunk/Source/WebCore/bridge/qt/qt_instance.cpp

    r97532 r97537  
    154154bool QtInstance::getOwnPropertySlot(JSObject* object, ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    155155{
    156     return object->JSObject::getOwnPropertySlot(exec, propertyName, slot);
     156    return JSObject::getOwnPropertySlot(object, exec, propertyName, slot);
    157157}
    158158
  • trunk/Source/WebCore/bridge/qt/qt_runtime.cpp

    r97532 r97537  
    14951495}
    14961496
    1497 bool QtRuntimeMetaMethod::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     1497bool QtRuntimeMetaMethod::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    14981498{
    14991499    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    17421742}
    17431743
    1744 bool QtRuntimeConnectionMethod::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     1744bool QtRuntimeConnectionMethod::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    17451745{
    17461746    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/WebCore/bridge/qt/qt_runtime.h

    r97097 r97537  
    165165    }
    166166
    167     virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
     167    virtual bool getOwnPropertySlotVirtual(ExecState *, const Identifier&, PropertySlot&);
    168168    static bool getOwnPropertySlot(JSCell*, ExecState *, const Identifier&, PropertySlot&);
    169169    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
     
    206206    }
    207207
    208     virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
     208    virtual bool getOwnPropertySlotVirtual(ExecState *, const Identifier&, PropertySlot&);
    209209    static bool getOwnPropertySlot(JSCell*, ExecState *, const Identifier&, PropertySlot&);
    210210    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/WebCore/bridge/runtime_array.cpp

    r97532 r97537  
    7979}
    8080
    81 bool RuntimeArray::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     81bool RuntimeArray::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    8282{
    8383    return getOwnPropertySlot(this, exec, propertyName, slot);
     
    127127}
    128128
    129 bool RuntimeArray::getOwnPropertySlot(ExecState *exec, unsigned index, PropertySlot& slot)
     129bool RuntimeArray::getOwnPropertySlotVirtual(ExecState *exec, unsigned index, PropertySlot& slot)
    130130{
    131131    return getOwnPropertySlot(this, exec, index, slot);
  • trunk/Source/WebCore/bridge/runtime_array.h

    r97532 r97537  
    5151
    5252    virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties);
    53     virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     53    virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    5454    static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    55     virtual bool getOwnPropertySlot(ExecState*, unsigned, PropertySlot&);
     55    virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned, PropertySlot&);
    5656    static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned, PropertySlot&);
    5757    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/WebCore/bridge/runtime_method.cpp

    r97097 r97537  
    7070}
    7171
    72 bool RuntimeMethod::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
     72bool RuntimeMethod::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot)
    7373{
    7474    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/WebCore/bridge/runtime_method.h

    r97097 r97537  
    6767private:
    6868    static JSValue lengthGetter(ExecState*, JSValue, const Identifier&);
    69     virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     69    virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&);
    7070    static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&);
    7171    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
  • trunk/Source/WebCore/bridge/runtime_object.cpp

    r97532 r97537  
    117117}
    118118
    119 bool RuntimeObject::getOwnPropertySlot(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
     119bool RuntimeObject::getOwnPropertySlotVirtual(ExecState *exec, const Identifier& propertyName, PropertySlot& slot)
    120120{
    121121    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/WebCore/bridge/runtime_object.h

    r97532 r97537  
    4646    virtual ~RuntimeObject();
    4747
    48     virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
     48    virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&);
    4949    static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    5050    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier& propertyName, PropertyDescriptor&);
  • trunk/Source/WebKit2/ChangeLog

    r97532 r97537  
     12011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
     2
     3        Rename getOwnPropertySlot to getOwnPropertySlotVirtual
     4        https://bugs.webkit.org/show_bug.cgi?id=69810
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
     9        in preparation for when we add the static getOwnPropertySlot to the MethodTable
     10        in ClassInfo.
     11
     12        Also added a few static getOwnPropertySlot functions where they had been overlooked
     13        before (especially in CodeGeneratorJS.pm).
     14
     15        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
     16        (WebKit::JSNPObject::getOwnPropertySlotVirtual):
     17        * WebProcess/Plugins/Netscape/JSNPObject.h:
     18
    1192011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
    220
  • trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp

    r97532 r97537  
    253253}
    254254
    255 bool JSNPObject::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
     255bool JSNPObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
    256256{
    257257    return getOwnPropertySlot(this, exec, propertyName, slot);
  • trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h

    r97532 r97537  
    8484    static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&);
    8585
    86     virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
     86    virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    8787    static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
    8888    virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
Note: See TracChangeset for help on using the changeset viewer.