• 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
regexp-bytecode-peephole.cc 40.4 KB