aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch126
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
-