| Index: src/ic-arm.cc
|
| ===================================================================
|
| --- src/ic-arm.cc (revision 605)
|
| +++ src/ic-arm.cc (working copy)
|
| @@ -174,12 +174,13 @@
|
| // Check that the object is a string.
|
| __ ldr(r1, FieldMemOperand(r0, HeapObject::kMapOffset));
|
| __ ldrb(r1, FieldMemOperand(r1, Map::kInstanceTypeOffset));
|
| + __ mov(r3, Operand(r1));
|
| __ and_(r1, r1, Operand(kIsNotStringMask));
|
| // The cast is to resolve the overload for the argument of 0x0.
|
| __ cmp(r1, Operand(static_cast<int32_t>(kStringTag)));
|
| __ b(ne, &miss);
|
|
|
| - __ and_(r1, r1, Operand(kStringSizeMask));
|
| + __ and_(r1, r3, Operand(kStringSizeMask));
|
| __ add(r1, r1, Operand(String::kHashShift));
|
| // Load length directly from the string.
|
| __ ldr(r0, FieldMemOperand(r0, String::kLengthOffset));
|
|
|