diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp index d2867dbb0f94..2ebc0e6b25be 100644 --- a/js/src/jit/Lowering.cpp +++ b/js/src/jit/Lowering.cpp @@ -6541,20 +6541,16 @@ void LIRGenerator::visitIonToWasmCall(MIonToWasmCall* ins) { // - that's not aliasing an input register. LDefinition scratch = tempFixed(ABINonArgReg0); - // Also prevent register allocation from using wasm's FramePointer, in - // non-profiling mode. - LDefinition fp = LDefinition::BogusTemp(); - // Note that since this is a LIR call instruction, regalloc will prevent // the use*AtStart below from reusing any of the temporaries. LInstruction* lir; if (ins->type() == MIRType::Value) { - lir = allocateVariadic(ins->numOperands(), scratch, fp); + lir = allocateVariadic(ins->numOperands(), scratch); } else if (ins->type() == MIRType::Int64) { - lir = allocateVariadic(ins->numOperands(), scratch, fp); + lir = allocateVariadic(ins->numOperands(), scratch); } else { - lir = allocateVariadic(ins->numOperands(), scratch, fp); + lir = allocateVariadic(ins->numOperands(), scratch); } if (!lir) { abort(AbortReason::Alloc, "OOM: LIRGenerator::visitIonToWasmCall"); diff --git a/js/src/jit/shared/LIR-shared.h b/js/src/jit/shared/LIR-shared.h index f1000bb53a72..a8e0c0c8d191 100644 --- a/js/src/jit/shared/LIR-shared.h +++ b/js/src/jit/shared/LIR-shared.h @@ -3609,16 +3609,15 @@ class LBigIntAsUintN32 : public LInstructionHelper<1, 1, 1 + INT64_PIECES> { }; template -class LIonToWasmCallBase : public LVariadicInstruction { - using Base = LVariadicInstruction; +class LIonToWasmCallBase : public LVariadicInstruction { + using Base = LVariadicInstruction; public: explicit LIonToWasmCallBase(LNode::Opcode classOpcode, uint32_t numOperands, - const LDefinition& temp, const LDefinition& fp) + const LDefinition& temp) : Base(classOpcode, numOperands) { this->setIsCall(); this->setTemp(0, temp); - this->setTemp(1, fp); } MIonToWasmCall* mir() const { return this->mir_->toIonToWasmCall(); } const LDefinition* temp() { return this->getTemp(0); } @@ -3627,25 +3626,22 @@ class LIonToWasmCallBase : public LVariadicInstruction { class LIonToWasmCall : public LIonToWasmCallBase<1> { public: LIR_HEADER(IonToWasmCall); - LIonToWasmCall(uint32_t numOperands, const LDefinition& temp, - const LDefinition& fp) - : LIonToWasmCallBase<1>(classOpcode, numOperands, temp, fp) {} + LIonToWasmCall(uint32_t numOperands, const LDefinition& temp) + : LIonToWasmCallBase<1>(classOpcode, numOperands, temp) {} }; class LIonToWasmCallV : public LIonToWasmCallBase { public: LIR_HEADER(IonToWasmCallV); - LIonToWasmCallV(uint32_t numOperands, const LDefinition& temp, - const LDefinition& fp) - : LIonToWasmCallBase(classOpcode, numOperands, temp, fp) {} + LIonToWasmCallV(uint32_t numOperands, const LDefinition& temp) + : LIonToWasmCallBase(classOpcode, numOperands, temp) {} }; class LIonToWasmCallI64 : public LIonToWasmCallBase { public: LIR_HEADER(IonToWasmCallI64); - LIonToWasmCallI64(uint32_t numOperands, const LDefinition& temp, - const LDefinition& fp) - : LIonToWasmCallBase(classOpcode, numOperands, temp, fp) {} + LIonToWasmCallI64(uint32_t numOperands, const LDefinition& temp) + : LIonToWasmCallBase(classOpcode, numOperands, temp) {} }; // Wasm SIMD.