[wasm][anyref] Support importing mutable anyref globals
With this CL we support importing mutable anyref globals. The CL contains the following changes: * We store a reference to the buffer of the imported global in `WasmInstance::imported_mutable_globals_buffer`. This FixedArray is already used to keep the ArrayBuffers of value-typed imported mutable globals alive but was not accessed otherwise. * We store the offset in the buffer of the imported global in `WasmInstance::imported_mutable_globals`. This `Address`-array is used for value-typed imported mutalbe globals to store direct pointers into the backing store of the ArrayBuffer of the imported global. * In wasm-compiler.cc we generate code to load these fields and then load or store globals. * in module-compiler.cc I removed the counter variable `next_imported_mutable_global_index`. The variable was only used for a DCHECK. I replaced the DCHECK with a slightly weaker DCHECK now. * Tests. R=mstarzinger@chromium.org Bug: v8:7581 Change-Id: I11f0f4d8637c98eded5fb2eec44bc8ead8ed5c7b Reviewed-on: https://chromium-review.googlesource.com/c/1409169 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58822}
Showing
Please
register
or
sign in
to comment