mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-10 13:54:27 +00:00
Backout 80e1116e4599 for Android failures on a CLOSED TREE
This commit is contained in:
parent
7299a2ef3b
commit
b544ee5faa
@ -196,17 +196,8 @@ class FloatRegisters
|
||||
|
||||
static const uint32_t AllMask = (1 << Total) - 1;
|
||||
|
||||
static const uint32_t NonVolatileMask =
|
||||
(1 << d8) |
|
||||
(1 << d9) |
|
||||
(1 << d10) |
|
||||
(1 << d11) |
|
||||
(1 << d12) |
|
||||
(1 << d13) |
|
||||
(1 << d14) |
|
||||
(1 << d15);
|
||||
|
||||
static const uint32_t VolatileMask = AllMask & ~NonVolatileMask;
|
||||
static const uint32_t VolatileMask = AllMask;
|
||||
static const uint32_t NonVolatileMask = 0;
|
||||
|
||||
static const uint32_t WrapperMask = VolatileMask;
|
||||
|
||||
|
@ -19,14 +19,10 @@
|
||||
using namespace js;
|
||||
using namespace js::ion;
|
||||
|
||||
static const FloatRegisterSet NonVolatileFloatRegs =
|
||||
FloatRegisterSet(FloatRegisters::NonVolatileMask); /* d8 - d15 */
|
||||
|
||||
static void
|
||||
GenerateReturn(MacroAssembler &masm, int returnCode)
|
||||
{
|
||||
// Restore non-volatile registers
|
||||
masm.transferMultipleByRuns(NonVolatileFloatRegs, IsLoad, StackPointer, IA);
|
||||
masm.ma_mov(Imm32(returnCode), r0);
|
||||
masm.startDataTransferM(IsLoad, sp, IA, WriteBack);
|
||||
masm.transferReg(r4);
|
||||
@ -45,15 +41,6 @@ GenerateReturn(MacroAssembler &masm, int returnCode)
|
||||
|
||||
struct EnterJITStack
|
||||
{
|
||||
double d8;
|
||||
double d9;
|
||||
double d10;
|
||||
double d11;
|
||||
double d12;
|
||||
double d13;
|
||||
double d14;
|
||||
double d15;
|
||||
|
||||
void *r0; // alignment.
|
||||
|
||||
// non-volatile registers.
|
||||
@ -80,8 +67,8 @@ struct EnterJITStack
|
||||
};
|
||||
|
||||
/*
|
||||
* This method generates a trampoline for a c++ function with the following
|
||||
* signature:
|
||||
* This method generates a trampoline on x86 for a c++ function with
|
||||
* the following signature:
|
||||
* void enter(void *code, int argc, Value *argv, StackFrame *fp, CalleeToken
|
||||
* calleeToken, JSObject *scopeChain, Value *vp)
|
||||
* ...using standard EABI calling convention
|
||||
@ -121,7 +108,6 @@ IonRuntime::generateEnterJIT(JSContext *cx, EnterJitType type)
|
||||
masm.transferReg(lr); // [sp,36]
|
||||
// The 5th argument is located at [sp, 40]
|
||||
masm.finishDataTransfer();
|
||||
masm.transferMultipleByRuns(NonVolatileFloatRegs, IsStore, sp, DB);
|
||||
|
||||
// Save stack pointer into r8
|
||||
masm.movePtr(sp, r8);
|
||||
|
Loading…
Reference in New Issue
Block a user