Changeset 284781 in webkit for trunk/Source/JavaScriptCore/jit/JIT.cpp
- Timestamp:
- Oct 25, 2021, 6:55:04 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/JIT.cpp
r283344 r284781 801 801 int offset = CallFrame::argumentOffsetIncludingThis(argument) * static_cast<int>(sizeof(Register)); 802 802 #if USE(JSVALUE64) 803 JSValueRegs resultRegs = JSValueRegs(regT0); 804 load64(Address(callFrameRegister, offset), resultRegs.payloadGPR()); 803 constexpr JSValueRegs resultRegs { regT0 }; 805 804 #elif USE(JSVALUE32_64) 806 JSValueRegs resultRegs = JSValueRegs(regT1, regT0); 807 load32(Address(callFrameRegister, offset + OBJECT_OFFSETOF(JSValue, u.asBits.payload)), resultRegs.payloadGPR()); 808 load32(Address(callFrameRegister, offset + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), resultRegs.tagGPR()); 805 constexpr JSValueRegs resultRegs { regT1, regT0 }; 809 806 #endif 807 loadValue(Address(callFrameRegister, offset), resultRegs); 810 808 storeValue(resultRegs, Address(regT2, argument * sizeof(ValueProfile) + ValueProfile::offsetOfFirstBucket())); 811 809 } … … 940 938 } 941 939 942 #if USE(JSVALUE64)943 940 auto finalizeICs = [&] (auto& generators) { 944 941 for (auto& gen : generators) { … … 960 957 finalizeICs(m_instanceOfs); 961 958 finalizeICs(m_privateBrandAccesses); 962 #else963 finalizeInlineCaches(m_getByIds, patchBuffer);964 finalizeInlineCaches(m_getByVals, patchBuffer);965 finalizeInlineCaches(m_getByIdsWithThis, patchBuffer);966 finalizeInlineCaches(m_putByIds, patchBuffer);967 finalizeInlineCaches(m_putByVals, patchBuffer);968 finalizeInlineCaches(m_delByIds, patchBuffer);969 finalizeInlineCaches(m_delByVals, patchBuffer);970 finalizeInlineCaches(m_inByIds, patchBuffer);971 finalizeInlineCaches(m_inByVals, patchBuffer);972 finalizeInlineCaches(m_instanceOfs, patchBuffer);973 finalizeInlineCaches(m_privateBrandAccesses, patchBuffer);974 #endif975 959 976 960 for (auto& compilationInfo : m_callCompilationInfo) { 977 #if USE(JSVALUE64)978 961 UnlinkedCallLinkInfo& info = *compilationInfo.unlinkedCallLinkInfo; 979 962 info.doneLocation = patchBuffer.locationOf<JSInternalPtrTag>(compilationInfo.doneLocation); 980 #else981 CallLinkInfo& info = *compilationInfo.callLinkInfo;982 info.setCodeLocations(983 patchBuffer.locationOf<JSInternalPtrTag>(compilationInfo.slowPathStart),984 patchBuffer.locationOf<JSInternalPtrTag>(compilationInfo.doneLocation));985 #endif986 987 963 } 988 964
Note:
See TracChangeset
for help on using the changeset viewer.