commit: 46a7beff9c65976bccd3ef07a8ad98c9c4ddf213 Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org> AuthorDate: Mon Nov 30 16:13:39 2015 +0000 Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org> CommitDate: Mon Nov 30 16:13:39 2015 +0000 URL: https://gitweb.gentoo.org/proj/mozilla.git/commit/?id=46a7beff
added patch to fix USE=-jit builds www-client/firefox/files/jit-none.patch | 135 +++++++++++++++++++++++++++ www-client/firefox/firefox-43.0_beta7.ebuild | 1 + 2 files changed, 136 insertions(+) diff --git a/www-client/firefox/files/jit-none.patch b/www-client/firefox/files/jit-none.patch new file mode 100644 index 0000000..7da33d7 --- /dev/null +++ b/www-client/firefox/files/jit-none.patch @@ -0,0 +1,135 @@ + +# HG changeset patch +# User Steve Singer <st...@ssinger.info> +# Date 1443349020 -7200 +# Node ID aa7e651a038a95c1f2eba8d869d66fb568c8b88c +# Parent c634c30551b04b8d214e7ae54c79af8d87b24445 +Bug 1208867 - Add xxx64 operations to MacroAssembler-none. r=sstangl + +diff --git a/js/src/jit/none/Lowering-none.h b/js/src/jit/none/Lowering-none.h +--- a/js/src/jit/none/Lowering-none.h ++++ b/js/src/jit/none/Lowering-none.h +@@ -82,16 +82,17 @@ class LIRGeneratorNone : public LIRGener + + LTableSwitch* newLTableSwitch(LAllocation, LDefinition, MTableSwitch*) { MOZ_CRASH(); } + LTableSwitchV* newLTableSwitchV(MTableSwitch*) { MOZ_CRASH(); } + void visitSimdSelect(MSimdSelect* ins) { MOZ_CRASH(); } + void visitSimdSplatX4(MSimdSplatX4* ins) { MOZ_CRASH(); } + void visitSimdValueX4(MSimdValueX4* lir) { MOZ_CRASH(); } + void visitSubstr(MSubstr*) { MOZ_CRASH(); } + void visitSimdBinaryArith(js::jit::MSimdBinaryArith*) { MOZ_CRASH(); } ++ void visitRandom(js::jit::MRandom*) { MOZ_CRASH(); } + + }; + + typedef LIRGeneratorNone LIRGeneratorSpecific; + + } // namespace jit + } // namespace js + +diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h +--- a/js/src/jit/none/MacroAssembler-none.h ++++ b/js/src/jit/none/MacroAssembler-none.h +@@ -233,20 +233,22 @@ class MacroAssemblerNone : public Assemb + void testObjectSet(Condition, ValueOperand, Register) { MOZ_CRASH(); } + void testUndefinedSet(Condition, ValueOperand, Register) { MOZ_CRASH(); } + + template <typename T, typename S> void cmpPtrSet(Condition, T, S, Register) { MOZ_CRASH(); } + template <typename T, typename S> void cmp32Set(Condition, T, S, Register) { MOZ_CRASH(); } + + template <typename T, typename S> void add32(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void addPtr(T, S) { MOZ_CRASH(); } ++ template <typename T, typename S> void add64(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void sub32(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void subPtr(T, S) { MOZ_CRASH(); } + void neg32(Register) { MOZ_CRASH(); } + void mulBy3(Register, Register) { MOZ_CRASH(); } ++ void mul64(Imm64, const Register64&) { MOZ_CRASH(); } + + void negateDouble(FloatRegister) { MOZ_CRASH(); } + void addDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); } + void subDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); } + void mulDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); } + void divDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); } + + template <typename T, typename S> void branch32(Condition, T, S, Label*) { MOZ_CRASH(); } +@@ -254,22 +256,24 @@ class MacroAssemblerNone : public Assemb + template <typename T, typename S> void branchAdd32(Condition, T, S, Label*) { MOZ_CRASH(); } + template <typename T, typename S> void branchSub32(Condition, T, S, Label*) { MOZ_CRASH(); } + template <typename T, typename S> void branchPtr(Condition, T, S, Label*) { MOZ_CRASH(); } + template <typename T, typename S> void branchTestPtr(Condition, T, S, Label*) { MOZ_CRASH(); } + template <typename T, typename S> void branchDouble(DoubleCondition, T, S, Label*) { MOZ_CRASH(); } + template <typename T, typename S> void branchFloat(DoubleCondition, T, S, Label*) { MOZ_CRASH(); } + template <typename T, typename S> void branchPrivatePtr(Condition, T, S, Label*) { MOZ_CRASH(); } + template <typename T, typename S> void decBranchPtr(Condition, T, S, Label*) { MOZ_CRASH(); } ++ template <typename T, typename S> void branchTest64(Condition, T, T, S, Label*) { MOZ_CRASH(); } + template <typename T, typename S> void mov(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void movq(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void movePtr(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void move32(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void moveFloat32(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void moveDouble(T, S) { MOZ_CRASH(); } ++ template <typename T, typename S> void move64(T, S) { MOZ_CRASH(); } + template <typename T> CodeOffsetLabel movWithPatch(T, Register) { MOZ_CRASH(); } + + template <typename T> void loadInt32x1(T, FloatRegister dest) { MOZ_CRASH(); } + template <typename T> void loadInt32x2(T, FloatRegister dest) { MOZ_CRASH(); } + template <typename T> void loadInt32x3(T, FloatRegister dest) { MOZ_CRASH(); } + template <typename T> void loadFloat32x3(T, FloatRegister dest) { MOZ_CRASH(); } + + template <typename T> void loadPtr(T, Register) { MOZ_CRASH(); } +@@ -280,32 +284,34 @@ class MacroAssemblerNone : public Assemb + template <typename T> void loadUnalignedInt32x4(T, FloatRegister) { MOZ_CRASH(); } + template <typename T> void loadAlignedFloat32x4(T, FloatRegister) { MOZ_CRASH(); } + template <typename T> void loadUnalignedFloat32x4(T, FloatRegister) { MOZ_CRASH(); } + template <typename T> void loadPrivate(T, Register) { MOZ_CRASH(); } + template <typename T> void load8SignExtend(T, Register) { MOZ_CRASH(); } + template <typename T> void load8ZeroExtend(T, Register) { MOZ_CRASH(); } + template <typename T> void load16SignExtend(T, Register) { MOZ_CRASH(); } + template <typename T> void load16ZeroExtend(T, Register) { MOZ_CRASH(); } ++ template <typename T> void load64(T, Register64 ) { MOZ_CRASH(); } + + template <typename T, typename S> void storePtr(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void store32(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void store32_NoSecondScratch(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void storeFloat32(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void storeDouble(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void storeAlignedInt32x4(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void storeUnalignedInt32x4(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void storeAlignedFloat32x4(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void storeUnalignedFloat32x4(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void store8(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void store16(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void storeInt32x1(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void storeInt32x2(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void storeInt32x3(T, S) { MOZ_CRASH(); } + template <typename T, typename S> void storeFloat32x3(T, S) { MOZ_CRASH(); } ++ template <typename T, typename S> void store64(T, S) { MOZ_CRASH(); } + + template <typename T> void computeEffectiveAddress(T, Register) { MOZ_CRASH(); } + + template <typename T> void compareExchange8SignExtend(const T& mem, Register oldval, Register newval, Register output) { MOZ_CRASH(); } + template <typename T> void compareExchange8ZeroExtend(const T& mem, Register oldval, Register newval, Register output) { MOZ_CRASH(); } + template <typename T> void compareExchange16SignExtend(const T& mem, Register oldval, Register newval, Register output) { MOZ_CRASH(); } + template <typename T> void compareExchange16ZeroExtend(const T& mem, Register oldval, Register newval, Register output) { MOZ_CRASH(); } + template <typename T> void compareExchange32(const T& mem, Register oldval, Register newval, Register output) { MOZ_CRASH(); } +@@ -393,16 +399,18 @@ class MacroAssemblerNone : public Assemb + void convertDoubleToInt32(FloatRegister, Register, Label*, bool v = true) { MOZ_CRASH(); } + void convertBoolToInt32(Register, Register) { MOZ_CRASH(); } + + void convertDoubleToFloat32(FloatRegister, FloatRegister) { MOZ_CRASH(); } + void convertInt32ToFloat32(Register, FloatRegister) { MOZ_CRASH(); } + + template <typename T> void convertInt32ToDouble(T, FloatRegister) { MOZ_CRASH(); } + void convertFloat32ToDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); } ++ void convertUInt64ToDouble(Register64, Register, FloatRegister) { MOZ_CRASH(); } ++ void mulDoublePtr(ImmPtr, Register, FloatRegister) { MOZ_CRASH(); } + + void branchTruncateDouble(FloatRegister, Register, Label*) { MOZ_CRASH(); } + void branchTruncateFloat32(FloatRegister, Register, Label*) { MOZ_CRASH(); } + + void boolValueToDouble(ValueOperand, FloatRegister) { MOZ_CRASH(); } + void boolValueToFloat32(ValueOperand, FloatRegister) { MOZ_CRASH(); } + void int32ValueToDouble(ValueOperand, FloatRegister) { MOZ_CRASH(); } + void int32ValueToFloat32(ValueOperand, FloatRegister) { MOZ_CRASH(); } + diff --git a/www-client/firefox/firefox-43.0_beta7.ebuild b/www-client/firefox/firefox-43.0_beta7.ebuild index eeec89b..8b97558 100644 --- a/www-client/firefox/firefox-43.0_beta7.ebuild +++ b/www-client/firefox/firefox-43.0_beta7.ebuild @@ -148,6 +148,7 @@ src_prepare() { EPATCH_EXCLUDE="8002_jemalloc_configure_unbashify.patch 8011_bug1194520-freetype261_until_moz43.patch" \ epatch "${WORKDIR}/firefox" + epatch "${FILESDIR}"/jit-none.patch # Allow user to apply any additional patches without modifing ebuild epatch_user