| (module $module1 |
| (type $"dummy struct" <...>) |
| (type $#Closure-0-1 <...>) |
| (type $#Closure-1-1 <...>) |
| (type $#InstantiationContext-1-1 <...>) |
| (type $#Top <...>) |
| (type $#Vtable-0-1 <...>) |
| (type $#Vtable-1-1 <...>) |
| (type $Array<Object?> <...>) |
| (type $Array<_NamedParameter> <...>) |
| (type $Array<_Type> <...>) |
| (type $BoxedInt <...>) |
| (type $H0 (sub final $Object (struct |
| (field $field0 i32) |
| (field $field1 (mut i32)) |
| (field $fun (ref $#Closure-0-1))))) |
| (type $H1 (sub final $Object (struct |
| (field $field0 i32) |
| (field $field1 (mut i32)) |
| (field $fun (ref $#Closure-0-1))))) |
| (type $JSExternWrapper <...>) |
| (type $Object <...>) |
| (type $_FunctionType <...>) |
| (type $_InterfaceType <...>) |
| (type $_TopType <...>) |
| (type $_Type <...>) |
| (type $type0 <...>) |
| (global $"WasmArray<_NamedParameter>[0]" (import "module0" "global6") (ref $Array<_NamedParameter>)) |
| (global $"WasmArray<_Type>[0]" (import "module0" "global3") (ref $Array<_Type>)) |
| (global $"WasmArray<_Type>[1]" (import "module0" "global5") (ref $Array<_Type>)) |
| (global $"\")\"" (import "module0" "global0") (ref $JSExternWrapper)) |
| (global $.globalH1Bar< (import "" "globalH1Bar<") (ref extern)) |
| (global $_InterfaceType (import "module0" "global9") (ref $_InterfaceType)) |
| (global $_TopType (import "module0" "global4") (ref $_TopType)) |
| (table $module0.constant-table0 (import "module0" "constant-table0") 1 (ref null $_FunctionType)) |
| (table $module0.cross-module-funcs-0 (import "module0" "cross-module-funcs-0") 11 funcref) |
| (global $"InstantiationConstant(globalH1Foo<int>)" (mut (ref null $#Closure-0-1)) |
| (ref.null none)) |
| (global $"\">(\"" (ref $JSExternWrapper) <...>) |
| (global $"\"globalH1Bar<\"" (ref $JSExternWrapper) |
| (i32.const 102) |
| (i32.const 0) |
| (global.get $.globalH1Bar<) |
| (struct.new $JSExternWrapper)) |
| (global $"globalH1Foo tear-off" (mut (ref null $#Closure-1-1)) |
| (ref.null none)) |
| (global $H1 (mut (ref null $H1)) |
| (ref.null none)) |
| (global $_FunctionType (ref $_FunctionType) <...>) |
| (global $global0 (ref $"dummy struct") <...>) |
| (global $global2 (ref $#Vtable-1-1) <...>) |
| (elem $module0.cross-module-funcs-0 |
| (set 0 (ref.func $"modMainUseH0 <noInline>")) |
| (set 1 (ref.func $"modH1UseH1 <noInline>"))) |
| (func $#dummy function (ref struct) -> (ref null #Top) (param $var0 (ref struct)) (result (ref null $#Top)) <...>) |
| (func $"H1 (lazy initializer)" (result (ref $H1)) |
| (local $var0 (ref $#Closure-1-1)) |
| (local $var1 (ref $_FunctionType)) |
| (local $var2 (ref $#Closure-0-1)) |
| (local $var3 (ref $H1)) |
| i32.const 106 |
| i32.const 0 |
| block $label0 (result (ref $#Closure-0-1)) |
| global.get $"InstantiationConstant(globalH1Foo<int>)" |
| br_on_non_null $label0 |
| i32.const 31 |
| i32.const 0 |
| block $label1 (result (ref $#Closure-1-1)) |
| global.get $"globalH1Foo tear-off" |
| br_on_non_null $label1 |
| i32.const 31 |
| i32.const 0 |
| global.get $global0 |
| global.get $global2 |
| global.get $_FunctionType |
| struct.new $#Closure-1-1 |
| local.tee $var0 |
| global.set $"globalH1Foo tear-off" |
| local.get $var0 |
| end $label1 |
| global.get $_InterfaceType |
| struct.new $#InstantiationContext-1-1 |
| ref.func $"#dummy function (ref struct) -> (ref null #Top)" |
| ref.func $"instantiation constant trampoline" |
| struct.new $#Vtable-0-1 |
| block $label2 (result (ref $_FunctionType)) |
| i32.const 0 |
| table.get $module0.constant-table0 |
| br_on_non_null $label2 |
| i32.const 0 |
| i32.const 11 |
| i32.const 0 |
| i32.const 0 |
| i64.const 0 |
| global.get $"WasmArray<_Type>[0]" |
| global.get $"WasmArray<_Type>[0]" |
| global.get $_TopType |
| global.get $"WasmArray<_Type>[1]" |
| i64.const 1 |
| global.get $"WasmArray<_NamedParameter>[0]" |
| struct.new $_FunctionType |
| local.tee $var1 |
| table.set $module0.constant-table0 |
| local.get $var1 |
| end $label2 |
| struct.new $#Closure-0-1 |
| local.tee $var2 |
| global.set $"InstantiationConstant(globalH1Foo<int>)" |
| local.get $var2 |
| end $label0 |
| struct.new $H1 |
| local.tee $var3 |
| global.set $H1 |
| local.get $var3 |
| ) |
| (func $"globalH1Foo tear-off trampoline" (param $var0 (ref struct)) (param $var1 (ref $_Type)) (param $var2 (ref null $#Top)) (result (ref null $#Top)) |
| global.get $"\"globalH1Bar<\"" |
| local.get $var1 |
| global.get $"\">(\"" |
| local.get $var2 |
| global.get $"\")\"" |
| array.new_fixed $Array<Object?> 5 |
| i32.const 6 |
| call_indirect $module0.cross-module-funcs-0 (param (ref $Array<Object?>)) (result (ref $JSExternWrapper)) |
| i32.const 5 |
| call_indirect $module0.cross-module-funcs-0 (param (ref null $#Top)) |
| ref.null none |
| ) |
| (func $instantiation constant trampoline (param $var0 (ref struct)) (param $var1 (ref null $#Top)) (result (ref null $#Top)) <...>) |
| (func $"modH1UseH1 <noInline>" |
| (local $var0 (ref $#Closure-0-1)) |
| block $label0 (result (ref $H1)) |
| global.get $H1 |
| br_on_non_null $label0 |
| call $"H1 (lazy initializer)" |
| end $label0 |
| i32.const 5 |
| call_indirect $module0.cross-module-funcs-0 (param (ref null $#Top)) |
| block $label1 (result (ref $H1)) |
| global.get $H1 |
| br_on_non_null $label1 |
| call $"H1 (lazy initializer)" |
| end $label1 |
| struct.get $H1 $fun |
| local.tee $var0 |
| struct.get $#Closure-0-1 $context |
| i32.const 64 |
| i64.const 1 |
| struct.new $BoxedInt |
| local.get $var0 |
| struct.get $#Closure-0-1 $vtable |
| struct.get $#Vtable-0-1 $closureCallEntry-0-1 |
| call_ref $type0 |
| drop |
| ) |
| (func $"modMainUseH0 <noInline>" |
| i64.const 0 |
| i32.const 7 |
| call_indirect $module0.cross-module-funcs-0 (param i64) (result i32) |
| drop |
| block $label0 (result (ref $H0)) |
| i32.const 8 |
| call_indirect $module0.cross-module-funcs-0 (result (ref null $H0)) |
| br_on_non_null $label0 |
| i32.const 9 |
| call_indirect $module0.cross-module-funcs-0 (result (ref $H0)) |
| end $label0 |
| i32.const 5 |
| call_indirect $module0.cross-module-funcs-0 (param (ref null $#Top)) |
| i64.const 0 |
| i32.const 7 |
| call_indirect $module0.cross-module-funcs-0 (param i64) (result i32) |
| drop |
| block $label1 (result (ref $H0)) |
| i32.const 8 |
| call_indirect $module0.cross-module-funcs-0 (result (ref null $H0)) |
| br_on_non_null $label1 |
| i32.const 9 |
| call_indirect $module0.cross-module-funcs-0 (result (ref $H0)) |
| end $label1 |
| drop |
| i32.const 10 |
| call_indirect $module0.cross-module-funcs-0 (result (ref $JSExternWrapper)) |
| i32.const 5 |
| call_indirect $module0.cross-module-funcs-0 (param (ref null $#Top)) |
| ) |
| ) |