• Jakob Gruber's avatar
    Reland "[regexp] Bytecode peephole optimization" · 282a74c7
    Jakob Gruber authored
    This is a reland of 66129430
    
    Fixed: Unaligned reads, unspecified evaluation order.
    
    Original change's description:
    > [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}
    
    Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng
    Cq-Include-Trybots: luci.v8.try:v8_linux_gcc_rel
    Bug: v8:9330,chromium:1008502,chromium:1008631
    Change-Id: Ib9fc395b6809aa1debdb54d9fba5b7f09a235e5b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1828917Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64064}
    282a74c7
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...