http://codereview.chromium.org/3291015/diff/1/2 File src/arm/stub-cache-arm.cc (right):
http://codereview.chromium.org/3291015/diff/1/2#newcode1532 src/arm/stub-cache-arm.cc:1532: Register result = r0; looks like result is only used at 1553, maybe don't declare an alias for it as it confuses me slightly---both receiver and result share the same register http://codereview.chromium.org/3291015/diff/1/2#newcode1535 src/arm/stub-cache-arm.cc:1535: __ ldr(code, MemOperand(sp, 0 * kPointerSize)); just curious: could it be faster to batch pop registers on fast path and push them back when going slow case? http://codereview.chromium.org/3291015/diff/1/2#newcode1540 src/arm/stub-cache-arm.cc:1540: Handle<Map>(string_function->map()), should we do map check or object identity check? I am slightly concerned that you bail out in compile time if objects is not String, but in runtime check is somewhat different. And chances are identity check could be faster (we don't share this code between contexts, do we?) http://codereview.chromium.org/3291015/diff/1/2#newcode1546 src/arm/stub-cache-arm.cc:1546: STATIC_ASSERT(kStringTag == 0); typo: kStringTag -> kSmiTag? http://codereview.chromium.org/3291015/diff/1/2#newcode1551 src/arm/stub-cache-arm.cc:1551: __ and_(code, code, Operand(Smi::FromInt(0xffff))); just curious: is it a proper way to convert negative numbers? http://codereview.chromium.org/3291015/diff/1/4 File src/ia32/stub-cache-ia32.cc (right): http://codereview.chromium.org/3291015/diff/1/4#newcode1735 src/ia32/stub-cache-ia32.cc:1735: __ and_(code, (0xffff << kSmiTagSize) | kSmiTag); why not FromInt as in ARM case? http://codereview.chromium.org/3291015/diff/1/8 File test/mjsunit/string-fromcharcode.js (right): http://codereview.chromium.org/3291015/diff/1/8#newcode48 test/mjsunit/string-fromcharcode.js:48: assertEquals(expected, receiver.fromCharCode(0x20 + 0.5)); maybe negative indices cases should be added. http://codereview.chromium.org/3291015/show -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
