• Manos Koukoutos's avatar
    [wasm] Complete element segment features for reftypes/typed-funcref · 37579df7
    Manos Koukoutos authored
    Main changes:
    - Allow global.get in elements segments with expressions-as-elements.
    - Allow element segments with types other than funcref.
    
    Detailed changes:
    - Move WasmInitExpr to its own file. Add stream opearator << support.
    - Simplify type of PrintCollection.
    - Make WasmElemSegment use an array of WasmInitExpr's over the previous
      ad-hoc implementation. Move null_index to WasmModuleBuilder.
    - Refactor consume_element_segment_header. Make it return a
      WasmElemSegment.
    - Refactor consume_element_expr. Make it return a WasmInitExpr.
    - Refactor DecodeElementSection. Make it invoke
      consume_element_segment_header, then populate its element array.
    - Update module-instantiate.cc to handle global.get elements.
    - Fix bug in wasm-objects.cc where the wrong type index was passed into
      module()->has_signature()
    - Adapt and add tests.
    
    Change-Id: I5abfbe424dbb750ee2dca59f91c451ffcb79f95f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2857959
    Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74374}
    37579df7
Name
Last commit
Last update
..
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
test-backing-store.cc Loading commit data...
test-c-wasm-entry.cc Loading commit data...
test-compilation-cache.cc Loading commit data...
test-gc.cc Loading commit data...
test-grow-memory.cc Loading commit data...
test-jump-table-assembler.cc Loading commit data...
test-liftoff-inspection.cc Loading commit data...
test-run-wasm-64.cc Loading commit data...
test-run-wasm-asmjs.cc Loading commit data...
test-run-wasm-atomics.cc Loading commit data...
test-run-wasm-atomics64.cc Loading commit data...
test-run-wasm-bulk-memory.cc Loading commit data...
test-run-wasm-exceptions.cc Loading commit data...
test-run-wasm-interpreter.cc Loading commit data...
test-run-wasm-js.cc Loading commit data...
test-run-wasm-memory64.cc Loading commit data...
test-run-wasm-module.cc Loading commit data...
test-run-wasm-relaxed-simd.cc Loading commit data...
test-run-wasm-sign-extension.cc Loading commit data...
test-run-wasm-simd-liftoff.cc Loading commit data...
test-run-wasm-simd.cc Loading commit data...
test-run-wasm-wrappers.cc Loading commit data...
test-run-wasm.cc Loading commit data...
test-streaming-compilation.cc Loading commit data...
test-wasm-breakpoints.cc Loading commit data...
test-wasm-codegen.cc Loading commit data...
test-wasm-import-wrapper-cache.cc Loading commit data...
test-wasm-metrics.cc Loading commit data...
test-wasm-serialization.cc Loading commit data...
test-wasm-shared-engine.cc Loading commit data...
test-wasm-stack.cc Loading commit data...
test-wasm-trap-position.cc Loading commit data...
wasm-atomics-utils.h Loading commit data...
wasm-run-utils.cc Loading commit data...
wasm-run-utils.h Loading commit data...
wasm-simd-utils.cc Loading commit data...
wasm-simd-utils.h Loading commit data...