• Clemens Backes's avatar
    [wasm] Fix 64-bit addressed loads on arm64 · 044a18ac
    Clemens Backes authored
    The {LiftoffAssembler::Load} method already receives an {i64_offset}
    parameter which skips the UXTW (zero extension of 32-bit addresses) in
    the memory operand. The same needs to happen on stores.
    
    On 32-bit platforms, we cannot have addresses >=4GB anyway (they would
    be detected as OOB before reaching the point in question), so this is
    not a problem. On x64, all 32-bit registers are zero-extended already
    (which is debug-checked in the generated code), so this is also no
    problem (and we just ignore the additional parameter).
    
    R=jkummerow@chromium.org
    
    Bug: v8:10949
    Change-Id: I3c2266dde1bf9d182b6759893f7f64540ae12261
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3791051
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82074}
    044a18ac
liftoff-assembler.h 84.3 KB