Chromium Code Reviews| Index: src/arm/lithium-codegen-arm.cc |
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
| index ea88cb3f84a92652ec2d98dd7f44ede82bd72c5a..f46a95b3ccdf5740e5935c2296b70a104bc7ade6 100644 |
| --- a/src/arm/lithium-codegen-arm.cc |
| +++ b/src/arm/lithium-codegen-arm.cc |
| @@ -2004,7 +2004,15 @@ void LCodeGen::DoInstanceOf(LInstanceOf* instr) { |
| void LCodeGen::DoInstanceOfAndBranch(LInstanceOfAndBranch* instr) { |
| - Abort("DoInstanceOfAndBranch unimplemented."); |
| + int true_block = chunk_->LookupDestination(instr->true_block_id()); |
| + int false_block = chunk_->LookupDestination(instr->false_block_id()); |
| + |
| + Register result = r0; |
| + |
| + InstanceofStub stub(InstanceofStub::kArgsInRegisters); |
|
Søren Thygesen Gjesse
2011/01/26 07:38:51
Don't you need to change the creation of LInstance
Karl Klose
2011/01/26 20:39:18
Yes, I fixed it.
On 2011/01/26 07:38:51, Søren Gj
|
| + CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |
| + __ tst(result, Operand(result)); |
| + EmitBranch(true_block, false_block, eq); |
| } |