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

Issue 7795018: Generated code for substring slices in x64 and arm. (Closed)

Created:
9 years, 3 months ago by Yang
Modified:
9 years, 3 months ago
CC:
v8-dev
Visibility:
Public.

Description

Generated code for substring slices in x64 and arm. Committed: http://code.google.com/p/v8/source/detail?r=9111

Patch Set 1 #

Total comments: 15

Patch Set 2 : Erik's suggestions. #

Total comments: 4

Patch Set 3 : Applied Bill's suggestions. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+380 lines, -94 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 4 chunks +136 lines, -61 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/arm/macro-assembler-arm.h View 1 chunk +10 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 chunk +40 lines, -0 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 6 chunks +15 lines, -11 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/ia32/macro-assembler-ia32.h View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 7 chunks +89 lines, -12 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/x64/macro-assembler-x64.h View 1 2 2 chunks +12 lines, -1 line 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 2 chunks +37 lines, -1 line 0 comments Download
M test/cctest/test-strings.cc View 1 1 chunk +29 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
Yang
Please take a look.
9 years, 3 months ago (2011-08-30 13:22:15 UTC) #1
antonm
LGTM, but Erik and William might be better reviewers for ARM and x64. http://codereview.chromium.org/7795018/diff/1/src/arm/code-stubs-arm.cc File ...
9 years, 3 months ago (2011-08-31 13:08:42 UTC) #2
Yang
+Erik +Bill as Anton suggested.
9 years, 3 months ago (2011-08-31 13:13:09 UTC) #3
Erik Corry
ARM part LGTM, but may have redundant code. http://codereview.chromium.org/7795018/diff/1/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): http://codereview.chromium.org/7795018/diff/1/src/arm/code-stubs-arm.cc#newcode5486 src/arm/code-stubs-arm.cc:5486: // ...
9 years, 3 months ago (2011-08-31 14:14:13 UTC) #4
Yang
On 2011/08/31 14:14:13, Erik Corry wrote: > ARM part LGTM, but may have redundant code. ...
9 years, 3 months ago (2011-08-31 15:57:59 UTC) #5
Yang
http://codereview.chromium.org/7795018/diff/1/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): http://codereview.chromium.org/7795018/diff/1/src/arm/code-stubs-arm.cc#newcode5527 src/arm/code-stubs-arm.cc:5527: __ b(gt, &runtime); // External strings go to runtime. ...
9 years, 3 months ago (2011-08-31 15:58:16 UTC) #6
William Hesse
LGTM. http://codereview.chromium.org/7795018/diff/3002/src/x64/code-stubs-x64.cc File src/x64/code-stubs-x64.cc (right): http://codereview.chromium.org/7795018/diff/3002/src/x64/code-stubs-x64.cc#newcode4763 src/x64/code-stubs-x64.cc:4763: __ testb(rbx, Immediate(kAsciiStringTag)); I would use kStringEncodingMask and ...
9 years, 3 months ago (2011-09-01 08:26:02 UTC) #7
Yang
9 years, 3 months ago (2011-09-01 11:27:02 UTC) #8
http://codereview.chromium.org/7795018/diff/3002/src/x64/code-stubs-x64.cc
File src/x64/code-stubs-x64.cc (right):

http://codereview.chromium.org/7795018/diff/3002/src/x64/code-stubs-x64.cc#ne...
src/x64/code-stubs-x64.cc:4763: __ testb(rbx, Immediate(kAsciiStringTag));
On 2011/09/01 08:26:02, William Hesse wrote:
> I would use kStringEncodingMask and assert
> kStringEncodingMask & kAsciiStringTag != 0
> and
> kStringEncodingMask & kTwoByteStringTag == 0

Done. Also changed for a bunch of similar places.

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

http://codereview.chromium.org/7795018/diff/3002/src/x64/macro-assembler-x64....
src/x64/macro-assembler-x64.cc:3662: void
MacroAssembler::AllocateSlicedString(Register result,
On 2011/09/01 08:26:02, William Hesse wrote:
> I would call this "AllocateTwoByteSlicedString".  Even though constants leave
> off "TwoByte" in their names, I think we use it in function names.

Done. Also changed for ia32.

Powered by Google App Engine
This is Rietveld 408576698