Changeset 55564 in webkit for trunk/JavaScriptCore/jit/JITStubs.cpp
- Timestamp:
- Mar 4, 2010, 5:33:54 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JITStubs.cpp
r55185 r55564 876 876 // set this up, so derefStructures can do it's job. 877 877 stubInfo->initGetByIdSelf(structure); 878 if (slot. isGetter())878 if (slot.cachedPropertyType() != PropertySlot::Value) 879 879 ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(cti_op_get_by_id_self_fail)); 880 880 else … … 905 905 ASSERT(!structure->isDictionary()); 906 906 ASSERT(!slotBaseObject->structure()->isDictionary()); 907 JIT::compileGetByIdProto(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, structure, slotBaseObject->structure(), slot.isGetter(), offset, returnAddress);907 JIT::compileGetByIdProto(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, structure, slotBaseObject->structure(), propertyName, slot, offset, returnAddress); 908 908 return; 909 909 } … … 918 918 StructureChain* prototypeChain = structure->prototypeChain(callFrame); 919 919 stubInfo->initGetByIdChain(structure, prototypeChain); 920 JIT::compileGetByIdChain(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, structure, prototypeChain, count, slot.isGetter(), offset, returnAddress);920 JIT::compileGetByIdChain(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, structure, prototypeChain, count, propertyName, slot, offset, returnAddress); 921 921 } 922 922 … … 1400 1400 } 1401 1401 1402 JIT::compileGetByIdSelfList(callFrame->scopeChain()->globalData, codeBlock, stubInfo, polymorphicStructureList, listIndex, asCell(baseValue)->structure(), slot.isGetter(), slot.cachedOffset());1402 JIT::compileGetByIdSelfList(callFrame->scopeChain()->globalData, codeBlock, stubInfo, polymorphicStructureList, listIndex, asCell(baseValue)->structure(), ident, slot, slot.cachedOffset()); 1403 1403 1404 1404 if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1)) … … 1455 1455 } 1456 1456 1457 DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_custom_stub) 1458 { 1459 STUB_INIT_STACK_FRAME(stackFrame); 1460 CallFrame* callFrame = stackFrame.callFrame; 1461 JSObject* slotBase = stackFrame.args[0].jsObject(); 1462 PropertySlot::GetValueFunc getter = reinterpret_cast<PropertySlot::GetValueFunc>(stackFrame.args[1].asPointer); 1463 const Identifier& ident = stackFrame.args[2].identifier(); 1464 JSValue result = getter(callFrame, slotBase, ident); 1465 if (callFrame->hadException()) 1466 returnToThrowTrampoline(&callFrame->globalData(), stackFrame.args[3].returnAddress(), STUB_RETURN_ADDRESS); 1467 1468 return JSValue::encode(result); 1469 } 1470 1457 1471 DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list) 1458 1472 { … … 1496 1510 PolymorphicAccessStructureList* prototypeStructureList = getPolymorphicAccessStructureListSlot(stubInfo, listIndex); 1497 1511 1498 JIT::compileGetByIdProtoList(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, slotBaseObject->structure(), slot.isGetter(), offset);1512 JIT::compileGetByIdProtoList(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, slotBaseObject->structure(), propertyName, slot, offset); 1499 1513 1500 1514 if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1)) … … 1506 1520 1507 1521 StructureChain* protoChain = structure->prototypeChain(callFrame); 1508 JIT::compileGetByIdChainList(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, protoChain, count, slot.isGetter(), offset);1522 JIT::compileGetByIdChainList(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, protoChain, count, propertyName, slot, offset); 1509 1523 1510 1524 if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
Note:
See TracChangeset
for help on using the changeset viewer.