ARM part LGTM.
http://codereview.chromium.org/2163006/diff/10001/11002 File src/arm/full-codegen-arm.cc (right): http://codereview.chromium.org/2163006/diff/10001/11002#newcode919 src/arm/full-codegen-arm.cc:919: __ push(r2); // Enumeration cache. Move this push down two instructions and you can do a multi-register push and get more code density? http://codereview.chromium.org/2163006/diff/10001/11002#newcode920 src/arm/full-codegen-arm.cc:920: __ ldr(r0, FieldMemOperand(r2, FixedArray::kLengthOffset)); And make this r1 so you can do 3 pushes in one? http://codereview.chromium.org/2163006/diff/10001/11002#newcode931 src/arm/full-codegen-arm.cc:931: __ ldr(r0, FieldMemOperand(r0, FixedArray::kLengthOffset)); And make this r1 so you can push 2 in one? http://codereview.chromium.org/2163006/diff/10001/11002#newcode1071 src/arm/full-codegen-arm.cc:1071: __ LoadRoot(ip, Heap::kUndefinedValueRootIndex); Why not just load this directly into r0? http://codereview.chromium.org/2163006/diff/10001/11002#newcode1489 src/arm/full-codegen-arm.cc:1489: __ ldr(r2, target); Well spotted! http://codereview.chromium.org/2163006/diff/10001/11002#newcode1713 src/arm/full-codegen-arm.cc:1713: __ str(r1, MemOperand(sp, arg_count * kPointerSize)); Is this strd or am I getting it back to front? http://codereview.chromium.org/2163006/diff/10001/11002#newcode2174 src/arm/full-codegen-arm.cc:2174: __ mov(r0, Operand(Factory::function_class_symbol())); There's a root for that (two places). http://codereview.chromium.org/2163006/show -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
