• Andreas Haas's avatar
    [wasm][liftoff] Cache the memory start register · fd93f338
    Andreas Haas authored
    WebAssembly functions often have subsequent memory accesses, and each of
    these memory accesses need the start address of the memory in a register.
    With this CL the register with the memory start address is cached, so
    only the first memory access has to load the memory start address into a
    register, subsequent memory accesses can just reuse the register.
    
    In first measurements with the epic benchmark this reduces the size of
    the generated Liftoff code by a bit more than 5%.
    
    R=clemensb@chromium.org
    
    Bug: v8:11862
    Change-Id: Ic33e7e3c00a4209570821269c728187affbeadcf
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2947403
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#75113}
    fd93f338
liftoff-compiler.cc 261 KB