Bug 1426134 - Part 6: Remove no longer used framepointer-temp from LIonToWasmCallBase. r=jandem

This code is no longer needed.

Depends on D146708

Differential Revision: https://phabricator.services.mozilla.com/D146709
This commit is contained in:
André Bargull 2022-05-23 15:19:40 +00:00
Родитель e080c3cacc
Коммит a84e82ef8e
2 изменённых файлов: 12 добавлений и 20 удалений

Просмотреть файл

@ -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<LIonToWasmCallV>(ins->numOperands(), scratch, fp);
lir = allocateVariadic<LIonToWasmCallV>(ins->numOperands(), scratch);
} else if (ins->type() == MIRType::Int64) {
lir = allocateVariadic<LIonToWasmCallI64>(ins->numOperands(), scratch, fp);
lir = allocateVariadic<LIonToWasmCallI64>(ins->numOperands(), scratch);
} else {
lir = allocateVariadic<LIonToWasmCall>(ins->numOperands(), scratch, fp);
lir = allocateVariadic<LIonToWasmCall>(ins->numOperands(), scratch);
}
if (!lir) {
abort(AbortReason::Alloc, "OOM: LIRGenerator::visitIonToWasmCall");

Просмотреть файл

@ -3609,16 +3609,15 @@ class LBigIntAsUintN32 : public LInstructionHelper<1, 1, 1 + INT64_PIECES> {
};
template <size_t NumDefs>
class LIonToWasmCallBase : public LVariadicInstruction<NumDefs, 2> {
using Base = LVariadicInstruction<NumDefs, 2>;
class LIonToWasmCallBase : public LVariadicInstruction<NumDefs, 1> {
using Base = LVariadicInstruction<NumDefs, 1>;
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<NumDefs, 2> {
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<BOX_PIECES> {
public:
LIR_HEADER(IonToWasmCallV);
LIonToWasmCallV(uint32_t numOperands, const LDefinition& temp,
const LDefinition& fp)
: LIonToWasmCallBase<BOX_PIECES>(classOpcode, numOperands, temp, fp) {}
LIonToWasmCallV(uint32_t numOperands, const LDefinition& temp)
: LIonToWasmCallBase<BOX_PIECES>(classOpcode, numOperands, temp) {}
};
class LIonToWasmCallI64 : public LIonToWasmCallBase<INT64_PIECES> {
public:
LIR_HEADER(IonToWasmCallI64);
LIonToWasmCallI64(uint32_t numOperands, const LDefinition& temp,
const LDefinition& fp)
: LIonToWasmCallBase<INT64_PIECES>(classOpcode, numOperands, temp, fp) {}
LIonToWasmCallI64(uint32_t numOperands, const LDefinition& temp)
: LIonToWasmCallBase<INT64_PIECES>(classOpcode, numOperands, temp) {}
};
// Wasm SIMD.