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/fn_prolog_epilog.debugInfo.wast.fromBinary | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/fn_prolog_epilog.debugInfo.wast.fromBinary') diff --git a/test/fn_prolog_epilog.debugInfo.wast.fromBinary b/test/fn_prolog_epilog.debugInfo.wast.fromBinary index 735a9dbcf..2f0e97ecd 100644 --- a/test/fn_prolog_epilog.debugInfo.wast.fromBinary +++ b/test/fn_prolog_epilog.debugInfo.wast.fromBinary @@ -1,6 +1,6 @@ (module - (type $0 (func)) - (func $0 (; 0 ;) (type $0) + (type $none_=>_none (func)) + (func $0 (; 0 ;) (nop) (block $label$1 (block $label$2 -- cgit v1.2.3