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

Issue 2745053003: [regexp] Add slow exec stub to reduce code size (Closed)

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

Description

[regexp] Add slow exec stub to reduce code size CSA builtins can become very large, and the RegExp builtins are currently the main offender (e.g. @@match's code size is over 50k). This is due to the fact that most RegExp builtins rely on RegExpBuiltinExec (fairly large itself), which is then inlined multiple times in many builtins. This CL reduces the snapshot size for an x64 release build by 80k by turning slow-path RegExpBuiltinExec calls into stub calls (i.e. removing code duplication through inlining) and completely removing the code path for fast RegExp instances in RegExpExec (it is never taken). BUG=v8:5339, v8:5737 Review-Url: https://codereview.chromium.org/2745053003 Cr-Commit-Position: refs/heads/master@{#43889} Committed: https://chromium.googlesource.com/v8/v8/+/10f7b7ecc686b34d13ac3fa5f789dfce1c963711

Patch Set 1 #

Total comments: 2

Patch Set 2 : Rebase and non-generic descriptor #

Unified diffs Side-by-side diffs Delta from patch set Stats (+57 lines, -49 lines) Patch
M src/builtins/builtins.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/builtins/builtins-regexp-gen.cc View 1 4 chunks +47 lines, -49 lines 0 comments Download
M src/interface-descriptors.h View 1 2 chunks +8 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (12 generated)
jgruber
3 years, 9 months ago (2017-03-13 15:49:23 UTC) #4
Igor Sheludko
lgtm https://codereview.chromium.org/2745053003/diff/1/src/builtins/builtins-regexp.cc File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2745053003/diff/1/src/builtins/builtins-regexp.cc#newcode1498 src/builtins/builtins-regexp.cc:1498: BranchIfFastRegExp(context, map, &if_isfastpath, &if_isslowpath); I guess it's better ...
3 years, 9 months ago (2017-03-13 16:30:32 UTC) #7
jgruber
https://codereview.chromium.org/2745053003/diff/1/src/builtins/builtins-regexp.cc File src/builtins/builtins-regexp.cc (right): https://codereview.chromium.org/2745053003/diff/1/src/builtins/builtins-regexp.cc#newcode1498 src/builtins/builtins-regexp.cc:1498: BranchIfFastRegExp(context, map, &if_isfastpath, &if_isslowpath); On 2017/03/13 16:30:32, Igor Sheludko ...
3 years, 9 months ago (2017-03-17 09:51:23 UTC) #10
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/2745053003/20001
3 years, 9 months ago (2017-03-17 10:03:28 UTC) #14
commit-bot: I haz the power
3 years, 9 months ago (2017-03-17 10:48:53 UTC) #17
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/v8/v8/+/10f7b7ecc686b34d13ac3fa5f789dfce1c9...

Powered by Google App Engine
This is Rietveld 408576698