• Clemens Backes's avatar
    [wasm][memory64] Prepare atomic builtins for i64 indexes · 729235c2
    Clemens Backes authored
    The offset (also called "address") passed to the atomic builtins was
    32-bit until now. With memory64, we will have to also accept 64-bit
    values there, or at least values within the allocatable memory range.
    This CL thus changes the builtins to receive uintptr values instead of
    uint32, and pass them on to the runtime functions as double (as before).
    The runtime then casts them back to uintptr_t instead of uint32_t.
    
    Liftoff is extended to zero-extend the uint32 value if needed. TurboFan
    already passed a machine-word sized integer before.
    
    Drive-by: Rename some "address" to "offset" to make the semantics more
    clear.
    
    R=ahaas@chromium.org
    CC=​​manoskouk@chromium.org
    
    Bug: v8:10949
    Change-Id: I66968cc99a908775156c952da46d2f26219ffb58
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2489685
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70700}
    729235c2
runtime-wasm.cc 20.3 KB