☠☠ backed out by 540bd4c32be5 ☠ ☠ | |
author | Sean Stangl <sstangl@mozilla.com> |
Thu, 11 Oct 2018 14:01:00 +0300 | |
changeset 442388 | 1eaa48d8b75d4534ca251da7f37457914494d58e |
parent 442387 | 9e28ac6527a99480d97fb5ac353a41f57a0456e0 |
child 442389 | 540bd4c32be5831ae94a1db1a437d2d8eea04647 |
push id | 109160 |
push user | dvarga@mozilla.com |
push date | Mon, 22 Oct 2018 21:19:00 +0000 |
treeherder | mozilla-inbound@1eaa48d8b75d [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | nbp |
bugs | 1498371 |
milestone | 65.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/js/src/jit/arm64/CodeGenerator-arm64.cpp +++ b/js/src/jit/arm64/CodeGenerator-arm64.cpp @@ -949,23 +949,40 @@ void CodeGenerator::visitCompareBAndBranch(LCompareBAndBranch* lir) { MOZ_CRASH("visitCompareBAndBranch"); } 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 CodeGenerator::visitBitAndAndBranch(LBitAndAndBranch* baab) { MOZ_CRASH("visitBitAndAndBranch"); }