• Clemens Hammacher's avatar
    [wasm] Simplify C calls · 8d2d0513
    Clemens Hammacher authored
    Instead of passing multiple pointers to input and output, or to two
    input values, just pass one pointer which holds all inputs and where
    the output is written.
    This also reduces the size of generated Turbofan graphs, since only one
    stack slot is needed and less arguments are passed to the call.
    It also fixes undefined behaviour, since we were passing a pointer e.g.
    as {uint64_t*}, but accessed it using {ReadUnalignedValue}. Now we pass
    an Address, which does not have any alignment constraints.
    
    R=ahaas@chromium.org
    
    Bug: v8:3770, v8:6600
    Change-Id: I54ef80b7e27f77587a9062560c0b3e01d6593e6d
    Reviewed-on: https://chromium-review.googlesource.com/1019147
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#52702}
    8d2d0513
external-reference.h 16.9 KB