commit 9bb68e9509ebbd91f0b46e7173f33dad42a9bff1
parent f626051b39941931dcfa232c9e7a43ae1c3e6127
Author: André Bargull <andre.bargull@gmail.com>
Date: Tue, 4 Nov 2025 16:01:13 +0000
Bug 1997936: LUDiv and LUMod for arm32 don't need deferred initialisation. r=spidermonkey-reviewers,iain
Differential Revision: https://phabricator.services.mozilla.com/D271078
Diffstat:
2 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/js/src/jit/LIROps.yaml b/js/src/jit/LIROps.yaml
@@ -4325,7 +4325,6 @@
lhs: WordSized
rhs: WordSized
mir_op: Div
- defer_init: true
- name: UMod
result_type: WordSized
@@ -4333,7 +4332,6 @@
lhs: WordSized
rhs: WordSized
mir_op: Mod
- defer_init: true
- name: SoftUDivOrMod
result_type: WordSized
diff --git a/js/src/jit/arm/Lowering-arm.cpp b/js/src/jit/arm/Lowering-arm.cpp
@@ -576,9 +576,7 @@ void LIRGeneratorARM::lowerUDiv(MDiv* div) {
MDefinition* rhs = div->getOperand(1);
if (ARMFlags::HasIDIV()) {
- LUDiv* lir = new (alloc()) LUDiv;
- lir->setOperand(0, useRegister(lhs));
- lir->setOperand(1, useRegister(rhs));
+ auto* lir = new (alloc()) LUDiv(useRegister(lhs), useRegister(rhs));
if (div->fallible()) {
assignSnapshot(lir, div->bailoutKind());
}
@@ -586,7 +584,7 @@ void LIRGeneratorARM::lowerUDiv(MDiv* div) {
return;
}
- LSoftUDivOrMod* lir = new (alloc())
+ auto* lir = new (alloc())
LSoftUDivOrMod(useFixedAtStart(lhs, r0), useFixedAtStart(rhs, r1));
if (div->fallible()) {
@@ -601,9 +599,7 @@ void LIRGeneratorARM::lowerUMod(MMod* mod) {
MDefinition* rhs = mod->getOperand(1);
if (ARMFlags::HasIDIV()) {
- LUMod* lir = new (alloc()) LUMod;
- lir->setOperand(0, useRegister(lhs));
- lir->setOperand(1, useRegister(rhs));
+ auto* lir = new (alloc()) LUMod(useRegister(lhs), useRegister(rhs));
if (mod->fallible()) {
assignSnapshot(lir, mod->bailoutKind());
}
@@ -611,7 +607,7 @@ void LIRGeneratorARM::lowerUMod(MMod* mod) {
return;
}
- LSoftUDivOrMod* lir = new (alloc())
+ auto* lir = new (alloc())
LSoftUDivOrMod(useFixedAtStart(lhs, r0), useFixedAtStart(rhs, r1));
if (mod->fallible()) {