From 759c485a9f35bd859d43b86b02e1397a669fa469 Mon Sep 17 00:00:00 2001 From: Thomas Lively <7121787+tlively@users.noreply.github.com> Date: Wed, 11 Dec 2019 17:12:37 -0800 Subject: 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. --- test/exception-handling.wast.fromBinary | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'test/exception-handling.wast.fromBinary') diff --git a/test/exception-handling.wast.fromBinary b/test/exception-handling.wast.fromBinary index 043eadf87..f83ad5d48 100644 --- a/test/exception-handling.wast.fromBinary +++ b/test/exception-handling.wast.fromBinary @@ -1,18 +1,18 @@ (module - (type $0 (func)) - (type $1 (func (param i32))) - (type $2 (func (param exnref) (result exnref))) + (type $none_=>_none (func)) + (type $i32_=>_none (func (param i32))) + (type $exnref_=>_exnref (func (param exnref) (result exnref))) (event $event$0 (attr 0) (param i32)) - (func $exnref_test (; 0 ;) (type $2) (param $0 exnref) (result exnref) + (func $exnref_test (; 0 ;) (param $0 exnref) (result exnref) (local.get $0) ) - (func $foo (; 1 ;) (type $0) + (func $foo (; 1 ;) (nop) ) - (func $bar (; 2 ;) (type $0) + (func $bar (; 2 ;) (nop) ) - (func $eh_test (; 3 ;) (type $0) + (func $eh_test (; 3 ;) (local $0 exnref) (try (throw $event$0 -- cgit v1.2.3