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/print | |
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/print')
-rw-r--r-- | test/print/min.minified.txt | 6 | ||||
-rw-r--r-- | test/print/min.txt | 16 |
2 files changed, 11 insertions, 11 deletions
diff --git a/test/print/min.minified.txt b/test/print/min.minified.txt index 37d1cea08..f242c8059 100644 --- a/test/print/min.minified.txt +++ b/test/print/min.minified.txt @@ -1,4 +1,4 @@ -(module(type $0 (func(param f32)(result f32)))(type $1 (func(param i32 i32)(result f32)))(type $2 (func(param i32)(result i32)))(type $3 (func(param i32 i32 i32)(result i32)))(memory $0 256 256) -(export "floats" (func $floats))(func $floats(type $0)(param $f f32)(result f32)(local $t f32)(f32.add(local.get $t)(local.get $f)))(func $neg(type $1)(param $k i32)(param $p i32)(result f32)(local $n f32)(local.tee $n(f32.neg(block $block0 (result f32)(i32.store(local.get $k)(local.get $p))(f32.load(local.get $k))))))(func $littleswitch(type $2)(param $x i32)(result i32)(block $topmost (result i32)(block $switch-case$2(block $switch-case$1(br_table $switch-case$1 $switch-case$2 $switch-case$1(i32.sub(local.get $x)(i32.const 1)))) +(module(type $i32_=>_i32 (func(param i32)(result i32)))(type $i32_i32_i32_=>_i32 (func(param i32 i32 i32)(result i32)))(type $i32_i32_=>_f32 (func(param i32 i32)(result f32)))(type $f32_=>_f32 (func(param f32)(result f32)))(memory $0 256 256) +(export "floats" (func $floats))(func $floats(param $f f32)(result f32)(local $t f32)(f32.add(local.get $t)(local.get $f)))(func $neg(param $k i32)(param $p i32)(result f32)(local $n f32)(local.tee $n(f32.neg(block $block0 (result f32)(i32.store(local.get $k)(local.get $p))(f32.load(local.get $k))))))(func $littleswitch(param $x i32)(result i32)(block $topmost (result i32)(block $switch-case$2(block $switch-case$1(br_table $switch-case$1 $switch-case$2 $switch-case$1(i32.sub(local.get $x)(i32.const 1)))) (br $topmost(i32.const 1))) -(br $topmost(i32.const 2))(i32.const 0)))(func $f1(type $3)(param $i1 i32)(param $i2 i32)(param $i3 i32)(result i32)(block $topmost (result i32)(local.get $i3))))
\ No newline at end of file +(br $topmost(i32.const 2))(i32.const 0)))(func $f1(param $i1 i32)(param $i2 i32)(param $i3 i32)(result i32)(block $topmost (result i32)(local.get $i3))))
\ No newline at end of file diff --git a/test/print/min.txt b/test/print/min.txt index b34ee140b..191b331ad 100644 --- a/test/print/min.txt +++ b/test/print/min.txt @@ -1,18 +1,18 @@ (module - (type $0 (func (param f32) (result f32))) - (type $1 (func (param i32 i32) (result f32))) - (type $2 (func (param i32) (result i32))) - (type $3 (func (param i32 i32 i32) (result i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) + (type $f32_=>_f32 (func (param f32) (result f32))) (memory $0 256 256) (export "floats" (func $floats)) - (func $floats (; 0 ;) (type $0) (param $f f32) (result f32) + (func $floats (; 0 ;) (param $f f32) (result f32) (local $t f32) (f32.add (local.get $t) (local.get $f) ) ) - (func $neg (; 1 ;) (type $1) (param $k i32) (param $p i32) (result f32) + (func $neg (; 1 ;) (param $k i32) (param $p i32) (result f32) (local $n f32) (local.tee $n (f32.neg @@ -28,7 +28,7 @@ ) ) ) - (func $littleswitch (; 2 ;) (type $2) (param $x i32) (result i32) + (func $littleswitch (; 2 ;) (param $x i32) (result i32) (block $topmost (result i32) (block $switch-case$2 (block $switch-case$1 @@ -49,7 +49,7 @@ (i32.const 0) ) ) - (func $f1 (; 3 ;) (type $3) (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32) + (func $f1 (; 3 ;) (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32) (block $topmost (result i32) (local.get $i3) ) |