Index: src/arm/ic-arm.cc |
=================================================================== |
--- src/arm/ic-arm.cc (revision 2686) |
+++ src/arm/ic-arm.cc (working copy) |
@@ -87,7 +87,8 @@ |
// Check that the properties array is a dictionary. |
__ ldr(t0, FieldMemOperand(t1, JSObject::kPropertiesOffset)); |
__ ldr(r3, FieldMemOperand(t0, HeapObject::kMapOffset)); |
- __ cmp(r3, Operand(Factory::hash_table_map())); |
+ __ LoadRoot(ip, Heap::kHashTableMapRootIndex); |
+ __ cmp(r3, ip); |
__ b(ne, miss); |
// Compute the capacity mask. |
@@ -254,9 +255,11 @@ |
// Check for boolean. |
__ bind(&non_string); |
- __ cmp(r1, Operand(Factory::true_value())); |
+ __ LoadRoot(ip, Heap::kTrueValueRootIndex); |
+ __ cmp(r1, ip); |
__ b(eq, &boolean); |
- __ cmp(r1, Operand(Factory::false_value())); |
+ __ LoadRoot(ip, Heap::kFalseValueRootIndex); |
+ __ cmp(r1, ip); |
__ b(ne, &miss); |
__ bind(&boolean); |
StubCompiler::GenerateLoadGlobalFunctionPrototype( |
@@ -582,7 +585,8 @@ |
__ ldr(r1, FieldMemOperand(r1, JSObject::kElementsOffset)); |
// Check that the object is in fast mode (not dictionary). |
__ ldr(r3, FieldMemOperand(r1, HeapObject::kMapOffset)); |
- __ cmp(r3, Operand(Factory::fixed_array_map())); |
+ __ LoadRoot(ip, Heap::kFixedArrayMapRootIndex); |
+ __ cmp(r3, ip); |
__ b(ne, &slow); |
// Check that the key (index) is within bounds. |
__ ldr(r3, FieldMemOperand(r1, Array::kLengthOffset)); |
@@ -601,7 +605,8 @@ |
__ bind(&fast); |
__ add(r3, r1, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); |
__ ldr(r0, MemOperand(r3, r0, LSL, kPointerSizeLog2)); |
- __ cmp(r0, Operand(Factory::the_hole_value())); |
+ __ LoadRoot(ip, Heap::kTheHoleValueRootIndex); |
+ __ cmp(r0, ip); |
// In case the loaded value is the_hole we have to consult GetProperty |
// to ensure the prototype chain is searched. |
__ b(eq, &slow); |
@@ -661,7 +666,8 @@ |
__ ldr(r3, FieldMemOperand(r3, JSObject::kElementsOffset)); |
// Check that the object is in fast mode (not dictionary). |
__ ldr(r2, FieldMemOperand(r3, HeapObject::kMapOffset)); |
- __ cmp(r2, Operand(Factory::fixed_array_map())); |
+ __ LoadRoot(ip, Heap::kFixedArrayMapRootIndex); |
+ __ cmp(r2, ip); |
__ b(ne, &slow); |
// Untag the key (for checking against untagged length in the fixed array). |
__ mov(r1, Operand(r1, ASR, kSmiTagSize)); |
@@ -710,7 +716,8 @@ |
__ bind(&array); |
__ ldr(r2, FieldMemOperand(r3, JSObject::kElementsOffset)); |
__ ldr(r1, FieldMemOperand(r2, HeapObject::kMapOffset)); |
- __ cmp(r1, Operand(Factory::fixed_array_map())); |
+ __ LoadRoot(ip, Heap::kFixedArrayMapRootIndex); |
+ __ cmp(r1, ip); |
__ b(ne, &slow); |
// Check the key against the length in the array, compute the |