summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2022-08-29 12:48:46 -0700
committerGitHub <noreply@github.com>2022-08-29 12:48:46 -0700
commitbd630d707253a9838a3d0306e4be680942ff0715 (patch)
treeb51a786d3afd3ee97a78eb0d3923fb6ad59565d5 /scripts
parent8108ce28e66f1002932f6e5dc9dd4f23c8b8a9f3 (diff)
downloadbinaryen-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-xscripts/fuzz_opt.py4
-rwxr-xr-xscripts/gen-s-parser.py2
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)"),