LGTM!
http://codereview.chromium.org/464002/diff/1/4 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/464002/diff/1/4#newcode1779 src/arm/codegen-arm.cc:1779: frame_->EmitPush(r0); // push the object being iterated over !punctuatioN http://codereview.chromium.org/464002/diff/1/4#newcode1793 src/arm/codegen-arm.cc:1793: __ cmp(r2, Operand(Factory::empty_fixed_array())); This gets code-generated as a pc-relative load followed by a compare. Please use LoadRoot instead to avoid the constant pool entry and reloc info. http://codereview.chromium.org/464002/diff/1/4#newcode1800 src/arm/codegen-arm.cc:1800: __ cmp(r2, Operand(Factory::empty_descriptor_array())); And here. http://codereview.chromium.org/464002/diff/1/4#newcode1812 src/arm/codegen-arm.cc:1812: __ cmp(r2, Operand(Factory::empty_fixed_array())); And here (perhaps you can reuse the register so you don't have to reload the root). http://codereview.chromium.org/464002/diff/1/4#newcode1817 src/arm/codegen-arm.cc:1817: __ cmp(r1, Operand(Factory::null_value())); And here. http://codereview.chromium.org/464002/diff/1/4#newcode1845 src/arm/codegen-arm.cc:1845: __ mov(r1, Operand(r0)); Unnecessary instruction! (not your fault) http://codereview.chromium.org/464002/diff/1/3 File src/x64/codegen-x64.cc (right): http://codereview.chromium.org/464002/diff/1/3#newcode1680 src/x64/codegen-x64.cc:1680: __ Cmp(rdx, Factory::empty_fixed_array()); We have CompareRoot for this. Same speed but more compact. http://codereview.chromium.org/464002/diff/1/3#newcode1687 src/x64/codegen-x64.cc:1687: __ Cmp(rdx, Factory::empty_descriptor_array()); And here http://codereview.chromium.org/464002/diff/1/3#newcode1699 src/x64/codegen-x64.cc:1699: __ Cmp(rdx, Factory::empty_fixed_array()); And here http://codereview.chromium.org/464002 -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
