| Index: src/x64/ic-x64.cc
|
| diff --git a/src/x64/ic-x64.cc b/src/x64/ic-x64.cc
|
| index d060e31cedf522219b973275d9a481f10345bec9..2d4a74c402a51c24c93e0ba7a9583fac12edaaf0 100644
|
| --- a/src/x64/ic-x64.cc
|
| +++ b/src/x64/ic-x64.cc
|
| @@ -580,20 +580,15 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) {
|
| __ ret(0);
|
|
|
| __ bind(&check_pixel_array);
|
| - // Check whether the elements object is a pixel array.
|
| - // rdx: receiver
|
| - // rax: key
|
| - __ movq(rcx, FieldOperand(rdx, JSObject::kElementsOffset));
|
| - __ SmiToInteger32(rbx, rax); // Used on both directions of next branch.
|
| - __ CompareRoot(FieldOperand(rcx, HeapObject::kMapOffset),
|
| - Heap::kPixelArrayMapRootIndex);
|
| - __ j(not_equal, &check_number_dictionary);
|
| - __ cmpl(rbx, FieldOperand(rcx, PixelArray::kLengthOffset));
|
| - __ j(above_equal, &slow);
|
| - __ movq(rax, FieldOperand(rcx, PixelArray::kExternalPointerOffset));
|
| - __ movzxbq(rax, Operand(rax, rbx, times_1, 0));
|
| - __ Integer32ToSmi(rax, rax);
|
| - __ ret(0);
|
| + GenerateFastPixelArrayLoad(masm,
|
| + rdx,
|
| + rax,
|
| + rcx,
|
| + rbx,
|
| + rax,
|
| + &check_number_dictionary,
|
| + NULL,
|
| + &slow);
|
|
|
| __ bind(&check_number_dictionary);
|
| // Check whether the elements is a number dictionary.
|
|
|