http://codereview.chromium.org/6323002/diff/40001/src/arm/ic-arm.cc
File src/arm/ic-arm.cc (right):

http://codereview.chromium.org/6323002/diff/40001/src/arm/ic-arm.cc#newcode1395
src/arm/ic-arm.cc:1395: __ ldr(elements, FieldMemOperand(r1,
JSObject::kElementsOffset));
We need to check that the receiver is a JSObject before we can load the
elements. When the object is not a smi it has to be a heap object.
However, there are heap objects that have no elements array (such as
value objects and undefined and null).

I think you need to use GenerateKeyedReceiverCheck or something like
that. We could also get an object that requires access checks or has a
keyed interceptor.

http://codereview.chromium.org/6323002/diff/40001/src/arm/ic-arm.cc#newcode1403
src/arm/ic-arm.cc:1403: __ ldr(ip, FieldMemOperand(elements,
PixelArray::kLengthOffset));
Since we have enough register here, I would prefer not to use ip. Using
ip always makes me a bit nervous because it is occasionally clobered by
the macroassembler.

http://codereview.chromium.org/6323002/diff/40001/src/arm/ic-arm.cc#newcode1409
src/arm/ic-arm.cc:1409: __ ldr(ip, FieldMemOperand(elements,
PixelArray::kExternalPointerOffset));
Ditto for using ip.

http://codereview.chromium.org/6323002/diff/40001/src/ia32/ic-ia32.cc
File src/ia32/ic-ia32.cc (right):

http://codereview.chromium.org/6323002/diff/40001/src/ia32/ic-ia32.cc#newcode775
src/ia32/ic-ia32.cc:775: // Check that the key is an array index, that
is Uint32.
This code looks more complicated than on ARM and IA32. Not sure I
understand why this code would be faster than using basically the same
code as on x64?

http://codereview.chromium.org/6323002/diff/40001/src/ia32/ic-ia32.cc#newcode787
src/ia32/ic-ia32.cc:787: __ mov(ecx, FieldOperand(edx,
JSObject::kElementsOffset));
Need a JSObject check.

http://codereview.chromium.org/6323002/diff/40001/src/ic.cc
File src/ic.cc (right):

http://codereview.chromium.org/6323002/diff/40001/src/ic.cc#newcode1202
src/ic.cc:1202: stub = pixel_array_stub();
Let's remove the pixel array code in the generic stub now that we have a
special IC stub?

http://codereview.chromium.org/6323002/diff/40001/src/x64/ic-x64.cc
File src/x64/ic-x64.cc (right):

http://codereview.chromium.org/6323002/diff/40001/src/x64/ic-x64.cc#newcode780
src/x64/ic-x64.cc:780: __ movq(rcx, FieldOperand(rdx,
JSObject::kElementsOffset));
JSObject check needed.

http://codereview.chromium.org/6323002/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to