diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2022-09-09 18:42:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-09 18:42:15 -0700 |
commit | 73b562e24e958e6d5c15aa96ddf4b2e8f31162f8 (patch) | |
tree | 7bf17a711f4d90888dd3e45b0ccd65ad9584b6ba /test/binaryen.js | |
parent | 15117dc049c6e71b2ea646fb36e034b13dae6435 (diff) | |
download | binaryen-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.js | 1 | ||||
-rw-r--r-- | test/binaryen.js/kitchen-sink.js.txt | 9 |
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 |