mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 20:35:50 +00:00
Bug 1046164 - Restoring GlobalReg earlier in GenerateFFIIonExit. r=luke
This commit is contained in:
parent
dfc054e9ba
commit
f8aea847bc
@ -6373,6 +6373,14 @@ GenerateFFIIonExit(ModuleCompiler &m, const ModuleCompiler::ExitDescriptor &exit
|
||||
masm.storePtr(reg2, Address(reg0, offsetOfJitJSContext));
|
||||
}
|
||||
|
||||
JS_ASSERT(masm.framePushed() == framePushed);
|
||||
#if defined(JS_CODEGEN_X64)
|
||||
masm.loadPtr(Address(StackPointer, savedHeapOffset), HeapReg);
|
||||
#elif defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_MIPS)
|
||||
masm.loadPtr(Address(StackPointer, savedHeapOffset), HeapReg);
|
||||
masm.loadPtr(Address(StackPointer, savedGlobalOffset), GlobalReg);
|
||||
#endif
|
||||
|
||||
masm.branchTestMagic(Assembler::Equal, JSReturnOperand, throwLabel);
|
||||
|
||||
Label oolConvert;
|
||||
@ -6394,14 +6402,6 @@ GenerateFFIIonExit(ModuleCompiler &m, const ModuleCompiler::ExitDescriptor &exit
|
||||
Label done;
|
||||
masm.bind(&done);
|
||||
|
||||
JS_ASSERT(masm.framePushed() == framePushed);
|
||||
#if defined(JS_CODEGEN_X64)
|
||||
masm.loadPtr(Address(StackPointer, savedHeapOffset), HeapReg);
|
||||
#elif defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_MIPS)
|
||||
masm.loadPtr(Address(StackPointer, savedHeapOffset), HeapReg);
|
||||
masm.loadPtr(Address(StackPointer, savedGlobalOffset), GlobalReg);
|
||||
#endif
|
||||
|
||||
Label profilingReturn;
|
||||
GenerateAsmJSExitEpilogue(masm, framePushed, AsmJSExit::FFI, &profilingReturn);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user