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

Issue 2859203002: [string] Move String.p.toLowerCase to CSA (Closed)

Created:
3 years, 7 months ago by jgruber
Modified:
3 years, 7 months ago
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

[string] Move String.p.toLowerCase to CSA This CL migrates the CPP builtin to CSA with fast paths for strings that can be unpacked to direct one-byte strings. Short strings are handled directly in CSA, others need to call into C for conversion. Microbenchmarks for "abcd".toLowerCase() show speedups of 2.5x. BUG=v8:6353, v8:6344 Review-Url: https://codereview.chromium.org/2859203002 Cr-Commit-Position: refs/heads/master@{#45141} Committed: https://chromium.googlesource.com/v8/v8/+/f0e95769dbc3c209f513c68e2aa7c9433c4cd934

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Implement lookup and unpacking for short strings #

Total comments: 1

Patch Set 4 : Remove unused code #

Total comments: 10

Patch Set 5 : Use unpacked string in C call #

Total comments: 2

Patch Set 6 : Address comments #

Total comments: 4

Patch Set 7 : Address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+261 lines, -49 lines) Patch
M BUILD.gn View 1 2 chunks +5 lines, -0 lines 0 comments Download
M src/assembler.h View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M src/assembler.cc View 1 2 2 chunks +18 lines, -0 lines 0 comments Download
M src/bootstrapper.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/builtins/builtins-definitions.h View 1 chunk +1 line, -1 line 0 comments Download
M src/builtins/builtins-intl.cc View 1 chunk +0 lines, -7 lines 0 comments Download
A src/builtins/builtins-intl-gen.cc View 1 2 3 4 5 6 1 chunk +113 lines, -0 lines 0 comments Download
M src/code-stub-assembler.h View 1 2 3 4 5 6 4 chunks +16 lines, -2 lines 0 comments Download
M src/code-stub-assembler.cc View 1 2 4 5 6 4 chunks +32 lines, -10 lines 0 comments Download
M src/external-reference-table.cc View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M src/intl.h View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M src/intl.cc View 1 2 3 4 5 6 3 chunks +54 lines, -26 lines 0 comments Download
M src/v8.gyp View 2 chunks +2 lines, -0 lines 0 comments Download
M test/mjsunit/string-case.js View 1 2 3 4 5 1 chunk +3 lines, -2 lines 0 comments Download

Messages

Total messages: 35 (27 generated)
jgruber
Short reviewers guide: This moves S.p.toLowerCase to CSA. * Empty strings and unpackable one-byte strings ...
3 years, 7 months ago (2017-05-05 09:04:01 UTC) #14
Camillo Bruni
https://codereview.chromium.org/2859203002/diff/60001/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/2859203002/diff/60001/src/bootstrapper.cc#newcode4087 src/bootstrapper.cc:4087: 0, true), We should probably avoid the explicit arguments ...
3 years, 7 months ago (2017-05-05 10:10:03 UTC) #21
jgruber
https://codereview.chromium.org/2859203002/diff/60001/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/2859203002/diff/60001/src/bootstrapper.cc#newcode4087 src/bootstrapper.cc:4087: 0, true), On 2017/05/05 10:10:03, Camillo Bruni wrote: > ...
3 years, 7 months ago (2017-05-05 10:21:58 UTC) #22
jgruber
https://codereview.chromium.org/2859203002/diff/80001/src/builtins/builtins-intl-gen.cc File src/builtins/builtins-intl-gen.cc (right): https://codereview.chromium.org/2859203002/diff/80001/src/builtins/builtins-intl-gen.cc#newcode48 src/builtins/builtins-intl-gen.cc:48: &call_c); On 2017/05/05 10:10:03, Camillo Bruni wrote: > I ...
3 years, 7 months ago (2017-05-05 10:39:06 UTC) #24
Camillo Bruni
LGTM with some minor nits. https://codereview.chromium.org/2859203002/diff/60001/src/builtins/builtins-intl-gen.cc File src/builtins/builtins-intl-gen.cc (right): https://codereview.chromium.org/2859203002/diff/60001/src/builtins/builtins-intl-gen.cc#newcode40 src/builtins/builtins-intl-gen.cc:40: GotoIfNot(IsOneByteStringInstanceType(to_direct.instance_type()), &runtime); On 2017/05/05 ...
3 years, 7 months ago (2017-05-05 11:44:26 UTC) #25
jgruber
https://codereview.chromium.org/2859203002/diff/40002/src/builtins/builtins-intl-gen.cc File src/builtins/builtins-intl-gen.cc (right): https://codereview.chromium.org/2859203002/diff/40002/src/builtins/builtins-intl-gen.cc#newcode40 src/builtins/builtins-intl-gen.cc:40: GotoIfNot(IsOneByteStringInstanceType(to_direct.instance_type()), &runtime); On 2017/05/05 11:44:26, Camillo Bruni wrote: > ...
3 years, 7 months ago (2017-05-05 15:26:58 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2859203002/110001
3 years, 7 months ago (2017-05-05 15:49:59 UTC) #32
commit-bot: I haz the power
3 years, 7 months ago (2017-05-05 15:59:18 UTC) #35
Message was sent while issue was closed.
Committed patchset #7 (id:110001) as
https://chromium.googlesource.com/v8/v8/+/f0e95769dbc3c209f513c68e2aa7c9433c4...

Powered by Google App Engine
This is Rietveld 408576698