summaryrefslogtreecommitdiff
path: root/test/binaryen.js
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2022-09-09 18:42:15 -0700
committerGitHub <noreply@github.com>2022-09-09 18:42:15 -0700
commit73b562e24e958e6d5c15aa96ddf4b2e8f31162f8 (patch)
tree7bf17a711f4d90888dd3e45b0ccd65ad9584b6ba /test/binaryen.js
parent15117dc049c6e71b2ea646fb36e034b13dae6435 (diff)
downloadbinaryen-73b562e24e958e6d5c15aa96ddf4b2e8f31162f8.tar.gz
binaryen-73b562e24e958e6d5c15aa96ddf4b2e8f31162f8.tar.bz2
binaryen-73b562e24e958e6d5c15aa96ddf4b2e8f31162f8.zip
Remove typed-function-references feature (#5030)
In practice typed function references will not ship before GC and is not independently useful, so it's not necessary to have a separate feature for it. Roll the functionality previously enabled by --enable-typed-function-references into --enable-gc instead. This also avoids a problem with the ongoing implementation of the new GC bottom heap types. That change will make all ref.null instructions in Binaryen IR refer to one of the bottom heap types. But since those bottom types are introduced in GC, it's not valid to emit them in binaries unless unless GC is enabled. The fix if only reference types is enabled is to emit (ref.null func) instead of (ref.null nofunc), but that doesn't always work if typed function references are enabled because a function type more specific than func may be required. Getting rid of typed function references as a separate feature makes this a nonissue.
Diffstat (limited to 'test/binaryen.js')
-rw-r--r--test/binaryen.js/kitchen-sink.js1
-rw-r--r--test/binaryen.js/kitchen-sink.js.txt9
2 files changed, 4 insertions, 6 deletions
diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js
index 61e1c54f5..da472f174 100644
--- a/test/binaryen.js/kitchen-sink.js
+++ b/test/binaryen.js/kitchen-sink.js
@@ -96,7 +96,6 @@ function test_features() {
console.log("Features.Multivalue: " + binaryen.Features.Multivalue);
console.log("Features.GC: " + binaryen.Features.GC);
console.log("Features.Memory64: " + binaryen.Features.Memory64);
- console.log("Features.TypedFunctionReferences: " + binaryen.Features.TypedFunctionReferences);
console.log("Features.RelaxedSIMD: " + binaryen.Features.RelaxedSIMD);
console.log("Features.ExtendedConst: " + binaryen.Features.ExtendedConst);
console.log("Features.Strings: " + binaryen.Features.Strings);
diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt
index a9209da59..93fc4b2fc 100644
--- a/test/binaryen.js/kitchen-sink.js.txt
+++ b/test/binaryen.js/kitchen-sink.js.txt
@@ -29,11 +29,10 @@ Features.ReferenceTypes: 256
Features.Multivalue: 512
Features.GC: 1024
Features.Memory64: 2048
-Features.TypedFunctionReferences: 4096
-Features.RelaxedSIMD: 16384
-Features.ExtendedConst: 32768
-Features.Strings: 65536
-Features.All: 253951
+Features.RelaxedSIMD: 8192
+Features.ExtendedConst: 16384
+Features.Strings: 32768
+Features.All: 126975
InvalidId: 0
BlockId: 1
IfId: 2