• Clemens Backes's avatar
    [wasm] Implement bulk memory operations on memory64 · 18469ec4
    Clemens Backes authored
    This makes the bulk memory operations respect the memory type, i.e.
    using i64 values for memory offsets if memory64 is enabled.
    
    The called C functions now expect memory offsets to be passed as
    {uintptr_t}, such that we can address any memory on all systems. For
    64-bit memories on 32-bit systems, the upper half of the 64-bit value is
    checked in compiled code before passing the lower half to the C
    function.
    
    Liftoff support turned out to be a bit harder than expected, because we
    cannot hold three 64-bit values in registers on ia32 (not enough
    registers...). Thus implement that in a follow-up CL.
    
    R=thibaudm@chromium.org
    
    Bug: v8:10949, chromium:1281995
    Change-Id: Ie77636145f94cc579d479c4e7c346ba3c682679d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3427206Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78918}
    18469ec4
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
loong64 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
riscv64 Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
DEPS Loading commit data...
liftoff-assembler-defs.h Loading commit data...
liftoff-assembler.cc Loading commit data...
liftoff-assembler.h Loading commit data...
liftoff-compiler.cc Loading commit data...
liftoff-compiler.h Loading commit data...
liftoff-register.h Loading commit data...