Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(466)

Issue 6729016: Implemented FastAsciiStringJoin in X64 full codegen. (Closed)

Created:
9 years, 9 months ago by Lasse Reichstein
Modified:
9 years, 6 months ago
Reviewers:
William Hesse
CC:
v8-dev
Visibility:
Public.

Description

Implemented FastAsciiStringJoin in X64 full codegen. Committed: http://code.google.com/p/v8/source/detail?r=7345

Patch Set 1 #

Total comments: 14
Unified diffs Side-by-side diffs Delta from patch set Stats (+405 lines, -13 lines) Patch
M src/x64/assembler-x64.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/x64/assembler-x64.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 chunk +282 lines, -1 line 10 comments Download
M src/x64/macro-assembler-x64.h View 4 chunks +41 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 5 chunks +75 lines, -12 lines 4 comments Download

Messages

Total messages: 3 (0 generated)
Lasse Reichstein
9 years, 9 months ago (2011-03-24 10:49:33 UTC) #1
William Hesse
LGTM. http://codereview.chromium.org/6729016/diff/1/src/x64/full-codegen-x64.cc File src/x64/full-codegen-x64.cc (right): http://codereview.chromium.org/6729016/diff/1/src/x64/full-codegen-x64.cc#newcode3348 src/x64/full-codegen-x64.cc:3348: // Check that the separator is a flat ...
9 years, 9 months ago (2011-03-24 12:02:21 UTC) #2
Lasse Reichstein
9 years, 9 months ago (2011-03-24 12:14:08 UTC) #3
http://codereview.chromium.org/6729016/diff/1/src/x64/full-codegen-x64.cc
File src/x64/full-codegen-x64.cc (right):

http://codereview.chromium.org/6729016/diff/1/src/x64/full-codegen-x64.cc#new...
src/x64/full-codegen-x64.cc:3348: // Check that the separator is a flat ASCII
string.
Done.

http://codereview.chromium.org/6729016/diff/1/src/x64/full-codegen-x64.cc#new...
src/x64/full-codegen-x64.cc:3355: __ cmpb(scratch,
Immediate(ASCII_STRING_TYPE));
No idea. I'll just make it use the or-of-three-things like above.

http://codereview.chromium.org/6729016/diff/1/src/x64/full-codegen-x64.cc#new...
src/x64/full-codegen-x64.cc:3465: // a loop limit.
Good idea for another CL.

http://codereview.chromium.org/6729016/diff/1/src/x64/full-codegen-x64.cc#new...
src/x64/full-codegen-x64.cc:3490: //   rsp[0x10] (separator_operand): Address of
first char of separator.
That's better, thanks.

http://codereview.chromium.org/6729016/diff/1/src/x64/full-codegen-x64.cc#new...
src/x64/full-codegen-x64.cc:3506: __ j(less, &loop_3);  // Loop while (index <
0).
Done.

http://codereview.chromium.org/6729016/diff/1/src/x64/macro-assembler-x64.cc
File src/x64/macro-assembler-x64.cc (right):

http://codereview.chromium.org/6729016/diff/1/src/x64/macro-assembler-x64.cc#...
src/x64/macro-assembler-x64.cc:1464: addl(dst, Operand(src, kSmiShift /
kBitsPerByte));
Done.

http://codereview.chromium.org/6729016/diff/1/src/x64/macro-assembler-x64.cc#...
src/x64/macro-assembler-x64.cc:2721: // Experimentation shows that the short
string loop is faster if length < 10.
Comment removed.
We should do tests to see what the best constant is for X64.

Powered by Google App Engine
This is Rietveld 408576698