@@ -18,8 +18,6 @@ target triple = "wasm32-unknown-wasi"
1818@"reflect/types.signature:String:func:{}{basic:string}" = linkonce_odr constant i8 0 , align 1
1919@"reflect/types.type:interface:{String:func:{}{basic:string}}" = linkonce_odr constant { i8 , ptr , { i32 , [1 x ptr ] } } { i8 84 , ptr @"reflect/types.type:pointer:interface:{String:func:{}{basic:string}}" , { i32 , [1 x ptr ] } { i32 1 , [1 x ptr ] [ptr @"reflect/types.signature:String:func:{}{basic:string}" ] } }, align 4
2020@"reflect/types.typeid:basic:int" = external constant i8
21- @"interface:{Error:func:{}{basic:string}}$itfmethods" = linkonce_odr unnamed_addr constant { i32 , [1 x ptr ] } { i32 1 , [1 x ptr ] [ptr @"reflect/types.signature:Error:func:{}{basic:string}" ] }, align 4
22- @"interface:{String:func:{}{basic:string}}$itfmethods" = linkonce_odr unnamed_addr constant { i32 , [1 x ptr ] } { i32 1 , [1 x ptr ] [ptr @"reflect/types.signature:String:func:{}{basic:string}" ] }, align 4
2321
2422; Function Attrs: allockind("alloc,zeroed") allocsize(0)
2523declare noalias nonnull ptr @runtime.alloc (i32 , ptr , ptr ) #0
@@ -36,42 +34,42 @@ entry:
3634define hidden %runtime._interface @main.simpleType (ptr %context ) unnamed_addr #2 {
3735entry:
3836 %stackalloc = alloca i8 , align 1
39- call void @runtime.trackPointer (ptr nonnull @"reflect/types.type:basic:int" , ptr nonnull %stackalloc , ptr undef ) #5
40- call void @runtime.trackPointer (ptr null , ptr nonnull %stackalloc , ptr undef ) #5
37+ call void @runtime.trackPointer (ptr nonnull @"reflect/types.type:basic:int" , ptr nonnull %stackalloc , ptr undef ) #7
38+ call void @runtime.trackPointer (ptr null , ptr nonnull %stackalloc , ptr undef ) #7
4139 ret %runtime._interface { ptr @"reflect/types.type:basic:int" , ptr null }
4240}
4341
4442; Function Attrs: nounwind
4543define hidden %runtime._interface @main.pointerType (ptr %context ) unnamed_addr #2 {
4644entry:
4745 %stackalloc = alloca i8 , align 1
48- call void @runtime.trackPointer (ptr nonnull @"reflect/types.type:pointer:basic:int" , ptr nonnull %stackalloc , ptr undef ) #5
49- call void @runtime.trackPointer (ptr null , ptr nonnull %stackalloc , ptr undef ) #5
46+ call void @runtime.trackPointer (ptr nonnull @"reflect/types.type:pointer:basic:int" , ptr nonnull %stackalloc , ptr undef ) #7
47+ call void @runtime.trackPointer (ptr null , ptr nonnull %stackalloc , ptr undef ) #7
5048 ret %runtime._interface { ptr @"reflect/types.type:pointer:basic:int" , ptr null }
5149}
5250
5351; Function Attrs: nounwind
5452define hidden %runtime._interface @main.interfaceType (ptr %context ) unnamed_addr #2 {
5553entry:
5654 %stackalloc = alloca i8 , align 1
57- call void @runtime.trackPointer (ptr nonnull @"reflect/types.type:pointer:named:error" , ptr nonnull %stackalloc , ptr undef ) #5
58- call void @runtime.trackPointer (ptr null , ptr nonnull %stackalloc , ptr undef ) #5
55+ call void @runtime.trackPointer (ptr nonnull @"reflect/types.type:pointer:named:error" , ptr nonnull %stackalloc , ptr undef ) #7
56+ call void @runtime.trackPointer (ptr null , ptr nonnull %stackalloc , ptr undef ) #7
5957 ret %runtime._interface { ptr @"reflect/types.type:pointer:named:error" , ptr null }
6058}
6159
6260; Function Attrs: nounwind
6361define hidden %runtime._interface @main.anonymousInterfaceType (ptr %context ) unnamed_addr #2 {
6462entry:
6563 %stackalloc = alloca i8 , align 1
66- call void @runtime.trackPointer (ptr nonnull @"reflect/types.type:pointer:interface:{String:func:{}{basic:string}}" , ptr nonnull %stackalloc , ptr undef ) #5
67- call void @runtime.trackPointer (ptr null , ptr nonnull %stackalloc , ptr undef ) #5
64+ call void @runtime.trackPointer (ptr nonnull @"reflect/types.type:pointer:interface:{String:func:{}{basic:string}}" , ptr nonnull %stackalloc , ptr undef ) #7
65+ call void @runtime.trackPointer (ptr null , ptr nonnull %stackalloc , ptr undef ) #7
6866 ret %runtime._interface { ptr @"reflect/types.type:pointer:interface:{String:func:{}{basic:string}}" , ptr null }
6967}
7068
7169; Function Attrs: nounwind
7270define hidden i1 @main.isInt (ptr %itf.typecode , ptr %itf.value , ptr %context ) unnamed_addr #2 {
7371entry:
74- %typecode = call i1 @runtime.typeAssert (ptr %itf.typecode , ptr nonnull @"reflect/types.typeid:basic:int" , ptr undef ) #5
72+ %typecode = call i1 @runtime.typeAssert (ptr %itf.typecode , ptr nonnull @"reflect/types.typeid:basic:int" , ptr undef ) #7
7573 br i1 %typecode , label %typeassert.ok , label %typeassert.next
7674
7775typeassert.next: ; preds = %typeassert.ok, %entry
@@ -86,7 +84,7 @@ declare i1 @runtime.typeAssert(ptr, ptr dereferenceable_or_null(1), ptr) #1
8684; Function Attrs: nounwind
8785define hidden i1 @main.isError (ptr %itf.typecode , ptr %itf.value , ptr %context ) unnamed_addr #2 {
8886entry:
89- %0 = call i1 @runtime.typeImplementsMethodSet ( ptr %itf.typecode , ptr nonnull @ "interface:{Error:func:{}{basic:string}}$itfmethods" , ptr undef ) #5
87+ %0 = call i1 @"interface:{Error:func:{}{basic:string}}.$typeassert" ( ptr %itf.typecode ) #7
9088 br i1 %0 , label %typeassert.ok , label %typeassert.next
9189
9290typeassert.next: ; preds = %typeassert.ok, %entry
@@ -96,12 +94,12 @@ typeassert.ok: ; preds = %entry
9694 br label %typeassert.next
9795}
9896
99- declare i1 @runtime.typeImplementsMethodSet (ptr , ptr , ptr ) #1
97+ declare i1 @"interface:{Error:func:{}{basic:string}}.$typeassert" (ptr ) #3
10098
10199; Function Attrs: nounwind
102100define hidden i1 @main.isStringer (ptr %itf.typecode , ptr %itf.value , ptr %context ) unnamed_addr #2 {
103101entry:
104- %0 = call i1 @runtime.typeImplementsMethodSet ( ptr %itf.typecode , ptr nonnull @ "interface:{String:func:{}{basic:string}}$itfmethods" , ptr undef ) #5
102+ %0 = call i1 @"interface:{String:func:{}{basic:string}}.$typeassert" ( ptr %itf.typecode ) #7
105103 br i1 %0 , label %typeassert.ok , label %typeassert.next
106104
107105typeassert.next: ; preds = %typeassert.ok, %entry
@@ -111,30 +109,34 @@ typeassert.ok: ; preds = %entry
111109 br label %typeassert.next
112110}
113111
112+ declare i1 @"interface:{String:func:{}{basic:string}}.$typeassert" (ptr ) #4
113+
114114; Function Attrs: nounwind
115115define hidden i8 @main.callFooMethod (ptr %itf.typecode , ptr %itf.value , ptr %context ) unnamed_addr #2 {
116116entry:
117- %0 = call i8 @"interface:{String:func:{}{basic:string},main.foo:func:{basic:int}{basic:uint8}}.foo$invoke" (ptr %itf.value , i32 3 , ptr %itf.typecode , ptr undef ) #5
117+ %0 = call i8 @"interface:{String:func:{}{basic:string},main.foo:func:{basic:int}{basic:uint8}}.foo$invoke" (ptr %itf.value , i32 3 , ptr %itf.typecode , ptr undef ) #7
118118 ret i8 %0
119119}
120120
121- declare i8 @"interface:{String:func:{}{basic:string},main.foo:func:{basic:int}{basic:uint8}}.foo$invoke" (ptr , i32 , ptr , ptr ) #3
121+ declare i8 @"interface:{String:func:{}{basic:string},main.foo:func:{basic:int}{basic:uint8}}.foo$invoke" (ptr , i32 , ptr , ptr ) #5
122122
123123; Function Attrs: nounwind
124124define hidden %runtime._string @main.callErrorMethod (ptr %itf.typecode , ptr %itf.value , ptr %context ) unnamed_addr #2 {
125125entry:
126126 %stackalloc = alloca i8 , align 1
127- %0 = call %runtime._string @"interface:{Error:func:{}{basic:string}}.Error$invoke" (ptr %itf.value , ptr %itf.typecode , ptr undef ) #5
127+ %0 = call %runtime._string @"interface:{Error:func:{}{basic:string}}.Error$invoke" (ptr %itf.value , ptr %itf.typecode , ptr undef ) #7
128128 %1 = extractvalue %runtime._string %0 , 0
129- call void @runtime.trackPointer (ptr %1 , ptr nonnull %stackalloc , ptr undef ) #5
129+ call void @runtime.trackPointer (ptr %1 , ptr nonnull %stackalloc , ptr undef ) #7
130130 ret %runtime._string %0
131131}
132132
133- declare %runtime._string @"interface:{Error:func:{}{basic:string}}.Error$invoke" (ptr , ptr , ptr ) #4
133+ declare %runtime._string @"interface:{Error:func:{}{basic:string}}.Error$invoke" (ptr , ptr , ptr ) #6
134134
135135attributes #0 = { allockind("alloc,zeroed" ) allocsize(0 ) "alloc-family" ="runtime.alloc" "target-features" ="+bulk-memory,+bulk-memory-opt,+call-indirect-overlong,+mutable-globals,+nontrapping-fptoint,+sign-ext,-multivalue,-reference-types" }
136136attributes #1 = { "target-features" ="+bulk-memory,+bulk-memory-opt,+call-indirect-overlong,+mutable-globals,+nontrapping-fptoint,+sign-ext,-multivalue,-reference-types" }
137137attributes #2 = { nounwind "target-features" ="+bulk-memory,+bulk-memory-opt,+call-indirect-overlong,+mutable-globals,+nontrapping-fptoint,+sign-ext,-multivalue,-reference-types" }
138- attributes #3 = { "target-features" ="+bulk-memory,+bulk-memory-opt,+call-indirect-overlong,+mutable-globals,+nontrapping-fptoint,+sign-ext,-multivalue,-reference-types" "tinygo-invoke" ="main.$methods.foo(int) uint8" "tinygo-methods" ="reflect/methods.String() string; main.$methods.foo(int) uint8" }
139- attributes #4 = { "target-features" ="+bulk-memory,+bulk-memory-opt,+call-indirect-overlong,+mutable-globals,+nontrapping-fptoint,+sign-ext,-multivalue,-reference-types" "tinygo-invoke" ="reflect/methods.Error() string" "tinygo-methods" ="reflect/methods.Error() string" }
140- attributes #5 = { nounwind }
138+ attributes #3 = { "target-features" ="+bulk-memory,+bulk-memory-opt,+call-indirect-overlong,+mutable-globals,+nontrapping-fptoint,+sign-ext,-multivalue,-reference-types" "tinygo-methods" ="reflect/methods.Error() string" }
139+ attributes #4 = { "target-features" ="+bulk-memory,+bulk-memory-opt,+call-indirect-overlong,+mutable-globals,+nontrapping-fptoint,+sign-ext,-multivalue,-reference-types" "tinygo-methods" ="reflect/methods.String() string" }
140+ attributes #5 = { "target-features" ="+bulk-memory,+bulk-memory-opt,+call-indirect-overlong,+mutable-globals,+nontrapping-fptoint,+sign-ext,-multivalue,-reference-types" "tinygo-invoke" ="main.$methods.foo(int) uint8" "tinygo-methods" ="reflect/methods.String() string; main.$methods.foo(int) uint8" }
141+ attributes #6 = { "target-features" ="+bulk-memory,+bulk-memory-opt,+call-indirect-overlong,+mutable-globals,+nontrapping-fptoint,+sign-ext,-multivalue,-reference-types" "tinygo-invoke" ="reflect/methods.Error() string" "tinygo-methods" ="reflect/methods.Error() string" }
142+ attributes #7 = { nounwind }
0 commit comments