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); |