Changeset 273104 in webkit
- Timestamp:
- Feb 18, 2021, 3:20:43 PM (6 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
llint/LowLevelInterpreter32_64.asm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r273086 r273104 1 2021-02-18 Daniel Kolesa <dkolesa@igalia.com> 2 3 [JSC] Fix segfaults on 32-bit big endian systems 4 https://bugs.webkit.org/show_bug.cgi?id=221710 5 6 Reviewed by Yusuke Suzuki. 7 8 In these cases, we are loading values from memory into registers. 9 Seemingly, these values are present at an offset on 32-bit big 10 endian targets; therefore, add PayloadOffset, which is 4 on BE 11 and 0 on LE (same behavior as right now) and is already present 12 in other similar accesses in the file. 13 14 * llint/LowLevelInterpreter32_64.asm: 15 1 16 2021-02-18 Michael Saboff <msaboff@apple.com> 2 17 -
trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
r272580 r273104 1580 1580 assert(macro (ok) btpnz t3, ok end) 1581 1581 1582 loadp Structure::m_prototype [t2], t21582 loadp Structure::m_prototype + PayloadOffset[t2], t2 1583 1583 btpz t2, .opPutByIdTransitionChainDone 1584 1584 .opPutByIdTransitionChainLoop: … … 1586 1586 bineq t1, JSCell::m_structureID[t2], .opPutByIdSlow 1587 1587 addp 4, t3 1588 loadp Structure::m_prototype [t1], t21588 loadp Structure::m_prototype + PayloadOffset[t1], t2 1589 1589 btpnz t2, .opPutByIdTransitionChainLoop 1590 1590 … … 2252 2252 2253 2253 op(llint_throw_from_slow_path_trampoline, macro() 2254 loadp Callee [cfr], t12254 loadp Callee + PayloadOffset[cfr], t1 2255 2255 convertCalleeToVM(t1) 2256 2256 copyCalleeSavesToVMEntryFrameCalleeSavesBuffer(t1, t2) … … 2261 2261 # the throw target is not necessarily interpreted code, we come to here. 2262 2262 # This essentially emulates the JIT's throwing protocol. 2263 loadp Callee [cfr], t12263 loadp Callee + PayloadOffset[cfr], t1 2264 2264 convertCalleeToVM(t1) 2265 2265 jmp VM::targetMachinePCForThrow[t1]
Note:
See TracChangeset
for help on using the changeset viewer.