зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1498371 - Implement visitCompareBitwise. r=nbp
Fixes basic/testScriptCloning.js.
This commit is contained in:
Родитель
d5fe62a279
Коммит
e7903c1595
|
@ -954,13 +954,30 @@ CodeGenerator::visitCompareBAndBranch(LCompareBAndBranch* lir)
|
|||
void
|
||||
CodeGenerator::visitCompareBitwise(LCompareBitwise* lir)
|
||||
{
|
||||
MOZ_CRASH("visitCompareBitwise");
|
||||
MCompare* mir = lir->mir();
|
||||
Assembler::Condition cond = JSOpToCondition(mir->compareType(), mir->jsop());
|
||||
const ValueOperand lhs = ToValue(lir, LCompareBitwise::LhsInput);
|
||||
const ValueOperand rhs = ToValue(lir, LCompareBitwise::RhsInput);
|
||||
const Register output = ToRegister(lir->output());
|
||||
|
||||
MOZ_ASSERT(IsEqualityOp(mir->jsop()));
|
||||
|
||||
masm.cmpPtrSet(cond, lhs.valueReg(), rhs.valueReg(), output);
|
||||
}
|
||||
|
||||
void
|
||||
CodeGenerator::visitCompareBitwiseAndBranch(LCompareBitwiseAndBranch* lir)
|
||||
{
|
||||
MOZ_CRASH("visitCompareBitwiseAndBranch");
|
||||
MCompare* mir = lir->cmpMir();
|
||||
Assembler::Condition cond = JSOpToCondition(mir->compareType(), mir->jsop());
|
||||
const ValueOperand lhs = ToValue(lir, LCompareBitwiseAndBranch::LhsInput);
|
||||
const ValueOperand rhs = ToValue(lir, LCompareBitwiseAndBranch::RhsInput);
|
||||
|
||||
MOZ_ASSERT(mir->jsop() == JSOP_EQ || mir->jsop() == JSOP_STRICTEQ ||
|
||||
mir->jsop() == JSOP_NE || mir->jsop() == JSOP_STRICTNE);
|
||||
|
||||
masm.cmpPtr(lhs.valueReg(), rhs.valueReg());
|
||||
emitBranch(cond, lir->ifTrue(), lir->ifFalse());
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Загрузка…
Ссылка в новой задаче