From: qiaopengcheng Date: Sat, 1 Jun 2019 22:28:24 +0000 (+0900) Subject: Bug 1556197 - amend Bug-1544631 for fixing mips32. X-Git-Tag: archive/raspbian/1%78.11.0-1_deb10u1+rpi1^2~14 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=6d5c40bb775419c8e47b00a6c19c2f5366eaf435;p=thunderbird.git Bug 1556197 - amend Bug-1544631 for fixing mips32. Gbp-Pq: Topic fixes Gbp-Pq: Name Bug-1556197-amend-Bug-1544631-for-fixing-mips32.patch --- diff --git a/js/src/jit/mips32/MacroAssembler-mips32-inl.h b/js/src/jit/mips32/MacroAssembler-mips32-inl.h index a42091161d..408b60b96b 100644 --- a/js/src/jit/mips32/MacroAssembler-mips32-inl.h +++ b/js/src/jit/mips32/MacroAssembler-mips32-inl.h @@ -842,16 +842,25 @@ void MacroAssembler::branchTestSymbol(Condition cond, const ValueOperand& value, branchTestSymbol(cond, value.typeReg(), label); } +void MacroAssembler::branchTestBigInt(Condition cond, Register tag, + Label* label) { + MOZ_ASSERT(cond == Equal || cond == NotEqual); + ma_b(tag, ImmTag(JSVAL_TAG_BIGINT), label, cond); +} + void MacroAssembler::branchTestBigInt(Condition cond, const BaseIndex& address, Label* label) { SecondScratchRegisterScope scratch2(*this); - Register tag = extractTag(address, scratch2); - branchTestBigInt(cond, tag, label); + computeEffectiveAddress(address, scratch2); + splitTag(scratch2, scratch2); + branchTestBigInt(cond, scratch2, label); } void MacroAssembler::branchTestBigInt(Condition cond, const ValueOperand& value, Label* label) { - branchTestBigInt(cond, value.typeReg(), label); + SecondScratchRegisterScope scratch2(*this); + splitTag(value, scratch2); + branchTestBigInt(cond, scratch2, label); } void MacroAssembler::branchTestBigIntTruthy(bool b, const ValueOperand& value,