Bug 1498371 - Implement visitCompareBitwise. r=nbp

Fixes basic/testScriptCloning.js.
This commit is contained in:
Sean Stangl 2018-10-11 14:01:00 -04:00
Родитель d5fe62a279
Коммит e7903c1595
1 изменённых файлов: 19 добавлений и 2 удалений

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

@ -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