tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 9d56e2c7adbf9b74fbed4437931324a39b56d349
parent 453e8da7933f7e61dbc03ee2a6a91e2b548809c2
Author: André Bargull <andre.bargull@gmail.com>
Date:   Fri, 17 Oct 2025 11:25:45 +0000

Bug 1994191 - Part 2: Prefer comparison against zero. r=spidermonkey-reviewers,iain

Comparing against zero doesn't require to load the immediate `1` into a register.

Differential Revision: https://phabricator.services.mozilla.com/D268551

Diffstat:
Mjs/src/jit/riscv64/CodeGenerator-riscv64.cpp | 2+-
Mjs/src/jit/riscv64/MacroAssembler-riscv64-inl.h | 4++--
Mjs/src/jit/riscv64/MacroAssembler-riscv64.cpp | 16++++++++--------
3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/js/src/jit/riscv64/CodeGenerator-riscv64.cpp b/js/src/jit/riscv64/CodeGenerator-riscv64.cpp @@ -1532,7 +1532,7 @@ void CodeGenerator::visitPowHalfD(LPowHalfD* ins) { masm.ma_compareF64(scratch, Assembler::DoubleNotEqualOrUnordered, input, fpscratch); - masm.ma_branch(&skip, Assembler::Equal, scratch, Operand(1)); + masm.ma_b(scratch, Imm32(0), &skip, Assembler::NotEqual, ShortJump); // masm.ma_bc_d(input, fpscratch, &skip, Assembler::DoubleNotEqualOrUnordered, // ShortJump); masm.fneg_d(output, fpscratch); diff --git a/js/src/jit/riscv64/MacroAssembler-riscv64-inl.h b/js/src/jit/riscv64/MacroAssembler-riscv64-inl.h @@ -652,14 +652,14 @@ void MacroAssembler::branchDouble(DoubleCondition cc, FloatRegister frs1, UseScratchRegisterScope temps(this); Register scratch = temps.Acquire(); ma_compareF64(scratch, cc, frs1, frs2); - ma_b(scratch, Imm32(1), L, Equal); + ma_b(scratch, Imm32(0), L, NotEqual); } void MacroAssembler::branchFloat(DoubleCondition cc, FloatRegister frs1, FloatRegister frs2, Label* L) { UseScratchRegisterScope temps(this); Register scratch = temps.Acquire(); ma_compareF32(scratch, cc, frs1, frs2); - ma_b(scratch, Imm32(1), L, Equal); + ma_b(scratch, Imm32(0), L, NotEqual); } void MacroAssembler::branchMulPtr(Condition cond, Register src, Register dest, Label* label) { diff --git a/js/src/jit/riscv64/MacroAssembler-riscv64.cpp b/js/src/jit/riscv64/MacroAssembler-riscv64.cpp @@ -4641,7 +4641,7 @@ void MacroAssembler::wasmTruncateDoubleToInt32(FloatRegister input, if (isSaturating) { Clear_if_nan_d(output, input); } else { - ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual); + ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal); } } @@ -4655,7 +4655,7 @@ void MacroAssembler::wasmTruncateDoubleToInt64( bind(oolRejoin); Clear_if_nan_d(output.reg, input); } else { - ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual); + ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal); } } @@ -4669,7 +4669,7 @@ void MacroAssembler::wasmTruncateDoubleToUInt32(FloatRegister input, if (isSaturating) { Clear_if_nan_d(output, input); } else { - ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual); + ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal); } } @@ -4683,7 +4683,7 @@ void MacroAssembler::wasmTruncateDoubleToUInt64( bind(oolRejoin); Clear_if_nan_d(output.reg, input); } else { - ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual); + ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal); } } @@ -4697,7 +4697,7 @@ void MacroAssembler::wasmTruncateFloat32ToInt32(FloatRegister input, if (isSaturating) { Clear_if_nan_s(output, input); } else { - ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual); + ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal); } } @@ -4712,7 +4712,7 @@ void MacroAssembler::wasmTruncateFloat32ToInt64( bind(oolRejoin); Clear_if_nan_s(output.reg, input); } else { - ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual); + ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal); } } @@ -4726,7 +4726,7 @@ void MacroAssembler::wasmTruncateFloat32ToUInt32(FloatRegister input, if (isSaturating) { Clear_if_nan_s(output, input); } else { - ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual); + ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal); } } @@ -4741,7 +4741,7 @@ void MacroAssembler::wasmTruncateFloat32ToUInt64( bind(oolRejoin); Clear_if_nan_s(output.reg, input); } else { - ma_b(scratch, Imm32(1), oolEntry, Assembler::NotEqual); + ma_b(scratch, Imm32(0), oolEntry, Assembler::Equal); } }