summaryrefslogtreecommitdiff
path: root/test/print
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2019-12-11 17:12:37 -0800
committerAlon Zakai <azakai@google.com>2019-12-11 17:12:37 -0800
commit759c485a9f35bd859d43b86b02e1397a669fa469 (patch)
treea5c7475002b406e35c6d1e5c2d843000947ef192 /test/print
parentacd786dbd1e59f9d105c4ec8603c2ff46f233649 (diff)
downloadbinaryen-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.txt6
-rw-r--r--test/print/min.txt16
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)
)