| Index: src/arm/ic-arm.cc
|
| diff --git a/src/arm/ic-arm.cc b/src/arm/ic-arm.cc
|
| index d5a700cd9f91e83f9601dac1a5cd3ee395793da5..eab4c6e8ed82c5555cb3aaf690a49f91a92ebe21 100644
|
| --- a/src/arm/ic-arm.cc
|
| +++ b/src/arm/ic-arm.cc
|
| @@ -1584,8 +1584,9 @@ void KeyedLoadIC::GenerateIndexedInterceptor(MacroAssembler* masm) {
|
| // Check that the receiver isn't a smi.
|
| __ BranchOnSmi(r1, &slow);
|
|
|
| - // Check that the key is a smi.
|
| - __ BranchOnNotSmi(r0, &slow);
|
| + // Check that the key is an array index, that is Uint32.
|
| + __ tst(r0, Operand(kSmiTagMask | kSmiSignMask));
|
| + __ b(ne, &slow);
|
|
|
| // Get the map of the receiver.
|
| __ ldr(r2, FieldMemOperand(r1, HeapObject::kMapOffset));
|
|
|