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

Issue 2415103002: [regexp] Turn last match info into a simple FixedArray (Closed)

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

Description

[regexp] Turn last match info into a simple FixedArray Now that all accesses to the last match info are in C++ and TF code, we can finally turn the last match info into a FixedArray. Similar to the ArrayList, it uses its first field to store its length and grows dynamically in amortized O(1) time. Unlike previously, this means that the last match info pointer stored on the context can actually change (in case the FixedArray needs to grow). BUG=v8:5339 Committed: https://crrev.com/f60a7c4f61b15341c3bc7bb46a41c13a090f7789 Cr-Commit-Position: refs/heads/master@{#40308}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Port architectures and move internal match info to context #

Total comments: 2

Patch Set 4 : Correct register move instructions and exports #

Patch Set 5 : Fix non-exported base and gcmole errors #

Patch Set 6 : Don't check instance type before map check #

Unified diffs Side-by-side diffs Delta from patch set Stats (+419 lines, -631 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 3 4 5 5 chunks +17 lines, -29 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 4 5 4 chunks +17 lines, -30 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 3 chunks +10 lines, -2 lines 0 comments Download
M src/builtins/builtins-regexp.cc View 1 2 20 chunks +43 lines, -91 lines 0 comments Download
M src/contexts.h View 1 2 2 chunks +3 lines, -1 line 0 comments Download
M src/factory.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M src/factory.cc View 1 2 1 chunk +17 lines, -0 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 5 4 chunks +16 lines, -28 lines 0 comments Download
M src/js/macros.py View 2 chunks +0 lines, -33 lines 0 comments Download
M src/js/regexp.js View 2 chunks +0 lines, -20 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 3 4 5 5 chunks +16 lines, -28 lines 0 comments Download
M src/mips64/code-stubs-mips64.cc View 1 2 3 4 5 5 chunks +16 lines, -28 lines 0 comments Download
M src/objects.h View 1 2 3 4 2 chunks +52 lines, -0 lines 0 comments Download
M src/objects.cc View 1 chunk +9 lines, -0 lines 0 comments Download
M src/objects-inl.h View 1 3 chunks +45 lines, -0 lines 0 comments Download
M src/ppc/code-stubs-ppc.cc View 1 2 3 4 5 5 chunks +18 lines, -19 lines 0 comments Download
M src/regexp/jsregexp.h View 4 chunks +6 lines, -49 lines 0 comments Download
M src/regexp/jsregexp.cc View 1 2 6 chunks +42 lines, -37 lines 0 comments Download
M src/regexp/regexp-utils.h View 1 chunk +1 line, -14 lines 0 comments Download
M src/regexp/regexp-utils.cc View 1 chunk +7 lines, -50 lines 0 comments Download
M src/runtime/runtime.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/runtime/runtime-regexp.cc View 1 2 19 chunks +31 lines, -50 lines 0 comments Download
M src/runtime/runtime-strings.cc View 1 chunk +0 lines, -53 lines 0 comments Download
M src/s390/code-stubs-s390.cc View 1 2 3 4 5 5 chunks +18 lines, -19 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 5 3 chunks +15 lines, -26 lines 0 comments Download
M src/x87/code-stubs-x87.cc View 1 2 3 4 5 5 chunks +14 lines, -20 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CallRuntime.golden View 1 2 1 chunk +1 line, -1 line 0 comments Download
M test/fuzzer/regexp.cc View 2 chunks +3 lines, -2 lines 0 comments Download

Messages

Total messages: 36 (27 generated)
jgruber
PTAL. Architectures other than x64 still need to be ported. I'll move the internal match ...
4 years, 2 months ago (2016-10-13 15:06:15 UTC) #4
jgruber
All architectures are now ported, and moved internal match info to context. +bmeurer for RegExpExecStub.
4 years, 2 months ago (2016-10-14 08:09:56 UTC) #14
Benedikt Meurer
LGTM (rubber-stamped)
4 years, 2 months ago (2016-10-14 08:33:12 UTC) #19
Yang
https://codereview.chromium.org/2415103002/diff/40001/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): https://codereview.chromium.org/2415103002/diff/40001/src/arm/code-stubs-arm.cc#newcode1504 src/arm/code-stubs-arm.cc:1504: __ CompareRoot(r0, Heap::kFixedArrayMapRootIndex); I don't think we have to ...
4 years, 2 months ago (2016-10-14 08:51:10 UTC) #22
jgruber
PTAL https://codereview.chromium.org/2415103002/diff/40001/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): https://codereview.chromium.org/2415103002/diff/40001/src/arm/code-stubs-arm.cc#newcode1504 src/arm/code-stubs-arm.cc:1504: __ CompareRoot(r0, Heap::kFixedArrayMapRootIndex); On 2016/10/14 08:51:10, Yang wrote: ...
4 years, 2 months ago (2016-10-14 09:52:15 UTC) #29
Yang
lgtm
4 years, 2 months ago (2016-10-14 11:15:00 UTC) #30
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/2415103002/100001
4 years, 2 months ago (2016-10-14 11:43:56 UTC) #33
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 2 months ago (2016-10-14 11:46:50 UTC) #34
commit-bot: I haz the power
4 years, 2 months ago (2016-10-14 11:47:16 UTC) #36
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/f60a7c4f61b15341c3bc7bb46a41c13a090f7789
Cr-Commit-Position: refs/heads/master@{#40308}

Powered by Google App Engine
This is Rietveld 408576698