Changeset 193485 in webkit for trunk/Source/JavaScriptCore/ftl/FTLThunks.cpp
- Timestamp:
- Dec 4, 2015, 4:04:01 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ftl/FTLThunks.cpp
r190860 r193485 30 30 31 31 #include "AssemblyHelpers.h" 32 #include "DFGOSRExitCompilerCommon.h" 32 33 #include "FPRInfo.h" 33 34 #include "FTLOSRExitCompiler.h" … … 41 42 using namespace DFG; 42 43 44 enum class FrameAndStackAdjustmentRequirement { 45 Needed, 46 NotNeeded 47 }; 48 43 49 static MacroAssemblerCodeRef genericGenerationThunkGenerator( 44 VM* vm, FunctionPtr generationFunction, const char* name, unsigned extraPopsToRestore )50 VM* vm, FunctionPtr generationFunction, const char* name, unsigned extraPopsToRestore, FrameAndStackAdjustmentRequirement frameAndStackAdjustmentRequirement) 45 51 { 46 52 AssemblyHelpers jit(vm, 0); 53 54 if (frameAndStackAdjustmentRequirement == FrameAndStackAdjustmentRequirement::Needed) { 55 // This needs to happen before we use the scratch buffer because this function also uses the scratch buffer. 56 adjustFrameAndStackInOSRExitCompilerThunk<FTL::JITCode>(jit, vm, JITCode::FTLJIT); 57 } 47 58 48 59 // Note that the "return address" will be the ID that we pass to the generation function. … … 116 127 unsigned extraPopsToRestore = 0; 117 128 return genericGenerationThunkGenerator( 118 vm, compileFTLOSRExit, "FTL OSR exit generation thunk", extraPopsToRestore );129 vm, compileFTLOSRExit, "FTL OSR exit generation thunk", extraPopsToRestore, FrameAndStackAdjustmentRequirement::Needed); 119 130 } 120 131 … … 123 134 unsigned extraPopsToRestore = 1; 124 135 return genericGenerationThunkGenerator( 125 vm, compileFTLLazySlowPath, "FTL lazy slow path generation thunk", extraPopsToRestore );136 vm, compileFTLLazySlowPath, "FTL lazy slow path generation thunk", extraPopsToRestore, FrameAndStackAdjustmentRequirement::NotNeeded); 126 137 } 127 138
Note:
See TracChangeset
for help on using the changeset viewer.