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

Issue 2738413002: [regexp] Port RegExpExecStub to CSA (mostly) (Closed)

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

Description

[regexp] Port RegExpExecStub to CSA (mostly) This moves most of the logic contained in RegExpExecStub to CSA. Benefits are mostly easier readability and hackability, and removal of a large chunk of platform-specific assembly. Exit frame construction and the final call remain in RegExpExecStub. BUG=v8:5339, v8:592 Review-Url: https://codereview.chromium.org/2738413002 Cr-Commit-Position: refs/heads/master@{#43844} Committed: https://chromium.googlesource.com/v8/v8/+/5cc6189677066382dd206a68375b88e80ccd9afd

Patch Set 1 #

Patch Set 2 : Remove ReThrow args #

Patch Set 3 : ReThrow and untested arm/ia32 #

Patch Set 4 : CSA type fixes #

Patch Set 5 : Several fixes #

Patch Set 6 : Remaining ports #

Patch Set 7 : arm64 and win64 fixes #

Patch Set 8 : arm64 fix and builtin tweaks #

Patch Set 9 : Fix arm64 cobbled code register #

Total comments: 22

Patch Set 10 : Address comments #

Patch Set 11 : Fix code-stubs-ia32 #

Patch Set 12 : Remove unused argument #

Patch Set 13 : Rebase and revert to partial port #

Patch Set 14 : Fix unpacking thin strings with external actual string #

Patch Set 15 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+743 lines, -3455 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 3 4 10 11 12 2 chunks +34 lines, -364 lines 0 comments Download
M src/arm/interface-descriptors-arm.cc View 1 2 10 11 12 1 chunk +5 lines, -1 line 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +15 lines, -427 lines 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 1 2 3 4 5 6 7 8 10 11 12 1 chunk +5 lines, -0 lines 0 comments Download
M src/bailout-reason.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -2 lines 0 comments Download
M src/builtins/builtins-regexp.h View 10 11 12 1 chunk +12 lines, -0 lines 0 comments Download
M src/builtins/builtins-regexp.cc View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +287 lines, -14 lines 0 comments Download
M src/code-stub-assembler.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +10 lines, -0 lines 0 comments Download
M src/code-stub-assembler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +125 lines, -23 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 5 10 11 12 3 chunks +23 lines, -375 lines 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 1 2 10 11 12 1 chunk +5 lines, -1 line 0 comments Download
M src/interface-descriptors.h View 10 11 12 1 chunk +9 lines, -3 lines 0 comments Download
M src/interface-descriptors.cc View 10 11 12 1 chunk +18 lines, -0 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 3 4 5 10 11 12 2 chunks +34 lines, -367 lines 0 comments Download
M src/mips/interface-descriptors-mips.cc View 1 2 3 4 5 10 11 12 1 chunk +5 lines, -1 line 0 comments Download
M src/mips64/code-stubs-mips64.cc View 1 2 3 4 5 10 11 12 3 chunks +23 lines, -362 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 1 2 3 4 5 10 11 12 1 chunk +5 lines, -1 line 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +0 lines, -10 lines 0 comments Download
M src/ppc/code-stubs-ppc.cc View 1 2 3 4 5 10 11 12 4 chunks +23 lines, -370 lines 0 comments Download
M src/ppc/interface-descriptors-ppc.cc View 1 2 3 4 5 10 11 12 1 chunk +5 lines, -1 line 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M src/runtime/runtime-regexp.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/s390/code-stubs-s390.cc View 1 2 3 4 5 10 11 12 2 chunks +31 lines, -380 lines 0 comments Download
M src/s390/interface-descriptors-s390.cc View 1 2 3 4 5 10 11 12 1 chunk +6 lines, -0 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 5 6 10 11 12 3 chunks +27 lines, -374 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 1 2 3 4 5 6 10 11 12 1 chunk +5 lines, -1 line 0 comments Download
M src/x87/code-stubs-x87.cc View 1 2 3 4 5 10 11 12 3 chunks +23 lines, -375 lines 0 comments Download
M src/x87/interface-descriptors-x87.cc View 1 2 3 4 5 10 11 12 1 chunk +5 lines, -1 line 0 comments Download

Messages

Total messages: 85 (72 generated)
jgruber
I still need to do some cleanups and port remaining architectures, but if you're interested ...
3 years, 9 months ago (2017-03-12 18:20:07 UTC) #23
jgruber
Ready to go. Some self-review comments inline. https://codereview.chromium.org/2738413002/diff/160001/src/builtins/builtins-regexp.cc File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2738413002/diff/160001/src/builtins/builtins-regexp.cc#newcode593 src/builtins/builtins-regexp.cc:593: match_indices = ...
3 years, 9 months ago (2017-03-13 12:27:38 UTC) #40
jgruber
3 years, 9 months ago (2017-03-14 08:59:22 UTC) #42
Benedikt Meurer
LGTM from my side on the approach, haven't checked the registers in detail. :-)
3 years, 9 months ago (2017-03-14 10:46:08 UTC) #44
Igor Sheludko
Nice cleanup! Looking good! https://codereview.chromium.org/2738413002/diff/160001/src/builtins/builtins-regexp.cc File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2738413002/diff/160001/src/builtins/builtins-regexp.cc#newcode388 src/builtins/builtins-regexp.cc:388: Callable exec_callable = CodeFactory::RegExpExec(isolate()); I'd ...
3 years, 9 months ago (2017-03-15 00:39:04 UTC) #45
Igor Sheludko
lgtm for landing the cl without CallCFunction9 changes for now.
3 years, 9 months ago (2017-03-15 13:08:26 UTC) #59
jgruber
As discussed offline, landing the partial port now so I can move ahead with follow-up ...
3 years, 9 months ago (2017-03-15 13:43:45 UTC) #62
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/2738413002/280001
3 years, 9 months ago (2017-03-15 15:20:04 UTC) #76
commit-bot: I haz the power
All required reviewers (with asterisk prefixes) have not yet approved this CL. No L-G-T-M from ...
3 years, 9 months ago (2017-03-15 15:20:08 UTC) #78
Yang
On 2017/03/15 15:20:08, commit-bot: I haz the power wrote: > All required reviewers (with asterisk ...
3 years, 9 months ago (2017-03-16 07:38:41 UTC) #79
Igor Sheludko
lgtm
3 years, 9 months ago (2017-03-16 07:40:47 UTC) #80
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/2738413002/280001
3 years, 9 months ago (2017-03-16 07:53:14 UTC) #82
commit-bot: I haz the power
3 years, 9 months ago (2017-03-16 07:55:05 UTC) #85
Message was sent while issue was closed.
Committed patchset #15 (id:280001) as
https://chromium.googlesource.com/v8/v8/+/5cc6189677066382dd206a68375b88e80cc...

Powered by Google App Engine
This is Rietveld 408576698