We should add a test case that bails out of the inlined keyed load because
of a
non-smi key.
http://codereview.chromium.org/1735007/diff/15001/16001
File src/arm/codegen-arm.cc (right):
http://codereview.chromium.org/1735007/diff/15001/16001#newcode5282
src/arm/codegen-arm.cc:5282: // Setup the name register and call load
IC.
All arguments to keyed load ic are on the stack.
http://codereview.chromium.org/1735007/diff/15001/16001#newcode5363
src/arm/codegen-arm.cc:5363: // to be fixed. Therefore the instruction
pool is blocked when generating
instruction -> constant
http://codereview.chromium.org/1735007/diff/15001/16001#newcode5388
src/arm/codegen-arm.cc:5388: // Check that the key is a heap object.
Check that the key is a smi. And as Anton comments you should check r1.
Looks like we need another test case if we are not hitting this with our
current tests.
http://codereview.chromium.org/1735007/diff/15001/16001#newcode5396
src/arm/codegen-arm.cc:5396: __ mov(r4,
Operand(Factory::fixed_array_map()));
Use root array?
http://codereview.chromium.org/1735007/diff/15001/16001#newcode5406
src/arm/codegen-arm.cc:5406: __ mov(r3,
Operand(Factory::the_hole_value()));
Use root array?
http://codereview.chromium.org/1735007/show
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev