• Deepti Gandluri's avatar
    [wasm] Move is_growable from JSArrayBuffer object to AllocationData · b0077b3b
    Deepti Gandluri authored
    Some state related to WasmMemories is cached on the JSArrayBuffer
    object (is_growable, is_wasm_memory). The problem with this is in
    some PostMessage flows, this information can get lost depending on
    how JSArrayBuffers are deserialized. In this particular case when
    the WasmMemory is postMessaged, it goes through the Blink
    DedicatedWorkerMessagingProxy::PostMessageToWorkerGlobalScope flow,
    which reconstructs the ArrayBuffer from the backing store, and size,
    and loses the is_growable flag, leading to a failure to grow memory.
    
    Moving the is_growable flag so that AllocationData can be the source
    of truth for all wasm memory state, and is consistently preserved
    across PostMessage.
    
    Change-Id: I775f66ddeff68b8cafc18b75ca5460dfb0343c8b
    Bug: v8:9065
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1549789
    Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
    Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
    Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60641}
    b0077b3b
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...