Changeset 178856 in webkit for trunk/Source/JavaScriptCore/jit/Repatch.cpp
- Timestamp:
- Jan 21, 2015, 1:43:55 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/Repatch.cpp
r178756 r178856 512 512 MacroAssembler::TrustedImmPtr(0)); 513 513 514 // loadedValueGPR is already burned. We can reuse it. From here on we assume that515 // any volatile register will be clobbered anyway.516 stubJit.loadPtr(517 MacroAssembler::Address(loadedValueGPR, JSFunction::offsetOfScopeChain()),518 loadedValueGPR);519 stubJit.storeCell(520 loadedValueGPR, calleeFrame.withOffset(JSStack::ScopeChain * sizeof(Register)));521 514 fastPathCall = stubJit.nearCall(); 522 515 … … 1686 1679 CCallHelpers::TrustedImmPtr(executable))); 1687 1680 1688 stubJit.loadPtr(1689 CCallHelpers::Address(calleeGPR, JSFunction::offsetOfScopeChain()),1690 GPRInfo::returnValueGPR);1691 1692 #if USE(JSVALUE64)1693 stubJit.store64(1694 GPRInfo::returnValueGPR,1695 CCallHelpers::Address(MacroAssembler::stackPointerRegister, static_cast<ptrdiff_t>(sizeof(Register) * JSStack::ScopeChain) + offsetToFrame));1696 #else1697 stubJit.storePtr(1698 GPRInfo::returnValueGPR,1699 CCallHelpers::Address(MacroAssembler::stackPointerRegister, static_cast<ptrdiff_t>(sizeof(Register) * JSStack::ScopeChain) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.payload) + offsetToFrame));1700 stubJit.store32(1701 CCallHelpers::TrustedImm32(JSValue::CellTag),1702 CCallHelpers::Address(MacroAssembler::stackPointerRegister, static_cast<ptrdiff_t>(sizeof(Register) * JSStack::ScopeChain) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.tag) + offsetToFrame));1703 #endif1704 1705 1681 AssemblyHelpers::Call call = stubJit.nearCall(); 1706 1682 AssemblyHelpers::Jump done = stubJit.jump();
Note:
See TracChangeset
for help on using the changeset viewer.