зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1304672: Rename AsmSelect to WasmSelect; r=luke
MozReview-Commit-ID: 2PJ0o69LHCx --HG-- extra : rebase_source : cead71bd69c36d6bd470431dd713fe72ff74ef0d extra : histedit_source : 548f9106e51e14fa07bf19116bb4a1a1ec2fa833
This commit is contained in:
Родитель
2be5963bfd
Коммит
53529d1b83
|
@ -665,7 +665,7 @@ class FunctionCompiler
|
|||
{
|
||||
if (inDeadCode())
|
||||
return nullptr;
|
||||
auto* ins = MAsmSelect::New(alloc(), trueExpr, falseExpr, condExpr);
|
||||
auto* ins = MWasmSelect::New(alloc(), trueExpr, falseExpr, condExpr);
|
||||
curBlock_->add(ins);
|
||||
return ins;
|
||||
}
|
||||
|
|
|
@ -14050,11 +14050,11 @@ class MWasmCall final
|
|||
}
|
||||
};
|
||||
|
||||
class MAsmSelect
|
||||
class MWasmSelect
|
||||
: public MTernaryInstruction,
|
||||
public NoTypePolicy::Data
|
||||
{
|
||||
MAsmSelect(MDefinition* trueExpr, MDefinition* falseExpr, MDefinition *condExpr)
|
||||
MWasmSelect(MDefinition* trueExpr, MDefinition* falseExpr, MDefinition *condExpr)
|
||||
: MTernaryInstruction(trueExpr, falseExpr, condExpr)
|
||||
{
|
||||
MOZ_ASSERT(condExpr->type() == MIRType::Int32);
|
||||
|
@ -14064,7 +14064,7 @@ class MAsmSelect
|
|||
}
|
||||
|
||||
public:
|
||||
INSTRUCTION_HEADER(AsmSelect)
|
||||
INSTRUCTION_HEADER(WasmSelect)
|
||||
TRIVIAL_NEW_WRAPPERS
|
||||
NAMED_OPERANDS((0, trueExpr), (1, falseExpr), (2, condExpr))
|
||||
|
||||
|
@ -14076,7 +14076,7 @@ class MAsmSelect
|
|||
return congruentIfOperandsEqual(ins);
|
||||
}
|
||||
|
||||
ALLOW_CLONE(MAsmSelect)
|
||||
ALLOW_CLONE(MWasmSelect)
|
||||
};
|
||||
|
||||
class MWasmReinterpret
|
||||
|
|
|
@ -290,7 +290,7 @@ namespace jit {
|
|||
_(AsmJSVoidReturn) \
|
||||
_(AsmJSPassStackArg) \
|
||||
_(WasmCall) \
|
||||
_(AsmSelect) \
|
||||
_(WasmSelect) \
|
||||
_(WasmReinterpret) \
|
||||
_(Rotate) \
|
||||
_(NewDerivedTypedObject) \
|
||||
|
|
|
@ -2171,7 +2171,7 @@ CodeGeneratorARM::visitAtomicTypedArrayElementBinopForEffect(LAtomicTypedArrayEl
|
|||
}
|
||||
|
||||
void
|
||||
CodeGeneratorARM::visitAsmSelect(LAsmSelect* ins)
|
||||
CodeGeneratorARM::visitWasmSelect(LWasmSelect* ins)
|
||||
{
|
||||
MIRType mirType = ins->mir()->type();
|
||||
|
||||
|
@ -2196,7 +2196,7 @@ CodeGeneratorARM::visitAsmSelect(LAsmSelect* ins)
|
|||
else if (mirType == MIRType::Float32)
|
||||
masm.moveFloat32(falseExpr, out, Assembler::Zero);
|
||||
else
|
||||
MOZ_CRASH("unhandled type in visitAsmSelect!");
|
||||
MOZ_CRASH("unhandled type in visitWasmSelect!");
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -3633,7 +3633,7 @@ CodeGeneratorARM::visitAsmJSPassStackArgI64(LAsmJSPassStackArgI64* ins)
|
|||
}
|
||||
|
||||
void
|
||||
CodeGeneratorARM::visitAsmSelectI64(LAsmSelectI64* lir)
|
||||
CodeGeneratorARM::visitWasmSelectI64(LWasmSelectI64* lir)
|
||||
{
|
||||
Register cond = ToRegister(lir->condExpr());
|
||||
const LInt64Allocation falseExpr = lir->falseExpr();
|
||||
|
|
|
@ -179,7 +179,7 @@ class CodeGeneratorARM : public CodeGeneratorShared
|
|||
virtual void visitBitOpI64(LBitOpI64* lir);
|
||||
virtual void visitRotateI64(LRotateI64* lir);
|
||||
virtual void visitAsmJSPassStackArgI64(LAsmJSPassStackArgI64* lir);
|
||||
virtual void visitAsmSelectI64(LAsmSelectI64* lir);
|
||||
virtual void visitWasmSelectI64(LWasmSelectI64* lir);
|
||||
virtual void visitWasmReinterpretFromI64(LWasmReinterpretFromI64* lir);
|
||||
virtual void visitWasmReinterpretToI64(LWasmReinterpretToI64* lir);
|
||||
virtual void visitPopcntI64(LPopcntI64* ins);
|
||||
|
@ -233,7 +233,7 @@ class CodeGeneratorARM : public CodeGeneratorShared
|
|||
void visitAtomicTypedArrayElementBinopForEffect(LAtomicTypedArrayElementBinopForEffect* lir);
|
||||
void visitCompareExchangeTypedArrayElement(LCompareExchangeTypedArrayElement* lir);
|
||||
void visitAtomicExchangeTypedArrayElement(LAtomicExchangeTypedArrayElement* lir);
|
||||
void visitAsmSelect(LAsmSelect* ins);
|
||||
void visitWasmSelect(LWasmSelect* ins);
|
||||
void visitWasmReinterpret(LWasmReinterpret* ins);
|
||||
void emitWasmCall(LWasmCallBase* ins);
|
||||
void visitWasmCall(LWasmCall* ins);
|
||||
|
|
|
@ -514,24 +514,22 @@ LIRGeneratorARM::lowerUrshD(MUrsh* mir)
|
|||
}
|
||||
|
||||
void
|
||||
LIRGeneratorARM::visitAsmSelect(MAsmSelect* ins)
|
||||
LIRGeneratorARM::visitWasmSelect(MWasmSelect* ins)
|
||||
{
|
||||
if (ins->type() == MIRType::Int64) {
|
||||
auto* lir = new(alloc()) LAsmSelectI64(useInt64RegisterAtStart(ins->trueExpr()),
|
||||
useInt64(ins->falseExpr()),
|
||||
useRegister(ins->condExpr())
|
||||
);
|
||||
auto* lir = new(alloc()) LWasmSelectI64(useInt64RegisterAtStart(ins->trueExpr()),
|
||||
useInt64(ins->falseExpr()),
|
||||
useRegister(ins->condExpr()));
|
||||
|
||||
defineInt64ReuseInput(lir, ins, LAsmSelectI64::TrueExprIndex);
|
||||
defineInt64ReuseInput(lir, ins, LWasmSelectI64::TrueExprIndex);
|
||||
return;
|
||||
}
|
||||
|
||||
auto* lir = new(alloc()) LAsmSelect(useRegisterAtStart(ins->trueExpr()),
|
||||
useRegister(ins->falseExpr()),
|
||||
useRegister(ins->condExpr())
|
||||
);
|
||||
auto* lir = new(alloc()) LWasmSelect(useRegisterAtStart(ins->trueExpr()),
|
||||
useRegister(ins->falseExpr()),
|
||||
useRegister(ins->condExpr()));
|
||||
|
||||
defineReuseInput(lir, ins, LAsmSelect::TrueExprIndex);
|
||||
defineReuseInput(lir, ins, LWasmSelect::TrueExprIndex);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -102,7 +102,7 @@ class LIRGeneratorARM : public LIRGeneratorShared
|
|||
void lowerPhi(MPhi* phi);
|
||||
void visitGuardShape(MGuardShape* ins);
|
||||
void visitGuardObjectGroup(MGuardObjectGroup* ins);
|
||||
void visitAsmSelect(MAsmSelect* ins);
|
||||
void visitWasmSelect(MWasmSelect* ins);
|
||||
void visitAsmJSUnsignedToDouble(MAsmJSUnsignedToDouble* ins);
|
||||
void visitAsmJSUnsignedToFloat32(MAsmJSUnsignedToFloat32* ins);
|
||||
void visitWasmLoad(MWasmLoad* ins);
|
||||
|
|
|
@ -222,9 +222,9 @@ LIRGeneratorARM64::visitAsmJSNeg(MAsmJSNeg* ins)
|
|||
}
|
||||
|
||||
void
|
||||
LIRGeneratorARM64::visitAsmSelect(MAsmSelect* ins)
|
||||
LIRGeneratorARM64::visitWasmSelect(MWasmSelect* ins)
|
||||
{
|
||||
MOZ_CRASH("visitAsmSelect");
|
||||
MOZ_CRASH("visitWasmSelect");
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -89,7 +89,7 @@ class LIRGeneratorARM64 : public LIRGeneratorShared
|
|||
void lowerUMod(MMod* mod);
|
||||
void visitPowHalf(MPowHalf* ins);
|
||||
void visitAsmJSNeg(MAsmJSNeg* ins);
|
||||
void visitAsmSelect(MAsmSelect* ins);
|
||||
void visitWasmSelect(MWasmSelect* ins);
|
||||
|
||||
LTableSwitchV* newLTableSwitchV(MTableSwitch* ins);
|
||||
LTableSwitch* newLTableSwitch(const LAllocation& in,
|
||||
|
|
|
@ -2335,7 +2335,7 @@ CodeGeneratorMIPSShared::visitAsmJSPassStackArgI64(LAsmJSPassStackArgI64* ins)
|
|||
}
|
||||
|
||||
void
|
||||
CodeGeneratorMIPSShared::visitAsmSelect(LAsmSelect* ins)
|
||||
CodeGeneratorMIPSShared::visitWasmSelect(LWasmSelect* ins)
|
||||
{
|
||||
MIRType mirType = ins->mir()->type();
|
||||
|
||||
|
@ -2358,7 +2358,7 @@ CodeGeneratorMIPSShared::visitAsmSelect(LAsmSelect* ins)
|
|||
else if (mirType == MIRType::Double)
|
||||
masm.as_movz(Assembler::DoubleFloat, out, ToFloatRegister(falseExpr), cond);
|
||||
else
|
||||
MOZ_CRASH("unhandled type in visitAsmSelect!");
|
||||
MOZ_CRASH("unhandled type in visitWasmSelect!");
|
||||
} else {
|
||||
Label done;
|
||||
masm.ma_b(cond, cond, &done, Assembler::NonZero, ShortJump);
|
||||
|
@ -2368,7 +2368,7 @@ CodeGeneratorMIPSShared::visitAsmSelect(LAsmSelect* ins)
|
|||
else if (mirType == MIRType::Double)
|
||||
masm.loadDouble(ToAddress(falseExpr), out);
|
||||
else
|
||||
MOZ_CRASH("unhandled type in visitAsmSelect!");
|
||||
MOZ_CRASH("unhandled type in visitWasmSelect!");
|
||||
|
||||
masm.bind(&done);
|
||||
}
|
||||
|
|
|
@ -231,7 +231,7 @@ class CodeGeneratorMIPSShared : public CodeGeneratorShared
|
|||
|
||||
void visitAsmJSPassStackArg(LAsmJSPassStackArg* ins);
|
||||
void visitAsmJSPassStackArgI64(LAsmJSPassStackArgI64* ins);
|
||||
void visitAsmSelect(LAsmSelect* ins);
|
||||
void visitWasmSelect(LWasmSelect* ins);
|
||||
void visitWasmReinterpret(LWasmReinterpret* ins);
|
||||
|
||||
void visitMemoryBarrier(LMemoryBarrier* ins);
|
||||
|
|
|
@ -406,24 +406,22 @@ LIRGeneratorMIPSShared::visitWasmStore(MWasmStore* ins)
|
|||
}
|
||||
|
||||
void
|
||||
LIRGeneratorMIPSShared::visitAsmSelect(MAsmSelect* ins)
|
||||
LIRGeneratorMIPSShared::visitWasmSelect(MWasmSelect* ins)
|
||||
{
|
||||
if (ins->type() == MIRType::Int64) {
|
||||
auto* lir = new(alloc()) LAsmSelectI64(useInt64RegisterAtStart(ins->trueExpr()),
|
||||
useInt64(ins->falseExpr()),
|
||||
useRegister(ins->condExpr())
|
||||
);
|
||||
auto* lir = new(alloc()) LWasmSelectI64(useInt64RegisterAtStart(ins->trueExpr()),
|
||||
useInt64(ins->falseExpr()),
|
||||
useRegister(ins->condExpr()));
|
||||
|
||||
defineInt64ReuseInput(lir, ins, LAsmSelectI64::TrueExprIndex);
|
||||
defineInt64ReuseInput(lir, ins, LWasmSelectI64::TrueExprIndex);
|
||||
return;
|
||||
}
|
||||
|
||||
auto* lir = new(alloc()) LAsmSelect(useRegisterAtStart(ins->trueExpr()),
|
||||
use(ins->falseExpr()),
|
||||
useRegister(ins->condExpr())
|
||||
);
|
||||
auto* lir = new(alloc()) LWasmSelect(useRegisterAtStart(ins->trueExpr()),
|
||||
use(ins->falseExpr()),
|
||||
useRegister(ins->condExpr()));
|
||||
|
||||
defineReuseInput(lir, ins, LAsmSelect::TrueExprIndex);
|
||||
defineReuseInput(lir, ins, LWasmSelect::TrueExprIndex);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -73,7 +73,7 @@ class LIRGeneratorMIPSShared : public LIRGeneratorShared
|
|||
void visitAsmJSNeg(MAsmJSNeg* ins);
|
||||
void visitWasmLoad(MWasmLoad* ins);
|
||||
void visitWasmStore(MWasmStore* ins);
|
||||
void visitAsmSelect(MAsmSelect* ins);
|
||||
void visitWasmSelect(MWasmSelect* ins);
|
||||
|
||||
LTableSwitch* newLTableSwitch(const LAllocation& in, const LDefinition& inputCopy,
|
||||
MTableSwitch* ins);
|
||||
|
|
|
@ -645,7 +645,7 @@ CodeGeneratorMIPS::visitWasmStoreGlobalVarI64(LWasmStoreGlobalVarI64* ins)
|
|||
}
|
||||
|
||||
void
|
||||
CodeGeneratorMIPS::visitAsmSelectI64(LAsmSelectI64* lir)
|
||||
CodeGeneratorMIPS::visitWasmSelectI64(LWasmSelectI64* lir)
|
||||
{
|
||||
MOZ_ASSERT(lir->mir()->type() == MIRType::Int64);
|
||||
Register cond = ToRegister(lir->condExpr());
|
||||
|
|
|
@ -53,7 +53,7 @@ class CodeGeneratorMIPS : public CodeGeneratorMIPSShared
|
|||
void visitWasmUnalignedStoreI64(LWasmUnalignedStoreI64* ins);
|
||||
void visitWasmLoadGlobalVarI64(LWasmLoadGlobalVarI64* ins);
|
||||
void visitWasmStoreGlobalVarI64(LWasmStoreGlobalVarI64* ins);
|
||||
void visitAsmSelectI64(LAsmSelectI64* lir);
|
||||
void visitWasmSelectI64(LWasmSelectI64* lir);
|
||||
void visitWasmReinterpretFromI64(LWasmReinterpretFromI64* lir);
|
||||
void visitWasmReinterpretToI64(LWasmReinterpretToI64* lir);
|
||||
void visitExtendInt32ToInt64(LExtendInt32ToInt64* lir);
|
||||
|
|
|
@ -559,7 +559,7 @@ CodeGeneratorMIPS64::visitWasmStoreGlobalVarI64(LWasmStoreGlobalVarI64* ins)
|
|||
}
|
||||
|
||||
void
|
||||
CodeGeneratorMIPS64::visitAsmSelectI64(LAsmSelectI64* lir)
|
||||
CodeGeneratorMIPS64::visitWasmSelectI64(LWasmSelectI64* lir)
|
||||
{
|
||||
MOZ_ASSERT(lir->mir()->type() == MIRType::Int64);
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ class CodeGeneratorMIPS64 : public CodeGeneratorMIPSShared
|
|||
void visitWasmUnalignedStoreI64(LWasmUnalignedStoreI64* ins);
|
||||
void visitWasmLoadGlobalVarI64(LWasmLoadGlobalVarI64* ins);
|
||||
void visitWasmStoreGlobalVarI64(LWasmStoreGlobalVarI64* ins);
|
||||
void visitAsmSelectI64(LAsmSelectI64* ins);
|
||||
void visitWasmSelectI64(LWasmSelectI64* ins);
|
||||
void visitWasmReinterpretFromI64(LWasmReinterpretFromI64* lir);
|
||||
void visitWasmReinterpretToI64(LWasmReinterpretToI64* lir);
|
||||
void visitExtendInt32ToInt64(LExtendInt32ToInt64* lir);
|
||||
|
|
|
@ -88,7 +88,7 @@ class LIRGeneratorNone : public LIRGeneratorShared
|
|||
void visitAsmJSCompareExchangeHeap(MAsmJSCompareExchangeHeap* ins) { MOZ_CRASH(); }
|
||||
void visitAsmJSAtomicExchangeHeap(MAsmJSAtomicExchangeHeap* ins) { MOZ_CRASH(); }
|
||||
void visitAsmJSAtomicBinopHeap(MAsmJSAtomicBinopHeap* ins) { MOZ_CRASH(); }
|
||||
void visitAsmSelect(MAsmSelect*) { MOZ_CRASH(); }
|
||||
void visitWasmSelect(MWasmSelect*) { MOZ_CRASH(); }
|
||||
void visitWasmBoundsCheck(MWasmBoundsCheck* ins) { MOZ_CRASH(); }
|
||||
void visitWasmLoad(MWasmLoad* ins) { MOZ_CRASH(); }
|
||||
void visitWasmStore(MWasmStore* ins) { MOZ_CRASH(); }
|
||||
|
|
|
@ -7836,26 +7836,28 @@ class LHasClass : public LInstructionHelper<1, 1, 0>
|
|||
};
|
||||
|
||||
template<size_t Defs, size_t Ops>
|
||||
class LAsmSelectBase : public LInstructionHelper<Defs, Ops, 0>
|
||||
class LWasmSelectBase : public LInstructionHelper<Defs, Ops, 0>
|
||||
{
|
||||
typedef LInstructionHelper<Defs, Ops, 0> Base;
|
||||
public:
|
||||
|
||||
MAsmSelect* mir() const {
|
||||
return Base::mir_->toAsmSelect();
|
||||
MWasmSelect* mir() const {
|
||||
return Base::mir_->toWasmSelect();
|
||||
}
|
||||
};
|
||||
|
||||
class LAsmSelect : public LAsmSelectBase<1, 3>
|
||||
class LWasmSelect : public LWasmSelectBase<1, 3>
|
||||
{
|
||||
public:
|
||||
LIR_HEADER(AsmSelect);
|
||||
LIR_HEADER(WasmSelect);
|
||||
|
||||
static const size_t TrueExprIndex = 0;
|
||||
static const size_t FalseExprIndex = 1;
|
||||
static const size_t CondIndex = 2;
|
||||
|
||||
LAsmSelect(const LAllocation& trueExpr, const LAllocation& falseExpr, const LAllocation& cond) {
|
||||
LWasmSelect(const LAllocation& trueExpr, const LAllocation& falseExpr,
|
||||
const LAllocation& cond)
|
||||
{
|
||||
setOperand(TrueExprIndex, trueExpr);
|
||||
setOperand(FalseExprIndex, falseExpr);
|
||||
setOperand(CondIndex, cond);
|
||||
|
@ -7872,17 +7874,17 @@ class LAsmSelect : public LAsmSelectBase<1, 3>
|
|||
}
|
||||
};
|
||||
|
||||
class LAsmSelectI64 : public LAsmSelectBase<INT64_PIECES, 2 * INT64_PIECES + 1>
|
||||
class LWasmSelectI64 : public LWasmSelectBase<INT64_PIECES, 2 * INT64_PIECES + 1>
|
||||
{
|
||||
public:
|
||||
LIR_HEADER(AsmSelectI64);
|
||||
LIR_HEADER(WasmSelectI64);
|
||||
|
||||
static const size_t TrueExprIndex = 0;
|
||||
static const size_t FalseExprIndex = INT64_PIECES;
|
||||
static const size_t CondIndex = INT64_PIECES * 2;
|
||||
|
||||
LAsmSelectI64(const LInt64Allocation& trueExpr, const LInt64Allocation& falseExpr,
|
||||
const LAllocation& cond)
|
||||
LWasmSelectI64(const LInt64Allocation& trueExpr, const LInt64Allocation& falseExpr,
|
||||
const LAllocation& cond)
|
||||
{
|
||||
setInt64Operand(TrueExprIndex, trueExpr);
|
||||
setInt64Operand(FalseExprIndex, falseExpr);
|
||||
|
|
|
@ -389,8 +389,8 @@
|
|||
_(IsObject) \
|
||||
_(IsObjectAndBranch) \
|
||||
_(HasClass) \
|
||||
_(AsmSelect) \
|
||||
_(AsmSelectI64) \
|
||||
_(WasmSelect) \
|
||||
_(WasmSelectI64) \
|
||||
_(WasmBoundsCheck) \
|
||||
_(WasmAddOffset) \
|
||||
_(WasmLoad) \
|
||||
|
|
|
@ -339,7 +339,7 @@ CodeGeneratorX64::visitUDivOrModI64(LUDivOrModI64* lir)
|
|||
}
|
||||
|
||||
void
|
||||
CodeGeneratorX64::visitAsmSelectI64(LAsmSelectI64* lir)
|
||||
CodeGeneratorX64::visitWasmSelectI64(LWasmSelectI64* lir)
|
||||
{
|
||||
MOZ_ASSERT(lir->mir()->type() == MIRType::Int64);
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ class CodeGeneratorX64 : public CodeGeneratorX86Shared
|
|||
void visitWasmStoreGlobalVar(LWasmStoreGlobalVar* ins);
|
||||
void visitWasmLoadGlobalVarI64(LWasmLoadGlobalVarI64* ins);
|
||||
void visitWasmStoreGlobalVarI64(LWasmStoreGlobalVarI64* ins);
|
||||
void visitAsmSelectI64(LAsmSelectI64* ins);
|
||||
void visitWasmSelectI64(LWasmSelectI64* ins);
|
||||
void visitWasmCall(LWasmCall* ins);
|
||||
void visitWasmCallI64(LWasmCallI64* ins);
|
||||
void visitAsmJSLoadHeap(LAsmJSLoadHeap* ins);
|
||||
|
|
|
@ -324,7 +324,7 @@ CodeGeneratorX86Shared::visitAsmJSPassStackArgI64(LAsmJSPassStackArgI64* ins)
|
|||
}
|
||||
|
||||
void
|
||||
CodeGeneratorX86Shared::visitAsmSelect(LAsmSelect* ins)
|
||||
CodeGeneratorX86Shared::visitWasmSelect(LWasmSelect* ins)
|
||||
{
|
||||
MIRType mirType = ins->mir()->type();
|
||||
|
||||
|
@ -357,7 +357,7 @@ CodeGeneratorX86Shared::visitAsmSelect(LAsmSelect* ins)
|
|||
else
|
||||
masm.loadDouble(falseExpr, out);
|
||||
} else {
|
||||
MOZ_CRASH("unhandled type in visitAsmSelect!");
|
||||
MOZ_CRASH("unhandled type in visitWasmSelect!");
|
||||
}
|
||||
|
||||
masm.bind(&done);
|
||||
|
|
|
@ -244,7 +244,7 @@ class CodeGeneratorX86Shared : public CodeGeneratorShared
|
|||
virtual void visitUDivOrModConstant(LUDivOrModConstant *ins);
|
||||
virtual void visitAsmJSPassStackArg(LAsmJSPassStackArg* ins);
|
||||
virtual void visitAsmJSPassStackArgI64(LAsmJSPassStackArgI64* ins);
|
||||
virtual void visitAsmSelect(LAsmSelect* ins);
|
||||
virtual void visitWasmSelect(LWasmSelect* ins);
|
||||
virtual void visitWasmReinterpret(LWasmReinterpret* lir);
|
||||
virtual void visitMemoryBarrier(LMemoryBarrier* ins);
|
||||
virtual void visitWasmAddOffset(LWasmAddOffset* lir);
|
||||
|
|
|
@ -288,24 +288,22 @@ LIRGeneratorX86Shared::lowerModI(MMod* mod)
|
|||
}
|
||||
|
||||
void
|
||||
LIRGeneratorX86Shared::visitAsmSelect(MAsmSelect* ins)
|
||||
LIRGeneratorX86Shared::visitWasmSelect(MWasmSelect* ins)
|
||||
{
|
||||
if (ins->type() == MIRType::Int64) {
|
||||
auto* lir = new(alloc()) LAsmSelectI64(useInt64RegisterAtStart(ins->trueExpr()),
|
||||
useInt64(ins->falseExpr()),
|
||||
useRegister(ins->condExpr())
|
||||
);
|
||||
auto* lir = new(alloc()) LWasmSelectI64(useInt64RegisterAtStart(ins->trueExpr()),
|
||||
useInt64(ins->falseExpr()),
|
||||
useRegister(ins->condExpr()));
|
||||
|
||||
defineInt64ReuseInput(lir, ins, LAsmSelectI64::TrueExprIndex);
|
||||
defineInt64ReuseInput(lir, ins, LWasmSelectI64::TrueExprIndex);
|
||||
return;
|
||||
}
|
||||
|
||||
auto* lir = new(alloc()) LAsmSelect(useRegisterAtStart(ins->trueExpr()),
|
||||
use(ins->falseExpr()),
|
||||
useRegister(ins->condExpr())
|
||||
);
|
||||
auto* lir = new(alloc()) LWasmSelect(useRegisterAtStart(ins->trueExpr()),
|
||||
use(ins->falseExpr()),
|
||||
useRegister(ins->condExpr()));
|
||||
|
||||
defineReuseInput(lir, ins, LAsmSelect::TrueExprIndex);
|
||||
defineReuseInput(lir, ins, LWasmSelect::TrueExprIndex);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -47,7 +47,7 @@ class LIRGeneratorX86Shared : public LIRGeneratorShared
|
|||
MDefinition* lhs, MDefinition* rhs);
|
||||
void visitAsmJSNeg(MAsmJSNeg* ins);
|
||||
void lowerWasmLoad(MWasmLoad* ins);
|
||||
void visitAsmSelect(MAsmSelect* ins);
|
||||
void visitWasmSelect(MWasmSelect* ins);
|
||||
void lowerMulI(MMul* mul, MDefinition* lhs, MDefinition* rhs);
|
||||
void lowerDivI(MDiv* div);
|
||||
void lowerModI(MMod* mod);
|
||||
|
|
|
@ -1122,7 +1122,7 @@ CodeGeneratorX86::visitUDivOrModI64(LUDivOrModI64* lir)
|
|||
}
|
||||
|
||||
void
|
||||
CodeGeneratorX86::visitAsmSelectI64(LAsmSelectI64* lir)
|
||||
CodeGeneratorX86::visitWasmSelectI64(LWasmSelectI64* lir)
|
||||
{
|
||||
MOZ_ASSERT(lir->mir()->type() == MIRType::Int64);
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ class CodeGeneratorX86 : public CodeGeneratorX86Shared
|
|||
void visitCompareI64AndBranch(LCompareI64AndBranch* lir);
|
||||
void visitDivOrModI64(LDivOrModI64* lir);
|
||||
void visitUDivOrModI64(LUDivOrModI64* lir);
|
||||
void visitAsmSelectI64(LAsmSelectI64* lir);
|
||||
void visitWasmSelectI64(LWasmSelectI64* lir);
|
||||
void visitWasmReinterpretFromI64(LWasmReinterpretFromI64* lir);
|
||||
void visitWasmReinterpretToI64(LWasmReinterpretToI64* lir);
|
||||
void visitExtendInt32ToInt64(LExtendInt32ToInt64* lir);
|
||||
|
|
Загрузка…
Ссылка в новой задаче