• Clemens Backes's avatar
    [wasm] Assume positive stack offsets · 6b2dc157
    Clemens Backes authored
    The stack offsets of cache slots are always positive, but the compiler
    does not know that. The lack of this knowledge makes division by the
    system pointer size significantly more expensive.
    
    One solution would be to rewrite the division to be an actual right
    shift. Another solution is to teach the compiler that offsets are
    positive. This CL does the latter.
    
    This reduces the overall Liftoff compile time of the reproducer in the
    linked issue by nearly 25%.
    
    R=jkummerow@chromium.org, cbruni@chromium.org
    
    Bug: v8:13063
    Change-Id: Ib55b35d407e9909c792ae095a6767aaa03faebdc
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3760453Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#81778}
    6b2dc157
liftoff-assembler.h 84.2 KB