[wasm][gc] Implement struct.set and switch struct.get to optref
Work towards adding heap-allocated object support for wasm, according to the gc proposal. Changes: - Implement subtyping for reference types (ref s) and (optref s), where 's' is a struct type. This CL does *not* implement subtyping between struct and function types. Also, it does not handle i31refs and eqrefs. - Implement struct.set. - Change struct.get to accept an optref as argument, as required by the standard. - Allow locals to store objects of ref and optref types. - Add a test for struct.set and optref locals. Modify the test for struct.get accordingly. Reference: https://github.com/WebAssembly/gc R=jkummerow@chromium.org R=clemensb@chromium.org Bug: v8:7748 Change-Id: I708626fa5f90a6e24e667d66eed1c7697f458a23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172089Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#67562}
Showing
Please
register
or
sign in
to comment