| Index: src/arm/ic-arm.cc
|
| diff --git a/src/arm/ic-arm.cc b/src/arm/ic-arm.cc
|
| index d74468c945473240a2d21ff4b28366615c2ca938..1aa031d39ba6c91ce5a9c94e7e03edc78715dd74 100644
|
| --- a/src/arm/ic-arm.cc
|
| +++ b/src/arm/ic-arm.cc
|
| @@ -1189,19 +1189,18 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) {
|
| // r0: key
|
| // r1: receiver
|
| __ bind(&check_pixel_array);
|
| - __ ldr(r4, FieldMemOperand(r1, JSObject::kElementsOffset));
|
| - __ ldr(r3, FieldMemOperand(r4, HeapObject::kMapOffset));
|
| - __ LoadRoot(ip, Heap::kPixelArrayMapRootIndex);
|
| - __ cmp(r3, ip);
|
| - __ b(ne, &check_number_dictionary);
|
| - __ ldr(ip, FieldMemOperand(r4, PixelArray::kLengthOffset));
|
| - __ mov(r2, Operand(key, ASR, kSmiTagSize));
|
| - __ cmp(r2, ip);
|
| - __ b(hs, &slow);
|
| - __ ldr(ip, FieldMemOperand(r4, PixelArray::kExternalPointerOffset));
|
| - __ ldrb(r2, MemOperand(ip, r2));
|
| - __ mov(r0, Operand(r2, LSL, kSmiTagSize)); // Tag result as smi.
|
| - __ Ret();
|
| +
|
| + GenerateFastPixelArrayLoad(masm,
|
| + r1,
|
| + r0,
|
| + r3,
|
| + r4,
|
| + r2,
|
| + r5,
|
| + r0,
|
| + &check_number_dictionary,
|
| + NULL,
|
| + &slow);
|
|
|
| __ bind(&check_number_dictionary);
|
| // Check whether the elements is a number dictionary.
|
|
|