Changeset 262570 in webkit for trunk/Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp
- Timestamp:
- Jun 4, 2020, 2:07:42 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp
r262562 r262570 207 207 saveAllRegisters(jit, registerScratch); 208 208 209 if (validateDFGDoesGC) { 210 // We're about to exit optimized code. So, there's no longer any optimized 211 // code running that expects no GC. We need to set this before object 212 // materialization below. 213 214 // Even though we set Heap::m_doesGC in compileFTLOSRExit(), we also need 215 // to set it here because compileFTLOSRExit() is only called on the first time 216 // we exit from this site, but all subsequent exits will take this compiled 217 // ramp without calling compileFTLOSRExit() first. 218 jit.store32(CCallHelpers::TrustedImm32(DoesGCCheck::encode(true, DoesGCCheck::Special::FTLOSRExit)), vm.heap.addressOfDoesGC()); 209 if constexpr (validateDFGDoesGC) { 210 if (Options::validateDoesGC()) { 211 // We're about to exit optimized code. So, there's no longer any optimized 212 // code running that expects no GC. We need to set this before object 213 // materialization below. 214 215 // Even though we set Heap::m_doesGC in compileFTLOSRExit(), we also need 216 // to set it here because compileFTLOSRExit() is only called on the first time 217 // we exit from this site, but all subsequent exits will take this compiled 218 // ramp without calling compileFTLOSRExit() first. 219 jit.store32(CCallHelpers::TrustedImm32(DoesGCCheck::encode(true, DoesGCCheck::Special::FTLOSRExit)), vm.heap.addressOfDoesGC()); 220 } 219 221 } 220 222 … … 546 548 VM& vm = callFrame->deprecatedVM(); 547 549 548 if (validateDFGDoesGC) {550 if constexpr (validateDFGDoesGC) { 549 551 // We're about to exit optimized code. So, there's no longer any optimized 550 552 // code running that expects no GC.
Note:
See TracChangeset
for help on using the changeset viewer.