diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2022-08-29 12:48:46 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-29 12:48:46 -0700 |
commit | bd630d707253a9838a3d0306e4be680942ff0715 (patch) | |
tree | b51a786d3afd3ee97a78eb0d3923fb6ad59565d5 /scripts | |
parent | 8108ce28e66f1002932f6e5dc9dd4f23c8b8a9f3 (diff) | |
download | binaryen-bd630d707253a9838a3d0306e4be680942ff0715.tar.gz binaryen-bd630d707253a9838a3d0306e4be680942ff0715.tar.bz2 binaryen-bd630d707253a9838a3d0306e4be680942ff0715.zip |
Implement `extern.externalize` and `extern.internalize` (#4975)
These new GC instructions infallibly convert between `extern` and `any`
references now that those types are not in the same hierarchy.
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/fuzz_opt.py | 4 | ||||
-rwxr-xr-x | scripts/gen-s-parser.py | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py index 3ff1cb554..d287bee97 100755 --- a/scripts/fuzz_opt.py +++ b/scripts/fuzz_opt.py @@ -270,8 +270,10 @@ def init_important_initial_contents(): INITIAL_CONTENTS_IGNORE = [ # not all relaxed SIMD instructions are implemented in the interpreter 'relaxed-simd.wast', - # TODO fuzzer and interpreter support for strings + # TODO: fuzzer and interpreter support for strings 'strings.wast', + # TODO: fuzzer and interpreter support for extern conversions + 'extern-conversions.wast', # ignore DWARF because it is incompatible with multivalue atm 'zlib.wasm', 'cubescript.wasm', diff --git a/scripts/gen-s-parser.py b/scripts/gen-s-parser.py index bb56b76e3..93fc676e4 100755 --- a/scripts/gen-s-parser.py +++ b/scripts/gen-s-parser.py @@ -604,6 +604,8 @@ instructions = [ ("ref.as_func", "makeRefAs(s, RefAsFunc)"), ("ref.as_data", "makeRefAs(s, RefAsData)"), ("ref.as_i31", "makeRefAs(s, RefAsI31)"), + ("extern.internalize", "makeRefAs(s, ExternInternalize)"), + ("extern.externalize", "makeRefAs(s, ExternExternalize)"), ("string.new_wtf8", "makeStringNew(s, StringNewWTF8)"), ("string.new_wtf16", "makeStringNew(s, StringNewWTF16)"), ("string.new_wtf8_array", "makeStringNew(s, StringNewWTF8Array)"), |