Changeset 228491 in webkit
- Timestamp:
- Feb 14, 2018 3:31:50 PM (6 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r228488 r228491 1 2018-02-14 Michael Saboff <msaboff@apple.com> 2 3 Crash: triggerOMGTierUpThunkGenerator() doesn't align the stack pointer before calling C++ code 4 https://bugs.webkit.org/show_bug.cgi?id=182808 5 6 Reviewed by Keith Miller. 7 8 Set up a proper frame with a prologue and epilogue to align the stack pointer for the rest of the 9 thunk. 10 11 * wasm/WasmThunks.cpp: 12 (JSC::Wasm::triggerOMGTierUpThunkGenerator): 13 1 14 2018-02-14 Saam Barati <sbarati@apple.com> 2 15 -
trunk/Source/JavaScriptCore/wasm/WasmThunks.cpp
r225411 r228491 82 82 CCallHelpers jit; 83 83 84 jit.emitFunctionPrologue(); 85 84 86 const unsigned extraPaddingBytes = 0; 85 87 RegisterSet registersToSpill = RegisterSet::allRegisters(); 86 88 registersToSpill.exclude(RegisterSet::registersToNotSaveForCCall()); 87 #if CPU(ARM64)88 // We also want to spill x30 since that holds our return pc.89 registersToSpill.set(ARM64Registers::x30);90 #endif91 89 unsigned numberOfStackBytesUsedForRegisterPreservation = ScratchRegisterAllocator::preserveRegistersToStackForCall(jit, registersToSpill, extraPaddingBytes); 92 90 … … 99 97 ScratchRegisterAllocator::restoreRegistersFromStackForCall(jit, registersToSpill, RegisterSet(), numberOfStackBytesUsedForRegisterPreservation, extraPaddingBytes); 100 98 99 jit.emitFunctionEpilogue(); 101 100 jit.ret(); 102 101 LinkBuffer linkBuffer(jit, GLOBAL_THUNK_ID);
Note: See TracChangeset
for help on using the changeset viewer.