• Ben L. Titzer's avatar
    [wasm] Prepare to support 4GiB memories · dab10765
    Ben L. Titzer authored
    This is a preparatory CL that refactors the WASM memory allocation path,
    the WasmGraphBuilder, and several points of contact for ArrayBuffers to
    allow them to eventually be up to 4GiB.
    
    1.) Refactor definition of constants to prepare for memories of size 2^32
    2.) Refactor WasmInstanceObject fields memory_size and memory_mask to
        be stored as uintptr_t
    3.) Refactor WasmGraphBuilder to use 64-bit comparisons for bounds checks
    4.) Refactor JSArrayBuffer accessor methods to use size_t properly.
    5.) Add empirical maximum memory and array buffer size tests
    
    R=mstarzinger@chromium.org
    BUG=v8:7881
    
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: I78a49069cfa89757cc93f0a30b1c1a99c4b2edba
    Reviewed-on: https://chromium-review.googlesource.com/1112003
    Commit-Queue: Ben Titzer <titzer@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54646}
    dab10765
wasm-objects.cc 55.7 KB