diff options
Diffstat (limited to 'www-client/firefox/files/firefox-29.0.1-armhf.patch')
-rw-r--r-- | www-client/firefox/files/firefox-29.0.1-armhf.patch | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/www-client/firefox/files/firefox-29.0.1-armhf.patch b/www-client/firefox/files/firefox-29.0.1-armhf.patch deleted file mode 100644 index 7b028a8..0000000 --- a/www-client/firefox/files/firefox-29.0.1-armhf.patch +++ /dev/null @@ -1,126 +0,0 @@ -# HG changeset patch -# Parent ee20da83ab99b4e34165c5eb76fe48208b659974 -# User Marty Rosenberg <mrosenberg@mozilla.com> -make sm build when build as armhf. - -diff --git a/js/src/jit/BaselineIC.cpp b/js/src/jit/BaselineIC.cpp ---- a/js/src/jit/BaselineIC.cpp -+++ b/js/src/jit/BaselineIC.cpp -@@ -1920,17 +1920,16 @@ ICCompare_Fallback::Compiler::generateSt - masm.pushValue(R0); - masm.pushValue(R1); - - // Push arguments. - masm.pushValue(R1); - masm.pushValue(R0); - masm.push(BaselineStubReg); - masm.pushBaselineFramePtr(BaselineFrameReg, R0.scratchReg()); -- - return tailCallVM(DoCompareFallbackInfo, masm); - } - - // - // Compare_String - // - - bool -diff --git a/js/src/jit/arm/MacroAssembler-arm.cpp b/js/src/jit/arm/MacroAssembler-arm.cpp ---- a/js/src/jit/arm/MacroAssembler-arm.cpp -+++ b/js/src/jit/arm/MacroAssembler-arm.cpp -@@ -3479,16 +3479,17 @@ MacroAssemblerARMCompat::setupABICall(ui - JS_ASSERT(!inCall_); - inCall_ = true; - args_ = args; - passedArgs_ = 0; - passedArgTypes_ = 0; - #ifdef JS_CODEGEN_ARM_HARDFP - usedIntSlots_ = 0; - usedFloatSlots_ = 0; -+ usedFloat32_ = false; - padding_ = 0; - #else - usedSlots_ = 0; - #endif - floatArgsInGPR[0] = MoveOperand(); - floatArgsInGPR[1] = MoveOperand(); - floatArgsInGPRValid[0] = false; - floatArgsInGPRValid[1] = false; -@@ -3521,41 +3522,55 @@ MacroAssemblerARMCompat::passABIArg(cons - { - MoveOperand to; - ++passedArgs_; - if (!enoughMemory_) - return; - switch (type) { - case MoveOp::FLOAT32: - case MoveOp::DOUBLE: { -+ JS_ASSERT(!usedFloat32_); -+ if (type == MoveOp::FLOAT32) -+ usedFloat32_ = true; - FloatRegister fr; - if (GetFloatArgReg(usedIntSlots_, usedFloatSlots_, &fr)) { - if (from.isFloatReg() && from.floatReg() == fr) { - // Nothing to do; the value is in the right register already -+ usedFloatSlots_++; -+ if (type == MoveOp::FLOAT32) -+ passedArgTypes_ = (passedArgTypes_ << ArgType_Shift) | ArgType_Float32; -+ else -+ passedArgTypes_ = (passedArgTypes_ << ArgType_Shift) | ArgType_Double; - return; - } - to = MoveOperand(fr); - } else { - // If (and only if) the integer registers have started spilling, do we - // need to take the register's alignment into account -- uint32_t disp = GetFloatArgStackDisp(usedIntSlots_, usedFloatSlots_, &padding_); -+ uint32_t disp = INT_MAX; -+ if (type == MoveOp::FLOAT32) -+ disp = GetFloat32ArgStackDisp(usedIntSlots_, usedFloatSlots_, &padding_); -+ else -+ disp = GetDoubleArgStackDisp(usedIntSlots_, usedFloatSlots_, &padding_); - to = MoveOperand(sp, disp); - } - usedFloatSlots_++; - if (type == MoveOp::FLOAT32) - passedArgTypes_ = (passedArgTypes_ << ArgType_Shift) | ArgType_Float32; - else - passedArgTypes_ = (passedArgTypes_ << ArgType_Shift) | ArgType_Double; - break; - } - case MoveOp::GENERAL: { - Register r; - if (GetIntArgReg(usedIntSlots_, usedFloatSlots_, &r)) { - if (from.isGeneralReg() && from.reg() == r) { - // Nothing to do; the value is in the right register already -+ usedIntSlots_++; -+ passedArgTypes_ = (passedArgTypes_ << ArgType_Shift) | ArgType_General; - return; - } - to = MoveOperand(r); - } else { - uint32_t disp = GetIntArgStackDisp(usedIntSlots_, usedFloatSlots_, &padding_); - to = MoveOperand(sp, disp); - } - usedIntSlots_++; -diff --git a/js/src/jit/arm/MacroAssembler-arm.h b/js/src/jit/arm/MacroAssembler-arm.h ---- a/js/src/jit/arm/MacroAssembler-arm.h -+++ b/js/src/jit/arm/MacroAssembler-arm.h -@@ -443,16 +443,17 @@ class MacroAssemblerARMCompat : public M - // The actual number of arguments that were passed, used to assert that - // the initial number of arguments declared was correct. - uint32_t passedArgs_; - uint32_t passedArgTypes_; - - #ifdef JS_CODEGEN_ARM_HARDFP - uint32_t usedIntSlots_; - uint32_t usedFloatSlots_; -+ bool usedFloat32_; - uint32_t padding_; - #else - // ARM treats arguments as a vector in registers/memory, that looks like: - // { r0, r1, r2, r3, [sp], [sp,+4], [sp,+8] ... } - // usedSlots_ keeps track of how many of these have been used. - // It bears a passing resemblance to passedArgs_, but a single argument - // can effectively use between one and three slots depending on its size and - // alignment requirements - |