Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index c8c3a518f502c3a20cbf4f375f4d79a398a5dbc5..6d360e0799225846209cbfdcb5a3efe89dc51209 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -1612,12 +1612,17 @@ void LCodeGen::DoCmpJSObjectEq(LCmpJSObjectEq* instr) { |
__ cmp(left, Operand(right)); |
__ LoadRoot(result, Heap::kTrueValueRootIndex, eq); |
__ LoadRoot(result, Heap::kFalseValueRootIndex, ne); |
- Abort("DoCmpJSObjectEq untested."); |
} |
void LCodeGen::DoCmpJSObjectEqAndBranch(LCmpJSObjectEqAndBranch* instr) { |
- Abort("DoCmpJSObjectEqAndBranch unimplemented."); |
+ Register left = ToRegister(instr->left()); |
+ Register right = ToRegister(instr->right()); |
+ int false_block = chunk_->LookupDestination(instr->false_block_id()); |
+ int true_block = chunk_->LookupDestination(instr->true_block_id()); |
+ |
+ __ cmp(left, Operand(right)); |
+ EmitBranch(true_block, false_block, eq); |
} |