From b544ee5faaf96ef92edfcb25b5a4296c9d5ca1e6 Mon Sep 17 00:00:00 2001 From: Jon Coppeard Date: Tue, 30 Jul 2013 13:52:30 +0100 Subject: [PATCH] Backout 80e1116e4599 for Android failures on a CLOSED TREE --- js/src/ion/arm/Architecture-arm.h | 13 ++----------- js/src/ion/arm/Trampoline-arm.cpp | 18 ++---------------- 2 files changed, 4 insertions(+), 27 deletions(-) diff --git a/js/src/ion/arm/Architecture-arm.h b/js/src/ion/arm/Architecture-arm.h index 082ccff59d76..58eea13711a9 100644 --- a/js/src/ion/arm/Architecture-arm.h +++ b/js/src/ion/arm/Architecture-arm.h @@ -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; diff --git a/js/src/ion/arm/Trampoline-arm.cpp b/js/src/ion/arm/Trampoline-arm.cpp index 870ec34af4fe..764defe66689 100644 --- a/js/src/ion/arm/Trampoline-arm.cpp +++ b/js/src/ion/arm/Trampoline-arm.cpp @@ -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);