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

Issue 2434983002: [regexp] Use consistent map checks for fast paths (Closed)

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

Description

[regexp] Use consistent map checks for fast paths These map checks were implemented for TF code already. This CL makes sure that parts implemented in C++ follow the same logic, which is: An object is an unmodified regexp if: 1) it's a receiver, 2) its map is the initial regexp map, 3) its prototype is a receiver, 4) and its prototype's map is the initial prototype's initial map. We can now be smarter in @@replace and @@split since checking maps (unlike the previous check of RegExp.prototype.exec) is not observable, so we can perform fast-path checks at a time of our choosing. BUG=v8:5339, v8:5434, v8:5123 Committed: https://crrev.com/eb10dc4c91eb34bad40a5cd33be27a13885f1736 Cr-Commit-Position: refs/heads/master@{#40501}

Patch Set 1 #

Patch Set 2 : Go through GetProperty when accessing flags in exec when needed #

Patch Set 3 : Earlier fast path in split #

Patch Set 4 : Inline proto check #

Patch Set 5 : Revert changes to BuiltinExec #

Patch Set 6 : Rebase #

Patch Set 7 : Unmark coerce-* tests as failing #

Unified diffs Side-by-side diffs Delta from patch set Stats (+40 lines, -48 lines) Patch
M src/builtins/builtins-regexp.cc View 1 2 3 4 1 chunk +6 lines, -12 lines 0 comments Download
M src/regexp/regexp-utils.h View 1 chunk +3 lines, -2 lines 0 comments Download
M src/regexp/regexp-utils.cc View 1 chunk +16 lines, -5 lines 0 comments Download
M src/runtime/runtime-regexp.cc View 1 2 3 4 2 chunks +9 lines, -23 lines 0 comments Download
M test/mjsunit/es6/regexp-flags.js View 1 2 3 4 1 chunk +6 lines, -2 lines 0 comments Download
M test/test262/test262.status View 1 2 3 4 5 6 1 chunk +0 lines, -4 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 54 (41 generated)
jgruber
+igor FYI since I'm adding another TODO for you.
4 years, 2 months ago (2016-10-20 11:04:37 UTC) #4
jgruber
This exposes an issue in RE.proto.exec: * In some tests, e.g. es6/regexp-flags, the regexp instance ...
4 years, 2 months ago (2016-10-20 12:39:24 UTC) #7
jgruber
On 2016/10/20 12:39:24, jgruber wrote: > This exposes an issue in RE.proto.exec: > > * ...
4 years, 2 months ago (2016-10-20 12:44:53 UTC) #8
Yang
On 2016/10/20 12:44:53, jgruber wrote: > On 2016/10/20 12:39:24, jgruber wrote: > > This exposes ...
4 years, 2 months ago (2016-10-21 06:54:46 UTC) #23
jgruber
On 2016/10/20 12:44:53, jgruber wrote: > On 2016/10/20 12:39:24, jgruber wrote: > > This exposes ...
4 years, 2 months ago (2016-10-21 08:04:27 UTC) #29
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/2434983002/120001
4 years, 2 months ago (2016-10-21 09:30:42 UTC) #41
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 2 months ago (2016-10-21 09:58:13 UTC) #43
Michael Achenbach
A revert of this CL (patchset #7 id:120001) has been created in https://chromiumcodereview.appspot.com/2438283002/ by machenbach@chromium.org. ...
4 years, 2 months ago (2016-10-21 11:14:43 UTC) #44
jgruber
On 2016/10/21 11:14:43, machenbach (slow) wrote: > A revert of this CL (patchset #7 id:120001) ...
4 years, 2 months ago (2016-10-21 11:54:37 UTC) #46
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/2434983002/120001
4 years, 2 months ago (2016-10-21 11:54:51 UTC) #48
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 2 months ago (2016-10-21 11:58:33 UTC) #50
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/bac992a11440b7972fe40720d056fc3398c08495 Cr-Commit-Position: refs/heads/master@{#40495}
4 years, 1 month ago (2016-11-17 22:09:24 UTC) #52
commit-bot: I haz the power
4 years, 1 month ago (2016-11-17 22:09:41 UTC) #54
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/eb10dc4c91eb34bad40a5cd33be27a13885f1736
Cr-Commit-Position: refs/heads/master@{#40501}

Powered by Google App Engine
This is Rietveld 408576698