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
This commit is contained in:
ager@chromium.org 2011-01-19 11:56:32 +00:00
parent 1db0a6a000
commit fb43b16e2b

View File

@ -1612,12 +1612,17 @@ void LCodeGen::DoCmpJSObjectEq(LCmpJSObjectEq* instr) {
__ cmp(left, Operand(right)); __ cmp(left, Operand(right));
__ LoadRoot(result, Heap::kTrueValueRootIndex, eq); __ LoadRoot(result, Heap::kTrueValueRootIndex, eq);
__ LoadRoot(result, Heap::kFalseValueRootIndex, ne); __ LoadRoot(result, Heap::kFalseValueRootIndex, ne);
Abort("DoCmpJSObjectEq untested.");
} }
void LCodeGen::DoCmpJSObjectEqAndBranch(LCmpJSObjectEqAndBranch* instr) { 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);
} }