v8/test
Jakob Gruber c51e4f3c66 [regexp] Rewrite certain Assertion sequences
RegExp assertions (e.g.: '^', '$', '\b', ...) sequences have certain
properties that this rewriter exploits:

1. They are zero-width and order-independent, thus one can remove all
duplicate assertions.
2. If a subsequence is guaranteed to fail, the entire sequence fails.
Any sequence always known to fail (e.g. containing both '\b' and '\B')
can be rewritten to a single node that triggers failure.

This CL generalizes the previous optimization for repeated assertions
to be order-independent, i.e. assertions only have to be in the same
sequence but not next to each other.

Bug: v8:6515, v8:6126
Change-Id: I3f92f081ce8a55ad8c34c269a09a6686e3b008f3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657925
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62201}
2019-06-17 09:21:58 +00:00
..
benchmarks [test] Skip flaky test on predictable mode 2019-05-07 13:57:18 +00:00
cctest [regexp] Rewrite certain Assertion sequences 2019-06-17 09:21:58 +00:00
common [turbofan] JSHeapBroker logging respects --trace-turbo-filter 2019-06-12 11:02:38 +00:00
debugger Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
fuzzer Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
inspector [heapprofiler] QueryObjects: do not return objects retained by feedback information 2019-06-12 18:33:49 +00:00
intl [Intl] Fix RegExp [\W] with i flag 2019-06-12 06:18:08 +00:00
js-perf-test add micro-benchmark of array.reduce, array.reduceRight for frozen object 2019-06-13 18:36:55 +00:00
memory Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
message [WeakRefs] Make unregister spec compliant 2019-06-13 08:48:16 +00:00
mjsunit [regexp] Rewrite certain Assertion sequences 2019-06-17 09:21:58 +00:00
mkgrokdump [heap] Update HeapIterator and space iterator APIs to match other iterators 2019-05-31 12:59:07 +00:00
mozilla Reland "[array] Move Array#sort pre-processing to Torque" 2019-05-24 12:13:17 +00:00
preparser Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
test262 Roll test262 2019-06-14 00:56:50 +00:00
torque Revert "[csa] Tweak CSA pipeline to eliminate more redundant checks" 2019-06-14 12:44:23 +00:00
unittests Revert "[csa] Tweak CSA pipeline to eliminate more redundant checks" 2019-06-14 12:44:23 +00:00
wasm-api-tests [wasm-c-api] Fix signature deserialization 2019-06-14 09:03:47 +00:00
wasm-js Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
wasm-spec-tests [wasm] Update spec tests 2019-05-22 14:58:45 +00:00
webkit Add quotes around unexpected token SyntaxError 2019-06-11 06:11:58 +00:00
BUILD.gn [wasm-c-api] Add tests and fixes 2019-05-28 09:57:04 +00:00
OWNERS [owners] Make test/ owned by COMMON_OWNERS 2019-06-06 20:56:09 +00:00