diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2019-12-11 17:12:37 -0800 |
---|---|---|
committer | Alon Zakai <azakai@google.com> | 2019-12-11 17:12:37 -0800 |
commit | 759c485a9f35bd859d43b86b02e1397a669fa469 (patch) | |
tree | a5c7475002b406e35c6d1e5c2d843000947ef192 /test/passes/asyncify_pass-arg=asyncify-whitelist@foo,bar.txt | |
parent | acd786dbd1e59f9d105c4ec8603c2ff46f233649 (diff) | |
download | binaryen-759c485a9f35bd859d43b86b02e1397a669fa469.tar.gz binaryen-759c485a9f35bd859d43b86b02e1397a669fa469.tar.bz2 binaryen-759c485a9f35bd859d43b86b02e1397a669fa469.zip |
Remove FunctionType (#2510)
Function signatures were previously redundantly stored on Function
objects as well as on FunctionType objects. These two signature
representations had to always be kept in sync, which was error-prone
and needlessly complex. This PR takes advantage of the new ability of
Type to represent multiple value types by consolidating function
signatures as a pair of Types (params and results) stored on the
Function object.
Since there are no longer module-global named function types,
significant changes had to be made to the printing and emitting of
function types, as well as their parsing and manipulation in various
passes.
The C and JS APIs and their tests also had to be updated to remove
named function types.
Diffstat (limited to 'test/passes/asyncify_pass-arg=asyncify-whitelist@foo,bar.txt')
-rw-r--r-- | test/passes/asyncify_pass-arg=asyncify-whitelist@foo,bar.txt | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/test/passes/asyncify_pass-arg=asyncify-whitelist@foo,bar.txt b/test/passes/asyncify_pass-arg=asyncify-whitelist@foo,bar.txt index e69bc19a7..27f728dc7 100644 --- a/test/passes/asyncify_pass-arg=asyncify-whitelist@foo,bar.txt +++ b/test/passes/asyncify_pass-arg=asyncify-whitelist@foo,bar.txt @@ -1,5 +1,6 @@ (module - (type $FUNCSIG$v (func)) + (type $none_=>_none (func)) + (type $i32_=>_none (func (param i32))) (import "env" "import" (func $import)) (memory $0 1 2) (global $__asyncify_state (mut i32) (i32.const 0)) @@ -8,7 +9,7 @@ (export "asyncify_stop_unwind" (func $asyncify_stop_unwind)) (export "asyncify_start_rewind" (func $asyncify_start_rewind)) (export "asyncify_stop_rewind" (func $asyncify_stop_rewind)) - (func $foo (; 1 ;) (type $FUNCSIG$v) + (func $foo (; 1 ;) (local $0 i32) (local $1 i32) (if @@ -104,7 +105,7 @@ ) (nop) ) - (func $bar (; 2 ;) (type $FUNCSIG$v) + (func $bar (; 2 ;) (local $0 i32) (local $1 i32) (if @@ -200,15 +201,15 @@ ) (nop) ) - (func $baz (; 3 ;) (type $FUNCSIG$v) + (func $baz (; 3 ;) (call $import) (nop) ) - (func $other1 (; 4 ;) (type $FUNCSIG$v) + (func $other1 (; 4 ;) (call $foo) (nop) ) - (func $other2 (; 5 ;) (type $FUNCSIG$v) + (func $other2 (; 5 ;) (call $baz) (nop) ) |