• Andreas Haas's avatar
    [wasm][anyref] Support importing mutable anyref globals · b3e6013e
    Andreas Haas authored
    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: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58822}
    b3e6013e
Name
Last commit
Last update
..
baseline Loading commit data...
OWNERS Loading commit data...
compilation-environment.h Loading commit data...
decoder.h Loading commit data...
function-body-decoder-impl.h Loading commit data...
function-body-decoder.cc Loading commit data...
function-body-decoder.h Loading commit data...
function-compiler.cc Loading commit data...
function-compiler.h Loading commit data...
graph-builder-interface.cc Loading commit data...
graph-builder-interface.h Loading commit data...
js-to-wasm-wrapper-cache-inl.h Loading commit data...
jump-table-assembler.cc Loading commit data...
jump-table-assembler.h Loading commit data...
leb-helper.h Loading commit data...
local-decl-encoder.cc Loading commit data...
local-decl-encoder.h Loading commit data...
memory-tracing.cc Loading commit data...
memory-tracing.h Loading commit data...
module-compiler.cc Loading commit data...
module-compiler.h Loading commit data...
module-decoder.cc Loading commit data...
module-decoder.h Loading commit data...
module-instantiate.cc Loading commit data...
module-instantiate.h Loading commit data...
object-access.h Loading commit data...
signature-map.cc Loading commit data...
signature-map.h Loading commit data...
streaming-decoder.cc Loading commit data...
streaming-decoder.h Loading commit data...
value-type.h Loading commit data...
wasm-code-manager.cc Loading commit data...
wasm-code-manager.h Loading commit data...
wasm-constants.h Loading commit data...
wasm-debug.cc Loading commit data...
wasm-engine.cc Loading commit data...
wasm-engine.h Loading commit data...
wasm-external-refs.cc Loading commit data...
wasm-external-refs.h Loading commit data...
wasm-feature-flags.h Loading commit data...
wasm-features.cc Loading commit data...
wasm-features.h Loading commit data...
wasm-import-wrapper-cache-inl.h Loading commit data...
wasm-interpreter.cc Loading commit data...
wasm-interpreter.h Loading commit data...
wasm-js.cc Loading commit data...
wasm-js.h Loading commit data...
wasm-limits.h Loading commit data...
wasm-linkage.h Loading commit data...
wasm-memory.cc Loading commit data...
wasm-memory.h Loading commit data...
wasm-module-builder.cc Loading commit data...
wasm-module-builder.h Loading commit data...
wasm-module.cc Loading commit data...
wasm-module.h Loading commit data...
wasm-objects-inl.h Loading commit data...
wasm-objects.cc Loading commit data...
wasm-objects.h Loading commit data...
wasm-opcodes.cc Loading commit data...
wasm-opcodes.h Loading commit data...
wasm-result.cc Loading commit data...
wasm-result.h Loading commit data...
wasm-serialization.cc Loading commit data...
wasm-serialization.h Loading commit data...
wasm-text.cc Loading commit data...
wasm-text.h Loading commit data...
wasm-tier.h Loading commit data...
wasm-value.h Loading commit data...