From fb43b16e2b0883b4558c14edb4fc43c8d9cb5978 Mon Sep 17 00:00:00 2001 From: "ager@chromium.org" Date: Wed, 19 Jan 2011 11:56:32 +0000 Subject: [PATCH] ARM: Implement DoCmpJSObjectEqAndBranch. Review URL: http://codereview.chromium.org/6381001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arm/lithium-codegen-arm.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc index c8c3a51..6d360e0 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); } -- 2.7.4