Chromium Code Reviews| Index: src/arm/code-stubs-arm.cc |
| =================================================================== |
| --- src/arm/code-stubs-arm.cc (revision 10217) |
| +++ src/arm/code-stubs-arm.cc (working copy) |
| @@ -6716,6 +6716,26 @@ |
| } |
| +void ICCompareStub::GenerateKnownObjects(MacroAssembler* masm) { |
| + Label miss; |
| + __ and_(r2, r1, Operand(r0)); |
| + __ JumpIfSmi(r2, &miss); |
| + __ ldr(r2, FieldMemOperand(r0, HeapObject::kMapOffset)); |
| + __ ldr(r3, FieldMemOperand(r1, HeapObject::kMapOffset)); |
| + __ cmp(r2, Operand(known_map_)); |
| + __ b(ne, &miss); |
| + __ cmp(r3, Operand(known_map_)); |
| + __ b(ne, &miss); |
| + |
| + __ sub(r0, r0, Operand(r1)); |
| + __ Ret(); |
| + |
| + __ bind(&miss); |
| + GenerateMiss(masm); |
| +} |
| + |
| + |
| + |
| void ICCompareStub::GenerateMiss(MacroAssembler* masm) { |
| __ Push(r1, r0); |
|
Kevin Millikin (Chromium)
2011/12/09 09:10:31
You could move this (and the corresponding pops) t
Rico
2011/12/09 09:28:31
Done.
|
| __ push(lr); |