LGTM.

http://codereview.chromium.org/6469052/diff/1/src/x64/lithium-codegen-x64.cc
File src/x64/lithium-codegen-x64.cc (right):

http://codereview.chromium.org/6469052/diff/1/src/x64/lithium-codegen-x64.cc#newcode2352
src/x64/lithium-codegen-x64.cc:2352: // We need special handling for
non-flat strings.
... special handling for non-sequential strings. (External strings are
also flat).

http://codereview.chromium.org/6469052/diff/1/src/x64/lithium-codegen-x64.cc#newcode2378
src/x64/lithium-codegen-x64.cc:2378: // Check for 1-byte or 2-byte
string.
You call it 1-byte string here and ASCII string below.
Perhaps use either ASCII and UC16, or ASCII and TwoByte.

http://codereview.chromium.org/6469052/diff/1/src/x64/lithium-codegen-x64.cc#newcode2390
src/x64/lithium-codegen-x64.cc:2390: SeqTwoByteString::kHeaderSize + 2 *
const_index));
Use kUC16Size instead of 2.

http://codereview.chromium.org/6469052/diff/1/src/x64/lithium-codegen-x64.cc#newcode2445
src/x64/lithium-codegen-x64.cc:2445: __ Integer32ToSmi(rax, rax);
Should be SmiToInteger32.

http://codereview.chromium.org/6469052/diff/1/src/x64/lithium-codegen-x64.cc#newcode2448
src/x64/lithium-codegen-x64.cc:2448: __ PopSafepointRegisters();
We could make an alternative version:
PopSafepointRegistersExcept(Register to_omit)
and then just move the result from rax to result before popping the
rest.
Can't say if it'll be worth it, though.

http://codereview.chromium.org/6469052/diff/1/src/x64/lithium-codegen-x64.cc#newcode2825
src/x64/lithium-codegen-x64.cc:2825: // Result will be in eax.
eax->rax

http://codereview.chromium.org/6469052/

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

Reply via email to