Changeset 97537 in webkit
- Timestamp:
- Oct 14, 2011 7:00:23 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 102 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSCallbackObject.h
r97532 r97537 179 179 virtual UString className() const; 180 180 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&); 182 183 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); 183 184 -
trunk/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h
r97532 r97537 125 125 126 126 template <class Parent> 127 bool JSCallbackObject<Parent>::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 128 { 127 bool JSCallbackObject<Parent>::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 128 { 129 return getOwnPropertySlot(this, exec, propertyName, slot); 130 } 131 132 template <class Parent> 133 bool JSCallbackObject<Parent>::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 134 { 135 JSCallbackObject* thisObject = static_cast<JSCallbackObject*>(cell); 129 136 JSContextRef ctx = toRef(exec); 130 JSObjectRef thisRef = toRef(this );137 JSObjectRef thisRef = toRef(thisObject); 131 138 RefPtr<OpaqueJSString> propertyNameRef; 132 139 133 for (JSClassRef jsClass = classRef(); jsClass; jsClass = jsClass->parentClass) {140 for (JSClassRef jsClass = thisObject->classRef(); jsClass; jsClass = jsClass->parentClass) { 134 141 // optional optimization to bypass getProperty in cases when we only need to know if the property exists 135 142 if (JSObjectHasPropertyCallback hasProperty = jsClass->hasProperty) { … … 138 145 APICallbackShim callbackShim(exec); 139 146 if (hasProperty(ctx, thisRef, propertyNameRef.get())) { 140 slot.setCustom(this , callbackGetter);147 slot.setCustom(thisObject, callbackGetter); 141 148 return true; 142 149 } … … 163 170 if (OpaqueJSClassStaticValuesTable* staticValues = jsClass->staticValues(exec)) { 164 171 if (staticValues->contains(propertyName.impl())) { 165 JSValue value = getStaticValue(exec, propertyName);172 JSValue value = thisObject->getStaticValue(exec, propertyName); 166 173 if (value) { 167 174 slot.setValue(value); … … 173 180 if (OpaqueJSClassStaticFunctionsTable* staticFunctions = jsClass->staticFunctions(exec)) { 174 181 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); 182 189 } 183 190 … … 186 193 { 187 194 PropertySlot slot; 188 if (getOwnPropertySlot (exec, propertyName, slot)) {195 if (getOwnPropertySlotVirtual(exec, propertyName, slot)) { 189 196 // Ideally we should return an access descriptor, but returning a value descriptor is better than nothing. 190 197 JSValue value = slot.getValue(exec, propertyName); … … 537 544 // Check for cached or override property. 538 545 PropertySlot slot2(thisObj); 539 if ( thisObj->Parent::getOwnPropertySlot(exec, propertyName, slot2))546 if (Parent::getOwnPropertySlot(thisObj, exec, propertyName, slot2)) 540 547 return slot2.getValue(exec, propertyName); 541 548 -
trunk/Source/JavaScriptCore/ChangeLog
r97536 r97537 1 2011-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 1 140 2011-10-14 Gavin Barraclough <baraclough@apple.com> 2 141 -
trunk/Source/JavaScriptCore/JavaScriptCore.exp
r97532 r97537 148 148 __ZN3JSC12SmallStrings27createSingleCharacterStringEPNS_12JSGlobalDataEh 149 149 __ZN3JSC12StringObject14finishCreationERNS_12JSGlobalDataEPNS_8JSStringE 150 __ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE151 __ZN3JSC12StringObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE152 150 __ZN3JSC12StringObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE 153 151 __ZN3JSC12StringObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE … … 167 165 __ZN3JSC14JSGlobalObject16addStaticGlobalsEPNS0_18GlobalPropertyInfoEi 168 166 __ZN3JSC14JSGlobalObject17putWithAttributesEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueEj 169 __ZN3JSC14JSGlobalObject18getOwnPropertySlotEPNS_ 9ExecStateERKNS_10IdentifierERNS_12PropertySlotE167 __ZN3JSC14JSGlobalObject18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE 170 168 __ZN3JSC14JSGlobalObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE 169 __ZN3JSC14JSGlobalObject25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE 171 170 __ZN3JSC14JSGlobalObject3putEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE 172 171 __ZN3JSC14JSGlobalObject4initEPNS_8JSObjectE … … 262 261 __ZN3JSC6JSCell21deletePropertyVirtualEPNS_9ExecStateERKNS_10IdentifierE 263 262 __ZN3JSC6JSCell21deletePropertyVirtualEPNS_9ExecStateEj 264 __ZN3JSC6JSCell 18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE265 __ZN3JSC6JSCell 18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE263 __ZN3JSC6JSCell25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE 264 __ZN3JSC6JSCell25getOwnPropertySlotVirtualEPNS_9ExecStateEjRNS_12PropertySlotE 266 265 __ZN3JSC6JSCell23getConstructDataVirtualERNS_13ConstructDataE 267 266 __ZN3JSC6JSCell9getObjectEv … … 281 280 __ZN3JSC7JSArray14finishCreationERNS_12JSGlobalDataERKNS_7ArgListE 282 281 __ZN3JSC7JSArray15setSubclassDataEPv 283 __ZN3JSC7JSArray18getOwnPropertySlotEPNS_ 9ExecStateEjRNS_12PropertySlotE282 __ZN3JSC7JSArray18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateEjRNS_12PropertySlotE 284 283 __ZN3JSC7JSArray6s_infoE 285 284 __ZN3JSC7JSArray9setLengthEj … … 325 324 __ZN3JSC8JSObject17putWithAttributesEPNS_9ExecStateEjNS_7JSValueEj 326 325 __ZN3JSC8JSObject18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateEjRNS_12PropertySlotE 327 __ZN3JSC8JSObject18getOwnPropertySlotEPNS_9ExecStateEjRNS_12PropertySlotE328 326 __ZN3JSC8JSObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE 329 327 __ZN3JSC8JSObject21deletePropertyVirtualEPNS_9ExecStateERKNS_10IdentifierE … … 333 331 __ZN3JSC8JSObject23allocatePropertyStorageERNS_12JSGlobalDataEmm 334 332 __ZN3JSC8JSObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE 333 __ZN3JSC8JSObject25getOwnPropertySlotVirtualEPNS_9ExecStateEjRNS_12PropertySlotE 335 334 __ZN3JSC8JSObject3putEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierENS_7JSValueERNS_15PutPropertySlotE 336 335 __ZN3JSC8JSObject6s_infoE -
trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
r97532 r97537 201 201 ?getOwnPropertyNames@JSVariableObject@JSC@@UAEXPAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z 202 202 ?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 212 209 ?getPropertyDescriptor@JSObject@JSC@@QAE_NPAVExecState@2@ABVIdentifier@2@AAVPropertyDescriptor@2@@Z 213 210 ?getPropertyNames@JSObject@JSC@@UAEXPAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z -
trunk/Source/JavaScriptCore/debugger/DebuggerActivation.cpp
r97532 r97537 61 61 } 62 62 63 bool DebuggerActivation::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)63 bool DebuggerActivation::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 64 64 { 65 65 return getOwnPropertySlot(this, exec, propertyName, slot); … … 68 68 bool DebuggerActivation::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 69 69 { 70 return static_cast<DebuggerActivation*>(cell)->m_activation->getOwnPropertySlot (exec, propertyName, slot);70 return static_cast<DebuggerActivation*>(cell)->m_activation->getOwnPropertySlotVirtual(exec, propertyName, slot); 71 71 } 72 72 -
trunk/Source/JavaScriptCore/debugger/DebuggerActivation.h
r97532 r97537 44 44 static void visitChildren(JSCell*, SlotVisitor&); 45 45 virtual UString className() const; 46 virtual bool getOwnPropertySlot (ExecState*, const Identifier& propertyName, PropertySlot&);46 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&); 47 47 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&); 48 48 virtual void putVirtual(ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&); -
trunk/Source/JavaScriptCore/runtime/Arguments.cpp
r97532 r97537 146 146 } 147 147 148 bool Arguments::getOwnPropertySlot (ExecState* exec, unsigned i, PropertySlot& slot)148 bool Arguments::getOwnPropertySlotVirtual(ExecState* exec, unsigned i, PropertySlot& slot) 149 149 { 150 150 return getOwnPropertySlot(this, exec, i, slot); … … 189 189 } 190 190 191 bool Arguments::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 192 { 191 bool Arguments::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 192 { 193 return getOwnPropertySlot(this, exec, propertyName, slot); 194 } 195 196 bool Arguments::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 197 { 198 Arguments* thisObject = static_cast<Arguments*>(cell); 193 199 bool isArrayIndex; 194 200 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()); 198 204 } 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); 220 226 } 221 227 -
trunk/Source/JavaScriptCore/runtime/Arguments.h
r97532 r97537 136 136 private: 137 137 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&); 139 139 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&); 141 141 static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&); 142 142 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/ArrayConstructor.cpp
r97436 r97537 64 64 } 65 65 66 bool ArrayConstructor::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)66 bool ArrayConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 67 67 { 68 return getStaticFunctionSlot<InternalFunction>(exec, ExecState::arrayConstructorTable(exec), this, propertyName, slot); 68 return getOwnPropertySlot(this, exec, propertyName, slot); 69 } 70 71 bool 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); 69 74 } 70 75 -
trunk/Source/JavaScriptCore/runtime/ArrayConstructor.h
r97436 r97537 52 52 private: 53 53 ArrayConstructor(JSGlobalObject*, Structure*); 54 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);54 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 55 55 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 56 56 -
trunk/Source/JavaScriptCore/runtime/ArrayPrototype.cpp
r97532 r97537 126 126 } 127 127 128 bool ArrayPrototype::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)128 bool ArrayPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 129 129 { 130 130 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/ArrayPrototype.h
r97015 r97537 41 41 } 42 42 43 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);43 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 44 44 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 45 45 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/BooleanPrototype.cpp
r97015 r97537 63 63 } 64 64 65 bool BooleanPrototype::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)65 bool BooleanPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 66 66 { 67 67 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/BooleanPrototype.h
r97015 r97537 50 50 private: 51 51 BooleanPrototype(ExecState*, Structure*); 52 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);52 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 53 53 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 54 54 -
trunk/Source/JavaScriptCore/runtime/DateConstructor.cpp
r97436 r97537 86 86 } 87 87 88 bool DateConstructor::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)88 bool DateConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 89 89 { 90 90 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/DateConstructor.h
r97436 r97537 56 56 static CallType getCallData(JSCell*, CallData&); 57 57 58 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);58 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 59 59 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 60 60 -
trunk/Source/JavaScriptCore/runtime/DatePrototype.cpp
r97015 r97537 444 444 } 445 445 446 bool DatePrototype::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)446 bool DatePrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 447 447 { 448 448 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/DatePrototype.h
r97015 r97537 41 41 return prototype; 42 42 } 43 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);43 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 44 44 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 45 45 -
trunk/Source/JavaScriptCore/runtime/ErrorPrototype.cpp
r97015 r97537 63 63 } 64 64 65 bool ErrorPrototype::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)65 bool ErrorPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 66 66 { 67 67 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/ErrorPrototype.h
r97015 r97537 53 53 54 54 private: 55 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);55 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 56 56 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 57 57 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/JSActivation.cpp
r97532 r97537 142 142 } 143 143 144 bool JSActivation::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)144 bool JSActivation::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 145 145 { 146 146 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/JSActivation.h
r97532 r97537 62 62 virtual bool isActivationObject() const { return true; } 63 63 64 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);64 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 65 65 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 66 66 virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode); -
trunk/Source/JavaScriptCore/runtime/JSArray.cpp
r97532 r97537 246 246 } 247 247 248 bool JSArray::getOwnPropertySlot (ExecState* exec, unsigned i, PropertySlot& slot)248 bool JSArray::getOwnPropertySlotVirtual(ExecState* exec, unsigned i, PropertySlot& slot) 249 249 { 250 250 return getOwnPropertySlot(this, exec, i, slot); … … 258 258 if (i >= storage->m_length) { 259 259 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); 261 261 return false; 262 262 } … … 281 281 } 282 282 283 bool JSArray::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)283 bool JSArray::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 284 284 { 285 285 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/JSArray.h
r97532 r97537 95 95 } 96 96 97 virtual bool getOwnPropertySlot (ExecState*, const Identifier& propertyName, PropertySlot&);97 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&); 98 98 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&); 100 100 static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&); 101 101 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/JSBoundFunction.cpp
r97015 r97537 97 97 } 98 98 99 bool JSBoundFunction::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)99 bool JSBoundFunction::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 100 100 { 101 101 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/JSBoundFunction.h
r97015 r97537 40 40 static JSBoundFunction* create(ExecState*, JSGlobalObject*, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs, int, const Identifier&); 41 41 42 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);42 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 43 43 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 44 44 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/JSByteArray.cpp
r97532 r97537 55 55 } 56 56 57 bool JSByteArray::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)57 bool JSByteArray::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 58 58 { 59 59 return getOwnPropertySlot(this, exec, propertyName, slot); … … 83 83 } 84 84 85 bool JSByteArray::getOwnPropertySlot (ExecState* exec, unsigned propertyName, PropertySlot& slot)85 bool JSByteArray::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot) 86 86 { 87 87 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/JSByteArray.h
r97532 r97537 89 89 static Structure* createStructure(JSGlobalData&, JSGlobalObject*, JSValue prototype, const JSC::ClassInfo* = &s_info); 90 90 91 virtual bool getOwnPropertySlot (JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);91 virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); 92 92 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&); 94 94 static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&); 95 95 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/JSCell.cpp
r97532 r97537 70 70 } 71 71 72 bool JSCell::getOwnPropertySlot (ExecState* exec, const Identifier& identifier, PropertySlot& slot)72 bool JSCell::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& identifier, PropertySlot& slot) 73 73 { 74 74 return getOwnPropertySlot(this, exec, identifier, slot); … … 87 87 } 88 88 89 bool JSCell::getOwnPropertySlot (ExecState* exec, unsigned identifier, PropertySlot& slot)89 bool JSCell::getOwnPropertySlotVirtual(ExecState* exec, unsigned identifier, PropertySlot& slot) 90 90 { 91 91 return getOwnPropertySlot(this, exec, identifier, slot); -
trunk/Source/JavaScriptCore/runtime/JSCell.h
r97532 r97537 136 136 private: 137 137 // 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&); 139 139 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&); 141 141 static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&); 142 142 -
trunk/Source/JavaScriptCore/runtime/JSFunction.cpp
r97532 r97537 198 198 } 199 199 200 bool JSFunction::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)200 bool JSFunction::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 201 201 { 202 202 return getOwnPropertySlot(this, exec, propertyName, slot); … … 259 259 if (propertyName == exec->propertyNames().prototype) { 260 260 PropertySlot slot; 261 getOwnPropertySlot (exec, propertyName, slot);261 getOwnPropertySlotVirtual(exec, propertyName, slot); 262 262 return Base::getOwnPropertyDescriptor(exec, propertyName, descriptor); 263 263 } … … 292 292 // Make sure prototype has been reified. 293 293 PropertySlot slot; 294 getOwnPropertySlot (exec, exec->propertyNames().prototype, slot);294 getOwnPropertySlotVirtual(exec, exec->propertyNames().prototype, slot); 295 295 296 296 propertyNames.add(exec->propertyNames().arguments); … … 317 317 // following the rules set out in ECMA-262 8.12.9. 318 318 PropertySlot slot; 319 thisObject->getOwnPropertySlot (exec, propertyName, slot);319 thisObject->getOwnPropertySlotVirtual(exec, propertyName, slot); 320 320 } 321 321 if (thisObject->jsExecutable()->isStrictMode()) { -
trunk/Source/JavaScriptCore/runtime/JSFunction.h
r97532 r97537 132 132 void finishCreation(ExecState*, FunctionExecutable*, ScopeChainNode*); 133 133 134 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);134 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 135 135 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 136 136 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
r97532 r97537 424 424 } 425 425 426 bool JSGlobalObject::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)426 bool JSGlobalObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 427 427 { 428 428 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h
r97532 r97537 181 181 static void visitChildren(JSCell*, SlotVisitor&); 182 182 183 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);183 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 184 184 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 185 185 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); … … 343 343 { 344 344 PropertySlot slot; 345 if (JSVariableObject::getOwnPropertySlot( exec, propertyName, slot))345 if (JSVariableObject::getOwnPropertySlot(this, exec, propertyName, slot)) 346 346 return true; 347 347 bool slotIsWriteable; -
trunk/Source/JavaScriptCore/runtime/JSNotAnObject.cpp
r97532 r97537 46 46 } 47 47 48 bool JSNotAnObject::getOwnPropertySlot (ExecState* exec, const Identifier& identifier, PropertySlot& slot)48 bool JSNotAnObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& identifier, PropertySlot& slot) 49 49 { 50 50 return getOwnPropertySlot(this, exec, identifier, slot); … … 58 58 } 59 59 60 bool JSNotAnObject::getOwnPropertySlot (ExecState* exec, unsigned propertyName, PropertySlot& slot)60 bool JSNotAnObject::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot) 61 61 { 62 62 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/JSNotAnObject.h
r97532 r97537 69 69 70 70 // JSObject methods 71 virtual bool getOwnPropertySlot (ExecState*, const Identifier& propertyName, PropertySlot&);71 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&); 72 72 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&); 74 74 static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&); 75 75 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/JSONObject.cpp
r97532 r97537 524 524 else { 525 525 PropertySlot slot(m_object.get()); 526 if (!m_object->getOwnPropertySlot (exec, index, slot))526 if (!m_object->getOwnPropertySlotVirtual(exec, index, slot)) 527 527 slot.setUndefined(); 528 528 if (exec->hadException()) … … 542 542 PropertySlot slot(m_object.get()); 543 543 Identifier& propertyName = m_propertyNames->propertyNameVector()[index]; 544 if (!m_object->getOwnPropertySlot (exec, propertyName, slot))544 if (!m_object->getOwnPropertySlotVirtual(exec, propertyName, slot)) 545 545 return true; 546 546 JSValue value = slot.getValue(exec, propertyName); … … 599 599 // ECMA 15.8 600 600 601 bool JSONObject::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)601 bool JSONObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 602 602 { 603 603 return getOwnPropertySlot(this, exec, propertyName, slot); … … 694 694 else { 695 695 PropertySlot slot; 696 if (array->getOwnPropertySlot (m_exec, index, slot))696 if (array->getOwnPropertySlotVirtual(m_exec, index, slot)) 697 697 inValue = slot.getValue(m_exec, index); 698 698 else … … 756 756 } 757 757 PropertySlot slot; 758 if (object->getOwnPropertySlot (m_exec, properties[index], slot))758 if (object->getOwnPropertySlotVirtual(m_exec, properties[index], slot)) 759 759 inValue = slot.getValue(m_exec, properties[index]); 760 760 else -
trunk/Source/JavaScriptCore/runtime/JSONObject.h
r97015 r97537 57 57 private: 58 58 JSONObject(JSGlobalObject*, Structure*); 59 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);59 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 60 60 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 61 61 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/JSObject.cpp
r97536 r97537 94 94 } 95 95 96 bool JSObject::getOwnPropertySlot (ExecState* exec, unsigned propertyName, PropertySlot& slot)96 bool JSObject::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot) 97 97 { 98 98 return getOwnPropertySlot(this, exec, propertyName, slot); … … 101 101 bool JSObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, unsigned propertyName, PropertySlot& slot) 102 102 { 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); 104 104 } 105 105 … … 282 282 { 283 283 PropertySlot slot; 284 return const_cast<JSObject*>(this)->getOwnPropertySlot (exec, propertyName, slot);284 return const_cast<JSObject*>(this)->getOwnPropertySlotVirtual(exec, propertyName, slot); 285 285 } 286 286 -
trunk/Source/JavaScriptCore/runtime/JSObject.h
r97536 r97537 102 102 bool getPropertyDescriptor(ExecState*, const Identifier& propertyName, PropertyDescriptor&); 103 103 104 virtual bool getOwnPropertySlot (ExecState*, const Identifier& propertyName, PropertySlot&);104 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&); 105 105 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&); 107 107 static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&); 108 108 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); … … 525 525 } 526 526 527 ALWAYS_INLINE bool JSObject::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)527 ALWAYS_INLINE bool JSObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 528 528 { 529 529 return getOwnPropertySlot(this, exec, propertyName, slot); … … 542 542 if (!structure()->typeInfo().overridesGetOwnPropertySlot()) 543 543 return asObject(this)->inlineGetOwnPropertySlot(exec, propertyName, slot); 544 return getOwnPropertySlot (exec, propertyName, slot);544 return getOwnPropertySlotVirtual(exec, propertyName, slot); 545 545 } 546 546 … … 580 580 JSObject* object = this; 581 581 while (true) { 582 if (object->getOwnPropertySlot (exec, propertyName, slot))582 if (object->getOwnPropertySlotVirtual(exec, propertyName, slot)) 583 583 return true; 584 584 JSValue prototype = object->prototype(); … … 801 801 JSCell* cell = const_cast<JSCell*>(asCell()); 802 802 while (true) { 803 if (cell->getOwnPropertySlot (exec, propertyName, slot))803 if (cell->getOwnPropertySlotVirtual(exec, propertyName, slot)) 804 804 return slot.getValue(exec, propertyName); 805 805 JSValue prototype = asObject(cell)->prototype(); -
trunk/Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp
r97532 r97537 92 92 } 93 93 94 bool JSStaticScopeObject::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)94 bool JSStaticScopeObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 95 95 { 96 96 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/JSStaticScopeObject.h
r97532 r97537 45 45 bool isDynamicScope(bool& requiresDynamicChecks) const; 46 46 virtual JSObject* toThisObject(ExecState*) const; 47 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);47 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 48 48 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 49 49 virtual void putVirtual(ExecState*, const Identifier&, JSValue, PutPropertySlot&); -
trunk/Source/JavaScriptCore/runtime/JSString.cpp
r97015 r97537 314 314 } 315 315 316 bool JSString::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)316 bool JSString::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 317 317 { 318 318 return getOwnPropertySlot(this, exec, propertyName, slot); … … 334 334 for (JSValue prototype = exec->lexicalGlobalObject()->stringPrototype(); !prototype.isNull(); prototype = object->prototype()) { 335 335 object = asObject(prototype); 336 if (object->getOwnPropertySlot (exec, propertyName, slot))336 if (object->getOwnPropertySlotVirtual(exec, propertyName, slot)) 337 337 return true; 338 338 } … … 368 368 } 369 369 370 bool JSString::getOwnPropertySlot (ExecState* exec, unsigned propertyName, PropertySlot& slot)370 bool JSString::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot) 371 371 { 372 372 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/JSString.h
r97381 r97537 507 507 508 508 // Actually getPropertySlot, not getOwnPropertySlot (see JSCell). 509 virtual bool getOwnPropertySlot (ExecState*, const Identifier& propertyName, PropertySlot&);509 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&); 510 510 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&); 512 512 static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&); 513 513 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/Lookup.h
r97536 r97537 271 271 272 272 if (!entry) // not found, forward to parent 273 return thisObj->ParentImp::getOwnPropertySlot(exec, propertyName, slot);273 return ParentImp::getOwnPropertySlot(thisObj, exec, propertyName, slot); 274 274 275 275 if (entry->attributes() & Function) … … 309 309 inline bool getStaticFunctionSlot(ExecState* exec, const HashTable* table, JSObject* thisObj, const Identifier& propertyName, PropertySlot& slot) 310 310 { 311 if ( static_cast<ParentImp*>(thisObj)->ParentImp::getOwnPropertySlot(exec, propertyName, slot))311 if (ParentImp::getOwnPropertySlot(thisObj, exec, propertyName, slot)) 312 312 return true; 313 313 … … 351 351 352 352 if (!entry) // not found, forward to parent 353 return thisObj->ParentImp::getOwnPropertySlot(exec, propertyName, slot);353 return ParentImp::getOwnPropertySlot(thisObj, exec, propertyName, slot); 354 354 355 355 ASSERT(!(entry->attributes() & Function)); -
trunk/Source/JavaScriptCore/runtime/MathObject.cpp
r97015 r97537 105 105 } 106 106 107 bool MathObject::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)107 bool MathObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 108 108 { 109 109 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/MathObject.h
r97015 r97537 39 39 return object; 40 40 } 41 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);41 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 42 42 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 43 43 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/NumberConstructor.cpp
r97436 r97537 72 72 } 73 73 74 bool NumberConstructor::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)74 bool NumberConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 75 75 { 76 76 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/NumberConstructor.h
r97436 r97537 39 39 } 40 40 41 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);41 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 42 42 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 43 43 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/NumberPrototype.cpp
r97015 r97537 84 84 } 85 85 86 bool NumberPrototype::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)86 bool NumberPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 87 87 { 88 88 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/NumberPrototype.h
r97015 r97537 50 50 private: 51 51 NumberPrototype(ExecState*, Structure*); 52 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);52 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 53 53 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 54 54 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/ObjectConstructor.cpp
r97436 r97537 90 90 } 91 91 92 bool ObjectConstructor::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)92 bool ObjectConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 93 93 { 94 94 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/ObjectConstructor.h
r97436 r97537 39 39 } 40 40 41 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);41 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 42 42 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 43 43 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/ObjectPrototype.cpp
r97532 r97537 93 93 } 94 94 95 bool ObjectPrototype::getOwnPropertySlot (ExecState* exec, unsigned propertyName, PropertySlot& slot)95 bool ObjectPrototype::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot) 96 96 { 97 97 return getOwnPropertySlot(this, exec, propertyName, slot); … … 106 106 } 107 107 108 bool ObjectPrototype::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)108 bool ObjectPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 109 109 { 110 110 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/ObjectPrototype.h
r97532 r97537 54 54 static void put(JSCell*, ExecState*, const Identifier&, JSValue, PutPropertySlot&); 55 55 56 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);56 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 57 57 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 58 virtual bool getOwnPropertySlot (ExecState*, unsigned propertyName, PropertySlot&);58 virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned propertyName, PropertySlot&); 59 59 static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&); 60 60 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp
r97532 r97537 203 203 } 204 204 205 bool RegExpConstructor::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)205 bool RegExpConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 206 206 { 207 207 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/RegExpConstructor.h
r97532 r97537 75 75 static void put(JSCell*, ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&); 76 76 77 virtual bool getOwnPropertySlot (ExecState*, const Identifier& propertyName, PropertySlot&);77 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&); 78 78 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&); 79 79 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/RegExpMatchesArray.h
r97532 r97537 44 44 45 45 private: 46 virtual bool getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)46 virtual bool getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 47 47 { 48 48 return getOwnPropertySlot(this, exec, propertyName, slot); … … 57 57 } 58 58 59 virtual bool getOwnPropertySlot (ExecState* exec, unsigned propertyName, PropertySlot& slot)59 virtual bool getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot) 60 60 { 61 61 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/RegExpObject.cpp
r97532 r97537 92 92 } 93 93 94 bool RegExpObject::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)94 bool RegExpObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 95 95 { 96 96 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/RegExpObject.h
r97532 r97537 66 66 JSValue exec(ExecState*); 67 67 68 virtual bool getOwnPropertySlot (ExecState*, const Identifier& propertyName, PropertySlot&);68 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&); 69 69 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&); 70 70 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/RegExpPrototype.cpp
r97015 r97537 68 68 } 69 69 70 bool RegExpPrototype::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)70 bool RegExpPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 71 71 { 72 72 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/RegExpPrototype.h
r97015 r97537 50 50 51 51 private: 52 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);52 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 53 53 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 54 54 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/StringConstructor.cpp
r97436 r97537 60 60 } 61 61 62 bool StringConstructor::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)62 bool StringConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 63 63 { 64 64 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/StringConstructor.h
r97436 r97537 56 56 static CallType getCallData(JSCell*, CallData&); 57 57 58 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);58 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 59 59 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 60 60 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/StringObject.cpp
r97532 r97537 42 42 } 43 43 44 bool StringObject::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)44 bool StringObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 45 45 { 46 46 return getOwnPropertySlot(this, exec, propertyName, slot); … … 55 55 } 56 56 57 bool StringObject::getOwnPropertySlot (ExecState* exec, unsigned propertyName, PropertySlot& slot)57 bool StringObject::getOwnPropertySlotVirtual(ExecState* exec, unsigned propertyName, PropertySlot& slot) 58 58 { 59 59 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/StringObject.h
r97532 r97537 47 47 static StringObject* create(ExecState*, JSGlobalObject*, JSString*); 48 48 49 virtual bool getOwnPropertySlot (ExecState*, const Identifier& propertyName, PropertySlot&);49 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&); 50 50 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&); 52 52 static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned propertyName, PropertySlot&); 53 53 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptCore/runtime/StringPrototype.cpp
r97532 r97537 146 146 } 147 147 148 bool StringPrototype::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)148 bool StringPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 149 149 { 150 150 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptCore/runtime/StringPrototype.h
r97015 r97537 43 43 } 44 44 45 virtual bool getOwnPropertySlot (ExecState*, const Identifier& propertyName, PropertySlot&);45 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&); 46 46 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&); 47 47 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/JavaScriptGlue/ChangeLog
r97532 r97537 1 2011-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 1 19 2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com> 2 20 -
trunk/Source/JavaScriptGlue/UserObjectImp.cpp
r97532 r97537 124 124 } 125 125 126 bool UserObjectImp::getOwnPropertySlot (ExecState *exec, const Identifier& propertyName, PropertySlot& slot)126 bool UserObjectImp::getOwnPropertySlotVirtual(ExecState *exec, const Identifier& propertyName, PropertySlot& slot) 127 127 { 128 128 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/JavaScriptGlue/UserObjectImp.h
r97532 r97537 55 55 56 56 virtual JSValue callAsFunction(ExecState *exec); 57 virtual bool getOwnPropertySlot (ExecState *, const Identifier&, PropertySlot&);57 virtual bool getOwnPropertySlotVirtual(ExecState *, const Identifier&, PropertySlot&); 58 58 static bool getOwnPropertySlot(JSCell*, ExecState *, const Identifier&, PropertySlot&); 59 59 virtual void putVirtual(ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&); -
trunk/Source/WebCore/ChangeLog
r97534 r97537 1 2011-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 1 84 2011-10-14 Ryosuke Niwa <rniwa@webkit.org> 2 85 -
trunk/Source/WebCore/WebCore.exp.in
r97532 r97537 1686 1686 __ZN3JSC13RuntimeMethod11getCallDataEPNS_6JSCellERNS_8CallDataE 1687 1687 __ZN3JSC13RuntimeMethod14finishCreationERNS_12JSGlobalDataERKNS_10IdentifierE 1688 __ZN3JSC13RuntimeMethod18getOwnPropertySlotEPNS_ 9ExecStateERKNS_10IdentifierERNS_12PropertySlotE1688 __ZN3JSC13RuntimeMethod18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE 1689 1689 __ZN3JSC13RuntimeMethod24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE 1690 __ZN3JSC13RuntimeMethod25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE 1690 1691 __ZN3JSC13RuntimeMethod6s_infoE 1691 1692 __ZN3JSC13RuntimeMethodC2EPNS_14JSGlobalObjectEPNS_9StructureERN3WTF6VectorIPNS_8Bindings6MethodELm0EEE … … 1694 1695 __ZN3JSC8Bindings13RuntimeObject11getCallDataEPNS_6JSCellERNS_8CallDataE 1695 1696 __ZN3JSC8Bindings13RuntimeObject14finishCreationEPNS_14JSGlobalObjectE 1696 __ZN3JSC8Bindings13RuntimeObject18getOwnPropertySlotEPNS_ 9ExecStateERKNS_10IdentifierERNS_12PropertySlotE1697 __ZN3JSC8Bindings13RuntimeObject18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE 1697 1698 __ZN3JSC8Bindings13RuntimeObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE 1698 1699 __ZN3JSC8Bindings13RuntimeObject23getConstructDataVirtualERNS_13ConstructDataE 1699 1700 __ZN3JSC8Bindings13RuntimeObject21deletePropertyVirtualEPNS_9ExecStateERKNS_10IdentifierE 1700 1701 __ZN3JSC8Bindings13RuntimeObject24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE 1702 __ZN3JSC8Bindings13RuntimeObject25getOwnPropertySlotVirtualEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE 1701 1703 __ZN3JSC8Bindings13RuntimeObject6s_infoE 1702 1704 __ZN3JSC8Bindings13RuntimeObjectC2EPNS_9ExecStateEPNS_14JSGlobalObjectEPNS_9StructureEN3WTF10PassRefPtrINS0_8InstanceEEE -
trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
r97532 r97537 122 122 } 123 123 124 bool JSDOMWindow::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 125 { 124 bool JSDOMWindow::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 125 { 126 return getOwnPropertySlot(this, exec, propertyName, slot); 127 } 128 129 bool JSDOMWindow::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 130 { 131 JSDOMWindow* thisObject = static_cast<JSDOMWindow*>(cell); 126 132 // When accessing a Window cross-domain, functions are always the native built-in ones, and they 127 133 // are not affected by properties changed on the Window or anything in its prototype chain. … … 133 139 // or whose iframe got removed). 134 140 // 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()) { 136 142 // The following code is safe for cross-domain and same domain use. 137 143 // It ignores any custom properties that might be set on the DOMWindow (including a custom prototype). 138 144 entry = s_info.propHashTable(exec)->entry(exec, propertyName); 139 145 if (entry && !(entry->attributes() & Function) && entry->propertyGetter() == jsDOMWindowClosed) { 140 slot.setCustom(this , entry->propertyGetter());146 slot.setCustom(thisObject, entry->propertyGetter()); 141 147 return true; 142 148 } 143 149 entry = JSDOMWindowPrototype::s_info.propHashTable(exec)->entry(exec, propertyName); 144 150 if (entry && (entry->attributes() & Function) && entry->function() == jsDOMWindowPrototypeFunctionClose) { 145 slot.setCustom(this , nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionClose, 0>);151 slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionClose, 0>); 146 152 return true; 147 153 } … … 157 163 // is allowed. 158 164 String errorMessage; 159 bool allowsAccess = allowsAccessFrom(exec, errorMessage);165 bool allowsAccess = thisObject->allowsAccessFrom(exec, errorMessage); 160 166 161 167 // Look for overrides before looking at any of our own properties, but ignore overrides completely 162 168 // if this is cross-domain access. 163 if (allowsAccess && JSGlobalObject::getOwnPropertySlot( exec, propertyName, slot))169 if (allowsAccess && JSGlobalObject::getOwnPropertySlot(thisObject, exec, propertyName, slot)) 164 170 return true; 165 171 … … 173 179 if (entry->function() == jsDOMWindowPrototypeFunctionBlur) { 174 180 if (!allowsAccess) { 175 slot.setCustom(this , nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionBlur, 0>);181 slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionBlur, 0>); 176 182 return true; 177 183 } 178 184 } else if (entry->function() == jsDOMWindowPrototypeFunctionClose) { 179 185 if (!allowsAccess) { 180 slot.setCustom(this , nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionClose, 0>);186 slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionClose, 0>); 181 187 return true; 182 188 } 183 189 } else if (entry->function() == jsDOMWindowPrototypeFunctionFocus) { 184 190 if (!allowsAccess) { 185 slot.setCustom(this , nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionFocus, 0>);191 slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionFocus, 0>); 186 192 return true; 187 193 } 188 194 } else if (entry->function() == jsDOMWindowPrototypeFunctionPostMessage) { 189 195 if (!allowsAccess) { 190 slot.setCustom(this , nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionPostMessage, 2>);196 slot.setCustom(thisObject, nonCachingStaticFunctionGetter<jsDOMWindowPrototypeFunctionPostMessage, 2>); 191 197 return true; 192 198 } 193 199 } else if (entry->function() == jsDOMWindowPrototypeFunctionShowModalDialog) { 194 if (!DOMWindow::canShowModalDialog( impl()->frame())) {200 if (!DOMWindow::canShowModalDialog(thisObject->impl()->frame())) { 195 201 slot.setUndefined(); 196 202 return true; … … 202 208 if (propertyName == exec->propertyNames().toString) { 203 209 if (!allowsAccess) { 204 slot.setCustom(this , objectToStringFunctionGetter);210 slot.setCustom(thisObject, objectToStringFunctionGetter); 205 211 return true; 206 212 } … … 210 216 entry = JSDOMWindow::s_info.propHashTable(exec)->entry(exec, propertyName); 211 217 if (entry) { 212 slot.setCustom(this , entry->propertyGetter());218 slot.setCustom(thisObject, entry->propertyGetter()); 213 219 return true; 214 220 } … … 219 225 // are in Moz but not IE. Since we have some of these, we have to do 220 226 // 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); 223 229 return true; 224 230 } … … 226 232 // Do prototype lookup early so that functions and attributes in the prototype can have 227 233 // precedence over the index and name getters. 228 JSValue proto = prototype();234 JSValue proto = thisObject->prototype(); 229 235 if (proto.isObject()) { 230 236 if (asObject(proto)->getPropertySlot(exec, propertyName, slot)) { 231 237 if (!allowsAccess) { 232 printErrorMessage(errorMessage);238 thisObject->printErrorMessage(errorMessage); 233 239 slot.setUndefined(); 234 240 } … … 243 249 bool ok; 244 250 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); 247 253 return true; 248 254 } 249 255 250 256 if (!allowsAccess) { 251 printErrorMessage(errorMessage);257 thisObject->printErrorMessage(errorMessage); 252 258 slot.setUndefined(); 253 259 return true; … … 255 261 256 262 // Allow shortcuts like 'Image1' instead of document.images.Image1 257 Document* document = impl()->frame()->document();263 Document* document = thisObject->impl()->frame()->document(); 258 264 if (document->isHTMLDocument()) { 259 265 AtomicStringImpl* atomicPropertyName = findAtomicString(propertyName); 260 266 if (atomicPropertyName && (static_cast<HTMLDocument*>(document)->hasNamedItem(atomicPropertyName) || document->hasElementWithId(atomicPropertyName))) { 261 slot.setCustom(this , namedItemGetter);267 slot.setCustom(thisObject, namedItemGetter); 262 268 return true; 263 269 } 264 270 } 265 271 266 return Base::getOwnPropertySlot( exec, propertyName, slot);272 return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot); 267 273 } 268 274 … … 684 690 Identifier identifier(m_exec, "returnValue"); 685 691 PropertySlot slot; 686 if (!globalObject->getOwnPropertySlot (m_exec, identifier, slot))692 if (!globalObject->getOwnPropertySlotVirtual(m_exec, identifier, slot)) 687 693 return jsUndefined(); 688 694 return slot.getValue(m_exec, identifier); -
trunk/Source/WebCore/bindings/js/JSDOMWindowShell.cpp
r97532 r97537 101 101 } 102 102 103 bool JSDOMWindowShell::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)103 bool JSDOMWindowShell::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 104 104 { 105 105 return getOwnPropertySlot(this, exec, propertyName, slot); … … 108 108 bool JSDOMWindowShell::getOwnPropertySlot(JSCell* cell, ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 109 109 { 110 return static_cast<JSDOMWindowShell*>(cell)->m_window->getOwnPropertySlot (exec, propertyName, slot);110 return static_cast<JSDOMWindowShell*>(cell)->m_window->getOwnPropertySlotVirtual(exec, propertyName, slot); 111 111 } 112 112 -
trunk/Source/WebCore/bindings/js/JSDOMWindowShell.h
r97532 r97537 81 81 static void visitChildren(JSC::JSCell*, JSC::SlotVisitor&); 82 82 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&); 84 84 static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); 85 85 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); -
trunk/Source/WebCore/bindings/js/JSWorkerContextCustom.cpp
r96346 r97537 73 73 { 74 74 // 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)) 76 76 return true; 77 77 return false; -
trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp
r97532 r97537 334 334 PropertySlot slot(array); 335 335 if (isJSArray(&m_exec->globalData(), array)) { 336 if ( array->JSArray::getOwnPropertySlot(m_exec, propertyName, slot)) {336 if (JSArray::getOwnPropertySlot(array, m_exec, propertyName, slot)) { 337 337 hasIndex = true; 338 338 return slot.getValue(m_exec, propertyName); 339 339 } 340 } else if (array->getOwnPropertySlot (m_exec, propertyName, slot)) {340 } else if (array->getOwnPropertySlotVirtual(m_exec, propertyName, slot)) { 341 341 hasIndex = true; 342 342 return slot.getValue(m_exec, propertyName); … … 349 349 { 350 350 PropertySlot slot(object); 351 if (object->getOwnPropertySlot (m_exec, propertyName, slot))351 if (object->getOwnPropertySlotVirtual(m_exec, propertyName, slot)) 352 352 return slot.getValue(m_exec, propertyName); 353 353 return JSValue(); -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r97532 r97537 431 431 432 432 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"); 434 434 push(@getOwnPropertySlotImpl, " if (proto.isObject() && static_cast<${namespaceMaybe}JSObject*>(asObject(proto))->hasProperty(exec, propertyName))\n"); 435 435 push(@getOwnPropertySlotImpl, " return false;\n\n"); … … 441 441 push(@getOwnPropertySlotImpl, " const ${namespaceMaybe}HashEntry* entry = ${className}Table.entry(exec, propertyName);\n"); 442 442 push(@getOwnPropertySlotImpl, " if (entry) {\n"); 443 push(@getOwnPropertySlotImpl, " slot.setCustom(this , entry->propertyGetter());\n");443 push(@getOwnPropertySlotImpl, " slot.setCustom(thisObject, entry->propertyGetter());\n"); 444 444 push(@getOwnPropertySlotImpl, " return true;\n"); 445 445 push(@getOwnPropertySlotImpl, " }\n"); … … 460 460 push(@getOwnPropertySlotImpl, " if (ok) {\n"); 461 461 } 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"); 463 463 } 464 464 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"); 466 466 } else { 467 push(@getOwnPropertySlotImpl, " slot.setCustomIndex(this , index, indexGetter);\n");467 push(@getOwnPropertySlotImpl, " slot.setCustomIndex(thisObject, index, indexGetter);\n"); 468 468 } 469 469 push(@getOwnPropertySlotImpl, " return true;\n"); … … 472 472 473 473 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"); 476 476 push(@getOwnPropertySlotImpl, " return true;\n"); 477 477 push(@getOwnPropertySlotImpl, " }\n"); … … 488 488 489 489 if ($dataNode->extendedAttributes->{"DelegatingGetOwnPropertySlot"}) { 490 push(@getOwnPropertySlotImpl, " if ( getOwnPropertySlotDelegate(exec, propertyName, slot))\n");490 push(@getOwnPropertySlotImpl, " if (thisObject->getOwnPropertySlotDelegate(exec, propertyName, slot))\n"); 491 491 push(@getOwnPropertySlotImpl, " return true;\n"); 492 492 } … … 495 495 if ($inlined) { 496 496 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"); 498 498 } 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"); 500 500 } 501 501 } else { 502 push(@getOwnPropertySlotImpl, " return Base::getOwnPropertySlot( exec, propertyName, slot);\n");502 push(@getOwnPropertySlotImpl, " return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot);\n"); 503 503 } 504 504 … … 771 771 # Getters 772 772 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"); 774 775 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"}; 776 778 push(@headerContent, " bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n") if $dataNode->extendedAttributes->{"DelegatingGetOwnPropertySlot"}; 777 779 push(@headerContent, " bool getOwnPropertyDescriptorDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);\n") if $dataNode->extendedAttributes->{"DelegatingGetOwnPropertySlot"}; … … 968 970 969 971 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"); 971 973 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"); 973 980 push(@headerContent, GenerateGetOwnPropertySlotBody($dataNode, $interfaceName, $className, $implClassName, $numAttributes > 0, 1)); 974 981 push(@headerContent, "}\n\n"); … … 1036 1043 push(@headerContent, " static const JSC::ClassInfo s_info;\n"); 1037 1044 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"); 1039 1047 push(@headerContent, " virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);\n"); 1040 1048 push(@headerContent, " bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);\n") if $dataNode->extendedAttributes->{"DelegatingPrototypeGetOwnPropertySlot"}; … … 1434 1442 } 1435 1443 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"); 1437 1445 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"); 1438 1452 1439 1453 if ($dataNode->extendedAttributes->{"DelegatingPrototypeGetOwnPropertySlot"}) { 1440 push(@implContent, " if ( getOwnPropertySlotDelegate(exec, propertyName, slot))\n");1454 push(@implContent, " if (thisObject->getOwnPropertySlotDelegate(exec, propertyName, slot))\n"); 1441 1455 push(@implContent, " return true;\n"); 1442 1456 } 1443 1457 1444 1458 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"); 1446 1460 } 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"); 1448 1462 } 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"); 1450 1464 } 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"); 1452 1466 } 1453 1467 push(@implContent, "}\n\n"); … … 1573 1587 if ($hasGetter) { 1574 1588 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"); 1576 1590 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"); 1578 1597 push(@implContent, GenerateGetOwnPropertySlotBody($dataNode, $interfaceName, $className, $implClassName, $numAttributes > 0, 0)); 1579 1598 push(@implContent, "}\n\n"); … … 1587 1606 if (($dataNode->extendedAttributes->{"HasIndexGetter"} || $dataNode->extendedAttributes->{"HasCustomIndexGetter"} || $dataNode->extendedAttributes->{"HasNumericIndexGetter"}) 1588 1607 && !$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"); 1590 1609 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"); 1593 1617 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"); 1595 1619 } else { 1596 push(@implContent, " slot.setCustomIndex(this , propertyName,indexGetter);\n");1620 push(@implContent, " slot.setCustomIndex(thisObject, propertyName, thisObject->indexGetter);\n"); 1597 1621 } 1598 1622 push(@implContent, " return true;\n"); 1599 1623 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"); 1601 1625 push(@implContent, "}\n\n"); 1602 1626 } … … 3157 3181 push(@$outputArray, " }\n\n"); 3158 3182 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"); 3160 3185 push(@$outputArray, " virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);\n"); 3161 3186 push(@$outputArray, " static const JSC::ClassInfo s_info;\n"); … … 3212 3237 push(@$outputArray, "}\n\n"); 3213 3238 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"); 3215 3240 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"); 3217 3247 push(@$outputArray, "}\n\n"); 3218 3248 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
r97436 r97537 87 87 } 88 88 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&); 90 91 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&); 91 92 static const JSC::ClassInfo s_info; … … 115 116 } 116 117 117 bool JSTestInterfaceConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 118 { 119 return getStaticValueSlot<JSTestInterfaceConstructor, JSDOMWrapper>(exec, &JSTestInterfaceConstructorTable, this, propertyName, slot); 118 bool JSTestInterfaceConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 119 { 120 return getOwnPropertySlot(this, exec, propertyName, slot); 121 } 122 123 bool 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); 120 126 } 121 127 … … 189 195 } 190 196 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); 197 bool JSTestInterface::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 198 { 199 return getOwnPropertySlot(this, exec, propertyName, slot); 200 } 201 202 bool 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); 195 207 } 196 208 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h
r95901 r97537 43 43 44 44 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&); 46 47 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); 47 48 static const JSC::ClassInfo s_info; -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp
r95936 r97537 88 88 } 89 89 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&); 91 92 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&); 92 93 static const JSC::ClassInfo s_info; … … 113 114 } 114 115 115 bool JSTestMediaQueryListListenerConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 116 { 117 return getStaticValueSlot<JSTestMediaQueryListListenerConstructor, JSDOMWrapper>(exec, &JSTestMediaQueryListListenerConstructorTable, this, propertyName, slot); 116 bool JSTestMediaQueryListListenerConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 117 { 118 return getOwnPropertySlot(this, exec, propertyName, slot); 119 } 120 121 bool 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); 118 124 } 119 125 … … 150 156 } 151 157 152 bool JSTestMediaQueryListListenerPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 153 { 154 return getStaticFunctionSlot<JSObject>(exec, &JSTestMediaQueryListListenerPrototypeTable, this, propertyName, slot); 158 bool JSTestMediaQueryListListenerPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 159 { 160 return getOwnPropertySlot(this, exec, propertyName, slot); 161 } 162 163 bool 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); 155 167 } 156 168 … … 179 191 } 180 192 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); 193 bool JSTestMediaQueryListListener::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 194 { 195 return getOwnPropertySlot(this, exec, propertyName, slot); 196 } 197 198 bool 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); 185 203 } 186 204 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h
r95901 r97537 41 41 42 42 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&); 44 45 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); 45 46 static const JSC::ClassInfo s_info; … … 76 77 77 78 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&); 79 81 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&); 80 82 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
r97532 r97537 190 190 } 191 191 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&); 193 194 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&); 194 195 static const JSC::ClassInfo s_info; … … 215 216 } 216 217 217 bool JSTestObjConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 218 { 219 return getStaticValueSlot<JSTestObjConstructor, JSDOMWrapper>(exec, &JSTestObjConstructorTable, this, propertyName, slot); 218 bool JSTestObjConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 219 { 220 return getOwnPropertySlot(this, exec, propertyName, slot); 221 } 222 223 bool 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); 220 226 } 221 227 … … 307 313 } 308 314 309 bool JSTestObjPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 310 { 311 return getStaticPropertySlot<JSTestObjPrototype, JSObject>(exec, &JSTestObjPrototypeTable, this, propertyName, slot); 315 bool JSTestObjPrototype::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 316 { 317 return getOwnPropertySlot(this, exec, propertyName, slot); 318 } 319 320 bool 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); 312 324 } 313 325 … … 336 348 } 337 349 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); 350 bool JSTestObj::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 351 { 352 return getOwnPropertySlot(this, exec, propertyName, slot); 353 } 354 355 bool 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); 342 360 } 343 361 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h
r97532 r97537 41 41 42 42 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&); 44 45 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); 45 46 virtual void putVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&); … … 90 91 91 92 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&); 93 95 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&); 94 96 static JSC::Structure* createStructure(JSC::JSGlobalData& globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp
r95936 r97537 89 89 } 90 90 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&); 92 93 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&); 93 94 static const JSC::ClassInfo s_info; … … 114 115 } 115 116 116 bool JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 117 { 118 return getStaticValueSlot<JSTestSerializedScriptValueInterfaceConstructor, JSDOMWrapper>(exec, &JSTestSerializedScriptValueInterfaceConstructorTable, this, propertyName, slot); 117 bool JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 118 { 119 return getOwnPropertySlot(this, exec, propertyName, slot); 120 } 121 122 bool 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); 119 125 } 120 126 … … 169 175 } 170 176 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); 177 bool JSTestSerializedScriptValueInterface::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 178 { 179 return getOwnPropertySlot(this, exec, propertyName, slot); 180 } 181 182 bool 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); 175 187 } 176 188 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h
r95901 r97537 43 43 44 44 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&); 46 47 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); 47 48 static const JSC::ClassInfo s_info; -
trunk/Source/WebCore/bridge/objc/objc_runtime.h
r97532 r97537 124 124 ObjcFallbackObjectImp(JSGlobalObject*, Structure*, ObjcInstance*, const Identifier& propertyName); 125 125 static const unsigned StructureFlags = OverridesGetOwnPropertySlot | JSObject::StructureFlags; 126 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);126 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 127 127 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 128 128 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/WebCore/bridge/objc/objc_runtime.mm
r97532 r97537 206 206 } 207 207 208 bool ObjcFallbackObjectImp::getOwnPropertySlot (ExecState* exec, const Identifier& identifier, PropertySlot& slot)208 bool ObjcFallbackObjectImp::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& identifier, PropertySlot& slot) 209 209 { 210 210 return getOwnPropertySlot(this, exec, identifier, slot); -
trunk/Source/WebCore/bridge/qt/qt_instance.cpp
r97532 r97537 154 154 bool QtInstance::getOwnPropertySlot(JSObject* object, ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 155 155 { 156 return object->JSObject::getOwnPropertySlot(exec, propertyName, slot);156 return JSObject::getOwnPropertySlot(object, exec, propertyName, slot); 157 157 } 158 158 -
trunk/Source/WebCore/bridge/qt/qt_runtime.cpp
r97532 r97537 1495 1495 } 1496 1496 1497 bool QtRuntimeMetaMethod::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)1497 bool QtRuntimeMetaMethod::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 1498 1498 { 1499 1499 return getOwnPropertySlot(this, exec, propertyName, slot); … … 1742 1742 } 1743 1743 1744 bool QtRuntimeConnectionMethod::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)1744 bool QtRuntimeConnectionMethod::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 1745 1745 { 1746 1746 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/WebCore/bridge/qt/qt_runtime.h
r97097 r97537 165 165 } 166 166 167 virtual bool getOwnPropertySlot (ExecState *, const Identifier&, PropertySlot&);167 virtual bool getOwnPropertySlotVirtual(ExecState *, const Identifier&, PropertySlot&); 168 168 static bool getOwnPropertySlot(JSCell*, ExecState *, const Identifier&, PropertySlot&); 169 169 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); … … 206 206 } 207 207 208 virtual bool getOwnPropertySlot (ExecState *, const Identifier&, PropertySlot&);208 virtual bool getOwnPropertySlotVirtual(ExecState *, const Identifier&, PropertySlot&); 209 209 static bool getOwnPropertySlot(JSCell*, ExecState *, const Identifier&, PropertySlot&); 210 210 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/WebCore/bridge/runtime_array.cpp
r97532 r97537 79 79 } 80 80 81 bool RuntimeArray::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)81 bool RuntimeArray::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 82 82 { 83 83 return getOwnPropertySlot(this, exec, propertyName, slot); … … 127 127 } 128 128 129 bool RuntimeArray::getOwnPropertySlot (ExecState *exec, unsigned index, PropertySlot& slot)129 bool RuntimeArray::getOwnPropertySlotVirtual(ExecState *exec, unsigned index, PropertySlot& slot) 130 130 { 131 131 return getOwnPropertySlot(this, exec, index, slot); -
trunk/Source/WebCore/bridge/runtime_array.h
r97532 r97537 51 51 52 52 virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties); 53 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);53 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 54 54 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 55 virtual bool getOwnPropertySlot (ExecState*, unsigned, PropertySlot&);55 virtual bool getOwnPropertySlotVirtual(ExecState*, unsigned, PropertySlot&); 56 56 static bool getOwnPropertySlot(JSCell*, ExecState*, unsigned, PropertySlot&); 57 57 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/WebCore/bridge/runtime_method.cpp
r97097 r97537 70 70 } 71 71 72 bool RuntimeMethod::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot &slot)72 bool RuntimeMethod::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot &slot) 73 73 { 74 74 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/WebCore/bridge/runtime_method.h
r97097 r97537 67 67 private: 68 68 static JSValue lengthGetter(ExecState*, JSValue, const Identifier&); 69 virtual bool getOwnPropertySlot (ExecState*, const Identifier&, PropertySlot&);69 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier&, PropertySlot&); 70 70 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); 71 71 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); -
trunk/Source/WebCore/bridge/runtime_object.cpp
r97532 r97537 117 117 } 118 118 119 bool RuntimeObject::getOwnPropertySlot (ExecState *exec, const Identifier& propertyName, PropertySlot& slot)119 bool RuntimeObject::getOwnPropertySlotVirtual(ExecState *exec, const Identifier& propertyName, PropertySlot& slot) 120 120 { 121 121 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/WebCore/bridge/runtime_object.h
r97532 r97537 46 46 virtual ~RuntimeObject(); 47 47 48 virtual bool getOwnPropertySlot (ExecState*, const Identifier& propertyName, PropertySlot&);48 virtual bool getOwnPropertySlotVirtual(ExecState*, const Identifier& propertyName, PropertySlot&); 49 49 static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&); 50 50 virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier& propertyName, PropertyDescriptor&); -
trunk/Source/WebKit2/ChangeLog
r97532 r97537 1 2011-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 1 19 2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com> 2 20 -
trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp
r97532 r97537 253 253 } 254 254 255 bool JSNPObject::getOwnPropertySlot (ExecState* exec, const Identifier& propertyName, PropertySlot& slot)255 bool JSNPObject::getOwnPropertySlotVirtual(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) 256 256 { 257 257 return getOwnPropertySlot(this, exec, propertyName, slot); -
trunk/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.h
r97532 r97537 84 84 static JSC::ConstructType getConstructData(JSC::JSCell*, JSC::ConstructData&); 85 85 86 virtual bool getOwnPropertySlot (JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);86 virtual bool getOwnPropertySlotVirtual(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); 87 87 static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); 88 88 virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
Note: See TracChangeset
for help on using the changeset viewer.