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

Issue 2375953002: [regexp] Port RegExp.prototype.exec to TurboFan (Closed)

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

Description

[regexp] Port RegExp.prototype.exec to TurboFan This ports RegExp.prototype.exec to a TurboFan builtin. LastMatchInfo is now stored on the context in order to be able to access it from the stub. Unmodified RegExp instances go through a fast path of accessing the lastIndex property as an in-object field, while modified instances call into runtime for lastIndex loads and stores. Octane/regexp shows slight improvements (between 0 and 5%) with this CL. BUG=v8:5339 Committed: https://crrev.com/db99bdff767177cfc6467400955fc156a7459658 Cr-Commit-Position: refs/heads/master@{#39899}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Handle modified regexp instances #

Patch Set 4 : Fix whitespace #

Patch Set 5 : Format #

Patch Set 6 : Handle smi this values #

Total comments: 43

Patch Set 7 : Address comments #

Total comments: 4

Patch Set 8 : Address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+366 lines, -58 lines) Patch
M BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 5 6 7 2 chunks +14 lines, -3 lines 0 comments Download
M src/builtins/builtins.h View 1 chunk +3 lines, -0 lines 0 comments Download
A src/builtins/builtins-regexp.cc View 1 2 3 4 5 6 7 1 chunk +297 lines, -0 lines 0 comments Download
M src/code-stub-assembler.h View 1 2 3 4 5 6 1 chunk +7 lines, -0 lines 0 comments Download
M src/code-stub-assembler.cc View 1 2 3 4 5 6 1 chunk +28 lines, -0 lines 0 comments Download
M src/compiler/code-assembler.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/code-assembler.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M src/contexts.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/js/regexp.js View 1 4 chunks +4 lines, -55 lines 0 comments Download
M src/v8.gyp View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 38 (28 generated)
jgruber
4 years, 2 months ago (2016-09-29 10:06:42 UTC) #17
Benedikt Meurer
Looks good to me overall. https://codereview.chromium.org/2375953002/diff/100001/src/builtins/builtins-regexp.cc File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2375953002/diff/100001/src/builtins/builtins-regexp.cc#newcode93 src/builtins/builtins-regexp.cc:93: Callable substring_callable = CodeFactory::SubString(isolate); ...
4 years, 2 months ago (2016-09-29 11:10:08 UTC) #19
Igor Sheludko
First round of comments. https://codereview.chromium.org/2375953002/diff/100001/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/2375953002/diff/100001/src/bootstrapper.cc#newcode1674 src/bootstrapper.cc:1674: Accessors::FunctionSetPrototype(regexp_fun, proto).Assert(); I think you ...
4 years, 2 months ago (2016-09-29 12:55:29 UTC) #22
jgruber
ptal https://codereview.chromium.org/2375953002/diff/100001/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/2375953002/diff/100001/src/bootstrapper.cc#newcode1674 src/bootstrapper.cc:1674: Accessors::FunctionSetPrototype(regexp_fun, proto).Assert(); On 2016/09/29 12:55:28, Igor Sheludko wrote: ...
4 years, 2 months ago (2016-09-29 14:40:27 UTC) #28
Igor Sheludko
lgtm with nits: https://codereview.chromium.org/2375953002/diff/100001/src/code-stub-assembler.cc File src/code-stub-assembler.cc (right): https://codereview.chromium.org/2375953002/diff/100001/src/code-stub-assembler.cc#newcode2367 src/code-stub-assembler.cc:2367: Label if_stringisnotshort(this), On 2016/09/29 14:40:27, jgruber ...
4 years, 2 months ago (2016-09-29 15:01:34 UTC) #29
Benedikt Meurer
LGTM from my side.
4 years, 2 months ago (2016-09-30 06:47:22 UTC) #30
jgruber
https://codereview.chromium.org/2375953002/diff/120001/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/2375953002/diff/120001/src/bootstrapper.cc#newcode1669 src/bootstrapper.cc:1669: { On 2016/09/29 15:01:34, Igor Sheludko wrote: > Please ...
4 years, 2 months ago (2016-09-30 06:53:27 UTC) #31
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/2375953002/140001
4 years, 2 months ago (2016-09-30 06:56:28 UTC) #34
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 2 months ago (2016-09-30 07:24:26 UTC) #36
commit-bot: I haz the power
4 years, 2 months ago (2016-09-30 07:24:47 UTC) #38
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/db99bdff767177cfc6467400955fc156a7459658
Cr-Commit-Position: refs/heads/master@{#39899}

Powered by Google App Engine
This is Rietveld 408576698