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

Issue 2663803002: [string] Migrate String.prototype.{split,replace} to TF (Closed)

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

Description

[string] Migrate String.prototype.{split,replace} to TF BUG= Review-Url: https://codereview.chromium.org/2663803002 Cr-Original-Commit-Position: refs/heads/master@{#42881} Committed: https://chromium.googlesource.com/v8/v8/+/65ad1e35d9a97c1126a55cc9d3014598fd224259 Review-Url: https://codereview.chromium.org/2663803002 Cr-Commit-Position: refs/heads/master@{#42883} Committed: https://chromium.googlesource.com/v8/v8/+/cb19ecd610ee0e7f8bc661616cdb9ca4e9ea804b

Patch Set 1 #

Patch Set 2 : Fix test failures #

Total comments: 2

Patch Set 3 : Whitelist new builtins and fix fast-regexp check #

Total comments: 2

Patch Set 4 : Revert whitelists #

Patch Set 5 : Add fast-path for strings #

Total comments: 2

Patch Set 6 : Fix fast-path check for strings #

Patch Set 7 : Rebase #

Total comments: 26

Patch Set 8 : Address comments #

Total comments: 2

Patch Set 9 : Properly call ToString on early exit #

Total comments: 9

Patch Set 10 : Address comments #

Patch Set 11 : Shortcut after index check #

Patch Set 12 : Remove debug-evaluate whitelisting #

Unified diffs Side-by-side diffs Delta from patch set Stats (+523 lines, -281 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +5 lines, -1 line 0 comments Download
M src/builtins/builtins.h View 1 chunk +4 lines, -0 lines 0 comments Download
A src/builtins/builtins-regexp.h View 1 2 3 4 5 6 1 chunk +94 lines, -0 lines 0 comments Download
M src/builtins/builtins-regexp.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -74 lines 0 comments Download
M src/builtins/builtins-string.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +360 lines, -0 lines 0 comments Download
M src/js/string.js View 5 chunks +0 lines, -205 lines 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime/runtime-strings.cc View 1 chunk +38 lines, -0 lines 0 comments Download
M src/v8.gyp View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M test/debugger/debug/debug-evaluate-no-side-effect-builtins.js View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -1 line 0 comments Download
M test/mjsunit/string-replace.js View 1 2 3 4 5 6 7 8 1 chunk +13 lines, -0 lines 0 comments Download

Messages

Total messages: 74 (51 generated)
jgruber
CC Yang, FYI in debug-evaluate-no-side-effect-builtins. We could probably get some nice addtl improvements with some ...
3 years, 10 months ago (2017-01-31 09:41:54 UTC) #10
Yang
https://codereview.chromium.org/2663803002/diff/20001/test/debugger/debug/debug-evaluate-no-side-effect-builtins.js File test/debugger/debug/debug-evaluate-no-side-effect-builtins.js (right): https://codereview.chromium.org/2663803002/diff/20001/test/debugger/debug/debug-evaluate-no-side-effect-builtins.js#newcode57 test/debugger/debug/debug-evaluate-no-side-effect-builtins.js:57: if (f == "replace") continue; Does String.prototype.{split,replace} with non-regexp ...
3 years, 10 months ago (2017-01-31 11:52:44 UTC) #12
jgruber
https://codereview.chromium.org/2663803002/diff/20001/test/debugger/debug/debug-evaluate-no-side-effect-builtins.js File test/debugger/debug/debug-evaluate-no-side-effect-builtins.js (right): https://codereview.chromium.org/2663803002/diff/20001/test/debugger/debug/debug-evaluate-no-side-effect-builtins.js#newcode57 test/debugger/debug/debug-evaluate-no-side-effect-builtins.js:57: if (f == "replace") continue; On 2017/01/31 11:52:44, Yang ...
3 years, 10 months ago (2017-01-31 12:49:41 UTC) #15
Yang
src/debug lgtm. https://codereview.chromium.org/2663803002/diff/40001/test/debugger/debug/debug-evaluate-no-side-effect-builtins.js File test/debugger/debug/debug-evaluate-no-side-effect-builtins.js (right): https://codereview.chromium.org/2663803002/diff/40001/test/debugger/debug/debug-evaluate-no-side-effect-builtins.js#newcode56 test/debugger/debug/debug-evaluate-no-side-effect-builtins.js:56: if (f == "split") continue; we can ...
3 years, 10 months ago (2017-01-31 12:52:51 UTC) #16
jgruber
Still adding a fast path for strings. https://codereview.chromium.org/2663803002/diff/40001/test/debugger/debug/debug-evaluate-no-side-effect-builtins.js File test/debugger/debug/debug-evaluate-no-side-effect-builtins.js (right): https://codereview.chromium.org/2663803002/diff/40001/test/debugger/debug/debug-evaluate-no-side-effect-builtins.js#newcode56 test/debugger/debug/debug-evaluate-no-side-effect-builtins.js:56: if (f ...
3 years, 10 months ago (2017-01-31 13:10:26 UTC) #19
jgruber
And added a string fast-path. Should be ready for review, PTAL.
3 years, 10 months ago (2017-01-31 14:32:44 UTC) #26
Benedikt Meurer
You confused String.prototype and String.__proto__ https://codereview.chromium.org/2663803002/diff/80001/src/builtins/builtins-string.cc File src/builtins/builtins-string.cc (right): https://codereview.chromium.org/2663803002/diff/80001/src/builtins/builtins-string.cc#newcode1109 src/builtins/builtins-string.cc:1109: Node* const proto_map = ...
3 years, 10 months ago (2017-01-31 15:02:36 UTC) #27
jgruber
https://codereview.chromium.org/2663803002/diff/80001/src/builtins/builtins-string.cc File src/builtins/builtins-string.cc (right): https://codereview.chromium.org/2663803002/diff/80001/src/builtins/builtins-string.cc#newcode1109 src/builtins/builtins-string.cc:1109: Node* const proto_map = LoadMap(LoadMapPrototype(LoadMap(string_function))); On 2017/01/31 15:02:36, Benedikt ...
3 years, 10 months ago (2017-02-01 09:01:13 UTC) #30
Igor Sheludko
https://codereview.chromium.org/2663803002/diff/120001/src/builtins/builtins-string.cc File src/builtins/builtins-string.cc (right): https://codereview.chromium.org/2663803002/diff/120001/src/builtins/builtins-string.cc#newcode1069 src/builtins/builtins-string.cc:1069: return Word32Or(IsUndefined(value), IsNull(value)); CSA will generate a code that ...
3 years, 10 months ago (2017-02-01 12:55:31 UTC) #37
jgruber
Thanks for the review, all comments addressed. https://codereview.chromium.org/2663803002/diff/120001/src/builtins/builtins-string.cc File src/builtins/builtins-string.cc (right): https://codereview.chromium.org/2663803002/diff/120001/src/builtins/builtins-string.cc#newcode1069 src/builtins/builtins-string.cc:1069: return Word32Or(IsUndefined(value), ...
3 years, 10 months ago (2017-02-01 14:03:15 UTC) #40
Igor Sheludko
https://codereview.chromium.org/2663803002/diff/140001/src/builtins/builtins-string.cc File src/builtins/builtins-string.cc (right): https://codereview.chromium.org/2663803002/diff/140001/src/builtins/builtins-string.cc#newcode1215 src/builtins/builtins-string.cc:1215: Node* const replace_string = CallStub(tostring_callable, context, replace); We should ...
3 years, 10 months ago (2017-02-01 14:12:15 UTC) #41
jgruber
https://codereview.chromium.org/2663803002/diff/140001/src/builtins/builtins-string.cc File src/builtins/builtins-string.cc (right): https://codereview.chromium.org/2663803002/diff/140001/src/builtins/builtins-string.cc#newcode1215 src/builtins/builtins-string.cc:1215: Node* const replace_string = CallStub(tostring_callable, context, replace); On 2017/02/01 ...
3 years, 10 months ago (2017-02-01 15:11:30 UTC) #46
Igor Sheludko
lgtm once last comments are addressed: https://codereview.chromium.org/2663803002/diff/160001/src/builtins/builtins-string.cc File src/builtins/builtins-string.cc (right): https://codereview.chromium.org/2663803002/diff/160001/src/builtins/builtins-string.cc#newcode1219 src/builtins/builtins-string.cc:1219: GotoUnless(SmiIsNegative(match_start_index), &next); // ...
3 years, 10 months ago (2017-02-01 15:31:23 UTC) #47
jgruber
https://codereview.chromium.org/2663803002/diff/160001/src/builtins/builtins-string.cc File src/builtins/builtins-string.cc (right): https://codereview.chromium.org/2663803002/diff/160001/src/builtins/builtins-string.cc#newcode1219 src/builtins/builtins-string.cc:1219: GotoUnless(SmiIsNegative(match_start_index), &next); On 2017/02/01 15:31:22, Igor Sheludko wrote: > ...
3 years, 10 months ago (2017-02-02 07:49:40 UTC) #52
Igor Sheludko
lgtm https://codereview.chromium.org/2663803002/diff/160001/src/builtins/builtins-string.cc File src/builtins/builtins-string.cc (right): https://codereview.chromium.org/2663803002/diff/160001/src/builtins/builtins-string.cc#newcode1220 src/builtins/builtins-string.cc:1220: GotoIf(IsCallableMap(LoadMap(replace)), &return_subject); On 2017/02/02 07:49:40, jgruber wrote: > ...
3 years, 10 months ago (2017-02-02 07:57:41 UTC) #53
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/2663803002/200001
3 years, 10 months ago (2017-02-02 08:18:26 UTC) #58
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/2663803002/220001
3 years, 10 months ago (2017-02-02 09:43:21 UTC) #62
commit-bot: I haz the power
Committed patchset #12 (id:220001) as https://chromium.googlesource.com/v8/v8/+/65ad1e35d9a97c1126a55cc9d3014598fd224259
3 years, 10 months ago (2017-02-02 10:09:16 UTC) #65
Michael Achenbach
A revert of this CL (patchset #12 id:220001) has been created in https://codereview.chromium.org/2671673003/ by machenbach@chromium.org. ...
3 years, 10 months ago (2017-02-02 11:10:10 UTC) #66
Michael Achenbach
Note that happened earlier too: https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/14937 Seems to be a build-dependent flake that flushes an ...
3 years, 10 months ago (2017-02-02 11:15:43 UTC) #67
jgruber
On 2017/02/02 11:15:43, Michael Achenbach wrote: > Note that happened earlier too: > https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/14937 > ...
3 years, 10 months ago (2017-02-02 11:22:36 UTC) #68
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/2663803002/220001
3 years, 10 months ago (2017-02-02 11:28:56 UTC) #71
commit-bot: I haz the power
3 years, 10 months ago (2017-02-02 11:31:10 UTC) #74
Message was sent while issue was closed.
Committed patchset #12 (id:220001) as
https://chromium.googlesource.com/v8/v8/+/cb19ecd610ee0e7f8bc661616cdb9ca4e9e...

Powered by Google App Engine
This is Rietveld 408576698