v8/test
Patrick Thier 6612943010 [regexp] Bytecode peephole optimization
Bytecodes used by the regular expression interpreter often occur in
specific sequences. The number of dispatches in the interpreter can be
reduced if those sequences are combined into a single bytecode.

This CL adds a peephole optimization pass for regexp bytecodes.
This pass checks the generated bytecode for pre-defined sequences that
can be merged into a single bytecode.

With the currently implemented bytecode sequences a speedup of 1.12x on
regex-dna and octane-regexp is achieved.

Bug: v8:9330
Change-Id: I827f93273a5848e5963c7e3329daeb898995d151
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1813743
Commit-Queue: Patrick Thier <pthier@google.com>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63992}
2019-09-26 14:57:37 +00:00
..
benchmarks [test] Skip flaky test on predictable mode 2019-05-07 13:57:18 +00:00
cctest [regexp] Bytecode peephole optimization 2019-09-26 14:57:37 +00:00
common [wasm][bulk] Update the element segment decoding to the new spec changes 2019-09-17 13:25:42 +00:00
debugger Reland "[Heap] Create a fast path for young allocations." 2019-09-16 13:25:51 +00:00
fuzzer Change all TODOs from clemensh to clemensb 2019-09-26 10:25:27 +00:00
inspector Add support for reporting raw Wasm scripts 2019-09-25 14:05:26 +00:00
intl [Intl] Implement ECMA402 PR 349 and 351 2019-09-25 19:53:48 +00:00
js-perf-test [jsperf] Add benchmark for LoadConstantFromPrototype 2019-08-16 09:33:06 +00:00
memory [owners] Remove redundant OWNERS files in test/ 2019-06-24 12:44:32 +00:00
message Change all TODOs from clemensh to clemensb 2019-09-26 10:25:27 +00:00
mjsunit Revert "[TurboProp] Add MidTierMachineLoweringPhase to avoid Late/MemoryOptimizationPhases" 2019-09-26 11:32:58 +00:00
mkgrokdump [tools] Teach v8_debug_helper where heap spaces start in ptr-compr mode 2019-09-09 16:14:12 +00:00
mozilla [CSA][cleanup] TNodify builtins constructor gen 2019-09-12 10:55:18 +00:00
preparser Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
test262 [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
torque [torque] Add HeapSlice location references to Torque 2019-08-30 11:51:32 +00:00
unittests Rename clemensh to clemensb in OWNERS 2019-09-26 08:44:44 +00:00
wasm-api-tests [wasm-c-api] Roll bf31edf: Fix life times of host info 2019-08-26 14:28:51 +00:00
wasm-js [wasm][bulk] Update the element segment decoding to the new spec changes 2019-09-17 13:25:42 +00:00
wasm-spec-tests Rename clemensh to clemensb in OWNERS 2019-09-26 08:44:44 +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 Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00