v8/test
Leszek Swirski 51afbd1a46 Revert "[regexp] Better quick checks on loop entry nodes"
This reverts commit 4b15b984ad.

Reason for revert: UBSan failure (https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8906578530303352544/+/steps/Check/0/logs/regress-126412/0).

Original change's description:
> [regexp] Better quick checks on loop entry nodes
> 
> Like the predecessor change https://crrev.com/c/v8/v8/+/1702125 , this
> change is inspired by attempting to exit earlier from generated RegExp
> code, when no further matches are possible because any match would be
> too long. The motivating example this time is the following expression,
> which tests whether a string of Unicode playing cards has five of the
> same suit in a row:
> 
> /([🂡-🂮]{5})|([🂱-🂾]{5})|([🃁-🃎]{5})|([🃑-🃞]{5})/u
> 
> A human reading this expression can readily see that any match requires
> at least 10 characters (5 surrogate pairs), but the LoopChoiceNode for
> each repeated option reports its minimum distance to the end of a match
> as zero. This is correct, because the LoopChoiceNode's behavior depends
> on additional state (the loop counter). However, the preceding node, a
> SET_REGISTER action that initializes the loop counter, could confidently
> state that it consumes at least 10 characters. Furthermore, when we try
> to emit a quick check for that action, we could follow only paths from
> the LoopChoiceNode that are possible based on the minimum iteration
> count. This change implements both of those "could"s.
> 
> I expect this improvement to apply pretty broadly to expressions that
> use minimum repetition counts and that don't meet the criteria for
> unrolling. In this particular case, I get about 12% improvement on the
> overall UniPoker test, due to reducing the execution time of this
> expression by 85% and the execution time of another similar expression
> that checks for n-of-a-kind by 20%.
> 
> Bug: v8:9305
> 
> Change-Id: I319e381743967bdf83324be75bae943fbb5dd496
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1704941
> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#62963}

TBR=jgruber@chromium.org,seth.brenith@microsoft.com

Change-Id: Iac085b75e054fdf0d218987cfe449be1f1630545
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9305
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1725621
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62977}
2019-07-30 09:48:31 +00:00
..
benchmarks [test] Skip flaky test on predictable mode 2019-05-07 13:57:18 +00:00
cctest Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
common [asm.js] Propagate language mode to exported functions. 2019-07-19 11:47:48 +00:00
debugger [debugger] Fix debug-evaluate for context-allocated this. 2019-07-05 12:14:35 +00:00
fuzzer [cleanup] Unify exports handling in WasmModuleBuilder 2019-07-11 15:50:30 +00:00
inspector Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
intl [Intl] Adding volume units. 2019-07-24 17:16:46 +00:00
js-perf-test [test] Add micro-benchmark tests for calls with local vars 2019-07-12 16:54:01 +00:00
memory [owners] Remove redundant OWNERS files in test/ 2019-06-24 12:44:32 +00:00
message Reland "Reland "Let all early errors be SyntaxErrors."" 2019-07-08 10:15:46 +00:00
mjsunit Revert "[regexp] Better quick checks on loop entry nodes" 2019-07-30 09:48:31 +00:00
mkgrokdump Revert "Add postmortem debugging helper library" 2019-07-24 16:31:54 +00:00
mozilla [regexp] Add missing case for EscapeRegExpPattern 2019-07-09 08:11:51 +00:00
preparser Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
test262 [test262] Triage weakref tests status 2019-07-23 15:05:05 +00:00
torque [torque] Replace ReferenceType by generic Torque struct Reference<T> 2019-07-26 14:26:51 +00:00
unittests Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
wasm-api-tests [wasm-c-api] Drop Isolate::Enter/Exit calls... 2019-07-12 18:51:32 +00:00
wasm-js [testrunner] generalize test loader to accept multiple extensions 2019-06-25 12:12:11 +00:00
wasm-spec-tests [wasm][bulk-memory] Adjust elem and data segment to recent spec changes 2019-07-25 08:40:27 +00:00
webkit [regexp] Add missing case for EscapeRegExpPattern 2019-07-09 08:11:51 +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