diff --git a/Makefile b/Makefile index b77bdbc0..07984f27 100644 --- a/Makefile +++ b/Makefile @@ -1123,6 +1123,7 @@ MEMCHECK_CASES := \ tests/cases/test_list_transform_ownership \ tests/cases/test_result_unwrap_or_fallback_leak \ tests/cases/test_borrowed_operand_extraction \ + tests/cases/test_unwrap_or_borrowed_fallback \ tests/cases/test_task_result_payloads \ tests/cases/test_struct_closure_field tests/cases/test_generic_struct_field_dtor \ tests/cases/test_iterator_drain tests/cases/test_method_fresh_string_return \ diff --git a/docs/ownership.md b/docs/ownership.md index 84404689..85e370cd 100644 --- a/docs/ownership.md +++ b/docs/ownership.md @@ -206,14 +206,19 @@ gaps, all bounded leaks rather than dangling pointers: - **a result or optional bound to a name can leak its payload.** `T!` and `T?` lower to a three-slot value, and releasing one frees those slots without dropping the payload they own. a local whose every use is a - probe (`.is_ok`, `.is_err`, `== none`) or a payload read (`.ok`, `.err`) - now releases its payload: a probe never touches it, and a read borrows, - taking a fresh count only where the value escapes. either way the local - is still the last owner. any other use leaks as before — passed to a - call, returned whole, consumed by `catch` or `unwrap_or`, bound by - `if let`, or captured by a closure, which takes the shell and not the - payload. writing `x := call()!` avoids the whole question — `!` hands - the count to you rather than leaving it in the tuple. + probe (`.is_ok`, `.is_err`, `== none`), a payload read (`.ok`, `.err`), + or — for a result — an extraction (`r.unwrap_or(d)`, `r catch d`, `r!`) + releases its payload: a probe never touches it, a read borrows, and an + extraction hands its consumer a freshly retained count, so in every + case the local is still the last owner of the count the shell arrived + with. any other use leaks as before — passed to a call, returned + whole, bound by `if let`, or captured by a closure, which takes the + shell and not the payload. one more shape stays on the leak side: + rebinding one name to results of different payload types (`r := + await ta` then `r := await tb` where the two tasks return different + `T!`s) — the cleanup path is keyed by name and cannot pick one payload + shape, so it frees only the shell. bind results of different types to + different names. none of these produce a dangling pointer; the discipline trades a bounded leak for that guarantee. diff --git a/self-host/bootstrap/ir_driver.ir b/self-host/bootstrap/ir_driver.ir index b3fca411..24a0baa0 100644 --- a/self-host/bootstrap/ir_driver.ir +++ b/self-host/bootstrap/ir_driver.ir @@ -126218,372 +126218,665 @@ call 26 map_insert void 3 23 24 25 iconst 27 0 ret 27 endfunc -func ir_emitter_core_ir_tuple_use_is_whitelisted 2 bool +func ir_emitter_core_ir_tuple_use_is_whitelisted 3 bool param parent param name -iconst 2 0 -store recv 2 +param is_result iconst 3 0 -store f 3 +store recv 3 iconst 4 0 -store a 4 +store operand 4 iconst 5 0 -store b 5 -load 6 parent -field 7 6 0 string kind -strref 8 m46s36 -call 9 pith_cstring_eq bool 2 7 8 -call 10 pith_cstring_release void 1 8 -brif 9 L478 L479 -label L478 +store f 5 +iconst 6 0 +store a 6 +iconst 7 0 +store b 7 +iconst 8 0 +store __and_8_480 8 +iconst 9 0 +store __and_9_480 9 +load 10 is_result +store __and_9_480 10 +brif 10 L480 L481 +label L480 load 11 parent -field 12 11 16 list children -call 13 pith_list_len int 1 12 -iconst 14 0 -eq 15 13 14 -brif 15 L481 L482 +field 12 11 0 string kind +strref 13 m46s129 +call 14 pith_cstring_eq bool 2 12 13 +call 15 pith_cstring_release void 1 13 +store __and_9_480 14 label L481 -iconst 16 0 -load 17 recv -call 18 pith_struct_release void 1 17 -load 19 f -call 20 pith_cstring_release void 1 19 -load 21 a -call 22 pith_struct_release void 1 21 -load 23 b -call 24 pith_struct_release void 1 23 -ret 16 +load 16 __and_9_480 +store __and_8_480 16 +brif 16 L482 L483 label L482 -label L480 -load 25 recv -load 26 parent -field 27 26 16 list children -iconst 28 0 -call 29 pith_list_get_value_strict int 2 27 28 -call 30 ast_get_node struct:Node 1 29 -call 31 pith_struct_release void 1 25 -store recv 30 -iconst 32 0 -store __and_32_486 32 -load 33 recv -field 34 33 0 string kind -strref 35 m46s37 -call 36 pith_cstring_eq bool 2 34 35 -call 37 pith_cstring_release void 1 35 -store __and_32_486 36 -brif 36 L486 L487 -label L486 -load 38 recv -field 39 38 8 string value -load 40 name -call 41 pith_cstring_eq bool 2 39 40 -store __and_32_486 41 +load 17 parent +field 18 17 16 list children +call 19 pith_list_len int 1 18 +iconst 20 0 +gt 21 19 20 +store __and_8_480 21 +label L483 +load 22 __and_8_480 +brif 22 L478 L479 +label L478 +load 23 recv +load 24 parent +field 25 24 16 list children +iconst 26 0 +call 27 pith_list_get_value_strict int 2 25 26 +call 28 ast_get_node struct:Node 1 27 +call 29 pith_struct_release void 1 23 +store recv 28 +iconst 30 0 +store __and_30_487 30 +iconst 31 0 +store __and_31_487 31 +load 32 recv +field 33 32 0 string kind +strref 34 m46s37 +call 35 pith_cstring_eq bool 2 33 34 +call 36 pith_cstring_release void 1 34 +store __and_31_487 35 +brif 35 L487 L488 label L487 -load 42 __and_32_486 -iconst 44 1 -sub 43 44 42 -brif 43 L484 L485 -label L484 -iconst 45 0 -load 46 recv -call 47 pith_struct_release void 1 46 -load 48 f -call 49 pith_cstring_release void 1 48 -load 50 a -call 51 pith_struct_release void 1 50 -load 52 b -call 53 pith_struct_release void 1 52 -ret 45 +load 37 recv +field 38 37 8 string value +load 39 name +call 40 pith_cstring_eq bool 2 38 39 +store __and_31_487 40 +label L488 +load 41 __and_31_487 +store __and_30_487 41 +brif 41 L489 L490 +label L489 +load 42 parent +field 43 42 8 string value +call 44 ir_callees_ir_plain_method_name string 1 43 +strref 45 m46s285 +call 46 pith_cstring_eq bool 2 44 45 +call 47 pith_cstring_release void 1 44 +call 48 pith_cstring_release void 1 45 +store __and_30_487 46 +label L490 +load 49 __and_30_487 +brif 49 L485 L486 label L485 -label L483 -load 54 f -load 55 parent -field 56 55 8 string value -call 57 pith_cstring_retain void 1 56 -call 58 pith_cstring_release void 1 54 -store f 56 -iconst 59 0 -store __or_59_491 59 -load 60 f -strref 61 m46s182 -call 62 pith_cstring_eq bool 2 60 61 -call 63 pith_cstring_release void 1 61 -store __or_59_491 62 -brif 62 L492 L491 +iconst 50 1 +store ai 50 +iconst 51 0 +store arg_mentions 51 label L491 -load 64 f -strref 65 m46s181 -call 66 pith_cstring_eq bool 2 64 65 -call 67 pith_cstring_release void 1 65 -store __or_59_491 66 +load 52 ai +load 53 parent +field 54 53 16 list children +call 55 pith_list_len int 1 54 +lt 56 52 55 +brif 56 L492 L493 label L492 -load 68 __or_59_491 -brif 68 L489 L490 -label L489 +load 57 parent +field 58 57 16 list children +load 59 ai +call 60 pith_list_get_value_strict int 2 58 59 +load 61 name +call 62 ir_emitter_core_ir_subtree_mentions_ident bool 2 60 61 +brif 62 L495 L496 +label L495 +iconst 63 1 +store arg_mentions 63 +jmp L494 +label L496 +label L494 +load 64 ai +iconst 65 1 +add 66 64 65 +store ai 66 +jmp L491 +label L493 +load 67 arg_mentions iconst 69 1 +sub 68 69 67 load 70 recv call 71 pith_struct_release void 1 70 -load 72 f -call 73 pith_cstring_release void 1 72 -load 74 a -call 75 pith_struct_release void 1 74 -load 76 b +load 72 operand +call 73 pith_struct_release void 1 72 +load 74 f +call 75 pith_cstring_release void 1 74 +load 76 a call 77 pith_struct_release void 1 76 -ret 69 -label L490 -label L488 -iconst 78 0 -store __or_78_493 78 -iconst 79 0 -store __or_79_493 79 -iconst 80 0 -store __or_80_493 80 -load 81 f -strref 82 m46s184 -call 83 pith_cstring_eq bool 2 81 82 -call 84 pith_cstring_release void 1 82 -store __or_80_493 83 -brif 83 L494 L493 -label L493 -load 85 f -strref 86 m46s183 -call 87 pith_cstring_eq bool 2 85 86 -call 88 pith_cstring_release void 1 86 -store __or_80_493 87 -label L494 -load 89 __or_80_493 -store __or_79_493 89 -brif 89 L496 L495 -label L495 -load 90 f -strref 91 m46s1296 -call 92 pith_cstring_eq bool 2 90 91 -call 93 pith_cstring_release void 1 91 -store __or_79_493 92 -label L496 -load 94 __or_79_493 -store __or_78_493 94 -brif 94 L498 L497 -label L497 -load 95 f -strref 96 m46s1295 -call 97 pith_cstring_eq bool 2 95 96 -call 98 pith_cstring_release void 1 96 -store __or_78_493 97 -label L498 -load 99 __or_78_493 -load 100 recv -call 101 pith_struct_release void 1 100 -load 102 f -call 103 pith_cstring_release void 1 102 -load 104 a -call 105 pith_struct_release void 1 104 -load 106 b -call 107 pith_struct_release void 1 106 -ret 99 +load 78 b +call 79 pith_struct_release void 1 78 +ret 68 +label L486 +label L484 +jmp L477 label L479 label L477 -iconst 108 0 -store __and_108_502 108 -load 109 parent -field 110 109 0 string kind -strref 111 m46s514 -call 112 pith_cstring_eq bool 2 110 111 -call 113 pith_cstring_release void 1 111 -store __and_108_502 112 -brif 112 L502 L503 +iconst 80 0 +store __and_80_500 80 +iconst 81 0 +store __and_81_500 81 +load 82 is_result +store __and_81_500 82 +brif 82 L500 L501 +label L500 +load 83 parent +field 84 83 0 string kind +strref 85 m46s504 +call 86 pith_cstring_eq bool 2 84 85 +call 87 pith_cstring_release void 1 85 +store __and_81_500 86 +label L501 +load 88 __and_81_500 +store __and_80_500 88 +brif 88 L502 L503 label L502 -iconst 114 0 -store __or_114_504 114 -load 115 parent -field 116 115 8 string value -strref 117 m46s469 -call 118 pith_cstring_eq bool 2 116 117 -call 119 pith_cstring_release void 1 117 -store __or_114_504 118 -brif 118 L505 L504 -label L504 -load 120 parent -field 121 120 8 string value -strref 122 m46s467 -call 123 pith_cstring_eq bool 2 121 122 -call 124 pith_cstring_release void 1 122 -store __or_114_504 123 -label L505 -load 125 __or_114_504 -store __and_108_502 125 +load 89 parent +field 90 89 16 list children +call 91 pith_list_len int 1 90 +iconst 92 1 +gt 93 91 92 +store __and_80_500 93 label L503 -load 126 __and_108_502 -brif 126 L500 L501 -label L500 -load 127 parent -field 128 127 16 list children -call 129 pith_list_len int 1 128 -iconst 130 2 -lt 131 129 130 -brif 131 L507 L508 +load 94 __and_80_500 +brif 94 L498 L499 +label L498 +load 95 operand +load 96 parent +field 97 96 16 list children +iconst 98 0 +call 99 pith_list_get_value_strict int 2 97 98 +call 100 ast_get_node struct:Node 1 99 +call 101 pith_struct_release void 1 95 +store operand 100 +iconst 102 0 +store __and_102_507 102 +load 103 operand +field 104 103 0 string kind +strref 105 m46s37 +call 106 pith_cstring_eq bool 2 104 105 +call 107 pith_cstring_release void 1 105 +store __and_102_507 106 +brif 106 L507 L508 label L507 -iconst 132 0 -load 133 recv -call 134 pith_struct_release void 1 133 -load 135 f -call 136 pith_cstring_release void 1 135 -load 137 a -call 138 pith_struct_release void 1 137 -load 139 b -call 140 pith_struct_release void 1 139 -ret 132 +load 108 operand +field 109 108 8 string value +load 110 name +call 111 pith_cstring_eq bool 2 109 110 +store __and_102_507 111 label L508 +load 112 __and_102_507 +brif 112 L505 L506 +label L505 +load 113 parent +field 114 113 16 list children +iconst 115 1 +call 116 pith_list_get_value_strict int 2 114 115 +load 117 name +call 118 ir_emitter_core_ir_subtree_mentions_ident bool 2 116 117 +iconst 120 1 +sub 119 120 118 +load 121 recv +call 122 pith_struct_release void 1 121 +load 123 operand +call 124 pith_struct_release void 1 123 +load 125 f +call 126 pith_cstring_release void 1 125 +load 127 a +call 128 pith_struct_release void 1 127 +load 129 b +call 130 pith_struct_release void 1 129 +ret 119 label L506 -load 141 a -load 142 parent -field 143 142 16 list children -iconst 144 0 -call 145 pith_list_get_value_strict int 2 143 144 -call 146 ast_get_node struct:Node 1 145 -call 147 pith_struct_release void 1 141 -store a 146 -load 148 b -load 149 parent -field 150 149 16 list children -iconst 151 1 -call 152 pith_list_get_value_strict int 2 150 151 -call 153 ast_get_node struct:Node 1 152 -call 154 pith_struct_release void 1 148 -store b 153 -iconst 155 0 -store __and_155_509 155 -load 156 a -field 157 156 0 string kind -strref 158 m46s37 -call 159 pith_cstring_eq bool 2 157 158 -call 160 pith_cstring_release void 1 158 -store __and_155_509 159 -brif 159 L509 L510 -label L509 -load 161 a -field 162 161 8 string value -load 163 name -call 164 pith_cstring_eq bool 2 162 163 -store __and_155_509 164 -label L510 -load 165 __and_155_509 -store a_is_name 165 -iconst 166 0 -store __and_166_511 166 -load 167 b -field 168 167 0 string kind -strref 169 m46s37 -call 170 pith_cstring_eq bool 2 168 169 -call 171 pith_cstring_release void 1 169 -store __and_166_511 170 -brif 170 L511 L512 -label L511 -load 172 b -field 173 172 8 string value -load 174 name -call 175 pith_cstring_eq bool 2 173 174 -store __and_166_511 175 +label L504 +jmp L497 +label L499 +label L497 +iconst 131 0 +store __and_131_512 131 +iconst 132 0 +store __and_132_512 132 +load 133 is_result +store __and_132_512 133 +brif 133 L512 L513 label L512 -load 176 __and_166_511 -store b_is_name 176 -iconst 177 0 -store __or_177_513 177 -load 178 a -field 179 178 0 string kind -strref 180 m46s56 -call 181 pith_cstring_eq bool 2 179 180 -call 182 pith_cstring_release void 1 180 -store __or_177_513 181 -brif 181 L514 L513 +load 134 parent +field 135 134 0 string kind +strref 136 m46s505 +call 137 pith_cstring_eq bool 2 135 136 +call 138 pith_cstring_release void 1 136 +store __and_132_512 137 label L513 -load 183 a -field 184 183 0 string kind -strref 185 m46s1294 -call 186 pith_cstring_eq bool 2 184 185 -call 187 pith_cstring_release void 1 185 -store __or_177_513 186 +load 139 __and_132_512 +store __and_131_512 139 +brif 139 L514 L515 label L514 -load 188 __or_177_513 -store a_is_none 188 -iconst 189 0 -store __or_189_515 189 -load 190 b -field 191 190 0 string kind -strref 192 m46s56 -call 193 pith_cstring_eq bool 2 191 192 -call 194 pith_cstring_release void 1 192 -store __or_189_515 193 -brif 193 L516 L515 +load 140 parent +field 141 140 16 list children +call 142 pith_list_len int 1 141 +iconst 143 0 +gt 144 142 143 +store __and_131_512 144 label L515 -load 195 b -field 196 195 0 string kind -strref 197 m46s1294 -call 198 pith_cstring_eq bool 2 196 197 -call 199 pith_cstring_release void 1 197 -store __or_189_515 198 -label L516 -load 200 __or_189_515 -store b_is_none 200 -iconst 201 0 -store __or_201_517 201 -iconst 202 0 -store __and_202_517 202 -load 203 a_is_name -store __and_202_517 203 -brif 203 L517 L518 +load 145 __and_131_512 +brif 145 L510 L511 +label L510 +load 146 operand +load 147 parent +field 148 147 16 list children +iconst 149 0 +call 150 pith_list_get_value_strict int 2 148 149 +call 151 ast_get_node struct:Node 1 150 +call 152 pith_struct_release void 1 146 +store operand 151 +iconst 153 0 +store __and_153_519 153 +load 154 operand +field 155 154 0 string kind +strref 156 m46s37 +call 157 pith_cstring_eq bool 2 155 156 +call 158 pith_cstring_release void 1 156 +store __and_153_519 157 +brif 157 L519 L520 +label L519 +load 159 operand +field 160 159 8 string value +load 161 name +call 162 pith_cstring_eq bool 2 160 161 +store __and_153_519 162 +label L520 +load 163 __and_153_519 +brif 163 L517 L518 label L517 -load 204 b_is_none -store __and_202_517 204 +iconst 164 1 +load 165 recv +call 166 pith_struct_release void 1 165 +load 167 operand +call 168 pith_struct_release void 1 167 +load 169 f +call 170 pith_cstring_release void 1 169 +load 171 a +call 172 pith_struct_release void 1 171 +load 173 b +call 174 pith_struct_release void 1 173 +ret 164 label L518 -load 205 __and_202_517 -store __or_201_517 205 -brif 205 L520 L519 -label L519 -iconst 206 0 -store __and_206_521 206 -load 207 b_is_name -store __and_206_521 207 -brif 207 L521 L522 -label L521 -load 208 a_is_none -store __and_206_521 208 +label L516 +jmp L509 +label L511 +label L509 +load 175 parent +field 176 175 0 string kind +strref 177 m46s36 +call 178 pith_cstring_eq bool 2 176 177 +call 179 pith_cstring_release void 1 177 +brif 178 L522 L523 label L522 -load 209 __and_206_521 -store __or_201_517 209 -label L520 -load 210 __or_201_517 -load 211 recv -call 212 pith_struct_release void 1 211 -load 213 f -call 214 pith_cstring_release void 1 213 -load 215 a -call 216 pith_struct_release void 1 215 -load 217 b +load 180 parent +field 181 180 16 list children +call 182 pith_list_len int 1 181 +iconst 183 0 +eq 184 182 183 +brif 184 L525 L526 +label L525 +iconst 185 0 +load 186 recv +call 187 pith_struct_release void 1 186 +load 188 operand +call 189 pith_struct_release void 1 188 +load 190 f +call 191 pith_cstring_release void 1 190 +load 192 a +call 193 pith_struct_release void 1 192 +load 194 b +call 195 pith_struct_release void 1 194 +ret 185 +label L526 +label L524 +load 196 recv +load 197 parent +field 198 197 16 list children +iconst 199 0 +call 200 pith_list_get_value_strict int 2 198 199 +call 201 ast_get_node struct:Node 1 200 +call 202 pith_struct_release void 1 196 +store recv 201 +iconst 203 0 +store __and_203_530 203 +load 204 recv +field 205 204 0 string kind +strref 206 m46s37 +call 207 pith_cstring_eq bool 2 205 206 +call 208 pith_cstring_release void 1 206 +store __and_203_530 207 +brif 207 L530 L531 +label L530 +load 209 recv +field 210 209 8 string value +load 211 name +call 212 pith_cstring_eq bool 2 210 211 +store __and_203_530 212 +label L531 +load 213 __and_203_530 +iconst 215 1 +sub 214 215 213 +brif 214 L528 L529 +label L528 +iconst 216 0 +load 217 recv call 218 pith_struct_release void 1 217 -ret 210 -label L501 -label L499 -iconst 219 0 -load 220 recv -call 221 pith_struct_release void 1 220 -load 222 f -call 223 pith_cstring_release void 1 222 -load 224 a -call 225 pith_struct_release void 1 224 -load 226 b -call 227 pith_struct_release void 1 226 -ret 219 -load 228 recv -call 229 pith_struct_release void 1 228 -load 230 f -call 231 pith_cstring_release void 1 230 -load 232 a -call 233 pith_struct_release void 1 232 -load 234 b -call 235 pith_struct_release void 1 234 -iconst 236 0 -ret 236 +load 219 operand +call 220 pith_struct_release void 1 219 +load 221 f +call 222 pith_cstring_release void 1 221 +load 223 a +call 224 pith_struct_release void 1 223 +load 225 b +call 226 pith_struct_release void 1 225 +ret 216 +label L529 +label L527 +load 227 f +load 228 parent +field 229 228 8 string value +call 230 pith_cstring_retain void 1 229 +call 231 pith_cstring_release void 1 227 +store f 229 +iconst 232 0 +store __or_232_535 232 +load 233 f +strref 234 m46s182 +call 235 pith_cstring_eq bool 2 233 234 +call 236 pith_cstring_release void 1 234 +store __or_232_535 235 +brif 235 L536 L535 +label L535 +load 237 f +strref 238 m46s181 +call 239 pith_cstring_eq bool 2 237 238 +call 240 pith_cstring_release void 1 238 +store __or_232_535 239 +label L536 +load 241 __or_232_535 +brif 241 L533 L534 +label L533 +iconst 242 1 +load 243 recv +call 244 pith_struct_release void 1 243 +load 245 operand +call 246 pith_struct_release void 1 245 +load 247 f +call 248 pith_cstring_release void 1 247 +load 249 a +call 250 pith_struct_release void 1 249 +load 251 b +call 252 pith_struct_release void 1 251 +ret 242 +label L534 +label L532 +iconst 253 0 +store __or_253_537 253 +iconst 254 0 +store __or_254_537 254 +iconst 255 0 +store __or_255_537 255 +load 256 f +strref 257 m46s184 +call 258 pith_cstring_eq bool 2 256 257 +call 259 pith_cstring_release void 1 257 +store __or_255_537 258 +brif 258 L538 L537 +label L537 +load 260 f +strref 261 m46s183 +call 262 pith_cstring_eq bool 2 260 261 +call 263 pith_cstring_release void 1 261 +store __or_255_537 262 +label L538 +load 264 __or_255_537 +store __or_254_537 264 +brif 264 L540 L539 +label L539 +load 265 f +strref 266 m46s1296 +call 267 pith_cstring_eq bool 2 265 266 +call 268 pith_cstring_release void 1 266 +store __or_254_537 267 +label L540 +load 269 __or_254_537 +store __or_253_537 269 +brif 269 L542 L541 +label L541 +load 270 f +strref 271 m46s1295 +call 272 pith_cstring_eq bool 2 270 271 +call 273 pith_cstring_release void 1 271 +store __or_253_537 272 +label L542 +load 274 __or_253_537 +load 275 recv +call 276 pith_struct_release void 1 275 +load 277 operand +call 278 pith_struct_release void 1 277 +load 279 f +call 280 pith_cstring_release void 1 279 +load 281 a +call 282 pith_struct_release void 1 281 +load 283 b +call 284 pith_struct_release void 1 283 +ret 274 +label L523 +label L521 +iconst 285 0 +store __and_285_546 285 +load 286 parent +field 287 286 0 string kind +strref 288 m46s514 +call 289 pith_cstring_eq bool 2 287 288 +call 290 pith_cstring_release void 1 288 +store __and_285_546 289 +brif 289 L546 L547 +label L546 +iconst 291 0 +store __or_291_548 291 +load 292 parent +field 293 292 8 string value +strref 294 m46s469 +call 295 pith_cstring_eq bool 2 293 294 +call 296 pith_cstring_release void 1 294 +store __or_291_548 295 +brif 295 L549 L548 +label L548 +load 297 parent +field 298 297 8 string value +strref 299 m46s467 +call 300 pith_cstring_eq bool 2 298 299 +call 301 pith_cstring_release void 1 299 +store __or_291_548 300 +label L549 +load 302 __or_291_548 +store __and_285_546 302 +label L547 +load 303 __and_285_546 +brif 303 L544 L545 +label L544 +load 304 parent +field 305 304 16 list children +call 306 pith_list_len int 1 305 +iconst 307 2 +lt 308 306 307 +brif 308 L551 L552 +label L551 +iconst 309 0 +load 310 recv +call 311 pith_struct_release void 1 310 +load 312 operand +call 313 pith_struct_release void 1 312 +load 314 f +call 315 pith_cstring_release void 1 314 +load 316 a +call 317 pith_struct_release void 1 316 +load 318 b +call 319 pith_struct_release void 1 318 +ret 309 +label L552 +label L550 +load 320 a +load 321 parent +field 322 321 16 list children +iconst 323 0 +call 324 pith_list_get_value_strict int 2 322 323 +call 325 ast_get_node struct:Node 1 324 +call 326 pith_struct_release void 1 320 +store a 325 +load 327 b +load 328 parent +field 329 328 16 list children +iconst 330 1 +call 331 pith_list_get_value_strict int 2 329 330 +call 332 ast_get_node struct:Node 1 331 +call 333 pith_struct_release void 1 327 +store b 332 +iconst 334 0 +store __and_334_553 334 +load 335 a +field 336 335 0 string kind +strref 337 m46s37 +call 338 pith_cstring_eq bool 2 336 337 +call 339 pith_cstring_release void 1 337 +store __and_334_553 338 +brif 338 L553 L554 +label L553 +load 340 a +field 341 340 8 string value +load 342 name +call 343 pith_cstring_eq bool 2 341 342 +store __and_334_553 343 +label L554 +load 344 __and_334_553 +store a_is_name 344 +iconst 345 0 +store __and_345_555 345 +load 346 b +field 347 346 0 string kind +strref 348 m46s37 +call 349 pith_cstring_eq bool 2 347 348 +call 350 pith_cstring_release void 1 348 +store __and_345_555 349 +brif 349 L555 L556 +label L555 +load 351 b +field 352 351 8 string value +load 353 name +call 354 pith_cstring_eq bool 2 352 353 +store __and_345_555 354 +label L556 +load 355 __and_345_555 +store b_is_name 355 +iconst 356 0 +store __or_356_557 356 +load 357 a +field 358 357 0 string kind +strref 359 m46s56 +call 360 pith_cstring_eq bool 2 358 359 +call 361 pith_cstring_release void 1 359 +store __or_356_557 360 +brif 360 L558 L557 +label L557 +load 362 a +field 363 362 0 string kind +strref 364 m46s1294 +call 365 pith_cstring_eq bool 2 363 364 +call 366 pith_cstring_release void 1 364 +store __or_356_557 365 +label L558 +load 367 __or_356_557 +store a_is_none 367 +iconst 368 0 +store __or_368_559 368 +load 369 b +field 370 369 0 string kind +strref 371 m46s56 +call 372 pith_cstring_eq bool 2 370 371 +call 373 pith_cstring_release void 1 371 +store __or_368_559 372 +brif 372 L560 L559 +label L559 +load 374 b +field 375 374 0 string kind +strref 376 m46s1294 +call 377 pith_cstring_eq bool 2 375 376 +call 378 pith_cstring_release void 1 376 +store __or_368_559 377 +label L560 +load 379 __or_368_559 +store b_is_none 379 +iconst 380 0 +store __or_380_561 380 +iconst 381 0 +store __and_381_561 381 +load 382 a_is_name +store __and_381_561 382 +brif 382 L561 L562 +label L561 +load 383 b_is_none +store __and_381_561 383 +label L562 +load 384 __and_381_561 +store __or_380_561 384 +brif 384 L564 L563 +label L563 +iconst 385 0 +store __and_385_565 385 +load 386 b_is_name +store __and_385_565 386 +brif 386 L565 L566 +label L565 +load 387 a_is_none +store __and_385_565 387 +label L566 +load 388 __and_385_565 +store __or_380_561 388 +label L564 +load 389 __or_380_561 +load 390 recv +call 391 pith_struct_release void 1 390 +load 392 operand +call 393 pith_struct_release void 1 392 +load 394 f +call 395 pith_cstring_release void 1 394 +load 396 a +call 397 pith_struct_release void 1 396 +load 398 b +call 399 pith_struct_release void 1 398 +ret 389 +label L545 +label L543 +iconst 400 0 +load 401 recv +call 402 pith_struct_release void 1 401 +load 403 operand +call 404 pith_struct_release void 1 403 +load 405 f +call 406 pith_cstring_release void 1 405 +load 407 a +call 408 pith_struct_release void 1 407 +load 409 b +call 410 pith_struct_release void 1 409 +ret 400 +load 411 recv +call 412 pith_struct_release void 1 411 +load 413 operand +call 414 pith_struct_release void 1 413 +load 415 f +call 416 pith_cstring_release void 1 415 +load 417 a +call 418 pith_struct_release void 1 417 +load 419 b +call 420 pith_struct_release void 1 419 +iconst 421 0 +ret 421 endfunc func ir_emitter_core_ir_subtree_mentions_ident 2 bool param idx @@ -126596,30 +126889,30 @@ call 5 ast_get_node struct:Node 1 4 call 6 pith_struct_release void 1 3 store node 5 iconst 7 0 -store __and_7_526 7 +store __and_7_570 7 load 8 node field 9 8 0 string kind strref 10 m46s37 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __and_7_526 11 -brif 11 L526 L527 -label L526 +store __and_7_570 11 +brif 11 L570 L571 +label L570 load 13 node field 14 13 8 string value load 15 name call 16 pith_cstring_eq bool 2 14 15 -store __and_7_526 16 -label L527 -load 17 __and_7_526 -brif 17 L524 L525 -label L524 +store __and_7_570 16 +label L571 +load 17 __and_7_570 +brif 17 L568 L569 +label L568 iconst 18 1 load 19 node call 20 pith_struct_release void 1 19 ret 18 -label L525 -label L523 +label L569 +label L567 load 21 node field 22 21 16 list children call 23 pith_auto_len int 1 22 @@ -126627,12 +126920,12 @@ iconst 24 0 store __for_idx_288 24 store __for_len_288 23 store __for_iter_288 22 -label L528 +label L572 load 25 __for_idx_288 load 26 __for_len_288 lt 27 25 26 -brif 27 L529 L531 -label L529 +brif 27 L573 L575 +label L573 load 28 __for_iter_288 load 29 __for_idx_288 call 30 pith_list_get_value unknown 2 28 29 @@ -126640,21 +126933,21 @@ store __loopvar_288_child_idx 30 load 31 __loopvar_288_child_idx load 32 name call 33 ir_emitter_core_ir_subtree_mentions_ident bool 2 31 32 -brif 33 L533 L534 -label L533 +brif 33 L577 L578 +label L577 iconst 34 1 load 35 node call 36 pith_struct_release void 1 35 ret 34 -label L534 -label L532 -label L530 +label L578 +label L576 +label L574 load 37 __for_idx_288 iconst 38 1 add 39 37 38 store __for_idx_288 39 -jmp L528 -label L531 +jmp L572 +label L575 iconst 40 0 load 41 node call 42 pith_struct_release void 1 41 @@ -126664,169 +126957,172 @@ call 44 pith_struct_release void 1 43 iconst 45 0 ret 45 endfunc -func ir_emitter_core_ir_tuple_uses_all_safe 2 bool +func ir_emitter_core_ir_tuple_uses_all_safe 3 bool param idx param name -iconst 2 0 -store node 2 +param is_result iconst 3 0 -store child 3 -load 4 node -load 5 idx -call 6 ast_get_node struct:Node 1 5 -call 7 pith_struct_release void 1 4 -store node 6 -load 8 node -field 9 8 0 string kind -strref 10 m46s501 -call 11 pith_cstring_eq bool 2 9 10 -call 12 pith_cstring_release void 1 10 -brif 11 L536 L537 -label L536 -load 13 idx -load 14 name -call 15 ir_emitter_core_ir_subtree_mentions_ident bool 2 13 14 -iconst 17 1 -sub 16 17 15 -load 18 node -call 19 pith_struct_release void 1 18 -load 20 child -call 21 pith_struct_release void 1 20 -ret 16 -label L537 -label L535 -iconst 22 0 -store __and_22_541 22 -load 23 node -field 24 23 0 string kind -strref 25 m46s574 -call 26 pith_cstring_eq bool 2 24 25 -call 27 pith_cstring_release void 1 25 -store __and_22_541 26 -brif 26 L541 L542 -label L541 -load 28 node -field 29 28 16 list children -call 30 pith_list_len int 1 29 -iconst 31 0 -gt 32 30 31 -store __and_22_541 32 -label L542 -load 33 __and_22_541 -brif 33 L539 L540 -label L539 -load 34 node -field 35 34 16 list children -iconst 36 0 -call 37 pith_list_get_value_strict int 2 35 36 -load 38 name -call 39 ir_emitter_core_ir_subtree_mentions_ident bool 2 37 38 -brif 39 L544 L545 -label L544 -iconst 40 0 -load 41 node -call 42 pith_struct_release void 1 41 -load 43 child -call 44 pith_struct_release void 1 43 -ret 40 -label L545 -label L543 -jmp L538 -label L540 -label L538 -load 45 node -field 46 45 16 list children -call 47 pith_auto_len int 1 46 -iconst 48 0 -store __for_idx_289 48 -store __for_len_289 47 -store __for_iter_289 46 -label L546 -load 49 __for_idx_289 -load 50 __for_len_289 -lt 51 49 50 -brif 51 L547 L549 -label L547 -load 52 __for_iter_289 -load 53 __for_idx_289 -call 54 pith_list_get_value unknown 2 52 53 -store __loopvar_289_child_idx 54 -load 55 child -load 56 __loopvar_289_child_idx -call 57 ast_get_node struct:Node 1 56 -call 58 pith_struct_release void 1 55 -store child 57 -iconst 59 0 -store __and_59_553 59 -load 60 child -field 61 60 0 string kind -strref 62 m46s37 -call 63 pith_cstring_eq bool 2 61 62 -call 64 pith_cstring_release void 1 62 -store __and_59_553 63 -brif 63 L553 L554 -label L553 -load 65 child -field 66 65 8 string value -load 67 name -call 68 pith_cstring_eq bool 2 66 67 -store __and_59_553 68 -label L554 -load 69 __and_59_553 -brif 69 L551 L552 -label L551 -load 70 node -load 71 name -call 72 ir_emitter_core_ir_tuple_use_is_whitelisted bool 2 70 71 -iconst 74 1 -sub 73 74 72 -brif 73 L556 L557 -label L556 -iconst 75 0 -load 76 node -call 77 pith_struct_release void 1 76 -load 78 child +store node 3 +iconst 4 0 +store child 4 +load 5 node +load 6 idx +call 7 ast_get_node struct:Node 1 6 +call 8 pith_struct_release void 1 5 +store node 7 +load 9 node +field 10 9 0 string kind +strref 11 m46s501 +call 12 pith_cstring_eq bool 2 10 11 +call 13 pith_cstring_release void 1 11 +brif 12 L580 L581 +label L580 +load 14 idx +load 15 name +call 16 ir_emitter_core_ir_subtree_mentions_ident bool 2 14 15 +iconst 18 1 +sub 17 18 16 +load 19 node +call 20 pith_struct_release void 1 19 +load 21 child +call 22 pith_struct_release void 1 21 +ret 17 +label L581 +label L579 +iconst 23 0 +store __and_23_585 23 +load 24 node +field 25 24 0 string kind +strref 26 m46s574 +call 27 pith_cstring_eq bool 2 25 26 +call 28 pith_cstring_release void 1 26 +store __and_23_585 27 +brif 27 L585 L586 +label L585 +load 29 node +field 30 29 16 list children +call 31 pith_list_len int 1 30 +iconst 32 0 +gt 33 31 32 +store __and_23_585 33 +label L586 +load 34 __and_23_585 +brif 34 L583 L584 +label L583 +load 35 node +field 36 35 16 list children +iconst 37 0 +call 38 pith_list_get_value_strict int 2 36 37 +load 39 name +call 40 ir_emitter_core_ir_subtree_mentions_ident bool 2 38 39 +brif 40 L588 L589 +label L588 +iconst 41 0 +load 42 node +call 43 pith_struct_release void 1 42 +load 44 child +call 45 pith_struct_release void 1 44 +ret 41 +label L589 +label L587 +jmp L582 +label L584 +label L582 +load 46 node +field 47 46 16 list children +call 48 pith_auto_len int 1 47 +iconst 49 0 +store __for_idx_289 49 +store __for_len_289 48 +store __for_iter_289 47 +label L590 +load 50 __for_idx_289 +load 51 __for_len_289 +lt 52 50 51 +brif 52 L591 L593 +label L591 +load 53 __for_iter_289 +load 54 __for_idx_289 +call 55 pith_list_get_value unknown 2 53 54 +store __loopvar_289_child_idx 55 +load 56 child +load 57 __loopvar_289_child_idx +call 58 ast_get_node struct:Node 1 57 +call 59 pith_struct_release void 1 56 +store child 58 +iconst 60 0 +store __and_60_597 60 +load 61 child +field 62 61 0 string kind +strref 63 m46s37 +call 64 pith_cstring_eq bool 2 62 63 +call 65 pith_cstring_release void 1 63 +store __and_60_597 64 +brif 64 L597 L598 +label L597 +load 66 child +field 67 66 8 string value +load 68 name +call 69 pith_cstring_eq bool 2 67 68 +store __and_60_597 69 +label L598 +load 70 __and_60_597 +brif 70 L595 L596 +label L595 +load 71 node +load 72 name +load 73 is_result +call 74 ir_emitter_core_ir_tuple_use_is_whitelisted bool 3 71 72 73 +iconst 76 1 +sub 75 76 74 +brif 75 L600 L601 +label L600 +iconst 77 0 +load 78 node call 79 pith_struct_release void 1 78 -ret 75 -label L557 -label L555 -jmp L550 -label L552 -load 80 __loopvar_289_child_idx -load 81 name -call 82 ir_emitter_core_ir_tuple_uses_all_safe bool 2 80 81 -iconst 84 1 -sub 83 84 82 -brif 83 L559 L560 -label L559 -iconst 85 0 -load 86 node -call 87 pith_struct_release void 1 86 -load 88 child -call 89 pith_struct_release void 1 88 -ret 85 -label L560 -label L558 -label L550 -label L548 -load 90 __for_idx_289 -iconst 91 1 -add 92 90 91 -store __for_idx_289 92 -jmp L546 -label L549 -iconst 93 1 -load 94 node -call 95 pith_struct_release void 1 94 -load 96 child -call 97 pith_struct_release void 1 96 -ret 93 -load 98 node -call 99 pith_struct_release void 1 98 -load 100 child -call 101 pith_struct_release void 1 100 -iconst 102 0 -ret 102 +load 80 child +call 81 pith_struct_release void 1 80 +ret 77 +label L601 +label L599 +jmp L594 +label L596 +load 82 __loopvar_289_child_idx +load 83 name +load 84 is_result +call 85 ir_emitter_core_ir_tuple_uses_all_safe bool 3 82 83 84 +iconst 87 1 +sub 86 87 85 +brif 86 L603 L604 +label L603 +iconst 88 0 +load 89 node +call 90 pith_struct_release void 1 89 +load 91 child +call 92 pith_struct_release void 1 91 +ret 88 +label L604 +label L602 +label L594 +label L592 +load 93 __for_idx_289 +iconst 94 1 +add 95 93 94 +store __for_idx_289 95 +jmp L590 +label L593 +iconst 96 1 +load 97 node +call 98 pith_struct_release void 1 97 +load 99 child +call 100 pith_struct_release void 1 99 +ret 96 +load 101 node +call 102 pith_struct_release void 1 101 +load 103 child +call 104 pith_struct_release void 1 103 +iconst 105 0 +ret 105 endfunc func ir_emitter_core_ir_tuple_cascade_scan 1 void param body_idx @@ -126839,25 +127135,25 @@ store ir_emitter_core_ir_tuple_cascade_names 3 load 4 body_idx iconst 5 0 lt 6 4 5 -brif 6 L562 L563 -label L562 +brif 6 L606 L607 +label L606 load 7 name call 8 pith_cstring_release void 1 7 load 9 kind call 10 pith_cstring_release void 1 9 iconst 11 0 ret 11 -label L563 -label L561 +label L607 +label L605 iconst 12 0 store i 12 -label L564 +label L608 load 13 i load 14 ir_emitter_core_ir_string_locals call 15 pith_list_len int 1 14 lt 16 13 15 -brif 16 L565 L566 -label L565 +brif 16 L609 L610 +label L609 load 17 name load 18 ir_emitter_core_ir_string_locals load 19 i @@ -126873,8 +127169,8 @@ load 26 i load 27 ir_emitter_core_ir_rc_local_kinds call 28 pith_list_len int 1 27 lt 29 26 28 -brif 29 L568 L569 -label L568 +brif 29 L612 L613 +label L612 load 30 kind load 31 ir_emitter_core_ir_rc_local_kinds load 32 i @@ -126882,90 +127178,95 @@ call 33 pith_list_get_value_strict string 2 31 32 call 34 pith_cstring_retain void 1 33 call 35 pith_cstring_release void 1 30 store kind 33 -jmp L567 -label L569 -label L567 +jmp L611 +label L613 +label L611 iconst 36 0 -store __and_36_573 36 +store __and_36_617 36 iconst 37 0 -store __and_37_573 37 +store __and_37_617 37 load 38 kind strref 39 m46s23 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_37_573 40 -brif 40 L573 L574 -label L573 +store __and_37_617 40 +brif 40 L617 L618 +label L617 load 42 ir_emitter_core_ir_tuple_local_tid load 43 name call 44 contains_key bool 2 42 43 -store __and_37_573 44 -label L574 -load 45 __and_37_573 -store __and_36_573 45 -brif 45 L575 L576 -label L575 +store __and_37_617 44 +label L618 +load 45 __and_37_617 +store __and_36_617 45 +brif 45 L619 L620 +label L619 load 46 ir_builder_ir_var_regs load 47 name call 48 contains_key bool 2 46 47 iconst 50 1 sub 49 50 48 -store __and_36_573 49 -label L576 -load 51 __and_36_573 -brif 51 L571 L572 -label L571 +store __and_36_617 49 +label L620 +load 51 __and_36_617 +brif 51 L615 L616 +label L615 load 52 ir_emitter_core_ir_tuple_local_tid load 53 name call 54 map_get_strict int 2 52 53 store tid 54 iconst 55 0 -store __and_55_580 55 -iconst 56 0 -store __and_56_580 56 -load 57 tid -iconst 58 0 -gte 59 57 58 -store __and_56_580 59 -brif 59 L580 L581 -label L580 -load 60 tid -call 61 ir_emitter_core_ir_tuple_local_has_rc_payload bool 1 60 -store __and_56_580 61 -label L581 -load 62 __and_56_580 -store __and_55_580 62 -brif 62 L582 L583 -label L582 -load 63 body_idx -load 64 name -call 65 ir_emitter_core_ir_tuple_uses_all_safe bool 2 63 64 -store __and_55_580 65 -label L583 -load 66 __and_55_580 -brif 66 L578 L579 -label L578 -load 67 ir_emitter_core_ir_tuple_cascade_names -load 68 name -call 69 pith_list_push_value void 2 67 68 -jmp L577 -label L579 -label L577 -jmp L570 -label L572 -label L570 -load 70 i -iconst 71 1 -add 72 70 71 -store i 72 -jmp L564 -label L566 +store __and_55_624 55 +load 56 tid +iconst 57 0 +gte 58 56 57 +store __and_55_624 58 +brif 58 L624 L625 +label L624 +load 59 tid +call 60 ir_emitter_core_ir_tuple_local_has_rc_payload bool 1 59 +store __and_55_624 60 +label L625 +load 61 __and_55_624 +brif 61 L622 L623 +label L622 +load 62 tid +call 63 types_get_type_info struct:TypeInfo 1 62 +field 64 63 0 string kind +strref 65 m46s22 +call 66 pith_cstring_eq bool 2 64 65 +call 67 pith_cstring_release void 1 65 +store is_result 66 +load 68 body_idx +load 69 name +load 70 is_result +call 71 ir_emitter_core_ir_tuple_uses_all_safe bool 3 68 69 70 +brif 71 L627 L628 +label L627 +load 72 ir_emitter_core_ir_tuple_cascade_names load 73 name -call 74 pith_cstring_release void 1 73 -load 75 kind -call 76 pith_cstring_release void 1 75 -iconst 77 0 -ret 77 +call 74 pith_list_push_value void 2 72 73 +jmp L626 +label L628 +label L626 +jmp L621 +label L623 +label L621 +jmp L614 +label L616 +label L614 +load 75 i +iconst 76 1 +add 77 75 76 +store i 77 +jmp L608 +label L610 +load 78 name +call 79 pith_cstring_release void 1 78 +load 80 kind +call 81 pith_cstring_release void 1 80 +iconst 82 0 +ret 82 endfunc func ir_emitter_core_ir_tuple_local_has_rc_payload 1 bool param tid @@ -126981,8 +127282,8 @@ field 7 6 0 string kind strref 8 m46s22 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L585 L586 -label L585 +brif 9 L630 L631 +label L630 load 11 tid strref 12 m46s182 call 13 ir_result_abi_ir_result_field_kind string 2 11 12 @@ -126993,14 +127294,14 @@ call 17 string_len int 1 15 call 18 pith_cstring_release void 1 15 iconst 19 0 gt 20 17 19 -brif 20 L588 L589 -label L588 +brif 20 L633 L634 +label L633 iconst 21 1 load 22 info call 23 pith_struct_release void 1 22 ret 21 -label L589 -label L587 +label L634 +label L632 load 24 tid strref 25 m46s181 call 26 ir_result_abi_ir_result_field_kind string 2 24 25 @@ -127014,27 +127315,27 @@ gt 33 30 32 load 34 info call 35 pith_struct_release void 1 34 ret 33 -label L586 -label L584 +label L631 +label L629 iconst 36 0 -store __and_36_593 36 +store __and_36_638 36 load 37 info field 38 37 0 string kind strref 39 m46s21 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_593 40 -brif 40 L593 L594 -label L593 +store __and_36_638 40 +brif 40 L638 L639 +label L638 load 42 info field 43 42 64 int inner iconst 44 0 gte 45 43 44 -store __and_36_593 45 -label L594 -load 46 __and_36_593 -brif 46 L591 L592 -label L591 +store __and_36_638 45 +label L639 +load 46 __and_36_638 +brif 46 L636 L637 +label L636 load 47 info field 48 47 64 int inner call 49 ir_type_helpers_ir_type_from_tid string 1 48 @@ -127047,8 +127348,8 @@ gt 55 52 54 load 56 info call 57 pith_struct_release void 1 56 ret 55 -label L592 -label L590 +label L637 +label L635 iconst 58 0 load 59 info call 60 pith_struct_release void 1 59 @@ -127076,8 +127377,8 @@ field 9 8 0 string kind strref 10 m46s22 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L596 L597 -label L596 +brif 11 L641 L642 +label L641 load 13 ok_code load 14 tid strref 15 m46s182 @@ -127110,27 +127411,27 @@ call 39 pith_cstring_release void 1 38 load 40 err_code call 41 pith_cstring_release void 1 40 ret 35 -label L597 -label L595 +label L642 +label L640 iconst 42 0 -store __and_42_601 42 +store __and_42_646 42 load 43 info field 44 43 0 string kind strref 45 m46s21 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -store __and_42_601 46 -brif 46 L601 L602 -label L601 +store __and_42_646 46 +brif 46 L646 L647 +label L646 load 48 info field 49 48 64 int inner iconst 50 0 gte 51 49 50 -store __and_42_601 51 -label L602 -load 52 __and_42_601 -brif 52 L599 L600 -label L599 +store __and_42_646 51 +label L647 +load 52 __and_42_646 +brif 52 L644 L645 +label L644 load 53 info field 54 53 64 int inner call 55 ir_type_helpers_ir_type_from_tid string 1 54 @@ -127149,8 +127450,8 @@ call 67 pith_cstring_release void 1 66 load 68 err_code call 69 pith_cstring_release void 1 68 ret 61 -label L600 -label L598 +label L645 +label L643 strref 70 m46s1293 load 71 info call 72 pith_struct_release void 1 71 @@ -127196,46 +127497,46 @@ store info 3 iconst 4 0 store sig 4 iconst 5 0 -store __and_5_606 5 +store __and_5_651 5 load 6 kind strref 7 m46s23 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __and_5_606 8 -brif 8 L606 L607 -label L606 +store __and_5_651 8 +brif 8 L651 L652 +label L651 load 10 ir_emitter_core_ir_tuple_cascade_names load 11 name iconst 12 -1 -store __list_index_result_L608 12 +store __list_index_result_L653 12 iconst 13 0 -store __list_index_i_L609 13 +store __list_index_i_L654 13 call 14 pith_list_len int 1 10 -label L610 -load 15 __list_index_i_L609 +label L655 +load 15 __list_index_i_L654 lt 16 15 14 -brif 16 L611 L614 -label L611 +brif 16 L656 L659 +label L656 call 17 pith_list_get_value string 2 10 15 call 18 pith_cstring_eq bool 2 17 11 -brif 18 L612 L613 -label L612 -store __list_index_result_L608 15 -jmp L614 -label L613 +brif 18 L657 L658 +label L657 +store __list_index_result_L653 15 +jmp L659 +label L658 iconst 19 1 add 20 15 19 -store __list_index_i_L609 20 -jmp L610 -label L614 -load 21 __list_index_result_L608 +store __list_index_i_L654 20 +jmp L655 +label L659 +load 21 __list_index_result_L653 iconst 22 0 gte 23 21 22 -store __and_5_606 23 -label L607 -load 24 __and_5_606 -brif 24 L604 L605 -label L604 +store __and_5_651 23 +label L652 +load 24 __and_5_651 +brif 24 L649 L650 +label L649 load 25 ir_emitter_core_ir_tuple_local_tid load 26 name call 27 map_get_strict int 2 25 26 @@ -127246,25 +127547,25 @@ call 30 types_get_type_info struct:TypeInfo 1 29 call 31 pith_struct_release void 1 28 store info 30 iconst 32 0 -store __or_32_618 32 +store __or_32_663 32 load 33 info field 34 33 0 string kind strref 35 m46s22 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_32_618 36 -brif 36 L619 L618 -label L618 +store __or_32_663 36 +brif 36 L664 L663 +label L663 load 38 info field 39 38 0 string kind strref 40 m46s21 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_32_618 41 -label L619 -load 43 __or_32_618 -brif 43 L616 L617 -label L616 +store __or_32_663 41 +label L664 +load 43 __or_32_663 +brif 43 L661 L662 +label L661 load 44 sig load 45 tid call 46 ir_emitter_core_ir_tuple_cascade_signature string 1 45 @@ -127273,40 +127574,40 @@ store sig 46 load 48 ir_emitter_core_ir_tuple_cascade_sigs load 49 sig iconst 50 -1 -store __list_index_result_L623 50 +store __list_index_result_L668 50 iconst 51 0 -store __list_index_i_L624 51 +store __list_index_i_L669 51 call 52 pith_list_len int 1 48 -label L625 -load 53 __list_index_i_L624 +label L670 +load 53 __list_index_i_L669 lt 54 53 52 -brif 54 L626 L629 -label L626 +brif 54 L671 L674 +label L671 call 55 pith_list_get_value string 2 48 53 call 56 pith_cstring_eq bool 2 55 49 -brif 56 L627 L628 -label L627 -store __list_index_result_L623 53 -jmp L629 -label L628 +brif 56 L672 L673 +label L672 +store __list_index_result_L668 53 +jmp L674 +label L673 iconst 57 1 add 58 53 57 -store __list_index_i_L624 58 -jmp L625 -label L629 -load 59 __list_index_result_L623 +store __list_index_i_L669 58 +jmp L670 +label L674 +load 59 __list_index_result_L668 iconst 60 0 gte 61 59 60 iconst 63 1 sub 62 63 61 -brif 62 L621 L622 -label L621 +brif 62 L666 L667 +label L666 load 64 ir_emitter_core_ir_tuple_cascade_sigs load 65 sig call 66 pith_list_push_value void 2 64 65 -jmp L620 -label L622 -label L620 +jmp L665 +label L667 +label L665 call 67 ir_builder_ir_reg int 0 load 68 sig call 69 ir_emitter_core_ir_tuple_cascade_helper_name string 1 68 @@ -127321,11 +127622,11 @@ load 77 sig call 78 pith_cstring_release void 1 77 iconst 79 0 ret 79 -label L617 -label L615 -jmp L603 -label L605 -label L603 +label L662 +label L660 +jmp L648 +label L650 +label L648 load 80 r load 81 kind call 82 ir_ownership_ir_rc_release_reg void 2 80 81 @@ -127357,12 +127658,12 @@ iconst 9 0 store __for_idx_290 9 store __for_len_290 8 store __for_iter_290 7 -label L630 +label L675 load 10 __for_idx_290 load 11 __for_len_290 lt 12 10 11 -brif 12 L631 L633 -label L631 +brif 12 L676 L678 +label L676 load 13 __for_iter_290 load 14 __for_idx_290 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -127546,8 +127847,8 @@ load 180 ok_kind call 181 string_len int 1 180 iconst 182 0 gt 183 181 182 -brif 183 L635 L636 -label L635 +brif 183 L680 L681 +label L680 call 184 ir_builder_ir_reg int 0 store ok_r 184 strref 185 m46s837 @@ -127574,9 +127875,9 @@ call 205 pith_cstring_release void 1 201 load 206 ok_r load 207 ok_kind call 208 ir_ownership_ir_rc_release_reg void 2 206 207 -jmp L634 -label L636 -label L634 +jmp L679 +label L681 +label L679 strref 209 m46s833 load 210 rel_l concat 211 209 210 @@ -127589,8 +127890,8 @@ load 217 err_kind call 218 string_len int 1 217 iconst 219 0 gt 220 218 219 -brif 220 L638 L639 -label L638 +brif 220 L683 L684 +label L683 call 221 ir_builder_ir_reg int 0 store err_r 221 strref 222 m46s837 @@ -127617,9 +127918,9 @@ call 242 pith_cstring_release void 1 238 load 243 err_r load 244 err_kind call 245 ir_ownership_ir_rc_release_reg void 2 243 244 -jmp L637 -label L639 -label L637 +jmp L682 +label L684 +label L682 strref 246 m46s833 load 247 rel_l concat 248 246 247 @@ -127668,13 +127969,13 @@ call 289 pith_cstring_release void 1 285 strref 290 m46s877 call 291 ir_builder_ir_emit void 1 290 call 292 pith_cstring_release void 1 290 -label L632 +label L677 load 293 __for_idx_290 iconst 294 1 add 295 293 294 store __for_idx_290 295 -jmp L630 -label L633 +jmp L675 +label L678 load 296 ok_kind call 297 pith_cstring_release void 1 296 load 298 err_kind @@ -127700,13 +128001,13 @@ iconst 2 0 store kind 2 iconst 3 0 store i 3 -label L640 +label L685 load 4 i load 5 ir_emitter_core_ir_string_locals call 6 pith_list_len int 1 5 lt 7 4 6 -brif 7 L641 L642 -label L641 +brif 7 L686 L687 +label L686 load 8 name load 9 ir_emitter_core_ir_string_locals load 10 i @@ -127722,8 +128023,8 @@ load 17 i load 18 ir_emitter_core_ir_rc_local_kinds call 19 pith_list_len int 1 18 lt 20 17 19 -brif 20 L644 L645 -label L644 +brif 20 L689 L690 +label L689 load 21 kind load 22 ir_emitter_core_ir_rc_local_kinds load 23 i @@ -127731,26 +128032,26 @@ call 24 pith_list_get_value_strict string 2 22 23 call 25 pith_cstring_retain void 1 24 call 26 pith_cstring_release void 1 21 store kind 24 -jmp L643 -label L645 -label L643 +jmp L688 +label L690 +label L688 iconst 27 0 -store __and_27_649 27 +store __and_27_694 27 load 28 name load 29 exclude call 31 pith_cstring_eq bool 2 28 29 iconst 32 1 sub 30 32 31 -store __and_27_649 30 -brif 30 L649 L650 -label L649 +store __and_27_694 30 +brif 30 L694 L695 +label L694 load 33 kind call 34 ir_ownership_ir_rc_release_enabled bool 1 33 -store __and_27_649 34 -label L650 -load 35 __and_27_649 -brif 35 L647 L648 -label L647 +store __and_27_694 34 +label L695 +load 35 __and_27_694 +brif 35 L692 L693 +label L692 call 36 ir_builder_ir_reg int 0 store r 36 load 37 r @@ -127760,15 +128061,15 @@ load 40 r load 41 kind load 42 name call 43 ir_emitter_core_ir_rc_release_local void 3 40 41 42 -jmp L646 -label L648 -label L646 +jmp L691 +label L693 +label L691 load 44 i iconst 45 1 add 46 44 45 store i 46 -jmp L640 -label L642 +jmp L685 +label L687 load 47 name call 48 pith_cstring_release void 1 47 load 49 kind @@ -127797,35 +128098,35 @@ load 10 parts field 11 10 16 int type_idx iconst 12 0 gte 13 11 12 -brif 13 L652 L653 -label L652 +brif 13 L697 L698 +label L697 load 14 bind_type load 15 parts field 16 15 16 int type_idx call 17 ir_alias_registry_ir_resolve_type_node string 1 16 call 18 pith_cstring_release void 1 14 store bind_type 17 -jmp L651 -label L653 -label L651 +jmp L696 +label L698 +label L696 iconst 19 0 -store __and_19_657 19 +store __and_19_702 19 load 20 bind_type call 21 string_len int 1 20 iconst 22 0 eq 23 21 22 -store __and_19_657 23 -brif 23 L657 L658 -label L657 +store __and_19_702 23 +brif 23 L702 L703 +label L702 load 24 parts field 25 24 8 int val_idx iconst 26 0 gte 27 25 26 -store __and_19_657 27 -label L658 -load 28 __and_19_657 -brif 28 L655 L656 -label L655 +store __and_19_702 27 +label L703 +load 28 __and_19_702 +brif 28 L700 L701 +label L700 load 29 val_node load 30 parts field 31 30 8 int val_idx @@ -127833,56 +128134,56 @@ call 32 ast_get_node struct:Node 1 31 call 33 pith_struct_release void 1 29 store val_node 32 iconst 34 0 -store __and_34_662 34 +store __and_34_707 34 load 35 val_node field 36 35 0 string kind strref 37 m46s37 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __and_34_662 38 -brif 38 L662 L663 -label L662 +store __and_34_707 38 +brif 38 L707 L708 +label L707 load 40 names load 41 val_node field 42 41 8 string value iconst 43 -1 -store __list_index_result_L664 43 +store __list_index_result_L709 43 iconst 44 0 -store __list_index_i_L665 44 +store __list_index_i_L710 44 call 45 pith_list_len int 1 40 -label L666 -load 46 __list_index_i_L665 +label L711 +load 46 __list_index_i_L710 lt 47 46 45 -brif 47 L667 L670 -label L667 +brif 47 L712 L715 +label L712 call 48 pith_list_get_value string 2 40 46 call 49 pith_cstring_eq bool 2 48 42 -brif 49 L668 L669 -label L668 -store __list_index_result_L664 46 -jmp L670 -label L669 +brif 49 L713 L714 +label L713 +store __list_index_result_L709 46 +jmp L715 +label L714 iconst 50 1 add 51 46 50 -store __list_index_i_L665 51 -jmp L666 -label L670 -load 52 __list_index_result_L664 +store __list_index_i_L710 51 +jmp L711 +label L715 +load 52 __list_index_result_L709 iconst 53 0 gte 54 52 53 -store __and_34_662 54 -label L663 -load 55 __and_34_662 -brif 55 L660 L661 -label L660 +store __and_34_707 54 +label L708 +load 55 __and_34_707 +brif 55 L705 L706 +label L705 load 56 bind_type load 57 val_node field 58 57 8 string value call 59 ir_emitter_core_ir_rc_local_kind string 1 58 call 60 pith_cstring_release void 1 56 store bind_type 59 -jmp L659 -label L661 +jmp L704 +label L706 load 61 bind_type load 62 parts field 63 62 8 int val_idx @@ -127893,80 +128194,80 @@ load 66 bind_type call 67 string_len int 1 66 iconst 68 0 eq 69 67 68 -brif 69 L672 L673 -label L672 +brif 69 L717 L718 +label L717 load 70 bind_type load 71 parts field 72 71 8 int val_idx call 73 ir_emitter_core_ir_infer_type string 1 72 call 74 pith_cstring_release void 1 70 store bind_type 73 -jmp L671 -label L673 -label L671 +jmp L716 +label L718 +label L716 iconst 75 0 -store __and_75_677 75 +store __and_75_722 75 load 76 bind_type call 77 ir_struct_registry_ir_rc_kind string 1 76 call 78 string_len int 1 77 call 79 pith_cstring_release void 1 77 iconst 80 0 eq 81 78 80 -store __and_75_677 81 -brif 81 L677 L678 -label L677 +store __and_75_722 81 +brif 81 L722 L723 +label L722 iconst 82 0 -store __or_82_679 82 +store __or_82_724 82 load 83 val_node field 84 83 0 string kind strref 85 m46s129 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -store __or_82_679 86 -brif 86 L680 L679 -label L679 +store __or_82_724 86 +brif 86 L725 L724 +label L724 load 88 val_node field 89 88 0 string kind strref 90 m46s44 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -store __or_82_679 91 -label L680 -load 93 __or_82_679 -store __and_75_677 93 -label L678 -load 94 __and_75_677 -brif 94 L675 L676 -label L675 +store __or_82_724 91 +label L725 +load 93 __or_82_724 +store __and_75_722 93 +label L723 +load 94 __and_75_722 +brif 94 L720 L721 +label L720 load 95 bind_type load 96 parts field 97 96 8 int val_idx call 98 ir_emitter_core_ir_expr_result_kind string 1 97 call 99 pith_cstring_release void 1 95 store bind_type 98 -jmp L674 -label L676 -label L674 +jmp L719 +label L721 +label L719 iconst 100 0 -store __and_100_684 100 +store __and_100_729 100 load 101 val_node field 102 101 0 string kind strref 103 m46s504 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __and_100_684 104 -brif 104 L684 L685 -label L684 +store __and_100_729 104 +brif 104 L729 L730 +label L729 load 106 val_node field 107 106 16 list children call 108 pith_list_len int 1 107 iconst 109 0 gt 110 108 109 -store __and_100_684 110 -label L685 -load 111 __and_100_684 -brif 111 L682 L683 -label L682 +store __and_100_729 110 +label L730 +load 111 __and_100_729 +brif 111 L727 L728 +label L727 load 112 catch_ok load 113 val_node field 114 113 16 list children @@ -127981,25 +128282,25 @@ call 121 string_len int 1 120 call 122 pith_cstring_release void 1 120 iconst 123 0 gt 124 121 123 -brif 124 L687 L688 -label L687 +brif 124 L732 L733 +label L732 load 125 bind_type load 126 catch_ok call 127 pith_cstring_retain void 1 126 call 128 pith_cstring_release void 1 125 store bind_type 126 -jmp L686 -label L688 -label L686 -jmp L681 -label L683 -label L681 +jmp L731 +label L733 +label L731 +jmp L726 +label L728 +label L726 iconst 129 0 -store __and_129_692 129 +store __and_129_737 129 iconst 130 0 -store __and_130_692 130 +store __and_130_737 130 iconst 131 0 -store __and_131_692 131 +store __and_131_737 131 load 132 bind_type call 133 ir_emitter_core_ir_substitute_type_name string 1 132 call 134 ir_struct_registry_ir_rc_kind string 1 133 @@ -128008,40 +128309,40 @@ call 136 string_len int 1 134 call 137 pith_cstring_release void 1 134 iconst 138 0 eq 139 136 138 -store __and_131_692 139 -brif 139 L692 L693 -label L692 +store __and_131_737 139 +brif 139 L737 L738 +label L737 load 140 val_node field 141 140 0 string kind strref 142 m46s35 call 143 pith_cstring_eq bool 2 141 142 call 144 pith_cstring_release void 1 142 -store __and_131_692 143 -label L693 -load 145 __and_131_692 -store __and_130_692 145 -brif 145 L694 L695 -label L694 +store __and_131_737 143 +label L738 +load 145 __and_131_737 +store __and_130_737 145 +brif 145 L739 L740 +label L739 load 146 val_node field 147 146 16 list children call 148 pith_list_len int 1 147 iconst 149 0 gt 150 148 149 -store __and_130_692 150 -label L695 -load 151 __and_130_692 -store __and_129_692 151 -brif 151 L696 L697 -label L696 +store __and_130_737 150 +label L740 +load 151 __and_130_737 +store __and_129_737 151 +brif 151 L741 L742 +label L741 load 152 ir_emitter_core_ir_current_impl_type call 153 string_len int 1 152 iconst 154 0 gt 155 153 154 -store __and_129_692 155 -label L697 -load 156 __and_129_692 -brif 156 L690 L691 -label L690 +store __and_129_737 155 +label L742 +load 156 __and_129_737 +brif 156 L735 L736 +label L735 load 157 list_node load 158 val_node field 159 158 16 list children @@ -128055,8 +128356,8 @@ field 165 164 0 string kind strref 166 m46s36 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -brif 167 L699 L700 -label L699 +brif 167 L744 L745 +label L744 load 169 elem load 170 list_node field 171 170 8 string value @@ -128067,26 +128368,26 @@ load 174 elem call 175 string_len int 1 174 iconst 176 0 gt 177 175 176 -brif 177 L702 L703 -label L702 +brif 177 L747 L748 +label L747 load 178 bind_type load 179 elem call 180 pith_cstring_retain void 1 179 call 181 pith_cstring_release void 1 178 store bind_type 179 -jmp L701 -label L703 +jmp L746 +label L748 +label L746 +jmp L743 +label L745 +label L743 +jmp L734 +label L736 +label L734 +label L704 +jmp L699 label L701 -jmp L698 -label L700 -label L698 -jmp L689 -label L691 -label L689 -label L659 -jmp L654 -label L656 -label L654 +label L699 load 182 bind_type load 183 val_node call 184 pith_struct_release void 1 183 @@ -128124,8 +128425,8 @@ load 5 ir_emitter_core_ir_current_impl_type call 6 string_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L705 L706 -label L705 +brif 8 L750 L751 +label L750 strref 9 m46s82 load 10 base call 11 pith_cstring_release void 1 10 @@ -128136,8 +128437,8 @@ call 15 pith_struct_release void 1 14 load 16 tnode call 17 pith_struct_release void 1 16 ret 9 -label L706 -label L704 +label L751 +label L749 load 18 base load 19 ir_emitter_core_ir_current_impl_type call 20 ir_method_tables_ir_strip_type_args string 1 19 @@ -128148,8 +128449,8 @@ load 23 base call 24 contains_key bool 2 22 23 iconst 26 1 sub 25 26 24 -brif 25 L708 L709 -label L708 +brif 25 L753 L754 +label L753 strref 27 m46s82 load 28 base call 29 pith_cstring_release void 1 28 @@ -128160,8 +128461,8 @@ call 33 pith_struct_release void 1 32 load 34 tnode call 35 pith_struct_release void 1 34 ret 27 -label L709 -label L707 +label L754 +label L752 load 36 decl load 37 ir_struct_registry_ir_struct_decl_nodes load 38 base @@ -128176,12 +128477,12 @@ iconst 45 0 store __for_idx_291 45 store __for_len_291 44 store __for_iter_291 43 -label L710 +label L755 load 46 __for_idx_291 load 47 __for_len_291 lt 48 46 47 -brif 48 L711 L713 -label L711 +brif 48 L756 L758 +label L756 load 49 __for_iter_291 load 50 __for_idx_291 call 51 pith_list_get_value unknown 2 49 50 @@ -128192,32 +128493,32 @@ call 54 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 53 call 55 pith_struct_release void 1 52 store fnode 54 iconst 56 0 -store __and_56_717 56 +store __and_56_762 56 load 57 fnode field 58 57 0 string kind strref 59 m46s29 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -store __and_56_717 60 -brif 60 L717 L718 -label L717 +store __and_56_762 60 +brif 60 L762 L763 +label L762 load 62 fnode call 63 ir_emitter_core_ir_struct_field_name string 1 62 load 64 field_name call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 63 -store __and_56_717 65 -label L718 -load 67 __and_56_717 -brif 67 L715 L716 -label L715 +store __and_56_762 65 +label L763 +load 67 __and_56_762 +brif 67 L760 L761 +label L760 load 68 fnode field 69 68 16 list children call 70 pith_list_len int 1 69 iconst 71 0 gt 72 70 71 -brif 72 L720 L721 -label L720 +brif 72 L765 L766 +label L765 load 73 tnode load 74 fnode field 75 74 16 list children @@ -128227,38 +128528,38 @@ call 78 ast_get_node struct:Node 1 77 call 79 pith_struct_release void 1 73 store tnode 78 iconst 80 0 -store __and_80_725 80 +store __and_80_770 80 iconst 81 0 -store __and_81_725 81 +store __and_81_770 81 load 82 tnode field 83 82 0 string kind strref 84 m46s327 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __and_81_725 85 -brif 85 L725 L726 -label L725 +store __and_81_770 85 +brif 85 L770 L771 +label L770 load 87 tnode field 88 87 8 string value strref 89 m46s326 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -store __and_81_725 90 -label L726 -load 92 __and_81_725 -store __and_80_725 92 -brif 92 L727 L728 -label L727 +store __and_81_770 90 +label L771 +load 92 __and_81_770 +store __and_80_770 92 +brif 92 L772 L773 +label L772 load 93 tnode field 94 93 16 list children call 95 pith_list_len int 1 94 iconst 96 0 gt 97 95 96 -store __and_80_725 97 -label L728 -load 98 __and_80_725 -brif 98 L723 L724 -label L723 +store __and_80_770 97 +label L773 +load 98 __and_80_770 +brif 98 L768 L769 +label L768 load 99 tnode field 100 99 16 list children iconst 101 0 @@ -128275,21 +128576,21 @@ call 111 pith_struct_release void 1 110 load 112 tnode call 113 pith_struct_release void 1 112 ret 104 -label L724 -label L722 -jmp L719 -label L721 -label L719 -jmp L714 -label L716 -label L714 -label L712 +label L769 +label L767 +jmp L764 +label L766 +label L764 +jmp L759 +label L761 +label L759 +label L757 load 114 __for_idx_291 iconst 115 1 add 116 114 115 store __for_idx_291 116 -jmp L710 -label L713 +jmp L755 +label L758 strref 117 m46s82 load 118 base call 119 pith_cstring_release void 1 118 @@ -128335,8 +128636,8 @@ store node 11 load 13 node field 14 13 0 string kind call 15 ir_ast_helpers_ir_is_binding_kind bool 1 14 -brif 15 L730 L731 -label L730 +brif 15 L775 L776 +label L775 load 16 parts load 17 node call 18 ir_control_helpers_ir_collect_bind_parts struct:IrBindParts 1 17 @@ -128347,8 +128648,8 @@ field 21 20 0 string name call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -brif 24 L733 L734 -label L733 +brif 24 L778 L779 +label L778 load 25 kind load 26 parts load 27 names @@ -128363,40 +128664,40 @@ load 34 kind call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L736 L737 -label L736 +brif 37 L781 L782 +label L781 load 38 names load 39 parts field 40 39 0 string name iconst 41 -1 -store __list_index_result_L741 41 +store __list_index_result_L786 41 iconst 42 0 -store __list_index_i_L742 42 +store __list_index_i_L787 42 call 43 pith_list_len int 1 38 -label L743 -load 44 __list_index_i_L742 +label L788 +load 44 __list_index_i_L787 lt 45 44 43 -brif 45 L744 L747 -label L744 +brif 45 L789 L792 +label L789 call 46 pith_list_get_value string 2 38 44 call 47 pith_cstring_eq bool 2 46 40 -brif 47 L745 L746 -label L745 -store __list_index_result_L741 44 -jmp L747 -label L746 +brif 47 L790 L791 +label L790 +store __list_index_result_L786 44 +jmp L792 +label L791 iconst 48 1 add 49 44 48 -store __list_index_i_L742 49 -jmp L743 -label L747 -load 50 __list_index_result_L741 +store __list_index_i_L787 49 +jmp L788 +label L792 +load 50 __list_index_result_L786 iconst 51 0 gte 52 50 51 -brif 52 L739 L740 -label L739 +brif 52 L784 L785 +label L784 iconst 53 0 -store __and_53_751 53 +store __and_53_796 53 load 54 parts field 55 54 0 string name call 56 ir_emitter_core_ir_rc_local_kind string 1 55 @@ -128405,151 +128706,151 @@ call 59 pith_cstring_eq bool 2 56 57 iconst 60 1 sub 58 60 59 call 61 pith_cstring_release void 1 56 -store __and_53_751 58 -brif 58 L751 L752 -label L751 +store __and_53_796 58 +brif 58 L796 L797 +label L796 load 62 poisoned load 63 parts field 64 63 0 string name iconst 65 -1 -store __list_index_result_L753 65 +store __list_index_result_L798 65 iconst 66 0 -store __list_index_i_L754 66 +store __list_index_i_L799 66 call 67 pith_list_len int 1 62 -label L755 -load 68 __list_index_i_L754 +label L800 +load 68 __list_index_i_L799 lt 69 68 67 -brif 69 L756 L759 -label L756 +brif 69 L801 L804 +label L801 call 70 pith_list_get_value string 2 62 68 call 71 pith_cstring_eq bool 2 70 64 -brif 71 L757 L758 -label L757 -store __list_index_result_L753 68 -jmp L759 -label L758 +brif 71 L802 L803 +label L802 +store __list_index_result_L798 68 +jmp L804 +label L803 iconst 72 1 add 73 68 72 -store __list_index_i_L754 73 -jmp L755 -label L759 -load 74 __list_index_result_L753 +store __list_index_i_L799 73 +jmp L800 +label L804 +load 74 __list_index_result_L798 iconst 75 0 gte 76 74 75 iconst 78 1 sub 77 78 76 -store __and_53_751 77 -label L752 -load 79 __and_53_751 -brif 79 L749 L750 -label L749 +store __and_53_796 77 +label L797 +load 79 __and_53_796 +brif 79 L794 L795 +label L794 load 80 poisoned load 81 parts field 82 81 0 string name call 83 pith_list_push_value void 2 80 82 -jmp L748 -label L750 -label L748 -jmp L738 -label L740 +jmp L793 +label L795 +label L793 +jmp L783 +label L785 load 84 parts field 85 84 0 string name load 86 kind call 87 ir_emitter_core_ir_rc_track_local void 2 85 86 -label L738 +label L783 iconst 88 0 -store __and_88_763 88 +store __and_88_808 88 load 89 kind strref 90 m46s23 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -store __and_88_763 91 -brif 91 L763 L764 -label L763 +store __and_88_808 91 +brif 91 L808 L809 +label L808 load 93 parts field 94 93 8 int val_idx iconst 95 0 gte 96 94 95 -store __and_88_763 96 -label L764 -load 97 __and_88_763 -brif 97 L761 L762 -label L761 +store __and_88_808 96 +label L809 +load 97 __and_88_808 +brif 97 L806 L807 +label L806 load 98 parts field 99 98 0 string name load 100 parts field 101 100 8 int val_idx call 102 ir_emitter_core_ir_tuple_record_tid void 2 99 101 -jmp L760 -label L762 -label L760 -jmp L735 -label L737 +jmp L805 +label L807 +label L805 +jmp L780 +label L782 load 103 poisoned load 104 parts field 105 104 0 string name iconst 106 -1 -store __list_index_result_L767 106 +store __list_index_result_L812 106 iconst 107 0 -store __list_index_i_L768 107 +store __list_index_i_L813 107 call 108 pith_list_len int 1 103 -label L769 -load 109 __list_index_i_L768 +label L814 +load 109 __list_index_i_L813 lt 110 109 108 -brif 110 L770 L773 -label L770 +brif 110 L815 L818 +label L815 call 111 pith_list_get_value string 2 103 109 call 112 pith_cstring_eq bool 2 111 105 -brif 112 L771 L772 -label L771 -store __list_index_result_L767 109 -jmp L773 -label L772 +brif 112 L816 L817 +label L816 +store __list_index_result_L812 109 +jmp L818 +label L817 iconst 113 1 add 114 109 113 -store __list_index_i_L768 114 -jmp L769 -label L773 -load 115 __list_index_result_L767 +store __list_index_i_L813 114 +jmp L814 +label L818 +load 115 __list_index_result_L812 iconst 116 0 gte 117 115 116 iconst 119 1 sub 118 119 117 -brif 118 L765 L766 -label L765 +brif 118 L810 L811 +label L810 load 120 poisoned load 121 parts field 122 121 0 string name call 123 pith_list_push_value void 2 120 122 -jmp L735 -label L766 -label L735 -jmp L732 -label L734 -label L732 -jmp L729 -label L731 -label L729 +jmp L780 +label L811 +label L780 +jmp L777 +label L779 +label L777 +jmp L774 +label L776 +label L774 iconst 124 0 -store __and_124_777 124 +store __and_124_822 124 load 125 node field 126 125 0 string kind strref 127 m46s89 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __and_124_777 128 -brif 128 L777 L778 -label L777 +store __and_124_822 128 +brif 128 L822 L823 +label L822 load 130 node field 131 130 16 list children call 132 pith_list_len int 1 131 iconst 133 0 gt 134 132 133 -store __and_124_777 134 -label L778 -load 135 __and_124_777 -brif 135 L775 L776 -label L775 +store __and_124_822 134 +label L823 +load 135 __and_124_822 +brif 135 L820 L821 +label L820 load 136 variant_kinds call 137 pith_list_new_cstr list 0 call 138 pith_list_release_handle void 1 136 @@ -128558,8 +128859,8 @@ load 139 ir_struct_registry_ir_enum_payload_kinds load 140 node field 141 140 8 string value call 142 contains_key bool 2 139 141 -brif 142 L780 L781 -label L780 +brif 142 L825 L826 +label L825 load 143 variant_kinds load 144 ir_struct_registry_ir_enum_payload_kinds load 145 node @@ -128570,9 +128871,9 @@ call 149 pith_string_split_to_list list_string 2 147 148 call 150 pith_cstring_release void 1 148 call 151 pith_list_release_handle void 1 143 store variant_kinds 149 -jmp L779 -label L781 -label L779 +jmp L824 +label L826 +label L824 load 152 node field 153 152 16 list children call 154 pith_auto_len int 1 153 @@ -128580,12 +128881,12 @@ iconst 155 0 store __for_idx_292 155 store __for_len_292 154 store __for_iter_292 153 -label L782 +label L827 load 156 __for_idx_292 load 157 __for_len_292 lt 158 156 157 -brif 158 L783 L785 -label L783 +brif 158 L828 L830 +label L828 load 159 __for_iter_292 load 160 __for_idx_292 call 161 pith_list_get_value unknown 2 159 160 @@ -128602,8 +128903,8 @@ field 168 167 0 string kind strref 169 m46s85 call 170 pith_cstring_eq bool 2 168 169 call 171 pith_cstring_release void 1 169 -brif 170 L787 L788 -label L787 +brif 170 L832 L833 +label L832 load 172 payload_kind strref 173 m46s82 call 174 pith_cstring_release void 1 172 @@ -128612,8 +128913,8 @@ load 175 __loopvar_292_pi load 176 variant_kinds call 177 pith_list_len int 1 176 lt 178 175 177 -brif 178 L790 L791 -label L790 +brif 178 L835 L836 +label L835 load 179 payload_kind load 180 variant_kinds load 181 __loopvar_292_pi @@ -128621,47 +128922,47 @@ call 182 pith_list_get_value_strict string 2 180 181 call 183 ir_struct_registry_ir_rc_kind string 1 182 call 184 pith_cstring_release void 1 179 store payload_kind 183 -jmp L789 -label L791 -label L789 +jmp L834 +label L836 +label L834 load 185 payload_kind call 186 string_len int 1 185 iconst 187 0 gt 188 186 187 -brif 188 L793 L794 -label L793 +brif 188 L838 L839 +label L838 load 189 names load 190 sub field 191 190 8 string value iconst 192 -1 -store __list_index_result_L798 192 +store __list_index_result_L843 192 iconst 193 0 -store __list_index_i_L799 193 +store __list_index_i_L844 193 call 194 pith_list_len int 1 189 -label L800 -load 195 __list_index_i_L799 +label L845 +load 195 __list_index_i_L844 lt 196 195 194 -brif 196 L801 L804 -label L801 +brif 196 L846 L849 +label L846 call 197 pith_list_get_value string 2 189 195 call 198 pith_cstring_eq bool 2 197 191 -brif 198 L802 L803 -label L802 -store __list_index_result_L798 195 -jmp L804 -label L803 +brif 198 L847 L848 +label L847 +store __list_index_result_L843 195 +jmp L849 +label L848 iconst 199 1 add 200 195 199 -store __list_index_i_L799 200 -jmp L800 -label L804 -load 201 __list_index_result_L798 +store __list_index_i_L844 200 +jmp L845 +label L849 +load 201 __list_index_result_L843 iconst 202 0 gte 203 201 202 -brif 203 L796 L797 -label L796 +brif 203 L841 L842 +label L841 iconst 204 0 -store __and_204_808 204 +store __and_204_853 204 load 205 sub field 206 205 8 string value call 207 ir_emitter_core_ir_rc_local_kind string 1 206 @@ -128670,74 +128971,74 @@ call 210 pith_cstring_eq bool 2 207 208 iconst 211 1 sub 209 211 210 call 212 pith_cstring_release void 1 207 -store __and_204_808 209 -brif 209 L808 L809 -label L808 +store __and_204_853 209 +brif 209 L853 L854 +label L853 load 213 poisoned load 214 sub field 215 214 8 string value iconst 216 -1 -store __list_index_result_L810 216 +store __list_index_result_L855 216 iconst 217 0 -store __list_index_i_L811 217 +store __list_index_i_L856 217 call 218 pith_list_len int 1 213 -label L812 -load 219 __list_index_i_L811 +label L857 +load 219 __list_index_i_L856 lt 220 219 218 -brif 220 L813 L816 -label L813 +brif 220 L858 L861 +label L858 call 221 pith_list_get_value string 2 213 219 call 222 pith_cstring_eq bool 2 221 215 -brif 222 L814 L815 -label L814 -store __list_index_result_L810 219 -jmp L816 -label L815 +brif 222 L859 L860 +label L859 +store __list_index_result_L855 219 +jmp L861 +label L860 iconst 223 1 add 224 219 223 -store __list_index_i_L811 224 -jmp L812 -label L816 -load 225 __list_index_result_L810 +store __list_index_i_L856 224 +jmp L857 +label L861 +load 225 __list_index_result_L855 iconst 226 0 gte 227 225 226 iconst 229 1 sub 228 229 227 -store __and_204_808 228 -label L809 -load 230 __and_204_808 -brif 230 L806 L807 -label L806 +store __and_204_853 228 +label L854 +load 230 __and_204_853 +brif 230 L851 L852 +label L851 load 231 poisoned load 232 sub field 233 232 8 string value call 234 pith_list_push_value void 2 231 233 -jmp L805 -label L807 -label L805 -jmp L795 -label L797 +jmp L850 +label L852 +label L850 +jmp L840 +label L842 load 235 sub field 236 235 8 string value load 237 payload_kind call 238 ir_emitter_core_ir_rc_track_local void 2 236 237 -label L795 -jmp L792 -label L794 -label L792 -jmp L786 -label L788 -label L786 -label L784 +label L840 +jmp L837 +label L839 +label L837 +jmp L831 +label L833 +label L831 +label L829 load 239 __for_idx_292 iconst 240 1 add 241 239 240 store __for_idx_292 241 -jmp L782 -label L785 -jmp L774 -label L776 -label L774 +jmp L827 +label L830 +jmp L819 +label L821 +label L819 load 242 node field 243 242 16 list children call 244 pith_auto_len int 1 243 @@ -128745,12 +129046,12 @@ iconst 245 0 store __for_idx_293 245 store __for_len_293 244 store __for_iter_293 243 -label L817 +label L862 load 246 __for_idx_293 load 247 __for_len_293 lt 248 246 247 -brif 248 L818 L820 -label L818 +brif 248 L863 L865 +label L863 load 249 __for_iter_293 load 250 __for_idx_293 call 251 pith_list_get_value unknown 2 249 250 @@ -128759,13 +129060,13 @@ load 252 __loopvar_293_child load 253 names load 254 poisoned call 255 ir_emitter_core_ir_collect_string_bind_names void 3 252 253 254 -label L819 +label L864 load 256 __for_idx_293 iconst 257 1 add 258 256 257 store __for_idx_293 258 -jmp L817 -label L820 +jmp L862 +label L865 load 259 node call 260 pith_struct_release void 1 259 load 261 parts @@ -128806,36 +129107,36 @@ field 14 13 0 string kind strref 15 m46s1201 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -brif 16 L822 L823 -label L822 +brif 16 L867 L868 +label L867 load 18 target load 19 node field 20 19 8 string value call 21 pith_cstring_retain void 1 20 call 22 pith_cstring_release void 1 18 store target 20 -jmp L821 -label L823 +jmp L866 +label L868 iconst 23 0 -store __and_23_826 23 +store __and_23_871 23 load 24 node field 25 24 0 string kind strref 26 m46s574 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_826 27 -brif 27 L826 L827 -label L826 +store __and_23_871 27 +brif 27 L871 L872 +label L871 load 29 node field 30 29 16 list children call 31 pith_list_len int 1 30 iconst 32 0 gt 33 31 32 -store __and_23_826 33 -label L827 -load 34 __and_23_826 -brif 34 L824 L825 -label L824 +store __and_23_871 33 +label L872 +load 34 __and_23_871 +brif 34 L869 L870 +label L869 load 35 tn load 36 node field 37 36 16 list children @@ -128849,68 +129150,68 @@ field 43 42 0 string kind strref 44 m46s37 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L829 L830 -label L829 +brif 45 L874 L875 +label L874 load 47 target load 48 tn field 49 48 8 string value call 50 pith_cstring_retain void 1 49 call 51 pith_cstring_release void 1 47 store target 49 -jmp L828 -label L830 -label L828 -jmp L821 -label L825 -label L821 +jmp L873 +label L875 +label L873 +jmp L866 +label L870 +label L866 iconst 52 0 -store __and_52_834 52 +store __and_52_879 52 load 53 target call 54 string_len int 1 53 iconst 55 0 gt 56 54 55 -store __and_52_834 56 -brif 56 L834 L835 -label L834 +store __and_52_879 56 +brif 56 L879 L880 +label L879 load 57 names load 58 target iconst 59 -1 -store __list_index_result_L836 59 +store __list_index_result_L881 59 iconst 60 0 -store __list_index_i_L837 60 +store __list_index_i_L882 60 call 61 pith_list_len int 1 57 -label L838 -load 62 __list_index_i_L837 +label L883 +load 62 __list_index_i_L882 lt 63 62 61 -brif 63 L839 L842 -label L839 +brif 63 L884 L887 +label L884 call 64 pith_list_get_value string 2 57 62 call 65 pith_cstring_eq bool 2 64 58 -brif 65 L840 L841 -label L840 -store __list_index_result_L836 62 -jmp L842 -label L841 +brif 65 L885 L886 +label L885 +store __list_index_result_L881 62 +jmp L887 +label L886 iconst 66 1 add 67 62 66 -store __list_index_i_L837 67 -jmp L838 -label L842 -load 68 __list_index_result_L836 +store __list_index_i_L882 67 +jmp L883 +label L887 +load 68 __list_index_result_L881 iconst 69 0 gte 70 68 69 iconst 72 1 sub 71 72 70 -store __and_52_834 71 -label L835 -load 73 __and_52_834 -brif 73 L832 L833 -label L832 +store __and_52_879 71 +label L880 +load 73 __and_52_879 +brif 73 L877 L878 +label L877 load 74 ir_builder_ir_var_regs load 75 target call 76 contains_key bool 2 74 75 -brif 76 L844 L845 -label L844 +brif 76 L889 L890 +label L889 load 77 kind load 78 target call 79 ir_emitter_core_ir_lookup_name_type string 1 78 @@ -128922,20 +129223,20 @@ load 83 kind call 84 string_len int 1 83 iconst 85 0 gt 86 84 85 -brif 86 L847 L848 -label L847 +brif 86 L892 L893 +label L892 load 87 target load 88 kind call 89 ir_emitter_core_ir_rc_track_local void 2 87 88 -jmp L846 -label L848 -label L846 -jmp L843 -label L845 -label L843 -jmp L831 -label L833 -label L831 +jmp L891 +label L893 +label L891 +jmp L888 +label L890 +label L888 +jmp L876 +label L878 +label L876 load 90 node field 91 90 16 list children call 92 pith_auto_len int 1 91 @@ -128943,12 +129244,12 @@ iconst 93 0 store __for_idx_294 93 store __for_len_294 92 store __for_iter_294 91 -label L849 +label L894 load 94 __for_idx_294 load 95 __for_len_294 lt 96 94 95 -brif 96 L850 L852 -label L850 +brif 96 L895 L897 +label L895 load 97 __for_iter_294 load 98 __for_idx_294 call 99 pith_list_get_value unknown 2 97 98 @@ -128956,13 +129257,13 @@ store __loopvar_294_child 99 load 100 __loopvar_294_child load 101 names call 102 ir_emitter_core_ir_collect_reassigned_string_params void 2 100 101 -label L851 +label L896 load 103 __for_idx_294 iconst 104 1 add 105 103 104 store __for_idx_294 105 -jmp L849 -label L852 +jmp L894 +label L897 load 106 node call 107 pith_struct_release void 1 106 load 108 target @@ -128991,8 +129292,8 @@ store poisoned 6 load 8 body_idx iconst 9 0 gte 10 8 9 -brif 10 L854 L855 -label L854 +brif 10 L899 L900 +label L899 load 11 body_idx load 12 ir_emitter_core_ir_string_locals call 13 ir_emitter_core_ir_collect_reassigned_string_params void 2 11 12 @@ -129000,15 +129301,15 @@ load 14 body_idx load 15 ir_emitter_core_ir_string_locals load 16 poisoned call 17 ir_emitter_core_ir_collect_string_bind_names void 3 14 15 16 -jmp L853 -label L855 -label L853 +jmp L898 +label L900 +label L898 load 18 poisoned call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L857 L858 -label L857 +brif 21 L902 L903 +label L902 load 22 kept call 23 pith_list_new_cstr list 0 call 24 pith_list_release_handle void 1 22 @@ -129019,46 +129320,46 @@ call 27 pith_list_release_handle void 1 25 store kept_kinds 26 iconst 28 0 store pi 28 -label L859 +label L904 load 29 pi load 30 ir_emitter_core_ir_string_locals call 31 pith_list_len int 1 30 lt 32 29 31 -brif 32 L860 L861 -label L860 +brif 32 L905 L906 +label L905 load 33 poisoned load 34 ir_emitter_core_ir_string_locals load 35 pi call 36 pith_list_get_value_strict string 2 34 35 iconst 37 -1 -store __list_index_result_L865 37 +store __list_index_result_L910 37 iconst 38 0 -store __list_index_i_L866 38 +store __list_index_i_L911 38 call 39 pith_list_len int 1 33 -label L867 -load 40 __list_index_i_L866 +label L912 +load 40 __list_index_i_L911 lt 41 40 39 -brif 41 L868 L871 -label L868 +brif 41 L913 L916 +label L913 call 42 pith_list_get_value string 2 33 40 call 43 pith_cstring_eq bool 2 42 36 -brif 43 L869 L870 -label L869 -store __list_index_result_L865 40 -jmp L871 -label L870 +brif 43 L914 L915 +label L914 +store __list_index_result_L910 40 +jmp L916 +label L915 iconst 44 1 add 45 40 44 -store __list_index_i_L866 45 -jmp L867 -label L871 -load 46 __list_index_result_L865 +store __list_index_i_L911 45 +jmp L912 +label L916 +load 46 __list_index_result_L910 iconst 47 0 gte 48 46 47 iconst 50 1 sub 49 50 48 -brif 49 L863 L864 -label L863 +brif 49 L908 L909 +label L908 load 51 kept load 52 ir_emitter_core_ir_string_locals load 53 pi @@ -129068,28 +129369,28 @@ load 56 pi load 57 ir_emitter_core_ir_rc_local_kinds call 58 pith_list_len int 1 57 lt 59 56 58 -brif 59 L873 L874 -label L873 +brif 59 L918 L919 +label L918 load 60 kept_kinds load 61 ir_emitter_core_ir_rc_local_kinds load 62 pi call 63 pith_list_get_value_strict string 2 61 62 call 64 pith_list_push_value void 2 60 63 -jmp L872 -label L874 +jmp L917 +label L919 load 65 kept_kinds strref 66 m46s675 call 67 pith_list_push_value_owned void 2 65 66 -label L872 -jmp L862 -label L864 -label L862 +label L917 +jmp L907 +label L909 +label L907 load 68 pi iconst 69 1 add 70 68 69 store pi 70 -jmp L859 -label L861 +jmp L904 +label L906 load 71 kept call 72 pith_list_retain_handle void 1 71 store ir_emitter_core_ir_string_locals 71 @@ -129099,20 +129400,20 @@ store ir_emitter_core_ir_rc_local_kinds 73 load 75 poisoned call 76 pith_list_retain_handle void 1 75 store ir_builder_ir_untracked_rc_binds 75 -jmp L856 -label L858 -label L856 +jmp L901 +label L903 +label L901 load 77 body_idx call 78 ir_emitter_core_ir_tuple_cascade_scan void 1 77 iconst 79 0 store i 79 -label L875 +label L920 load 80 i load 81 ir_emitter_core_ir_string_locals call 82 pith_list_len int 1 81 lt 83 80 82 -brif 83 L876 L877 -label L876 +brif 83 L921 L922 +label L921 load 84 name load 85 ir_emitter_core_ir_string_locals load 86 i @@ -129123,8 +129424,8 @@ store name 87 load 90 ir_builder_ir_var_regs load 91 name call 92 contains_key bool 2 90 91 -brif 92 L879 L880 -label L879 +brif 92 L924 L925 +label L924 call 93 ir_builder_ir_reg int 0 store r 93 load 94 r @@ -129135,8 +129436,8 @@ load 98 name call 99 ir_emitter_core_ir_rc_local_kind string 1 98 call 100 ir_ownership_ir_rc_retain_reg void 2 97 99 call 101 pith_cstring_release void 1 99 -jmp L878 -label L880 +jmp L923 +label L925 call 102 ir_builder_ir_reg int 0 store z 102 strref 103 m46s832 @@ -129154,13 +129455,13 @@ call 114 pith_cstring_release void 1 110 load 115 name load 116 z call 117 ir_emitter_core_ir_emit_name_store void 2 115 116 -label L878 +label L923 load 118 i iconst 119 1 add 120 118 119 store i 120 -jmp L875 -label L877 +jmp L920 +label L922 load 121 poisoned call 122 pith_list_release_handle void 1 121 load 123 kept @@ -129210,7 +129511,7 @@ call 7 ast_get_node struct:Node 1 6 call 8 pith_struct_release void 1 5 store index_node 7 iconst 9 0 -store __or_9_884 9 +store __or_9_929 9 load 10 index_node field 11 10 0 string kind strref 12 m46s35 @@ -129218,27 +129519,27 @@ call 14 pith_cstring_eq bool 2 11 12 iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 12 -store __or_9_884 13 -brif 13 L885 L884 -label L884 +store __or_9_929 13 +brif 13 L930 L929 +label L929 load 17 index_node field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 2 lt 21 19 20 -store __or_9_884 21 -label L885 -load 22 __or_9_884 -brif 22 L882 L883 -label L882 +store __or_9_929 21 +label L930 +load 22 __or_9_929 +brif 22 L927 L928 +label L927 iconst 23 0 load 24 index_node call 25 pith_struct_release void 1 24 load 26 base_node call 27 pith_struct_release void 1 26 ret 23 -label L883 -label L881 +label L928 +label L926 load 28 base_node load 29 index_node field 30 29 16 list children @@ -129248,7 +129549,7 @@ call 33 ast_get_node struct:Node 1 32 call 34 pith_struct_release void 1 28 store base_node 33 iconst 35 0 -store __or_35_889 35 +store __or_35_934 35 load 36 base_node field 37 36 0 string kind strref 38 m46s37 @@ -129256,43 +129557,43 @@ call 40 pith_cstring_eq bool 2 37 38 iconst 41 1 sub 39 41 40 call 42 pith_cstring_release void 1 38 -store __or_35_889 39 -brif 39 L890 L889 -label L889 +store __or_35_934 39 +brif 39 L935 L934 +label L934 load 43 base_node field 44 43 8 string value load 45 member_name call 47 pith_cstring_eq bool 2 44 45 iconst 48 1 sub 46 48 47 -store __or_35_889 46 -label L890 -load 49 __or_35_889 -brif 49 L887 L888 -label L887 +store __or_35_934 46 +label L935 +load 49 __or_35_934 +brif 49 L932 L933 +label L932 iconst 50 0 load 51 index_node call 52 pith_struct_release void 1 51 load 53 base_node call 54 pith_struct_release void 1 53 ret 50 -label L888 -label L886 +label L933 +label L931 load 55 ir_generics_ir_generic_decl_indices load 56 member_name call 57 contains_key bool 2 55 56 iconst 59 1 sub 58 59 57 -brif 58 L892 L893 -label L892 +brif 58 L937 L938 +label L937 iconst 60 0 load 61 index_node call 62 pith_struct_release void 1 61 load 63 base_node call 64 pith_struct_release void 1 63 ret 60 -label L893 -label L891 +label L938 +label L936 load 65 ir_generics_ir_generic_decl_indices load 66 member_name call 67 map_get_strict int 2 65 66 @@ -129325,41 +129626,41 @@ call 6 ir_method_tables_ir_declared_callable_ir_retkind string 1 5 call 7 pith_cstring_release void 1 3 store raw_kind 6 iconst 8 0 -store __or_8_897 8 +store __or_8_942 8 iconst 9 0 -store __or_9_897 9 +store __or_9_942 9 load 10 raw_kind strref 11 m46s23 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_897 12 -brif 12 L898 L897 -label L897 +store __or_9_942 12 +brif 12 L943 L942 +label L942 load 14 raw_kind strref 15 m46s806 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_897 16 -label L898 -load 18 __or_9_897 -store __or_8_897 18 -brif 18 L900 L899 -label L899 +store __or_9_942 16 +label L943 +load 18 __or_9_942 +store __or_8_942 18 +brif 18 L945 L944 +label L944 load 19 raw_kind strref 20 m46s805 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_897 21 -label L900 -load 23 __or_8_897 -brif 23 L895 L896 -label L895 +store __or_8_942 21 +label L945 +load 23 __or_8_942 +brif 23 L940 L941 +label L940 iconst 24 1 load 25 raw_kind call 26 pith_cstring_release void 1 25 ret 24 -label L896 -label L894 +label L941 +label L939 load 27 callee field 28 27 0 string name call 29 ir_metadata_ir_builtin_result_retkind string 1 28 @@ -129409,12 +129710,12 @@ iconst 11 0 store __for_idx_295 11 store __for_len_295 10 store __for_iter_295 9 -label L901 +label L946 load 12 __for_idx_295 load 13 __for_len_295 lt 14 12 13 -brif 14 L902 L904 -label L902 +brif 14 L947 L949 +label L947 load 15 __for_iter_295 load 16 __for_idx_295 call 17 pith_list_get_value unknown 2 15 16 @@ -129424,11 +129725,11 @@ store __loopvar_295_i 18 load 19 __loopvar_295_i load 20 start_idx lt 21 19 20 -brif 21 L906 L907 -label L906 -jmp L903 -label L907 -label L905 +brif 21 L951 L952 +label L951 +jmp L948 +label L952 +label L950 load 22 child_kind load 23 __loopvar_295_child call 24 ast_node_kind string 1 23 @@ -129438,8 +129739,8 @@ load 26 child_kind strref 27 m46s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L909 L910 -label L909 +brif 28 L954 L955 +label L954 load 30 cn load 31 __loopvar_295_child call 32 ast_get_node struct:Node 1 31 @@ -129450,8 +129751,8 @@ field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -brif 38 L912 L913 -label L912 +brif 38 L957 L958 +label L957 load 39 arg_regs load 40 cn field 41 40 16 list children @@ -129459,23 +129760,23 @@ iconst 42 0 call 43 pith_list_get_value_strict int 2 41 42 call 44 ir_emitter_core_ir_expr int 1 43 call 45 pith_list_push_value void 2 39 44 -jmp L911 -label L913 -label L911 -jmp L908 -label L910 +jmp L956 +label L958 +label L956 +jmp L953 +label L955 load 46 arg_regs load 47 __loopvar_295_child call 48 ir_emitter_core_ir_expr int 1 47 call 49 pith_list_push_value void 2 46 48 -label L908 -label L903 +label L953 +label L948 load 50 __for_idx_295 iconst 51 1 add 52 50 51 store __for_idx_295 52 -jmp L901 -label L904 +jmp L946 +label L949 load 53 arg_regs load 54 child_kind call 55 pith_cstring_release void 1 54 @@ -129501,12 +129802,12 @@ iconst 5 0 store __for_idx_296 5 store __for_len_296 4 store __for_iter_296 3 -label L914 +label L959 load 6 __for_idx_296 load 7 __for_len_296 lt 8 6 7 -brif 8 L915 L917 -label L915 +brif 8 L960 L962 +label L960 load 9 __for_iter_296 load 10 __for_idx_296 call 11 pith_list_get_value unknown 2 9 10 @@ -129516,11 +129817,11 @@ store __loopvar_296_i 12 load 13 __loopvar_296_i load 14 skip_pos eq 15 13 14 -brif 15 L919 L920 -label L919 -jmp L916 -label L920 -label L918 +brif 15 L964 L965 +label L964 +jmp L961 +label L965 +label L963 load 16 node load 17 __loopvar_296_i call 18 ir_emitter_core_ir_method_call_arg_expr int 2 16 17 @@ -129528,24 +129829,24 @@ store expr_idx 18 load 19 expr_idx iconst 20 0 gte 21 19 20 -brif 21 L922 L923 -label L922 +brif 21 L967 L968 +label L967 load 22 expr_idx load 23 __loopvar_296_reg load 24 expr_idx call 25 ir_emitter_core_ir_infer_type string 1 24 call 26 ir_emitter_core_ir_release_owned_string_operand void 3 22 23 25 call 27 pith_cstring_release void 1 25 -jmp L921 -label L923 -label L921 -label L916 +jmp L966 +label L968 +label L966 +label L961 load 28 __for_idx_296 iconst 29 1 add 30 28 29 store __for_idx_296 30 -jmp L914 -label L917 +jmp L959 +label L962 iconst 31 0 ret 31 endfunc @@ -129564,12 +129865,12 @@ iconst 8 0 store __for_idx_297 8 store __for_len_297 7 store __for_iter_297 6 -label L924 +label L969 load 9 __for_idx_297 load 10 __for_len_297 lt 11 9 10 -brif 11 L925 L927 -label L925 +brif 11 L970 L972 +label L970 load 12 __for_iter_297 load 13 __for_idx_297 call 14 pith_list_get_value unknown 2 12 13 @@ -129579,23 +129880,23 @@ store __loopvar_297_i 15 load 16 __loopvar_297_i load 17 start_idx lt 18 16 17 -brif 18 L929 L930 -label L929 -jmp L926 -label L930 -label L928 +brif 18 L974 L975 +label L974 +jmp L971 +label L975 +label L973 load 19 reg_i load 20 arg_regs call 21 pith_list_len int 1 20 gte 22 19 21 -brif 22 L932 L933 -label L932 +brif 22 L977 L978 +label L977 load 23 cn call 24 pith_struct_release void 1 23 iconst 25 0 ret 25 -label L933 -label L931 +label L978 +label L976 load 26 __loopvar_297_child store expr_idx 26 load 27 cn @@ -129608,26 +129909,26 @@ field 32 31 0 string kind strref 33 m46s42 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L935 L936 -label L935 +brif 34 L980 L981 +label L980 load 36 cn field 37 36 16 list children call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L938 L939 -label L938 -jmp L926 -label L939 -label L937 +brif 40 L983 L984 +label L983 +jmp L971 +label L984 +label L982 load 41 cn field 42 41 16 list children iconst 43 0 call 44 pith_list_get_value_strict int 2 42 43 store expr_idx 44 -jmp L934 -label L936 -label L934 +jmp L979 +label L981 +label L979 load 45 expr_idx load 46 arg_regs load 47 reg_i @@ -129640,13 +129941,13 @@ load 53 reg_i iconst 54 1 add 55 53 54 store reg_i 55 -label L926 +label L971 load 56 __for_idx_297 iconst 57 1 add 58 56 57 store __for_idx_297 58 -jmp L924 -label L927 +jmp L969 +label L972 load 59 cn call 60 pith_struct_release void 1 59 iconst 61 0 @@ -129659,24 +129960,24 @@ param field_types load 3 ir_struct_registry_ir_struct_names load 4 name call 5 contains_key bool 2 3 4 -brif 5 L941 L942 -label L941 +brif 5 L986 L987 +label L986 iconst 6 0 ret 6 -label L942 -label L940 +label L987 +label L985 load 7 field_names call 8 pith_auto_len int 1 7 iconst 9 0 store __for_idx_298 9 store __for_len_298 8 store __for_iter_298 7 -label L943 +label L988 load 10 __for_idx_298 load 11 __for_len_298 lt 12 10 11 -brif 12 L944 L946 -label L944 +brif 12 L989 L991 +label L989 load 13 __for_iter_298 load 14 __for_idx_298 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -129708,13 +130009,13 @@ load 38 __loopvar_298_i call 39 int_to_string string 1 38 call 40 pith_map_insert_cstr_owned void 3 30 36 39 call 41 pith_cstring_release void 1 36 -label L945 +label L990 load 42 __for_idx_298 iconst 43 1 add 44 42 43 store __for_idx_298 44 -jmp L943 -label L946 +jmp L988 +label L991 load 45 ir_struct_registry_ir_struct_names load 46 name load 47 field_names @@ -129723,40 +130024,40 @@ call 49 map_insert void 3 45 46 48 load 50 ir_emitter_core_ir_local_struct_names load 51 name iconst 52 -1 -store __list_index_result_L950 52 +store __list_index_result_L995 52 iconst 53 0 -store __list_index_i_L951 53 +store __list_index_i_L996 53 call 54 pith_list_len int 1 50 -label L952 -load 55 __list_index_i_L951 +label L997 +load 55 __list_index_i_L996 lt 56 55 54 -brif 56 L953 L956 -label L953 +brif 56 L998 L1001 +label L998 call 57 pith_list_get_value string 2 50 55 call 58 pith_cstring_eq bool 2 57 51 -brif 58 L954 L955 -label L954 -store __list_index_result_L950 55 -jmp L956 -label L955 +brif 58 L999 L1000 +label L999 +store __list_index_result_L995 55 +jmp L1001 +label L1000 iconst 59 1 add 60 55 59 -store __list_index_i_L951 60 -jmp L952 -label L956 -load 61 __list_index_result_L950 +store __list_index_i_L996 60 +jmp L997 +label L1001 +load 61 __list_index_result_L995 iconst 62 0 gte 63 61 62 iconst 65 1 sub 64 65 63 -brif 64 L948 L949 -label L948 +brif 64 L993 L994 +label L993 load 66 ir_emitter_core_ir_local_struct_names load 67 name call 68 pith_list_push_value void 2 66 67 -jmp L947 -label L949 -label L947 +jmp L992 +label L994 +label L992 strref 69 m46s1289 load 70 name concat 71 69 70 @@ -129781,45 +130082,45 @@ func ir_emitter_core_ir_substitute_type_name 1 string param name iconst 1 0 store i 1 -label L957 +label L1002 load 2 i load 3 ir_emitter_core_ir_current_impl_subst_params call 4 pith_list_len int 1 3 lt 5 2 4 -brif 5 L958 L959 -label L958 +brif 5 L1003 L1004 +label L1003 iconst 6 0 -store __and_6_963 6 +store __and_6_1008 6 load 7 ir_emitter_core_ir_current_impl_subst_params load 8 i call 9 pith_list_get_value_strict string 2 7 8 load 10 name call 11 pith_cstring_eq bool 2 9 10 -store __and_6_963 11 -brif 11 L963 L964 -label L963 +store __and_6_1008 11 +brif 11 L1008 L1009 +label L1008 load 12 i load 13 ir_emitter_core_ir_current_impl_subst_args call 14 pith_list_len int 1 13 lt 15 12 14 -store __and_6_963 15 -label L964 -load 16 __and_6_963 -brif 16 L961 L962 -label L961 +store __and_6_1008 15 +label L1009 +load 16 __and_6_1008 +brif 16 L1006 L1007 +label L1006 load 17 ir_emitter_core_ir_current_impl_subst_args load 18 i call 19 pith_list_get_value_strict string 2 17 18 call 20 pith_cstring_retain void 1 19 ret 19 -label L962 -label L960 +label L1007 +label L1005 load 21 i iconst 22 1 add 23 21 22 store i 23 -jmp L957 -label L959 +jmp L1002 +label L1004 load 24 name call 25 pith_cstring_retain void 1 24 ret 24 @@ -129845,12 +130146,12 @@ iconst 10 0 store __for_idx_299 10 store __for_len_299 9 store __for_iter_299 8 -label L965 +label L1010 load 11 __for_idx_299 load 12 __for_len_299 lt 13 11 12 -brif 13 L966 L968 -label L966 +brif 13 L1011 L1013 +label L1011 load 14 __for_iter_299 load 15 __for_idx_299 call 16 pith_list_get_value unknown 2 14 15 @@ -129865,23 +130166,23 @@ field 22 21 0 string kind strref 23 m46s328 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L970 L971 -label L970 +brif 24 L1015 L1016 +label L1015 load 26 impl_type load 27 child_node field 28 27 8 string value call 29 pith_cstring_retain void 1 28 call 30 pith_cstring_release void 1 26 store impl_type 28 -jmp L969 -label L971 +jmp L1014 +label L1016 load 31 child_node field 32 31 0 string kind strref 33 m46s586 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L972 L973 -label L972 +brif 34 L1017 L1018 +label L1017 load 36 child_node field 37 36 16 list children call 38 pith_auto_len int 1 37 @@ -129889,12 +130190,12 @@ iconst 39 0 store __for_idx_300 39 store __for_len_300 38 store __for_iter_300 37 -label L974 +label L1019 load 40 __for_idx_300 load 41 __for_len_300 lt 42 40 41 -brif 42 L975 L977 -label L975 +brif 42 L1020 L1022 +label L1020 load 43 __for_iter_300 load 44 __for_idx_300 call 45 pith_list_get_value unknown 2 43 44 @@ -129909,61 +130210,61 @@ field 51 50 0 string kind strref 52 m46s328 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -brif 53 L979 L980 -label L979 +brif 53 L1024 L1025 +label L1024 load 55 impl_type load 56 type_child field 57 56 8 string value call 58 pith_cstring_retain void 1 57 call 59 pith_cstring_release void 1 55 store impl_type 57 -jmp L978 -label L980 -label L978 -label L976 +jmp L1023 +label L1025 +label L1023 +label L1021 load 60 __for_idx_300 iconst 61 1 add 62 60 61 store __for_idx_300 62 -jmp L974 -label L977 -jmp L969 -label L973 +jmp L1019 +label L1022 +jmp L1014 +label L1018 iconst 63 0 -store __and_63_983 63 +store __and_63_1028 63 load 64 child_node field 65 64 0 string kind strref 66 m46s327 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __and_63_983 67 -brif 67 L983 L984 -label L983 +store __and_63_1028 67 +brif 67 L1028 L1029 +label L1028 load 69 impl_type strref 70 m46s82 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 -store __and_63_983 71 -label L984 -load 73 __and_63_983 -brif 73 L981 L982 -label L981 +store __and_63_1028 71 +label L1029 +load 73 __and_63_1028 +brif 73 L1026 L1027 +label L1026 load 74 impl_type load 75 child_node field 76 75 8 string value call 77 pith_cstring_retain void 1 76 call 78 pith_cstring_release void 1 74 store impl_type 76 -jmp L969 -label L982 -label L969 -label L967 +jmp L1014 +label L1027 +label L1014 +label L1012 load 79 __for_idx_299 iconst 80 1 add 81 79 80 store __for_idx_299 81 -jmp L965 -label L968 +jmp L1010 +label L1013 load 82 impl_type load 83 child_node call 84 pith_struct_release void 1 83 @@ -129998,12 +130299,12 @@ iconst 10 0 store __for_idx_301 10 store __for_len_301 9 store __for_iter_301 8 -label L985 +label L1030 load 11 __for_idx_301 load 12 __for_len_301 lt 13 11 12 -brif 13 L986 L988 -label L986 +brif 13 L1031 L1033 +label L1031 load 14 __for_iter_301 load 15 __for_idx_301 call 16 pith_list_get_value unknown 2 14 15 @@ -130014,91 +130315,91 @@ call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 17 store cn 19 iconst 21 0 -store __and_21_992 21 +store __and_21_1037 21 load 22 cn field 23 22 0 string kind strref 24 m46s328 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_992 25 -brif 25 L992 L993 -label L992 +store __and_21_1037 25 +brif 25 L1037 L1038 +label L1037 load 27 first_type strref 28 m46s82 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __and_21_992 29 -label L993 -load 31 __and_21_992 -brif 31 L990 L991 -label L990 +store __and_21_1037 29 +label L1038 +load 31 __and_21_1037 +brif 31 L1035 L1036 +label L1035 load 32 first_type load 33 cn field 34 33 8 string value call 35 pith_cstring_retain void 1 34 call 36 pith_cstring_release void 1 32 store first_type 34 -jmp L989 -label L991 +jmp L1034 +label L1036 iconst 37 0 -store __and_37_996 37 +store __and_37_1041 37 load 38 cn field 39 38 0 string kind strref 40 m46s327 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __and_37_996 41 -brif 41 L996 L997 -label L996 +store __and_37_1041 41 +brif 41 L1041 L1042 +label L1041 load 43 first_type strref 44 m46s82 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_37_996 45 -label L997 -load 47 __and_37_996 -brif 47 L994 L995 -label L994 +store __and_37_1041 45 +label L1042 +load 47 __and_37_1041 +brif 47 L1039 L1040 +label L1039 load 48 first_type load 49 cn field 50 49 8 string value call 51 pith_cstring_retain void 1 50 call 52 pith_cstring_release void 1 48 store first_type 50 -jmp L989 -label L995 +jmp L1034 +label L1040 load 53 cn field 54 53 0 string kind strref 55 m46s586 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L998 L999 -label L998 +brif 56 L1043 L1044 +label L1043 iconst 58 1 store has_for 58 -jmp L989 -label L999 -label L989 -label L987 +jmp L1034 +label L1044 +label L1034 +label L1032 load 59 __for_idx_301 iconst 60 1 add 61 59 60 store __for_idx_301 61 -jmp L985 -label L988 +jmp L1030 +label L1033 load 62 has_for iconst 63 0 eq 64 62 63 -brif 64 L1001 L1002 -label L1001 +brif 64 L1046 L1047 +label L1046 strref 65 m46s82 load 66 first_type call 67 pith_cstring_release void 1 66 load 68 cn call 69 pith_struct_release void 1 68 ret 65 -label L1002 -label L1000 +label L1047 +label L1045 load 70 first_type call 71 ir_method_tables_ir_strip_type_args string 1 70 load 72 first_type @@ -130125,12 +130426,12 @@ iconst 6 0 store __for_idx_302 6 store __for_len_302 5 store __for_iter_302 4 -label L1003 +label L1048 load 7 __for_idx_302 load 8 __for_len_302 lt 9 7 8 -brif 9 L1004 L1006 -label L1004 +brif 9 L1049 L1051 +label L1049 load 10 __for_iter_302 load 11 __for_idx_302 call 12 pith_list_get_value unknown 2 10 11 @@ -130142,35 +130443,35 @@ call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 13 store mn 16 iconst 18 0 -store __and_18_1010 18 +store __and_18_1055 18 load 19 mn field 20 19 0 string kind call 21 ir_generics_ir_is_fn_decl_kind bool 1 20 -store __and_18_1010 21 -brif 21 L1010 L1011 -label L1010 +store __and_18_1055 21 +brif 21 L1055 L1056 +label L1055 load 22 mn field 23 22 8 string value load 24 method_name call 25 pith_cstring_eq bool 2 23 24 -store __and_18_1010 25 -label L1011 -load 26 __and_18_1010 -brif 26 L1008 L1009 -label L1008 +store __and_18_1055 25 +label L1056 +load 26 __and_18_1055 +brif 26 L1053 L1054 +label L1053 iconst 27 1 load 28 mn call 29 pith_struct_release void 1 28 ret 27 -label L1009 -label L1007 -label L1005 +label L1054 +label L1052 +label L1050 load 30 __for_idx_302 iconst 31 1 add 32 30 31 store __for_idx_302 32 -jmp L1003 -label L1006 +jmp L1048 +label L1051 iconst 33 0 load 34 mn call 35 pith_struct_release void 1 34 @@ -130203,8 +130504,8 @@ load 12 iface_base call 13 string_len int 1 12 iconst 14 0 eq 15 13 14 -brif 15 L1013 L1014 -label L1013 +brif 15 L1058 L1059 +label L1058 load 16 result load 17 iface_base call 18 pith_cstring_release void 1 17 @@ -130213,15 +130514,15 @@ call 20 pith_struct_release void 1 19 load 21 mn call 22 pith_struct_release void 1 21 ret 16 -label L1014 -label L1012 +label L1059 +label L1057 load 23 ir_method_tables_ir_interface_decl_index load 24 iface_base call 25 contains_key bool 2 23 24 iconst 26 0 eq 27 25 26 -brif 27 L1016 L1017 -label L1016 +brif 27 L1061 L1062 +label L1061 load 28 result load 29 iface_base call 30 pith_cstring_release void 1 29 @@ -130230,8 +130531,8 @@ call 32 pith_struct_release void 1 31 load 33 mn call 34 pith_struct_release void 1 33 ret 28 -label L1017 -label L1015 +label L1062 +label L1060 load 35 iface_node load 36 ir_method_tables_ir_interface_decl_index load 37 iface_base @@ -130246,12 +130547,12 @@ iconst 44 0 store __for_idx_303 44 store __for_len_303 43 store __for_iter_303 42 -label L1018 +label L1063 load 45 __for_idx_303 load 46 __for_len_303 lt 47 45 46 -brif 47 L1019 L1021 -label L1019 +brif 47 L1064 L1066 +label L1064 load 48 __for_iter_303 load 49 __for_idx_303 call 50 pith_list_get_value unknown 2 48 49 @@ -130264,32 +130565,32 @@ store mn 53 load 55 mn field 56 55 0 string kind call 57 ir_generics_ir_is_fn_decl_kind bool 1 56 -brif 57 L1023 L1024 -label L1023 +brif 57 L1068 L1069 +label L1068 load 58 node load 59 mn field 60 59 8 string value call 61 ir_emitter_core_ir_impl_defines_method bool 2 58 60 iconst 62 0 eq 63 61 62 -brif 63 L1026 L1027 -label L1026 +brif 63 L1071 L1072 +label L1071 load 64 result load 65 __loopvar_303_member call 66 pith_list_push_value void 2 64 65 -jmp L1025 -label L1027 -label L1025 -jmp L1022 -label L1024 -label L1022 -label L1020 +jmp L1070 +label L1072 +label L1070 +jmp L1067 +label L1069 +label L1067 +label L1065 load 67 __for_idx_303 iconst 68 1 add 69 67 68 store __for_idx_303 69 -jmp L1018 -label L1021 +jmp L1063 +label L1066 load 70 result load 71 iface_base call 72 pith_cstring_release void 1 71 @@ -130326,12 +130627,12 @@ iconst 8 0 store __for_idx_304 8 store __for_len_304 7 store __for_iter_304 6 -label L1028 +label L1073 load 9 __for_idx_304 load 10 __for_len_304 lt 11 9 10 -brif 11 L1029 L1031 -label L1029 +brif 11 L1074 L1076 +label L1074 load 12 __for_iter_304 load 13 __for_idx_304 call 14 pith_list_get_value unknown 2 12 13 @@ -130348,24 +130649,24 @@ field 21 20 0 string kind strref 22 m46s577 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L1033 L1034 -label L1033 +brif 23 L1078 L1079 +label L1078 load 25 node field 26 25 16 list children iconst 27 0 call 28 pith_list_get_value_strict int 2 26 27 call 29 ast_get_node struct:Node 1 28 store actual 29 -jmp L1032 -label L1034 -label L1032 +jmp L1077 +label L1079 +label L1077 load 30 actual field 31 30 0 string kind strref 32 m46s588 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L1036 L1037 -label L1036 +brif 33 L1081 L1082 +label L1081 load 35 impl_type load 36 actual call 37 ir_emitter_core_ir_impl_target_type string 1 36 @@ -130375,8 +130676,8 @@ load 39 impl_type call 40 string_len int 1 39 iconst 41 0 gt 42 40 41 -brif 42 L1039 L1040 -label L1039 +brif 42 L1084 L1085 +label L1084 load 43 names call 44 pith_list_new_cstr list 0 call 45 pith_list_release_handle void 1 43 @@ -130388,12 +130689,12 @@ iconst 49 0 store __for_idx_305 49 store __for_len_305 48 store __for_iter_305 47 -label L1041 +label L1086 load 50 __for_idx_305 load 51 __for_len_305 lt 52 50 51 -brif 52 L1042 L1044 -label L1042 +brif 52 L1087 L1089 +label L1087 load 53 __for_iter_305 load 54 __for_idx_305 call 55 pith_list_get_value unknown 2 53 54 @@ -130408,8 +130709,8 @@ field 61 60 0 string kind strref 62 m46s585 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L1046 L1047 -label L1046 +brif 63 L1091 L1092 +label L1091 load 65 ir_method_tables_ir_assoc_bindings load 66 impl_type strref 67 m46s26 @@ -130430,22 +130731,22 @@ load 81 names load 82 cn field 83 82 8 string value call 84 pith_list_push_value void 2 81 83 -jmp L1045 -label L1047 -label L1045 -label L1043 +jmp L1090 +label L1092 +label L1090 +label L1088 load 85 __for_idx_305 iconst 86 1 add 87 85 86 store __for_idx_305 87 -jmp L1041 -label L1044 +jmp L1086 +label L1089 load 88 names call 89 pith_list_len int 1 88 iconst 90 0 gt 91 89 90 -brif 91 L1049 L1050 -label L1049 +brif 91 L1094 L1095 +label L1094 load 92 ir_method_tables_ir_type_assoc_names load 93 impl_type load 94 names @@ -130453,22 +130754,22 @@ strref 95 m46s307 call 96 list_join string 2 94 95 call 97 pith_cstring_release void 1 95 call 98 pith_map_insert_cstr_owned void 3 92 93 96 -jmp L1048 -label L1050 -label L1048 -jmp L1038 -label L1040 -label L1038 -jmp L1035 -label L1037 -label L1035 -label L1030 +jmp L1093 +label L1095 +label L1093 +jmp L1083 +label L1085 +label L1083 +jmp L1080 +label L1082 +label L1080 +label L1075 load 99 __for_idx_304 iconst 100 1 add 101 99 100 store __for_idx_304 101 -jmp L1028 -label L1031 +jmp L1073 +label L1076 load 102 __for_iter_304 call 103 pith_list_release_handle void 1 102 load 104 node @@ -130495,12 +130796,12 @@ iconst 6 0 store __for_idx_306 6 store __for_len_306 5 store __for_iter_306 4 -label L1051 +label L1096 load 7 __for_idx_306 load 8 __for_len_306 lt 9 7 8 -brif 9 L1052 L1054 -label L1052 +brif 9 L1097 L1099 +label L1097 load 10 __for_iter_306 load 11 __for_idx_306 call 12 pith_list_get_value unknown 2 10 11 @@ -130517,16 +130818,16 @@ field 19 18 0 string kind strref 20 m46s577 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L1056 L1057 -label L1056 +brif 21 L1101 L1102 +label L1101 load 23 node field 24 23 16 list children iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 store actual_idx 26 -jmp L1055 -label L1057 -label L1055 +jmp L1100 +label L1102 +label L1100 load 27 actual load 28 actual_idx call 29 ast_get_node struct:Node 1 28 @@ -130537,23 +130838,23 @@ field 32 31 0 string kind strref 33 m46s604 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1059 L1060 -label L1059 +brif 34 L1104 L1105 +label L1104 load 36 ir_method_tables_ir_interface_decl_index load 37 actual field 38 37 8 string value load 39 actual_idx call 40 map_insert void 3 36 38 39 -jmp L1058 -label L1060 -label L1058 -label L1053 +jmp L1103 +label L1105 +label L1103 +label L1098 load 41 __for_idx_306 iconst 42 1 add 43 41 42 store __for_idx_306 43 -jmp L1051 -label L1054 +jmp L1096 +label L1099 load 44 __for_iter_306 call 45 pith_list_release_handle void 1 44 load 46 node @@ -130578,12 +130879,12 @@ iconst 9 0 store __for_idx_307 9 store __for_len_307 8 store __for_iter_307 7 -label L1061 +label L1106 load 10 __for_idx_307 load 11 __for_len_307 lt 12 10 11 -brif 12 L1062 L1064 -label L1062 +brif 12 L1107 L1109 +label L1107 load 13 __for_iter_307 load 14 __for_idx_307 call 15 pith_list_get_value unknown 2 13 14 @@ -130601,21 +130902,21 @@ field 23 22 0 string kind strref 24 m46s576 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L1066 L1067 -label L1066 +brif 25 L1111 L1112 +label L1111 load 27 method_idx load 28 impl_type call 29 ir_emitter_core_ir_impl_func void 2 27 28 -jmp L1065 -label L1067 -label L1065 -label L1063 +jmp L1110 +label L1112 +label L1110 +label L1108 load 30 __for_idx_307 iconst 31 1 add 32 30 31 store __for_idx_307 32 -jmp L1061 -label L1064 +jmp L1106 +label L1109 load 33 node call 34 ir_emitter_core_ir_inherited_default_indices list 1 33 call 35 pith_auto_len int 1 34 @@ -130623,12 +130924,12 @@ iconst 36 0 store __for_idx_308 36 store __for_len_308 35 store __for_iter_308 34 -label L1068 +label L1113 load 37 __for_idx_308 load 38 __for_len_308 lt 39 37 38 -brif 39 L1069 L1071 -label L1069 +brif 39 L1114 L1116 +label L1114 load 40 __for_iter_308 load 41 __for_idx_308 call 42 pith_list_get_value unknown 2 40 41 @@ -130636,13 +130937,13 @@ store __loopvar_308_default_idx 42 load 43 __loopvar_308_default_idx load 44 impl_type call 45 ir_emitter_core_ir_impl_func void 2 43 44 -label L1070 +label L1115 load 46 __for_idx_308 iconst 47 1 add 48 46 47 store __for_idx_308 48 -jmp L1068 -label L1071 +jmp L1113 +label L1116 load 49 __for_iter_308 call 50 pith_list_release_handle void 1 49 load 51 child_node @@ -130671,8 +130972,8 @@ load 9 impl_type call 10 checker_has_generic_declaration bool 1 9 iconst 12 1 sub 11 12 10 -brif 11 L1073 L1074 -label L1073 +brif 11 L1118 L1119 +label L1118 load 13 sdecl call 14 pith_struct_release void 1 13 load 15 struct_params @@ -130689,8 +130990,8 @@ load 25 child_node call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L1074 -label L1072 +label L1119 +label L1117 load 28 sdecl load 29 impl_type call 30 checker_get_generic_declaration_index int 1 29 @@ -130706,8 +131007,8 @@ load 37 struct_params call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L1076 L1077 -label L1076 +brif 40 L1121 L1122 +label L1121 load 41 sdecl call 42 pith_struct_release void 1 41 load 43 struct_params @@ -130724,8 +131025,8 @@ load 53 child_node call 54 pith_struct_release void 1 53 iconst 55 0 ret 55 -label L1077 -label L1075 +label L1122 +label L1120 load 56 instance_tids load 57 checker_struct_instance_tids call 58 pith_list_retain_handle void 1 57 @@ -130737,12 +131038,12 @@ iconst 62 0 store __for_idx_309 62 store __for_len_309 61 store __for_iter_309 60 -label L1078 +label L1123 load 63 __for_idx_309 load 64 __for_len_309 lt 65 63 64 -brif 65 L1079 L1081 -label L1079 +brif 65 L1124 L1126 +label L1124 load 66 __for_iter_309 load 67 __for_idx_309 call 68 pith_list_get_value unknown 2 66 67 @@ -130754,21 +131055,21 @@ load 72 impl_type call 74 pith_cstring_eq bool 2 71 72 iconst 75 1 sub 73 75 74 -brif 73 L1083 L1084 -label L1083 -jmp L1080 -label L1084 -label L1082 +brif 73 L1128 L1129 +label L1128 +jmp L1125 +label L1129 +label L1127 load 76 checker_struct_instance_type_args load 77 __loopvar_309_inst_tid call 78 map_contains_ikey bool 2 76 77 iconst 80 1 sub 79 80 78 -brif 79 L1086 L1087 -label L1086 -jmp L1080 -label L1087 -label L1085 +brif 79 L1131 L1132 +label L1131 +jmp L1125 +label L1132 +label L1130 load 81 arg_tids load 82 checker_struct_instance_type_args load 83 __loopvar_309_inst_tid @@ -130786,12 +131087,12 @@ iconst 92 0 store __for_idx_310 92 store __for_len_310 91 store __for_iter_310 90 -label L1088 +label L1133 load 93 __for_idx_310 load 94 __for_len_310 lt 95 93 94 -brif 95 L1089 L1091 -label L1089 +brif 95 L1134 L1136 +label L1134 load 96 __for_iter_310 load 97 __for_idx_310 call 98 pith_list_get_value unknown 2 96 97 @@ -130800,13 +131101,13 @@ load 99 arg_names load 100 __loopvar_310_at call 101 ir_type_helpers_ir_type_from_tid string 1 100 call 102 pith_list_push_value_owned void 2 99 101 -label L1090 +label L1135 load 103 __for_idx_310 iconst 104 1 add 105 103 104 store __for_idx_310 105 -jmp L1088 -label L1091 +jmp L1133 +label L1136 load 106 instance_type_name load 107 __loopvar_309_inst_tid call 108 types_get_type_name string 1 107 @@ -130819,12 +131120,12 @@ iconst 113 0 store __for_idx_311 113 store __for_len_311 112 store __for_iter_311 111 -label L1092 +label L1137 load 114 __for_idx_311 load 115 __for_len_311 lt 116 114 115 -brif 116 L1093 L1095 -label L1093 +brif 116 L1138 L1140 +label L1138 load 117 __for_iter_311 load 118 __for_idx_311 call 119 pith_list_get_value unknown 2 117 118 @@ -130842,31 +131143,31 @@ field 127 126 0 string kind strref 128 m46s576 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -brif 129 L1097 L1098 -label L1097 +brif 129 L1142 L1143 +label L1142 load 131 method_idx load 132 impl_type load 133 instance_type_name load 134 struct_params load 135 arg_names call 136 ir_emitter_core_ir_impl_func_specialized void 5 131 132 133 134 135 -jmp L1096 -label L1098 -label L1096 -label L1094 +jmp L1141 +label L1143 +label L1141 +label L1139 load 137 __for_idx_311 iconst 138 1 add 139 137 138 store __for_idx_311 139 -jmp L1092 -label L1095 -label L1080 +jmp L1137 +label L1140 +label L1125 load 140 __for_idx_309 iconst 141 1 add 142 140 141 store __for_idx_309 142 -jmp L1078 -label L1081 +jmp L1123 +label L1126 load 143 sdecl call 144 pith_struct_release void 1 143 load 145 struct_params @@ -130931,12 +131232,12 @@ iconst 29 0 store __for_idx_312 29 store __for_len_312 28 store __for_iter_312 27 -label L1099 +label L1144 load 30 __for_idx_312 load 31 __for_len_312 lt 32 30 31 -brif 32 L1100 L1102 -label L1100 +brif 32 L1145 L1147 +label L1145 load 33 __for_iter_312 load 34 __for_idx_312 call 35 pith_list_get_value_unchecked string 2 33 34 @@ -130953,13 +131254,13 @@ call 44 pith_cstring_release void 1 39 call 45 pith_cstring_release void 1 42 call 46 pith_cstring_release void 1 36 store suffix 43 -label L1101 +label L1146 load 47 __for_idx_312 iconst 48 1 add 49 47 48 store __for_idx_312 49 -jmp L1099 -label L1102 +jmp L1144 +label L1147 load 50 full_name load 51 base_impl_type load 52 suffix @@ -130982,8 +131283,8 @@ store method_key 65 load 67 ir_method_tables_ir_impl_methods load 68 method_key call 69 contains_key bool 2 67 68 -brif 69 L1104 L1105 -label L1104 +brif 69 L1149 L1150 +label L1149 load 70 node call 71 pith_struct_release void 1 70 load 72 orig_name @@ -131006,8 +131307,8 @@ load 88 ret_type call 89 pith_cstring_release void 1 88 iconst 90 0 ret 90 -label L1105 -label L1103 +label L1150 +label L1148 load 91 ir_method_tables_ir_impl_methods load 92 method_key load 93 full_name @@ -131036,8 +131337,8 @@ store prefixed_full 110 load 113 ir_method_tables_ir_impl_methods load 114 base_key call 115 contains_key bool 2 113 114 -brif 115 L1107 L1108 -label L1107 +brif 115 L1152 L1153 +label L1152 load 116 base_sym load 117 ir_method_tables_ir_impl_methods load 118 base_key @@ -131046,23 +131347,23 @@ call 120 pith_cstring_retain void 1 119 call 121 pith_cstring_release void 1 116 store base_sym 119 iconst 122 0 -store __and_122_1112 122 +store __and_122_1157 122 load 123 base_sym call 124 string_len int 1 123 load 125 expected_base_sym call 126 string_len int 1 125 gt 127 124 126 -store __and_122_1112 127 -brif 127 L1112 L1113 -label L1112 +store __and_122_1157 127 +brif 127 L1157 L1158 +label L1157 load 128 base_sym load 129 expected_base_sym call 130 pith_cstring_ends_with bool 2 128 129 -store __and_122_1112 130 -label L1113 -load 131 __and_122_1112 -brif 131 L1110 L1111 -label L1110 +store __and_122_1157 130 +label L1158 +load 131 __and_122_1157 +brif 131 L1155 L1156 +label L1155 load 132 base_sym call 133 string_len int 1 132 load 134 expected_base_sym @@ -131079,12 +131380,12 @@ concat 143 141 142 call 144 pith_cstring_release void 1 141 call 145 pith_cstring_release void 1 137 store prefixed_full 143 -jmp L1109 -label L1111 -label L1109 -jmp L1106 -label L1108 -label L1106 +jmp L1154 +label L1156 +label L1154 +jmp L1151 +label L1153 +label L1151 load 146 ir_method_tables_ir_impl_method_specializations load 147 method_key load 148 prefixed_full @@ -131183,8 +131484,8 @@ field 2 1 8 string value strref 3 m46s335 call 4 pith_cstring_contains bool 2 2 3 call 5 pith_cstring_release void 1 3 -brif 4 L1115 L1116 -label L1115 +brif 4 L1160 L1161 +label L1160 load 6 node field 7 6 8 string value iconst 8 0 @@ -131195,8 +131496,8 @@ call 12 pith_cstring_index_of int 2 10 11 call 13 pith_cstring_release void 1 11 call 14 pith_cstring_substring string 3 7 8 12 ret 14 -label L1116 -label L1114 +label L1161 +label L1159 load 15 node field 16 15 8 string value call 17 pith_cstring_retain void 1 16 @@ -131235,8 +131536,8 @@ field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 gt 23 21 22 -brif 23 L1118 L1119 -label L1118 +brif 23 L1163 L1164 +label L1163 load 24 type_node load 25 field_node field 26 25 16 list children @@ -131246,51 +131547,51 @@ call 29 ast_get_node struct:Node 1 28 call 30 pith_struct_release void 1 24 store type_node 29 iconst 31 0 -store __or_31_1123 31 +store __or_31_1168 31 iconst 32 0 -store __or_32_1123 32 +store __or_32_1168 32 iconst 33 0 -store __or_33_1123 33 +store __or_33_1168 33 load 34 type_node field 35 34 0 string kind strref 36 m46s328 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_33_1123 37 -brif 37 L1124 L1123 -label L1123 +store __or_33_1168 37 +brif 37 L1169 L1168 +label L1168 load 39 type_node field 40 39 0 string kind strref 41 m46s327 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_33_1123 42 -label L1124 -load 44 __or_33_1123 -store __or_32_1123 44 -brif 44 L1126 L1125 -label L1125 +store __or_33_1168 42 +label L1169 +load 44 __or_33_1168 +store __or_32_1168 44 +brif 44 L1171 L1170 +label L1170 load 45 type_node field 46 45 0 string kind strref 47 m46s321 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __or_32_1123 48 -label L1126 -load 50 __or_32_1123 -store __or_31_1123 50 -brif 50 L1128 L1127 -label L1127 +store __or_32_1168 48 +label L1171 +load 50 __or_32_1168 +store __or_31_1168 50 +brif 50 L1173 L1172 +label L1172 load 51 type_node field 52 51 0 string kind strref 53 m46s318 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_31_1123 54 -label L1128 -load 56 __or_31_1123 -brif 56 L1121 L1122 -label L1121 +store __or_31_1168 54 +label L1173 +load 56 __or_31_1168 +brif 56 L1166 L1167 +label L1166 load 57 ir_struct_registry_ir_struct_field_lookup load 58 struct_name strref 59 m46s26 @@ -131306,16 +131607,16 @@ call 68 pith_list_get_value_strict int 2 66 67 call 69 ir_alias_registry_ir_resolve_type_node string 1 68 call 70 pith_map_insert_cstr_owned void 3 57 63 69 call 71 pith_cstring_release void 1 63 -jmp L1120 -label L1122 -label L1120 +jmp L1165 +label L1167 +label L1165 load 72 field_node field 73 72 16 list children call 74 pith_list_len int 1 73 iconst 75 1 gt 76 74 75 -brif 76 L1130 L1131 -label L1130 +brif 76 L1175 L1176 +label L1175 load 77 ir_struct_registry_ir_struct_field_default_nodes load 78 struct_name strref 79 m46s26 @@ -131330,12 +131631,12 @@ iconst 87 1 call 88 pith_list_get_value_strict int 2 86 87 call 89 map_insert void 3 77 83 88 call 90 pith_cstring_release void 1 83 -jmp L1129 -label L1131 -label L1129 -jmp L1117 -label L1119 -label L1117 +jmp L1174 +label L1176 +label L1174 +jmp L1162 +label L1164 +label L1162 load 91 ir_struct_registry_ir_struct_field_index_lookup load 92 struct_name strref 93 m46s26 @@ -131393,12 +131694,12 @@ iconst 20 0 store __for_idx_313 20 store __for_len_313 19 store __for_iter_313 18 -label L1132 +label L1177 load 21 __for_idx_313 load 22 __for_len_313 lt 23 21 22 -brif 23 L1133 L1135 -label L1133 +brif 23 L1178 L1180 +label L1178 load 24 __for_iter_313 load 25 __for_idx_313 call 26 pith_list_get_value unknown 2 24 25 @@ -131413,8 +131714,8 @@ field 32 31 0 string kind strref 33 m46s29 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1137 L1138 -label L1137 +brif 34 L1182 L1183 +label L1182 load 36 field_names load 37 sname load 38 field_names @@ -131422,61 +131723,61 @@ load 39 field_node call 40 ir_emitter_core_ir_record_struct_field list_string 3 37 38 39 call 41 pith_list_release_handle void 1 36 store field_names 40 -jmp L1136 -label L1138 -label L1136 -label L1134 +jmp L1181 +label L1183 +label L1181 +label L1179 load 42 __for_idx_313 iconst 43 1 add 44 42 43 store __for_idx_313 44 -jmp L1132 -label L1135 +jmp L1177 +label L1180 load 45 ir_struct_registry_ir_struct_names load 46 sname load 47 field_names call 48 pith_list_len int 1 47 call 49 map_insert void 3 45 46 48 load 50 emit_decl -brif 50 L1140 L1141 -label L1140 +brif 50 L1185 L1186 +label L1185 load 51 ir_emitter_core_ir_local_struct_names load 52 sname iconst 53 -1 -store __list_index_result_L1145 53 +store __list_index_result_L1190 53 iconst 54 0 -store __list_index_i_L1146 54 +store __list_index_i_L1191 54 call 55 pith_list_len int 1 51 -label L1147 -load 56 __list_index_i_L1146 +label L1192 +load 56 __list_index_i_L1191 lt 57 56 55 -brif 57 L1148 L1151 -label L1148 +brif 57 L1193 L1196 +label L1193 call 58 pith_list_get_value string 2 51 56 call 59 pith_cstring_eq bool 2 58 52 -brif 59 L1149 L1150 -label L1149 -store __list_index_result_L1145 56 -jmp L1151 -label L1150 +brif 59 L1194 L1195 +label L1194 +store __list_index_result_L1190 56 +jmp L1196 +label L1195 iconst 60 1 add 61 56 60 -store __list_index_i_L1146 61 -jmp L1147 -label L1151 -load 62 __list_index_result_L1145 +store __list_index_i_L1191 61 +jmp L1192 +label L1196 +load 62 __list_index_result_L1190 iconst 63 0 gte 64 62 63 iconst 66 1 sub 65 66 64 -brif 65 L1143 L1144 -label L1143 +brif 65 L1188 L1189 +label L1188 load 67 ir_emitter_core_ir_local_struct_names load 68 sname call 69 pith_list_push_value void 2 67 68 -jmp L1142 -label L1144 -label L1142 +jmp L1187 +label L1189 +label L1187 strref 70 m46s1289 load 71 sname concat 72 70 71 @@ -131494,9 +131795,9 @@ call 83 pith_cstring_release void 1 75 call 84 pith_cstring_release void 1 80 call 85 ir_builder_ir_emit void 1 82 call 86 pith_cstring_release void 1 82 -jmp L1139 -label L1141 -label L1139 +jmp L1184 +label L1186 +label L1184 load 87 sname call 88 pith_cstring_release void 1 87 load 89 field_names @@ -131536,12 +131837,12 @@ iconst 18 0 store __for_idx_314 18 store __for_len_314 17 store __for_iter_314 16 -label L1152 +label L1197 load 19 __for_idx_314 load 20 __for_len_314 lt 21 19 20 -brif 21 L1153 L1155 -label L1153 +brif 21 L1198 L1200 +label L1198 load 22 __for_iter_314 load 23 __for_idx_314 call 24 pith_list_get_value unknown 2 22 23 @@ -131556,8 +131857,8 @@ field 30 29 0 string kind strref 31 m46s25 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L1157 L1158 -label L1157 +brif 32 L1202 L1203 +label L1202 load 34 variant_names call 35 pith_list_len int 1 34 store variant_index 35 @@ -131595,8 +131896,8 @@ field 66 65 16 list children call 67 pith_list_len int 1 66 iconst 68 0 gt 69 67 68 -brif 69 L1160 L1161 -label L1160 +brif 69 L1205 L1206 +label L1205 load 70 kinds call 71 pith_list_new_cstr list 0 call 72 pith_list_release_handle void 1 70 @@ -131608,12 +131909,12 @@ iconst 76 0 store __for_idx_315 76 store __for_len_315 75 store __for_iter_315 74 -label L1162 +label L1207 load 77 __for_idx_315 load 78 __for_len_315 lt 79 77 78 -brif 79 L1163 L1165 -label L1163 +brif 79 L1208 L1210 +label L1208 load 80 __for_iter_315 load 81 __for_idx_315 call 82 pith_list_get_value unknown 2 80 81 @@ -131627,25 +131928,25 @@ load 87 kind call 88 string_len int 1 87 iconst 89 0 eq 90 88 89 -brif 90 L1167 L1168 -label L1167 +brif 90 L1212 L1213 +label L1212 load 91 kind strref 92 m46s822 call 93 pith_cstring_release void 1 91 store kind 92 -jmp L1166 -label L1168 -label L1166 +jmp L1211 +label L1213 +label L1211 load 94 kinds load 95 kind call 96 pith_list_push_value void 2 94 95 -label L1164 +label L1209 load 97 __for_idx_315 iconst 98 1 add 99 97 98 store __for_idx_315 99 -jmp L1162 -label L1165 +jmp L1207 +label L1210 load 100 ir_struct_registry_ir_enum_payload_kinds load 101 sname strref 102 m46s26 @@ -131665,19 +131966,19 @@ load 115 ir_struct_registry_ir_boxed_enums load 116 sname iconst 117 1 call 118 map_insert void 3 115 116 117 -jmp L1159 -label L1161 -label L1159 -jmp L1156 -label L1158 -label L1156 -label L1154 +jmp L1204 +label L1206 +label L1204 +jmp L1201 +label L1203 +label L1201 +label L1199 load 119 __for_idx_314 iconst 120 1 add 121 119 120 store __for_idx_314 121 -jmp L1152 -label L1155 +jmp L1197 +label L1200 load 122 ir_struct_registry_ir_enum_variant_lists load 123 sname load 124 variant_names @@ -131691,8 +131992,8 @@ load 131 variant_names call 132 pith_list_len int 1 131 call 133 map_insert void 3 129 130 132 load 134 emit_decl -brif 134 L1170 L1171 -label L1170 +brif 134 L1215 L1216 +label L1215 strref 135 m46s1289 load 136 sname concat 137 135 136 @@ -131710,9 +132011,9 @@ call 148 pith_cstring_release void 1 140 call 149 pith_cstring_release void 1 145 call 150 ir_builder_ir_emit void 1 147 call 151 pith_cstring_release void 1 147 -jmp L1169 -label L1171 -label L1169 +jmp L1214 +label L1216 +label L1214 load 152 sname call 153 pith_cstring_release void 1 152 load 154 variant_names @@ -131738,12 +132039,12 @@ iconst 6 0 store __for_idx_316 6 store __for_len_316 5 store __for_iter_316 4 -label L1172 +label L1217 load 7 __for_idx_316 load 8 __for_len_316 lt 9 7 8 -brif 9 L1173 L1175 -label L1173 +brif 9 L1218 L1220 +label L1218 load 10 __for_iter_316 load 11 __for_idx_316 call 12 pith_list_get_value unknown 2 10 11 @@ -131754,64 +132055,64 @@ call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store cn 15 iconst 17 0 -store __or_17_1179 17 +store __or_17_1224 17 load 18 cn field 19 18 0 string kind strref 20 m46s31 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_17_1179 21 -brif 21 L1180 L1179 -label L1179 +store __or_17_1224 21 +brif 21 L1225 L1224 +label L1224 load 23 cn field 24 23 0 string kind strref 25 m46s15 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_17_1179 26 -label L1180 -load 28 __or_17_1179 -brif 28 L1177 L1178 -label L1177 +store __or_17_1224 26 +label L1225 +load 28 __or_17_1224 +brif 28 L1222 L1223 +label L1222 load 29 __loopvar_316_item_idx load 30 cn load 31 emit_decl call 32 ir_emitter_core_ir_collect_struct_decl void 3 29 30 31 -jmp L1176 -label L1178 +jmp L1221 +label L1223 iconst 33 0 -store __or_33_1183 33 +store __or_33_1228 33 load 34 cn field 35 34 0 string kind strref 36 m46s30 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_33_1183 37 -brif 37 L1184 L1183 -label L1183 +store __or_33_1228 37 +brif 37 L1229 L1228 +label L1228 load 39 cn field 40 39 0 string kind strref 41 m46s14 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_33_1183 42 -label L1184 -load 44 __or_33_1183 -brif 44 L1181 L1182 -label L1181 +store __or_33_1228 42 +label L1229 +load 44 __or_33_1228 +brif 44 L1226 L1227 +label L1226 load 45 cn load 46 emit_decl call 47 ir_emitter_core_ir_collect_enum_decl void 2 45 46 -jmp L1176 -label L1182 -label L1176 -label L1174 +jmp L1221 +label L1227 +label L1221 +label L1219 load 48 __for_idx_316 iconst 49 1 add 50 48 49 store __for_idx_316 50 -jmp L1172 -label L1175 +jmp L1217 +label L1220 load 51 __for_iter_316 call 52 pith_list_release_handle void 1 51 load 53 cn @@ -131826,12 +132127,12 @@ iconst 2 0 store __for_idx_317 2 store __for_len_317 1 store __for_iter_317 0 -label L1185 +label L1230 load 3 __for_idx_317 load 4 __for_len_317 lt 5 3 4 -brif 5 L1186 L1188 -label L1186 +brif 5 L1231 L1233 +label L1231 load 6 __for_iter_317 load 7 __for_idx_317 call 8 pith_list_get_value_unchecked string 2 6 7 @@ -131840,25 +132141,25 @@ load 9 ir_builder_ir_var_types load 10 __loopvar_317_name strref 11 m46s671 call 12 pith_map_insert_cstr_owned void 3 9 10 11 -label L1187 +label L1232 load 13 __for_idx_317 iconst 14 1 add 15 13 14 store __for_idx_317 15 -jmp L1185 -label L1188 +jmp L1230 +label L1233 load 16 ir_alias_registry_ir_global_string_names call 17 pith_auto_len int 1 16 iconst 18 0 store __for_idx_318 18 store __for_len_318 17 store __for_iter_318 16 -label L1189 +label L1234 load 19 __for_idx_318 load 20 __for_len_318 lt 21 19 20 -brif 21 L1190 L1192 -label L1190 +brif 21 L1235 L1237 +label L1235 load 22 __for_iter_318 load 23 __for_idx_318 call 24 pith_list_get_value_unchecked string 2 22 23 @@ -131867,25 +132168,25 @@ load 25 ir_builder_ir_var_types load 26 __loopvar_318_name strref 27 m46s675 call 28 pith_map_insert_cstr_owned void 3 25 26 27 -label L1191 +label L1236 load 29 __for_idx_318 iconst 30 1 add 31 29 30 store __for_idx_318 31 -jmp L1189 -label L1192 +jmp L1234 +label L1237 load 32 ir_alias_registry_ir_global_list_string_names call 33 pith_auto_len int 1 32 iconst 34 0 store __for_idx_319 34 store __for_len_319 33 store __for_iter_319 32 -label L1193 +label L1238 load 35 __for_idx_319 load 36 __for_len_319 lt 37 35 36 -brif 37 L1194 L1196 -label L1194 +brif 37 L1239 L1241 +label L1239 load 38 __for_iter_319 load 39 __for_idx_319 call 40 pith_list_get_value_unchecked string 2 38 39 @@ -131894,25 +132195,25 @@ load 41 ir_builder_ir_var_types load 42 __loopvar_319_name strref 43 m46s668 call 44 pith_map_insert_cstr_owned void 3 41 42 43 -label L1195 +label L1240 load 45 __for_idx_319 iconst 46 1 add 47 45 46 store __for_idx_319 47 -jmp L1193 -label L1196 +jmp L1238 +label L1241 load 48 ir_alias_registry_ir_global_list_names call 49 pith_auto_len int 1 48 iconst 50 0 store __for_idx_320 50 store __for_len_320 49 store __for_iter_320 48 -label L1197 +label L1242 load 51 __for_idx_320 load 52 __for_len_320 lt 53 51 52 -brif 53 L1198 L1200 -label L1198 +brif 53 L1243 L1245 +label L1243 load 54 __for_iter_320 load 55 __for_idx_320 call 56 pith_list_get_value_unchecked string 2 54 55 @@ -131921,25 +132222,25 @@ load 57 ir_builder_ir_var_types load 58 __loopvar_320_name strref 59 m46s20 call 60 pith_map_insert_cstr_owned void 3 57 58 59 -label L1199 +label L1244 load 61 __for_idx_320 iconst 62 1 add 63 61 62 store __for_idx_320 63 -jmp L1197 -label L1200 +jmp L1242 +label L1245 load 64 ir_alias_registry_ir_global_map_int_names call 65 pith_auto_len int 1 64 iconst 66 0 store __for_idx_321 66 store __for_len_321 65 store __for_iter_321 64 -label L1201 +label L1246 load 67 __for_idx_321 load 68 __for_len_321 lt 69 67 68 -brif 69 L1202 L1204 -label L1202 +brif 69 L1247 L1249 +label L1247 load 70 __for_iter_321 load 71 __for_idx_321 call 72 pith_list_get_value_unchecked string 2 70 71 @@ -131948,25 +132249,25 @@ load 73 ir_builder_ir_var_types load 74 __loopvar_321_name strref 75 m46s670 call 76 pith_map_insert_cstr_owned void 3 73 74 75 -label L1203 +label L1248 load 77 __for_idx_321 iconst 78 1 add 79 77 78 store __for_idx_321 79 -jmp L1201 -label L1204 +jmp L1246 +label L1249 load 80 ir_alias_registry_ir_global_map_names call 81 pith_auto_len int 1 80 iconst 82 0 store __for_idx_322 82 store __for_len_322 81 store __for_iter_322 80 -label L1205 +label L1250 load 83 __for_idx_322 load 84 __for_len_322 lt 85 83 84 -brif 85 L1206 L1208 -label L1206 +brif 85 L1251 L1253 +label L1251 load 86 __for_iter_322 load 87 __for_idx_322 call 88 pith_list_get_value_unchecked string 2 86 87 @@ -131975,25 +132276,25 @@ load 89 ir_builder_ir_var_types load 90 __loopvar_322_name strref 91 m46s19 call 92 pith_map_insert_cstr_owned void 3 89 90 91 -label L1207 +label L1252 load 93 __for_idx_322 iconst 94 1 add 95 93 94 store __for_idx_322 95 -jmp L1205 -label L1208 +jmp L1250 +label L1253 load 96 ir_alias_registry_ir_global_set_int_names call 97 pith_auto_len int 1 96 iconst 98 0 store __for_idx_323 98 store __for_len_323 97 store __for_iter_323 96 -label L1209 +label L1254 load 99 __for_idx_323 load 100 __for_len_323 lt 101 99 100 -brif 101 L1210 L1212 -label L1210 +brif 101 L1255 L1257 +label L1255 load 102 __for_iter_323 load 103 __for_idx_323 call 104 pith_list_get_value_unchecked string 2 102 103 @@ -132002,25 +132303,25 @@ load 105 ir_builder_ir_var_types load 106 __loopvar_323_name strref 107 m46s669 call 108 pith_map_insert_cstr_owned void 3 105 106 107 -label L1211 +label L1256 load 109 __for_idx_323 iconst 110 1 add 111 109 110 store __for_idx_323 111 -jmp L1209 -label L1212 +jmp L1254 +label L1257 load 112 ir_alias_registry_ir_global_set_names call 113 pith_auto_len int 1 112 iconst 114 0 store __for_idx_324 114 store __for_len_324 113 store __for_iter_324 112 -label L1213 +label L1258 load 115 __for_idx_324 load 116 __for_len_324 lt 117 115 116 -brif 117 L1214 L1216 -label L1214 +brif 117 L1259 L1261 +label L1259 load 118 __for_iter_324 load 119 __for_idx_324 call 120 pith_list_get_value_unchecked string 2 118 119 @@ -132029,25 +132330,25 @@ load 121 ir_builder_ir_var_types load 122 __loopvar_324_name strref 123 m46s18 call 124 pith_map_insert_cstr_owned void 3 121 122 123 -label L1215 +label L1260 load 125 __for_idx_324 iconst 126 1 add 127 125 126 store __for_idx_324 127 -jmp L1213 -label L1216 +jmp L1258 +label L1261 load 128 ir_alias_registry_ir_global_bool_names call 129 pith_auto_len int 1 128 iconst 130 0 store __for_idx_325 130 store __for_len_325 129 store __for_iter_325 128 -label L1217 +label L1262 load 131 __for_idx_325 load 132 __for_len_325 lt 133 131 132 -brif 133 L1218 L1220 -label L1218 +brif 133 L1263 L1265 +label L1263 load 134 __for_iter_325 load 135 __for_idx_325 call 136 pith_list_get_value_unchecked string 2 134 135 @@ -132056,13 +132357,13 @@ load 137 ir_builder_ir_var_types load 138 __loopvar_325_name strref 139 m46s673 call 140 pith_map_insert_cstr_owned void 3 137 138 139 -label L1219 +label L1264 load 141 __for_idx_325 iconst 142 1 add 143 141 142 store __for_idx_325 143 -jmp L1217 -label L1220 +jmp L1262 +label L1265 load 144 ir_alias_registry_ir_global_map_value_types call 145 map_keys list_string 1 144 call 146 pith_auto_len int 1 145 @@ -132070,12 +132371,12 @@ iconst 147 0 store __for_idx_326 147 store __for_len_326 146 store __for_iter_326 145 -label L1221 +label L1266 load 148 __for_idx_326 load 149 __for_len_326 lt 150 148 149 -brif 150 L1222 L1224 -label L1222 +brif 150 L1267 L1269 +label L1267 load 151 __for_iter_326 load 152 __for_idx_326 call 153 pith_list_get_value_unchecked string 2 151 152 @@ -132086,13 +132387,13 @@ load 156 ir_alias_registry_ir_global_map_value_types load 157 __loopvar_326_name call 158 map_get_strict string 2 156 157 call 159 map_insert void 3 154 155 158 -label L1223 +label L1268 load 160 __for_idx_326 iconst 161 1 add 162 160 161 store __for_idx_326 162 -jmp L1221 -label L1224 +jmp L1266 +label L1269 load 163 __for_iter_326 call 164 pith_list_release_handle void 1 163 iconst 165 0 @@ -132320,25 +132621,25 @@ call 8 ast_get_node struct:Node 1 7 call 9 pith_struct_release void 1 6 store node 8 iconst 10 0 -store __and_10_1228 10 +store __and_10_1273 10 load 11 node field 12 11 0 string kind strref 13 m46s44 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __and_10_1228 14 -brif 14 L1228 L1229 -label L1228 +store __and_10_1273 14 +brif 14 L1273 L1274 +label L1273 load 16 node field 17 16 16 list children call 18 pith_list_len int 1 17 iconst 19 0 gt 20 18 19 -store __and_10_1228 20 -label L1229 -load 21 __and_10_1228 -brif 21 L1226 L1227 -label L1226 +store __and_10_1273 20 +label L1274 +load 21 __and_10_1273 +brif 21 L1271 L1272 +label L1271 load 22 callee load 23 node field 24 23 16 list children @@ -132354,8 +132655,8 @@ call 32 string_len int 1 31 call 33 pith_cstring_release void 1 31 iconst 34 0 gt 35 32 34 -brif 35 L1231 L1232 -label L1231 +brif 35 L1276 L1277 +label L1276 strref 36 m46s82 load 37 node call 38 pith_struct_release void 1 37 @@ -132368,8 +132669,8 @@ call 44 pith_cstring_release void 1 43 load 45 emit_name call 46 pith_cstring_release void 1 45 ret 36 -label L1232 -label L1230 +label L1277 +label L1275 load 47 callee field 48 47 0 string name call 49 ir_metadata_ir_builtin_result_retkind string 1 48 @@ -132384,15 +132685,15 @@ call 57 pith_cstring_release void 1 56 load 58 emit_name call 59 pith_cstring_release void 1 58 ret 49 -label L1227 -label L1225 +label L1272 +label L1270 load 60 node field 61 60 0 string kind strref 62 m46s129 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L1234 L1235 -label L1234 +brif 63 L1279 L1280 +label L1279 load 65 alias_name load 66 idx call 67 ir_alias_registry_ir_resolve_module_alias_method_call_name string 1 66 @@ -132402,16 +132703,16 @@ load 69 alias_name call 70 string_len int 1 69 iconst 71 0 gt 72 70 71 -brif 72 L1237 L1238 -label L1237 +brif 72 L1282 L1283 +label L1282 load 73 alias_name call 74 ir_method_tables_ir_declared_callable_ir_retkind string 1 73 call 75 string_len int 1 74 call 76 pith_cstring_release void 1 74 iconst 77 0 gt 78 75 77 -brif 78 L1240 L1241 -label L1240 +brif 78 L1285 L1286 +label L1285 strref 79 m46s82 load 80 node call 81 pith_struct_release void 1 80 @@ -132424,8 +132725,8 @@ call 87 pith_cstring_release void 1 86 load 88 emit_name call 89 pith_cstring_release void 1 88 ret 79 -label L1241 -label L1239 +label L1286 +label L1284 load 90 alias_name call 91 ir_metadata_ir_builtin_result_retkind string 1 90 load 92 node @@ -132439,8 +132740,8 @@ call 99 pith_cstring_release void 1 98 load 100 emit_name call 101 pith_cstring_release void 1 100 ret 91 -label L1238 -label L1236 +label L1283 +label L1281 load 102 obj_type load 103 node call 104 ir_emitter_core_ir_method_receiver_type string 1 103 @@ -132461,8 +132762,8 @@ call 116 string_len int 1 115 call 117 pith_cstring_release void 1 115 iconst 118 0 gt 119 116 118 -brif 119 L1243 L1244 -label L1243 +brif 119 L1288 L1289 +label L1288 strref 120 m46s82 load 121 node call 122 pith_struct_release void 1 121 @@ -132475,8 +132776,8 @@ call 128 pith_cstring_release void 1 127 load 129 emit_name call 130 pith_cstring_release void 1 129 ret 120 -label L1244 -label L1242 +label L1289 +label L1287 load 131 emit_name call 132 ir_metadata_ir_builtin_result_retkind string 1 131 load 133 node @@ -132490,8 +132791,8 @@ call 140 pith_cstring_release void 1 139 load 141 emit_name call 142 pith_cstring_release void 1 141 ret 132 -label L1235 -label L1233 +label L1280 +label L1278 strref 143 m46s82 load 144 node call 145 pith_struct_release void 1 144 @@ -132541,33 +132842,33 @@ store legacy_kind 10 iconst 11 0 store result_kind 11 load 12 uses_result_abi -brif 12 L1246 L1247 -label L1246 +brif 12 L1291 L1292 +label L1291 load 13 node load 14 idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 iconst 17 0 -store __and_17_1251 17 +store __and_17_1296 17 load 18 node field 19 18 0 string kind strref 20 m46s44 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __and_17_1251 21 -brif 21 L1251 L1252 -label L1251 +store __and_17_1296 21 +brif 21 L1296 L1297 +label L1296 load 23 node field 24 23 16 list children call 25 pith_list_len int 1 24 iconst 26 0 gt 27 25 26 -store __and_17_1251 27 -label L1252 -load 28 __and_17_1251 -brif 28 L1249 L1250 -label L1249 +store __and_17_1296 27 +label L1297 +load 28 __and_17_1296 +brif 28 L1294 L1295 +label L1294 load 29 callee load 30 node field 31 30 16 list children @@ -132586,8 +132887,8 @@ load 41 declared_kind call 42 string_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L1254 L1255 -label L1254 +brif 44 L1299 L1300 +label L1299 load 45 declared_kind load 46 node call 47 pith_struct_release void 1 46 @@ -132608,18 +132909,18 @@ call 61 pith_cstring_release void 1 60 load 62 result_kind call 63 pith_cstring_release void 1 62 ret 45 -label L1255 -label L1253 -jmp L1248 -label L1250 -label L1248 +label L1300 +label L1298 +jmp L1293 +label L1295 +label L1293 load 64 node field 65 64 0 string kind strref 66 m46s129 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L1257 L1258 -label L1257 +brif 67 L1302 L1303 +label L1302 load 69 alias_name load 70 idx call 71 ir_alias_registry_ir_resolve_module_alias_method_call_name string 1 70 @@ -132629,8 +132930,8 @@ load 73 alias_name call 74 string_len int 1 73 iconst 75 0 gt 76 74 75 -brif 76 L1260 L1261 -label L1260 +brif 76 L1305 L1306 +label L1305 load 77 declared_kind load 78 alias_name call 79 ir_method_tables_ir_declared_callable_ir_retkind string 1 78 @@ -132640,8 +132941,8 @@ load 81 declared_kind call 82 string_len int 1 81 iconst 83 0 gt 84 82 83 -brif 84 L1263 L1264 -label L1263 +brif 84 L1308 L1309 +label L1308 load 85 declared_kind load 86 node call 87 pith_struct_release void 1 86 @@ -132662,11 +132963,11 @@ call 101 pith_cstring_release void 1 100 load 102 result_kind call 103 pith_cstring_release void 1 102 ret 85 -label L1264 -label L1262 -jmp L1259 -label L1261 -label L1259 +label L1309 +label L1307 +jmp L1304 +label L1306 +label L1304 load 104 obj_type load 105 node call 106 ir_emitter_core_ir_method_receiver_type string 1 105 @@ -132688,8 +132989,8 @@ load 118 impl_name call 119 string_len int 1 118 iconst 120 0 gt 121 119 120 -brif 121 L1266 L1267 -label L1266 +brif 121 L1311 L1312 +label L1311 load 122 declared_kind load 123 impl_name call 124 ir_method_tables_ir_declared_callable_ir_retkind string 1 123 @@ -132699,8 +133000,8 @@ load 126 declared_kind call 127 string_len int 1 126 iconst 128 0 gt 129 127 128 -brif 129 L1269 L1270 -label L1269 +brif 129 L1314 L1315 +label L1314 load 130 declared_kind load 131 node call 132 pith_struct_release void 1 131 @@ -132721,11 +133022,11 @@ call 146 pith_cstring_release void 1 145 load 147 result_kind call 148 pith_cstring_release void 1 147 ret 130 -label L1270 -label L1268 -jmp L1265 -label L1267 -label L1265 +label L1315 +label L1313 +jmp L1310 +label L1312 +label L1310 load 149 emit_name load 150 method_name load 151 obj_type @@ -132741,8 +133042,8 @@ load 158 declared_kind call 159 string_len int 1 158 iconst 160 0 gt 161 159 160 -brif 161 L1272 L1273 -label L1272 +brif 161 L1317 L1318 +label L1317 load 162 declared_kind load 163 node call 164 pith_struct_release void 1 163 @@ -132763,11 +133064,11 @@ call 178 pith_cstring_release void 1 177 load 179 result_kind call 180 pith_cstring_release void 1 179 ret 162 -label L1273 -label L1271 -jmp L1256 -label L1258 -label L1256 +label L1318 +label L1316 +jmp L1301 +label L1303 +label L1301 load 181 legacy_kind load 182 idx call 183 ir_emitter_core_ir_expr_legacy_result_kind string 1 182 @@ -132777,8 +133078,8 @@ load 185 legacy_kind call 186 string_len int 1 185 iconst 187 0 gt 188 186 187 -brif 188 L1275 L1276 -label L1275 +brif 188 L1320 L1321 +label L1320 load 189 legacy_kind load 190 node call 191 pith_struct_release void 1 190 @@ -132799,8 +133100,8 @@ call 205 pith_cstring_release void 1 204 load 206 result_kind call 207 pith_cstring_release void 1 206 ret 189 -label L1276 -label L1274 +label L1321 +label L1319 load 208 result_kind load 209 idx call 210 ir_type_helpers_ir_checked_result_kind string 1 209 @@ -132810,8 +133111,8 @@ load 212 result_kind call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -brif 215 L1278 L1279 -label L1278 +brif 215 L1323 L1324 +label L1323 load 216 result_kind load 217 node call 218 pith_struct_release void 1 217 @@ -132832,11 +133133,11 @@ call 232 pith_cstring_release void 1 231 load 233 legacy_kind call 234 pith_cstring_release void 1 233 ret 216 -label L1279 -label L1277 -jmp L1245 -label L1247 -label L1245 +label L1324 +label L1322 +jmp L1290 +label L1292 +label L1290 load 235 idx call 236 ir_emitter_core_ir_infer_type string 1 235 load 237 node @@ -132890,8 +133191,8 @@ param callee_name iconst 3 0 store declared_kind 3 load 4 uses_result_abi -brif 4 L1281 L1282 -label L1281 +brif 4 L1326 L1327 +label L1326 load 5 declared_kind load 6 callee_name call 7 ir_method_tables_ir_declared_callable_ir_retkind string 1 6 @@ -132901,15 +133202,15 @@ load 9 declared_kind call 10 string_len int 1 9 iconst 11 0 gt 12 10 11 -brif 12 L1284 L1285 -label L1284 +brif 12 L1329 L1330 +label L1329 load 13 declared_kind ret 13 -label L1285 -label L1283 -jmp L1280 -label L1282 -label L1280 +label L1330 +label L1328 +jmp L1325 +label L1327 +label L1325 load 14 idx load 15 uses_result_abi call 16 ir_emitter_core_ir_call_retkind string 2 14 15 @@ -132938,16 +133239,16 @@ load 8 struct_type call 9 string_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L1287 L1288 -label L1287 +brif 11 L1332 L1333 +label L1332 load 12 struct_type load 13 scalar_type call 14 pith_cstring_release void 1 13 load 15 collection_type call 16 pith_cstring_release void 1 15 ret 12 -label L1288 -label L1286 +label L1333 +label L1331 load 17 scalar_type load 18 fname call 19 ir_type_helpers_ir_known_scalar_return_type string 1 18 @@ -132957,16 +133258,16 @@ load 21 scalar_type call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -brif 24 L1290 L1291 -label L1290 +brif 24 L1335 L1336 +label L1335 load 25 scalar_type load 26 struct_type call 27 pith_cstring_release void 1 26 load 28 collection_type call 29 pith_cstring_release void 1 28 ret 25 -label L1291 -label L1289 +label L1336 +label L1334 load 30 collection_type load 31 fname call 32 ir_type_helpers_ir_known_collection_return_type string 1 31 @@ -132976,16 +133277,16 @@ load 34 collection_type call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L1293 L1294 -label L1293 +brif 37 L1338 L1339 +label L1338 load 38 collection_type load 39 struct_type call 40 pith_cstring_release void 1 39 load 41 scalar_type call 42 pith_cstring_release void 1 41 ret 38 -label L1294 -label L1292 +label L1339 +label L1337 load 43 fname call 44 ir_alias_registry_ir_declared_callable_return_type string 1 43 load 45 struct_type @@ -133021,8 +133322,8 @@ load 8 obj_type strref 9 m46s335 call 10 pith_cstring_contains bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L1296 L1297 -label L1296 +brif 10 L1341 L1342 +label L1341 load 12 base load 13 obj_type iconst 14 0 @@ -133036,87 +133337,87 @@ store base 19 load 21 ir_struct_registry_ir_struct_names load 22 base call 23 contains_key bool 2 21 22 -brif 23 L1299 L1300 -label L1299 +brif 23 L1344 L1345 +label L1344 load 24 obj_type load 25 base call 26 pith_cstring_retain void 1 25 call 27 pith_cstring_release void 1 24 store obj_type 25 -jmp L1298 -label L1300 -label L1298 -jmp L1295 -label L1297 -label L1295 +jmp L1343 +label L1345 +label L1343 +jmp L1340 +label L1342 +label L1340 load 28 obj_type call 29 string_len int 1 28 iconst 30 0 eq 31 29 30 -brif 31 L1302 L1303 -label L1302 +brif 31 L1347 L1348 +label L1347 load 32 recv load 33 recv_idx call 34 ast_get_node struct:Node 1 33 call 35 pith_struct_release void 1 32 store recv 34 iconst 36 0 -store __and_36_1307 36 +store __and_36_1352 36 load 37 recv field 38 37 0 string kind strref 39 m46s37 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_1307 40 -brif 40 L1307 L1308 -label L1307 +store __and_36_1352 40 +brif 40 L1352 L1353 +label L1352 load 42 ir_struct_registry_ir_struct_names load 43 recv field 44 43 8 string value call 45 contains_key bool 2 42 44 -store __and_36_1307 45 -label L1308 -load 46 __and_36_1307 -brif 46 L1305 L1306 -label L1305 +store __and_36_1352 45 +label L1353 +load 46 __and_36_1352 +brif 46 L1350 L1351 +label L1350 load 47 obj_type load 48 recv field 49 48 8 string value call 50 pith_cstring_retain void 1 49 call 51 pith_cstring_release void 1 47 store obj_type 49 -jmp L1304 -label L1306 +jmp L1349 +label L1351 iconst 52 0 -store __and_52_1311 52 +store __and_52_1356 52 load 53 recv field 54 53 0 string kind strref 55 m46s515 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __and_52_1311 56 -brif 56 L1311 L1312 -label L1311 +store __and_52_1356 56 +brif 56 L1356 L1357 +label L1356 load 58 ir_emitter_core_ir_current_impl_type call 59 string_len int 1 58 iconst 60 0 gt 61 59 60 -store __and_52_1311 61 -label L1312 -load 62 __and_52_1311 -brif 62 L1309 L1310 -label L1309 +store __and_52_1356 61 +label L1357 +load 62 __and_52_1356 +brif 62 L1354 L1355 +label L1354 load 63 obj_type load 64 ir_emitter_core_ir_current_impl_type call 65 pith_cstring_retain void 1 64 call 66 pith_cstring_release void 1 63 store obj_type 64 -jmp L1304 -label L1310 -label L1304 -jmp L1301 -label L1303 -label L1301 +jmp L1349 +label L1355 +label L1349 +jmp L1346 +label L1348 +label L1346 load 67 obj_type load 68 base call 69 pith_cstring_release void 1 68 @@ -133146,8 +133447,8 @@ store recv_tid 6 load 7 recv_tid iconst 8 0 lt 9 7 8 -brif 9 L1314 L1315 -label L1314 +brif 9 L1359 L1360 +label L1359 iconst 10 0 iconst 11 1 sub 12 10 11 @@ -133156,8 +133457,8 @@ call 14 pith_struct_release void 1 13 load 15 field_kind call 16 pith_cstring_release void 1 15 ret 12 -label L1315 -label L1313 +label L1360 +label L1358 load 17 recv_info load 18 recv_tid call 19 types_get_type_info struct:TypeInfo 1 18 @@ -133170,8 +133471,8 @@ call 25 pith_cstring_eq bool 2 22 23 iconst 26 1 sub 24 26 25 call 27 pith_cstring_release void 1 23 -brif 24 L1317 L1318 -label L1317 +brif 24 L1362 L1363 +label L1362 iconst 28 0 iconst 29 1 sub 30 28 29 @@ -133180,8 +133481,8 @@ call 32 pith_struct_release void 1 31 load 33 field_kind call 34 pith_cstring_release void 1 33 ret 30 -label L1318 -label L1316 +label L1363 +label L1361 iconst 35 0 iconst 36 1 sub 37 35 36 @@ -133193,12 +133494,12 @@ iconst 41 0 store __for_idx_327 41 store __for_len_327 40 store __for_iter_327 39 -label L1319 +label L1364 load 42 __for_idx_327 load 43 __for_len_327 lt 44 42 43 -brif 44 L1320 L1322 -label L1320 +brif 44 L1365 L1367 +label L1365 load 45 __for_iter_327 load 46 __for_idx_327 call 47 pith_list_get_value_unchecked string 2 45 46 @@ -133208,38 +133509,38 @@ store __loopvar_327_i 48 load 49 __loopvar_327_name load 50 field_name call 51 pith_cstring_eq bool 2 49 50 -brif 51 L1324 L1325 -label L1324 +brif 51 L1369 L1370 +label L1369 load 52 __loopvar_327_i store field_index 52 -jmp L1323 -label L1325 -label L1323 -label L1321 +jmp L1368 +label L1370 +label L1368 +label L1366 load 53 __for_idx_327 iconst 54 1 add 55 53 54 store __for_idx_327 55 -jmp L1319 -label L1322 +jmp L1364 +label L1367 iconst 56 0 -store __or_56_1329 56 +store __or_56_1374 56 load 57 field_index iconst 58 0 lt 59 57 58 -store __or_56_1329 59 -brif 59 L1330 L1329 -label L1329 +store __or_56_1374 59 +brif 59 L1375 L1374 +label L1374 load 60 field_index load 61 recv_info field 62 61 24 list field_types call 63 pith_list_len int 1 62 gte 64 60 63 -store __or_56_1329 64 -label L1330 -load 65 __or_56_1329 -brif 65 L1327 L1328 -label L1327 +store __or_56_1374 64 +label L1375 +load 65 __or_56_1374 +brif 65 L1372 L1373 +label L1372 iconst 66 0 iconst 67 1 sub 68 66 67 @@ -133248,14 +133549,14 @@ call 70 pith_struct_release void 1 69 load 71 field_kind call 72 pith_cstring_release void 1 71 ret 68 -label L1328 -label L1326 +label L1373 +label L1371 load 73 recv_info field 74 73 8 string name load 75 field_name call 76 ir_emitter_core_ir_struct_field_is_weak bool 2 74 75 -brif 76 L1332 L1333 -label L1332 +brif 76 L1377 L1378 +label L1377 iconst 77 0 iconst 78 1 sub 79 77 78 @@ -133264,8 +133565,8 @@ call 81 pith_struct_release void 1 80 load 82 field_kind call 83 pith_cstring_release void 1 82 ret 79 -label L1333 -label L1331 +label L1378 +label L1376 load 84 field_index iconst 85 8 mul 86 84 85 @@ -133354,8 +133655,8 @@ load 11 impl_name call 12 string_len int 1 11 iconst 13 0 gt 14 12 13 -brif 14 L1335 L1336 -label L1335 +brif 14 L1380 L1381 +label L1380 load 15 declared load 16 impl_name call 17 ir_alias_registry_ir_declared_callable_return_type string 1 16 @@ -133365,8 +133666,8 @@ load 19 declared call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L1338 L1339 -label L1338 +brif 22 L1383 L1384 +label L1383 load 23 declared load 24 impl_name call 25 pith_cstring_release void 1 24 @@ -133375,15 +133676,15 @@ call 27 pith_cstring_release void 1 26 load 28 collection_type call 29 pith_cstring_release void 1 28 ret 23 -label L1339 -label L1337 -jmp L1334 -label L1336 -label L1334 +label L1384 +label L1382 +jmp L1379 +label L1381 +label L1379 load 30 meth call 31 ir_metadata_ir_is_bool_returning_method bool 1 30 -brif 31 L1341 L1342 -label L1341 +brif 31 L1386 L1387 +label L1386 strref 32 m46s673 load 33 impl_name call 34 pith_cstring_release void 1 33 @@ -133394,8 +133695,8 @@ call 38 pith_cstring_release void 1 37 load 39 collection_type call 40 pith_cstring_release void 1 39 ret 32 -label L1342 -label L1340 +label L1387 +label L1385 load 41 string_type load 42 meth call 43 ir_type_helpers_ir_known_string_method_return_type string 1 42 @@ -133405,8 +133706,8 @@ load 45 string_type call 46 string_len int 1 45 iconst 47 0 gt 48 46 47 -brif 48 L1344 L1345 -label L1344 +brif 48 L1389 L1390 +label L1389 load 49 string_type load 50 impl_name call 51 pith_cstring_release void 1 50 @@ -133415,14 +133716,14 @@ call 53 pith_cstring_release void 1 52 load 54 collection_type call 55 pith_cstring_release void 1 54 ret 49 -label L1345 -label L1343 +label L1390 +label L1388 load 56 meth strref 57 m46s274 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L1347 L1348 -label L1347 +brif 58 L1392 L1393 +label L1392 strref 60 m46s672 load 61 impl_name call 62 pith_cstring_release void 1 61 @@ -133433,26 +133734,26 @@ call 66 pith_cstring_release void 1 65 load 67 collection_type call 68 pith_cstring_release void 1 67 ret 60 -label L1348 -label L1346 +label L1393 +label L1391 iconst 69 0 -store __or_69_1352 69 +store __or_69_1397 69 load 70 meth strref 71 m46s206 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_69_1352 72 -brif 72 L1353 L1352 -label L1352 +store __or_69_1397 72 +brif 72 L1398 L1397 +label L1397 load 74 meth strref 75 m46s204 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -store __or_69_1352 76 -label L1353 -load 78 __or_69_1352 -brif 78 L1350 L1351 -label L1350 +store __or_69_1397 76 +label L1398 +load 78 __or_69_1397 +brif 78 L1395 L1396 +label L1395 strref 79 m46s671 load 80 impl_name call 81 pith_cstring_release void 1 80 @@ -133463,38 +133764,38 @@ call 85 pith_cstring_release void 1 84 load 86 collection_type call 87 pith_cstring_release void 1 86 ret 79 -label L1351 -label L1349 +label L1396 +label L1394 iconst 88 0 -store __and_88_1357 88 +store __and_88_1402 88 iconst 89 0 -store __or_89_1357 89 +store __or_89_1402 89 load 90 meth strref 91 m46s261 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -store __or_89_1357 92 -brif 92 L1358 L1357 -label L1357 +store __or_89_1402 92 +brif 92 L1403 L1402 +label L1402 load 94 meth strref 95 m46s289 call 96 pith_cstring_eq bool 2 94 95 call 97 pith_cstring_release void 1 95 -store __or_89_1357 96 -label L1358 -load 98 __or_89_1357 -store __and_88_1357 98 -brif 98 L1359 L1360 -label L1359 +store __or_89_1402 96 +label L1403 +load 98 __or_89_1402 +store __and_88_1402 98 +brif 98 L1404 L1405 +label L1404 load 99 obj_type strref 100 m46s674 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __and_88_1357 101 -label L1360 -load 103 __and_88_1357 -brif 103 L1355 L1356 -label L1355 +store __and_88_1402 101 +label L1405 +load 103 __and_88_1402 +brif 103 L1400 L1401 +label L1400 strref 104 m46s674 load 105 impl_name call 106 pith_cstring_release void 1 105 @@ -133505,8 +133806,8 @@ call 110 pith_cstring_release void 1 109 load 111 collection_type call 112 pith_cstring_release void 1 111 ret 104 -label L1356 -label L1354 +label L1401 +label L1399 load 113 collection_type load 114 obj_type load 115 meth @@ -133517,8 +133818,8 @@ load 118 collection_type call 119 string_len int 1 118 iconst 120 0 gt 121 119 120 -brif 121 L1362 L1363 -label L1362 +brif 121 L1407 L1408 +label L1407 load 122 collection_type load 123 impl_name call 124 pith_cstring_release void 1 123 @@ -133527,8 +133828,8 @@ call 126 pith_cstring_release void 1 125 load 127 string_type call 128 pith_cstring_release void 1 127 ret 122 -label L1363 -label L1361 +label L1408 +label L1406 strref 129 m46s82 load 130 impl_name call 131 pith_cstring_release void 1 130 @@ -133565,95 +133866,95 @@ call 7 pith_cstring_retain void 1 6 call 8 pith_cstring_release void 1 4 store op 6 iconst 9 0 -store __or_9_1367 9 +store __or_9_1412 9 iconst 10 0 -store __or_10_1367 10 +store __or_10_1412 10 iconst 11 0 -store __or_11_1367 11 +store __or_11_1412 11 iconst 12 0 -store __or_12_1367 12 +store __or_12_1412 12 iconst 13 0 -store __or_13_1367 13 +store __or_13_1412 13 iconst 14 0 -store __or_14_1367 14 +store __or_14_1412 14 iconst 15 0 -store __or_15_1367 15 +store __or_15_1412 15 load 16 op strref 17 m46s469 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -store __or_15_1367 18 -brif 18 L1368 L1367 -label L1367 +store __or_15_1412 18 +brif 18 L1413 L1412 +label L1412 load 20 op strref 21 m46s467 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_15_1367 22 -label L1368 -load 24 __or_15_1367 -store __or_14_1367 24 -brif 24 L1370 L1369 -label L1369 +store __or_15_1412 22 +label L1413 +load 24 __or_15_1412 +store __or_14_1412 24 +brif 24 L1415 L1414 +label L1414 load 25 op strref 26 m46s465 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_14_1367 27 -label L1370 -load 29 __or_14_1367 -store __or_13_1367 29 -brif 29 L1372 L1371 -label L1371 +store __or_14_1412 27 +label L1415 +load 29 __or_14_1412 +store __or_13_1412 29 +brif 29 L1417 L1416 +label L1416 load 30 op strref 31 m46s462 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_13_1367 32 -label L1372 -load 34 __or_13_1367 -store __or_12_1367 34 -brif 34 L1374 L1373 -label L1373 +store __or_13_1412 32 +label L1417 +load 34 __or_13_1412 +store __or_12_1412 34 +brif 34 L1419 L1418 +label L1418 load 35 op strref 36 m46s459 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_12_1367 37 -label L1374 -load 39 __or_12_1367 -store __or_11_1367 39 -brif 39 L1376 L1375 -label L1375 +store __or_12_1412 37 +label L1419 +load 39 __or_12_1412 +store __or_11_1412 39 +brif 39 L1421 L1420 +label L1420 load 40 op strref 41 m46s456 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_11_1367 42 -label L1376 -load 44 __or_11_1367 -store __or_10_1367 44 -brif 44 L1378 L1377 -label L1377 +store __or_11_1412 42 +label L1421 +load 44 __or_11_1412 +store __or_10_1412 44 +brif 44 L1423 L1422 +label L1422 load 45 op strref 46 m46s453 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __or_10_1367 47 -label L1378 -load 49 __or_10_1367 -store __or_9_1367 49 -brif 49 L1380 L1379 -label L1379 +store __or_10_1412 47 +label L1423 +load 49 __or_10_1412 +store __or_9_1412 49 +brif 49 L1425 L1424 +label L1424 load 50 op strref 51 m46s451 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_9_1367 52 -label L1380 -load 54 __or_9_1367 -brif 54 L1365 L1366 -label L1365 +store __or_9_1412 52 +label L1425 +load 54 __or_9_1412 +brif 54 L1410 L1411 +label L1410 strref 55 m46s673 load 56 op call 57 pith_cstring_release void 1 56 @@ -133662,69 +133963,69 @@ call 59 pith_cstring_release void 1 58 load 60 rt call 61 pith_cstring_release void 1 60 ret 55 -label L1366 -label L1364 +label L1411 +label L1409 iconst 62 0 -store __or_62_1384 62 +store __or_62_1429 62 iconst 63 0 -store __or_63_1384 63 +store __or_63_1429 63 iconst 64 0 -store __or_64_1384 64 +store __or_64_1429 64 iconst 65 0 -store __or_65_1384 65 +store __or_65_1429 65 load 66 op strref 67 m46s234 call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 67 -store __or_65_1384 68 -brif 68 L1385 L1384 -label L1384 +store __or_65_1429 68 +brif 68 L1430 L1429 +label L1429 load 70 op strref 71 m46s481 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_65_1384 72 -label L1385 -load 74 __or_65_1384 -store __or_64_1384 74 -brif 74 L1387 L1386 -label L1386 +store __or_65_1429 72 +label L1430 +load 74 __or_65_1429 +store __or_64_1429 74 +brif 74 L1432 L1431 +label L1431 load 75 op strref 76 m46s478 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_64_1384 77 -label L1387 -load 79 __or_64_1384 -store __or_63_1384 79 -brif 79 L1389 L1388 -label L1388 +store __or_64_1429 77 +label L1432 +load 79 __or_64_1429 +store __or_63_1429 79 +brif 79 L1434 L1433 +label L1433 load 80 op strref 81 m46s475 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -store __or_63_1384 82 -label L1389 -load 84 __or_63_1384 -store __or_62_1384 84 -brif 84 L1391 L1390 -label L1390 +store __or_63_1429 82 +label L1434 +load 84 __or_63_1429 +store __or_62_1429 84 +brif 84 L1436 L1435 +label L1435 load 85 op strref 86 m46s472 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -store __or_62_1384 87 -label L1391 -load 89 __or_62_1384 -brif 89 L1382 L1383 -label L1382 +store __or_62_1429 87 +label L1436 +load 89 __or_62_1429 +brif 89 L1427 L1428 +label L1427 load 90 node field 91 90 16 list children call 92 pith_list_len int 1 91 iconst 93 2 gte 94 92 93 -brif 94 L1393 L1394 -label L1393 +brif 94 L1438 L1439 +label L1438 load 95 lt load 96 node field 97 96 16 list children @@ -133742,23 +134043,23 @@ call 107 ir_emitter_core_ir_infer_type string 1 106 call 108 pith_cstring_release void 1 102 store rt 107 iconst 109 0 -store __or_109_1398 109 +store __or_109_1443 109 load 110 lt strref 111 m46s672 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -store __or_109_1398 112 -brif 112 L1399 L1398 -label L1398 +store __or_109_1443 112 +brif 112 L1444 L1443 +label L1443 load 114 rt strref 115 m46s672 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 -store __or_109_1398 116 -label L1399 -load 118 __or_109_1398 -brif 118 L1396 L1397 -label L1396 +store __or_109_1443 116 +label L1444 +load 118 __or_109_1443 +brif 118 L1441 L1442 +label L1441 strref 119 m46s672 load 120 op call 121 pith_cstring_release void 1 120 @@ -133767,26 +134068,26 @@ call 123 pith_cstring_release void 1 122 load 124 rt call 125 pith_cstring_release void 1 124 ret 119 -label L1397 -label L1395 +label L1442 +label L1440 iconst 126 0 -store __or_126_1403 126 +store __or_126_1448 126 load 127 lt strref 128 m46s675 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -store __or_126_1403 129 -brif 129 L1404 L1403 -label L1403 +store __or_126_1448 129 +brif 129 L1449 L1448 +label L1448 load 131 rt strref 132 m46s675 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -store __or_126_1403 133 -label L1404 -load 135 __or_126_1403 -brif 135 L1401 L1402 -label L1401 +store __or_126_1448 133 +label L1449 +load 135 __or_126_1448 +brif 135 L1446 L1447 +label L1446 strref 136 m46s675 load 137 op call 138 pith_cstring_release void 1 137 @@ -133795,11 +134096,11 @@ call 140 pith_cstring_release void 1 139 load 141 rt call 142 pith_cstring_release void 1 141 ret 136 -label L1402 -label L1400 -jmp L1392 -label L1394 -label L1392 +label L1447 +label L1445 +jmp L1437 +label L1439 +label L1437 strref 143 m46s671 load 144 op call 145 pith_cstring_release void 1 144 @@ -133808,8 +134109,8 @@ call 147 pith_cstring_release void 1 146 load 148 rt call 149 pith_cstring_release void 1 148 ret 143 -label L1383 -label L1381 +label L1428 +label L1426 strref 150 m46s671 load 151 op call 152 pith_cstring_release void 1 151 @@ -133843,29 +134144,29 @@ load 8 checked_index call 9 string_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L1406 L1407 -label L1406 +brif 11 L1451 L1452 +label L1451 load 12 checked_index load 13 coll_type call 14 pith_cstring_release void 1 13 ret 12 -label L1407 -label L1405 +label L1452 +label L1450 load 15 node field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 0 eq 19 17 18 -brif 19 L1409 L1410 -label L1409 +brif 19 L1454 L1455 +label L1454 strref 20 m46s82 load 21 checked_index call 22 pith_cstring_release void 1 21 load 23 coll_type call 24 pith_cstring_release void 1 23 ret 20 -label L1410 -label L1408 +label L1455 +label L1453 load 25 coll_type load 26 node field 27 26 16 list children @@ -133878,62 +134179,62 @@ load 32 coll_type strref 33 m46s675 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1412 L1413 -label L1412 +brif 34 L1457 L1458 +label L1457 strref 36 m46s675 load 37 checked_index call 38 pith_cstring_release void 1 37 load 39 coll_type call 40 pith_cstring_release void 1 39 ret 36 -label L1413 -label L1411 +label L1458 +label L1456 load 41 coll_type strref 42 m46s674 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -brif 43 L1415 L1416 -label L1415 +brif 43 L1460 L1461 +label L1460 strref 45 m46s671 load 46 checked_index call 47 pith_cstring_release void 1 46 load 48 coll_type call 49 pith_cstring_release void 1 48 ret 45 -label L1416 -label L1414 +label L1461 +label L1459 load 50 coll_type strref 51 m46s668 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L1418 L1419 -label L1418 +brif 52 L1463 L1464 +label L1463 strref 54 m46s675 load 55 checked_index call 56 pith_cstring_release void 1 55 load 57 coll_type call 58 pith_cstring_release void 1 57 ret 54 -label L1419 -label L1417 +label L1464 +label L1462 iconst 59 0 -store __or_59_1423 59 +store __or_59_1468 59 load 60 coll_type strref 61 m46s19 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __or_59_1423 62 -brif 62 L1424 L1423 -label L1423 +store __or_59_1468 62 +brif 62 L1469 L1468 +label L1468 load 64 coll_type strref 65 m46s670 call 66 pith_cstring_eq bool 2 64 65 call 67 pith_cstring_release void 1 65 -store __or_59_1423 66 -label L1424 -load 68 __or_59_1423 -brif 68 L1421 L1422 -label L1421 +store __or_59_1468 66 +label L1469 +load 68 __or_59_1468 +brif 68 L1466 L1467 +label L1466 load 69 node field 70 69 16 list children iconst 71 0 @@ -133944,8 +134245,8 @@ call 75 pith_cstring_release void 1 74 load 76 coll_type call 77 pith_cstring_release void 1 76 ret 73 -label L1422 -label L1420 +label L1467 +label L1465 strref 78 m46s82 load 79 checked_index call 80 pith_cstring_release void 1 79 @@ -133971,16 +134272,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L1426 L1427 -label L1426 +brif 8 L1471 L1472 +label L1471 strref 9 m46s82 load 10 callee_node call 11 pith_struct_release void 1 10 load 12 callee call 13 pith_struct_release void 1 12 ret 9 -label L1427 -label L1425 +label L1472 +label L1470 load 14 callee_node load 15 node field 16 15 16 list children @@ -133990,24 +134291,24 @@ call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 14 store callee_node 19 iconst 21 0 -store __and_21_1431 21 +store __and_21_1476 21 load 22 callee_node field 23 22 0 string kind strref 24 m46s37 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_1431 25 -brif 25 L1431 L1432 -label L1431 +store __and_21_1476 25 +brif 25 L1476 L1477 +label L1476 load 27 ir_emitter_core_ir_closure_return_kinds load 28 callee_node field 29 28 8 string value call 30 contains_key bool 2 27 29 -store __and_21_1431 30 -label L1432 -load 31 __and_21_1431 -brif 31 L1429 L1430 -label L1429 +store __and_21_1476 30 +label L1477 +load 31 __and_21_1476 +brif 31 L1474 L1475 +label L1474 load 32 ir_emitter_core_ir_closure_return_kinds load 33 callee_node field 34 33 8 string value @@ -134018,8 +134319,8 @@ call 38 pith_struct_release void 1 37 load 39 callee call 40 pith_struct_release void 1 39 ret 35 -label L1430 -label L1428 +label L1475 +label L1473 load 41 callee load 42 node field 43 42 16 list children @@ -134033,16 +134334,16 @@ field 49 48 0 string name call 50 string_len int 1 49 iconst 51 0 eq 52 50 51 -brif 52 L1434 L1435 -label L1434 +brif 52 L1479 L1480 +label L1479 strref 53 m46s82 load 54 callee_node call 55 pith_struct_release void 1 54 load 56 callee call 57 pith_struct_release void 1 56 ret 53 -label L1435 -label L1433 +label L1480 +label L1478 load 58 callee field 59 58 0 string name call 60 ir_emitter_core_ir_known_callable_return_type string 1 59 @@ -134074,8 +134375,8 @@ load 8 alias_fname call 9 string_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L1437 L1438 -label L1437 +brif 11 L1482 L1483 +label L1482 load 12 alias_fname call 13 ir_emitter_core_ir_known_callable_return_type string 1 12 load 14 alias_fname @@ -134083,8 +134384,8 @@ call 15 pith_cstring_release void 1 14 load 16 obj_type call 17 pith_cstring_release void 1 16 ret 13 -label L1438 -label L1436 +label L1483 +label L1481 load 18 obj_type strref 19 m46s82 call 20 pith_cstring_release void 1 18 @@ -134094,8 +134395,8 @@ field 22 21 16 list children call 23 pith_list_len int 1 22 iconst 24 0 gt 25 23 24 -brif 25 L1440 L1441 -label L1440 +brif 25 L1485 L1486 +label L1485 load 26 obj_type load 27 node field 28 27 16 list children @@ -134104,9 +134405,9 @@ call 30 pith_list_get_value_strict int 2 28 29 call 31 ir_emitter_core_ir_infer_type string 1 30 call 32 pith_cstring_release void 1 26 store obj_type 31 -jmp L1439 -label L1441 -label L1439 +jmp L1484 +label L1486 +label L1484 load 33 obj_type load 34 idx call 35 ast_node_value string 1 34 @@ -134137,14 +134438,14 @@ store recv_tid 4 load 5 recv_tid iconst 6 0 lt 7 5 6 -brif 7 L1443 L1444 -label L1443 +brif 7 L1488 L1489 +label L1488 strref 8 m46s82 load 9 recv_info call 10 pith_struct_release void 1 9 ret 8 -label L1444 -label L1442 +label L1489 +label L1487 load 11 recv_info load 12 recv_tid call 13 types_get_type_info struct:TypeInfo 1 12 @@ -134157,14 +134458,14 @@ call 19 pith_cstring_eq bool 2 16 17 iconst 20 1 sub 18 20 19 call 21 pith_cstring_release void 1 17 -brif 18 L1446 L1447 -label L1446 +brif 18 L1491 L1492 +label L1491 strref 22 m46s82 load 23 recv_info call 24 pith_struct_release void 1 23 ret 22 -label L1447 -label L1445 +label L1492 +label L1490 load 25 recv_info field 26 25 16 list_string fields call 27 pith_auto_len int 1 26 @@ -134172,12 +134473,12 @@ iconst 28 0 store __for_idx_328 28 store __for_len_328 27 store __for_iter_328 26 -label L1448 +label L1493 load 29 __for_idx_328 load 30 __for_len_328 lt 31 29 30 -brif 31 L1449 L1451 -label L1449 +brif 31 L1494 L1496 +label L1494 load 32 __for_iter_328 load 33 __for_idx_328 call 34 pith_list_get_value_unchecked string 2 32 33 @@ -134185,23 +134486,23 @@ store __loopvar_328_name 34 load 35 __for_idx_328 store __loopvar_328_i 35 iconst 36 0 -store __and_36_1455 36 +store __and_36_1500 36 load 37 __loopvar_328_name load 38 field_name call 39 pith_cstring_eq bool 2 37 38 -store __and_36_1455 39 -brif 39 L1455 L1456 -label L1455 +store __and_36_1500 39 +brif 39 L1500 L1501 +label L1500 load 40 __loopvar_328_i load 41 recv_info field 42 41 24 list field_types call 43 pith_list_len int 1 42 lt 44 40 43 -store __and_36_1455 44 -label L1456 -load 45 __and_36_1455 -brif 45 L1453 L1454 -label L1453 +store __and_36_1500 44 +label L1501 +load 45 __and_36_1500 +brif 45 L1498 L1499 +label L1498 load 46 recv_info field 47 46 24 list field_types load 48 __loopvar_328_i @@ -134210,15 +134511,15 @@ call 50 ir_type_helpers_ir_type_from_tid string 1 49 load 51 recv_info call 52 pith_struct_release void 1 51 ret 50 -label L1454 -label L1452 -label L1450 +label L1499 +label L1497 +label L1495 load 53 __for_idx_328 iconst 54 1 add 55 53 54 store __for_idx_328 55 -jmp L1448 -label L1451 +jmp L1493 +label L1496 strref 56 m46s82 load 57 recv_info call 58 pith_struct_release void 1 57 @@ -134245,8 +134546,8 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L1458 L1459 -label L1458 +brif 10 L1503 L1504 +label L1503 strref 11 m46s82 load 12 fname call 13 pith_cstring_release void 1 12 @@ -134259,8 +134560,8 @@ call 19 pith_cstring_release void 1 18 load 20 lookup_key call 21 pith_cstring_release void 1 20 ret 11 -label L1459 -label L1457 +label L1504 +label L1502 load 22 fname load 23 node field 24 23 8 string value @@ -134268,23 +134569,23 @@ call 25 pith_cstring_retain void 1 24 call 26 pith_cstring_release void 1 22 store fname 24 iconst 27 0 -store __or_27_1463 27 +store __or_27_1508 27 load 28 fname strref 29 m46s184 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_27_1463 30 -brif 30 L1464 L1463 -label L1463 +store __or_27_1508 30 +brif 30 L1509 L1508 +label L1508 load 32 fname strref 33 m46s183 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_27_1463 34 -label L1464 -load 36 __or_27_1463 -brif 36 L1461 L1462 -label L1461 +store __or_27_1508 34 +label L1509 +load 36 __or_27_1508 +brif 36 L1506 L1507 +label L1506 strref 37 m46s673 load 38 fname call 39 pith_cstring_release void 1 38 @@ -134297,14 +134598,14 @@ call 45 pith_cstring_release void 1 44 load 46 lookup_key call 47 pith_cstring_release void 1 46 ret 37 -label L1462 -label L1460 +label L1507 +label L1505 load 48 fname strref 49 m46s182 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -brif 50 L1466 L1467 -label L1466 +brif 50 L1511 L1512 +label L1511 load 52 node field 53 52 16 list children iconst 54 0 @@ -134314,8 +134615,8 @@ store obj_tid 56 load 57 obj_tid iconst 58 0 gte 59 57 58 -brif 59 L1469 L1470 -label L1469 +brif 59 L1514 L1515 +label L1514 load 60 obj_info load 61 obj_tid call 62 types_get_type_info struct:TypeInfo 1 61 @@ -134326,8 +134627,8 @@ field 65 64 0 string kind strref 66 m46s22 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L1472 L1473 -label L1472 +brif 67 L1517 L1518 +label L1517 load 69 obj_info field 70 69 64 int inner call 71 ir_type_helpers_ir_type_from_tid string 1 70 @@ -134342,20 +134643,20 @@ call 79 pith_cstring_release void 1 78 load 80 lookup_key call 81 pith_cstring_release void 1 80 ret 71 -label L1473 -label L1471 -jmp L1468 -label L1470 -label L1468 -jmp L1465 -label L1467 -label L1465 +label L1518 +label L1516 +jmp L1513 +label L1515 +label L1513 +jmp L1510 +label L1512 +label L1510 load 82 fname strref 83 m46s181 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 83 -brif 84 L1475 L1476 -label L1475 +brif 84 L1520 L1521 +label L1520 load 86 node field 87 86 16 list children iconst 88 0 @@ -134365,8 +134666,8 @@ store obj_tid 90 load 91 obj_tid iconst 92 0 gte 93 91 92 -brif 93 L1478 L1479 -label L1478 +brif 93 L1523 L1524 +label L1523 load 94 obj_info load 95 obj_tid call 96 types_get_type_info struct:TypeInfo 1 95 @@ -134377,8 +134678,8 @@ field 99 98 0 string kind strref 100 m46s22 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -brif 101 L1481 L1482 -label L1481 +brif 101 L1526 L1527 +label L1526 load 103 obj_info field 104 103 80 int value_type call 105 ir_type_helpers_ir_type_from_tid string 1 104 @@ -134393,14 +134694,14 @@ call 113 pith_cstring_release void 1 112 load 114 lookup_key call 115 pith_cstring_release void 1 114 ret 105 -label L1482 -label L1480 -jmp L1477 -label L1479 -label L1477 -jmp L1474 -label L1476 -label L1474 +label L1527 +label L1525 +jmp L1522 +label L1524 +label L1522 +jmp L1519 +label L1521 +label L1519 load 116 concrete_field_type load 117 node field 118 117 16 list children @@ -134414,8 +134715,8 @@ load 124 concrete_field_type call 125 string_len int 1 124 iconst 126 0 gt 127 125 126 -brif 127 L1484 L1485 -label L1484 +brif 127 L1529 L1530 +label L1529 load 128 concrete_field_type load 129 fname call 130 pith_cstring_release void 1 129 @@ -134426,8 +134727,8 @@ call 134 pith_cstring_release void 1 133 load 135 lookup_key call 136 pith_cstring_release void 1 135 ret 128 -label L1485 -label L1483 +label L1530 +label L1528 load 137 obj_type load 138 node field 139 138 16 list children @@ -134440,8 +134741,8 @@ load 144 obj_type call 145 string_len int 1 144 iconst 146 0 eq 147 145 146 -brif 147 L1487 L1488 -label L1487 +brif 147 L1532 L1533 +label L1532 strref 148 m46s82 load 149 fname call 150 pith_cstring_release void 1 149 @@ -134454,8 +134755,8 @@ call 156 pith_cstring_release void 1 155 load 157 lookup_key call 158 pith_cstring_release void 1 157 ret 148 -label L1488 -label L1486 +label L1533 +label L1531 load 159 lookup_key load 160 obj_type strref 161 m46s26 @@ -134469,8 +134770,8 @@ store lookup_key 165 load 168 ir_struct_registry_ir_struct_field_lookup load 169 lookup_key call 170 contains_key bool 2 168 169 -brif 170 L1490 L1491 -label L1490 +brif 170 L1535 L1536 +label L1535 load 171 ir_struct_registry_ir_struct_field_lookup load 172 lookup_key call 173 map_get_strict string 2 171 172 @@ -134486,8 +134787,8 @@ call 182 pith_cstring_release void 1 181 load 183 lookup_key call 184 pith_cstring_release void 1 183 ret 173 -label L1491 -label L1489 +label L1536 +label L1534 strref 185 m46s82 load 186 fname call 187 pith_cstring_release void 1 186 @@ -134526,8 +134827,8 @@ store literal_type 4 load 5 idx iconst 6 0 lt 7 5 6 -brif 7 L1493 L1494 -label L1493 +brif 7 L1538 L1539 +label L1538 strref 8 m46s82 load 9 checked call 10 pith_cstring_release void 1 9 @@ -134538,8 +134839,8 @@ call 14 pith_cstring_release void 1 13 load 15 literal_type call 16 pith_cstring_release void 1 15 ret 8 -label L1494 -label L1492 +label L1539 +label L1537 load 17 checked load 18 idx call 19 ir_type_helpers_ir_checked_type string 1 18 @@ -134549,8 +134850,8 @@ load 21 checked call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -brif 24 L1496 L1497 -label L1496 +brif 24 L1541 L1542 +label L1541 load 25 checked load 26 node call 27 pith_struct_release void 1 26 @@ -134559,8 +134860,8 @@ call 29 pith_cstring_release void 1 28 load 30 literal_type call 31 pith_cstring_release void 1 30 ret 25 -label L1497 -label L1495 +label L1542 +label L1540 load 32 node load 33 idx call 34 ast_get_node struct:Node 1 33 @@ -134581,8 +134882,8 @@ load 45 literal_type call 46 string_len int 1 45 iconst 47 0 gt 48 46 47 -brif 48 L1499 L1500 -label L1499 +brif 48 L1544 L1545 +label L1544 load 49 literal_type load 50 checked call 51 pith_cstring_release void 1 50 @@ -134591,14 +134892,14 @@ call 53 pith_struct_release void 1 52 load 54 kind call 55 pith_cstring_release void 1 54 ret 49 -label L1500 -label L1498 +label L1545 +label L1543 load 56 kind strref 57 m46s37 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L1502 L1503 -label L1502 +brif 58 L1547 L1548 +label L1547 load 60 node field 61 60 8 string value call 62 ir_emitter_core_ir_lookup_name_type string 1 61 @@ -134611,20 +134912,20 @@ call 68 pith_cstring_release void 1 67 load 69 literal_type call 70 pith_cstring_release void 1 69 ret 62 -label L1503 -label L1501 +label L1548 +label L1546 load 71 kind strref 72 m46s515 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -brif 73 L1505 L1506 -label L1505 +brif 73 L1550 L1551 +label L1550 load 75 ir_emitter_core_ir_current_impl_type call 76 string_len int 1 75 iconst 77 0 gt 78 76 77 -brif 78 L1508 L1509 -label L1508 +brif 78 L1553 L1554 +label L1553 load 79 ir_emitter_core_ir_current_impl_type call 80 pith_cstring_retain void 1 79 load 81 checked @@ -134636,8 +134937,8 @@ call 86 pith_cstring_release void 1 85 load 87 literal_type call 88 pith_cstring_release void 1 87 ret 79 -label L1509 -label L1507 +label L1554 +label L1552 strref 89 m46s15 load 90 checked call 91 pith_cstring_release void 1 90 @@ -134648,27 +134949,27 @@ call 95 pith_cstring_release void 1 94 load 96 literal_type call 97 pith_cstring_release void 1 96 ret 89 -label L1506 -label L1504 +label L1551 +label L1549 iconst 98 0 -store __and_98_1513 98 +store __and_98_1558 98 load 99 kind strref 100 m46s512 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __and_98_1513 101 -brif 101 L1513 L1514 -label L1513 +store __and_98_1558 101 +brif 101 L1558 L1559 +label L1558 load 103 node field 104 103 16 list children call 105 pith_list_len int 1 104 iconst 106 0 gt 107 105 106 -store __and_98_1513 107 -label L1514 -load 108 __and_98_1513 -brif 108 L1511 L1512 -label L1511 +store __and_98_1558 107 +label L1559 +load 108 __and_98_1558 +brif 108 L1556 L1557 +label L1556 load 109 node field 110 109 16 list children iconst 111 0 @@ -134683,14 +134984,14 @@ call 119 pith_cstring_release void 1 118 load 120 literal_type call 121 pith_cstring_release void 1 120 ret 113 -label L1512 -label L1510 +label L1557 +label L1555 load 122 kind strref 123 m46s514 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -brif 124 L1516 L1517 -label L1516 +brif 124 L1561 L1562 +label L1561 load 126 node call 127 ir_emitter_core_ir_binary_expr_type string 1 126 load 128 checked @@ -134702,14 +135003,14 @@ call 133 pith_cstring_release void 1 132 load 134 literal_type call 135 pith_cstring_release void 1 134 ret 127 -label L1517 -label L1515 +label L1562 +label L1560 load 136 kind strref 137 m46s513 call 138 pith_cstring_eq bool 2 136 137 call 139 pith_cstring_release void 1 137 -brif 138 L1519 L1520 -label L1519 +brif 138 L1564 L1565 +label L1564 load 140 node call 141 ir_type_helpers_ir_unary_expr_type string 1 140 load 142 checked @@ -134721,14 +135022,14 @@ call 147 pith_cstring_release void 1 146 load 148 literal_type call 149 pith_cstring_release void 1 148 ret 141 -label L1520 -label L1518 +label L1565 +label L1563 load 150 kind strref 151 m46s44 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -brif 152 L1522 L1523 -label L1522 +brif 152 L1567 L1568 +label L1567 load 154 idx load 155 node call 156 ir_emitter_core_ir_call_expr_type string 2 154 155 @@ -134741,14 +135042,14 @@ call 162 pith_cstring_release void 1 161 load 163 literal_type call 164 pith_cstring_release void 1 163 ret 156 -label L1523 -label L1521 +label L1568 +label L1566 load 165 kind strref 166 m46s129 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -brif 167 L1525 L1526 -label L1525 +brif 167 L1570 L1571 +label L1570 load 169 idx load 170 node call 171 ir_emitter_core_ir_method_expr_type string 2 169 170 @@ -134761,14 +135062,14 @@ call 177 pith_cstring_release void 1 176 load 178 literal_type call 179 pith_cstring_release void 1 178 ret 171 -label L1526 -label L1524 +label L1571 +label L1569 load 180 kind strref 181 m46s36 call 182 pith_cstring_eq bool 2 180 181 call 183 pith_cstring_release void 1 181 -brif 182 L1528 L1529 -label L1528 +brif 182 L1573 L1574 +label L1573 load 184 node call 185 ir_emitter_core_ir_field_expr_type string 1 184 load 186 checked @@ -134780,14 +135081,14 @@ call 191 pith_cstring_release void 1 190 load 192 literal_type call 193 pith_cstring_release void 1 192 ret 185 -label L1529 -label L1527 +label L1574 +label L1572 load 194 kind strref 195 m46s500 call 196 pith_cstring_eq bool 2 194 195 call 197 pith_cstring_release void 1 195 -brif 196 L1531 L1532 -label L1531 +brif 196 L1576 L1577 +label L1576 load 198 node field 199 198 8 string value call 200 ir_alias_registry_ir_resolve_type_hint string 1 199 @@ -134800,27 +135101,27 @@ call 206 pith_cstring_release void 1 205 load 207 literal_type call 208 pith_cstring_release void 1 207 ret 200 -label L1532 -label L1530 +label L1577 +label L1575 iconst 209 0 -store __and_209_1536 209 +store __and_209_1581 209 load 210 kind strref 211 m46s35 call 212 pith_cstring_eq bool 2 210 211 call 213 pith_cstring_release void 1 211 -store __and_209_1536 212 -brif 212 L1536 L1537 -label L1536 +store __and_209_1581 212 +brif 212 L1581 L1582 +label L1581 load 214 node field 215 214 16 list children call 216 pith_list_len int 1 215 iconst 217 0 gt 218 216 217 -store __and_209_1536 218 -label L1537 -load 219 __and_209_1536 -brif 219 L1534 L1535 -label L1534 +store __and_209_1581 218 +label L1582 +load 219 __and_209_1581 +brif 219 L1579 L1580 +label L1579 load 220 idx load 221 node call 222 ir_emitter_core_ir_index_expr_type string 2 220 221 @@ -134833,8 +135134,8 @@ call 228 pith_cstring_release void 1 227 load 229 literal_type call 230 pith_cstring_release void 1 229 ret 222 -label L1535 -label L1533 +label L1580 +label L1578 strref 231 m46s82 load 232 checked call 233 pith_cstring_release void 1 232 @@ -134894,15 +135195,15 @@ load 10 target_type strref 11 m46s23 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L1539 L1540 -label L1539 +brif 12 L1584 L1585 +label L1584 load 14 vn field 15 14 0 string kind strref 16 m46s56 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L1542 L1543 -label L1542 +brif 17 L1587 L1588 +label L1587 call 19 ir_optionals_ir_emit_optional_none_value int 0 load 20 vn call 21 pith_struct_release void 1 20 @@ -134913,8 +135214,8 @@ call 25 pith_cstring_release void 1 24 load 26 empty_init_call call 27 pith_cstring_release void 1 26 ret 19 -label L1543 -label L1541 +label L1588 +label L1586 load 28 val_idx call 29 ir_emitter_core_ir_expr int 1 28 store value_r 29 @@ -134924,57 +135225,57 @@ store actual_tid 31 load 32 actual_tid iconst 33 0 gte 34 32 33 -brif 34 L1545 L1546 -label L1545 +brif 34 L1590 L1591 +label L1590 load 35 actual_info load 36 actual_tid call 37 types_get_type_info struct:TypeInfo 1 36 call 38 pith_struct_release void 1 35 store actual_info 37 iconst 39 0 -store __or_39_1550 39 +store __or_39_1595 39 iconst 40 0 -store __or_40_1550 40 +store __or_40_1595 40 load 41 actual_info field 42 41 0 string kind strref 43 m46s21 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __or_40_1550 44 -brif 44 L1551 L1550 -label L1550 +store __or_40_1595 44 +brif 44 L1596 L1595 +label L1595 load 46 actual_info field 47 46 0 string kind strref 48 m46s22 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_40_1550 49 -label L1551 -load 51 __or_40_1550 -store __or_39_1550 51 -brif 51 L1553 L1552 -label L1552 +store __or_40_1595 49 +label L1596 +load 51 __or_40_1595 +store __or_39_1595 51 +brif 51 L1598 L1597 +label L1597 load 52 actual_info field 53 52 0 string kind strref 54 m46s23 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_39_1550 55 -label L1553 -load 57 __or_39_1550 -brif 57 L1548 L1549 -label L1548 +store __or_39_1595 55 +label L1598 +load 57 __or_39_1595 +brif 57 L1593 L1594 +label L1593 load 58 val_idx call 59 ir_emitter_core_ir_string_expr_is_borrowed bool 1 58 -brif 59 L1555 L1556 -label L1555 +brif 59 L1600 L1601 +label L1600 load 60 value_r strref 61 m46s23 call 62 ir_ownership_ir_rc_retain_reg void 2 60 61 call 63 pith_cstring_release void 1 61 -jmp L1554 -label L1556 -label L1554 +jmp L1599 +label L1601 +label L1599 load 64 value_r load 65 vn call 66 pith_struct_release void 1 65 @@ -134985,43 +135286,43 @@ call 70 pith_cstring_release void 1 69 load 71 empty_init_call call 72 pith_cstring_release void 1 71 ret 64 -label L1549 -label L1547 -jmp L1544 -label L1546 -label L1544 +label L1594 +label L1592 +jmp L1589 +label L1591 +label L1589 iconst 73 0 -store __and_73_1560 73 +store __and_73_1605 73 load 74 ir_emitter_core_ir_current_impl_subst_params call 75 pith_list_len int 1 74 iconst 76 0 gt 77 75 76 -store __and_73_1560 77 -brif 77 L1560 L1561 -label L1560 +store __and_73_1605 77 +brif 77 L1605 L1606 +label L1605 iconst 78 0 -store __or_78_1562 78 +store __or_78_1607 78 load 79 vn field 80 79 0 string kind strref 81 m46s129 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -store __or_78_1562 82 -brif 82 L1563 L1562 -label L1562 +store __or_78_1607 82 +brif 82 L1608 L1607 +label L1607 load 84 vn field 85 84 0 string kind strref 86 m46s44 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -store __or_78_1562 87 -label L1563 -load 89 __or_78_1562 -store __and_73_1560 89 -label L1561 -load 90 __and_73_1560 -brif 90 L1558 L1559 -label L1558 +store __or_78_1607 87 +label L1608 +load 89 __or_78_1607 +store __and_73_1605 89 +label L1606 +load 90 __and_73_1605 +brif 90 L1603 L1604 +label L1603 load 91 value_r load 92 vn call 93 pith_struct_release void 1 92 @@ -135032,8 +135333,8 @@ call 97 pith_cstring_release void 1 96 load 98 empty_init_call call 99 pith_cstring_release void 1 98 ret 91 -label L1559 -label L1557 +label L1604 +label L1602 load 100 payload_kind load 101 val_idx call 102 ir_emitter_core_ir_infer_type string 1 101 @@ -135042,81 +135343,81 @@ call 104 pith_cstring_release void 1 102 call 105 pith_cstring_release void 1 100 store payload_kind 103 iconst 106 0 -store __or_106_1567 106 +store __or_106_1612 106 iconst 107 0 -store __or_107_1567 107 +store __or_107_1612 107 iconst 108 0 -store __or_108_1567 108 +store __or_108_1612 108 iconst 109 0 -store __or_109_1567 109 +store __or_109_1612 109 iconst 110 0 -store __or_110_1567 110 +store __or_110_1612 110 load 111 payload_kind strref 112 m46s15 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -store __or_110_1567 113 -brif 113 L1568 L1567 -label L1567 +store __or_110_1612 113 +brif 113 L1613 L1612 +label L1612 load 115 payload_kind strref 116 m46s20 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -store __or_110_1567 117 -label L1568 -load 119 __or_110_1567 -store __or_109_1567 119 -brif 119 L1570 L1569 -label L1569 +store __or_110_1612 117 +label L1613 +load 119 __or_110_1612 +store __or_109_1612 119 +brif 119 L1615 L1614 +label L1614 load 120 payload_kind strref 121 m46s19 call 122 pith_cstring_eq bool 2 120 121 call 123 pith_cstring_release void 1 121 -store __or_109_1567 122 -label L1570 -load 124 __or_109_1567 -store __or_108_1567 124 -brif 124 L1572 L1571 -label L1571 +store __or_109_1612 122 +label L1615 +load 124 __or_109_1612 +store __or_108_1612 124 +brif 124 L1617 L1616 +label L1616 load 125 payload_kind strref 126 m46s18 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -store __or_108_1567 127 -label L1572 -load 129 __or_108_1567 -store __or_107_1567 129 -brif 129 L1574 L1573 -label L1573 +store __or_108_1612 127 +label L1617 +load 129 __or_108_1612 +store __or_107_1612 129 +brif 129 L1619 L1618 +label L1618 load 130 payload_kind strref 131 m46s674 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 -store __or_107_1567 132 -label L1574 -load 134 __or_107_1567 -store __or_106_1567 134 -brif 134 L1576 L1575 -label L1575 +store __or_107_1612 132 +label L1619 +load 134 __or_107_1612 +store __or_106_1612 134 +brif 134 L1621 L1620 +label L1620 load 135 payload_kind strref 136 m46s824 call 137 pith_cstring_eq bool 2 135 136 call 138 pith_cstring_release void 1 136 -store __or_106_1567 137 -label L1576 -load 139 __or_106_1567 -brif 139 L1565 L1566 -label L1565 +store __or_106_1612 137 +label L1621 +load 139 __or_106_1612 +brif 139 L1610 L1611 +label L1610 load 140 val_idx call 141 ir_emitter_core_ir_string_expr_is_borrowed bool 1 140 -brif 141 L1578 L1579 -label L1578 +brif 141 L1623 L1624 +label L1623 load 142 value_r load 143 payload_kind call 144 ir_ownership_ir_rc_retain_reg void 2 142 143 -jmp L1577 -label L1579 -label L1577 +jmp L1622 +label L1624 +label L1622 load 145 value_r load 146 payload_kind call 147 ir_optionals_ir_emit_optional_owned_some int 2 145 146 @@ -135129,8 +135430,8 @@ call 153 pith_cstring_release void 1 152 load 154 empty_init_call call 155 pith_cstring_release void 1 154 ret 147 -label L1566 -label L1564 +label L1611 +label L1609 load 156 value_r call 157 ir_optionals_ir_emit_optional_some_value int 1 156 load 158 vn @@ -135142,36 +135443,36 @@ call 163 pith_cstring_release void 1 162 load 164 empty_init_call call 165 pith_cstring_release void 1 164 ret 157 -label L1540 -label L1538 +label L1585 +label L1583 iconst 166 0 -store __and_166_1583 166 +store __and_166_1628 166 load 167 vn field 168 167 0 string kind strref 169 m46s20 call 170 pith_cstring_eq bool 2 168 169 call 171 pith_cstring_release void 1 169 -store __and_166_1583 170 -brif 170 L1583 L1584 -label L1583 +store __and_166_1628 170 +brif 170 L1628 L1629 +label L1628 load 172 vn field 173 172 16 list children call 174 pith_list_len int 1 173 iconst 175 0 eq 176 174 175 -store __and_166_1583 176 -label L1584 -load 177 __and_166_1583 -brif 177 L1581 L1582 -label L1581 +store __and_166_1628 176 +label L1629 +load 177 __and_166_1628 +brif 177 L1626 L1627 +label L1626 load 178 val_idx call 179 ir_type_helpers_ir_checked_type string 1 178 strref 180 m46s20 call 181 pith_cstring_starts_with bool 2 179 180 call 182 pith_cstring_release void 1 180 call 183 pith_cstring_release void 1 179 -brif 181 L1586 L1587 -label L1586 +brif 181 L1631 L1632 +label L1631 load 184 val_idx call 185 ir_emitter_core_ir_expr int 1 184 load 186 vn @@ -135183,11 +135484,11 @@ call 191 pith_cstring_release void 1 190 load 192 empty_init_call call 193 pith_cstring_release void 1 192 ret 185 -label L1587 -label L1585 -jmp L1580 -label L1582 -label L1580 +label L1632 +label L1630 +jmp L1625 +label L1627 +label L1625 load 194 empty_init_call load 195 vn field 196 195 0 string kind @@ -135202,8 +135503,8 @@ load 203 empty_init_call call 204 string_len int 1 203 iconst 205 0 gt 206 204 205 -brif 206 L1589 L1590 -label L1589 +brif 206 L1634 L1635 +label L1634 call 207 ir_builder_ir_reg int 0 store r 207 load 208 r @@ -135222,8 +135523,8 @@ call 220 pith_cstring_release void 1 219 load 221 empty_init_call call 222 pith_cstring_release void 1 221 ret 214 -label L1590 -label L1588 +label L1635 +label L1633 load 223 val_idx call 224 ir_emitter_core_ir_expr int 1 223 load 225 vn @@ -135260,25 +135561,25 @@ load 7 checked call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L1592 L1593 -label L1592 +brif 10 L1637 L1638 +label L1637 load 11 checked ret 11 -label L1593 -label L1591 +label L1638 +label L1636 load 12 fallback_name call 13 string_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L1595 L1596 -label L1595 +brif 15 L1640 L1641 +label L1640 load 16 fallback_name call 17 ir_emitter_core_ir_lookup_name_type string 1 16 load 18 checked call 19 pith_cstring_release void 1 18 ret 17 -label L1596 -label L1594 +label L1641 +label L1639 strref 20 m46s82 load 21 checked call 22 pith_cstring_release void 1 21 @@ -135315,8 +135616,8 @@ field 12 11 16 list children call 13 pith_list_len int 1 12 iconst 14 0 eq 15 13 14 -brif 15 L1598 L1599 -label L1598 +brif 15 L1643 L1644 +label L1643 strref 16 m46s82 load 17 recv0 call 18 pith_struct_release void 1 17 @@ -135339,8 +135640,8 @@ call 34 pith_cstring_release void 1 33 load 35 field_key call 36 pith_cstring_release void 1 35 ret 16 -label L1599 -label L1597 +label L1644 +label L1642 load 37 recv0 load 38 node field 39 38 16 list children @@ -135350,24 +135651,24 @@ call 42 ast_get_node struct:Node 1 41 call 43 pith_struct_release void 1 37 store recv0 42 iconst 44 0 -store __and_44_1603 44 +store __and_44_1648 44 load 45 recv0 field 46 45 0 string kind strref 47 m46s515 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __and_44_1603 48 -brif 48 L1603 L1604 -label L1603 +store __and_44_1648 48 +brif 48 L1648 L1649 +label L1648 load 50 ir_emitter_core_ir_current_impl_type call 51 string_len int 1 50 iconst 52 0 gt 53 51 52 -store __and_44_1603 53 -label L1604 -load 54 __and_44_1603 -brif 54 L1601 L1602 -label L1601 +store __and_44_1648 53 +label L1649 +load 54 __and_44_1648 +brif 54 L1646 L1647 +label L1646 load 55 ir_emitter_core_ir_current_impl_type call 56 pith_cstring_retain void 1 55 load 57 recv0 @@ -135391,8 +135692,8 @@ call 74 pith_cstring_release void 1 73 load 75 field_key call 76 pith_cstring_release void 1 75 ret 55 -label L1602 -label L1600 +label L1647 +label L1645 load 77 node field 78 77 16 list children iconst 79 0 @@ -135402,32 +135703,32 @@ store recv_tid 81 load 82 recv_tid iconst 83 0 gte 84 82 83 -brif 84 L1606 L1607 -label L1606 +brif 84 L1651 L1652 +label L1651 load 85 recv_info load 86 recv_tid call 87 types_get_type_info struct:TypeInfo 1 86 call 88 pith_struct_release void 1 85 store recv_info 87 iconst 89 0 -store __and_89_1611 89 +store __and_89_1656 89 load 90 recv_info field 91 90 0 string kind strref 92 m46s16 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -store __and_89_1611 93 -brif 93 L1611 L1612 -label L1611 +store __and_89_1656 93 +brif 93 L1656 L1657 +label L1656 load 95 recv_info field 96 95 64 int inner iconst 97 0 gte 98 96 97 -store __and_89_1611 98 -label L1612 -load 99 __and_89_1611 -brif 99 L1609 L1610 -label L1609 +store __and_89_1656 98 +label L1657 +load 99 __and_89_1656 +brif 99 L1654 L1655 +label L1654 strref 100 m46s666 load 101 recv_info field 102 101 64 int inner @@ -135456,27 +135757,27 @@ call 124 pith_cstring_release void 1 123 load 125 field_key call 126 pith_cstring_release void 1 125 ret 104 -label L1610 -label L1608 +label L1655 +label L1653 iconst 127 0 -store __and_127_1616 127 +store __and_127_1661 127 load 128 recv_info field 129 128 0 string kind strref 130 m46s17 call 131 pith_cstring_eq bool 2 129 130 call 132 pith_cstring_release void 1 130 -store __and_127_1616 131 -brif 131 L1616 L1617 -label L1616 +store __and_127_1661 131 +brif 131 L1661 L1662 +label L1661 load 133 recv_info field 134 133 64 int inner iconst 135 0 gte 136 134 135 -store __and_127_1616 136 -label L1617 -load 137 __and_127_1616 -brif 137 L1614 L1615 -label L1614 +store __and_127_1661 136 +label L1662 +load 137 __and_127_1661 +brif 137 L1659 L1660 +label L1659 strref 138 m46s665 load 139 recv_info field 140 139 64 int inner @@ -135505,8 +135806,8 @@ call 162 pith_cstring_release void 1 161 load 163 field_key call 164 pith_cstring_release void 1 163 ret 142 -label L1615 -label L1613 +label L1660 +label L1658 load 165 known load 166 recv_tid call 167 ir_type_helpers_ir_type_from_tid string 1 166 @@ -135516,8 +135817,8 @@ load 169 known call 170 string_len int 1 169 iconst 171 0 gt 172 170 171 -brif 172 L1619 L1620 -label L1619 +brif 172 L1664 L1665 +label L1664 load 173 known call 174 ir_emitter_core_ir_substitute_type_name string 1 173 load 175 recv0 @@ -135541,11 +135842,11 @@ call 192 pith_cstring_release void 1 191 load 193 field_key call 194 pith_cstring_release void 1 193 ret 174 -label L1620 -label L1618 -jmp L1605 -label L1607 -label L1605 +label L1665 +label L1663 +jmp L1650 +label L1652 +label L1650 load 195 checked load 196 node field 197 196 16 list children @@ -135558,8 +135859,8 @@ load 202 checked call 203 string_len int 1 202 iconst 204 0 gt 205 203 204 -brif 205 L1622 L1623 -label L1622 +brif 205 L1667 L1668 +label L1667 load 206 checked call 207 ir_emitter_core_ir_substitute_type_name string 1 206 load 208 recv0 @@ -135583,8 +135884,8 @@ call 225 pith_cstring_release void 1 224 load 226 field_key call 227 pith_cstring_release void 1 226 ret 207 -label L1623 -label L1621 +label L1668 +label L1666 load 228 inferred load 229 node field 230 229 16 list children @@ -135597,8 +135898,8 @@ load 235 inferred call 236 string_len int 1 235 iconst 237 0 gt 238 236 237 -brif 238 L1625 L1626 -label L1625 +brif 238 L1670 L1671 +label L1670 load 239 inferred call 240 ir_emitter_core_ir_substitute_type_name string 1 239 load 241 recv0 @@ -135622,8 +135923,8 @@ call 258 pith_cstring_release void 1 257 load 259 field_key call 260 pith_cstring_release void 1 259 ret 240 -label L1626 -label L1624 +label L1671 +label L1669 load 261 recv_node load 262 node field 263 262 16 list children @@ -135633,37 +135934,37 @@ call 266 ast_get_node struct:Node 1 265 call 267 pith_struct_release void 1 261 store recv_node 266 iconst 268 0 -store __and_268_1630 268 +store __and_268_1675 268 iconst 269 0 -store __and_269_1630 269 +store __and_269_1675 269 load 270 recv_node field 271 270 0 string kind strref 272 m46s36 call 273 pith_cstring_eq bool 2 271 272 call 274 pith_cstring_release void 1 272 -store __and_269_1630 273 -brif 273 L1630 L1631 -label L1630 +store __and_269_1675 273 +brif 273 L1675 L1676 +label L1675 load 275 recv_node field 276 275 16 list children call 277 pith_list_len int 1 276 iconst 278 0 gt 279 277 278 -store __and_269_1630 279 -label L1631 -load 280 __and_269_1630 -store __and_268_1630 280 -brif 280 L1632 L1633 -label L1632 +store __and_269_1675 279 +label L1676 +load 280 __and_269_1675 +store __and_268_1675 280 +brif 280 L1677 L1678 +label L1677 load 281 ir_emitter_core_ir_current_impl_type call 282 string_len int 1 281 iconst 283 0 gt 284 282 283 -store __and_268_1630 284 -label L1633 -load 285 __and_268_1630 -brif 285 L1628 L1629 -label L1628 +store __and_268_1675 284 +label L1678 +load 285 __and_268_1675 +brif 285 L1673 L1674 +label L1673 load 286 inner load 287 recv_node field 288 287 16 list children @@ -135677,8 +135978,8 @@ field 294 293 0 string kind strref 295 m46s515 call 296 pith_cstring_eq bool 2 294 295 call 297 pith_cstring_release void 1 295 -brif 296 L1635 L1636 -label L1635 +brif 296 L1680 L1681 +label L1680 load 298 fname load 299 node field 300 299 16 list children @@ -135705,8 +136006,8 @@ store field_key 315 load 318 ir_struct_registry_ir_struct_field_lookup load 319 field_key call 320 contains_key bool 2 318 319 -brif 320 L1638 L1639 -label L1638 +brif 320 L1683 L1684 +label L1683 load 321 ir_struct_registry_ir_struct_field_lookup load 322 field_key call 323 map_get_strict string 2 321 322 @@ -135732,14 +136033,14 @@ call 342 pith_cstring_release void 1 341 load 343 field_key call 344 pith_cstring_release void 1 343 ret 324 -label L1639 -label L1637 -jmp L1634 -label L1636 -label L1634 -jmp L1627 -label L1629 -label L1627 +label L1684 +label L1682 +jmp L1679 +label L1681 +label L1679 +jmp L1672 +label L1674 +label L1672 strref 345 m46s82 load 346 recv0 call 347 pith_struct_release void 1 346 @@ -135803,31 +136104,31 @@ call 11 pith_cstring_eq bool 2 8 9 iconst 12 1 sub 10 12 11 call 13 pith_cstring_release void 1 9 -brif 10 L1641 L1642 -label L1641 +brif 10 L1686 L1687 +label L1686 iconst 14 0 load 15 node call 16 pith_struct_release void 1 15 load 17 recv_info call 18 pith_struct_release void 1 17 ret 14 -label L1642 -label L1640 +label L1687 +label L1685 load 19 node field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 eq 23 21 22 -brif 23 L1644 L1645 -label L1644 +brif 23 L1689 L1690 +label L1689 iconst 24 0 load 25 node call 26 pith_struct_release void 1 25 load 27 recv_info call 28 pith_struct_release void 1 27 ret 24 -label L1645 -label L1643 +label L1690 +label L1688 load 29 node field 30 29 16 list children iconst 31 0 @@ -135837,16 +136138,16 @@ store recv_tid 33 load 34 recv_tid iconst 35 0 lt 36 34 35 -brif 36 L1647 L1648 -label L1647 +brif 36 L1692 L1693 +label L1692 iconst 37 0 load 38 node call 39 pith_struct_release void 1 38 load 40 recv_info call 41 pith_struct_release void 1 40 ret 37 -label L1648 -label L1646 +label L1693 +label L1691 load 42 recv_info load 43 recv_tid call 44 types_get_type_info struct:TypeInfo 1 43 @@ -135859,16 +136160,16 @@ call 50 pith_cstring_eq bool 2 47 48 iconst 51 1 sub 49 51 50 call 52 pith_cstring_release void 1 48 -brif 49 L1650 L1651 -label L1650 +brif 49 L1695 L1696 +label L1695 iconst 53 0 load 54 node call 55 pith_struct_release void 1 54 load 56 recv_info call 57 pith_struct_release void 1 56 ret 53 -label L1651 -label L1649 +label L1696 +label L1694 load 58 recv_info field 59 58 8 string name load 60 idx @@ -135892,8 +136193,8 @@ param operand_idx param shell_r load 2 operand_idx call 3 ir_emitter_core_ir_node_is_weak_field_read bool 1 2 -brif 3 L1653 L1654 -label L1653 +brif 3 L1698 L1699 +label L1698 call 4 ir_builder_ir_reg int 0 strref 5 m46s898 strref 6 m46s828 @@ -135901,9 +136202,9 @@ load 7 shell_r call 8 ir_call_emit_ir_emit_call1 void 4 4 5 6 7 call 9 pith_cstring_release void 1 5 call 10 pith_cstring_release void 1 6 -jmp L1652 -label L1654 -label L1652 +jmp L1697 +label L1699 +label L1697 iconst 11 0 ret 11 endfunc @@ -135979,8 +136280,8 @@ load 56 opt_tid call 57 ir_optionals_ir_optional_value_field int 2 55 56 store decoded_r 57 load 58 weak_shell -brif 58 L1656 L1657 -label L1656 +brif 58 L1701 L1702 +label L1701 call 59 ir_builder_ir_reg int 0 strref 60 m46s898 strref 61 m46s828 @@ -135988,9 +136289,9 @@ load 62 recv_r call 63 ir_call_emit_ir_emit_call1 void 4 59 60 61 62 call 64 pith_cstring_release void 1 60 call 65 pith_cstring_release void 1 61 -jmp L1655 -label L1657 -label L1655 +jmp L1700 +label L1702 +label L1700 strref 66 m46s833 load 67 merge_l concat 68 66 67 @@ -136000,8 +136301,8 @@ call 71 pith_cstring_release void 1 68 load 72 none_l call 73 ir_call_emit_ir_emit_label void 1 72 load 74 weak_shell -brif 74 L1659 L1660 -label L1659 +brif 74 L1704 L1705 +label L1704 call 75 ir_builder_ir_reg int 0 strref 76 m46s898 strref 77 m46s828 @@ -136009,24 +136310,24 @@ load 78 recv_r call 79 ir_call_emit_ir_emit_call1 void 4 75 76 77 78 call 80 pith_cstring_release void 1 76 call 81 pith_cstring_release void 1 77 -jmp L1658 -label L1660 -label L1658 +jmp L1703 +label L1705 +label L1703 iconst 82 0 -store __and_82_1664 82 +store __and_82_1709 82 load 83 ir_emitter_core_ir_emit_tests -store __and_82_1664 83 -brif 83 L1664 L1665 -label L1664 +store __and_82_1709 83 +brif 83 L1709 L1710 +label L1709 load 84 ir_emitter_core_ir_emitting_test_func -store __and_82_1664 84 -label L1665 -load 85 __and_82_1664 -brif 85 L1662 L1663 -label L1662 +store __and_82_1709 84 +label L1710 +load 85 __and_82_1709 +brif 85 L1707 L1708 +label L1707 call 86 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L1661 -label L1663 +jmp L1706 +label L1708 iconst 87 1 call 88 ir_emitter_core_ir_defer_emit_to_function_frame void 1 87 strref 89 m46s82 @@ -136064,7 +136365,7 @@ call 118 pith_cstring_release void 1 113 call 119 pith_cstring_release void 1 116 call 120 ir_builder_ir_emit void 1 117 call 121 pith_cstring_release void 1 117 -label L1661 +label L1706 load 122 merge_l call 123 ir_call_emit_ir_emit_label void 1 122 load 124 decoded_r @@ -136107,12 +136408,12 @@ iconst 10 0 store __for_idx_329 10 store __for_len_329 9 store __for_iter_329 8 -label L1666 +label L1711 load 11 __for_idx_329 load 12 __for_len_329 lt 13 11 12 -brif 13 L1667 L1669 -label L1667 +brif 13 L1712 L1714 +label L1712 load 14 __for_iter_329 load 15 __for_idx_329 call 16 pith_list_get_value unknown 2 14 15 @@ -136122,14 +136423,14 @@ store __loopvar_329_i 17 load 18 __loopvar_329_i iconst 19 0 eq 20 18 19 -brif 20 L1671 L1672 -label L1671 +brif 20 L1716 L1717 +label L1716 load 21 regs load 22 __loopvar_329_child call 23 ir_emitter_core_ir_expr int 1 22 call 24 pith_list_push_value void 2 21 23 -jmp L1670 -label L1672 +jmp L1715 +label L1717 load 25 child_kind load 26 __loopvar_329_child call 27 ast_node_kind string 1 26 @@ -136139,8 +136440,8 @@ load 29 child_kind strref 30 m46s42 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L1674 L1675 -label L1674 +brif 31 L1719 L1720 +label L1719 load 33 cn load 34 __loopvar_329_child call 35 ast_get_node struct:Node 1 34 @@ -136151,8 +136452,8 @@ field 38 37 16 list children call 39 pith_list_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L1677 L1678 -label L1677 +brif 41 L1722 L1723 +label L1722 load 42 regs load 43 cn field 44 43 16 list children @@ -136160,24 +136461,24 @@ iconst 45 0 call 46 pith_list_get_value_strict int 2 44 45 call 47 ir_emitter_core_ir_expr int 1 46 call 48 pith_list_push_value void 2 42 47 -jmp L1676 -label L1678 -label L1676 -jmp L1673 -label L1675 +jmp L1721 +label L1723 +label L1721 +jmp L1718 +label L1720 load 49 regs load 50 __loopvar_329_child call 51 ir_emitter_core_ir_expr int 1 50 call 52 pith_list_push_value void 2 49 51 -label L1673 -label L1670 -label L1668 +label L1718 +label L1715 +label L1713 load 53 __for_idx_329 iconst 54 1 add 55 53 54 store __for_idx_329 55 -jmp L1666 -label L1669 +jmp L1711 +label L1714 load 56 regs load 57 child_kind call 58 pith_cstring_release void 1 57 @@ -136206,90 +136507,90 @@ call 6 pith_cstring_char_at_strict string 2 4 5 call 7 pith_cstring_release void 1 3 store c0 6 iconst 8 0 -store __or_8_1682 8 +store __or_8_1727 8 iconst 9 0 -store __or_9_1682 9 +store __or_9_1727 9 load 10 c0 strref 11 m46s1279 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_1682 12 -brif 12 L1683 L1682 -label L1682 +store __or_9_1727 12 +brif 12 L1728 L1727 +label L1727 load 14 c0 strref 15 m46s1278 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_1682 16 -label L1683 -load 18 __or_9_1682 -store __or_8_1682 18 -brif 18 L1685 L1684 -label L1684 +store __or_9_1727 16 +label L1728 +load 18 __or_9_1727 +store __or_8_1727 18 +brif 18 L1730 L1729 +label L1729 load 19 c0 strref 20 m46s1277 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_1682 21 -label L1685 -load 23 __or_8_1682 -brif 23 L1680 L1681 -label L1680 +store __or_8_1727 21 +label L1730 +load 23 __or_8_1727 +brif 23 L1725 L1726 +label L1725 iconst 24 1 store i 24 -jmp L1679 -label L1681 -label L1679 +jmp L1724 +label L1726 +label L1724 iconst 25 0 -store __and_25_1689 25 +store __and_25_1734 25 load 26 i load 27 spec call 28 string_len int 1 27 lt 29 26 28 -store __and_25_1689 29 -brif 29 L1689 L1690 -label L1689 +store __and_25_1734 29 +brif 29 L1734 L1735 +label L1734 load 30 spec load 31 i call 32 byte_at int 2 30 31 iconst 33 48 eq 34 32 33 -store __and_25_1689 34 -label L1690 -load 35 __and_25_1689 -brif 35 L1687 L1688 -label L1687 +store __and_25_1734 34 +label L1735 +load 35 __and_25_1734 +brif 35 L1732 L1733 +label L1732 load 36 i iconst 37 1 add 38 36 37 store i 38 -jmp L1686 -label L1688 -label L1686 +jmp L1731 +label L1733 +label L1731 iconst 39 0 store w 39 iconst 40 0 store saw 40 -label L1691 +label L1736 iconst 41 0 -store __and_41_1694 41 +store __and_41_1739 41 load 42 i load 43 spec call 44 string_len int 1 43 lt 45 42 44 -store __and_41_1694 45 -brif 45 L1694 L1695 -label L1694 +store __and_41_1739 45 +brif 45 L1739 L1740 +label L1739 load 46 spec load 47 i call 48 byte_at int 2 46 47 iconst 49 46 neq 50 48 49 -store __and_41_1694 50 -label L1695 -load 51 __and_41_1694 -brif 51 L1692 L1693 -label L1692 +store __and_41_1739 50 +label L1740 +load 51 __and_41_1739 +brif 51 L1737 L1738 +label L1737 load 52 w iconst 53 10 mul 54 52 53 @@ -136306,21 +136607,21 @@ load 62 i iconst 63 1 add 64 62 63 store i 64 -jmp L1691 -label L1693 +jmp L1736 +label L1738 load 65 saw iconst 67 1 sub 66 67 65 -brif 66 L1697 L1698 -label L1697 +brif 66 L1742 L1743 +label L1742 iconst 68 0 iconst 69 1 sub 70 68 69 load 71 c0 call 72 pith_cstring_release void 1 71 ret 70 -label L1698 -label L1696 +label L1743 +label L1741 load 73 w load 74 c0 call 75 pith_cstring_release void 1 74 @@ -136340,27 +136641,27 @@ store dot 3 load 5 dot iconst 6 0 lt 7 5 6 -brif 7 L1700 L1701 -label L1700 +brif 7 L1745 L1746 +label L1745 iconst 8 0 iconst 9 1 sub 10 8 9 ret 10 -label L1701 -label L1699 +label L1746 +label L1744 iconst 11 0 store p 11 load 12 dot iconst 13 1 add 14 12 13 store i 14 -label L1702 +label L1747 load 15 i load 16 spec call 17 string_len int 1 16 lt 18 15 17 -brif 18 L1703 L1704 -label L1703 +brif 18 L1748 L1749 +label L1748 load 19 p iconst 20 10 mul 21 19 20 @@ -136375,8 +136676,8 @@ load 28 i iconst 29 1 add 30 28 29 store i 30 -jmp L1702 -label L1704 +jmp L1747 +label L1749 load 31 p ret 31 iconst 32 0 @@ -136396,26 +136697,26 @@ load 7 c0 strref 8 m46s1279 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L1706 L1707 -label L1706 +brif 9 L1751 L1752 +label L1751 load 11 ir_emitter_core_ALIGN_LEFT_BYTE load 12 c0 call 13 pith_cstring_release void 1 12 ret 11 -label L1707 -label L1705 +label L1752 +label L1750 load 14 c0 strref 15 m46s1277 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -brif 16 L1709 L1710 -label L1709 +brif 16 L1754 L1755 +label L1754 load 18 ir_emitter_core_ALIGN_CENTER_BYTE load 19 c0 call 20 pith_cstring_release void 1 19 ret 18 -label L1710 -label L1708 +label L1755 +label L1753 load 21 ir_emitter_core_ALIGN_RIGHT_BYTE load 22 c0 call 23 pith_cstring_release void 1 22 @@ -136438,65 +136739,65 @@ call 6 pith_cstring_char_at_strict string 2 4 5 call 7 pith_cstring_release void 1 3 store c0 6 iconst 8 0 -store __or_8_1714 8 +store __or_8_1759 8 iconst 9 0 -store __or_9_1714 9 +store __or_9_1759 9 load 10 c0 strref 11 m46s1279 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_1714 12 -brif 12 L1715 L1714 -label L1714 +store __or_9_1759 12 +brif 12 L1760 L1759 +label L1759 load 14 c0 strref 15 m46s1278 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_1714 16 -label L1715 -load 18 __or_9_1714 -store __or_8_1714 18 -brif 18 L1717 L1716 -label L1716 +store __or_9_1759 16 +label L1760 +load 18 __or_9_1759 +store __or_8_1759 18 +brif 18 L1762 L1761 +label L1761 load 19 c0 strref 20 m46s1277 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_1714 21 -label L1717 -load 23 __or_8_1714 -brif 23 L1712 L1713 -label L1712 +store __or_8_1759 21 +label L1762 +load 23 __or_8_1759 +brif 23 L1757 L1758 +label L1757 iconst 24 1 store i 24 -jmp L1711 -label L1713 -label L1711 +jmp L1756 +label L1758 +label L1756 iconst 25 0 -store __and_25_1721 25 +store __and_25_1766 25 load 26 i load 27 spec call 28 string_len int 1 27 lt 29 26 28 -store __and_25_1721 29 -brif 29 L1721 L1722 -label L1721 +store __and_25_1766 29 +brif 29 L1766 L1767 +label L1766 load 30 spec load 31 i call 32 byte_at int 2 30 31 iconst 33 48 eq 34 32 33 -store __and_25_1721 34 -label L1722 -load 35 __and_25_1721 -brif 35 L1719 L1720 -label L1719 +store __and_25_1766 34 +label L1767 +load 35 __and_25_1766 +brif 35 L1764 L1765 +label L1764 load 36 ir_emitter_core_FILL_ZERO_BYTE load 37 c0 call 38 pith_cstring_release void 1 37 ret 36 -label L1720 -label L1718 +label L1765 +label L1763 load 39 ir_emitter_core_FILL_SPACE_BYTE load 40 c0 call 41 pith_cstring_release void 1 40 @@ -136536,22 +136837,22 @@ iconst 19 1 sub 20 18 19 store str_r 20 iconst 21 0 -store __and_21_1726 21 +store __and_21_1771 21 load 22 prec iconst 23 0 gte 24 22 23 -store __and_21_1726 24 -brif 24 L1726 L1727 -label L1726 +store __and_21_1771 24 +brif 24 L1771 L1772 +label L1771 load 25 part_type strref 26 m46s672 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_21_1726 27 -label L1727 -load 29 __and_21_1726 -brif 29 L1724 L1725 -label L1724 +store __and_21_1771 27 +label L1772 +load 29 __and_21_1771 +brif 29 L1769 L1770 +label L1769 load 30 expr_idx call 31 ir_emitter_core_ir_expr int 1 30 store raw_r 31 @@ -136584,28 +136885,28 @@ load 55 prec_r call 56 ir_call_emit_ir_emit_call2 void 5 51 52 53 54 55 call 57 pith_cstring_release void 1 52 call 58 pith_cstring_release void 1 53 -jmp L1723 -label L1725 +jmp L1768 +label L1770 load 59 expr_idx call 60 ir_emitter_core_ir_string_interp_expr_part int 1 59 store str_r 60 -label L1723 +label L1768 load 61 spec call 62 ir_emitter_core_ir_interp_spec_width int 1 61 store width 62 load 63 width iconst 64 0 lte 65 63 64 -brif 65 L1729 L1730 -label L1729 +brif 65 L1774 L1775 +label L1774 load 66 str_r load 67 spec call 68 pith_cstring_release void 1 67 load 69 part_type call 70 pith_cstring_release void 1 69 ret 66 -label L1730 -label L1728 +label L1775 +label L1773 call 71 ir_builder_ir_reg int 0 store w_r 71 strref 72 m46s832 @@ -136712,7 +137013,7 @@ call 169 pith_cstring_release void 1 166 call 170 ir_builder_ir_emit void 1 167 call 171 pith_cstring_release void 1 167 iconst 172 0 -store __or_172_1734 172 +store __or_172_1779 172 load 173 node field 174 173 16 list children iconst 175 0 @@ -136724,9 +137025,9 @@ iconst 181 1 sub 179 181 180 call 182 pith_cstring_release void 1 177 call 183 pith_cstring_release void 1 178 -store __or_172_1734 179 -brif 179 L1735 L1734 -label L1734 +store __or_172_1779 179 +brif 179 L1780 L1779 +label L1779 load 184 node field 185 184 16 list children iconst 186 0 @@ -136734,16 +137035,16 @@ call 187 pith_list_get_value_strict int 2 185 186 call 188 ir_emitter_core_ir_string_expr_is_borrowed bool 1 187 iconst 190 1 sub 189 190 188 -store __or_172_1734 189 -label L1735 -load 191 __or_172_1734 -brif 191 L1732 L1733 -label L1732 +store __or_172_1779 189 +label L1780 +load 191 __or_172_1779 +brif 191 L1777 L1778 +label L1777 load 192 str_r call 193 ir_ownership_ir_string_release_reg void 1 192 -jmp L1731 -label L1733 -label L1731 +jmp L1776 +label L1778 +label L1776 load 194 padded_r load 195 spec call 196 pith_cstring_release void 1 195 @@ -136778,22 +137079,22 @@ load 11 part_type strref 12 m46s675 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L1737 L1738 -label L1737 +brif 13 L1782 L1783 +label L1782 load 15 part_r load 16 part_type call 17 pith_cstring_release void 1 16 load 18 part_info call 19 pith_struct_release void 1 18 ret 15 -label L1738 -label L1736 +label L1783 +label L1781 load 20 part_type strref 21 m46s673 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L1740 L1741 -label L1740 +brif 22 L1785 L1786 +label L1785 call 24 ir_builder_ir_reg int 0 store converted 24 load 25 converted @@ -136809,14 +137110,14 @@ call 34 pith_cstring_release void 1 33 load 35 part_info call 36 pith_struct_release void 1 35 ret 32 -label L1741 -label L1739 +label L1786 +label L1784 load 37 part_type strref 38 m46s672 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L1743 L1744 -label L1743 +brif 39 L1788 L1789 +label L1788 call 41 ir_builder_ir_reg int 0 store converted 41 load 42 converted @@ -136832,14 +137133,14 @@ call 51 pith_cstring_release void 1 50 load 52 part_info call 53 pith_struct_release void 1 52 ret 49 -label L1744 -label L1742 +label L1789 +label L1787 load 54 part_type strref 55 m46s671 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L1746 L1747 -label L1746 +brif 56 L1791 L1792 +label L1791 call 58 ir_builder_ir_reg int 0 store converted 58 load 59 converted @@ -136855,13 +137156,13 @@ call 68 pith_cstring_release void 1 67 load 69 part_info call 70 pith_struct_release void 1 69 ret 66 -label L1747 -label L1745 +label L1792 +label L1790 load 71 part_tid iconst 72 0 gte 73 71 72 -brif 73 L1749 L1750 -label L1749 +brif 73 L1794 L1795 +label L1794 load 74 part_info load 75 part_tid call 76 types_get_type_info struct:TypeInfo 1 75 @@ -136872,8 +137173,8 @@ field 79 78 0 string kind strref 80 m46s22 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -brif 81 L1752 L1753 -label L1752 +brif 81 L1797 L1798 +label L1797 load 83 part_r load 84 part_tid call 85 ir_emitter_core_ir_emit_result_value_to_string int 2 83 84 @@ -136882,15 +137183,15 @@ call 87 pith_cstring_release void 1 86 load 88 part_info call 89 pith_struct_release void 1 88 ret 85 -label L1753 -label L1751 +label L1798 +label L1796 load 90 part_info field 91 90 0 string kind strref 92 m46s20 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -brif 93 L1755 L1756 -label L1755 +brif 93 L1800 L1801 +label L1800 load 95 part_r load 96 part_info field 97 96 64 int inner @@ -136903,15 +137204,15 @@ call 103 pith_cstring_release void 1 102 load 104 part_info call 105 pith_struct_release void 1 104 ret 100 -label L1756 -label L1754 +label L1801 +label L1799 load 106 part_info field 107 106 0 string kind strref 108 m46s19 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L1758 L1759 -label L1758 +brif 109 L1803 L1804 +label L1803 load 111 part_r load 112 part_info field 113 112 72 int key_type @@ -136927,15 +137228,15 @@ call 122 pith_cstring_release void 1 121 load 123 part_info call 124 pith_struct_release void 1 123 ret 118 -label L1759 -label L1757 +label L1804 +label L1802 load 125 part_info field 126 125 0 string kind strref 127 m46s18 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -brif 128 L1761 L1762 -label L1761 +brif 128 L1806 L1807 +label L1806 call 130 ir_builder_ir_reg int 0 store converted 130 load 131 converted @@ -136957,35 +137258,35 @@ call 146 pith_cstring_release void 1 145 load 147 part_info call 148 pith_struct_release void 1 147 ret 143 -label L1762 -label L1760 -jmp L1748 -label L1750 -label L1748 +label L1807 +label L1805 +jmp L1793 +label L1795 +label L1793 iconst 149 0 -store __and_149_1766 149 +store __and_149_1811 149 load 150 part_type call 151 string_len int 1 150 iconst 152 0 gt 153 151 152 -store __and_149_1766 153 -brif 153 L1766 L1767 -label L1766 +store __and_149_1811 153 +brif 153 L1811 L1812 +label L1811 load 154 ir_struct_registry_ir_struct_names load 155 part_type call 156 contains_key bool 2 154 155 -store __and_149_1766 156 -label L1767 -load 157 __and_149_1766 -brif 157 L1764 L1765 -label L1764 +store __and_149_1811 156 +label L1812 +load 157 __and_149_1811 +brif 157 L1809 L1810 +label L1809 load 158 ir_struct_registry_ir_boxed_enums load 159 part_type call 160 contains_key bool 2 158 159 iconst 162 1 sub 161 162 160 -brif 161 L1769 L1770 -label L1769 +brif 161 L1814 L1815 +label L1814 load 163 part_r load 164 part_type call 165 ir_emitter_core_ir_emit_display_struct int 2 163 164 @@ -136994,11 +137295,11 @@ call 167 pith_cstring_release void 1 166 load 168 part_info call 169 pith_struct_release void 1 168 ret 165 -label L1770 -label L1768 -jmp L1763 -label L1765 -label L1763 +label L1815 +label L1813 +jmp L1808 +label L1810 +label L1808 load 170 part_r load 171 part_type call 172 pith_cstring_release void 1 171 @@ -137018,32 +137319,32 @@ load 1 kind strref 2 m46s672 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L1772 L1773 -label L1772 +brif 3 L1817 L1818 +label L1817 iconst 5 1 ret 5 -label L1773 -label L1771 +label L1818 +label L1816 load 6 kind strref 7 m46s673 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L1775 L1776 -label L1775 +brif 8 L1820 L1821 +label L1820 iconst 10 2 ret 10 -label L1776 -label L1774 +label L1821 +label L1819 load 11 kind strref 12 m46s675 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L1778 L1779 -label L1778 +brif 13 L1823 L1824 +label L1823 iconst 15 3 ret 15 -label L1779 -label L1777 +label L1824 +label L1822 iconst 16 0 ret 16 iconst 17 0 @@ -137082,15 +137383,15 @@ strref 25 m46s177 call 26 pith_cstring_release void 1 24 store sort_flag 25 load 27 sorted -brif 27 L1781 L1782 -label L1781 +brif 27 L1826 L1827 +label L1826 load 28 sort_flag strref 29 m46s176 call 30 pith_cstring_release void 1 28 store sort_flag 29 -jmp L1780 -label L1782 -label L1780 +jmp L1825 +label L1827 +label L1825 strref 31 m46s832 load 32 sort_r call 33 int_to_string string 1 32 @@ -137208,8 +137509,8 @@ load 12 show_name call 13 string_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L1784 L1785 -label L1784 +brif 15 L1829 L1830 +label L1829 call 16 ir_builder_ir_reg int 0 store r 16 load 17 r @@ -137228,8 +137529,8 @@ call 29 pith_cstring_release void 1 28 load 30 label call 31 pith_cstring_release void 1 30 ret 23 -label L1785 -label L1783 +label L1830 +label L1828 call 32 ir_builder_ir_reg int 0 store acc_r 32 strref 33 m46s888 @@ -137258,12 +137559,12 @@ call 55 ir_struct_registry_ir_struct_field_count int 1 54 store total 55 iconst 56 0 store fi 56 -label L1786 +label L1831 load 57 fi load 58 total lt 59 57 58 -brif 59 L1787 L1788 -label L1787 +brif 59 L1832 L1833 +label L1832 load 60 field_name load 61 struct_name load 62 fi @@ -137286,8 +137587,8 @@ store label 73 load 76 fi iconst 77 0 gt 78 76 77 -brif 78 L1790 L1791 -label L1790 +brif 78 L1835 L1836 +label L1835 load 79 label strref 80 m46s69 load 81 field_name @@ -137299,9 +137600,9 @@ call 86 pith_cstring_release void 1 82 call 87 pith_cstring_release void 1 84 call 88 pith_cstring_release void 1 79 store label 85 -jmp L1789 -label L1791 -label L1789 +jmp L1834 +label L1836 +label L1834 call 89 ir_builder_ir_reg int 0 store label_r 89 strref 90 m46s888 @@ -137401,8 +137702,8 @@ load 180 field_kind strref 181 m46s671 call 182 pith_cstring_eq bool 2 180 181 call 183 pith_cstring_release void 1 181 -brif 182 L1793 L1794 -label L1793 +brif 182 L1838 L1839 +label L1838 call 184 ir_builder_ir_reg int 0 store text_r 184 load 185 text_r @@ -137412,14 +137713,14 @@ load 188 field_r call 189 ir_call_emit_ir_emit_call1 void 4 185 186 187 188 call 190 pith_cstring_release void 1 186 call 191 pith_cstring_release void 1 187 -jmp L1792 -label L1794 +jmp L1837 +label L1839 load 192 field_kind strref 193 m46s672 call 194 pith_cstring_eq bool 2 192 193 call 195 pith_cstring_release void 1 193 -brif 194 L1795 L1796 -label L1795 +brif 194 L1840 L1841 +label L1840 call 196 ir_builder_ir_reg int 0 store text_r 196 load 197 text_r @@ -137429,14 +137730,14 @@ load 200 field_r call 201 ir_call_emit_ir_emit_call1 void 4 197 198 199 200 call 202 pith_cstring_release void 1 198 call 203 pith_cstring_release void 1 199 -jmp L1792 -label L1796 +jmp L1837 +label L1841 load 204 field_kind strref 205 m46s673 call 206 pith_cstring_eq bool 2 204 205 call 207 pith_cstring_release void 1 205 -brif 206 L1797 L1798 -label L1797 +brif 206 L1842 L1843 +label L1842 call 208 ir_builder_ir_reg int 0 store text_r 208 load 209 text_r @@ -137446,16 +137747,16 @@ load 212 field_r call 213 ir_call_emit_ir_emit_call1 void 4 209 210 211 212 call 214 pith_cstring_release void 1 210 call 215 pith_cstring_release void 1 211 -jmp L1792 -label L1798 +jmp L1837 +label L1843 load 216 field_kind strref 217 m46s675 call 219 pith_cstring_eq bool 2 216 217 iconst 220 1 sub 218 220 219 call 221 pith_cstring_release void 1 217 -brif 218 L1799 L1800 -label L1799 +brif 218 L1844 L1845 +label L1844 call 222 ir_builder_ir_reg int 0 store text_r 222 strref 223 m46s888 @@ -137476,9 +137777,9 @@ call 237 pith_cstring_release void 1 230 call 238 pith_cstring_release void 1 234 call 239 ir_builder_ir_emit void 1 236 call 240 pith_cstring_release void 1 236 -jmp L1792 -label L1800 -label L1792 +jmp L1837 +label L1845 +label L1837 call 241 ir_builder_ir_reg int 0 store next_acc 241 strref 242 m46s1212 @@ -137510,48 +137811,48 @@ call 267 pith_cstring_release void 1 263 load 268 with_label call 269 ir_ownership_ir_string_release_reg void 1 268 iconst 270 0 -store __or_270_1804 270 +store __or_270_1849 270 iconst 271 0 -store __or_271_1804 271 +store __or_271_1849 271 load 272 field_kind strref 273 m46s671 call 274 pith_cstring_eq bool 2 272 273 call 275 pith_cstring_release void 1 273 -store __or_271_1804 274 -brif 274 L1805 L1804 -label L1804 +store __or_271_1849 274 +brif 274 L1850 L1849 +label L1849 load 276 field_kind strref 277 m46s672 call 278 pith_cstring_eq bool 2 276 277 call 279 pith_cstring_release void 1 277 -store __or_271_1804 278 -label L1805 -load 280 __or_271_1804 -store __or_270_1804 280 -brif 280 L1807 L1806 -label L1806 +store __or_271_1849 278 +label L1850 +load 280 __or_271_1849 +store __or_270_1849 280 +brif 280 L1852 L1851 +label L1851 load 281 field_kind strref 282 m46s673 call 283 pith_cstring_eq bool 2 281 282 call 284 pith_cstring_release void 1 282 -store __or_270_1804 283 -label L1807 -load 285 __or_270_1804 -brif 285 L1802 L1803 -label L1802 +store __or_270_1849 283 +label L1852 +load 285 __or_270_1849 +brif 285 L1847 L1848 +label L1847 load 286 text_r call 287 ir_ownership_ir_string_release_reg void 1 286 -jmp L1801 -label L1803 -label L1801 +jmp L1846 +label L1848 +label L1846 load 288 next_acc store acc_r 288 load 289 fi iconst 290 1 add 291 289 290 store fi 291 -jmp L1786 -label L1788 +jmp L1831 +label L1833 call 292 ir_builder_ir_reg int 0 store close_r 292 strref 293 m46s888 @@ -137629,72 +137930,72 @@ load 1 kind strref 2 m46s675 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L1809 L1810 -label L1809 +brif 3 L1854 L1855 +label L1854 iconst 5 1 ret 5 -label L1810 -label L1808 +label L1855 +label L1853 load 6 kind strref 7 m46s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L1812 L1813 -label L1812 +brif 8 L1857 L1858 +label L1857 iconst 10 2 ret 10 -label L1813 -label L1811 +label L1858 +label L1856 load 11 kind strref 12 m46s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L1815 L1816 -label L1815 +brif 13 L1860 L1861 +label L1860 iconst 15 3 ret 15 -label L1816 -label L1814 +label L1861 +label L1859 load 16 kind strref 17 m46s18 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L1818 L1819 -label L1818 +brif 18 L1863 L1864 +label L1863 iconst 20 4 ret 20 -label L1819 -label L1817 +label L1864 +label L1862 load 21 kind strref 22 m46s674 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L1821 L1822 -label L1821 +brif 23 L1866 L1867 +label L1866 iconst 25 5 ret 25 -label L1822 -label L1820 +label L1867 +label L1865 load 26 kind strref 27 m46s15 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L1824 L1825 -label L1824 +brif 28 L1869 L1870 +label L1869 iconst 30 6 ret 30 -label L1825 -label L1823 +label L1870 +label L1868 load 31 kind strref 32 m46s824 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L1827 L1828 -label L1827 +brif 33 L1872 L1873 +label L1872 iconst 35 7 ret 35 -label L1828 -label L1826 +label L1873 +label L1871 iconst 36 0 ret 36 iconst 37 0 @@ -137711,12 +138012,12 @@ iconst 5 0 store __for_idx_330 5 store __for_len_330 4 store __for_iter_330 3 -label L1829 +label L1874 load 6 __for_idx_330 load 7 __for_len_330 lt 8 6 7 -brif 8 L1830 L1832 -label L1830 +brif 8 L1875 L1877 +label L1875 load 9 __for_iter_330 load 10 __for_idx_330 call 11 pith_list_get_value_unchecked string 2 9 10 @@ -137758,8 +138059,8 @@ load 41 cap_kind call 42 string_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L1834 L1835 -label L1834 +brif 44 L1879 L1880 +label L1879 load 45 cap_val load 46 cap_kind call 47 ir_ownership_ir_rc_retain_reg void 2 45 46 @@ -137824,8 +138125,8 @@ call 104 ir_call_emit_ir_emit_call_text void 5 67 68 69 70 101 call 105 pith_cstring_release void 1 68 call 106 pith_cstring_release void 1 69 call 107 pith_cstring_release void 1 101 -jmp L1833 -label L1835 +jmp L1878 +label L1880 call 108 ir_builder_ir_reg int 0 strref 109 m46s726 strref 110 m46s828 @@ -137835,14 +138136,14 @@ load 113 cap_val call 114 ir_call_emit_ir_emit_call3 void 6 108 109 110 111 112 113 call 115 pith_cstring_release void 1 109 call 116 pith_cstring_release void 1 110 -label L1833 -label L1831 +label L1878 +label L1876 load 117 __for_idx_330 iconst 118 1 add 119 117 118 store __for_idx_330 119 -jmp L1829 -label L1832 +jmp L1874 +label L1877 load 120 cap_kind call 121 pith_cstring_release void 1 120 iconst 122 0 @@ -137875,12 +138176,12 @@ iconst 7 0 store __for_idx_331 7 store __for_len_331 6 store __for_iter_331 5 -label L1836 +label L1881 load 8 __for_idx_331 load 9 __for_len_331 lt 10 8 9 -brif 10 L1837 L1839 -label L1837 +brif 10 L1882 L1884 +label L1882 load 11 __for_iter_331 load 12 __for_idx_331 call 13 pith_list_get_value_unchecked string 2 11 12 @@ -137935,13 +138236,13 @@ call 57 pith_cstring_release void 1 51 call 58 pith_cstring_release void 1 55 call 59 ir_builder_ir_emit void 1 56 call 60 pith_cstring_release void 1 56 -label L1838 +label L1883 load 61 __for_idx_331 iconst 62 1 add 63 61 62 store __for_idx_331 63 -jmp L1836 -label L1839 +jmp L1881 +label L1884 iconst 64 0 ret 64 endfunc @@ -137965,12 +138266,12 @@ iconst 11 0 store __for_idx_332 11 store __for_len_332 10 store __for_iter_332 9 -label L1840 +label L1885 load 12 __for_idx_332 load 13 __for_len_332 lt 14 12 13 -brif 14 L1841 L1843 -label L1841 +brif 14 L1886 L1888 +label L1886 load 15 __for_iter_332 load 16 __for_idx_332 call 17 pith_list_get_value_unchecked string 2 15 16 @@ -137978,13 +138279,13 @@ store __loopvar_332_line 17 load 18 bodies load 19 __loopvar_332_line call 20 pith_list_push_value void 2 18 19 -label L1842 +label L1887 load 21 __for_idx_332 iconst 22 1 add 23 21 22 store __for_idx_332 23 -jmp L1840 -label L1843 +jmp L1885 +label L1888 load 24 bodies call 25 pith_list_retain_handle void 1 24 store ir_emitter_core_ir_lambda_bodies 24 @@ -138018,8 +138319,8 @@ param right_r param is_str_op param is_bytes_op load 5 is_str_op -brif 5 L1845 L1846 -label L1845 +brif 5 L1890 L1891 +label L1890 call 6 ir_builder_ir_reg int 0 store eq_r 6 load 7 eq_r @@ -138072,11 +138373,11 @@ call 52 ir_builder_ir_emit void 1 49 call 53 pith_cstring_release void 1 49 iconst 54 0 ret 54 -label L1846 -label L1844 +label L1891 +label L1889 load 55 is_bytes_op -brif 55 L1848 L1849 -label L1848 +brif 55 L1893 L1894 +label L1893 call 56 ir_builder_ir_reg int 0 store eq_r 56 load 57 eq_r @@ -138129,8 +138430,8 @@ call 102 ir_builder_ir_emit void 1 99 call 103 pith_cstring_release void 1 99 iconst 104 0 ret 104 -label L1849 -label L1847 +label L1894 +label L1892 strref 105 m46s1035 load 106 result_reg call 107 int_to_string string 1 106 @@ -138172,7 +138473,7 @@ call 5 ast_get_node struct:Node 1 4 call 6 pith_struct_release void 1 3 store node 5 iconst 7 0 -store __or_7_1853 7 +store __or_7_1898 7 load 8 node field 9 8 0 string kind strref 10 m46s35 @@ -138180,53 +138481,53 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -store __or_7_1853 11 -brif 11 L1854 L1853 -label L1853 +store __or_7_1898 11 +brif 11 L1899 L1898 +label L1898 load 15 node field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 0 eq 19 17 18 -store __or_7_1853 19 -label L1854 -load 20 __or_7_1853 -brif 20 L1851 L1852 -label L1851 +store __or_7_1898 19 +label L1899 +load 20 __or_7_1898 +brif 20 L1896 L1897 +label L1896 iconst 21 0 load 22 node call 23 pith_struct_release void 1 22 load 24 obj_type call 25 pith_cstring_release void 1 24 ret 21 -label L1852 -label L1850 +label L1897 +label L1895 iconst 26 0 -store __or_26_1858 26 +store __or_26_1903 26 load 27 ir_alias_registry_ir_active_generic_params call 28 pith_list_len int 1 27 iconst 29 0 gt 30 28 29 -store __or_26_1858 30 -brif 30 L1859 L1858 -label L1858 +store __or_26_1903 30 +brif 30 L1904 L1903 +label L1903 load 31 ir_emitter_core_ir_current_impl_subst_params call 32 pith_list_len int 1 31 iconst 33 0 gt 34 32 33 -store __or_26_1858 34 -label L1859 -load 35 __or_26_1858 -brif 35 L1856 L1857 -label L1856 +store __or_26_1903 34 +label L1904 +load 35 __or_26_1903 +brif 35 L1901 L1902 +label L1901 iconst 36 0 load 37 node call 38 pith_struct_release void 1 37 load 39 obj_type call 40 pith_cstring_release void 1 39 ret 36 -label L1857 -label L1855 +label L1902 +label L1900 load 41 obj_type load 42 node field 43 42 16 list children @@ -138239,8 +138540,8 @@ load 48 obj_type call 49 string_len int 1 48 iconst 50 0 eq 51 49 50 -brif 51 L1861 L1862 -label L1861 +brif 51 L1906 L1907 +label L1906 load 52 obj_type load 53 node field 54 53 16 list children @@ -138249,9 +138550,9 @@ call 56 pith_list_get_value_strict int 2 54 55 call 57 ir_emitter_core_ir_infer_type string 1 56 call 58 pith_cstring_release void 1 52 store obj_type 57 -jmp L1860 -label L1862 -label L1860 +jmp L1905 +label L1907 +label L1905 load 59 obj_type strref 60 m46s675 call 61 pith_cstring_eq bool 2 59 60 @@ -138271,45 +138572,45 @@ endfunc func ir_emitter_core_ir_binary_op_is_comparison 1 bool param simple_op iconst 1 0 -store __or_1_1863 1 +store __or_1_1908 1 iconst 2 0 -store __or_2_1863 2 +store __or_2_1908 2 iconst 3 0 -store __or_3_1863 3 +store __or_3_1908 3 load 4 simple_op strref 5 m46s465 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_3_1863 6 -brif 6 L1864 L1863 -label L1863 +store __or_3_1908 6 +brif 6 L1909 L1908 +label L1908 load 8 simple_op strref 9 m46s462 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_3_1863 10 -label L1864 -load 12 __or_3_1863 -store __or_2_1863 12 -brif 12 L1866 L1865 -label L1865 +store __or_3_1908 10 +label L1909 +load 12 __or_3_1908 +store __or_2_1908 12 +brif 12 L1911 L1910 +label L1910 load 13 simple_op strref 14 m46s459 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_2_1863 15 -label L1866 -load 17 __or_2_1863 -store __or_1_1863 17 -brif 17 L1868 L1867 -label L1867 +store __or_2_1908 15 +label L1911 +load 17 __or_2_1908 +store __or_1_1908 17 +brif 17 L1913 L1912 +label L1912 load 18 simple_op strref 19 m46s456 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_1_1863 20 -label L1868 -load 22 __or_1_1863 +store __or_1_1908 20 +label L1913 +load 22 __or_1_1908 ret 22 iconst 23 0 ret 23 @@ -138321,146 +138622,146 @@ param expr_type iconst 3 0 store arg_kind 3 iconst 4 0 -store __and_4_1872 4 +store __and_4_1917 4 load 5 expr_type strref 6 m46s675 call 7 pith_cstring_eq bool 2 5 6 call 8 pith_cstring_release void 1 6 -store __and_4_1872 7 -brif 7 L1872 L1873 -label L1872 +store __and_4_1917 7 +brif 7 L1917 L1918 +label L1917 load 9 expr_idx call 10 ir_emitter_core_ir_string_expr_is_borrowed bool 1 9 iconst 12 1 sub 11 12 10 -store __and_4_1872 11 -label L1873 -load 13 __and_4_1872 -brif 13 L1870 L1871 -label L1870 +store __and_4_1917 11 +label L1918 +load 13 __and_4_1917 +brif 13 L1915 L1916 +label L1915 load 14 reg call 15 ir_ownership_ir_string_release_reg void 1 14 -jmp L1869 -label L1871 +jmp L1914 +label L1916 iconst 16 0 -store __and_16_1876 16 +store __and_16_1921 16 load 17 expr_type strref 18 m46s674 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __and_16_1876 19 -brif 19 L1876 L1877 -label L1876 +store __and_16_1921 19 +brif 19 L1921 L1922 +label L1921 load 21 expr_idx call 22 ir_emitter_core_ir_string_expr_is_borrowed bool 1 21 iconst 24 1 sub 23 24 22 -store __and_16_1876 23 -label L1877 -load 25 __and_16_1876 -brif 25 L1874 L1875 -label L1874 +store __and_16_1921 23 +label L1922 +load 25 __and_16_1921 +brif 25 L1919 L1920 +label L1919 load 26 reg strref 27 m46s674 call 28 ir_ownership_ir_rc_release_reg void 2 26 27 call 29 pith_cstring_release void 1 27 -jmp L1869 -label L1875 +jmp L1914 +label L1920 load 30 expr_idx call 31 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 30 -brif 31 L1878 L1879 -label L1878 +brif 31 L1923 L1924 +label L1923 load 32 reg call 33 ir_ownership_ir_string_release_reg void 1 32 -jmp L1869 -label L1879 +jmp L1914 +label L1924 load 34 expr_idx call 35 ir_emitter_core_ir_expr_is_transferred_call_temp bool 1 34 -brif 35 L1880 L1881 -label L1880 +brif 35 L1925 L1926 +label L1925 load 36 reg call 37 ir_ownership_ir_string_release_reg void 1 36 -jmp L1869 -label L1881 +jmp L1914 +label L1926 load 38 arg_kind load 39 expr_type call 40 ir_struct_registry_ir_rc_kind string 1 39 call 41 pith_cstring_release void 1 38 store arg_kind 40 iconst 42 0 -store __and_42_1885 42 +store __and_42_1930 42 load 43 arg_kind call 44 string_len int 1 43 iconst 45 0 eq 46 44 45 -store __and_42_1885 46 -brif 46 L1885 L1886 -label L1885 +store __and_42_1930 46 +brif 46 L1930 L1931 +label L1930 iconst 47 0 -store __or_47_1887 47 +store __or_47_1932 47 load 48 expr_idx call 49 ast_get_node struct:Node 1 48 field 50 49 0 string kind strref 51 m46s501 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_47_1887 52 -brif 52 L1888 L1887 -label L1887 +store __or_47_1932 52 +brif 52 L1933 L1932 +label L1932 load 54 expr_idx call 55 ir_emitter_core_ir_expr_is_named_function_value bool 1 54 -store __or_47_1887 55 -label L1888 -load 56 __or_47_1887 -store __and_42_1885 56 -label L1886 -load 57 __and_42_1885 -brif 57 L1883 L1884 -label L1883 +store __or_47_1932 55 +label L1933 +load 56 __or_47_1932 +store __and_42_1930 56 +label L1931 +load 57 __and_42_1930 +brif 57 L1928 L1929 +label L1928 load 58 arg_kind strref 59 m46s824 call 60 pith_cstring_release void 1 58 store arg_kind 59 -jmp L1882 -label L1884 -label L1882 +jmp L1927 +label L1929 +label L1927 iconst 61 0 -store __and_61_1892 61 +store __and_61_1937 61 iconst 62 0 -store __or_62_1892 62 +store __or_62_1937 62 load 63 arg_kind strref 64 m46s15 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __or_62_1892 65 -brif 65 L1893 L1892 -label L1892 +store __or_62_1937 65 +brif 65 L1938 L1937 +label L1937 load 67 arg_kind strref 68 m46s824 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -store __or_62_1892 69 -label L1893 -load 71 __or_62_1892 -store __and_61_1892 71 -brif 71 L1894 L1895 -label L1894 +store __or_62_1937 69 +label L1938 +load 71 __or_62_1937 +store __and_61_1937 71 +brif 71 L1939 L1940 +label L1939 load 72 expr_idx call 73 ir_emitter_core_ir_string_expr_is_borrowed bool 1 72 iconst 75 1 sub 74 75 73 -store __and_61_1892 74 -label L1895 -load 76 __and_61_1892 -brif 76 L1890 L1891 -label L1890 +store __and_61_1937 74 +label L1940 +load 76 __and_61_1937 +brif 76 L1935 L1936 +label L1935 load 77 reg load 78 arg_kind call 79 ir_ownership_ir_rc_release_reg void 2 77 78 -jmp L1889 -label L1891 -label L1889 -label L1869 +jmp L1934 +label L1936 +label L1934 +label L1914 load 80 arg_kind call 81 pith_cstring_release void 1 80 iconst 82 0 @@ -138478,7 +138779,7 @@ call 5 ast_get_node struct:Node 1 4 call 6 pith_struct_release void 1 3 store node 5 iconst 7 0 -store __and_7_1899 7 +store __and_7_1944 7 load 8 node field 9 8 0 string kind strref 10 m46s44 @@ -138486,9 +138787,9 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -store __and_7_1899 11 -brif 11 L1899 L1900 -label L1899 +store __and_7_1944 11 +brif 11 L1944 L1945 +label L1944 load 15 node field 16 15 0 string kind strref 17 m46s129 @@ -138496,45 +138797,45 @@ call 19 pith_cstring_eq bool 2 16 17 iconst 20 1 sub 18 20 19 call 21 pith_cstring_release void 1 17 -store __and_7_1899 18 -label L1900 -load 22 __and_7_1899 -brif 22 L1897 L1898 -label L1897 +store __and_7_1944 18 +label L1945 +load 22 __and_7_1944 +brif 22 L1942 L1943 +label L1942 iconst 23 0 load 24 node call 25 pith_struct_release void 1 24 load 26 expr_type call 27 pith_cstring_release void 1 26 ret 23 -label L1898 -label L1896 +label L1943 +label L1941 iconst 28 0 -store __or_28_1904 28 +store __or_28_1949 28 load 29 ir_alias_registry_ir_active_generic_params call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -store __or_28_1904 32 -brif 32 L1905 L1904 -label L1904 +store __or_28_1949 32 +brif 32 L1950 L1949 +label L1949 load 33 ir_emitter_core_ir_current_impl_subst_params call 34 pith_list_len int 1 33 iconst 35 0 gt 36 34 35 -store __or_28_1904 36 -label L1905 -load 37 __or_28_1904 -brif 37 L1902 L1903 -label L1902 +store __or_28_1949 36 +label L1950 +load 37 __or_28_1949 +brif 37 L1947 L1948 +label L1947 iconst 38 0 load 39 node call 40 pith_struct_release void 1 39 load 41 expr_type call 42 pith_cstring_release void 1 41 ret 38 -label L1903 -label L1901 +label L1948 +label L1946 load 43 expr_type load 44 idx call 45 ir_type_helpers_ir_checked_type string 1 44 @@ -138544,16 +138845,16 @@ load 47 expr_type call 48 string_len int 1 47 iconst 49 0 eq 50 48 49 -brif 50 L1907 L1908 -label L1907 +brif 50 L1952 L1953 +label L1952 load 51 expr_type load 52 idx call 53 ir_emitter_core_ir_infer_type string 1 52 call 54 pith_cstring_release void 1 51 store expr_type 53 -jmp L1906 -label L1908 -label L1906 +jmp L1951 +label L1953 +label L1951 load 55 expr_type strref 56 m46s675 call 57 pith_cstring_eq bool 2 55 56 @@ -138582,8 +138883,8 @@ store n 4 load 5 n iconst 6 3 lt 7 5 6 -brif 7 L1910 L1911 -label L1910 +brif 7 L1955 L1956 +label L1955 iconst 8 0 iconst 9 1 sub 10 8 9 @@ -138592,8 +138893,8 @@ call 12 pith_cstring_release void 1 11 load 13 e call 14 pith_cstring_release void 1 13 ret 10 -label L1911 -label L1909 +label L1956 +label L1954 load 15 n iconst 16 2 sub 17 15 16 @@ -138601,8 +138902,8 @@ store inner_len 17 load 18 inner_len iconst 19 1 eq 20 18 19 -brif 20 L1913 L1914 -label L1913 +brif 20 L1958 L1959 +label L1958 load 21 c load 22 raw iconst 23 1 @@ -138613,8 +138914,8 @@ load 26 c strref 27 m46s1265 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L1916 L1917 -label L1916 +brif 28 L1961 L1962 +label L1961 iconst 30 0 iconst 31 1 sub 32 30 31 @@ -138623,8 +138924,8 @@ call 34 pith_cstring_release void 1 33 load 35 e call 36 pith_cstring_release void 1 35 ret 32 -label L1917 -label L1915 +label L1962 +label L1960 load 37 c call 38 ord int 1 37 load 39 c @@ -138632,26 +138933,26 @@ call 40 pith_cstring_release void 1 39 load 41 e call 42 pith_cstring_release void 1 41 ret 38 -label L1914 -label L1912 +label L1959 +label L1957 iconst 43 0 -store __and_43_1921 43 +store __and_43_1966 43 load 44 inner_len iconst 45 2 eq 46 44 45 -store __and_43_1921 46 -brif 46 L1921 L1922 -label L1921 +store __and_43_1966 46 +brif 46 L1966 L1967 +label L1966 load 47 raw iconst 48 1 call 49 byte_at int 2 47 48 iconst 50 92 eq 51 49 50 -store __and_43_1921 51 -label L1922 -load 52 __and_43_1921 -brif 52 L1919 L1920 -label L1919 +store __and_43_1966 51 +label L1967 +load 52 __and_43_1966 +brif 52 L1964 L1965 +label L1964 load 53 e load 54 raw iconst 55 2 @@ -138662,103 +138963,103 @@ load 58 e strref 59 m46s1267 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L1924 L1925 -label L1924 +brif 60 L1969 L1970 +label L1969 iconst 62 10 load 63 c call 64 pith_cstring_release void 1 63 load 65 e call 66 pith_cstring_release void 1 65 ret 62 -label L1925 -label L1923 +label L1970 +label L1968 load 67 e strref 68 m46s1234 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L1927 L1928 -label L1927 +brif 69 L1972 L1973 +label L1972 iconst 71 9 load 72 c call 73 pith_cstring_release void 1 72 load 74 e call 75 pith_cstring_release void 1 74 ret 71 -label L1928 -label L1926 +label L1973 +label L1971 load 76 e strref 77 m46s1266 call 78 pith_cstring_eq bool 2 76 77 call 79 pith_cstring_release void 1 77 -brif 78 L1930 L1931 -label L1930 +brif 78 L1975 L1976 +label L1975 iconst 80 13 load 81 c call 82 pith_cstring_release void 1 81 load 83 e call 84 pith_cstring_release void 1 83 ret 80 -label L1931 -label L1929 +label L1976 +label L1974 load 85 e strref 86 m46s177 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L1933 L1934 -label L1933 +brif 87 L1978 L1979 +label L1978 iconst 89 0 load 90 c call 91 pith_cstring_release void 1 90 load 92 e call 93 pith_cstring_release void 1 92 ret 89 -label L1934 -label L1932 +label L1979 +label L1977 load 94 e strref 95 m46s1265 call 96 pith_cstring_eq bool 2 94 95 call 97 pith_cstring_release void 1 95 -brif 96 L1936 L1937 -label L1936 +brif 96 L1981 L1982 +label L1981 iconst 98 92 load 99 c call 100 pith_cstring_release void 1 99 load 101 e call 102 pith_cstring_release void 1 101 ret 98 -label L1937 -label L1935 +label L1982 +label L1980 load 103 e strref 104 m46s1264 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -brif 105 L1939 L1940 -label L1939 +brif 105 L1984 L1985 +label L1984 iconst 107 34 load 108 c call 109 pith_cstring_release void 1 108 load 110 e call 111 pith_cstring_release void 1 110 ret 107 -label L1940 -label L1938 +label L1985 +label L1983 load 112 e strref 113 m46s96 call 114 pith_cstring_eq bool 2 112 113 call 115 pith_cstring_release void 1 113 -brif 114 L1942 L1943 -label L1942 +brif 114 L1987 L1988 +label L1987 iconst 116 39 load 117 c call 118 pith_cstring_release void 1 117 load 119 e call 120 pith_cstring_release void 1 119 ret 116 -label L1943 -label L1941 -jmp L1918 -label L1920 -label L1918 +label L1988 +label L1986 +jmp L1963 +label L1965 +label L1963 iconst 121 0 iconst 122 1 sub 123 121 122 @@ -138788,29 +139089,29 @@ call 6 ast_get_node struct:Node 1 5 call 7 pith_struct_release void 1 4 store node 6 iconst 8 0 -store __and_8_1947 8 +store __and_8_1992 8 load 9 node field 10 9 0 string kind strref 11 m46s35 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __and_8_1947 12 -brif 12 L1947 L1948 -label L1947 +store __and_8_1992 12 +brif 12 L1992 L1993 +label L1992 load 14 node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 2 gte 18 16 17 -store __and_8_1947 18 -label L1948 -load 19 __and_8_1947 -brif 19 L1945 L1946 -label L1945 +store __and_8_1992 18 +label L1993 +load 19 __and_8_1992 +brif 19 L1990 L1991 +label L1990 load 20 idx call 21 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 20 -brif 21 L1950 L1951 -label L1950 +brif 21 L1995 L1996 +label L1995 load 22 node field 23 22 16 list children iconst 24 0 @@ -138841,8 +139142,8 @@ call 45 pith_struct_release void 1 44 load 46 arg call 47 pith_struct_release void 1 46 ret 41 -label L1951 -label L1949 +label L1996 +label L1994 iconst 48 0 iconst 49 1 sub 50 48 49 @@ -138853,41 +139154,41 @@ call 54 pith_struct_release void 1 53 load 55 arg call 56 pith_struct_release void 1 55 ret 50 -label L1946 -label L1944 +label L1991 +label L1989 iconst 57 0 -store __or_57_1955 57 +store __or_57_2000 57 iconst 58 0 -store __or_58_1955 58 +store __or_58_2000 58 load 59 node field 60 59 0 string kind strref 61 m46s517 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __or_58_1955 62 -brif 62 L1956 L1955 -label L1955 +store __or_58_2000 62 +brif 62 L2001 L2000 +label L2000 load 64 node field 65 64 0 string kind strref 66 m46s675 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __or_58_1955 67 -label L1956 -load 69 __or_58_1955 -store __or_57_1955 69 -brif 69 L1958 L1957 -label L1957 +store __or_58_2000 67 +label L2001 +load 69 __or_58_2000 +store __or_57_2000 69 +brif 69 L2003 L2002 +label L2002 load 70 node field 71 70 0 string kind strref 72 m46s1025 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -store __or_57_1955 73 -label L1958 -load 75 __or_57_1955 -brif 75 L1953 L1954 -label L1953 +store __or_57_2000 73 +label L2003 +load 75 __or_57_2000 +brif 75 L1998 L1999 +label L1998 load 76 node field 77 76 8 string value call 78 ir_emitter_core_ir_string_lit_single_byte int 1 77 @@ -138895,8 +139196,8 @@ store b 78 load 79 b iconst 80 0 gte 81 79 80 -brif 81 L1960 L1961 -label L1960 +brif 81 L2005 L2006 +label L2005 call 82 ir_builder_ir_reg int 0 store r 82 strref 83 m46s832 @@ -138924,8 +139225,8 @@ call 104 pith_struct_release void 1 103 load 105 arg call 106 pith_struct_release void 1 105 ret 100 -label L1961 -label L1959 +label L2006 +label L2004 iconst 107 0 iconst 108 1 sub 109 107 108 @@ -138936,28 +139237,28 @@ call 113 pith_struct_release void 1 112 load 114 arg call 115 pith_struct_release void 1 114 ret 109 -label L1954 -label L1952 +label L1999 +label L1997 iconst 116 0 -store __and_116_1965 116 +store __and_116_2010 116 load 117 node field 118 117 0 string kind strref 119 m46s44 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -store __and_116_1965 120 -brif 120 L1965 L1966 -label L1965 +store __and_116_2010 120 +brif 120 L2010 L2011 +label L2010 load 122 node field 123 122 16 list children call 124 pith_list_len int 1 123 iconst 125 2 gte 126 124 125 -store __and_116_1965 126 -label L1966 -load 127 __and_116_1965 -brif 127 L1963 L1964 -label L1963 +store __and_116_2010 126 +label L2011 +load 127 __and_116_2010 +brif 127 L2008 L2009 +label L2008 load 128 callee load 129 node field 130 129 16 list children @@ -138975,38 +139276,38 @@ call 140 ast_get_node struct:Node 1 139 call 141 pith_struct_release void 1 135 store arg 140 iconst 142 0 -store __and_142_1970 142 +store __and_142_2015 142 iconst 143 0 -store __and_143_1970 143 +store __and_143_2015 143 load 144 callee field 145 144 0 string kind strref 146 m46s37 call 147 pith_cstring_eq bool 2 145 146 call 148 pith_cstring_release void 1 146 -store __and_143_1970 147 -brif 147 L1970 L1971 -label L1970 +store __and_143_2015 147 +brif 147 L2015 L2016 +label L2015 load 149 callee field 150 149 8 string value strref 151 m46s1262 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -store __and_143_1970 152 -label L1971 -load 154 __and_143_1970 -store __and_142_1970 154 -brif 154 L1972 L1973 -label L1972 +store __and_143_2015 152 +label L2016 +load 154 __and_143_2015 +store __and_142_2015 154 +brif 154 L2017 L2018 +label L2017 load 155 arg field 156 155 0 string kind strref 157 m46s519 call 158 pith_cstring_eq bool 2 156 157 call 159 pith_cstring_release void 1 157 -store __and_142_1970 158 -label L1973 -load 160 __and_142_1970 -brif 160 L1968 L1969 -label L1968 +store __and_142_2015 158 +label L2018 +load 160 __and_142_2015 +brif 160 L2013 L2014 +label L2013 call 161 ir_builder_ir_reg int 0 store r 161 strref 162 m46s832 @@ -139033,11 +139334,11 @@ call 182 pith_struct_release void 1 181 load 183 arg call 184 pith_struct_release void 1 183 ret 178 -label L1969 -label L1967 -jmp L1962 -label L1964 -label L1962 +label L2014 +label L2012 +jmp L2007 +label L2009 +label L2007 iconst 185 0 iconst 186 1 sub 187 185 186 @@ -139071,25 +139372,25 @@ call 6 ast_get_node struct:Node 1 5 call 7 pith_struct_release void 1 4 store node 6 iconst 8 0 -store __and_8_1977 8 +store __and_8_2022 8 load 9 node field 10 9 0 string kind strref 11 m46s35 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __and_8_1977 12 -brif 12 L1977 L1978 -label L1977 +store __and_8_2022 12 +brif 12 L2022 L2023 +label L2022 load 14 node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 2 gte 18 16 17 -store __and_8_1977 18 -label L1978 -load 19 __and_8_1977 -brif 19 L1975 L1976 -label L1975 +store __and_8_2022 18 +label L2023 +load 19 __and_8_2022 +brif 19 L2020 L2021 +label L2020 load 20 idx call 21 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 20 load 22 node @@ -139099,41 +139400,41 @@ call 25 pith_struct_release void 1 24 load 26 arg call 27 pith_struct_release void 1 26 ret 21 -label L1976 -label L1974 +label L2021 +label L2019 iconst 28 0 -store __or_28_1982 28 +store __or_28_2027 28 iconst 29 0 -store __or_29_1982 29 +store __or_29_2027 29 load 30 node field 31 30 0 string kind strref 32 m46s517 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -store __or_29_1982 33 -brif 33 L1983 L1982 -label L1982 +store __or_29_2027 33 +brif 33 L2028 L2027 +label L2027 load 35 node field 36 35 0 string kind strref 37 m46s675 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __or_29_1982 38 -label L1983 -load 40 __or_29_1982 -store __or_28_1982 40 -brif 40 L1985 L1984 -label L1984 +store __or_29_2027 38 +label L2028 +load 40 __or_29_2027 +store __or_28_2027 40 +brif 40 L2030 L2029 +label L2029 load 41 node field 42 41 0 string kind strref 43 m46s1025 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __or_28_1982 44 -label L1985 -load 46 __or_28_1982 -brif 46 L1980 L1981 -label L1980 +store __or_28_2027 44 +label L2030 +load 46 __or_28_2027 +brif 46 L2025 L2026 +label L2025 load 47 node field 48 47 8 string value call 49 ir_emitter_core_ir_string_lit_single_byte int 1 48 @@ -139146,28 +139447,28 @@ call 55 pith_struct_release void 1 54 load 56 arg call 57 pith_struct_release void 1 56 ret 51 -label L1981 -label L1979 +label L2026 +label L2024 iconst 58 0 -store __and_58_1989 58 +store __and_58_2034 58 load 59 node field 60 59 0 string kind strref 61 m46s44 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __and_58_1989 62 -brif 62 L1989 L1990 -label L1989 +store __and_58_2034 62 +brif 62 L2034 L2035 +label L2034 load 64 node field 65 64 16 list children call 66 pith_list_len int 1 65 iconst 67 2 gte 68 66 67 -store __and_58_1989 68 -label L1990 -load 69 __and_58_1989 -brif 69 L1987 L1988 -label L1987 +store __and_58_2034 68 +label L2035 +load 69 __and_58_2034 +brif 69 L2032 L2033 +label L2032 load 70 callee load 71 node field 72 71 16 list children @@ -139185,36 +139486,36 @@ call 82 ast_get_node struct:Node 1 81 call 83 pith_struct_release void 1 77 store arg 82 iconst 84 0 -store __and_84_1991 84 +store __and_84_2036 84 iconst 85 0 -store __and_85_1991 85 +store __and_85_2036 85 load 86 callee field 87 86 0 string kind strref 88 m46s37 call 89 pith_cstring_eq bool 2 87 88 call 90 pith_cstring_release void 1 88 -store __and_85_1991 89 -brif 89 L1991 L1992 -label L1991 +store __and_85_2036 89 +brif 89 L2036 L2037 +label L2036 load 91 callee field 92 91 8 string value strref 93 m46s1262 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -store __and_85_1991 94 -label L1992 -load 96 __and_85_1991 -store __and_84_1991 96 -brif 96 L1993 L1994 -label L1993 +store __and_85_2036 94 +label L2037 +load 96 __and_85_2036 +store __and_84_2036 96 +brif 96 L2038 L2039 +label L2038 load 97 arg field 98 97 0 string kind strref 99 m46s519 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __and_84_1991 100 -label L1994 -load 102 __and_84_1991 +store __and_84_2036 100 +label L2039 +load 102 __and_84_2036 load 103 node call 104 pith_struct_release void 1 103 load 105 callee @@ -139222,8 +139523,8 @@ call 106 pith_struct_release void 1 105 load 107 arg call 108 pith_struct_release void 1 107 ret 102 -label L1988 -label L1986 +label L2033 +label L2031 iconst 109 0 load 110 node call 111 pith_struct_release void 1 110 @@ -139265,7 +139566,7 @@ call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 11 store right 16 iconst 18 0 -store __and_18_1998 18 +store __and_18_2043 18 load 19 left field 20 19 0 string kind strref 21 m46s35 @@ -139273,9 +139574,9 @@ call 23 pith_cstring_eq bool 2 20 21 iconst 24 1 sub 22 24 23 call 25 pith_cstring_release void 1 21 -store __and_18_1998 22 -brif 22 L1998 L1999 -label L1998 +store __and_18_2043 22 +brif 22 L2043 L2044 +label L2043 load 26 right field 27 26 0 string kind strref 28 m46s35 @@ -139283,11 +139584,11 @@ call 30 pith_cstring_eq bool 2 27 28 iconst 31 1 sub 29 31 30 call 32 pith_cstring_release void 1 28 -store __and_18_1998 29 -label L1999 -load 33 __and_18_1998 -brif 33 L1996 L1997 -label L1996 +store __and_18_2043 29 +label L2044 +load 33 __and_18_2043 +brif 33 L2041 L2042 +label L2041 iconst 34 0 iconst 35 1 sub 36 34 35 @@ -139296,10 +139597,10 @@ call 38 pith_struct_release void 1 37 load 39 right call 40 pith_struct_release void 1 39 ret 36 -label L1997 -label L1995 +label L2042 +label L2040 iconst 41 0 -store __or_41_2003 41 +store __or_41_2048 41 load 42 node field 43 42 16 list children iconst 44 0 @@ -139311,9 +139612,9 @@ iconst 50 1 sub 48 50 49 call 51 pith_cstring_release void 1 46 call 52 pith_cstring_release void 1 47 -store __or_41_2003 48 -brif 48 L2004 L2003 -label L2003 +store __or_41_2048 48 +brif 48 L2049 L2048 +label L2048 load 53 node field 54 53 16 list children iconst 55 1 @@ -139325,11 +139626,11 @@ iconst 61 1 sub 59 61 60 call 62 pith_cstring_release void 1 57 call 63 pith_cstring_release void 1 58 -store __or_41_2003 59 -label L2004 -load 64 __or_41_2003 -brif 64 L2001 L2002 -label L2001 +store __or_41_2048 59 +label L2049 +load 64 __or_41_2048 +brif 64 L2046 L2047 +label L2046 iconst 65 0 iconst 66 1 sub 67 65 66 @@ -139338,10 +139639,10 @@ call 69 pith_struct_release void 1 68 load 70 right call 71 pith_struct_release void 1 70 ret 67 -label L2002 -label L2000 +label L2047 +label L2045 iconst 72 0 -store __or_72_2008 72 +store __or_72_2053 72 load 73 node field 74 73 16 list children iconst 75 0 @@ -139349,9 +139650,9 @@ call 76 pith_list_get_value_strict int 2 74 75 call 77 ir_emitter_core_ir_is_byte_operand bool 1 76 iconst 79 1 sub 78 79 77 -store __or_72_2008 78 -brif 78 L2009 L2008 -label L2008 +store __or_72_2053 78 +brif 78 L2054 L2053 +label L2053 load 80 node field 81 80 16 list children iconst 82 1 @@ -139359,11 +139660,11 @@ call 83 pith_list_get_value_strict int 2 81 82 call 84 ir_emitter_core_ir_is_byte_operand bool 1 83 iconst 86 1 sub 85 86 84 -store __or_72_2008 85 -label L2009 -load 87 __or_72_2008 -brif 87 L2006 L2007 -label L2006 +store __or_72_2053 85 +label L2054 +load 87 __or_72_2053 +brif 87 L2051 L2052 +label L2051 iconst 88 0 iconst 89 1 sub 90 88 89 @@ -139372,8 +139673,8 @@ call 92 pith_struct_release void 1 91 load 93 right call 94 pith_struct_release void 1 93 ret 90 -label L2007 -label L2005 +label L2052 +label L2050 load 95 node field 96 95 16 list children iconst 97 0 @@ -139392,8 +139693,8 @@ load 106 op strref 107 m46s469 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 107 -brif 108 L2011 L2012 -label L2011 +brif 108 L2056 L2057 +label L2056 strref 110 m46s839 load 111 r call 112 int_to_string string 1 111 @@ -139420,8 +139721,8 @@ call 132 pith_cstring_release void 1 126 call 133 pith_cstring_release void 1 130 call 134 ir_builder_ir_emit void 1 131 call 135 pith_cstring_release void 1 131 -jmp L2010 -label L2012 +jmp L2055 +label L2057 strref 136 m46s1035 load 137 r call 138 int_to_string string 1 137 @@ -139448,7 +139749,7 @@ call 158 pith_cstring_release void 1 152 call 159 pith_cstring_release void 1 156 call 160 ir_builder_ir_emit void 1 157 call 161 pith_cstring_release void 1 157 -label L2010 +label L2055 load 162 r load 163 left call 164 pith_struct_release void 1 163 @@ -139545,8 +139846,8 @@ load 68 op strref 69 m46s451 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -brif 70 L2014 L2015 -label L2014 +brif 70 L2059 L2060 +label L2059 strref 72 m46s834 load 73 left_r call 74 int_to_string string 1 73 @@ -139569,8 +139870,8 @@ concat 90 86 89 call 91 pith_cstring_release void 1 86 call 92 ir_builder_ir_emit void 1 90 call 93 pith_cstring_release void 1 90 -jmp L2013 -label L2015 +jmp L2058 +label L2060 strref 94 m46s834 load 95 left_r call 96 int_to_string string 1 95 @@ -139593,7 +139894,7 @@ concat 112 108 111 call 113 pith_cstring_release void 1 108 call 114 ir_builder_ir_emit void 1 112 call 115 pith_cstring_release void 1 112 -label L2013 +label L2058 strref 116 m46s984 load 117 right_l concat 118 116 117 @@ -139676,16 +139977,16 @@ call 6 pith_cstring_eq bool 2 3 4 iconst 7 1 sub 5 7 6 call 8 pith_cstring_release void 1 4 -brif 5 L2017 L2018 -label L2017 +brif 5 L2062 L2063 +label L2062 iconst 9 1 iconst 11 0 sub 10 11 9 load 12 name call 13 pith_cstring_release void 1 12 ret 10 -label L2018 -label L2016 +label L2063 +label L2061 load 14 name load 15 operand_node field 16 15 8 string value @@ -139697,16 +139998,16 @@ load 20 name call 21 contains_key bool 2 19 20 iconst 23 1 sub 22 23 21 -brif 22 L2020 L2021 -label L2020 +brif 22 L2065 L2066 +label L2065 iconst 24 1 iconst 26 0 sub 25 26 24 load 27 name call 28 pith_cstring_release void 1 27 ret 25 -label L2021 -label L2019 +label L2066 +label L2064 load 29 ir_alias_registry_ir_active_param_optional_tids load 30 name call 31 map_get_strict int 2 29 30 @@ -139721,25 +140022,25 @@ endfunc func ir_emitter_core_ir_emit_binary_expr 1 int param node iconst 1 0 -store __or_1_2025 1 +store __or_1_2070 1 load 2 node field 3 2 8 string value strref 4 m46s469 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_1_2025 5 -brif 5 L2026 L2025 -label L2025 +store __or_1_2070 5 +brif 5 L2071 L2070 +label L2070 load 7 node field 8 7 8 string value strref 9 m46s467 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_1_2025 10 -label L2026 -load 12 __or_1_2025 -brif 12 L2023 L2024 -label L2023 +store __or_1_2070 10 +label L2071 +load 12 __or_1_2070 +brif 12 L2068 L2069 +label L2068 load 13 node load 14 node field 15 14 8 string value @@ -139748,40 +140049,40 @@ store fast_r 16 load 17 fast_r iconst 18 0 gte 19 17 18 -brif 19 L2028 L2029 -label L2028 +brif 19 L2073 L2074 +label L2073 load 20 fast_r ret 20 -label L2029 -label L2027 -jmp L2022 -label L2024 -label L2022 +label L2074 +label L2072 +jmp L2067 +label L2069 +label L2067 iconst 21 0 -store __or_21_2033 21 +store __or_21_2078 21 load 22 node field 23 22 8 string value strref 24 m46s453 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_21_2033 25 -brif 25 L2034 L2033 -label L2033 +store __or_21_2078 25 +brif 25 L2079 L2078 +label L2078 load 27 node field 28 27 8 string value strref 29 m46s451 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_21_2033 30 -label L2034 -load 32 __or_21_2033 -brif 32 L2031 L2032 -label L2031 +store __or_21_2078 30 +label L2079 +load 32 __or_21_2078 +brif 32 L2076 L2077 +label L2076 load 33 node call 34 ir_emitter_core_ir_emit_short_circuit_logic int 1 33 ret 34 -label L2032 -label L2030 +label L2077 +label L2075 load 35 node field 36 35 16 list children iconst 37 0 @@ -139805,12 +140106,12 @@ store opt_r 50 load 51 opt_r iconst 52 0 gte 53 51 52 -brif 53 L2036 L2037 -label L2036 +brif 53 L2081 L2082 +label L2081 load 54 opt_r ret 54 -label L2037 -label L2035 +label L2082 +label L2080 load 55 node load 56 r load 57 left_r @@ -139884,43 +140185,43 @@ call 46 ast_get_node struct:Node 1 45 call 47 pith_struct_release void 1 41 store right_node 46 iconst 48 0 -store __or_48_2041 48 +store __or_48_2086 48 load 49 op strref 50 m46s469 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __or_48_2041 51 -brif 51 L2042 L2041 -label L2041 +store __or_48_2086 51 +brif 51 L2087 L2086 +label L2086 load 53 op strref 54 m46s467 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_48_2041 55 -label L2042 -load 57 __or_48_2041 -brif 57 L2039 L2040 -label L2039 +store __or_48_2086 55 +label L2087 +load 57 __or_48_2086 +brif 57 L2084 L2085 +label L2084 iconst 58 0 -store __and_58_2046 58 +store __and_58_2091 58 load 59 left_node field 60 59 0 string kind strref 61 m46s56 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __and_58_2046 62 -brif 62 L2046 L2047 -label L2046 +store __and_58_2091 62 +brif 62 L2091 L2092 +label L2091 load 64 right_info field 65 64 0 string kind strref 66 m46s21 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __and_58_2046 67 -label L2047 -load 69 __and_58_2046 -brif 69 L2044 L2045 -label L2044 +store __and_58_2091 67 +label L2092 +load 69 __and_58_2091 +brif 69 L2089 L2090 +label L2089 load 70 r load 71 op load 72 right_r @@ -139947,28 +140248,28 @@ call 92 pith_struct_release void 1 91 load 93 rg call 94 pith_struct_release void 1 93 ret 80 -label L2045 -label L2043 +label L2090 +label L2088 iconst 95 0 -store __and_95_2051 95 +store __and_95_2096 95 load 96 right_node field 97 96 0 string kind strref 98 m46s56 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __and_95_2051 99 -brif 99 L2051 L2052 -label L2051 +store __and_95_2096 99 +brif 99 L2096 L2097 +label L2096 load 101 left_info field 102 101 0 string kind strref 103 m46s21 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __and_95_2051 104 -label L2052 -load 106 __and_95_2051 -brif 106 L2049 L2050 -label L2049 +store __and_95_2096 104 +label L2097 +load 106 __and_95_2096 +brif 106 L2094 L2095 +label L2094 load 107 r load 108 op load 109 left_r @@ -139995,21 +140296,21 @@ call 129 pith_struct_release void 1 128 load 130 rg call 131 pith_struct_release void 1 130 ret 117 -label L2050 -label L2048 +label L2095 +label L2093 load 132 ir_emitter_core_ir_current_impl_subst_params call 133 pith_list_len int 1 132 iconst 134 0 gt 135 133 134 -brif 135 L2054 L2055 -label L2054 +brif 135 L2099 L2100 +label L2099 load 136 left_node field 137 136 0 string kind strref 138 m46s56 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L2057 L2058 -label L2057 +brif 139 L2102 L2103 +label L2102 load 141 r load 142 op load 143 right_r @@ -140030,15 +140331,15 @@ call 157 pith_struct_release void 1 156 load 158 rg call 159 pith_struct_release void 1 158 ret 145 -label L2058 -label L2056 +label L2103 +label L2101 load 160 right_node field 161 160 0 string kind strref 162 m46s56 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L2060 L2061 -label L2060 +brif 163 L2105 L2106 +label L2105 load 165 r load 166 op load 167 left_r @@ -140059,56 +140360,56 @@ call 181 pith_struct_release void 1 180 load 182 rg call 183 pith_struct_release void 1 182 ret 169 -label L2061 -label L2059 -jmp L2053 -label L2055 -label L2053 +label L2106 +label L2104 +jmp L2098 +label L2100 +label L2098 iconst 184 0 -store __and_184_2065 184 +store __and_184_2110 184 iconst 185 0 -store __and_185_2065 185 +store __and_185_2110 185 iconst 186 0 -store __and_186_2065 186 +store __and_186_2110 186 load 187 left_info field 188 187 0 string kind strref 189 m46s21 call 190 pith_cstring_eq bool 2 188 189 call 191 pith_cstring_release void 1 189 -store __and_186_2065 190 -brif 190 L2065 L2066 -label L2065 +store __and_186_2110 190 +brif 190 L2110 L2111 +label L2110 load 192 right_info field 193 192 0 string kind strref 194 m46s21 call 195 pith_cstring_eq bool 2 193 194 call 196 pith_cstring_release void 1 194 -store __and_186_2065 195 -label L2066 -load 197 __and_186_2065 -store __and_185_2065 197 -brif 197 L2067 L2068 -label L2067 +store __and_186_2110 195 +label L2111 +load 197 __and_186_2110 +store __and_185_2110 197 +brif 197 L2112 L2113 +label L2112 load 198 left_info field 199 198 64 int inner iconst 200 0 gte 201 199 200 -store __and_185_2065 201 -label L2068 -load 202 __and_185_2065 -store __and_184_2065 202 -brif 202 L2069 L2070 -label L2069 +store __and_185_2110 201 +label L2113 +load 202 __and_185_2110 +store __and_184_2110 202 +brif 202 L2114 L2115 +label L2114 load 203 left_info field 204 203 64 int inner load 205 right_info field 206 205 64 int inner eq 207 204 206 -store __and_184_2065 207 -label L2070 -load 208 __and_184_2065 -brif 208 L2063 L2064 -label L2063 +store __and_184_2110 207 +label L2115 +load 208 __and_184_2110 +brif 208 L2108 L2109 +label L2108 load 209 r load 210 op load 211 left_r @@ -140131,14 +140432,14 @@ call 227 pith_struct_release void 1 226 load 228 rg call 229 pith_struct_release void 1 228 ret 215 -label L2064 -label L2062 +label L2109 +label L2107 load 230 ir_alias_registry_ir_active_param_optional_tids call 231 map_len int 1 230 iconst 232 0 gt 233 231 232 -brif 233 L2072 L2073 -label L2072 +brif 233 L2117 L2118 +label L2117 load 234 left_node call 235 ir_emitter_core_ir_generic_param_optional_tid int 1 234 store gen_left_tid 235 @@ -140146,21 +140447,21 @@ load 236 right_node call 237 ir_emitter_core_ir_generic_param_optional_tid int 1 236 store gen_right_tid 237 iconst 238 0 -store __and_238_2077 238 +store __and_238_2122 238 load 239 gen_left_tid iconst 240 0 gte 241 239 240 -store __and_238_2077 241 -brif 241 L2077 L2078 -label L2077 +store __and_238_2122 241 +brif 241 L2122 L2123 +label L2122 load 242 gen_right_tid iconst 243 0 gte 244 242 243 -store __and_238_2077 244 -label L2078 -load 245 __and_238_2077 -brif 245 L2075 L2076 -label L2075 +store __and_238_2122 244 +label L2123 +load 245 __and_238_2122 +brif 245 L2120 L2121 +label L2120 load 246 lg load 247 gen_left_tid call 248 types_get_type_info struct:TypeInfo 1 247 @@ -140172,24 +140473,24 @@ call 252 types_get_type_info struct:TypeInfo 1 251 call 253 pith_struct_release void 1 250 store rg 252 iconst 254 0 -store __and_254_2082 254 +store __and_254_2127 254 load 255 lg field 256 255 64 int inner iconst 257 0 gte 258 256 257 -store __and_254_2082 258 -brif 258 L2082 L2083 -label L2082 +store __and_254_2127 258 +brif 258 L2127 L2128 +label L2127 load 259 lg field 260 259 64 int inner load 261 rg field 262 261 64 int inner eq 263 260 262 -store __and_254_2082 263 -label L2083 -load 264 __and_254_2082 -brif 264 L2080 L2081 -label L2080 +store __and_254_2127 263 +label L2128 +load 264 __and_254_2127 +brif 264 L2125 L2126 +label L2125 load 265 r load 266 op load 267 left_r @@ -140212,29 +140513,29 @@ call 283 pith_struct_release void 1 282 load 284 rg call 285 pith_struct_release void 1 284 ret 271 -label L2081 -label L2079 -jmp L2074 -label L2076 -label L2074 +label L2126 +label L2124 +jmp L2119 +label L2121 +label L2119 iconst 286 0 -store __and_286_2087 286 +store __and_286_2132 286 load 287 gen_left_tid iconst 288 0 gte 289 287 288 -store __and_286_2087 289 -brif 289 L2087 L2088 -label L2087 +store __and_286_2132 289 +brif 289 L2132 L2133 +label L2132 load 290 right_node field 291 290 0 string kind strref 292 m46s56 call 293 pith_cstring_eq bool 2 291 292 call 294 pith_cstring_release void 1 292 -store __and_286_2087 293 -label L2088 -load 295 __and_286_2087 -brif 295 L2085 L2086 -label L2085 +store __and_286_2132 293 +label L2133 +load 295 __and_286_2132 +brif 295 L2130 L2131 +label L2130 load 296 r load 297 op load 298 left_r @@ -140255,26 +140556,26 @@ call 312 pith_struct_release void 1 311 load 313 rg call 314 pith_struct_release void 1 313 ret 300 -label L2086 -label L2084 +label L2131 +label L2129 iconst 315 0 -store __and_315_2092 315 +store __and_315_2137 315 load 316 gen_right_tid iconst 317 0 gte 318 316 317 -store __and_315_2092 318 -brif 318 L2092 L2093 -label L2092 +store __and_315_2137 318 +brif 318 L2137 L2138 +label L2137 load 319 left_node field 320 319 0 string kind strref 321 m46s56 call 322 pith_cstring_eq bool 2 320 321 call 323 pith_cstring_release void 1 321 -store __and_315_2092 322 -label L2093 -load 324 __and_315_2092 -brif 324 L2090 L2091 -label L2090 +store __and_315_2137 322 +label L2138 +load 324 __and_315_2137 +brif 324 L2135 L2136 +label L2135 load 325 r load 326 op load 327 right_r @@ -140295,14 +140596,14 @@ call 341 pith_struct_release void 1 340 load 342 rg call 343 pith_struct_release void 1 342 ret 329 -label L2091 -label L2089 -jmp L2071 -label L2073 -label L2071 -jmp L2038 -label L2040 -label L2038 +label L2136 +label L2134 +jmp L2116 +label L2118 +label L2116 +jmp L2083 +label L2085 +label L2083 iconst 344 0 iconst 345 1 sub 346 344 345 @@ -140374,69 +140675,69 @@ call 25 ir_emitter_core_ir_infer_type string 1 24 call 26 pith_cstring_release void 1 20 store right_type 25 iconst 27 0 -store __or_27_2094 27 +store __or_27_2139 27 load 28 left_type strref 29 m46s675 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_27_2094 30 -brif 30 L2095 L2094 -label L2094 +store __or_27_2139 30 +brif 30 L2140 L2139 +label L2139 load 32 right_type strref 33 m46s675 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_27_2094 34 -label L2095 -load 36 __or_27_2094 +store __or_27_2139 34 +label L2140 +load 36 __or_27_2139 store is_str_op 36 iconst 37 0 -store __and_37_2096 37 +store __and_37_2141 37 load 38 left_type strref 39 m46s674 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_37_2096 40 -brif 40 L2096 L2097 -label L2096 +store __and_37_2141 40 +brif 40 L2141 L2142 +label L2141 load 42 right_type strref 43 m46s674 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __and_37_2096 44 -label L2097 -load 46 __and_37_2096 +store __and_37_2141 44 +label L2142 +load 46 __and_37_2141 store is_bytes_op 46 iconst 47 0 -store __or_47_2098 47 +store __or_47_2143 47 load 48 left_type strref 49 m46s672 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -store __or_47_2098 50 -brif 50 L2099 L2098 -label L2098 +store __or_47_2143 50 +brif 50 L2144 L2143 +label L2143 load 52 right_type strref 53 m46s672 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_47_2098 54 -label L2099 -load 56 __or_47_2098 +store __or_47_2143 54 +label L2144 +load 56 __or_47_2143 store is_float_op 56 iconst 57 0 -store __and_57_2103 57 +store __and_57_2148 57 load 58 is_float_op -store __and_57_2103 58 -brif 58 L2103 L2104 -label L2103 +store __and_57_2148 58 +brif 58 L2148 L2149 +label L2148 load 59 op call 60 ir_operator_helpers_ir_is_float_arithmetic bool 1 59 -store __and_57_2103 60 -label L2104 -load 61 __and_57_2103 -brif 61 L2101 L2102 -label L2101 +store __and_57_2148 60 +label L2149 +load 61 __and_57_2148 +brif 61 L2146 L2147 +label L2146 load 62 r load 63 op load 64 left_r @@ -140452,23 +140753,23 @@ call 73 pith_cstring_release void 1 72 load 74 simple_op call 75 pith_cstring_release void 1 74 ret 67 -label L2102 -label L2100 +label L2147 +label L2145 iconst 76 0 -store __and_76_2108 76 +store __and_76_2153 76 load 77 op strref 78 m46s234 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __and_76_2108 79 -brif 79 L2108 L2109 -label L2108 +store __and_76_2153 79 +brif 79 L2153 L2154 +label L2153 load 81 is_str_op -store __and_76_2108 81 -label L2109 -load 82 __and_76_2108 -brif 82 L2106 L2107 -label L2106 +store __and_76_2153 81 +label L2154 +load 82 __and_76_2153 +brif 82 L2151 L2152 +label L2151 strref 83 m46s1212 load 84 r call 85 int_to_string string 1 84 @@ -140509,17 +140810,17 @@ call 119 pith_list_get_value_strict int 2 117 118 load 120 right_r load 121 right_type call 122 ir_emitter_core_ir_release_owned_string_operand void 3 119 120 121 -jmp L2105 -label L2107 +jmp L2150 +label L2152 load 123 op strref 124 m46s469 call 125 pith_cstring_eq bool 2 123 124 call 126 pith_cstring_release void 1 124 -brif 125 L2110 L2111 -label L2110 +brif 125 L2155 L2156 +label L2155 load 127 is_str_op -brif 127 L2113 L2114 -label L2113 +brif 127 L2158 L2159 +label L2158 load 128 r strref 129 m46s722 strref 130 m46s673 @@ -140542,11 +140843,11 @@ call 146 pith_list_get_value_strict int 2 144 145 load 147 right_r load 148 right_type call 149 ir_emitter_core_ir_release_owned_string_operand void 3 146 147 148 -jmp L2112 -label L2114 +jmp L2157 +label L2159 load 150 is_bytes_op -brif 150 L2115 L2116 -label L2115 +brif 150 L2160 L2161 +label L2160 load 151 r strref 152 m46s1258 strref 153 m46s673 @@ -140555,8 +140856,8 @@ load 155 right_r call 156 ir_call_emit_ir_emit_call2 void 5 151 152 153 154 155 call 157 pith_cstring_release void 1 152 call 158 pith_cstring_release void 1 153 -jmp L2112 -label L2116 +jmp L2157 +label L2161 load 159 node call 160 ir_struct_registry_ir_binary_enum_eq_name string 1 159 strref 161 m46s82 @@ -140565,8 +140866,8 @@ iconst 164 1 sub 162 164 163 call 165 pith_cstring_release void 1 160 call 166 pith_cstring_release void 1 161 -brif 162 L2117 L2118 -label L2117 +brif 162 L2162 L2163 +label L2162 load 167 r strref 168 m46s1158 load 169 node @@ -140580,23 +140881,23 @@ load 176 right_r call 177 ir_call_emit_ir_emit_call2 void 5 167 171 174 175 176 call 178 pith_cstring_release void 1 171 call 179 pith_cstring_release void 1 174 -jmp L2112 -label L2118 +jmp L2157 +label L2163 load 180 r strref 181 m46s469 load 182 left_r load 183 right_r call 184 ir_operator_helpers_ir_emit_simple_binary void 4 180 181 182 183 call 185 pith_cstring_release void 1 181 -label L2112 -jmp L2105 -label L2111 +label L2157 +jmp L2150 +label L2156 load 186 op strref 187 m46s467 call 188 pith_cstring_eq bool 2 186 187 call 189 pith_cstring_release void 1 187 -brif 188 L2119 L2120 -label L2119 +brif 188 L2164 L2165 +label L2164 load 190 node call 191 ir_struct_registry_ir_binary_enum_eq_name string 1 190 strref 192 m46s82 @@ -140605,8 +140906,8 @@ iconst 195 1 sub 193 195 194 call 196 pith_cstring_release void 1 191 call 197 pith_cstring_release void 1 192 -brif 193 L2122 L2123 -label L2122 +brif 193 L2167 L2168 +label L2167 call 198 ir_builder_ir_reg int 0 store eq_r 198 load 199 eq_r @@ -140662,8 +140963,8 @@ call 247 pith_cstring_release void 1 241 call 248 pith_cstring_release void 1 245 call 249 ir_builder_ir_emit void 1 246 call 250 pith_cstring_release void 1 246 -jmp L2121 -label L2123 +jmp L2166 +label L2168 load 251 r load 252 left_r load 253 right_r @@ -140671,8 +140972,8 @@ load 254 is_str_op load 255 is_bytes_op call 256 ir_emitter_core_ir_emit_binary_neq void 5 251 252 253 254 255 load 257 is_str_op -brif 257 L2125 L2126 -label L2125 +brif 257 L2170 L2171 +label L2170 load 258 node field 259 258 16 list children iconst 260 0 @@ -140687,12 +140988,12 @@ call 268 pith_list_get_value_strict int 2 266 267 load 269 right_r load 270 right_type call 271 ir_emitter_core_ir_release_owned_string_operand void 3 268 269 270 -jmp L2124 -label L2126 -label L2124 -label L2121 -jmp L2105 -label L2120 +jmp L2169 +label L2171 +label L2169 +label L2166 +jmp L2150 +label L2165 load 272 simple_op load 273 op call 274 ir_operator_helpers_ir_binary_simple_ir_op string 1 273 @@ -140702,27 +141003,27 @@ load 276 simple_op call 277 string_len int 1 276 iconst 278 0 gt 279 277 278 -brif 279 L2128 L2129 -label L2128 +brif 279 L2173 L2174 +label L2173 iconst 280 0 -store __and_280_2133 280 +store __and_280_2178 280 load 281 is_str_op -store __and_280_2133 281 -brif 281 L2133 L2134 -label L2133 +store __and_280_2178 281 +brif 281 L2178 L2179 +label L2178 load 282 simple_op call 283 ir_emitter_core_ir_binary_op_is_comparison bool 1 282 -store __and_280_2133 283 -label L2134 -load 284 __and_280_2133 -brif 284 L2131 L2132 -label L2131 +store __and_280_2178 283 +label L2179 +load 284 __and_280_2178 +brif 284 L2176 L2177 +label L2176 load 285 simple_op strref 286 m46s465 call 287 pith_cstring_eq bool 2 285 286 call 288 pith_cstring_release void 1 286 -brif 287 L2136 L2137 -label L2136 +brif 287 L2181 L2182 +label L2181 load 289 r strref 290 m46s1261 strref 291 m46s673 @@ -140731,14 +141032,14 @@ load 293 right_r call 294 ir_call_emit_ir_emit_call2 void 5 289 290 291 292 293 call 295 pith_cstring_release void 1 290 call 296 pith_cstring_release void 1 291 -jmp L2135 -label L2137 +jmp L2180 +label L2182 load 297 simple_op strref 298 m46s459 call 299 pith_cstring_eq bool 2 297 298 call 300 pith_cstring_release void 1 298 -brif 299 L2138 L2139 -label L2138 +brif 299 L2183 L2184 +label L2183 load 301 r strref 302 m46s1260 strref 303 m46s673 @@ -140747,14 +141048,14 @@ load 305 right_r call 306 ir_call_emit_ir_emit_call2 void 5 301 302 303 304 305 call 307 pith_cstring_release void 1 302 call 308 pith_cstring_release void 1 303 -jmp L2135 -label L2139 +jmp L2180 +label L2184 load 309 simple_op strref 310 m46s462 call 311 pith_cstring_eq bool 2 309 310 call 312 pith_cstring_release void 1 310 -brif 311 L2140 L2141 -label L2140 +brif 311 L2185 L2186 +label L2185 load 313 r strref 314 m46s1261 strref 315 m46s673 @@ -140763,8 +141064,8 @@ load 317 left_r call 318 ir_call_emit_ir_emit_call2 void 5 313 314 315 316 317 call 319 pith_cstring_release void 1 314 call 320 pith_cstring_release void 1 315 -jmp L2135 -label L2141 +jmp L2180 +label L2186 load 321 r strref 322 m46s1260 strref 323 m46s673 @@ -140773,7 +141074,7 @@ load 325 left_r call 326 ir_call_emit_ir_emit_call2 void 5 321 322 323 324 325 call 327 pith_cstring_release void 1 322 call 328 pith_cstring_release void 1 323 -label L2135 +label L2180 load 329 node field 330 329 16 list children iconst 331 0 @@ -140788,16 +141089,16 @@ call 339 pith_list_get_value_strict int 2 337 338 load 340 right_r load 341 right_type call 342 ir_emitter_core_ir_release_owned_string_operand void 3 339 340 341 -jmp L2130 -label L2132 +jmp L2175 +label L2177 load 343 r load 344 simple_op load 345 left_r load 346 right_r call 347 ir_operator_helpers_ir_emit_simple_binary void 4 343 344 345 346 -label L2130 -jmp L2127 -label L2129 +label L2175 +jmp L2172 +label L2174 strref 348 m46s1259 load 349 r call 350 int_to_string string 1 349 @@ -140831,8 +141132,8 @@ call 377 pith_cstring_release void 1 371 call 378 pith_cstring_release void 1 375 call 379 ir_builder_ir_emit void 1 376 call 380 pith_cstring_release void 1 376 -label L2127 -label L2105 +label L2172 +label L2150 load 381 r load 382 op call 383 pith_cstring_release void 1 382 @@ -140918,14 +141219,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 load 6 child_idx lte 7 5 6 -brif 7 L2143 L2144 -label L2143 +brif 7 L2188 L2189 +label L2188 strref 8 m46s82 load 9 child_node call 10 pith_struct_release void 1 9 ret 8 -label L2144 -label L2142 +label L2189 +label L2187 load 11 node field 12 11 16 list children load 13 child_idx @@ -140937,33 +141238,33 @@ call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 15 store child_node 17 iconst 19 0 -store __and_19_2148 19 +store __and_19_2193 19 load 20 child_node field 21 20 0 string kind strref 22 m46s42 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __and_19_2148 23 -brif 23 L2148 L2149 -label L2148 +store __and_19_2193 23 +brif 23 L2193 L2194 +label L2193 load 25 child_node field 26 25 16 list children call 27 pith_list_len int 1 26 iconst 28 0 gt 29 27 28 -store __and_19_2148 29 -label L2149 -load 30 __and_19_2148 -brif 30 L2146 L2147 -label L2146 +store __and_19_2193 29 +label L2194 +load 30 __and_19_2193 +brif 30 L2191 L2192 +label L2191 load 31 child_node field 32 31 16 list children iconst 33 0 call 34 pith_list_get_value_strict int 2 32 33 store expr_idx 34 -jmp L2145 -label L2147 -label L2145 +jmp L2190 +label L2192 +label L2190 load 35 expr_idx call 36 ir_emitter_core_ir_infer_type string 1 35 load 37 child_node @@ -141059,137 +141360,137 @@ func ir_emitter_core_ir_assert_eq_kind 2 string param left param right iconst 2 0 -store __or_2_2153 2 +store __or_2_2198 2 load 3 left strref 4 m46s675 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_2153 5 -brif 5 L2154 L2153 -label L2153 +store __or_2_2198 5 +brif 5 L2199 L2198 +label L2198 load 7 right strref 8 m46s675 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_2153 9 -label L2154 -load 11 __or_2_2153 -brif 11 L2151 L2152 -label L2151 +store __or_2_2198 9 +label L2199 +load 11 __or_2_2198 +brif 11 L2196 L2197 +label L2196 strref 12 m46s675 ret 12 -label L2152 -label L2150 +label L2197 +label L2195 iconst 13 0 -store __or_13_2158 13 +store __or_13_2203 13 load 14 left strref 15 m46s674 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_13_2158 16 -brif 16 L2159 L2158 -label L2158 +store __or_13_2203 16 +brif 16 L2204 L2203 +label L2203 load 18 right strref 19 m46s674 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_13_2158 20 -label L2159 -load 22 __or_13_2158 -brif 22 L2156 L2157 -label L2156 +store __or_13_2203 20 +label L2204 +load 22 __or_13_2203 +brif 22 L2201 L2202 +label L2201 strref 23 m46s674 ret 23 -label L2157 -label L2155 +label L2202 +label L2200 iconst 24 0 -store __or_24_2163 24 +store __or_24_2208 24 load 25 left strref 26 m46s668 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_24_2163 27 -brif 27 L2164 L2163 -label L2163 +store __or_24_2208 27 +brif 27 L2209 L2208 +label L2208 load 29 right strref 30 m46s668 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_24_2163 31 -label L2164 -load 33 __or_24_2163 -brif 33 L2161 L2162 -label L2161 +store __or_24_2208 31 +label L2209 +load 33 __or_24_2208 +brif 33 L2206 L2207 +label L2206 strref 34 m46s668 ret 34 -label L2162 -label L2160 +label L2207 +label L2205 iconst 35 0 -store __or_35_2168 35 +store __or_35_2213 35 load 36 left strref 37 m46s20 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __or_35_2168 38 -brif 38 L2169 L2168 -label L2168 +store __or_35_2213 38 +brif 38 L2214 L2213 +label L2213 load 40 right strref 41 m46s20 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_35_2168 42 -label L2169 -load 44 __or_35_2168 -brif 44 L2166 L2167 -label L2166 +store __or_35_2213 42 +label L2214 +load 44 __or_35_2213 +brif 44 L2211 L2212 +label L2211 strref 45 m46s20 ret 45 -label L2167 -label L2165 +label L2212 +label L2210 iconst 46 0 -store __or_46_2173 46 +store __or_46_2218 46 load 47 left strref 48 m46s672 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_46_2173 49 -brif 49 L2174 L2173 -label L2173 +store __or_46_2218 49 +brif 49 L2219 L2218 +label L2218 load 51 right strref 52 m46s672 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __or_46_2173 53 -label L2174 -load 55 __or_46_2173 -brif 55 L2171 L2172 -label L2171 +store __or_46_2218 53 +label L2219 +load 55 __or_46_2218 +brif 55 L2216 L2217 +label L2216 strref 56 m46s672 ret 56 -label L2172 -label L2170 +label L2217 +label L2215 iconst 57 0 -store __or_57_2178 57 +store __or_57_2223 57 load 58 left strref 59 m46s673 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -store __or_57_2178 60 -brif 60 L2179 L2178 -label L2178 +store __or_57_2223 60 +brif 60 L2224 L2223 +label L2223 load 62 right strref 63 m46s673 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_57_2178 64 -label L2179 -load 66 __or_57_2178 -brif 66 L2176 L2177 -label L2176 +store __or_57_2223 64 +label L2224 +load 66 __or_57_2223 +brif 66 L2221 L2222 +label L2221 strref 67 m46s673 ret 67 -label L2177 -label L2175 +label L2222 +label L2220 strref 68 m46s671 ret 68 iconst 69 0 @@ -141201,62 +141502,62 @@ load 1 kind strref 2 m46s672 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2181 L2182 -label L2181 +brif 3 L2226 L2227 +label L2226 iconst 5 1 ret 5 -label L2182 -label L2180 +label L2227 +label L2225 load 6 kind strref 7 m46s675 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2184 L2185 -label L2184 +brif 8 L2229 L2230 +label L2229 iconst 10 2 ret 10 -label L2185 -label L2183 +label L2230 +label L2228 load 11 kind strref 12 m46s674 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2187 L2188 -label L2187 +brif 13 L2232 L2233 +label L2232 iconst 15 3 ret 15 -label L2188 -label L2186 +label L2233 +label L2231 load 16 kind strref 17 m46s673 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2190 L2191 -label L2190 +brif 18 L2235 L2236 +label L2235 iconst 20 4 ret 20 -label L2191 -label L2189 +label L2236 +label L2234 load 21 kind strref 22 m46s20 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2193 L2194 -label L2193 +brif 23 L2238 L2239 +label L2238 iconst 25 5 ret 25 -label L2194 -label L2192 +label L2239 +label L2237 load 26 kind strref 27 m46s668 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2196 L2197 -label L2196 +brif 28 L2241 L2242 +label L2241 iconst 30 6 ret 30 -label L2197 -label L2195 +label L2242 +label L2240 iconst 31 0 ret 31 iconst 32 0 @@ -141289,8 +141590,8 @@ load 17 kind strref 18 m46s675 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2199 L2200 -label L2199 +brif 19 L2244 L2245 +label L2244 load 21 cmp_r strref 22 m46s722 strref 23 m46s673 @@ -141303,14 +141604,14 @@ call 29 pith_list_get_value_strict int 2 27 28 call 30 ir_call_emit_ir_emit_call2 void 5 21 22 23 26 29 call 31 pith_cstring_release void 1 22 call 32 pith_cstring_release void 1 23 -jmp L2198 -label L2200 +jmp L2243 +label L2245 load 33 kind strref 34 m46s674 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L2201 L2202 -label L2201 +brif 35 L2246 L2247 +label L2246 load 37 cmp_r strref 38 m46s1258 strref 39 m46s673 @@ -141323,14 +141624,14 @@ call 45 pith_list_get_value_strict int 2 43 44 call 46 ir_call_emit_ir_emit_call2 void 5 37 38 39 42 45 call 47 pith_cstring_release void 1 38 call 48 pith_cstring_release void 1 39 -jmp L2198 -label L2202 +jmp L2243 +label L2247 load 49 kind strref 50 m46s668 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L2203 L2204 -label L2203 +brif 51 L2248 L2249 +label L2248 load 53 cmp_r strref 54 m46s1257 strref 55 m46s673 @@ -141343,14 +141644,14 @@ call 61 pith_list_get_value_strict int 2 59 60 call 62 ir_call_emit_ir_emit_call2 void 5 53 54 55 58 61 call 63 pith_cstring_release void 1 54 call 64 pith_cstring_release void 1 55 -jmp L2198 -label L2204 +jmp L2243 +label L2249 load 65 kind strref 66 m46s20 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L2205 L2206 -label L2205 +brif 67 L2250 L2251 +label L2250 load 69 cmp_r strref 70 m46s1256 strref 71 m46s673 @@ -141363,8 +141664,8 @@ call 77 pith_list_get_value_strict int 2 75 76 call 78 ir_call_emit_ir_emit_call2 void 5 69 70 71 74 77 call 79 pith_cstring_release void 1 70 call 80 pith_cstring_release void 1 71 -jmp L2198 -label L2206 +jmp L2243 +label L2251 load 81 cmp_r strref 82 m46s469 load 83 arg_regs @@ -141375,7 +141676,7 @@ iconst 87 1 call 88 pith_list_get_value_strict int 2 86 87 call 89 ir_operator_helpers_ir_emit_simple_binary void 4 81 82 85 88 call 90 pith_cstring_release void 1 82 -label L2198 +label L2243 load 91 ok_l call 92 ir_builder_ir_label string 0 call 93 pith_cstring_release void 1 91 @@ -141503,8 +141804,8 @@ load 14 arg_regs call 15 pith_list_len int 1 14 iconst 16 2 lt 17 15 16 -brif 17 L2208 L2209 -label L2208 +brif 17 L2253 L2254 +label L2253 call 18 ir_result_abi_ir_zero_reg int 0 load 19 arg_regs call 20 pith_list_release_handle void 1 19 @@ -141519,8 +141820,8 @@ call 28 pith_list_release_handle void 1 27 load 29 decode_path_name call 30 pith_cstring_release void 1 29 ret 18 -label L2209 -label L2207 +label L2254 +label L2252 load 31 arg_regs iconst 32 0 call 33 pith_list_get_value_strict int 2 31 32 @@ -141573,16 +141874,16 @@ load 72 generic_ret_type call 73 string_len int 1 72 iconst 74 0 eq 75 73 74 -brif 75 L2211 L2212 -label L2211 +brif 75 L2256 L2257 +label L2256 load 76 generic_ret_type load 77 idx call 78 ir_emitter_core_ir_infer_type string 1 77 call 79 pith_cstring_release void 1 76 store generic_ret_type 78 -jmp L2210 -label L2212 -label L2210 +jmp L2255 +label L2257 +label L2255 load 80 concrete_types load 81 callee_node call 82 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 81 @@ -141592,8 +141893,8 @@ load 84 concrete_types call 85 pith_list_len int 1 84 iconst 86 0 eq 87 85 86 -brif 87 L2214 L2215 -label L2214 +brif 87 L2259 L2260 +label L2259 load 88 concrete_types strref 89 m46s1089 load 90 node @@ -141601,9 +141902,9 @@ call 91 ir_emitter_core_ir_infer_generic_concrete_types list_string 2 89 90 call 92 pith_cstring_release void 1 89 call 93 pith_list_release_handle void 1 88 store concrete_types 91 -jmp L2213 -label L2215 -label L2213 +jmp L2258 +label L2260 +label L2258 load 94 decode_path_name strref 95 m46s928 load 96 concrete_types @@ -141692,14 +141993,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 3 neq 6 4 5 -brif 6 L2217 L2218 -label L2217 +brif 6 L2262 L2263 +label L2262 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2218 -label L2216 +label L2263 +label L2261 load 10 idx load 11 node field 12 11 16 list children @@ -141723,15 +142024,15 @@ load 2 fn_idx call 3 ir_emitter_core_ir_string_expr_is_borrowed bool 1 2 iconst 5 1 sub 4 5 3 -brif 4 L2220 L2221 -label L2220 +brif 4 L2265 L2266 +label L2265 load 6 fn_r strref 7 m46s824 call 8 ir_ownership_ir_rc_release_reg void 2 6 7 call 9 pith_cstring_release void 1 7 -jmp L2219 -label L2221 -label L2219 +jmp L2264 +label L2266 +label L2264 iconst 10 0 ret 10 endfunc @@ -141787,15 +142088,15 @@ load 37 result_kind call 38 string_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L2223 L2224 -label L2223 +brif 40 L2268 L2269 +label L2268 load 41 result_kind strref 42 m46s20 call 43 pith_cstring_release void 1 41 store result_kind 42 -jmp L2222 -label L2224 -label L2222 +jmp L2267 +label L2269 +label L2267 load 44 elem_kind load 45 list_idx call 46 ir_type_helpers_ir_list_element_kind string 1 45 @@ -141817,16 +142118,16 @@ load 58 result_elem_kind call 59 string_len int 1 58 iconst 60 0 eq 61 59 60 -brif 61 L2226 L2227 -label L2226 +brif 61 L2271 L2272 +label L2271 load 62 result_elem_kind load 63 mapped_kind call 64 ir_struct_registry_ir_rc_kind string 1 63 call 65 pith_cstring_release void 1 62 store result_elem_kind 64 -jmp L2225 -label L2227 -label L2225 +jmp L2270 +label L2272 +label L2270 load 66 ctor load 67 result_elem_kind call 68 ir_emitter_core_ir_list_ctor_for_elem_kind string 1 67 @@ -141890,14 +142191,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 3 neq 6 4 5 -brif 6 L2229 L2230 -label L2229 +brif 6 L2274 L2275 +label L2274 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2230 -label L2228 +label L2275 +label L2273 load 10 idx load 11 node field 12 11 16 list children @@ -141962,29 +142263,29 @@ load 35 result_kind call 36 string_len int 1 35 iconst 37 0 eq 38 36 37 -brif 38 L2232 L2233 -label L2232 +brif 38 L2277 L2278 +label L2277 load 39 result_kind load 40 list_idx call 41 ir_emitter_core_ir_infer_type string 1 40 call 42 pith_cstring_release void 1 39 store result_kind 41 -jmp L2231 -label L2233 -label L2231 +jmp L2276 +label L2278 +label L2276 load 43 result_kind call 44 string_len int 1 43 iconst 45 0 eq 46 44 45 -brif 46 L2235 L2236 -label L2235 +brif 46 L2280 L2281 +label L2280 load 47 result_kind strref 48 m46s20 call 49 pith_cstring_release void 1 47 store result_kind 48 -jmp L2234 -label L2236 -label L2234 +jmp L2279 +label L2281 +label L2279 load 50 elem_kind load 51 list_idx call 52 ir_type_helpers_ir_list_element_kind string 1 51 @@ -142044,14 +142345,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 4 neq 6 4 5 -brif 6 L2238 L2239 -label L2238 +brif 6 L2283 L2284 +label L2283 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2239 -label L2237 +label L2284 +label L2282 load 10 idx load 11 node field 12 11 16 list children @@ -142151,29 +142452,29 @@ load 62 result_kind call 63 string_len int 1 62 iconst 64 0 eq 65 63 64 -brif 65 L2241 L2242 -label L2241 +brif 65 L2286 L2287 +label L2286 load 66 result_kind load 67 init_idx call 68 ir_emitter_core_ir_infer_type string 1 67 call 69 pith_cstring_release void 1 66 store result_kind 68 -jmp L2240 -label L2242 -label L2240 +jmp L2285 +label L2287 +label L2285 load 70 result_kind call 71 string_len int 1 70 iconst 72 0 eq 73 71 72 -brif 73 L2244 L2245 -label L2244 +brif 73 L2289 L2290 +label L2289 load 74 result_kind strref 75 m46s822 call 76 pith_cstring_release void 1 74 store result_kind 75 -jmp L2243 -label L2245 -label L2243 +jmp L2288 +label L2290 +label L2288 load 77 list_r load 78 reducer_name load 79 acc_name @@ -142221,38 +142522,38 @@ load 3 callee_name strref 4 m46s19 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L2247 L2248 -label L2247 +brif 5 L2292 L2293 +label L2292 load 7 idx load 8 node call 9 ir_emitter_core_ir_emit_list_map_call int 2 7 8 ret 9 -label L2248 -label L2246 +label L2293 +label L2291 load 10 callee_name strref 11 m46s259 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L2250 L2251 -label L2250 +brif 12 L2295 L2296 +label L2295 load 14 idx load 15 node call 16 ir_emitter_core_ir_emit_list_filter_call int 2 14 15 ret 16 -label L2251 -label L2249 +label L2296 +label L2294 load 17 callee_name strref 18 m46s258 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2253 L2254 -label L2253 +brif 19 L2298 L2299 +label L2298 load 21 idx load 22 node call 23 ir_emitter_core_ir_emit_list_reduce_call int 2 21 22 ret 23 -label L2254 -label L2252 +label L2299 +label L2297 iconst 24 1 iconst 26 0 sub 25 26 24 @@ -142284,14 +142585,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L2256 L2257 -label L2256 +brif 7 L2301 L2302 +label L2301 call 8 ir_list_helpers_ir_emit_list_missing_index_result int 0 load 9 elem_kind call 10 pith_cstring_release void 1 9 ret 8 -label L2257 -label L2255 +label L2302 +label L2300 load 11 node field 12 11 16 list children iconst 13 0 @@ -142316,15 +142617,15 @@ load 26 obj_type strref 27 m46s668 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2259 L2260 -label L2259 +brif 28 L2304 L2305 +label L2304 load 30 elem_kind strref 31 m46s675 call 32 pith_cstring_release void 1 30 store elem_kind 31 -jmp L2258 -label L2260 -label L2258 +jmp L2303 +label L2305 +label L2303 load 33 list_r load 34 target_r load 35 elem_kind @@ -142587,31 +142888,31 @@ load 4 obj_type call 5 ir_list_helpers_ir_is_list_runtime_type bool 1 4 iconst 7 1 sub 6 7 5 -brif 6 L2262 L2263 -label L2262 +brif 6 L2307 L2308 +label L2307 iconst 8 1 iconst 10 0 sub 9 10 8 ret 9 -label L2263 -label L2261 +label L2308 +label L2306 load 11 mname strref 12 m46s244 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2265 L2266 -label L2265 +brif 13 L2310 L2311 +label L2310 load 15 node call 16 ir_emitter_core_ir_emit_list_is_empty_method int 1 15 ret 16 -label L2266 -label L2264 +label L2311 +label L2309 load 17 mname strref 18 m46s262 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2268 L2269 -label L2268 +brif 19 L2313 L2314 +label L2313 load 21 node load 22 obj_type call 23 ir_emitter_core_ir_emit_list_index_search int 2 21 22 @@ -142619,26 +142920,26 @@ store raw_idx_r 23 load 24 raw_idx_r call 25 ir_emitter_core_ir_emit_index_search_to_optional int 1 24 ret 25 -label L2269 -label L2267 +label L2314 +label L2312 load 26 mname strref 27 m46s242 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2271 L2272 -label L2271 +brif 28 L2316 L2317 +label L2316 load 30 node load 31 obj_type call 32 ir_emitter_core_ir_emit_list_contains_method int 2 30 31 ret 32 -label L2272 -label L2270 +label L2317 +label L2315 load 33 mname strref 34 m46s19 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L2274 L2275 -label L2274 +brif 35 L2319 L2320 +label L2319 load 37 idx load 38 node field 39 38 16 list children @@ -142649,14 +142950,14 @@ iconst 43 0 call 44 ir_emitter_core_ir_method_call_arg_expr int 2 42 43 call 45 ir_emitter_core_ir_emit_list_map_lowering int 3 37 41 44 ret 45 -label L2275 -label L2273 +label L2320 +label L2318 load 46 mname strref 47 m46s259 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -brif 48 L2277 L2278 -label L2277 +brif 48 L2322 L2323 +label L2322 load 50 idx load 51 node field 52 51 16 list children @@ -142667,14 +142968,14 @@ iconst 56 0 call 57 ir_emitter_core_ir_method_call_arg_expr int 2 55 56 call 58 ir_emitter_core_ir_emit_list_filter_lowering int 3 50 54 57 ret 58 -label L2278 -label L2276 +label L2323 +label L2321 load 59 mname strref 60 m46s258 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -brif 61 L2280 L2281 -label L2280 +brif 61 L2325 L2326 +label L2325 load 63 idx load 64 node field 65 64 16 list children @@ -142688,8 +142989,8 @@ iconst 72 1 call 73 ir_emitter_core_ir_method_call_arg_expr int 2 71 72 call 74 ir_emitter_core_ir_emit_list_reduce_lowering int 4 63 67 70 73 ret 74 -label L2281 -label L2279 +label L2326 +label L2324 iconst 75 1 iconst 77 0 sub 76 77 75 @@ -142702,25 +143003,25 @@ param idx param node param callee_idx iconst 3 0 -store __or_3_2285 3 +store __or_3_2330 3 load 4 callee_idx strref 5 m46s391 call 6 ir_alias_registry_ir_is_json_decode_callee bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_3_2285 6 -brif 6 L2286 L2285 -label L2285 +store __or_3_2330 6 +brif 6 L2331 L2330 +label L2330 load 8 callee_idx strref 9 m46s391 strref 10 m46s1084 call 11 ir_emitter_core_ir_is_local_generic_callee bool 3 8 9 10 call 12 pith_cstring_release void 1 9 call 13 pith_cstring_release void 1 10 -store __or_3_2285 11 -label L2286 -load 14 __or_3_2285 -brif 14 L2283 L2284 -label L2283 +store __or_3_2330 11 +label L2331 +load 14 __or_3_2330 +brif 14 L2328 L2329 +label L2328 load 15 idx load 16 node iconst 17 0 @@ -142730,28 +143031,28 @@ call 20 ir_decode_emit_ir_emit_json_decode_call int 5 15 16 17 18 19 call 21 pith_closure_release void 1 18 call 22 pith_closure_release void 1 19 ret 20 -label L2284 -label L2282 +label L2329 +label L2327 iconst 23 0 -store __or_23_2290 23 +store __or_23_2335 23 load 24 callee_idx strref 25 m46s390 call 26 ir_alias_registry_ir_is_json_decode_callee bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_23_2290 26 -brif 26 L2291 L2290 -label L2290 +store __or_23_2335 26 +brif 26 L2336 L2335 +label L2335 load 28 callee_idx strref 29 m46s390 strref 30 m46s1084 call 31 ir_emitter_core_ir_is_local_generic_callee bool 3 28 29 30 call 32 pith_cstring_release void 1 29 call 33 pith_cstring_release void 1 30 -store __or_23_2290 31 -label L2291 -load 34 __or_23_2290 -brif 34 L2288 L2289 -label L2288 +store __or_23_2335 31 +label L2336 +load 34 __or_23_2335 +brif 34 L2333 L2334 +label L2333 load 35 idx load 36 node iconst 37 1 @@ -142761,28 +143062,28 @@ call 40 ir_decode_emit_ir_emit_json_decode_call int 5 35 36 37 38 39 call 41 pith_closure_release void 1 38 call 42 pith_closure_release void 1 39 ret 40 -label L2289 -label L2287 +label L2334 +label L2332 iconst 43 0 -store __or_43_2295 43 +store __or_43_2340 43 load 44 callee_idx strref 45 m46s891 call 46 ir_alias_registry_ir_is_json_decode_callee bool 2 44 45 call 47 pith_cstring_release void 1 45 -store __or_43_2295 46 -brif 46 L2296 L2295 -label L2295 +store __or_43_2340 46 +brif 46 L2341 L2340 +label L2340 load 48 callee_idx strref 49 m46s891 strref 50 m46s935 call 51 ir_emitter_core_ir_is_local_generic_callee bool 3 48 49 50 call 52 pith_cstring_release void 1 49 call 53 pith_cstring_release void 1 50 -store __or_43_2295 51 -label L2296 -load 54 __or_43_2295 -brif 54 L2293 L2294 -label L2293 +store __or_43_2340 51 +label L2341 +load 54 __or_43_2340 +brif 54 L2338 L2339 +label L2338 load 55 idx load 56 node closure_ref 57 ir_emitter_core___fnval_0 @@ -142791,28 +143092,28 @@ call 59 ir_decode_emit_ir_emit_json_decode_object_call int 4 55 56 57 58 call 60 pith_closure_release void 1 57 call 61 pith_closure_release void 1 58 ret 59 -label L2294 -label L2292 +label L2339 +label L2337 iconst 62 0 -store __or_62_2300 62 +store __or_62_2345 62 load 63 callee_idx strref 64 m46s928 call 65 ir_alias_registry_ir_is_json_decode_callee bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __or_62_2300 65 -brif 65 L2301 L2300 -label L2300 +store __or_62_2345 65 +brif 65 L2346 L2345 +label L2345 load 67 callee_idx strref 68 m46s928 strref 69 m46s935 call 70 ir_emitter_core_ir_is_local_generic_callee bool 3 67 68 69 call 71 pith_cstring_release void 1 68 call 72 pith_cstring_release void 1 69 -store __or_62_2300 70 -label L2301 -load 73 __or_62_2300 -brif 73 L2298 L2299 -label L2298 +store __or_62_2345 70 +label L2346 +load 73 __or_62_2345 +brif 73 L2343 L2344 +label L2343 load 74 idx load 75 node iconst 76 0 @@ -142822,28 +143123,28 @@ call 79 ir_decode_emit_ir_emit_json_decode_path_call int 5 74 75 76 77 78 call 80 pith_closure_release void 1 77 call 81 pith_closure_release void 1 78 ret 79 -label L2299 -label L2297 +label L2344 +label L2342 iconst 82 0 -store __or_82_2305 82 +store __or_82_2350 82 load 83 callee_idx strref 84 m46s1089 call 85 ir_alias_registry_ir_is_json_decode_callee bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __or_82_2305 85 -brif 85 L2306 L2305 -label L2305 +store __or_82_2350 85 +brif 85 L2351 L2350 +label L2350 load 87 callee_idx strref 88 m46s1089 strref 89 m46s1084 call 90 ir_emitter_core_ir_is_local_generic_callee bool 3 87 88 89 call 91 pith_cstring_release void 1 88 call 92 pith_cstring_release void 1 89 -store __or_82_2305 90 -label L2306 -load 93 __or_82_2305 -brif 93 L2303 L2304 -label L2303 +store __or_82_2350 90 +label L2351 +load 93 __or_82_2350 +brif 93 L2348 L2349 +label L2348 load 94 idx load 95 node iconst 96 1 @@ -142853,28 +143154,28 @@ call 99 ir_decode_emit_ir_emit_json_decode_path_call int 5 94 95 96 97 98 call 100 pith_closure_release void 1 97 call 101 pith_closure_release void 1 98 ret 99 -label L2304 -label L2302 +label L2349 +label L2347 iconst 102 0 -store __or_102_2310 102 +store __or_102_2355 102 load 103 callee_idx strref 104 m46s1244 call 105 ir_alias_registry_ir_is_json_decode_callee bool 2 103 104 call 106 pith_cstring_release void 1 104 -store __or_102_2310 105 -brif 105 L2311 L2310 -label L2310 +store __or_102_2355 105 +brif 105 L2356 L2355 +label L2355 load 107 callee_idx strref 108 m46s1244 strref 109 m46s1242 call 110 ir_emitter_core_ir_is_local_generic_callee bool 3 107 108 109 call 111 pith_cstring_release void 1 108 call 112 pith_cstring_release void 1 109 -store __or_102_2310 110 -label L2311 -load 113 __or_102_2310 -brif 113 L2308 L2309 -label L2308 +store __or_102_2355 110 +label L2356 +load 113 __or_102_2355 +brif 113 L2353 L2354 +label L2353 load 114 idx load 115 node iconst 116 0 @@ -142884,28 +143185,28 @@ call 119 ir_decode_emit_ir_emit_json_decode_file_call int 5 114 115 116 117 118 call 120 pith_closure_release void 1 117 call 121 pith_closure_release void 1 118 ret 119 -label L2309 -label L2307 +label L2354 +label L2352 iconst 122 0 -store __or_122_2315 122 +store __or_122_2360 122 load 123 callee_idx strref 124 m46s1243 call 125 ir_alias_registry_ir_is_json_decode_callee bool 2 123 124 call 126 pith_cstring_release void 1 124 -store __or_122_2315 125 -brif 125 L2316 L2315 -label L2315 +store __or_122_2360 125 +brif 125 L2361 L2360 +label L2360 load 127 callee_idx strref 128 m46s1243 strref 129 m46s1242 call 130 ir_emitter_core_ir_is_local_generic_callee bool 3 127 128 129 call 131 pith_cstring_release void 1 128 call 132 pith_cstring_release void 1 129 -store __or_122_2315 130 -label L2316 -load 133 __or_122_2315 -brif 133 L2313 L2314 -label L2313 +store __or_122_2360 130 +label L2361 +load 133 __or_122_2360 +brif 133 L2358 L2359 +label L2358 load 134 idx load 135 node iconst 136 1 @@ -142915,8 +143216,8 @@ call 139 ir_decode_emit_ir_emit_json_decode_file_call int 5 134 135 136 137 138 call 140 pith_closure_release void 1 137 call 141 pith_closure_release void 1 138 ret 139 -label L2314 -label L2312 +label L2359 +label L2357 iconst 142 0 iconst 143 1 sub 144 142 143 @@ -142930,25 +143231,25 @@ param node param callee_idx param callee_node iconst 4 0 -store __or_4_2320 4 +store __or_4_2365 4 load 5 callee_idx strref 6 m46s391 call 7 ir_alias_registry_ir_is_toml_decode_callee bool 2 5 6 call 8 pith_cstring_release void 1 6 -store __or_4_2320 7 -brif 7 L2321 L2320 -label L2320 +store __or_4_2365 7 +brif 7 L2366 L2365 +label L2365 load 9 callee_idx strref 10 m46s391 strref 11 m46s935 call 12 ir_emitter_core_ir_is_local_generic_callee bool 3 9 10 11 call 13 pith_cstring_release void 1 10 call 14 pith_cstring_release void 1 11 -store __or_4_2320 12 -label L2321 -load 15 __or_4_2320 -brif 15 L2318 L2319 -label L2318 +store __or_4_2365 12 +label L2366 +load 15 __or_4_2365 +brif 15 L2363 L2364 +label L2363 load 16 idx load 17 node iconst 18 0 @@ -142958,28 +143259,28 @@ call 21 ir_decode_emit_ir_emit_toml_decode_call int 5 16 17 18 19 20 call 22 pith_closure_release void 1 19 call 23 pith_closure_release void 1 20 ret 21 -label L2319 -label L2317 +label L2364 +label L2362 iconst 24 0 -store __or_24_2325 24 +store __or_24_2370 24 load 25 callee_idx strref 26 m46s390 call 27 ir_alias_registry_ir_is_toml_decode_callee bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_24_2325 27 -brif 27 L2326 L2325 -label L2325 +store __or_24_2370 27 +brif 27 L2371 L2370 +label L2370 load 29 callee_idx strref 30 m46s390 strref 31 m46s1084 call 32 ir_emitter_core_ir_is_local_generic_callee bool 3 29 30 31 call 33 pith_cstring_release void 1 30 call 34 pith_cstring_release void 1 31 -store __or_24_2325 32 -label L2326 -load 35 __or_24_2325 -brif 35 L2323 L2324 -label L2323 +store __or_24_2370 32 +label L2371 +load 35 __or_24_2370 +brif 35 L2368 L2369 +label L2368 load 36 idx load 37 node iconst 38 1 @@ -142989,14 +143290,14 @@ call 41 ir_decode_emit_ir_emit_toml_decode_call int 5 36 37 38 39 40 call 42 pith_closure_release void 1 39 call 43 pith_closure_release void 1 40 ret 41 -label L2324 -label L2322 +label L2369 +label L2367 load 44 callee_idx strref 45 m46s928 call 46 ir_alias_registry_ir_is_toml_decode_callee bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L2328 L2329 -label L2328 +brif 46 L2373 L2374 +label L2373 load 48 idx load 49 node iconst 50 0 @@ -143006,14 +143307,14 @@ call 53 ir_decode_emit_ir_emit_toml_decode_path_call int 5 48 49 50 51 52 call 54 pith_closure_release void 1 51 call 55 pith_closure_release void 1 52 ret 53 -label L2329 -label L2327 +label L2374 +label L2372 load 56 callee_idx strref 57 m46s1089 call 58 ir_alias_registry_ir_is_toml_decode_callee bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L2331 L2332 -label L2331 +brif 58 L2376 L2377 +label L2376 load 60 idx load 61 node iconst 62 1 @@ -143023,43 +143324,43 @@ call 65 ir_decode_emit_ir_emit_toml_decode_path_call int 5 60 61 62 63 64 call 66 pith_closure_release void 1 63 call 67 pith_closure_release void 1 64 ret 65 -label L2332 -label L2330 +label L2377 +label L2375 load 68 callee_idx strref 69 m46s1089 strref 70 m46s1084 call 71 ir_emitter_core_ir_is_local_generic_callee bool 3 68 69 70 call 72 pith_cstring_release void 1 69 call 73 pith_cstring_release void 1 70 -brif 71 L2334 L2335 -label L2334 +brif 71 L2379 L2380 +label L2379 load 74 idx load 75 node load 76 callee_node call 77 ir_emitter_core_ir_emit_local_toml_decode_text_path_call int 3 74 75 76 ret 77 -label L2335 -label L2333 +label L2380 +label L2378 iconst 78 0 -store __or_78_2339 78 +store __or_78_2384 78 load 79 callee_idx strref 80 m46s1244 call 81 ir_alias_registry_ir_is_toml_decode_callee bool 2 79 80 call 82 pith_cstring_release void 1 80 -store __or_78_2339 81 -brif 81 L2340 L2339 -label L2339 +store __or_78_2384 81 +brif 81 L2385 L2384 +label L2384 load 83 callee_idx strref 84 m46s1244 strref 85 m46s1242 call 86 ir_emitter_core_ir_is_local_generic_callee bool 3 83 84 85 call 87 pith_cstring_release void 1 84 call 88 pith_cstring_release void 1 85 -store __or_78_2339 86 -label L2340 -load 89 __or_78_2339 -brif 89 L2337 L2338 -label L2337 +store __or_78_2384 86 +label L2385 +load 89 __or_78_2384 +brif 89 L2382 L2383 +label L2382 load 90 idx load 91 node iconst 92 0 @@ -143069,28 +143370,28 @@ call 95 ir_decode_emit_ir_emit_toml_decode_file_call int 5 90 91 92 93 94 call 96 pith_closure_release void 1 93 call 97 pith_closure_release void 1 94 ret 95 -label L2338 -label L2336 +label L2383 +label L2381 iconst 98 0 -store __or_98_2344 98 +store __or_98_2389 98 load 99 callee_idx strref 100 m46s1243 call 101 ir_alias_registry_ir_is_toml_decode_callee bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __or_98_2344 101 -brif 101 L2345 L2344 -label L2344 +store __or_98_2389 101 +brif 101 L2390 L2389 +label L2389 load 103 callee_idx strref 104 m46s1243 strref 105 m46s1242 call 106 ir_emitter_core_ir_is_local_generic_callee bool 3 103 104 105 call 107 pith_cstring_release void 1 104 call 108 pith_cstring_release void 1 105 -store __or_98_2344 106 -label L2345 -load 109 __or_98_2344 -brif 109 L2342 L2343 -label L2342 +store __or_98_2389 106 +label L2390 +load 109 __or_98_2389 +brif 109 L2387 L2388 +label L2387 load 110 idx load 111 node iconst 112 1 @@ -143100,8 +143401,8 @@ call 115 ir_decode_emit_ir_emit_toml_decode_file_call int 5 110 111 112 113 114 call 116 pith_closure_release void 1 113 call 117 pith_closure_release void 1 114 ret 115 -label L2343 -label L2341 +label L2388 +label L2386 iconst 118 0 iconst 119 1 sub 120 118 119 @@ -143122,12 +143423,12 @@ store json_r 7 load 8 json_r iconst 9 0 gte 10 8 9 -brif 10 L2347 L2348 -label L2347 +brif 10 L2392 L2393 +label L2392 load 11 json_r ret 11 -label L2348 -label L2346 +label L2393 +label L2391 load 12 idx load 13 node load 14 callee_idx @@ -143140,12 +143441,12 @@ store config_r 17 load 20 config_r iconst 21 0 gte 22 20 21 -brif 22 L2350 L2351 -label L2350 +brif 22 L2395 L2396 +label L2395 load 23 config_r ret 23 -label L2351 -label L2349 +label L2396 +label L2394 load 24 idx load 25 node load 26 callee_idx @@ -143169,8 +143470,8 @@ store expr_tid 6 load 7 expr_tid iconst 8 0 lt 9 7 8 -brif 9 L2353 L2354 -label L2353 +brif 9 L2398 L2399 +label L2398 iconst 10 0 iconst 11 1 sub 12 10 11 @@ -143179,8 +143480,8 @@ call 14 pith_struct_release void 1 13 load 15 arg_nodes call 16 pith_list_release_handle void 1 15 ret 12 -label L2354 -label L2352 +label L2399 +label L2397 load 17 expr_info load 18 expr_tid call 19 types_get_type_info struct:TypeInfo 1 18 @@ -143193,8 +143494,8 @@ call 25 pith_cstring_eq bool 2 22 23 iconst 26 1 sub 24 26 25 call 27 pith_cstring_release void 1 23 -brif 24 L2356 L2357 -label L2356 +brif 24 L2401 L2402 +label L2401 iconst 28 0 iconst 29 1 sub 30 28 29 @@ -143203,22 +143504,22 @@ call 32 pith_struct_release void 1 31 load 33 arg_nodes call 34 pith_list_release_handle void 1 33 ret 30 -label L2357 -label L2355 +label L2402 +label L2400 iconst 35 0 -store __or_35_2361 35 +store __or_35_2406 35 load 36 callee_name call 37 ir_method_tables_ir_is_declared_callable bool 1 36 -store __or_35_2361 37 -brif 37 L2362 L2361 -label L2361 +store __or_35_2406 37 +brif 37 L2407 L2406 +label L2406 load 38 callee_name call 39 ir_emitter_core_ir_is_sync_primitive_name bool 1 38 -store __or_35_2361 39 -label L2362 -load 40 __or_35_2361 -brif 40 L2359 L2360 -label L2359 +store __or_35_2406 39 +label L2407 +load 40 __or_35_2406 +brif 40 L2404 L2405 +label L2404 iconst 41 0 iconst 42 1 sub 43 41 42 @@ -143227,16 +143528,16 @@ call 45 pith_struct_release void 1 44 load 46 arg_nodes call 47 pith_list_release_handle void 1 46 ret 43 -label L2360 -label L2358 +label L2405 +label L2403 load 48 callee_name call 49 ir_emitter_core_ir_lookup_name_type string 1 48 strref 50 m46s824 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 49 call 53 pith_cstring_release void 1 50 -brif 51 L2364 L2365 -label L2364 +brif 51 L2409 L2410 +label L2409 iconst 54 0 iconst 55 1 sub 56 54 55 @@ -143245,15 +143546,15 @@ call 58 pith_struct_release void 1 57 load 59 arg_nodes call 60 pith_list_release_handle void 1 59 ret 56 -label L2365 -label L2363 +label L2410 +label L2408 load 61 node field 62 61 16 list children call 63 pith_list_len int 1 62 iconst 64 0 gt 65 63 64 -brif 65 L2367 L2368 -label L2367 +brif 65 L2412 L2413 +label L2412 load 66 node field 67 66 16 list children iconst 68 0 @@ -143261,24 +143562,24 @@ call 69 pith_list_get_value_strict int 2 67 68 call 70 checker_c_get_expr_type int 1 69 store callee_tid 70 iconst 71 0 -store __and_71_2372 71 +store __and_71_2417 71 load 72 callee_tid iconst 73 0 gte 74 72 73 -store __and_71_2372 74 -brif 74 L2372 L2373 -label L2372 +store __and_71_2417 74 +brif 74 L2417 L2418 +label L2417 load 75 callee_tid call 76 types_get_type_info struct:TypeInfo 1 75 field 77 76 0 string kind strref 78 m46s24 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __and_71_2372 79 -label L2373 -load 81 __and_71_2372 -brif 81 L2370 L2371 -label L2370 +store __and_71_2417 79 +label L2418 +load 81 __and_71_2417 +brif 81 L2415 L2416 +label L2415 iconst 82 0 iconst 83 1 sub 84 82 83 @@ -143287,11 +143588,11 @@ call 86 pith_struct_release void 1 85 load 87 arg_nodes call 88 pith_list_release_handle void 1 87 ret 84 -label L2371 -label L2369 -jmp L2366 -label L2368 -label L2366 +label L2416 +label L2414 +jmp L2411 +label L2413 +label L2411 load 89 arg_nodes call 90 pith_list_new_default list 0 call 91 pith_list_release_handle void 1 89 @@ -143303,12 +143604,12 @@ iconst 95 0 store __for_idx_333 95 store __for_len_333 94 store __for_iter_333 93 -label L2374 +label L2419 load 96 __for_idx_333 load 97 __for_len_333 lt 98 96 97 -brif 98 L2375 L2377 -label L2375 +brif 98 L2420 L2422 +label L2420 load 99 __for_iter_333 load 100 __for_idx_333 call 101 pith_list_get_value unknown 2 99 100 @@ -143318,21 +143619,21 @@ store __loopvar_333_i 102 load 103 __loopvar_333_i iconst 104 0 eq 105 103 104 -brif 105 L2379 L2380 -label L2379 -jmp L2376 -label L2380 -label L2378 +brif 105 L2424 L2425 +label L2424 +jmp L2421 +label L2425 +label L2423 load 106 arg_nodes load 107 __loopvar_333_child call 108 pith_list_push_value void 2 106 107 -label L2376 +label L2421 load 109 __for_idx_333 iconst 110 1 add 111 109 110 store __for_idx_333 111 -jmp L2374 -label L2377 +jmp L2419 +label L2422 load 112 expr_info field 113 112 8 string name load 114 arg_nodes @@ -143356,45 +143657,45 @@ param params param arg_names iconst 3 0 store i 3 -label L2381 +label L2426 load 4 i load 5 params call 6 pith_list_len int 1 5 lt 7 4 6 -brif 7 L2382 L2383 -label L2382 +brif 7 L2427 L2428 +label L2427 iconst 8 0 -store __and_8_2387 8 +store __and_8_2432 8 load 9 params load 10 i call 11 pith_list_get_value_strict string 2 9 10 load 12 base_ftype call 13 pith_cstring_eq bool 2 11 12 -store __and_8_2387 13 -brif 13 L2387 L2388 -label L2387 +store __and_8_2432 13 +brif 13 L2432 L2433 +label L2432 load 14 i load 15 arg_names call 16 pith_list_len int 1 15 lt 17 14 16 -store __and_8_2387 17 -label L2388 -load 18 __and_8_2387 -brif 18 L2385 L2386 -label L2385 +store __and_8_2432 17 +label L2433 +load 18 __and_8_2432 +brif 18 L2430 L2431 +label L2430 load 19 arg_names load 20 i call 21 pith_list_get_value_strict string 2 19 20 call 22 pith_cstring_retain void 1 21 ret 21 -label L2386 -label L2384 +label L2431 +label L2429 load 23 i iconst 24 1 add 25 23 24 store i 25 -jmp L2381 -label L2383 +jmp L2426 +label L2428 load 26 base_ftype call 27 pith_cstring_retain void 1 26 ret 26 @@ -143414,12 +143715,12 @@ call 6 ir_struct_registry_ir_struct_field_count int 1 5 store count 6 iconst 7 0 store i 7 -label L2389 +label L2434 load 8 i load 9 count lt 10 8 9 -brif 10 L2390 L2391 -label L2390 +brif 10 L2435 L2436 +label L2435 load 11 fname load 12 base load 13 i @@ -143442,22 +143743,22 @@ call 27 string_len int 1 25 call 28 pith_cstring_release void 1 25 iconst 29 0 gt 30 27 29 -brif 30 L2393 L2394 -label L2393 +brif 30 L2438 L2439 +label L2438 iconst 31 1 load 32 fname call 33 pith_cstring_release void 1 32 load 34 base_ftype call 35 pith_cstring_release void 1 34 ret 31 -label L2394 -label L2392 +label L2439 +label L2437 load 36 i iconst 37 1 add 38 36 37 store i 38 -jmp L2389 -label L2391 +jmp L2434 +label L2436 iconst 39 0 load 40 fname call 41 pith_cstring_release void 1 40 @@ -143484,30 +143785,30 @@ load 6 callee_name call 7 contains_key bool 2 5 6 iconst 9 1 sub 8 9 7 -brif 8 L2396 L2397 -label L2396 +brif 8 L2441 L2442 +label L2441 load 10 cn call 11 pith_struct_release void 1 10 load 12 arg_kind call 13 pith_cstring_release void 1 12 iconst 14 0 ret 14 -label L2397 -label L2395 +label L2442 +label L2440 load 15 callee_name call 16 checker_has_generic_declaration bool 1 15 iconst 18 1 sub 17 18 16 -brif 17 L2399 L2400 -label L2399 +brif 17 L2444 L2445 +label L2444 load 19 cn call 20 pith_struct_release void 1 19 load 21 arg_kind call 22 pith_cstring_release void 1 21 iconst 23 0 ret 23 -label L2400 -label L2398 +label L2445 +label L2443 iconst 24 0 store reg_i 24 load 25 node @@ -143517,12 +143818,12 @@ iconst 28 0 store __for_idx_334 28 store __for_len_334 27 store __for_iter_334 26 -label L2401 +label L2446 load 29 __for_idx_334 load 30 __for_len_334 lt 31 29 30 -brif 31 L2402 L2404 -label L2402 +brif 31 L2447 L2449 +label L2447 load 32 __for_iter_334 load 33 __for_idx_334 call 34 pith_list_get_value unknown 2 32 33 @@ -143532,25 +143833,25 @@ store __loopvar_334_i 35 load 36 __loopvar_334_i iconst 37 0 eq 38 36 37 -brif 38 L2406 L2407 -label L2406 -jmp L2403 -label L2407 -label L2405 +brif 38 L2451 L2452 +label L2451 +jmp L2448 +label L2452 +label L2450 load 39 reg_i load 40 arg_regs call 41 pith_list_len int 1 40 gte 42 39 41 -brif 42 L2409 L2410 -label L2409 +brif 42 L2454 L2455 +label L2454 load 43 cn call 44 pith_struct_release void 1 43 load 45 arg_kind call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L2410 -label L2408 +label L2455 +label L2453 load 48 __loopvar_334_child store expr_idx 48 load 49 cn @@ -143563,30 +143864,30 @@ field 54 53 0 string kind strref 55 m46s42 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L2412 L2413 -label L2412 +brif 56 L2457 L2458 +label L2457 load 58 cn field 59 58 16 list children call 60 pith_list_len int 1 59 iconst 61 0 eq 62 60 61 -brif 62 L2415 L2416 -label L2415 +brif 62 L2460 L2461 +label L2460 load 63 reg_i iconst 64 1 add 65 63 64 store reg_i 65 -jmp L2403 -label L2416 -label L2414 +jmp L2448 +label L2461 +label L2459 load 66 cn field 67 66 16 list children iconst 68 0 call 69 pith_list_get_value_strict int 2 67 68 store expr_idx 69 -jmp L2411 -label L2413 -label L2411 +jmp L2456 +label L2458 +label L2456 load 70 arg_kind load 71 expr_idx call 72 ir_emitter_core_ir_infer_type string 1 71 @@ -143595,40 +143896,40 @@ call 74 pith_cstring_release void 1 72 call 75 pith_cstring_release void 1 70 store arg_kind 73 iconst 76 0 -store __and_76_2420 76 +store __and_76_2465 76 load 77 arg_kind call 78 string_len int 1 77 iconst 79 0 gt 80 78 79 -store __and_76_2420 80 -brif 80 L2420 L2421 -label L2420 +store __and_76_2465 80 +brif 80 L2465 L2466 +label L2465 load 81 expr_idx call 82 ir_emitter_core_ir_string_expr_is_borrowed bool 1 81 -store __and_76_2420 82 -label L2421 -load 83 __and_76_2420 -brif 83 L2418 L2419 -label L2418 +store __and_76_2465 82 +label L2466 +load 83 __and_76_2465 +brif 83 L2463 L2464 +label L2463 load 84 arg_regs load 85 reg_i call 86 pith_list_get_value_strict int 2 84 85 load 87 arg_kind call 88 ir_ownership_ir_rc_retain_reg void 2 86 87 -jmp L2417 -label L2419 -label L2417 +jmp L2462 +label L2464 +label L2462 load 89 reg_i iconst 90 1 add 91 89 90 store reg_i 91 -label L2403 +label L2448 load 92 __for_idx_334 iconst 93 1 add 94 92 93 store __for_idx_334 94 -jmp L2401 -label L2404 +jmp L2446 +label L2449 load 95 cn call 96 pith_struct_release void 1 95 load 97 arg_kind @@ -143649,8 +143950,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L2423 L2424 -label L2423 +brif 8 L2468 L2469 +label L2468 iconst 9 0 load 10 cn call 11 pith_struct_release void 1 10 @@ -143659,8 +143960,8 @@ call 13 pith_cstring_release void 1 12 load 14 bn call 15 pith_struct_release void 1 14 ret 9 -label L2424 -label L2422 +label L2469 +label L2467 load 16 cn load 17 node field 18 17 16 list children @@ -143678,36 +143979,36 @@ field 27 26 0 string kind strref 28 m46s37 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L2426 L2427 -label L2426 +brif 29 L2471 L2472 +label L2471 load 31 base load 32 cn field 33 32 8 string value call 34 pith_cstring_retain void 1 33 call 35 pith_cstring_release void 1 31 store base 33 -jmp L2425 -label L2427 +jmp L2470 +label L2472 iconst 36 0 -store __and_36_2430 36 +store __and_36_2475 36 load 37 cn field 38 37 0 string kind strref 39 m46s35 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_2430 40 -brif 40 L2430 L2431 -label L2430 +store __and_36_2475 40 +brif 40 L2475 L2476 +label L2475 load 42 cn field 43 42 16 list children call 44 pith_list_len int 1 43 iconst 45 2 gte 46 44 45 -store __and_36_2430 46 -label L2431 -load 47 __and_36_2430 -brif 47 L2428 L2429 -label L2428 +store __and_36_2475 46 +label L2476 +load 47 __and_36_2475 +brif 47 L2473 L2474 +label L2473 load 48 bn load 49 cn field 50 49 16 list children @@ -143721,26 +144022,26 @@ field 56 55 0 string kind strref 57 m46s37 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L2433 L2434 -label L2433 +brif 58 L2478 L2479 +label L2478 load 60 base load 61 bn field 62 61 8 string value call 63 pith_cstring_retain void 1 62 call 64 pith_cstring_release void 1 60 store base 62 -jmp L2432 -label L2434 -label L2432 -jmp L2425 -label L2429 -label L2425 +jmp L2477 +label L2479 +label L2477 +jmp L2470 +label L2474 +label L2470 load 65 base call 66 string_len int 1 65 iconst 67 0 eq 68 66 67 -brif 68 L2436 L2437 -label L2436 +brif 68 L2481 L2482 +label L2481 iconst 69 0 load 70 cn call 71 pith_struct_release void 1 70 @@ -143749,21 +144050,21 @@ call 73 pith_cstring_release void 1 72 load 74 bn call 75 pith_struct_release void 1 74 ret 69 -label L2437 -label L2435 +label L2482 +label L2480 iconst 76 0 -store __and_76_2438 76 +store __and_76_2483 76 load 77 ir_struct_registry_ir_struct_names load 78 base call 79 contains_key bool 2 77 78 -store __and_76_2438 79 -brif 79 L2438 L2439 -label L2438 +store __and_76_2483 79 +brif 79 L2483 L2484 +label L2483 load 80 base call 81 checker_has_generic_declaration bool 1 80 -store __and_76_2438 81 -label L2439 -load 82 __and_76_2438 +store __and_76_2483 81 +label L2484 +load 82 __and_76_2483 load 83 cn call 84 pith_struct_release void 1 83 load 85 base @@ -143810,8 +144111,8 @@ field 18 17 0 string kind strref 19 m46s37 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L2441 L2442 -label L2441 +brif 20 L2486 L2487 +label L2486 load 22 node load 23 callee_node field 24 23 8 string value @@ -143831,10 +144132,10 @@ load 37 sym call 38 pith_cstring_release void 1 37 iconst 39 0 ret 39 -label L2442 -label L2440 +label L2487 +label L2485 iconst 40 0 -store __or_40_2446 40 +store __or_40_2491 40 load 41 callee_node field 42 41 0 string kind strref 43 m46s35 @@ -143842,19 +144143,19 @@ call 45 pith_cstring_eq bool 2 42 43 iconst 46 1 sub 44 46 45 call 47 pith_cstring_release void 1 43 -store __or_40_2446 44 -brif 44 L2447 L2446 -label L2446 +store __or_40_2491 44 +brif 44 L2492 L2491 +label L2491 load 48 callee_node field 49 48 16 list children call 50 pith_list_len int 1 49 iconst 51 2 lt 52 50 51 -store __or_40_2446 52 -label L2447 -load 53 __or_40_2446 -brif 53 L2444 L2445 -label L2444 +store __or_40_2491 52 +label L2492 +load 53 __or_40_2491 +brif 53 L2489 L2490 +label L2489 load 54 callee_node call 55 pith_struct_release void 1 54 load 56 base_node @@ -143869,8 +144170,8 @@ load 64 sym call 65 pith_cstring_release void 1 64 iconst 66 0 ret 66 -label L2445 -label L2443 +label L2490 +label L2488 load 67 base_node load 68 callee_node field 69 68 16 list children @@ -143886,8 +144187,8 @@ call 78 pith_cstring_eq bool 2 75 76 iconst 79 1 sub 77 79 78 call 80 pith_cstring_release void 1 76 -brif 77 L2449 L2450 -label L2449 +brif 77 L2494 L2495 +label L2494 load 81 callee_node call 82 pith_struct_release void 1 81 load 83 base_node @@ -143902,8 +144203,8 @@ load 91 sym call 92 pith_cstring_release void 1 91 iconst 93 0 ret 93 -label L2450 -label L2448 +label L2495 +label L2493 load 94 base load 95 base_node field 96 95 8 string value @@ -143915,8 +144216,8 @@ load 100 base call 101 contains_key bool 2 99 100 iconst 103 1 sub 102 103 101 -brif 102 L2452 L2453 -label L2452 +brif 102 L2497 L2498 +label L2497 load 104 callee_node call 105 pith_struct_release void 1 104 load 106 base_node @@ -143931,14 +144232,14 @@ load 114 sym call 115 pith_cstring_release void 1 114 iconst 116 0 ret 116 -label L2453 -label L2451 +label L2498 +label L2496 load 117 base call 118 checker_has_generic_declaration bool 1 117 iconst 120 1 sub 119 120 118 -brif 119 L2455 L2456 -label L2455 +brif 119 L2500 L2501 +label L2500 load 121 callee_node call 122 pith_struct_release void 1 121 load 123 base_node @@ -143953,8 +144254,8 @@ load 131 sym call 132 pith_cstring_release void 1 131 iconst 133 0 ret 133 -label L2456 -label L2454 +label L2501 +label L2499 load 134 arg_names load 135 callee_node call 136 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 135 @@ -143964,8 +144265,8 @@ load 138 arg_names call 139 pith_list_len int 1 138 iconst 140 0 eq 141 139 140 -brif 141 L2458 L2459 -label L2458 +brif 141 L2503 L2504 +label L2503 load 142 callee_node call 143 pith_struct_release void 1 142 load 144 base_node @@ -143980,8 +144281,8 @@ load 152 sym call 153 pith_cstring_release void 1 152 iconst 154 0 ret 154 -label L2459 -label L2457 +label L2504 +label L2502 load 155 params load 156 base call 157 checker_get_generic_declaration_index int 1 156 @@ -143996,8 +144297,8 @@ load 164 arg_names call 165 ir_emitter_core_ir_generic_instance_needs_dtor bool 3 162 163 164 iconst 167 1 sub 166 167 165 -brif 166 L2461 L2462 -label L2461 +brif 166 L2506 L2507 +label L2506 load 168 callee_node call 169 pith_struct_release void 1 168 load 170 base_node @@ -144012,8 +144313,8 @@ load 178 sym call 179 pith_cstring_release void 1 178 iconst 180 0 ret 180 -label L2462 -label L2460 +label L2507 +label L2505 load 181 node load 182 base load 183 params @@ -144130,12 +144431,12 @@ iconst 13 0 store __for_idx_335 13 store __for_len_335 12 store __for_iter_335 11 -label L2463 +label L2508 load 14 __for_idx_335 load 15 __for_len_335 lt 16 14 15 -brif 16 L2464 L2466 -label L2464 +brif 16 L2509 L2511 +label L2509 load 17 __for_iter_335 load 18 __for_idx_335 call 19 pith_list_get_value unknown 2 17 18 @@ -144145,17 +144446,17 @@ store __loopvar_335_i 20 load 21 __loopvar_335_i iconst 22 0 eq 23 21 22 -brif 23 L2468 L2469 -label L2468 -jmp L2465 -label L2469 -label L2467 +brif 23 L2513 L2514 +label L2513 +jmp L2510 +label L2514 +label L2512 load 24 reg_i load 25 arg_regs call 26 pith_list_len int 1 25 gte 27 24 26 -brif 27 L2471 L2472 -label L2471 +brif 27 L2516 L2517 +label L2516 load 28 cn call 29 pith_struct_release void 1 28 load 30 fname @@ -144166,8 +144467,8 @@ load 34 fkind call 35 pith_cstring_release void 1 34 iconst 36 0 ret 36 -label L2472 -label L2470 +label L2517 +label L2515 load 37 __loopvar_335_child store expr_idx 37 load 38 cn @@ -144180,38 +144481,38 @@ field 43 42 0 string kind strref 44 m46s42 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L2474 L2475 -label L2474 +brif 45 L2519 L2520 +label L2519 load 47 cn field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 eq 51 49 50 -brif 51 L2477 L2478 -label L2477 +brif 51 L2522 L2523 +label L2522 load 52 reg_i iconst 53 1 add 54 52 53 store reg_i 54 -jmp L2465 -label L2478 -label L2476 +jmp L2510 +label L2523 +label L2521 load 55 cn field 56 55 16 list children iconst 57 0 call 58 pith_list_get_value_strict int 2 56 57 store expr_idx 58 -jmp L2473 -label L2475 -label L2473 +jmp L2518 +label L2520 +label L2518 load 59 reg_i store field_pos 59 load 60 field_pos load 61 base call 62 ir_struct_registry_ir_struct_field_count int 1 61 lt 63 60 62 -brif 63 L2480 L2481 -label L2480 +brif 63 L2525 L2526 +label L2525 load 64 fname load 65 base load 66 field_pos @@ -144234,43 +144535,43 @@ call 80 pith_cstring_release void 1 78 call 81 pith_cstring_release void 1 74 store fkind 79 iconst 82 0 -store __and_82_2485 82 +store __and_82_2530 82 load 83 fkind call 84 string_len int 1 83 iconst 85 0 gt 86 84 85 -store __and_82_2485 86 -brif 86 L2485 L2486 -label L2485 +store __and_82_2530 86 +brif 86 L2530 L2531 +label L2530 load 87 expr_idx call 88 ir_emitter_core_ir_string_expr_is_borrowed bool 1 87 -store __and_82_2485 88 -label L2486 -load 89 __and_82_2485 -brif 89 L2483 L2484 -label L2483 +store __and_82_2530 88 +label L2531 +load 89 __and_82_2530 +brif 89 L2528 L2529 +label L2528 load 90 arg_regs load 91 reg_i call 92 pith_list_get_value_strict int 2 90 91 load 93 fkind call 94 ir_ownership_ir_rc_retain_reg void 2 92 93 -jmp L2482 -label L2484 -label L2482 -jmp L2479 -label L2481 -label L2479 +jmp L2527 +label L2529 +label L2527 +jmp L2524 +label L2526 +label L2524 load 95 reg_i iconst 96 1 add 97 95 96 store reg_i 97 -label L2465 +label L2510 load 98 __for_idx_335 iconst 99 1 add 100 98 99 store __for_idx_335 100 -jmp L2463 -label L2466 +jmp L2508 +label L2511 load 101 cn call 102 pith_struct_release void 1 101 load 103 fname @@ -144304,12 +144605,12 @@ iconst 10 0 store __for_idx_336 10 store __for_len_336 9 store __for_iter_336 8 -label L2487 +label L2532 load 11 __for_idx_336 load 12 __for_len_336 lt 13 11 12 -brif 13 L2488 L2490 -label L2488 +brif 13 L2533 L2535 +label L2533 load 14 __for_iter_336 load 15 __for_idx_336 call 16 pith_list_get_value_unchecked string 2 14 15 @@ -144336,8 +144637,8 @@ load 32 args_str call 33 string_len int 1 32 iconst 34 0 gt 35 33 34 -brif 35 L2492 L2493 -label L2492 +brif 35 L2537 L2538 +label L2537 load 36 arg_names load 37 args_str iconst 38 1 @@ -144346,9 +144647,9 @@ call 40 pith_string_split_to_list list_string 2 37 39 call 41 pith_cstring_release void 1 39 call 42 pith_list_release_handle void 1 36 store arg_names 40 -jmp L2491 -label L2493 -label L2491 +jmp L2536 +label L2538 +label L2536 load 43 params load 44 base call 45 checker_get_generic_declaration_index int 1 44 @@ -144388,12 +144689,12 @@ call 76 ir_struct_registry_ir_struct_field_count int 1 75 store count 76 iconst 77 0 store i 77 -label L2494 +label L2539 load 78 i load 79 count lt 80 78 79 -brif 80 L2495 L2496 -label L2495 +brif 80 L2540 L2541 +label L2540 load 81 fname load 82 base load 83 i @@ -144419,8 +144720,8 @@ load 99 fkind call 100 string_len int 1 99 iconst 101 0 gt 102 100 101 -brif 102 L2498 L2499 -label L2498 +brif 102 L2543 L2544 +label L2543 call 103 ir_builder_ir_reg int 0 store fr 103 strref 104 m46s837 @@ -144461,15 +144762,15 @@ call 138 pith_cstring_release void 1 135 load 139 fr load 140 fkind call 141 ir_ownership_ir_rc_release_reg void 2 139 140 -jmp L2497 -label L2499 -label L2497 +jmp L2542 +label L2544 +label L2542 load 142 i iconst 143 1 add 144 142 143 store i 144 -jmp L2494 -label L2496 +jmp L2539 +label L2541 call 145 ir_builder_ir_reg int 0 store zr 145 strref 146 m46s832 @@ -144495,13 +144796,13 @@ call 165 pith_cstring_release void 1 161 strref 166 m46s877 call 167 ir_builder_ir_emit void 1 166 call 168 pith_cstring_release void 1 166 -label L2489 +label L2534 load 169 __for_idx_336 iconst 170 1 add 171 169 170 store __for_idx_336 171 -jmp L2487 -label L2490 +jmp L2532 +label L2535 load 172 __for_iter_336 call 173 pith_list_release_handle void 1 172 load 174 base @@ -144535,8 +144836,8 @@ field 7 6 0 string name call 8 ir_generics_ir_is_generic_function_name bool 1 7 iconst 10 1 sub 9 10 8 -brif 9 L2501 L2502 -label L2501 +brif 9 L2546 L2547 +label L2546 load 11 callee call 12 pith_struct_retain void 1 11 load 13 generic_ret_type @@ -144544,8 +144845,8 @@ call 14 pith_cstring_release void 1 13 load 15 concrete_types call 16 pith_list_release_handle void 1 15 ret 11 -label L2502 -label L2500 +label L2547 +label L2545 load 17 generic_ret_type load 18 idx call 19 ir_type_helpers_ir_checked_type string 1 18 @@ -144555,16 +144856,16 @@ load 21 generic_ret_type call 22 string_len int 1 21 iconst 23 0 eq 24 22 23 -brif 24 L2504 L2505 -label L2504 +brif 24 L2549 L2550 +label L2549 load 25 generic_ret_type load 26 idx call 27 ir_emitter_core_ir_infer_type string 1 26 call 28 pith_cstring_release void 1 25 store generic_ret_type 27 -jmp L2503 -label L2505 -label L2503 +jmp L2548 +label L2550 +label L2548 load 29 concrete_types load 30 explicit_generic_types call 31 pith_list_retain_handle void 1 30 @@ -144574,8 +144875,8 @@ load 33 concrete_types call 34 pith_list_len int 1 33 iconst 35 0 eq 36 34 35 -brif 36 L2507 L2508 -label L2507 +brif 36 L2552 L2553 +label L2552 load 37 concrete_types load 38 callee field 39 38 0 string name @@ -144583,9 +144884,9 @@ load 40 node call 41 ir_emitter_core_ir_infer_generic_concrete_types list_string 2 39 40 call 42 pith_list_release_handle void 1 37 store concrete_types 41 -jmp L2506 -label L2508 -label L2506 +jmp L2551 +label L2553 +label L2551 load 43 callee field 44 43 0 string name load 45 concrete_types @@ -144665,15 +144966,15 @@ load 37 ret_kind strref 38 m46s822 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L2510 L2511 -label L2510 +brif 39 L2555 L2556 +label L2555 load 41 ret_kind strref 42 m46s671 call 43 pith_cstring_release void 1 41 store ret_kind 42 -jmp L2509 -label L2511 -label L2509 +jmp L2554 +label L2556 +label L2554 call 44 ir_builder_ir_reg int 0 store r 44 load 45 r @@ -144714,24 +145015,24 @@ field 3 2 0 string kind strref 4 m46s37 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L2513 L2514 -label L2513 +brif 5 L2558 L2559 +label L2558 iconst 7 0 ret 7 -label L2514 -label L2512 +label L2559 +label L2557 load 8 callee_idx call 9 checker_c_get_expr_type int 1 8 store callee_tid 9 load 10 callee_tid iconst 11 0 lt 12 10 11 -brif 12 L2516 L2517 -label L2516 +brif 12 L2561 L2562 +label L2561 iconst 13 0 ret 13 -label L2517 -label L2515 +label L2562 +label L2560 load 14 callee_tid call 15 types_get_type_info struct:TypeInfo 1 14 field 16 15 0 string kind @@ -144768,8 +145069,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 gt 16 14 15 -brif 16 L2519 L2520 -label L2519 +brif 16 L2564 L2565 +label L2564 load 17 callee_node load 18 node field 19 18 16 list children @@ -144783,8 +145084,8 @@ field 25 24 0 string kind strref 26 m46s35 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L2522 L2523 -label L2522 +brif 27 L2567 L2568 +label L2567 load 29 idx load 30 node load 31 node @@ -144797,8 +145098,8 @@ store special_r 36 load 37 special_r iconst 38 0 gte 39 37 38 -brif 39 L2525 L2526 -label L2525 +brif 39 L2570 L2571 +label L2570 load 40 special_r load 41 explicit_generic_types call 42 pith_list_release_handle void 1 41 @@ -144815,24 +145116,24 @@ call 52 pith_list_release_handle void 1 51 load 53 ret_type call 54 pith_cstring_release void 1 53 ret 40 -label L2526 -label L2524 +label L2571 +label L2569 load 55 explicit_generic_types load 56 callee_node call 57 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 56 call 58 pith_list_release_handle void 1 55 store explicit_generic_types 57 -jmp L2521 -label L2523 -label L2521 +jmp L2566 +label L2568 +label L2566 load 59 node field 60 59 16 list children iconst 61 0 call 62 pith_list_get_value_strict int 2 60 61 load 63 callee_node call 64 ir_emitter_core_ir_callee_is_function_expr bool 2 62 63 -brif 64 L2528 L2529 -label L2528 +brif 64 L2573 L2574 +label L2573 load 65 idx load 66 node load 67 node @@ -144855,11 +145156,11 @@ call 83 pith_list_release_handle void 1 82 load 84 ret_type call 85 pith_cstring_release void 1 84 ret 71 -label L2529 -label L2527 -jmp L2518 -label L2520 -label L2518 +label L2574 +label L2572 +jmp L2563 +label L2565 +label L2563 load 86 callee strref 87 m46s822 iconst 88 0 @@ -144876,8 +145177,8 @@ field 95 94 16 list children call 96 pith_list_len int 1 95 iconst 97 0 gt 98 96 97 -brif 98 L2531 L2532 -label L2531 +brif 98 L2576 L2577 +label L2576 load 99 callee load 100 node field 101 100 16 list children @@ -144891,8 +145192,8 @@ field 107 106 0 string name call 108 string_len int 1 107 iconst 109 0 eq 110 108 109 -brif 110 L2534 L2535 -label L2534 +brif 110 L2579 L2580 +label L2579 load 111 callee strref 112 m46s822 iconst 113 0 @@ -144904,9 +145205,9 @@ funcref 116 ir_emitter_core___dtor_ResolvedCallee call 117 pith_struct_set_dtor void 2 114 116 call 118 pith_struct_release void 1 111 store callee 114 -jmp L2533 -label L2535 -label L2533 +jmp L2578 +label L2580 +label L2578 load 119 callee_n load 120 node field 121 120 16 list children @@ -144916,25 +145217,25 @@ call 124 ast_get_node struct:Node 1 123 call 125 pith_struct_release void 1 119 store callee_n 124 iconst 126 0 -store __and_126_2539 126 +store __and_126_2584 126 load 127 callee_n field 128 127 0 string kind strref 129 m46s37 call 130 pith_cstring_eq bool 2 128 129 call 131 pith_cstring_release void 1 129 -store __and_126_2539 130 -brif 130 L2539 L2540 -label L2539 +store __and_126_2584 130 +brif 130 L2584 L2585 +label L2584 load 132 callee field 133 132 0 string name call 134 ir_method_tables_ir_is_declared_callable bool 1 133 iconst 136 1 sub 135 136 134 -store __and_126_2539 135 -label L2540 -load 137 __and_126_2539 -brif 137 L2537 L2538 -label L2537 +store __and_126_2584 135 +label L2585 +load 137 __and_126_2584 +brif 137 L2582 L2583 +label L2582 load 138 loop_slot load 139 callee field 140 139 0 string name @@ -144945,8 +145246,8 @@ load 143 loop_slot call 144 string_len int 1 143 iconst 145 0 gt 146 144 145 -brif 146 L2542 L2543 -label L2542 +brif 146 L2587 L2588 +label L2587 load 147 callee load 148 loop_slot call 149 pith_cstring_retain void 1 148 @@ -144960,35 +145261,35 @@ funcref 154 ir_emitter_core___dtor_ResolvedCallee call 155 pith_struct_set_dtor void 2 152 154 call 156 pith_struct_release void 1 147 store callee 152 -jmp L2541 -label L2543 -label L2541 -jmp L2536 -label L2538 -label L2536 -jmp L2530 -label L2532 -label L2530 +jmp L2586 +label L2588 +label L2586 +jmp L2581 +label L2583 +label L2581 +jmp L2575 +label L2577 +label L2575 iconst 157 0 -store __and_157_2547 157 +store __and_157_2592 157 load 158 callee field 159 158 0 string name strref 160 m46s1240 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 -store __and_157_2547 161 -brif 161 L2547 L2548 -label L2547 +store __and_157_2592 161 +brif 161 L2592 L2593 +label L2592 load 163 node field 164 163 16 list children call 165 pith_list_len int 1 164 iconst 166 2 gte 167 165 166 -store __and_157_2547 167 -label L2548 -load 168 __and_157_2547 -brif 168 L2545 L2546 -label L2545 +store __and_157_2592 167 +label L2593 +load 168 __and_157_2592 +brif 168 L2590 L2591 +label L2590 load 169 node field 170 169 16 list children iconst 171 1 @@ -144999,8 +145300,8 @@ store byte_r 174 load 175 byte_r iconst 176 0 gte 177 175 176 -brif 177 L2550 L2551 -label L2550 +brif 177 L2595 L2596 +label L2595 load 178 byte_r load 179 explicit_generic_types call 180 pith_list_release_handle void 1 179 @@ -145017,11 +145318,11 @@ call 190 pith_list_release_handle void 1 189 load 191 ret_type call 192 pith_cstring_release void 1 191 ret 178 -label L2551 -label L2549 -jmp L2544 -label L2546 -label L2544 +label L2596 +label L2594 +jmp L2589 +label L2591 +label L2589 load 193 idx load 194 node load 195 callee @@ -145031,8 +145332,8 @@ store higher_order_r 197 load 198 higher_order_r iconst 199 0 gte 200 198 199 -brif 200 L2553 L2554 -label L2553 +brif 200 L2598 L2599 +label L2598 load 201 higher_order_r load 202 explicit_generic_types call 203 pith_list_release_handle void 1 202 @@ -145049,8 +145350,8 @@ call 213 pith_list_release_handle void 1 212 load 214 ret_type call 215 pith_cstring_release void 1 214 ret 201 -label L2554 -label L2552 +label L2599 +label L2597 load 216 idx load 217 node load 218 callee @@ -145060,8 +145361,8 @@ store struct_r 220 load 221 struct_r iconst 222 0 gte 223 221 222 -brif 223 L2556 L2557 -label L2556 +brif 223 L2601 L2602 +label L2601 load 224 struct_r load 225 explicit_generic_types call 226 pith_list_release_handle void 1 225 @@ -145078,8 +145379,8 @@ call 236 pith_list_release_handle void 1 235 load 237 ret_type call 238 pith_cstring_release void 1 237 ret 224 -label L2557 -label L2555 +label L2602 +label L2600 load 239 callee load 240 idx load 241 node @@ -145095,24 +145396,24 @@ call 249 ir_emitter_core_ir_collect_call_arg_regs list 2 247 248 call 250 pith_list_release_handle void 1 246 store arg_regs 249 iconst 251 0 -store __and_251_2561 251 +store __and_251_2606 251 load 252 callee field 253 252 0 string name strref 254 m46s323 call 255 pith_cstring_eq bool 2 253 254 call 256 pith_cstring_release void 1 254 -store __and_251_2561 255 -brif 255 L2561 L2562 -label L2561 +store __and_251_2606 255 +brif 255 L2606 L2607 +label L2606 load 257 arg_regs call 258 pith_list_len int 1 257 iconst 259 0 eq 260 258 259 -store __and_251_2561 260 -label L2562 -load 261 __and_251_2561 -brif 261 L2559 L2560 -label L2559 +store __and_251_2606 260 +label L2607 +load 261 __and_251_2606 +brif 261 L2604 L2605 +label L2604 call 262 ir_builder_ir_reg int 0 store zero_r 262 strref 263 m46s832 @@ -145130,37 +145431,37 @@ call 274 pith_cstring_release void 1 270 load 275 arg_regs load 276 zero_r call 277 pith_list_push_value void 2 275 276 -jmp L2558 -label L2560 -label L2558 +jmp L2603 +label L2605 +label L2603 iconst 278 0 -store __and_278_2566 278 +store __and_278_2611 278 iconst 279 0 -store __and_279_2566 279 +store __and_279_2611 279 load 280 ir_emitter_core_ir_emit_tests -store __and_279_2566 280 -brif 280 L2566 L2567 -label L2566 +store __and_279_2611 280 +brif 280 L2611 L2612 +label L2611 load 281 callee field 282 281 0 string name strref 283 m46s1239 call 284 pith_cstring_eq bool 2 282 283 call 285 pith_cstring_release void 1 283 -store __and_279_2566 284 -label L2567 -load 286 __and_279_2566 -store __and_278_2566 286 -brif 286 L2568 L2569 -label L2568 +store __and_279_2611 284 +label L2612 +load 286 __and_279_2611 +store __and_278_2611 286 +brif 286 L2613 L2614 +label L2613 load 287 arg_regs call 288 pith_list_len int 1 287 iconst 289 1 gte 290 288 289 -store __and_278_2566 290 -label L2569 -load 291 __and_278_2566 -brif 291 L2564 L2565 -label L2564 +store __and_278_2611 290 +label L2614 +load 291 __and_278_2611 +brif 291 L2609 L2610 +label L2609 load 292 arg_regs call 293 ir_emitter_core_ir_emit_test_assert int 1 292 load 294 explicit_generic_types @@ -145178,36 +145479,36 @@ call 305 pith_list_release_handle void 1 304 load 306 ret_type call 307 pith_cstring_release void 1 306 ret 293 -label L2565 -label L2563 +label L2610 +label L2608 iconst 308 0 -store __and_308_2573 308 +store __and_308_2618 308 iconst 309 0 -store __and_309_2573 309 +store __and_309_2618 309 load 310 ir_emitter_core_ir_emit_tests -store __and_309_2573 310 -brif 310 L2573 L2574 -label L2573 +store __and_309_2618 310 +brif 310 L2618 L2619 +label L2618 load 311 callee field 312 311 0 string name strref 313 m46s387 call 314 pith_cstring_eq bool 2 312 313 call 315 pith_cstring_release void 1 313 -store __and_309_2573 314 -label L2574 -load 316 __and_309_2573 -store __and_308_2573 316 -brif 316 L2575 L2576 -label L2575 +store __and_309_2618 314 +label L2619 +load 316 __and_309_2618 +store __and_308_2618 316 +brif 316 L2620 L2621 +label L2620 load 317 arg_regs call 318 pith_list_len int 1 317 iconst 319 2 gte 320 318 319 -store __and_308_2573 320 -label L2576 -load 321 __and_308_2573 -brif 321 L2571 L2572 -label L2571 +store __and_308_2618 320 +label L2621 +load 321 __and_308_2618 +brif 321 L2616 L2617 +label L2616 load 322 node load 323 arg_regs call 324 ir_emitter_core_ir_emit_test_assert_eq int 2 322 323 @@ -145226,8 +145527,8 @@ call 336 pith_list_release_handle void 1 335 load 337 ret_type call 338 pith_cstring_release void 1 337 ret 324 -label L2572 -label L2570 +label L2617 +label L2615 call 339 ir_builder_ir_reg int 0 store r 339 load 340 callee @@ -145261,46 +145562,46 @@ load 365 node call 366 ir_emitter_core_ir_is_generic_struct_construction_call bool 1 365 iconst 368 1 sub 367 368 366 -brif 367 L2578 L2579 -label L2578 +brif 367 L2623 L2624 +label L2623 load 369 node iconst 370 1 load 371 arg_regs call 372 ir_emitter_core_ir_release_owned_string_args void 3 369 370 371 -jmp L2577 -label L2579 -label L2577 +jmp L2622 +label L2624 +label L2622 iconst 373 0 -store __and_373_2583 373 +store __and_373_2628 373 iconst 374 0 -store __and_374_2583 374 +store __and_374_2628 374 load 375 uses_result_abi -store __and_374_2583 375 -brif 375 L2583 L2584 -label L2583 +store __and_374_2628 375 +brif 375 L2628 L2629 +label L2628 load 376 ret_type strref 377 m46s23 call 379 pith_cstring_eq bool 2 376 377 iconst 380 1 sub 378 380 379 call 381 pith_cstring_release void 1 377 -store __and_374_2583 378 -label L2584 -load 382 __and_374_2583 -store __and_373_2583 382 -brif 382 L2585 L2586 -label L2585 +store __and_374_2628 378 +label L2629 +load 382 __and_374_2628 +store __and_373_2628 382 +brif 382 L2630 L2631 +label L2630 load 383 idx call 384 ir_type_helpers_ir_checked_result_kind string 1 383 strref 385 m46s23 call 386 pith_cstring_eq bool 2 384 385 call 387 pith_cstring_release void 1 384 call 388 pith_cstring_release void 1 385 -store __and_373_2583 386 -label L2586 -load 389 __and_373_2583 -brif 389 L2581 L2582 -label L2581 +store __and_373_2628 386 +label L2631 +load 389 __and_373_2628 +brif 389 L2626 L2627 +label L2626 load 390 r load 391 ret_type load 392 callee @@ -145321,8 +145622,8 @@ call 406 pith_list_release_handle void 1 405 load 407 ret_type call 408 pith_cstring_release void 1 407 ret 394 -label L2582 -label L2580 +label L2627 +label L2625 load 409 r load 410 explicit_generic_types call 411 pith_list_release_handle void 1 410 @@ -145362,7 +145663,7 @@ param has_int_keys param entry param val_target iconst 4 0 -store __or_4_2590 4 +store __or_4_2635 4 load 5 entry field 6 5 0 string kind strref 7 m46s62 @@ -145370,23 +145671,23 @@ call 9 pith_cstring_eq bool 2 6 7 iconst 10 1 sub 8 10 9 call 11 pith_cstring_release void 1 7 -store __or_4_2590 8 -brif 8 L2591 L2590 -label L2590 +store __or_4_2635 8 +brif 8 L2636 L2635 +label L2635 load 12 entry field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 2 lt 16 14 15 -store __or_4_2590 16 -label L2591 -load 17 __or_4_2590 -brif 17 L2588 L2589 -label L2588 +store __or_4_2635 16 +label L2636 +load 17 __or_4_2635 +brif 17 L2633 L2634 +label L2633 iconst 18 0 ret 18 -label L2589 -label L2587 +label L2634 +label L2632 load 19 entry field 20 19 16 list children iconst 21 0 @@ -145401,8 +145702,8 @@ load 28 val_target call 29 ir_emitter_core_ir_emit_value_for_target int 2 27 28 store v_r 29 load 30 has_int_keys -brif 30 L2593 L2594 -label L2593 +brif 30 L2638 L2639 +label L2638 call 31 ir_builder_ir_reg int 0 strref 32 m46s694 strref 33 m46s828 @@ -145412,8 +145713,8 @@ load 36 v_r call 37 ir_call_emit_ir_emit_call3 void 6 31 32 33 34 35 36 call 38 pith_cstring_release void 1 32 call 39 pith_cstring_release void 1 33 -jmp L2592 -label L2594 +jmp L2637 +label L2639 call 40 ir_builder_ir_reg int 0 strref 41 m46s693 strref 42 m46s828 @@ -145423,7 +145724,7 @@ load 45 v_r call 46 ir_call_emit_ir_emit_call3 void 6 40 41 42 43 44 45 call 47 pith_cstring_release void 1 41 call 48 pith_cstring_release void 1 42 -label L2592 +label L2637 iconst 49 0 ret 49 endfunc @@ -145451,44 +145752,44 @@ store tid 12 load 13 tid iconst 14 0 gte 15 13 14 -brif 15 L2596 L2597 -label L2596 +brif 15 L2641 L2642 +label L2641 load 16 info load 17 tid call 18 types_get_type_info struct:TypeInfo 1 17 call 19 pith_struct_release void 1 16 store info 18 iconst 20 0 -store __and_20_2601 20 +store __and_20_2646 20 load 21 info field 22 21 0 string kind strref 23 m46s19 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __and_20_2601 24 -brif 24 L2601 L2602 -label L2601 +store __and_20_2646 24 +brif 24 L2646 L2647 +label L2646 load 26 info field 27 26 80 int value_type iconst 28 0 gte 29 27 28 -store __and_20_2601 29 -label L2602 -load 30 __and_20_2601 -brif 30 L2599 L2600 -label L2599 +store __and_20_2646 29 +label L2647 +load 30 __and_20_2646 +brif 30 L2644 L2645 +label L2644 load 31 val_target load 32 info field 33 32 80 int value_type call 34 ir_type_helpers_ir_type_from_tid string 1 33 call 35 pith_cstring_release void 1 31 store val_target 34 -jmp L2598 -label L2600 -label L2598 -jmp L2595 -label L2597 -label L2595 +jmp L2643 +label L2645 +label L2643 +jmp L2640 +label L2642 +label L2640 iconst 36 0 store val_is_string 36 load 37 node @@ -145496,8 +145797,8 @@ field 38 37 16 list children call 39 pith_list_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L2604 L2605 -label L2604 +brif 41 L2649 L2650 +label L2649 load 42 entry0 load 43 node field 44 43 16 list children @@ -145507,25 +145808,25 @@ call 47 ast_get_node struct:Node 1 46 call 48 pith_struct_release void 1 42 store entry0 47 iconst 49 0 -store __and_49_2609 49 +store __and_49_2654 49 load 50 entry0 field 51 50 0 string kind strref 52 m46s62 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __and_49_2609 53 -brif 53 L2609 L2610 -label L2609 +store __and_49_2654 53 +brif 53 L2654 L2655 +label L2654 load 55 entry0 field 56 55 16 list children call 57 pith_list_len int 1 56 iconst 58 2 gte 59 57 58 -store __and_49_2609 59 -label L2610 -load 60 __and_49_2609 -brif 60 L2607 L2608 -label L2607 +store __and_49_2654 59 +label L2655 +load 60 __and_49_2654 +brif 60 L2652 L2653 +label L2652 load 61 entry0 field 62 61 16 list children iconst 63 1 @@ -145536,53 +145837,53 @@ call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 65 call 69 pith_cstring_release void 1 66 store val_is_string 67 -jmp L2606 -label L2608 -label L2606 -jmp L2603 -label L2605 -label L2603 +jmp L2651 +label L2653 +label L2651 +jmp L2648 +label L2650 +label L2648 load 70 has_int_keys -brif 70 L2612 L2613 -label L2612 +brif 70 L2657 L2658 +label L2657 load 71 val_is_string -brif 71 L2615 L2616 -label L2615 +brif 71 L2660 L2661 +label L2660 load 72 map_r strref 73 m46s742 strref 74 m46s670 call 75 ir_call_emit_ir_emit_call0 void 3 72 73 74 call 76 pith_cstring_release void 1 73 call 77 pith_cstring_release void 1 74 -jmp L2614 -label L2616 +jmp L2659 +label L2661 load 78 map_r strref 79 m46s746 strref 80 m46s670 call 81 ir_call_emit_ir_emit_call0 void 3 78 79 80 call 82 pith_cstring_release void 1 79 call 83 pith_cstring_release void 1 80 -label L2614 -jmp L2611 -label L2613 +label L2659 +jmp L2656 +label L2658 load 84 val_is_string -brif 84 L2617 L2618 -label L2617 +brif 84 L2662 L2663 +label L2662 load 85 map_r strref 86 m46s744 strref 87 m46s19 call 88 ir_call_emit_ir_emit_call0 void 3 85 86 87 call 89 pith_cstring_release void 1 86 call 90 pith_cstring_release void 1 87 -jmp L2611 -label L2618 +jmp L2656 +label L2663 load 91 map_r strref 92 m46s748 strref 93 m46s19 call 94 ir_call_emit_ir_emit_call0 void 3 91 92 93 call 95 pith_cstring_release void 1 92 call 96 pith_cstring_release void 1 93 -label L2611 +label L2656 load 97 node field 98 97 16 list children call 99 pith_auto_len int 1 98 @@ -145590,12 +145891,12 @@ iconst 100 0 store __for_idx_337 100 store __for_len_337 99 store __for_iter_337 98 -label L2619 +label L2664 load 101 __for_idx_337 load 102 __for_len_337 lt 103 101 102 -brif 103 L2620 L2622 -label L2620 +brif 103 L2665 L2667 +label L2665 load 104 __for_iter_337 load 105 __for_idx_337 call 106 pith_list_get_value unknown 2 104 105 @@ -145607,13 +145908,13 @@ call 110 ast_get_node struct:Node 1 109 load 111 val_target call 112 ir_emitter_core_ir_emit_map_entry_insert void 4 107 108 110 111 call 113 pith_struct_release void 1 110 -label L2621 +label L2666 load 114 __for_idx_337 iconst 115 1 add 116 114 115 store __for_idx_337 116 -jmp L2619 -label L2622 +jmp L2664 +label L2667 load 117 map_r load 118 val_target call 119 pith_cstring_release void 1 118 @@ -145653,31 +145954,31 @@ call 13 ir_type_helpers_ir_checked_type string 1 12 call 14 pith_cstring_release void 1 11 store checked 13 iconst 15 0 -store __or_15_2626 15 +store __or_15_2671 15 load 16 checked strref 17 m46s669 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -store __or_15_2626 18 -brif 18 L2627 L2626 -label L2626 +store __or_15_2671 18 +brif 18 L2672 L2671 +label L2671 load 20 checked strref 21 m46s18 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_15_2626 22 -label L2627 -load 24 __or_15_2626 -brif 24 L2624 L2625 -label L2624 +store __or_15_2671 22 +label L2672 +load 24 __or_15_2671 +brif 24 L2669 L2670 +label L2669 load 25 literal_type load 26 checked call 27 pith_cstring_retain void 1 26 call 28 pith_cstring_release void 1 25 store literal_type 26 -jmp L2623 -label L2625 -label L2623 +jmp L2668 +label L2670 +label L2668 load 29 set_r load 30 literal_type call 31 ir_collection_helpers_ir_set_new_name string 1 30 @@ -145691,12 +145992,12 @@ iconst 38 0 store __for_idx_338 38 store __for_len_338 37 store __for_iter_338 36 -label L2628 +label L2673 load 39 __for_idx_338 load 40 __for_len_338 lt 41 39 40 -brif 41 L2629 L2631 -label L2629 +brif 41 L2674 L2676 +label L2674 load 42 __for_iter_338 load 43 __for_idx_338 call 44 pith_list_get_value unknown 2 42 43 @@ -145713,13 +146014,13 @@ load 52 elem_r call 53 ir_call_emit_ir_emit_call2 void 5 47 49 50 51 52 call 54 pith_cstring_release void 1 49 call 55 pith_cstring_release void 1 50 -label L2630 +label L2675 load 56 __for_idx_338 iconst 57 1 add 58 56 57 store __for_idx_338 58 -jmp L2628 -label L2631 +jmp L2673 +label L2676 load 59 set_r load 60 literal_type call 61 pith_cstring_release void 1 60 @@ -145736,57 +146037,57 @@ endfunc func ir_emitter_core_ir_is_list_store_name 1 bool param emit_name iconst 1 0 -store __or_1_2632 1 +store __or_1_2677 1 iconst 2 0 -store __or_2_2632 2 +store __or_2_2677 2 iconst 3 0 -store __or_3_2632 3 +store __or_3_2677 3 iconst 4 0 -store __or_4_2632 4 +store __or_4_2677 4 load 5 emit_name strref 6 m46s268 call 7 pith_cstring_eq bool 2 5 6 call 8 pith_cstring_release void 1 6 -store __or_4_2632 7 -brif 7 L2633 L2632 -label L2632 +store __or_4_2677 7 +brif 7 L2678 L2677 +label L2677 load 9 emit_name strref 10 m46s749 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_4_2632 11 -label L2633 -load 13 __or_4_2632 -store __or_3_2632 13 -brif 13 L2635 L2634 -label L2634 +store __or_4_2677 11 +label L2678 +load 13 __or_4_2677 +store __or_3_2677 13 +brif 13 L2680 L2679 +label L2679 load 14 emit_name strref 15 m46s750 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_3_2632 16 -label L2635 -load 18 __or_3_2632 -store __or_2_2632 18 -brif 18 L2637 L2636 -label L2636 +store __or_3_2677 16 +label L2680 +load 18 __or_3_2677 +store __or_2_2677 18 +brif 18 L2682 L2681 +label L2681 load 19 emit_name strref 20 m46s18 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_2_2632 21 -label L2637 -load 23 __or_2_2632 -store __or_1_2632 23 -brif 23 L2639 L2638 -label L2638 +store __or_2_2677 21 +label L2682 +load 23 __or_2_2677 +store __or_1_2677 23 +brif 23 L2684 L2683 +label L2683 load 24 emit_name strref 25 m46s774 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_1_2632 26 -label L2639 -load 28 __or_1_2632 +store __or_1_2677 26 +label L2684 +load 28 __or_1_2677 ret 28 iconst 29 0 ret 29 @@ -145796,80 +146097,80 @@ param emit_name param store_kind load 2 emit_name call 3 ir_emitter_core_ir_is_channel_send_name bool 1 2 -brif 3 L2641 L2642 -label L2641 +brif 3 L2686 L2687 +label L2686 load 4 store_kind call 5 string_len int 1 4 iconst 6 0 gt 7 5 6 ret 7 -label L2642 -label L2640 +label L2687 +label L2685 iconst 8 0 -store __or_8_2646 8 +store __or_8_2691 8 load 9 store_kind strref 10 m46s674 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_8_2646 11 -brif 11 L2647 L2646 -label L2646 +store __or_8_2691 11 +brif 11 L2692 L2691 +label L2691 load 13 store_kind strref 14 m46s824 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_8_2646 15 -label L2647 -load 17 __or_8_2646 -brif 17 L2644 L2645 -label L2644 +store __or_8_2691 15 +label L2692 +load 17 __or_8_2691 +brif 17 L2689 L2690 +label L2689 load 18 emit_name call 19 ir_emitter_core_ir_is_list_store_name bool 1 18 iconst 21 1 sub 20 21 19 ret 20 -label L2645 -label L2643 +label L2690 +label L2688 iconst 22 0 -store __or_22_2648 22 +store __or_22_2693 22 iconst 23 0 -store __or_23_2648 23 +store __or_23_2693 23 iconst 24 0 -store __or_24_2648 24 +store __or_24_2693 24 load 25 store_kind strref 26 m46s20 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_24_2648 27 -brif 27 L2649 L2648 -label L2648 +store __or_24_2693 27 +brif 27 L2694 L2693 +label L2693 load 29 store_kind strref 30 m46s19 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_24_2648 31 -label L2649 -load 33 __or_24_2648 -store __or_23_2648 33 -brif 33 L2651 L2650 -label L2650 +store __or_24_2693 31 +label L2694 +load 33 __or_24_2693 +store __or_23_2693 33 +brif 33 L2696 L2695 +label L2695 load 34 store_kind strref 35 m46s18 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_23_2648 36 -label L2651 -load 38 __or_23_2648 -store __or_22_2648 38 -brif 38 L2653 L2652 -label L2652 +store __or_23_2693 36 +label L2696 +load 38 __or_23_2693 +store __or_22_2693 38 +brif 38 L2698 L2697 +label L2697 load 39 store_kind strref 40 m46s15 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_22_2648 41 -label L2653 -load 43 __or_22_2648 +store __or_22_2693 41 +label L2698 +load 43 __or_22_2693 ret 43 iconst 44 0 ret 44 @@ -145877,77 +146178,77 @@ endfunc func ir_emitter_core_ir_container_store_takes_count 1 bool param store_kind iconst 1 0 -store __or_1_2657 1 +store __or_1_2702 1 load 2 store_kind strref 3 m46s675 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_2657 4 -brif 4 L2658 L2657 -label L2657 +store __or_1_2702 4 +brif 4 L2703 L2702 +label L2702 load 6 store_kind strref 7 m46s674 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_2657 8 -label L2658 -load 10 __or_1_2657 -brif 10 L2655 L2656 -label L2655 +store __or_1_2702 8 +label L2703 +load 10 __or_1_2702 +brif 10 L2700 L2701 +label L2700 iconst 11 1 ret 11 -label L2656 -label L2654 +label L2701 +label L2699 load 12 store_kind strref 13 m46s15 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L2660 L2661 -label L2660 +brif 14 L2705 L2706 +label L2705 iconst 16 1 ret 16 -label L2661 -label L2659 +label L2706 +label L2704 iconst 17 0 -store __or_17_2662 17 +store __or_17_2707 17 iconst 18 0 -store __or_18_2662 18 +store __or_18_2707 18 iconst 19 0 -store __or_19_2662 19 +store __or_19_2707 19 load 20 store_kind strref 21 m46s20 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_19_2662 22 -brif 22 L2663 L2662 -label L2662 +store __or_19_2707 22 +brif 22 L2708 L2707 +label L2707 load 24 store_kind strref 25 m46s19 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_19_2662 26 -label L2663 -load 28 __or_19_2662 -store __or_18_2662 28 -brif 28 L2665 L2664 -label L2664 +store __or_19_2707 26 +label L2708 +load 28 __or_19_2707 +store __or_18_2707 28 +brif 28 L2710 L2709 +label L2709 load 29 store_kind strref 30 m46s18 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_18_2662 31 -label L2665 -load 33 __or_18_2662 -store __or_17_2662 33 -brif 33 L2667 L2666 -label L2666 +store __or_18_2707 31 +label L2710 +load 33 __or_18_2707 +store __or_17_2707 33 +brif 33 L2712 L2711 +label L2711 load 34 store_kind strref 35 m46s824 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_17_2662 36 -label L2667 -load 38 __or_17_2662 +store __or_17_2707 36 +label L2712 +load 38 __or_17_2707 ret 38 iconst 39 0 ret 39 @@ -145955,93 +146256,93 @@ endfunc func ir_emitter_core_ir_owned_container_store_name 1 string param emit_name iconst 1 0 -store __or_1_2671 1 +store __or_1_2716 1 iconst 2 0 -store __or_2_2671 2 +store __or_2_2716 2 load 3 emit_name strref 4 m46s268 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_2671 5 -brif 5 L2672 L2671 -label L2671 +store __or_2_2716 5 +brif 5 L2717 L2716 +label L2716 load 7 emit_name strref 8 m46s749 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_2671 9 -label L2672 -load 11 __or_2_2671 -store __or_1_2671 11 -brif 11 L2674 L2673 -label L2673 +store __or_2_2716 9 +label L2717 +load 11 __or_2_2716 +store __or_1_2716 11 +brif 11 L2719 L2718 +label L2718 load 12 emit_name strref 13 m46s750 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __or_1_2671 14 -label L2674 -load 16 __or_1_2671 -brif 16 L2669 L2670 -label L2669 +store __or_1_2716 14 +label L2719 +load 16 __or_1_2716 +brif 16 L2714 L2715 +label L2714 strref 17 m46s1151 ret 17 -label L2670 -label L2668 +label L2715 +label L2713 iconst 18 0 -store __or_18_2678 18 +store __or_18_2723 18 load 19 emit_name strref 20 m46s18 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_18_2678 21 -brif 21 L2679 L2678 -label L2678 +store __or_18_2723 21 +brif 21 L2724 L2723 +label L2723 load 23 emit_name strref 24 m46s774 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_18_2678 25 -label L2679 -load 27 __or_18_2678 -brif 27 L2676 L2677 -label L2676 +store __or_18_2723 25 +label L2724 +load 27 __or_18_2723 +brif 27 L2721 L2722 +label L2721 strref 28 m46s1238 ret 28 -label L2677 -label L2675 +label L2722 +label L2720 iconst 29 0 -store __or_29_2683 29 +store __or_29_2728 29 load 30 emit_name strref 31 m46s247 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_29_2683 32 -brif 32 L2684 L2683 -label L2683 +store __or_29_2728 32 +brif 32 L2729 L2728 +label L2728 load 34 emit_name strref 35 m46s693 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_29_2683 36 -label L2684 -load 38 __or_29_2683 -brif 38 L2681 L2682 -label L2681 +store __or_29_2728 36 +label L2729 +load 38 __or_29_2728 +brif 38 L2726 L2727 +label L2726 strref 39 m46s1237 ret 39 -label L2682 -label L2680 +label L2727 +label L2725 load 40 emit_name strref 41 m46s694 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -brif 42 L2686 L2687 -label L2686 +brif 42 L2731 L2732 +label L2731 strref 44 m46s1236 ret 44 -label L2687 -label L2685 +label L2732 +label L2730 strref 45 m46s82 ret 45 iconst 46 0 @@ -146053,62 +146354,62 @@ load 1 elem_kind strref 2 m46s675 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2689 L2690 -label L2689 +brif 3 L2734 L2735 +label L2734 strref 5 m46s762 ret 5 -label L2690 -label L2688 +label L2735 +label L2733 load 6 elem_kind strref 7 m46s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2692 L2693 -label L2692 +brif 8 L2737 L2738 +label L2737 strref 10 m46s760 ret 10 -label L2693 -label L2691 +label L2738 +label L2736 load 11 elem_kind strref 12 m46s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2695 L2696 -label L2695 +brif 13 L2740 L2741 +label L2740 strref 15 m46s758 ret 15 -label L2696 -label L2694 +label L2741 +label L2739 load 16 elem_kind strref 17 m46s15 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2698 L2699 -label L2698 +brif 18 L2743 L2744 +label L2743 strref 20 m46s756 ret 20 -label L2699 -label L2697 +label L2744 +label L2742 load 21 elem_kind strref 22 m46s674 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2701 L2702 -label L2701 +brif 23 L2746 L2747 +label L2746 strref 25 m46s754 ret 25 -label L2702 -label L2700 +label L2747 +label L2745 load 26 elem_kind strref 27 m46s824 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2704 L2705 -label L2704 +brif 28 L2749 L2750 +label L2749 strref 30 m46s752 ret 30 -label L2705 -label L2703 +label L2750 +label L2748 strref 31 m46s764 ret 31 iconst 32 0 @@ -146139,32 +146440,32 @@ store tid 13 load 14 tid iconst 15 0 gte 16 14 15 -brif 16 L2707 L2708 -label L2707 +brif 16 L2752 L2753 +label L2752 load 17 info load 18 tid call 19 types_get_type_info struct:TypeInfo 1 18 call 20 pith_struct_release void 1 17 store info 19 iconst 21 0 -store __and_21_2712 21 +store __and_21_2757 21 load 22 info field 23 22 0 string kind strref 24 m46s20 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_2712 25 -brif 25 L2712 L2713 -label L2712 +store __and_21_2757 25 +brif 25 L2757 L2758 +label L2757 load 27 info field 28 27 64 int inner iconst 29 0 gte 30 28 29 -store __and_21_2712 30 -label L2713 -load 31 __and_21_2712 -brif 31 L2710 L2711 -label L2710 +store __and_21_2757 30 +label L2758 +load 31 __and_21_2757 +brif 31 L2755 L2756 +label L2755 load 32 elem_target load 33 info field 34 33 64 int inner @@ -146176,31 +146477,31 @@ load 38 elem_target call 39 ir_struct_registry_ir_rc_kind string 1 38 call 40 pith_cstring_release void 1 37 store elem_kind 39 -jmp L2709 -label L2711 -label L2709 -jmp L2706 -label L2708 -label L2706 +jmp L2754 +label L2756 +label L2754 +jmp L2751 +label L2753 +label L2751 iconst 41 0 -store __and_41_2717 41 +store __and_41_2762 41 load 42 elem_kind call 43 string_len int 1 42 iconst 44 0 eq 45 43 44 -store __and_41_2717 45 -brif 45 L2717 L2718 -label L2717 +store __and_41_2762 45 +brif 45 L2762 L2763 +label L2762 load 46 node field 47 46 16 list children call 48 pith_list_len int 1 47 iconst 49 0 gt 50 48 49 -store __and_41_2717 50 -label L2718 -load 51 __and_41_2717 -brif 51 L2715 L2716 -label L2715 +store __and_41_2762 50 +label L2763 +load 51 __and_41_2762 +brif 51 L2760 L2761 +label L2760 load 52 elem_kind load 53 node field 54 53 16 list children @@ -146211,9 +146512,9 @@ call 58 ir_struct_registry_ir_rc_kind string 1 57 call 59 pith_cstring_release void 1 57 call 60 pith_cstring_release void 1 52 store elem_kind 58 -jmp L2714 -label L2716 -label L2714 +jmp L2759 +label L2761 +label L2759 call 61 ir_builder_ir_reg int 0 store list_r 61 load 62 ctor @@ -146240,12 +146541,12 @@ iconst 80 0 store __for_idx_339 80 store __for_len_339 79 store __for_iter_339 78 -label L2719 +label L2764 load 81 __for_idx_339 load 82 __for_len_339 lt 83 81 82 -brif 83 L2720 L2722 -label L2720 +brif 83 L2765 L2767 +label L2765 load 84 __for_iter_339 load 85 __for_idx_339 call 86 pith_list_get_value unknown 2 84 85 @@ -146263,33 +146564,33 @@ call 95 ir_call_emit_ir_emit_call2 void 5 90 91 92 93 94 call 96 pith_cstring_release void 1 91 call 97 pith_cstring_release void 1 92 iconst 98 0 -store __and_98_2726 98 +store __and_98_2771 98 load 99 retaining -store __and_98_2726 99 -brif 99 L2726 L2727 -label L2726 +store __and_98_2771 99 +brif 99 L2771 L2772 +label L2771 load 100 __loopvar_339_child call 101 ir_emitter_core_ir_string_expr_is_borrowed bool 1 100 iconst 103 1 sub 102 103 101 -store __and_98_2726 102 -label L2727 -load 104 __and_98_2726 -brif 104 L2724 L2725 -label L2724 +store __and_98_2771 102 +label L2772 +load 104 __and_98_2771 +brif 104 L2769 L2770 +label L2769 load 105 elem_r load 106 elem_kind call 107 ir_ownership_ir_rc_release_reg void 2 105 106 -jmp L2723 -label L2725 -label L2723 -label L2721 +jmp L2768 +label L2770 +label L2768 +label L2766 load 108 __for_idx_339 iconst 109 1 add 110 108 109 store __for_idx_339 110 -jmp L2719 -label L2722 +jmp L2764 +label L2767 load 111 list_r load 112 elem_kind call 113 pith_cstring_release void 1 112 @@ -146323,12 +146624,12 @@ iconst 6 0 store __for_idx_340 6 store __for_len_340 5 store __for_iter_340 4 -label L2728 +label L2773 load 7 __for_idx_340 load 8 __for_len_340 lt 9 7 8 -brif 9 L2729 L2731 -label L2729 +brif 9 L2774 L2776 +label L2774 load 10 __for_iter_340 load 11 __for_idx_340 call 12 pith_list_get_value unknown 2 10 11 @@ -146339,8 +146640,8 @@ load 14 __loopvar_340_i load 15 elem_nodes call 16 pith_list_len int 1 15 lt 17 14 16 -brif 17 L2733 L2734 -label L2733 +brif 17 L2778 L2779 +label L2778 load 18 tuple_kind load 19 elem_nodes load 20 __loopvar_340_i @@ -146351,32 +146652,32 @@ call 24 pith_cstring_release void 1 22 call 25 pith_cstring_release void 1 18 store tuple_kind 23 iconst 26 0 -store __and_26_2738 26 +store __and_26_2783 26 load 27 tuple_kind call 28 string_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_26_2738 30 -brif 30 L2738 L2739 -label L2738 +store __and_26_2783 30 +brif 30 L2783 L2784 +label L2783 load 31 elem_nodes load 32 __loopvar_340_i call 33 pith_list_get_value_strict int 2 31 32 call 34 ir_emitter_core_ir_string_expr_is_borrowed bool 1 33 -store __and_26_2738 34 -label L2739 -load 35 __and_26_2738 -brif 35 L2736 L2737 -label L2736 +store __and_26_2783 34 +label L2784 +load 35 __and_26_2783 +brif 35 L2781 L2782 +label L2781 load 36 __loopvar_340_elem_reg load 37 tuple_kind call 38 ir_ownership_ir_rc_retain_reg void 2 36 37 -jmp L2735 -label L2737 -label L2735 -jmp L2732 -label L2734 -label L2732 +jmp L2780 +label L2782 +label L2780 +jmp L2777 +label L2779 +label L2777 strref 39 m46s1038 load 40 tuple_r call 41 int_to_string string 1 40 @@ -146403,13 +146704,13 @@ call 61 pith_cstring_release void 1 55 call 62 pith_cstring_release void 1 59 call 63 ir_builder_ir_emit void 1 60 call 64 pith_cstring_release void 1 60 -label L2730 +label L2775 load 65 __for_idx_340 iconst 66 1 add 67 65 66 store __for_idx_340 67 -jmp L2728 -label L2731 +jmp L2773 +label L2776 load 68 tuple_kind call 69 pith_cstring_release void 1 68 iconst 70 0 @@ -146421,82 +146722,82 @@ load 1 kind strref 2 m46s675 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2741 L2742 -label L2741 +brif 3 L2786 L2787 +label L2786 strref 5 m46s903 ret 5 -label L2742 -label L2740 +label L2787 +label L2785 load 6 kind strref 7 m46s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2744 L2745 -label L2744 +brif 8 L2789 L2790 +label L2789 strref 10 m46s1235 ret 10 -label L2745 -label L2743 +label L2790 +label L2788 load 11 kind strref 12 m46s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2747 L2748 -label L2747 +brif 13 L2792 L2793 +label L2792 strref 15 m46s1018 ret 15 -label L2748 -label L2746 +label L2793 +label L2791 load 16 kind strref 17 m46s18 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2750 L2751 -label L2750 +brif 18 L2795 L2796 +label L2795 strref 20 m46s1234 ret 20 -label L2751 -label L2749 +label L2796 +label L2794 load 21 kind strref 22 m46s674 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2753 L2754 -label L2753 +brif 23 L2798 L2799 +label L2798 strref 25 m46s1071 ret 25 -label L2754 -label L2752 +label L2799 +label L2797 load 26 kind strref 27 m46s15 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2756 L2757 -label L2756 +brif 28 L2801 L2802 +label L2801 strref 30 m46s1233 ret 30 -label L2757 -label L2755 +label L2802 +label L2800 load 31 kind strref 32 m46s824 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L2759 L2760 -label L2759 +brif 33 L2804 L2805 +label L2804 strref 35 m46s1232 ret 35 -label L2760 -label L2758 +label L2805 +label L2803 load 36 kind strref 37 m46s23 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L2762 L2763 -label L2762 +brif 38 L2807 L2808 +label L2807 strref 40 m46s1231 ret 40 -label L2763 -label L2761 +label L2808 +label L2806 strref 41 m46s177 ret 41 iconst 42 0 @@ -146508,82 +146809,82 @@ load 1 code strref 2 m46s903 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2765 L2766 -label L2765 +brif 3 L2810 L2811 +label L2810 strref 5 m46s675 ret 5 -label L2766 -label L2764 +label L2811 +label L2809 load 6 code strref 7 m46s1235 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2768 L2769 -label L2768 +brif 8 L2813 L2814 +label L2813 strref 10 m46s20 ret 10 -label L2769 -label L2767 +label L2814 +label L2812 load 11 code strref 12 m46s1018 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2771 L2772 -label L2771 +brif 13 L2816 L2817 +label L2816 strref 15 m46s19 ret 15 -label L2772 -label L2770 +label L2817 +label L2815 load 16 code strref 17 m46s1234 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2774 L2775 -label L2774 +brif 18 L2819 L2820 +label L2819 strref 20 m46s18 ret 20 -label L2775 -label L2773 +label L2820 +label L2818 load 21 code strref 22 m46s1071 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2777 L2778 -label L2777 +brif 23 L2822 L2823 +label L2822 strref 25 m46s674 ret 25 -label L2778 -label L2776 +label L2823 +label L2821 load 26 code strref 27 m46s1233 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2780 L2781 -label L2780 +brif 28 L2825 L2826 +label L2825 strref 30 m46s15 ret 30 -label L2781 -label L2779 +label L2826 +label L2824 load 31 code strref 32 m46s1232 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L2783 L2784 -label L2783 +brif 33 L2828 L2829 +label L2828 strref 35 m46s824 ret 35 -label L2784 -label L2782 +label L2829 +label L2827 load 36 code strref 37 m46s1231 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L2786 L2787 -label L2786 +brif 38 L2831 L2832 +label L2831 strref 40 m46s23 ret 40 -label L2787 -label L2785 +label L2832 +label L2830 strref 41 m46s82 ret 41 iconst 42 0 @@ -146603,12 +146904,12 @@ iconst 7 0 store __for_idx_341 7 store __for_len_341 6 store __for_iter_341 5 -label L2788 +label L2833 load 8 __for_idx_341 load 9 __for_len_341 lt 10 8 9 -brif 10 L2789 L2791 -label L2789 +brif 10 L2834 L2836 +label L2834 load 11 __for_iter_341 load 12 __for_idx_341 call 13 pith_list_get_value unknown 2 11 12 @@ -146625,13 +146926,13 @@ concat 22 15 20 call 23 pith_cstring_release void 1 20 call 24 pith_cstring_release void 1 14 store sig 22 -label L2790 +label L2835 load 25 __for_idx_341 iconst 26 1 add 27 25 26 store __for_idx_341 27 -jmp L2788 -label L2791 +jmp L2833 +label L2836 load 28 sig ret 28 load 29 sig @@ -146662,13 +146963,13 @@ func ir_emitter_core_ir_tuple_sig_has_rc 1 bool param sig iconst 1 0 store i 1 -label L2792 +label L2837 load 2 i load 3 sig call 4 string_len int 1 3 lt 5 2 4 -brif 5 L2793 L2794 -label L2793 +brif 5 L2838 L2839 +label L2838 load 6 sig load 7 i load 8 i @@ -146681,18 +146982,18 @@ iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 11 call 17 pith_cstring_release void 1 12 -brif 13 L2796 L2797 -label L2796 +brif 13 L2841 L2842 +label L2841 iconst 18 1 ret 18 -label L2797 -label L2795 +label L2842 +label L2840 load 19 i iconst 20 1 add 21 19 20 store i 21 -jmp L2792 -label L2794 +jmp L2837 +label L2839 iconst 22 0 ret 22 iconst 23 0 @@ -146712,51 +147013,51 @@ load 7 sig call 8 ir_emitter_core_ir_tuple_sig_has_rc bool 1 7 iconst 10 1 sub 9 10 8 -brif 9 L2799 L2800 -label L2799 +brif 9 L2844 L2845 +label L2844 load 11 sig call 12 pith_cstring_release void 1 11 iconst 13 0 ret 13 -label L2800 -label L2798 +label L2845 +label L2843 load 14 ir_emitter_core_ir_tuple_dtor_sigs load 15 sig iconst 16 -1 -store __list_index_result_L2804 16 +store __list_index_result_L2849 16 iconst 17 0 -store __list_index_i_L2805 17 +store __list_index_i_L2850 17 call 18 pith_list_len int 1 14 -label L2806 -load 19 __list_index_i_L2805 +label L2851 +load 19 __list_index_i_L2850 lt 20 19 18 -brif 20 L2807 L2810 -label L2807 +brif 20 L2852 L2855 +label L2852 call 21 pith_list_get_value string 2 14 19 call 22 pith_cstring_eq bool 2 21 15 -brif 22 L2808 L2809 -label L2808 -store __list_index_result_L2804 19 -jmp L2810 -label L2809 +brif 22 L2853 L2854 +label L2853 +store __list_index_result_L2849 19 +jmp L2855 +label L2854 iconst 23 1 add 24 19 23 -store __list_index_i_L2805 24 -jmp L2806 -label L2810 -load 25 __list_index_result_L2804 +store __list_index_i_L2850 24 +jmp L2851 +label L2855 +load 25 __list_index_result_L2849 iconst 26 0 gte 27 25 26 iconst 29 1 sub 28 29 27 -brif 28 L2802 L2803 -label L2802 +brif 28 L2847 L2848 +label L2847 load 30 ir_emitter_core_ir_tuple_dtor_sigs load 31 sig call 32 pith_list_push_value void 2 30 31 -jmp L2801 -label L2803 -label L2801 +jmp L2846 +label L2848 +label L2846 call 33 ir_builder_ir_reg int 0 store fr 33 strref 34 m46s902 @@ -146827,12 +147128,12 @@ iconst 13 0 store __for_idx_342 13 store __for_len_342 12 store __for_iter_342 11 -label L2811 +label L2856 load 14 __for_idx_342 load 15 __for_len_342 lt 16 14 15 -brif 16 L2812 L2814 -label L2812 +brif 16 L2857 L2859 +label L2857 load 17 __for_iter_342 load 18 __for_idx_342 call 19 pith_list_get_value unknown 2 17 18 @@ -146847,28 +147148,28 @@ field 25 24 0 string kind strref 26 m46s56 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L2816 L2817 -label L2816 +brif 27 L2861 L2862 +label L2861 load 29 elem_regs call 30 ir_optionals_ir_emit_optional_none_value int 0 call 31 pith_list_push_value void 2 29 30 -jmp L2815 -label L2817 +jmp L2860 +label L2862 load 32 elem_regs load 33 __loopvar_342_child call 34 ir_emitter_core_ir_expr int 1 33 call 35 pith_list_push_value void 2 32 34 -label L2815 +label L2860 load 36 elem_nodes load 37 __loopvar_342_child call 38 pith_list_push_value void 2 36 37 -label L2813 +label L2858 load 39 __for_idx_342 iconst 40 1 add 41 39 40 store __for_idx_342 41 -jmp L2811 -label L2814 +jmp L2856 +label L2859 call 42 ir_builder_ir_reg int 0 store r 42 call 43 ir_builder_ir_reg int 0 @@ -146947,8 +147248,8 @@ store max_count 2 load 3 ir_struct_registry_ir_enum_variant_lists load 4 enum_name call 5 contains_key bool 2 3 4 -brif 5 L2819 L2820 -label L2819 +brif 5 L2864 L2865 +label L2864 load 6 ir_struct_registry_ir_enum_variant_lists load 7 enum_name call 8 map_get_strict string 2 6 7 @@ -146960,12 +147261,12 @@ iconst 13 0 store __for_idx_343 13 store __for_len_343 12 store __for_iter_343 10 -label L2821 +label L2866 load 14 __for_idx_343 load 15 __for_len_343 lt 16 14 15 -brif 16 L2822 L2824 -label L2822 +brif 16 L2867 L2869 +label L2867 load 17 __for_iter_343 load 18 __for_idx_343 call 19 pith_list_get_value_unchecked string 2 17 18 @@ -146983,8 +147284,8 @@ store vkey 26 load 29 ir_struct_registry_ir_enum_payload_kinds load 30 vkey call 31 contains_key bool 2 29 30 -brif 31 L2826 L2827 -label L2826 +brif 31 L2871 L2872 +label L2871 load 32 ir_struct_registry_ir_enum_payload_kinds load 33 vkey call 34 map_get_strict string 2 32 33 @@ -146997,28 +147298,28 @@ store count 38 load 40 count load 41 max_count gt 42 40 41 -brif 42 L2829 L2830 -label L2829 +brif 42 L2874 L2875 +label L2874 load 43 count store max_count 43 -jmp L2828 -label L2830 -label L2828 -jmp L2825 -label L2827 -label L2825 -label L2823 +jmp L2873 +label L2875 +label L2873 +jmp L2870 +label L2872 +label L2870 +label L2868 load 44 __for_idx_343 iconst 45 1 add 46 44 45 store __for_idx_343 46 -jmp L2821 -label L2824 +jmp L2866 +label L2869 load 47 __for_iter_343 call 48 pith_list_release_handle void 1 47 -jmp L2818 -label L2820 -label L2818 +jmp L2863 +label L2865 +label L2863 load 49 max_count load 50 vkey call 51 pith_cstring_release void 1 50 @@ -147038,13 +147339,13 @@ store slots 4 load 5 payload_count load 6 slots gt 7 5 6 -brif 7 L2832 L2833 -label L2832 +brif 7 L2877 L2878 +label L2877 load 8 payload_count store slots 8 -jmp L2831 -label L2833 -label L2831 +jmp L2876 +label L2878 +label L2876 call 9 ir_builder_ir_reg int 0 store count_r 9 strref 10 m46s832 @@ -147137,8 +147438,8 @@ store kinds 6 load 8 ir_struct_registry_ir_enum_payload_kinds load 9 variant_key call 10 contains_key bool 2 8 9 -brif 10 L2835 L2836 -label L2835 +brif 10 L2880 L2881 +label L2880 load 11 kinds load 12 ir_struct_registry_ir_enum_payload_kinds load 13 variant_key @@ -147148,9 +147449,9 @@ call 16 pith_string_split_to_list list_string 2 14 15 call 17 pith_cstring_release void 1 15 call 18 pith_list_release_handle void 1 11 store kinds 16 -jmp L2834 -label L2836 -label L2834 +jmp L2879 +label L2881 +label L2879 load 19 enum_name load 20 variant_key load 21 kinds @@ -147159,13 +147460,13 @@ call 23 ir_emitter_core_ir_emit_variant_alloc int 3 19 20 22 store r 23 iconst 24 0 store i 24 -label L2837 +label L2882 load 25 i load 26 kinds call 27 pith_list_len int 1 26 lt 28 25 27 -brif 28 L2838 L2839 -label L2838 +brif 28 L2883 L2884 +label L2883 load 29 node load 30 i call 31 ir_emitter_core_ir_method_call_arg_expr int 2 29 30 @@ -147173,8 +147474,8 @@ store arg_idx 31 load 32 arg_idx iconst 33 0 gte 34 32 33 -brif 34 L2841 L2842 -label L2841 +brif 34 L2886 L2887 +label L2886 load 35 arg_idx call 36 ir_emitter_core_ir_expr int 1 35 store arg_r 36 @@ -147186,27 +147487,27 @@ call 41 ir_struct_registry_ir_rc_kind string 1 40 call 42 pith_cstring_release void 1 37 store payload_kind 41 iconst 43 0 -store __and_43_2846 43 +store __and_43_2891 43 load 44 payload_kind call 45 string_len int 1 44 iconst 46 0 gt 47 45 46 -store __and_43_2846 47 -brif 47 L2846 L2847 -label L2846 +store __and_43_2891 47 +brif 47 L2891 L2892 +label L2891 load 48 arg_idx call 49 ir_emitter_core_ir_string_expr_is_borrowed bool 1 48 -store __and_43_2846 49 -label L2847 -load 50 __and_43_2846 -brif 50 L2844 L2845 -label L2844 +store __and_43_2891 49 +label L2892 +load 50 __and_43_2891 +brif 50 L2889 L2890 +label L2889 load 51 arg_r load 52 payload_kind call 53 ir_ownership_ir_rc_retain_reg void 2 51 52 -jmp L2843 -label L2845 -label L2843 +jmp L2888 +label L2890 +label L2888 strref 54 m46s1038 load 55 r call 56 int_to_string string 1 55 @@ -147235,15 +147536,15 @@ call 78 pith_cstring_release void 1 72 call 79 pith_cstring_release void 1 76 call 80 ir_builder_ir_emit void 1 77 call 81 pith_cstring_release void 1 77 -jmp L2840 -label L2842 -label L2840 +jmp L2885 +label L2887 +label L2885 load 82 i iconst 83 1 add 84 82 83 store i 84 -jmp L2837 -label L2839 +jmp L2882 +label L2884 load 85 r load 86 kinds call 87 pith_list_release_handle void 1 86 @@ -147281,8 +147582,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 eq 16 14 15 -brif 16 L2849 L2850 -label L2849 +brif 16 L2894 L2895 +label L2894 call 17 ir_builder_ir_reg int 0 store r 17 strref 18 m46s832 @@ -147309,8 +147610,8 @@ call 38 pith_cstring_release void 1 37 load 39 weak_struct call 40 pith_cstring_release void 1 39 ret 30 -label L2850 -label L2848 +label L2895 +label L2893 load 41 recv_node load 42 node field 43 42 16 list children @@ -147324,8 +147625,8 @@ field 49 48 0 string kind strref 50 m46s37 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L2852 L2853 -label L2852 +brif 51 L2897 L2898 +label L2897 load 53 lookup_key load 54 recv_node field 55 54 8 string value @@ -147340,27 +147641,27 @@ store lookup_key 60 load 63 ir_struct_registry_ir_struct_field_index_lookup load 64 lookup_key call 65 contains_key bool 2 63 64 -brif 65 L2855 L2856 -label L2855 +brif 65 L2900 L2901 +label L2900 load 66 ir_struct_registry_ir_struct_field_lookup load 67 lookup_key call 68 contains_key bool 2 66 67 -brif 68 L2858 L2859 -label L2858 +brif 68 L2903 L2904 +label L2903 load 69 ir_struct_registry_ir_struct_field_lookup load 70 lookup_key call 71 map_get_strict string 2 69 70 load 72 recv_node field 73 72 8 string value call 74 pith_cstring_eq bool 2 71 73 -brif 74 L2861 L2862 -label L2861 +brif 74 L2906 L2907 +label L2906 load 75 ir_struct_registry_ir_boxed_enums load 76 recv_node field 77 76 8 string value call 78 contains_key bool 2 75 77 -brif 78 L2864 L2865 -label L2864 +brif 78 L2909 L2910 +label L2909 load 79 recv_node field 80 79 8 string value load 81 lookup_key @@ -147377,8 +147678,8 @@ call 91 pith_cstring_release void 1 90 load 92 weak_struct call 93 pith_cstring_release void 1 92 ret 83 -label L2865 -label L2863 +label L2910 +label L2908 call 94 ir_builder_ir_reg int 0 store r 94 strref 95 m46s832 @@ -147410,17 +147711,17 @@ call 120 pith_cstring_release void 1 119 load 121 weak_struct call 122 pith_cstring_release void 1 121 ret 112 -label L2862 -label L2860 -jmp L2857 -label L2859 -label L2857 -jmp L2854 -label L2856 -label L2854 -jmp L2851 -label L2853 -label L2851 +label L2907 +label L2905 +jmp L2902 +label L2904 +label L2902 +jmp L2899 +label L2901 +label L2899 +jmp L2896 +label L2898 +label L2896 load 123 node field 124 123 16 list children iconst 125 0 @@ -147431,14 +147732,14 @@ store obj_r 127 load 128 obj_r iconst 129 0 lt 130 128 129 -brif 130 L2867 L2868 -label L2867 +brif 130 L2912 L2913 +label L2912 load 131 recv_idx call 132 ir_emitter_core_ir_expr int 1 131 store obj_r 132 -jmp L2866 -label L2868 -label L2866 +jmp L2911 +label L2913 +label L2911 call 133 ir_builder_ir_reg int 0 store r 133 load 134 r @@ -147446,8 +147747,8 @@ load 135 obj_r load 136 recv_idx load 137 fname call 138 ir_field_helpers_ir_emit_tuple_field_access bool 4 134 135 136 137 -brif 138 L2870 L2871 -label L2870 +brif 138 L2915 L2916 +label L2915 load 139 r load 140 fname call 141 pith_cstring_release void 1 140 @@ -147460,8 +147761,8 @@ call 147 pith_cstring_release void 1 146 load 148 weak_struct call 149 pith_cstring_release void 1 148 ret 139 -label L2871 -label L2869 +label L2916 +label L2914 load 150 lk load 151 recv_idx load 152 fname @@ -147473,8 +147774,8 @@ load 156 lk call 157 contains_key bool 2 155 156 iconst 159 1 sub 158 159 157 -brif 158 L2873 L2874 -label L2873 +brif 158 L2918 L2919 +label L2918 load 160 obj_r load 161 recv_idx load 162 fname @@ -147483,8 +147784,8 @@ store checked_r 163 load 164 checked_r iconst 165 0 gte 166 164 165 -brif 166 L2876 L2877 -label L2876 +brif 166 L2921 L2922 +label L2921 load 167 checked_r load 168 fname call 169 pith_cstring_release void 1 168 @@ -147497,11 +147798,11 @@ call 175 pith_cstring_release void 1 174 load 176 weak_struct call 177 pith_cstring_release void 1 176 ret 167 -label L2877 -label L2875 -jmp L2872 -label L2874 -label L2872 +label L2922 +label L2920 +jmp L2917 +label L2919 +label L2917 load 178 r load 179 obj_r load 180 lk @@ -147518,8 +147819,8 @@ call 190 string_len int 1 189 iconst 191 1 add 192 190 191 gt 193 188 192 -brif 193 L2879 L2880 -label L2879 +brif 193 L2924 L2925 +label L2924 load 194 weak_struct load 195 lk iconst 196 0 @@ -147536,8 +147837,8 @@ store weak_struct 204 load 206 weak_struct load 207 fname call 208 ir_emitter_core_ir_struct_field_is_weak bool 2 206 207 -brif 208 L2882 L2883 -label L2882 +brif 208 L2927 L2928 +label L2927 load 209 r call 210 ir_optionals_ir_emit_weak_read int 1 209 load 211 fname @@ -147551,11 +147852,11 @@ call 218 pith_cstring_release void 1 217 load 219 weak_struct call 220 pith_cstring_release void 1 219 ret 210 -label L2883 -label L2881 -jmp L2878 -label L2880 -label L2878 +label L2928 +label L2926 +jmp L2923 +label L2925 +label L2923 load 221 r load 222 fname call 223 pith_cstring_release void 1 222 @@ -147728,8 +148029,8 @@ load 17 legacy_kind strref 18 m46s672 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2885 L2886 -label L2885 +brif 19 L2930 L2931 +label L2930 strref 21 m46s1044 load 22 zero_r call 23 int_to_string string 1 22 @@ -147742,8 +148043,8 @@ call 29 pith_cstring_release void 1 24 call 30 pith_cstring_release void 1 27 call 31 ir_builder_ir_emit void 1 28 call 32 pith_cstring_release void 1 28 -jmp L2884 -label L2886 +jmp L2929 +label L2931 strref 33 m46s832 load 34 zero_r call 35 int_to_string string 1 34 @@ -147756,7 +148057,7 @@ call 41 pith_cstring_release void 1 36 call 42 pith_cstring_release void 1 39 call 43 ir_builder_ir_emit void 1 40 call 44 pith_cstring_release void 1 40 -label L2884 +label L2929 call 45 ir_builder_ir_reg int 0 store cond_r 45 strref 46 m46s1035 @@ -147824,30 +148125,30 @@ call 104 ir_call_emit_ir_emit_label void 1 103 load 105 raw_r store ok_r 105 iconst 106 0 -store __or_106_2890 106 +store __or_106_2935 106 load 107 legacy_kind strref 108 m46s806 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -store __or_106_2890 109 -brif 109 L2891 L2890 -label L2890 +store __or_106_2935 109 +brif 109 L2936 L2935 +label L2935 load 111 legacy_kind strref 112 m46s805 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -store __or_106_2890 113 -label L2891 -load 115 __or_106_2890 -brif 115 L2888 L2889 -label L2888 +store __or_106_2935 113 +label L2936 +load 115 __or_106_2935 +brif 115 L2933 L2934 +label L2933 load 116 raw_r load 117 legacy_kind call 118 ir_result_abi_ir_decode_result_value int 2 116 117 store ok_r 118 -jmp L2887 -label L2889 -label L2887 +jmp L2932 +label L2934 +label L2932 load 119 ok_r call 120 ir_emitter_core_ir_emit_ok_result_tuple int 1 119 store ok_tuple 120 @@ -147947,8 +148248,8 @@ store obj_tid 7 load 8 obj_tid iconst 9 0 gte 10 8 9 -brif 10 L2893 L2894 -label L2893 +brif 10 L2938 L2939 +label L2938 load 11 obj_info load 12 obj_tid call 13 types_get_type_info struct:TypeInfo 1 12 @@ -147959,14 +148260,14 @@ field 16 15 0 string kind strref 17 m46s22 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2896 L2897 -label L2896 +brif 18 L2941 L2942 +label L2941 load 20 fname strref 21 m46s182 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L2899 L2900 -label L2899 +brif 22 L2944 L2945 +label L2944 load 24 obj_r load 25 obj_tid strref 26 m46s182 @@ -147975,14 +148276,14 @@ call 28 pith_cstring_release void 1 26 load 29 obj_info call 30 pith_struct_release void 1 29 ret 27 -label L2900 -label L2898 +label L2945 +label L2943 load 31 fname strref 32 m46s181 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L2902 L2903 -label L2902 +brif 33 L2947 L2948 +label L2947 load 35 obj_r load 36 obj_tid strref 37 m46s181 @@ -147991,40 +148292,40 @@ call 39 pith_cstring_release void 1 37 load 40 obj_info call 41 pith_struct_release void 1 40 ret 38 -label L2903 -label L2901 +label L2948 +label L2946 iconst 42 0 -store __or_42_2907 42 +store __or_42_2952 42 load 43 fname strref 44 m46s184 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_42_2907 45 -brif 45 L2908 L2907 -label L2907 +store __or_42_2952 45 +brif 45 L2953 L2952 +label L2952 load 47 fname strref 48 m46s183 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_42_2907 49 -label L2908 -load 51 __or_42_2907 -brif 51 L2905 L2906 -label L2905 +store __or_42_2952 49 +label L2953 +load 51 __or_42_2952 +brif 51 L2950 L2951 +label L2950 load 52 obj_r load 53 fname call 54 ir_result_abi_ir_emit_result_flag_field int 2 52 53 load 55 obj_info call 56 pith_struct_release void 1 55 ret 54 -label L2906 -label L2904 -jmp L2895 -label L2897 -label L2895 -jmp L2892 -label L2894 -label L2892 +label L2951 +label L2949 +jmp L2940 +label L2942 +label L2940 +jmp L2937 +label L2939 +label L2937 iconst 57 0 iconst 58 1 sub 59 57 58 @@ -148050,16 +148351,16 @@ load 7 node field 8 7 16 list children call 9 pith_list_len int 1 8 gte 10 6 9 -brif 10 L2910 L2911 -label L2910 +brif 10 L2955 L2956 +label L2955 iconst 11 0 iconst 12 1 sub 13 11 12 load 14 cn call 15 pith_struct_release void 1 14 ret 13 -label L2911 -label L2909 +label L2956 +label L2954 load 16 node field 17 16 16 list children load 18 actual_index @@ -148071,25 +148372,25 @@ call 22 ast_get_node struct:Node 1 21 call 23 pith_struct_release void 1 20 store cn 22 iconst 24 0 -store __and_24_2915 24 +store __and_24_2960 24 load 25 cn field 26 25 0 string kind strref 27 m46s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __and_24_2915 28 -brif 28 L2915 L2916 -label L2915 +store __and_24_2960 28 +brif 28 L2960 L2961 +label L2960 load 30 cn field 31 30 16 list children call 32 pith_list_len int 1 31 iconst 33 0 gt 34 32 33 -store __and_24_2915 34 -label L2916 -load 35 __and_24_2915 -brif 35 L2913 L2914 -label L2913 +store __and_24_2960 34 +label L2961 +load 35 __and_24_2960 +brif 35 L2958 L2959 +label L2958 load 36 cn field 37 36 16 list children iconst 38 0 @@ -148097,8 +148398,8 @@ call 39 pith_list_get_value_strict int 2 37 38 load 40 cn call 41 pith_struct_release void 1 40 ret 39 -label L2914 -label L2912 +label L2959 +label L2957 load 42 child load 43 cn call 44 pith_struct_release void 1 43 @@ -148118,25 +148419,25 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store node 4 iconst 6 0 -store __and_6_2920 6 +store __and_6_2965 6 load 7 node field 8 7 0 string kind strref 9 m46s512 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __and_6_2920 10 -brif 10 L2920 L2921 -label L2920 +store __and_6_2965 10 +brif 10 L2965 L2966 +label L2965 load 12 node field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 gt 16 14 15 -store __and_6_2920 16 -label L2921 -load 17 __and_6_2920 -brif 17 L2918 L2919 -label L2918 +store __and_6_2965 16 +label L2966 +load 17 __and_6_2965 +brif 17 L2963 L2964 +label L2963 load 18 node field 19 18 16 list children iconst 20 0 @@ -148145,86 +148446,86 @@ call 22 ir_emitter_core_ir_extraction_operand_class string 1 21 load 23 node call 24 pith_struct_release void 1 23 ret 22 -label L2919 -label L2917 +label L2964 +label L2962 iconst 25 0 -store __or_25_2925 25 +store __or_25_2970 25 iconst 26 0 -store __or_26_2925 26 +store __or_26_2970 26 load 27 node field 28 27 0 string kind strref 29 m46s44 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_26_2925 30 -brif 30 L2926 L2925 -label L2925 +store __or_26_2970 30 +brif 30 L2971 L2970 +label L2970 load 32 node field 33 32 0 string kind strref 34 m46s129 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_26_2925 35 -label L2926 -load 37 __or_26_2925 -store __or_25_2925 37 -brif 37 L2928 L2927 -label L2927 +store __or_26_2970 35 +label L2971 +load 37 __or_26_2970 +store __or_25_2970 37 +brif 37 L2973 L2972 +label L2972 load 38 node field 39 38 0 string kind strref 40 m46s498 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_25_2925 41 -label L2928 -load 43 __or_25_2925 -brif 43 L2923 L2924 -label L2923 +store __or_25_2970 41 +label L2973 +load 43 __or_25_2970 +brif 43 L2968 L2969 +label L2968 strref 44 m46s1227 load 45 node call 46 pith_struct_release void 1 45 ret 44 -label L2924 -label L2922 +label L2969 +label L2967 iconst 47 0 -store __or_47_2932 47 +store __or_47_2977 47 iconst 48 0 -store __or_48_2932 48 +store __or_48_2977 48 load 49 node field 50 49 0 string kind strref 51 m46s37 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_48_2932 52 -brif 52 L2933 L2932 -label L2932 +store __or_48_2977 52 +brif 52 L2978 L2977 +label L2977 load 54 node field 55 54 0 string kind strref 56 m46s36 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -store __or_48_2932 57 -label L2933 -load 59 __or_48_2932 -store __or_47_2932 59 -brif 59 L2935 L2934 -label L2934 +store __or_48_2977 57 +label L2978 +load 59 __or_48_2977 +store __or_47_2977 59 +brif 59 L2980 L2979 +label L2979 load 60 node field 61 60 0 string kind strref 62 m46s35 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __or_47_2932 63 -label L2935 -load 65 __or_47_2932 -brif 65 L2930 L2931 -label L2930 +store __or_47_2977 63 +label L2980 +load 65 __or_47_2977 +brif 65 L2975 L2976 +label L2975 strref 66 m46s1202 load 67 node call 68 pith_struct_release void 1 67 ret 66 -label L2931 -label L2929 +label L2976 +label L2974 strref 69 m46s1226 load 70 node call 71 pith_struct_release void 1 70 @@ -148328,14 +148629,14 @@ load 74 operand_class strref 75 m46s1202 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L2937 L2938 -label L2937 +brif 76 L2982 L2983 +label L2982 load 78 idx call 79 ir_emitter_core_ir_string_expr_is_borrowed bool 1 78 iconst 81 1 sub 80 81 79 -brif 80 L2940 L2941 -label L2940 +brif 80 L2985 L2986 +label L2985 load 82 ok_value_r load 83 recv_tid strref 84 m46s182 @@ -148345,11 +148646,11 @@ call 87 ir_struct_registry_ir_rc_kind string 1 85 call 88 pith_cstring_release void 1 85 call 89 ir_ownership_ir_rc_retain_reg void 2 82 87 call 90 pith_cstring_release void 1 87 -jmp L2939 -label L2941 -label L2939 -jmp L2936 -label L2938 +jmp L2984 +label L2986 +label L2984 +jmp L2981 +label L2983 call 91 ir_builder_ir_reg int 0 strref 92 m46s898 strref 93 m46s828 @@ -148357,7 +148658,7 @@ load 94 recv_r call 95 ir_call_emit_ir_emit_call1 void 4 91 92 93 94 call 96 pith_cstring_release void 1 92 call 97 pith_cstring_release void 1 93 -label L2936 +label L2981 strref 98 m46s830 load 99 temp_name concat 100 98 99 @@ -148384,85 +148685,113 @@ call 120 ir_call_emit_ir_emit_label void 1 119 load 121 arg_idx call 122 ir_emitter_core_ir_expr int 1 121 store fallback_r 122 -load 123 operand_class -strref 124 m46s1202 -call 126 pith_cstring_eq bool 2 123 124 +iconst 123 0 +store __and_123_2990 123 +load 124 idx +call 125 ir_emitter_core_ir_string_expr_is_borrowed bool 1 124 iconst 127 1 -sub 125 127 126 -call 128 pith_cstring_release void 1 124 -brif 125 L2943 L2944 -label L2943 -load 129 recv_r -load 130 recv_tid -call 131 ir_emitter_core_ir_emit_release_result_error void 2 129 130 -call 132 ir_builder_ir_reg int 0 -strref 133 m46s898 -strref 134 m46s828 -load 135 recv_r -call 136 ir_call_emit_ir_emit_call1 void 4 132 133 134 135 -call 137 pith_cstring_release void 1 133 -call 138 pith_cstring_release void 1 134 -jmp L2942 -label L2944 -label L2942 -strref 139 m46s830 -load 140 temp_name -concat 141 139 140 -call 142 pith_cstring_release void 1 139 -strref 143 m46s336 -concat 144 141 143 +sub 126 127 125 +store __and_123_2990 126 +brif 126 L2990 L2991 +label L2990 +load 128 arg_idx +call 129 ir_emitter_core_ir_string_expr_is_borrowed bool 1 128 +store __and_123_2990 129 +label L2991 +load 130 __and_123_2990 +brif 130 L2988 L2989 +label L2988 +load 131 fallback_r +load 132 recv_tid +strref 133 m46s182 +call 134 ir_result_abi_ir_result_field_kind string 2 132 133 +call 135 pith_cstring_release void 1 133 +call 136 ir_struct_registry_ir_rc_kind string 1 134 +call 137 pith_cstring_release void 1 134 +call 138 ir_ownership_ir_rc_retain_reg void 2 131 136 +call 139 pith_cstring_release void 1 136 +jmp L2987 +label L2989 +label L2987 +load 140 operand_class +strref 141 m46s1202 +call 143 pith_cstring_eq bool 2 140 141 +iconst 144 1 +sub 142 144 143 call 145 pith_cstring_release void 1 141 -call 146 pith_cstring_release void 1 143 -load 147 fallback_r -call 148 int_to_string string 1 147 -concat 149 144 148 -call 150 pith_cstring_release void 1 144 -call 151 pith_cstring_release void 1 148 -call 152 ir_builder_ir_emit void 1 149 -call 153 pith_cstring_release void 1 149 -load 154 merge_l -call 155 ir_call_emit_ir_emit_label void 1 154 -call 156 ir_builder_ir_reg int 0 -store r 156 -strref 157 m46s829 -load 158 r -call 159 int_to_string string 1 158 -concat 160 157 159 -call 161 pith_cstring_release void 1 157 -call 162 pith_cstring_release void 1 159 -strref 163 m46s336 -concat 164 160 163 -call 165 pith_cstring_release void 1 160 -call 166 pith_cstring_release void 1 163 -load 167 temp_name -concat 168 164 167 -call 169 pith_cstring_release void 1 164 -call 170 ir_builder_ir_emit void 1 168 -call 171 pith_cstring_release void 1 168 -load 172 r -load 173 operand_class -call 174 pith_cstring_release void 1 173 -load 175 temp_name -call 176 pith_cstring_release void 1 175 -load 177 ok_l -call 178 pith_cstring_release void 1 177 -load 179 fallback_l -call 180 pith_cstring_release void 1 179 -load 181 merge_l -call 182 pith_cstring_release void 1 181 -ret 172 -load 183 operand_class -call 184 pith_cstring_release void 1 183 -load 185 temp_name -call 186 pith_cstring_release void 1 185 -load 187 ok_l -call 188 pith_cstring_release void 1 187 -load 189 fallback_l -call 190 pith_cstring_release void 1 189 -load 191 merge_l -call 192 pith_cstring_release void 1 191 -iconst 193 0 -ret 193 +brif 142 L2993 L2994 +label L2993 +load 146 recv_r +load 147 recv_tid +call 148 ir_emitter_core_ir_emit_release_result_error void 2 146 147 +call 149 ir_builder_ir_reg int 0 +strref 150 m46s898 +strref 151 m46s828 +load 152 recv_r +call 153 ir_call_emit_ir_emit_call1 void 4 149 150 151 152 +call 154 pith_cstring_release void 1 150 +call 155 pith_cstring_release void 1 151 +jmp L2992 +label L2994 +label L2992 +strref 156 m46s830 +load 157 temp_name +concat 158 156 157 +call 159 pith_cstring_release void 1 156 +strref 160 m46s336 +concat 161 158 160 +call 162 pith_cstring_release void 1 158 +call 163 pith_cstring_release void 1 160 +load 164 fallback_r +call 165 int_to_string string 1 164 +concat 166 161 165 +call 167 pith_cstring_release void 1 161 +call 168 pith_cstring_release void 1 165 +call 169 ir_builder_ir_emit void 1 166 +call 170 pith_cstring_release void 1 166 +load 171 merge_l +call 172 ir_call_emit_ir_emit_label void 1 171 +call 173 ir_builder_ir_reg int 0 +store r 173 +strref 174 m46s829 +load 175 r +call 176 int_to_string string 1 175 +concat 177 174 176 +call 178 pith_cstring_release void 1 174 +call 179 pith_cstring_release void 1 176 +strref 180 m46s336 +concat 181 177 180 +call 182 pith_cstring_release void 1 177 +call 183 pith_cstring_release void 1 180 +load 184 temp_name +concat 185 181 184 +call 186 pith_cstring_release void 1 181 +call 187 ir_builder_ir_emit void 1 185 +call 188 pith_cstring_release void 1 185 +load 189 r +load 190 operand_class +call 191 pith_cstring_release void 1 190 +load 192 temp_name +call 193 pith_cstring_release void 1 192 +load 194 ok_l +call 195 pith_cstring_release void 1 194 +load 196 fallback_l +call 197 pith_cstring_release void 1 196 +load 198 merge_l +call 199 pith_cstring_release void 1 198 +ret 189 +load 200 operand_class +call 201 pith_cstring_release void 1 200 +load 202 temp_name +call 203 pith_cstring_release void 1 202 +load 204 ok_l +call 205 pith_cstring_release void 1 204 +load 206 fallback_l +call 207 pith_cstring_release void 1 206 +load 208 merge_l +call 209 pith_cstring_release void 1 208 +iconst 210 0 +ret 210 endfunc func ir_emitter_core_ir_emit_result_value_to_string 2 int param recv_r @@ -148488,8 +148817,8 @@ store err_tid 12 load 13 recv_tid iconst 14 0 gte 15 13 14 -brif 15 L2946 L2947 -label L2946 +brif 15 L2996 L2997 +label L2996 load 16 recv_info load 17 recv_tid call 18 types_get_type_info struct:TypeInfo 1 17 @@ -148500,20 +148829,20 @@ field 21 20 0 string kind strref 22 m46s22 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2949 L2950 -label L2949 +brif 23 L2999 L3000 +label L2999 load 25 recv_info field 26 25 64 int inner store ok_tid 26 load 27 recv_info field 28 27 80 int value_type store err_tid 28 -jmp L2948 -label L2950 -label L2948 -jmp L2945 -label L2947 -label L2945 +jmp L2998 +label L3000 +label L2998 +jmp L2995 +label L2997 +label L2995 load 29 recv_r strref 30 m46s184 call 31 ir_result_abi_ir_emit_result_flag_field int 2 29 30 @@ -148675,24 +149004,24 @@ load 8 value_type strref 9 m46s675 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L2952 L2953 -label L2952 +brif 10 L3002 L3003 +label L3002 load 12 value_r load 13 value_type call 14 pith_cstring_release void 1 13 load 15 value_info call 16 pith_struct_release void 1 15 ret 12 -label L2953 -label L2951 +label L3003 +label L3001 call 17 ir_builder_ir_reg int 0 store out_r 17 load 18 value_type strref 19 m46s673 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L2955 L2956 -label L2955 +brif 20 L3005 L3006 +label L3005 load 22 out_r strref 23 m46s663 strref 24 m46s675 @@ -148706,14 +149035,14 @@ call 31 pith_cstring_release void 1 30 load 32 value_info call 33 pith_struct_release void 1 32 ret 29 -label L2956 -label L2954 +label L3006 +label L3004 load 34 value_type strref 35 m46s672 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -brif 36 L2958 L2959 -label L2958 +brif 36 L3008 L3009 +label L3008 load 38 out_r strref 39 m46s664 strref 40 m46s675 @@ -148727,14 +149056,14 @@ call 47 pith_cstring_release void 1 46 load 48 value_info call 49 pith_struct_release void 1 48 ret 45 -label L2959 -label L2957 +label L3009 +label L3007 load 50 value_type strref 51 m46s671 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L2961 L2962 -label L2961 +brif 52 L3011 L3012 +label L3011 load 54 out_r strref 55 m46s662 strref 56 m46s675 @@ -148748,13 +149077,13 @@ call 63 pith_cstring_release void 1 62 load 64 value_info call 65 pith_struct_release void 1 64 ret 61 -label L2962 -label L2960 +label L3012 +label L3010 load 66 value_tid iconst 67 0 gte 68 66 67 -brif 68 L2964 L2965 -label L2964 +brif 68 L3014 L3015 +label L3014 load 69 value_info load 70 value_tid call 71 types_get_type_info struct:TypeInfo 1 70 @@ -148765,8 +149094,8 @@ field 74 73 0 string kind strref 75 m46s22 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L2967 L2968 -label L2967 +brif 76 L3017 L3018 +label L3017 load 78 value_r load 79 value_tid call 80 ir_emitter_core_ir_emit_result_value_to_string int 2 78 79 @@ -148775,11 +149104,11 @@ call 82 pith_cstring_release void 1 81 load 83 value_info call 84 pith_struct_release void 1 83 ret 80 -label L2968 -label L2966 -jmp L2963 -label L2965 -label L2963 +label L3018 +label L3016 +jmp L3013 +label L3015 +label L3013 load 85 value_r load 86 value_type call 87 pith_cstring_release void 1 86 @@ -148847,39 +149176,39 @@ call 20 pith_cstring_retain void 1 19 call 21 pith_cstring_release void 1 17 store call_name 19 iconst 22 0 -store __and_22_2972 22 +store __and_22_3022 22 load 23 call_name call 24 string_len int 1 23 iconst 25 0 eq 26 24 25 -store __and_22_2972 26 -brif 26 L2972 L2973 -label L2972 +store __and_22_3022 26 +brif 26 L3022 L3023 +label L3022 load 27 handler_node field 28 27 0 string kind strref 29 m46s37 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __and_22_2972 30 -label L2973 -load 32 __and_22_2972 -brif 32 L2970 L2971 -label L2970 +store __and_22_3022 30 +label L3023 +load 32 __and_22_3022 +brif 32 L3020 L3021 +label L3020 load 33 call_name load 34 handler_node field 35 34 8 string value call 36 pith_cstring_retain void 1 35 call 37 pith_cstring_release void 1 33 store call_name 35 -jmp L2969 -label L2971 -label L2969 +jmp L3019 +label L3021 +label L3019 load 38 call_name call 39 string_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L2975 L2976 -label L2975 +brif 41 L3025 L3026 +label L3025 call 42 ir_builder_ir_reg int 0 store out_r 42 load 43 legacy_kind @@ -148896,16 +149225,16 @@ load 51 legacy_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -brif 54 L2978 L2979 -label L2978 +brif 54 L3028 L3029 +label L3028 load 55 call_type load 56 legacy_kind call 57 pith_cstring_retain void 1 56 call 58 pith_cstring_release void 1 55 store call_type 56 -jmp L2977 -label L2979 -label L2977 +jmp L3027 +label L3029 +label L3027 load 59 out_r load 60 call_name load 61 call_type @@ -148919,23 +149248,23 @@ call 68 pith_cstring_release void 1 65 call 69 ir_call_emit_ir_emit_call_text void 5 59 60 61 62 66 call 70 pith_cstring_release void 1 66 iconst 71 0 -store __and_71_2983 71 +store __and_71_3033 71 load 72 legacy_kind call 73 string_len int 1 72 iconst 74 0 gt 75 73 74 -store __and_71_2983 75 -brif 75 L2983 L2984 -label L2983 +store __and_71_3033 75 +brif 75 L3033 L3034 +label L3033 load 76 ret_type strref 77 m46s23 call 78 pith_cstring_eq bool 2 76 77 call 79 pith_cstring_release void 1 77 -store __and_71_2983 78 -label L2984 -load 80 __and_71_2983 -brif 80 L2981 L2982 -label L2981 +store __and_71_3033 78 +label L3034 +load 80 __and_71_3033 +brif 80 L3031 L3032 +label L3031 load 81 out_r load 82 legacy_kind load 83 call_name @@ -148953,8 +149282,8 @@ call 94 pith_cstring_release void 1 93 load 95 handler_name call 96 pith_cstring_release void 1 95 ret 84 -label L2982 -label L2980 +label L3032 +label L3030 load 97 out_r load 98 handler_node call 99 pith_struct_release void 1 98 @@ -148969,8 +149298,8 @@ call 107 pith_cstring_release void 1 106 load 108 handler_name call 109 pith_cstring_release void 1 108 ret 97 -label L2976 -label L2974 +label L3026 +label L3024 load 110 handler_idx call 111 ir_emitter_core_ir_expr int 1 110 store handler_r 111 @@ -149227,7 +149556,7 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store recv_node 4 iconst 6 0 -store __or_6_2988 6 +store __or_6_3038 6 load 7 recv_node field 8 7 0 string kind strref 9 m46s129 @@ -149235,25 +149564,25 @@ call 11 pith_cstring_eq bool 2 8 9 iconst 12 1 sub 10 12 11 call 13 pith_cstring_release void 1 9 -store __or_6_2988 10 -brif 10 L2989 L2988 -label L2988 +store __or_6_3038 10 +brif 10 L3039 L3038 +label L3038 load 14 recv_node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -store __or_6_2988 18 -label L2989 -load 19 __or_6_2988 -brif 19 L2986 L2987 -label L2986 +store __or_6_3038 18 +label L3039 +load 19 __or_6_3038 +brif 19 L3036 L3037 +label L3036 call 20 ir_result_abi_ir_zero_reg int 0 load 21 recv_node call 22 pith_struct_release void 1 21 ret 20 -label L2987 -label L2985 +label L3037 +label L3035 load 23 recv_node field 24 23 16 list children iconst 25 0 @@ -149288,7 +149617,7 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store send_node 4 iconst 6 0 -store __or_6_2993 6 +store __or_6_3043 6 load 7 send_node field 8 7 0 string kind strref 9 m46s129 @@ -149296,25 +149625,25 @@ call 11 pith_cstring_eq bool 2 8 9 iconst 12 1 sub 10 12 11 call 13 pith_cstring_release void 1 9 -store __or_6_2993 10 -brif 10 L2994 L2993 -label L2993 +store __or_6_3043 10 +brif 10 L3044 L3043 +label L3043 load 14 send_node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -store __or_6_2993 18 -label L2994 -load 19 __or_6_2993 -brif 19 L2991 L2992 -label L2991 +store __or_6_3043 18 +label L3044 +load 19 __or_6_3043 +brif 19 L3041 L3042 +label L3041 call 20 ir_result_abi_ir_zero_reg int 0 load 21 send_node call 22 pith_struct_release void 1 21 ret 20 -label L2992 -label L2990 +label L3042 +label L3040 load 23 send_node field 24 23 16 list children iconst 25 0 @@ -149328,14 +149657,14 @@ store arg_idx 30 load 31 arg_idx iconst 32 0 lt 33 31 32 -brif 33 L2996 L2997 -label L2996 +brif 33 L3046 L3047 +label L3046 call 34 ir_result_abi_ir_zero_reg int 0 load 35 send_node call 36 pith_struct_release void 1 35 ret 34 -label L2997 -label L2995 +label L3047 +label L3045 load 37 arg_idx call 38 ir_emitter_core_ir_expr int 1 37 store val_r 38 @@ -149383,21 +149712,21 @@ load 15 bind_name call 16 string_len int 1 15 iconst 17 0 gt 18 16 17 -brif 18 L2999 L3000 -label L2999 +brif 18 L3049 L3050 +label L3049 load 19 bind_type call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L3002 L3003 -label L3002 +brif 22 L3052 L3053 +label L3052 load 23 ir_builder_ir_var_types load 24 bind_name load 25 bind_type call 26 map_insert void 3 23 24 25 -jmp L3001 -label L3003 -label L3001 +jmp L3051 +label L3053 +label L3051 strref 27 m46s830 load 28 bind_name concat 29 27 28 @@ -149413,9 +149742,9 @@ call 38 pith_cstring_release void 1 32 call 39 pith_cstring_release void 1 36 call 40 ir_builder_ir_emit void 1 37 call 41 pith_cstring_release void 1 37 -jmp L2998 -label L3000 -label L2998 +jmp L3048 +label L3050 +label L3048 load 42 body_node load 43 body_idx call 44 ast_get_node struct:Node 1 43 @@ -149428,41 +149757,41 @@ field 48 47 0 string kind strref 49 m46s65 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -brif 50 L3005 L3006 -label L3005 +brif 50 L3055 L3056 +label L3055 load 52 body_node field 53 52 16 list children call 54 pith_list_len int 1 53 iconst 55 0 gt 56 54 55 -brif 56 L3008 L3009 -label L3008 +brif 56 L3058 L3059 +label L3058 load 57 body_node field 58 57 16 list children iconst 59 0 call 60 pith_list_get_value_strict int 2 58 59 call 61 ir_emitter_core_ir_expr int 1 60 store body_r 61 -jmp L3007 -label L3009 -label L3007 -jmp L3004 -label L3006 +jmp L3057 +label L3059 +label L3057 +jmp L3054 +label L3056 load 62 body_node field 63 62 0 string kind strref 64 m46s64 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -brif 65 L3010 L3011 -label L3010 +brif 65 L3060 L3061 +label L3060 load 67 body_idx call 68 ir_emitter_core_ir_block int 1 67 -jmp L3004 -label L3011 +jmp L3054 +label L3061 load 69 body_idx call 70 ir_emitter_core_ir_expr int 1 69 store body_r 70 -label L3004 +label L3054 load 71 saved_vars call 72 pith_map_retain_handle void 1 71 store ir_builder_ir_var_regs 71 @@ -149503,12 +149832,12 @@ iconst 9 0 store __for_idx_344 9 store __for_len_344 8 store __for_iter_344 7 -label L3012 +label L3062 load 10 __for_idx_344 load 11 __for_len_344 lt 12 10 11 -brif 12 L3013 L3015 -label L3013 +brif 12 L3063 L3065 +label L3063 load 13 __for_iter_344 load 14 __for_idx_344 call 15 pith_list_get_value unknown 2 13 14 @@ -149519,38 +149848,38 @@ call 18 ast_get_node struct:Node 1 17 call 19 pith_struct_release void 1 16 store arm_node 18 iconst 20 0 -store __or_20_3019 20 +store __or_20_3069 20 load 21 arm_node field 22 21 0 string kind strref 23 m46s138 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __or_20_3019 24 -brif 24 L3020 L3019 -label L3019 +store __or_20_3069 24 +brif 24 L3070 L3069 +label L3069 load 26 arm_node field 27 26 0 string kind strref 28 m46s137 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __or_20_3019 29 -label L3020 -load 31 __or_20_3019 -brif 31 L3017 L3018 -label L3017 +store __or_20_3069 29 +label L3070 +load 31 __or_20_3069 +brif 31 L3067 L3068 +label L3067 load 32 probe_arms load 33 __loopvar_344_arm_idx call 34 pith_list_push_value void 2 32 33 -jmp L3016 -label L3018 -label L3016 -label L3014 +jmp L3066 +label L3068 +label L3066 +label L3064 load 35 __for_idx_344 iconst 36 1 add 37 35 36 store __for_idx_344 37 -jmp L3012 -label L3015 +jmp L3062 +label L3065 load 38 probe_arms load 39 arm_node call 40 pith_struct_release void 1 39 @@ -149581,12 +149910,12 @@ iconst 11 0 store __for_idx_345 11 store __for_len_345 10 store __for_iter_345 9 -label L3021 +label L3071 load 12 __for_idx_345 load 13 __for_len_345 lt 14 12 13 -brif 14 L3022 L3024 -label L3022 +brif 14 L3072 L3074 +label L3072 load 15 __for_iter_345 load 16 __for_idx_345 call 17 pith_list_get_value unknown 2 15 16 @@ -149597,57 +149926,57 @@ call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store arm_node 20 iconst 22 0 -store __and_22_3028 22 +store __and_22_3078 22 load 23 arm_node field 24 23 0 string kind strref 25 m46s136 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __and_22_3028 26 -brif 26 L3028 L3029 -label L3028 +store __and_22_3078 26 +brif 26 L3078 L3079 +label L3078 load 28 timeout_idx iconst 29 0 lt 30 28 29 -store __and_22_3028 30 -label L3029 -load 31 __and_22_3028 -brif 31 L3026 L3027 -label L3026 +store __and_22_3078 30 +label L3079 +load 31 __and_22_3078 +brif 31 L3076 L3077 +label L3076 load 32 __loopvar_345_child store timeout_idx 32 -jmp L3025 -label L3027 +jmp L3075 +label L3077 iconst 33 0 -store __and_33_3032 33 +store __and_33_3082 33 load 34 arm_node field 35 34 0 string kind strref 36 m46s135 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __and_33_3032 37 -brif 37 L3032 L3033 -label L3032 +store __and_33_3082 37 +brif 37 L3082 L3083 +label L3082 load 39 default_idx iconst 40 0 lt 41 39 40 -store __and_33_3032 41 -label L3033 -load 42 __and_33_3032 -brif 42 L3030 L3031 -label L3030 +store __and_33_3082 41 +label L3083 +load 42 __and_33_3082 +brif 42 L3080 L3081 +label L3080 load 43 __loopvar_345_child store default_idx 43 -jmp L3025 -label L3031 -label L3025 -label L3023 +jmp L3075 +label L3081 +label L3075 +label L3073 load 44 __for_idx_345 iconst 45 1 add 46 44 45 store __for_idx_345 46 -jmp L3021 -label L3024 +jmp L3071 +label L3074 load 47 node call 48 ir_emitter_core_ir_select_probe_arm_indices list 1 47 load 49 timeout_idx @@ -149683,25 +150012,25 @@ call 8 ast_get_node struct:Node 1 7 call 9 pith_struct_release void 1 6 store arm_node 8 iconst 10 0 -store __and_10_3037 10 +store __and_10_3087 10 load 11 arm_node field 12 11 0 string kind strref 13 m46s138 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __and_10_3037 14 -brif 14 L3037 L3038 -label L3037 +store __and_10_3087 14 +brif 14 L3087 L3088 +label L3087 load 16 arm_node field 17 16 16 list children call 18 pith_list_len int 1 17 iconst 19 2 gte 20 18 19 -store __and_10_3037 20 -label L3038 -load 21 __and_10_3037 -brif 21 L3035 L3036 -label L3035 +store __and_10_3087 20 +label L3088 +load 21 __and_10_3087 +brif 21 L3085 L3086 +label L3085 load 22 arm_node field 23 22 16 list children iconst 24 0 @@ -149781,28 +150110,28 @@ call 92 ir_builder_ir_emit void 1 90 call 93 pith_cstring_release void 1 90 load 94 next_l call 95 ir_call_emit_ir_emit_label void 1 94 -jmp L3034 -label L3036 +jmp L3084 +label L3086 iconst 96 0 -store __and_96_3041 96 +store __and_96_3091 96 load 97 arm_node field 98 97 0 string kind strref 99 m46s137 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __and_96_3041 100 -brif 100 L3041 L3042 -label L3041 +store __and_96_3091 100 +brif 100 L3091 L3092 +label L3091 load 102 arm_node field 103 102 16 list children call 104 pith_list_len int 1 103 iconst 105 2 gte 106 104 105 -store __and_96_3041 106 -label L3042 -load 107 __and_96_3041 -brif 107 L3039 L3040 -label L3039 +store __and_96_3091 106 +label L3092 +load 107 __and_96_3091 +brif 107 L3089 L3090 +label L3089 load 108 arm_node field 109 108 16 list children iconst 110 0 @@ -149875,9 +150204,9 @@ call 172 ir_builder_ir_emit void 1 170 call 173 pith_cstring_release void 1 170 load 174 next_l call 175 ir_call_emit_ir_emit_label void 1 174 -jmp L3034 -label L3040 -label L3034 +jmp L3084 +label L3090 +label L3084 load 176 arm_node call 177 pith_struct_release void 1 176 load 178 hit_l @@ -149896,16 +150225,16 @@ store timeout_node 2 load 3 timeout_idx iconst 4 0 lt 5 3 4 -brif 5 L3044 L3045 -label L3044 +brif 5 L3094 L3095 +label L3094 strref 6 m46s82 load 7 deadline_name call 8 pith_cstring_release void 1 7 load 9 timeout_node call 10 pith_struct_release void 1 9 ret 6 -label L3045 -label L3043 +label L3095 +label L3093 load 11 deadline_name strref 12 m46s1223 call 13 ir_builder_ir_new_temp_name string 1 12 @@ -149992,14 +150321,14 @@ store offset_name 1 load 2 probe_count iconst 3 1 lte 4 2 3 -brif 4 L3047 L3048 -label L3047 +brif 4 L3097 L3098 +label L3097 strref 5 m46s82 load 6 offset_name call 7 pith_cstring_release void 1 6 ret 5 -label L3048 -label L3046 +label L3098 +label L3096 load 8 offset_name strref 9 m46s1222 call 10 ir_builder_ir_new_temp_name string 1 9 @@ -150093,12 +150422,12 @@ call 26 ir_builder_ir_emit void 1 24 call 27 pith_cstring_release void 1 24 iconst 28 0 store i 28 -label L3049 +label L3099 load 29 i load 30 probe_count lt 31 29 30 -brif 31 L3050 L3051 -label L3050 +brif 31 L3100 L3101 +label L3100 load 32 case_l call 33 ir_builder_ir_label string 0 call 34 pith_cstring_release void 1 32 @@ -150180,12 +150509,12 @@ load 105 case_l call 106 ir_call_emit_ir_emit_label void 1 105 iconst 107 0 store j 107 -label L3052 +label L3102 load 108 j load 109 probe_count lt 110 108 109 -brif 110 L3053 L3054 -label L3053 +brif 110 L3103 L3104 +label L3103 load 111 i load 112 j add 113 111 112 @@ -150202,8 +150531,8 @@ load 122 j iconst 123 1 add 124 122 123 store j 124 -jmp L3052 -label L3054 +jmp L3102 +label L3104 strref 125 m46s833 load 126 probe_done_l concat 127 125 126 @@ -150216,8 +150545,8 @@ load 133 i iconst 134 1 add 135 133 134 store i 135 -jmp L3049 -label L3051 +jmp L3099 +label L3101 load 136 probe_done_l call 137 ir_call_emit_ir_emit_label void 1 136 load 138 probe_done_l @@ -150240,17 +150569,17 @@ store probe_count 5 load 6 probe_count iconst 7 0 eq 8 6 7 -brif 8 L3056 L3057 -label L3056 +brif 8 L3106 L3107 +label L3106 iconst 9 0 ret 9 -label L3057 -label L3055 +label L3107 +label L3105 load 10 probe_count iconst 11 1 eq 12 10 11 -brif 12 L3059 L3060 -label L3059 +brif 12 L3109 L3110 +label L3109 load 13 probe_arms iconst 14 0 call 15 pith_list_get_value_strict int 2 13 14 @@ -150259,8 +150588,8 @@ load 17 end_l call 18 ir_emitter_core_ir_emit_select_probe_arm void 3 15 16 17 iconst 19 0 ret 19 -label L3060 -label L3058 +label L3110 +label L3108 load 20 probe_arms load 21 offset_name load 22 result_temp @@ -150278,14 +150607,14 @@ store default_node 3 load 4 default_idx iconst 5 0 lt 6 4 5 -brif 6 L3062 L3063 -label L3062 +brif 6 L3112 L3113 +label L3112 load 7 default_node call 8 pith_struct_release void 1 7 iconst 9 0 ret 9 -label L3063 -label L3061 +label L3113 +label L3111 load 10 default_node load 11 default_idx call 12 ast_get_node struct:Node 1 11 @@ -150296,14 +150625,14 @@ field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -brif 18 L3065 L3066 -label L3065 +brif 18 L3115 L3116 +label L3115 load 19 default_node call 20 pith_struct_release void 1 19 iconst 21 0 ret 21 -label L3066 -label L3064 +label L3116 +label L3114 load 22 default_node field 23 22 16 list children iconst 24 0 @@ -150355,8 +150684,8 @@ store timeout_node 6 load 7 timeout_idx iconst 8 0 lt 9 7 8 -brif 9 L3068 L3069 -label L3068 +brif 9 L3118 L3119 +label L3118 load 10 timeout_l call 11 pith_cstring_release void 1 10 load 12 wait_l @@ -150365,8 +150694,8 @@ load 14 timeout_node call 15 pith_struct_release void 1 14 iconst 16 0 ret 16 -label L3069 -label L3067 +label L3119 +label L3117 call 17 ir_builder_ir_reg int 0 store now_r 17 load 18 now_r @@ -150506,12 +150835,12 @@ param offset_name load 2 probe_count iconst 3 1 lte 4 2 3 -brif 4 L3071 L3072 -label L3071 +brif 4 L3121 L3122 +label L3121 iconst 5 0 ret 5 -label L3072 -label L3070 +label L3122 +label L3120 call 6 ir_builder_ir_reg int 0 store next_offset_r 6 call 7 ir_builder_ir_reg int 0 @@ -150797,43 +151126,43 @@ endfunc func ir_emitter_core_ir_is_channel_send_name 1 bool param emit_name iconst 1 0 -store __or_1_3076 1 +store __or_1_3126 1 load 2 emit_name strref 3 m46s128 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_3076 4 -brif 4 L3077 L3076 -label L3076 +store __or_1_3126 4 +brif 4 L3127 L3126 +label L3126 load 6 emit_name strref 7 m46s658 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_3076 8 -label L3077 -load 10 __or_1_3076 -brif 10 L3074 L3075 -label L3074 +store __or_1_3126 8 +label L3127 +load 10 __or_1_3126 +brif 10 L3124 L3125 +label L3124 iconst 11 1 ret 11 -label L3075 -label L3073 +label L3125 +label L3123 iconst 12 0 -store __or_12_3078 12 +store __or_12_3128 12 load 13 emit_name strref 14 m46s214 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_12_3078 15 -brif 15 L3079 L3078 -label L3078 +store __or_12_3128 15 +brif 15 L3129 L3128 +label L3128 load 17 emit_name strref 18 m46s657 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __or_12_3078 19 -label L3079 -load 21 __or_12_3078 +store __or_12_3128 19 +label L3129 +load 21 __or_12_3128 ret 21 iconst 22 0 ret 22 @@ -150846,36 +151175,36 @@ store variant_r 2 load 3 variant_r iconst 4 0 gte 5 3 4 -brif 5 L3081 L3082 -label L3081 +brif 5 L3131 L3132 +label L3131 load 6 variant_r ret 6 -label L3082 -label L3080 +label L3132 +label L3130 load 7 idx call 8 ir_emitter_core_ir_emit_typed_receiver_method int 1 7 store typed_r 8 load 9 typed_r iconst 10 0 gte 11 9 10 -brif 11 L3084 L3085 -label L3084 +brif 11 L3134 L3135 +label L3134 load 12 typed_r ret 12 -label L3085 -label L3083 +label L3135 +label L3133 load 13 idx call 14 ir_emitter_core_ir_emit_module_alias_method int 1 13 store alias_r 14 load 15 alias_r iconst 16 0 gte 17 15 16 -brif 17 L3087 L3088 -label L3087 +brif 17 L3137 L3138 +label L3137 load 18 alias_r ret 18 -label L3088 -label L3086 +label L3138 +label L3136 load 19 idx call 20 ir_emitter_core_ir_emit_general_method_call int 1 19 ret 20 @@ -150913,8 +151242,8 @@ field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3090 L3091 -label L3090 +brif 21 L3140 L3141 +label L3140 load 22 ctor_recv load 23 node field 24 23 16 list children @@ -150924,24 +151253,24 @@ call 27 ast_get_node struct:Node 1 26 call 28 pith_struct_release void 1 22 store ctor_recv 27 iconst 29 0 -store __and_29_3095 29 +store __and_29_3145 29 load 30 ctor_recv field 31 30 0 string kind strref 32 m46s37 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -store __and_29_3095 33 -brif 33 L3095 L3096 -label L3095 +store __and_29_3145 33 +brif 33 L3145 L3146 +label L3145 load 35 ir_struct_registry_ir_boxed_enums load 36 ctor_recv field 37 36 8 string value call 38 contains_key bool 2 35 37 -store __and_29_3095 38 -label L3096 -load 39 __and_29_3095 -brif 39 L3093 L3094 -label L3093 +store __and_29_3145 38 +label L3146 +load 39 __and_29_3145 +brif 39 L3143 L3144 +label L3143 load 40 ctor_key load 41 ctor_recv field 42 41 8 string value @@ -150956,8 +151285,8 @@ store ctor_key 47 load 50 ir_struct_registry_ir_struct_field_index_lookup load 51 ctor_key call 52 contains_key bool 2 50 51 -brif 52 L3098 L3099 -label L3098 +brif 52 L3148 L3149 +label L3148 load 53 node load 54 ctor_recv field 55 54 8 string value @@ -150976,31 +151305,31 @@ call 67 pith_struct_release void 1 66 load 68 qual_key call 69 pith_cstring_release void 1 68 ret 57 -label L3099 -label L3097 -jmp L3092 -label L3094 -label L3092 +label L3149 +label L3147 +jmp L3142 +label L3144 +label L3142 iconst 70 0 -store __and_70_3103 70 +store __and_70_3153 70 load 71 ctor_recv field 72 71 0 string kind strref 73 m46s36 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -store __and_70_3103 74 -brif 74 L3103 L3104 -label L3103 +store __and_70_3153 74 +brif 74 L3153 L3154 +label L3153 load 76 ctor_recv field 77 76 16 list children call 78 pith_list_len int 1 77 iconst 79 0 gt 80 78 79 -store __and_70_3103 80 -label L3104 -load 81 __and_70_3103 -brif 81 L3101 L3102 -label L3101 +store __and_70_3153 80 +label L3154 +load 81 __and_70_3153 +brif 81 L3151 L3152 +label L3151 load 82 qual_mod load 83 ctor_recv field 84 83 16 list children @@ -151010,36 +151339,36 @@ call 87 ast_get_node struct:Node 1 86 call 88 pith_struct_release void 1 82 store qual_mod 87 iconst 89 0 -store __and_89_3108 89 +store __and_89_3158 89 iconst 90 0 -store __and_90_3108 90 +store __and_90_3158 90 load 91 qual_mod field 92 91 0 string kind strref 93 m46s37 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -store __and_90_3108 94 -brif 94 L3108 L3109 -label L3108 +store __and_90_3158 94 +brif 94 L3158 L3159 +label L3158 load 96 ir_alias_registry_ir_module_aliases load 97 qual_mod field 98 97 8 string value call 99 contains_key bool 2 96 98 -store __and_90_3108 99 -label L3109 -load 100 __and_90_3108 -store __and_89_3108 100 -brif 100 L3110 L3111 -label L3110 +store __and_90_3158 99 +label L3159 +load 100 __and_90_3158 +store __and_89_3158 100 +brif 100 L3160 L3161 +label L3160 load 101 ir_struct_registry_ir_boxed_enums load 102 ctor_recv field 103 102 8 string value call 104 contains_key bool 2 101 103 -store __and_89_3108 104 -label L3111 -load 105 __and_89_3108 -brif 105 L3106 L3107 -label L3106 +store __and_89_3158 104 +label L3161 +load 105 __and_89_3158 +brif 105 L3156 L3157 +label L3156 load 106 qual_key load 107 ctor_recv field 108 107 8 string value @@ -151054,8 +151383,8 @@ store qual_key 113 load 116 ir_struct_registry_ir_struct_field_index_lookup load 117 qual_key call 118 contains_key bool 2 116 117 -brif 118 L3113 L3114 -label L3113 +brif 118 L3163 L3164 +label L3163 load 119 node load 120 ctor_recv field 121 120 8 string value @@ -151074,17 +151403,17 @@ call 133 pith_struct_release void 1 132 load 134 qual_key call 135 pith_cstring_release void 1 134 ret 123 -label L3114 -label L3112 -jmp L3105 -label L3107 -label L3105 -jmp L3100 -label L3102 -label L3100 -jmp L3089 -label L3091 -label L3089 +label L3164 +label L3162 +jmp L3155 +label L3157 +label L3155 +jmp L3150 +label L3152 +label L3150 +jmp L3139 +label L3141 +label L3139 iconst 136 0 iconst 137 1 sub 138 136 137 @@ -151151,8 +151480,8 @@ field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 gt 23 21 22 -brif 23 L3116 L3117 -label L3116 +brif 23 L3166 L3167 +label L3166 load 24 node field 25 24 16 list children iconst 26 0 @@ -151162,91 +151491,91 @@ store recv_tid 28 load 29 recv_tid iconst 30 0 gte 31 29 30 -brif 31 L3119 L3120 -label L3119 +brif 31 L3169 L3170 +label L3169 load 32 recv_info load 33 recv_tid call 34 types_get_type_info struct:TypeInfo 1 33 call 35 pith_struct_release void 1 32 store recv_info 34 iconst 36 0 -store __and_36_3124 36 +store __and_36_3174 36 load 37 recv_info field 38 37 0 string kind strref 39 m46s497 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_3124 40 -brif 40 L3124 L3125 -label L3124 +store __and_36_3174 40 +brif 40 L3174 L3175 +label L3174 load 42 mname strref 43 m46s270 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __and_36_3124 44 -label L3125 -load 46 __and_36_3124 -brif 46 L3122 L3123 -label L3122 +store __and_36_3174 44 +label L3175 +load 46 __and_36_3174 +brif 46 L3172 L3173 +label L3172 iconst 47 0 -store __or_47_3129 47 +store __or_47_3179 47 iconst 48 0 -store __or_48_3129 48 +store __or_48_3179 48 iconst 49 0 -store __or_49_3129 49 +store __or_49_3179 49 iconst 50 0 -store __or_50_3129 50 +store __or_50_3179 50 load 51 recv_info field 52 51 8 string name strref 53 m46s496 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_50_3129 54 -brif 54 L3130 L3129 -label L3129 +store __or_50_3179 54 +brif 54 L3180 L3179 +label L3179 load 56 recv_info field 57 56 8 string name strref 58 m46s491 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -store __or_50_3129 59 -label L3130 -load 61 __or_50_3129 -store __or_49_3129 61 -brif 61 L3132 L3131 -label L3131 +store __or_50_3179 59 +label L3180 +load 61 __or_50_3179 +store __or_49_3179 61 +brif 61 L3182 L3181 +label L3181 load 62 recv_info field 63 62 8 string name strref 64 m46s490 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __or_49_3129 65 -label L3132 -load 67 __or_49_3129 -store __or_48_3129 67 -brif 67 L3134 L3133 -label L3133 +store __or_49_3179 65 +label L3182 +load 67 __or_49_3179 +store __or_48_3179 67 +brif 67 L3184 L3183 +label L3183 load 68 recv_info field 69 68 8 string name strref 70 m46s489 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 -store __or_48_3129 71 -label L3134 -load 73 __or_48_3129 -store __or_47_3129 73 -brif 73 L3136 L3135 -label L3135 +store __or_48_3179 71 +label L3184 +load 73 __or_48_3179 +store __or_47_3179 73 +brif 73 L3186 L3185 +label L3185 load 74 recv_info field 75 74 8 string name strref 76 m46s488 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_47_3129 77 -label L3136 -load 79 __or_47_3129 -brif 79 L3127 L3128 -label L3127 +store __or_47_3179 77 +label L3186 +load 79 __or_47_3179 +brif 79 L3177 L3178 +label L3177 load 80 node field 81 80 16 list children iconst 82 0 @@ -151280,24 +151609,24 @@ call 107 pith_cstring_release void 1 106 load 108 end_l call 109 pith_cstring_release void 1 108 ret 93 -label L3128 -label L3126 -jmp L3121 -label L3123 -label L3121 +label L3178 +label L3176 +jmp L3171 +label L3173 +label L3171 load 110 recv_info field 111 110 0 string kind strref 112 m46s22 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -brif 113 L3138 L3139 -label L3138 +brif 113 L3188 L3189 +label L3188 load 115 mname strref 116 m46s285 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -brif 117 L3141 L3142 -label L3141 +brif 117 L3191 L3192 +label L3191 load 119 idx load 120 node call 121 ir_emitter_core_ir_emit_result_unwrap_or int 2 119 120 @@ -151318,14 +151647,14 @@ call 135 pith_cstring_release void 1 134 load 136 end_l call 137 pith_cstring_release void 1 136 ret 121 -label L3142 -label L3140 +label L3192 +label L3190 load 138 mname strref 139 m46s283 call 140 pith_cstring_eq bool 2 138 139 call 141 pith_cstring_release void 1 139 -brif 140 L3144 L3145 -label L3144 +brif 140 L3194 L3195 +label L3194 load 142 idx load 143 node call 144 ir_emitter_core_ir_emit_result_or_else int 2 142 143 @@ -151346,14 +151675,14 @@ call 158 pith_cstring_release void 1 157 load 159 end_l call 160 pith_cstring_release void 1 159 ret 144 -label L3145 -label L3143 +label L3195 +label L3193 load 161 mname strref 162 m46s270 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L3147 L3148 -label L3147 +brif 163 L3197 L3198 +label L3197 load 165 node call 166 ir_emitter_core_ir_emit_result_to_string int 1 165 load 167 node @@ -151373,30 +151702,30 @@ call 180 pith_cstring_release void 1 179 load 181 end_l call 182 pith_cstring_release void 1 181 ret 166 -label L3148 -label L3146 -jmp L3137 -label L3139 -label L3137 +label L3198 +label L3196 +jmp L3187 +label L3189 +label L3187 iconst 183 0 -store __and_183_3152 183 +store __and_183_3202 183 load 184 recv_info field 185 184 0 string kind strref 186 m46s21 call 187 pith_cstring_eq bool 2 185 186 call 188 pith_cstring_release void 1 186 -store __and_183_3152 187 -brif 187 L3152 L3153 -label L3152 +store __and_183_3202 187 +brif 187 L3202 L3203 +label L3202 load 189 mname strref 190 m46s6 call 191 pith_cstring_eq bool 2 189 190 call 192 pith_cstring_release void 1 190 -store __and_183_3152 191 -label L3153 -load 193 __and_183_3152 -brif 193 L3150 L3151 -label L3150 +store __and_183_3202 191 +label L3203 +load 193 __and_183_3202 +brif 193 L3200 L3201 +label L3200 load 194 node field 195 194 16 list children iconst 196 0 @@ -151431,27 +151760,27 @@ call 222 pith_cstring_release void 1 221 load 223 end_l call 224 pith_cstring_release void 1 223 ret 208 -label L3151 -label L3149 +label L3201 +label L3199 iconst 225 0 -store __and_225_3157 225 +store __and_225_3207 225 load 226 recv_info field 227 226 0 string kind strref 228 m46s21 call 229 pith_cstring_eq bool 2 227 228 call 230 pith_cstring_release void 1 228 -store __and_225_3157 229 -brif 229 L3157 L3158 -label L3157 +store __and_225_3207 229 +brif 229 L3207 L3208 +label L3207 load 231 mname strref 232 m46s285 call 233 pith_cstring_eq bool 2 231 232 call 234 pith_cstring_release void 1 232 -store __and_225_3157 233 -label L3158 -load 235 __and_225_3157 -brif 235 L3155 L3156 -label L3155 +store __and_225_3207 233 +label L3208 +load 235 __and_225_3207 +brif 235 L3205 L3206 +label L3205 load 236 node field 237 236 16 list children iconst 238 0 @@ -151522,26 +151851,26 @@ load 294 recv_tid call 295 ir_optionals_ir_optional_value_field int 2 293 294 store inner_r 295 iconst 296 0 -store __and_296_3162 296 +store __and_296_3212 296 load 297 inner_kind call 298 string_len int 1 297 iconst 299 0 gt 300 298 299 -store __and_296_3162 300 -brif 300 L3162 L3163 -label L3162 +store __and_296_3212 300 +brif 300 L3212 L3213 +label L3212 load 301 owns_subject -store __and_296_3162 301 -label L3163 -load 302 __and_296_3162 -brif 302 L3160 L3161 -label L3160 +store __and_296_3212 301 +label L3213 +load 302 __and_296_3212 +brif 302 L3210 L3211 +label L3210 load 303 inner_r load 304 inner_kind call 305 ir_ownership_ir_rc_retain_reg void 2 303 304 -jmp L3159 -label L3161 -label L3159 +jmp L3209 +label L3211 +label L3209 strref 306 m46s830 load 307 tmp concat 308 306 307 @@ -151572,197 +151901,231 @@ store default_idx 331 load 332 default_idx call 333 ir_emitter_core_ir_expr int 1 332 store default_r 333 -strref 334 m46s830 -load 335 tmp -concat 336 334 335 -call 337 pith_cstring_release void 1 334 -strref 338 m46s336 -concat 339 336 338 -call 340 pith_cstring_release void 1 336 -call 341 pith_cstring_release void 1 338 -load 342 default_r -call 343 int_to_string string 1 342 -concat 344 339 343 -call 345 pith_cstring_release void 1 339 -call 346 pith_cstring_release void 1 343 -call 347 ir_builder_ir_emit void 1 344 -call 348 pith_cstring_release void 1 344 -load 349 end_l -call 350 ir_call_emit_ir_emit_label void 1 349 -load 351 owns_subject -brif 351 L3165 L3166 -label L3165 -call 352 ir_builder_ir_reg int 0 -strref 353 m46s898 -strref 354 m46s828 -load 355 obj_r -call 356 ir_call_emit_ir_emit_call1 void 4 352 353 354 355 +iconst 334 0 +store __and_334_3217 334 +iconst 335 0 +store __and_335_3217 335 +load 336 inner_kind +call 337 string_len int 1 336 +iconst 338 0 +gt 339 337 338 +store __and_335_3217 339 +brif 339 L3217 L3218 +label L3217 +load 340 idx +call 341 ir_emitter_core_ir_string_expr_is_borrowed bool 1 340 +iconst 343 1 +sub 342 343 341 +store __and_335_3217 342 +label L3218 +load 344 __and_335_3217 +store __and_334_3217 344 +brif 344 L3219 L3220 +label L3219 +load 345 default_idx +call 346 ir_emitter_core_ir_string_expr_is_borrowed bool 1 345 +store __and_334_3217 346 +label L3220 +load 347 __and_334_3217 +brif 347 L3215 L3216 +label L3215 +load 348 default_r +load 349 inner_kind +call 350 ir_ownership_ir_rc_retain_reg void 2 348 349 +jmp L3214 +label L3216 +label L3214 +strref 351 m46s830 +load 352 tmp +concat 353 351 352 +call 354 pith_cstring_release void 1 351 +strref 355 m46s336 +concat 356 353 355 call 357 pith_cstring_release void 1 353 -call 358 pith_cstring_release void 1 354 -jmp L3164 -label L3166 -label L3164 -call 359 ir_builder_ir_reg int 0 -store out_r 359 -strref 360 m46s829 -load 361 out_r -call 362 int_to_string string 1 361 -concat 363 360 362 -call 364 pith_cstring_release void 1 360 -call 365 pith_cstring_release void 1 362 -strref 366 m46s336 -concat 367 363 366 -call 368 pith_cstring_release void 1 363 -call 369 pith_cstring_release void 1 366 -load 370 tmp -concat 371 367 370 -call 372 pith_cstring_release void 1 367 -call 373 ir_builder_ir_emit void 1 371 -call 374 pith_cstring_release void 1 371 -load 375 out_r -load 376 node -call 377 pith_struct_release void 1 376 -load 378 mname -call 379 pith_cstring_release void 1 378 -load 380 recv_info -call 381 pith_struct_release void 1 380 -load 382 inner_kind -call 383 pith_cstring_release void 1 382 -load 384 tmp -call 385 pith_cstring_release void 1 384 -load 386 some_l -call 387 pith_cstring_release void 1 386 -load 388 none_l -call 389 pith_cstring_release void 1 388 -load 390 end_l -call 391 pith_cstring_release void 1 390 -ret 375 -label L3156 -label L3154 -jmp L3118 -label L3120 -label L3118 -jmp L3115 -label L3117 -label L3115 -iconst 392 0 -store __and_392_3170 392 -iconst 393 0 -store __and_393_3170 393 -load 394 mname -strref 395 m46s6 -call 396 pith_cstring_eq bool 2 394 395 -call 397 pith_cstring_release void 1 395 -store __and_393_3170 396 -brif 396 L3170 L3171 +call 358 pith_cstring_release void 1 355 +load 359 default_r +call 360 int_to_string string 1 359 +concat 361 356 360 +call 362 pith_cstring_release void 1 356 +call 363 pith_cstring_release void 1 360 +call 364 ir_builder_ir_emit void 1 361 +call 365 pith_cstring_release void 1 361 +load 366 end_l +call 367 ir_call_emit_ir_emit_label void 1 366 +load 368 owns_subject +brif 368 L3222 L3223 +label L3222 +call 369 ir_builder_ir_reg int 0 +strref 370 m46s898 +strref 371 m46s828 +load 372 obj_r +call 373 ir_call_emit_ir_emit_call1 void 4 369 370 371 372 +call 374 pith_cstring_release void 1 370 +call 375 pith_cstring_release void 1 371 +jmp L3221 +label L3223 +label L3221 +call 376 ir_builder_ir_reg int 0 +store out_r 376 +strref 377 m46s829 +load 378 out_r +call 379 int_to_string string 1 378 +concat 380 377 379 +call 381 pith_cstring_release void 1 377 +call 382 pith_cstring_release void 1 379 +strref 383 m46s336 +concat 384 380 383 +call 385 pith_cstring_release void 1 380 +call 386 pith_cstring_release void 1 383 +load 387 tmp +concat 388 384 387 +call 389 pith_cstring_release void 1 384 +call 390 ir_builder_ir_emit void 1 388 +call 391 pith_cstring_release void 1 388 +load 392 out_r +load 393 node +call 394 pith_struct_release void 1 393 +load 395 mname +call 396 pith_cstring_release void 1 395 +load 397 recv_info +call 398 pith_struct_release void 1 397 +load 399 inner_kind +call 400 pith_cstring_release void 1 399 +load 401 tmp +call 402 pith_cstring_release void 1 401 +load 403 some_l +call 404 pith_cstring_release void 1 403 +load 405 none_l +call 406 pith_cstring_release void 1 405 +load 407 end_l +call 408 pith_cstring_release void 1 407 +ret 392 +label L3206 +label L3204 +jmp L3168 label L3170 -load 398 ir_emitter_core_ir_current_impl_subst_params -call 399 pith_list_len int 1 398 -iconst 400 0 -gt 401 399 400 -store __and_393_3170 401 -label L3171 -load 402 __and_393_3170 -store __and_392_3170 402 -brif 402 L3172 L3173 -label L3172 -load 403 node -field 404 403 16 list children -call 405 pith_list_len int 1 404 -iconst 406 1 -eq 407 405 406 -store __and_392_3170 407 -label L3173 -load 408 __and_392_3170 -brif 408 L3168 L3169 label L3168 -load 409 node -field 410 409 16 list children -iconst 411 0 -call 412 pith_list_get_value_strict int 2 410 411 -call 413 ir_emitter_core_ir_expr int 1 412 -store obj_r 413 -call 414 ir_builder_ir_reg int 0 -store r 414 -strref 415 m46s837 -load 416 r -call 417 int_to_string string 1 416 -concat 418 415 417 -call 419 pith_cstring_release void 1 415 -call 420 pith_cstring_release void 1 417 -strref 421 m46s336 -concat 422 418 421 -call 423 pith_cstring_release void 1 418 -call 424 pith_cstring_release void 1 421 -load 425 obj_r -call 426 int_to_string string 1 425 -concat 427 422 426 -call 428 pith_cstring_release void 1 422 -call 429 pith_cstring_release void 1 426 -strref 430 m46s1170 -concat 431 427 430 -call 432 pith_cstring_release void 1 427 -call 433 pith_cstring_release void 1 430 -call 434 ir_builder_ir_emit void 1 431 -call 435 pith_cstring_release void 1 431 -load 436 r -load 437 node -call 438 pith_struct_release void 1 437 -load 439 mname -call 440 pith_cstring_release void 1 439 -load 441 recv_info -call 442 pith_struct_release void 1 441 -load 443 inner_kind -call 444 pith_cstring_release void 1 443 -load 445 tmp -call 446 pith_cstring_release void 1 445 -load 447 some_l -call 448 pith_cstring_release void 1 447 -load 449 none_l -call 450 pith_cstring_release void 1 449 -load 451 end_l -call 452 pith_cstring_release void 1 451 -ret 436 -label L3169 +jmp L3165 label L3167 -iconst 453 0 -iconst 454 1 -sub 455 453 454 -load 456 node -call 457 pith_struct_release void 1 456 -load 458 mname -call 459 pith_cstring_release void 1 458 -load 460 recv_info -call 461 pith_struct_release void 1 460 -load 462 inner_kind +label L3165 +iconst 409 0 +store __and_409_3227 409 +iconst 410 0 +store __and_410_3227 410 +load 411 mname +strref 412 m46s6 +call 413 pith_cstring_eq bool 2 411 412 +call 414 pith_cstring_release void 1 412 +store __and_410_3227 413 +brif 413 L3227 L3228 +label L3227 +load 415 ir_emitter_core_ir_current_impl_subst_params +call 416 pith_list_len int 1 415 +iconst 417 0 +gt 418 416 417 +store __and_410_3227 418 +label L3228 +load 419 __and_410_3227 +store __and_409_3227 419 +brif 419 L3229 L3230 +label L3229 +load 420 node +field 421 420 16 list children +call 422 pith_list_len int 1 421 +iconst 423 1 +eq 424 422 423 +store __and_409_3227 424 +label L3230 +load 425 __and_409_3227 +brif 425 L3225 L3226 +label L3225 +load 426 node +field 427 426 16 list children +iconst 428 0 +call 429 pith_list_get_value_strict int 2 427 428 +call 430 ir_emitter_core_ir_expr int 1 429 +store obj_r 430 +call 431 ir_builder_ir_reg int 0 +store r 431 +strref 432 m46s837 +load 433 r +call 434 int_to_string string 1 433 +concat 435 432 434 +call 436 pith_cstring_release void 1 432 +call 437 pith_cstring_release void 1 434 +strref 438 m46s336 +concat 439 435 438 +call 440 pith_cstring_release void 1 435 +call 441 pith_cstring_release void 1 438 +load 442 obj_r +call 443 int_to_string string 1 442 +concat 444 439 443 +call 445 pith_cstring_release void 1 439 +call 446 pith_cstring_release void 1 443 +strref 447 m46s1170 +concat 448 444 447 +call 449 pith_cstring_release void 1 444 +call 450 pith_cstring_release void 1 447 +call 451 ir_builder_ir_emit void 1 448 +call 452 pith_cstring_release void 1 448 +load 453 r +load 454 node +call 455 pith_struct_release void 1 454 +load 456 mname +call 457 pith_cstring_release void 1 456 +load 458 recv_info +call 459 pith_struct_release void 1 458 +load 460 inner_kind +call 461 pith_cstring_release void 1 460 +load 462 tmp call 463 pith_cstring_release void 1 462 -load 464 tmp +load 464 some_l call 465 pith_cstring_release void 1 464 -load 466 some_l +load 466 none_l call 467 pith_cstring_release void 1 466 -load 468 none_l +load 468 end_l call 469 pith_cstring_release void 1 468 -load 470 end_l -call 471 pith_cstring_release void 1 470 -ret 455 -load 472 node -call 473 pith_struct_release void 1 472 -load 474 mname -call 475 pith_cstring_release void 1 474 -load 476 recv_info -call 477 pith_struct_release void 1 476 -load 478 inner_kind -call 479 pith_cstring_release void 1 478 -load 480 tmp -call 481 pith_cstring_release void 1 480 -load 482 some_l -call 483 pith_cstring_release void 1 482 -load 484 none_l -call 485 pith_cstring_release void 1 484 -load 486 end_l -call 487 pith_cstring_release void 1 486 -iconst 488 0 -ret 488 +ret 453 +label L3226 +label L3224 +iconst 470 0 +iconst 471 1 +sub 472 470 471 +load 473 node +call 474 pith_struct_release void 1 473 +load 475 mname +call 476 pith_cstring_release void 1 475 +load 477 recv_info +call 478 pith_struct_release void 1 477 +load 479 inner_kind +call 480 pith_cstring_release void 1 479 +load 481 tmp +call 482 pith_cstring_release void 1 481 +load 483 some_l +call 484 pith_cstring_release void 1 483 +load 485 none_l +call 486 pith_cstring_release void 1 485 +load 487 end_l +call 488 pith_cstring_release void 1 487 +ret 472 +load 489 node +call 490 pith_struct_release void 1 489 +load 491 mname +call 492 pith_cstring_release void 1 491 +load 493 recv_info +call 494 pith_struct_release void 1 493 +load 495 inner_kind +call 496 pith_cstring_release void 1 495 +load 497 tmp +call 498 pith_cstring_release void 1 497 +load 499 some_l +call 500 pith_cstring_release void 1 499 +load 501 none_l +call 502 pith_cstring_release void 1 501 +load 503 end_l +call 504 pith_cstring_release void 1 503 +iconst 505 0 +ret 505 endfunc func ir_emitter_core_ir_emit_module_alias_method 1 int param idx @@ -151798,8 +152161,8 @@ load 18 alias_fname call 19 string_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3175 L3176 -label L3175 +brif 21 L3232 L3233 +label L3232 load 22 call_name load 23 alias_fname call 24 pith_cstring_retain void 1 23 @@ -151811,32 +152174,32 @@ store alias_expr_tid 27 load 28 alias_expr_tid iconst 29 0 gte 30 28 29 -brif 30 L3178 L3179 -label L3178 +brif 30 L3235 L3236 +label L3235 load 31 alias_expr_info load 32 alias_expr_tid call 33 types_get_type_info struct:TypeInfo 1 32 call 34 pith_struct_release void 1 31 store alias_expr_info 33 iconst 35 0 -store __and_35_3183 35 +store __and_35_3240 35 load 36 alias_expr_info field 37 36 0 string kind strref 38 m46s15 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __and_35_3183 39 -brif 39 L3183 L3184 -label L3183 +store __and_35_3240 39 +brif 39 L3240 L3241 +label L3240 load 41 alias_expr_info field 42 41 8 string name load 43 call_name call 44 pith_cstring_eq bool 2 42 43 -store __and_35_3183 44 -label L3184 -load 45 __and_35_3183 -brif 45 L3181 L3182 -label L3181 +store __and_35_3240 44 +label L3241 +load 45 __and_35_3240 +brif 45 L3238 L3239 +label L3238 load 46 ctor_args call 47 pith_list_new_default list 0 call 48 pith_list_release_handle void 1 46 @@ -151848,12 +152211,12 @@ iconst 52 0 store __for_idx_346 52 store __for_len_346 51 store __for_iter_346 50 -label L3185 +label L3242 load 53 __for_idx_346 load 54 __for_len_346 lt 55 53 54 -brif 55 L3186 L3188 -label L3186 +brif 55 L3243 L3245 +label L3243 load 56 __for_iter_346 load 57 __for_idx_346 call 58 pith_list_get_value unknown 2 56 57 @@ -151863,21 +152226,21 @@ store __loopvar_346_ci 59 load 60 __loopvar_346_ci iconst 61 0 eq 62 60 61 -brif 62 L3190 L3191 -label L3190 -jmp L3187 -label L3191 -label L3189 +brif 62 L3247 L3248 +label L3247 +jmp L3244 +label L3248 +label L3246 load 63 ctor_args load 64 __loopvar_346_child call 65 pith_list_push_value void 2 63 64 -label L3187 +label L3244 load 66 __for_idx_346 iconst 67 1 add 68 66 67 store __for_idx_346 68 -jmp L3185 -label L3188 +jmp L3242 +label L3245 load 69 call_name load 70 ctor_args load 71 alias_expr_tid @@ -151901,15 +152264,15 @@ call 88 pith_list_release_handle void 1 87 load 89 ret_type call 90 pith_cstring_release void 1 89 ret 72 -label L3182 -label L3180 -jmp L3177 -label L3179 -label L3177 +label L3239 +label L3237 +jmp L3234 +label L3236 +label L3234 load 91 call_name call 92 ir_generics_ir_is_generic_function_name bool 1 91 -brif 92 L3193 L3194 -label L3193 +brif 92 L3250 L3251 +label L3250 load 93 generic_ret_type load 94 idx call 95 ir_type_helpers_ir_checked_type string 1 94 @@ -151919,16 +152282,16 @@ load 97 generic_ret_type call 98 string_len int 1 97 iconst 99 0 eq 100 98 99 -brif 100 L3196 L3197 -label L3196 +brif 100 L3253 L3254 +label L3253 load 101 generic_ret_type load 102 idx call 103 ir_emitter_core_ir_infer_type string 1 102 call 104 pith_cstring_release void 1 101 store generic_ret_type 103 -jmp L3195 -label L3197 -label L3195 +jmp L3252 +label L3254 +label L3252 load 105 mct load 106 call_name load 107 node @@ -151947,9 +152310,9 @@ load 118 generic_ret_type call 119 ir_generics_ir_queue_generic_specialization string 3 116 117 118 call 120 pith_cstring_release void 1 115 store call_name 119 -jmp L3192 -label L3194 -label L3192 +jmp L3249 +label L3251 +label L3249 load 121 arg_regs load 122 node iconst 123 1 @@ -151992,36 +152355,36 @@ iconst 153 1 load 154 arg_regs call 155 ir_emitter_core_ir_release_owned_string_args void 3 152 153 154 iconst 156 0 -store __and_156_3201 156 +store __and_156_3258 156 iconst 157 0 -store __and_157_3201 157 +store __and_157_3258 157 load 158 uses_result_abi -store __and_157_3201 158 -brif 158 L3201 L3202 -label L3201 +store __and_157_3258 158 +brif 158 L3258 L3259 +label L3258 load 159 ret_type strref 160 m46s23 call 162 pith_cstring_eq bool 2 159 160 iconst 163 1 sub 161 163 162 call 164 pith_cstring_release void 1 160 -store __and_157_3201 161 -label L3202 -load 165 __and_157_3201 -store __and_156_3201 165 -brif 165 L3203 L3204 -label L3203 +store __and_157_3258 161 +label L3259 +load 165 __and_157_3258 +store __and_156_3258 165 +brif 165 L3260 L3261 +label L3260 load 166 idx call 167 ir_type_helpers_ir_checked_result_kind string 1 166 strref 168 m46s23 call 169 pith_cstring_eq bool 2 167 168 call 170 pith_cstring_release void 1 167 call 171 pith_cstring_release void 1 168 -store __and_156_3201 169 -label L3204 -load 172 __and_156_3201 -brif 172 L3199 L3200 -label L3199 +store __and_156_3258 169 +label L3261 +load 172 __and_156_3258 +brif 172 L3256 L3257 +label L3256 load 173 r load 174 ret_type load 175 call_name @@ -152045,8 +152408,8 @@ call 192 pith_list_release_handle void 1 191 load 193 ret_type call 194 pith_cstring_release void 1 193 ret 176 -label L3200 -label L3198 +label L3257 +label L3255 load 195 r load 196 node call 197 pith_struct_release void 1 196 @@ -152067,8 +152430,8 @@ call 211 pith_list_release_handle void 1 210 load 212 ret_type call 213 pith_cstring_release void 1 212 ret 195 -label L3176 -label L3174 +label L3233 +label L3231 iconst 214 0 iconst 215 1 sub 216 214 215 @@ -152174,8 +152537,8 @@ store self_hosted_list_r 36 load 37 self_hosted_list_r iconst 38 0 gte 39 37 38 -brif 39 L3206 L3207 -label L3206 +brif 39 L3263 L3264 +label L3263 load 40 self_hosted_list_r load 41 node call 42 pith_struct_release void 1 41 @@ -152212,8 +152575,8 @@ call 72 pith_list_release_handle void 1 71 load 73 recv_kind call 74 pith_cstring_release void 1 73 ret 40 -label L3207 -label L3205 +label L3264 +label L3262 load 75 cf_struct load 76 obj_type call 77 ir_method_tables_ir_strip_type_args string 1 76 @@ -152223,8 +152586,8 @@ load 79 cf_struct call 80 string_len int 1 79 iconst 81 0 gt 82 80 81 -brif 82 L3209 L3210 -label L3209 +brif 82 L3266 L3267 +label L3266 load 83 field_key load 84 cf_struct strref 85 m46s26 @@ -152242,22 +152605,22 @@ call 95 ir_emitter_core_ir_lookup_impl_method_name string 2 93 94 call 96 pith_cstring_release void 1 92 store existing_method 95 iconst 97 0 -store __and_97_3214 97 +store __and_97_3271 97 load 98 ir_struct_registry_ir_struct_field_index_lookup load 99 field_key call 100 contains_key bool 2 98 99 -store __and_97_3214 100 -brif 100 L3214 L3215 -label L3214 +store __and_97_3271 100 +brif 100 L3271 L3272 +label L3271 load 101 existing_method call 102 string_len int 1 101 iconst 103 0 eq 104 102 103 -store __and_97_3214 104 -label L3215 -load 105 __and_97_3214 -brif 105 L3212 L3213 -label L3212 +store __and_97_3271 104 +label L3272 +load 105 __and_97_3271 +brif 105 L3269 L3270 +label L3269 load 106 node field 107 106 16 list children iconst 108 0 @@ -152333,7 +152696,7 @@ call 173 pith_list_release_handle void 1 171 store arg_regs 172 iconst 174 0 store ai 174 -label L3216 +label L3273 load 175 ai load 176 node field 177 176 16 list children @@ -152341,8 +152704,8 @@ call 178 pith_list_len int 1 177 iconst 179 1 sub 180 178 179 lt 181 175 180 -brif 181 L3217 L3218 -label L3217 +brif 181 L3274 L3275 +label L3274 load 182 node load 183 ai call 184 ir_emitter_core_ir_method_call_arg_expr int 2 182 183 @@ -152355,8 +152718,8 @@ load 189 ai iconst 190 1 add 191 189 190 store ai 191 -jmp L3216 -label L3218 +jmp L3273 +label L3275 call 192 ir_builder_ir_reg int 0 store r 192 strref 193 m46s1033 @@ -152425,11 +152788,11 @@ call 255 pith_list_release_handle void 1 254 load 256 recv_kind call 257 pith_cstring_release void 1 256 ret 223 -label L3213 -label L3211 -jmp L3208 -label L3210 -label L3208 +label L3270 +label L3268 +jmp L3265 +label L3267 +label L3265 load 258 emit_name load 259 mname load 260 obj_type @@ -152437,14 +152800,14 @@ call 261 ir_metadata_ir_method_emit_name string 2 259 260 call 262 pith_cstring_release void 1 258 store emit_name 261 iconst 263 0 -store __and_263_3222 263 +store __and_263_3279 263 load 264 emit_name strref 265 m46s707 call 266 pith_cstring_eq bool 2 264 265 call 267 pith_cstring_release void 1 265 -store __and_263_3222 266 -brif 266 L3222 L3223 -label L3222 +store __and_263_3279 266 +brif 266 L3279 L3280 +label L3279 load 268 node field 269 268 16 list children iconst 270 0 @@ -152454,30 +152817,30 @@ strref 273 m46s671 call 274 pith_cstring_eq bool 2 272 273 call 275 pith_cstring_release void 1 272 call 276 pith_cstring_release void 1 273 -store __and_263_3222 274 -label L3223 -load 277 __and_263_3222 -brif 277 L3220 L3221 -label L3220 +store __and_263_3279 274 +label L3280 +load 277 __and_263_3279 +brif 277 L3277 L3278 +label L3277 load 278 emit_name strref 279 m46s1214 call 280 pith_cstring_release void 1 278 store emit_name 279 -jmp L3219 -label L3221 -label L3219 +jmp L3276 +label L3278 +label L3276 load 281 emit_name call 282 ir_metadata_ir_is_bool_returning_method bool 1 281 -brif 282 L3225 L3226 -label L3225 +brif 282 L3282 L3283 +label L3282 load 283 ir_builder_ir_var_types strref 284 m46s1213 strref 285 m46s673 call 286 pith_map_insert_cstr_owned void 3 283 284 285 call 287 pith_cstring_release void 1 284 -jmp L3224 -label L3226 -label L3224 +jmp L3281 +label L3283 +label L3281 load 288 impl_name load 289 obj_type load 290 mname @@ -152488,33 +152851,33 @@ load 293 impl_name call 294 string_len int 1 293 iconst 295 0 eq 296 294 295 -brif 296 L3228 L3229 -label L3228 +brif 296 L3285 L3286 +label L3285 load 297 impl_name load 298 obj_type load 299 mname call 300 ir_emitter_core_ir_lookup_impl_method_name string 2 298 299 call 301 pith_cstring_release void 1 297 store impl_name 300 -jmp L3227 -label L3229 -label L3227 +jmp L3284 +label L3286 +label L3284 load 302 impl_name call 303 string_len int 1 302 iconst 304 0 gt 305 303 304 store impl_dispatch 305 load 306 impl_dispatch -brif 306 L3231 L3232 -label L3231 +brif 306 L3288 L3289 +label L3288 load 307 emit_name load 308 impl_name call 309 pith_cstring_retain void 1 308 call 310 pith_cstring_release void 1 307 store emit_name 308 -jmp L3230 -label L3232 -label L3230 +jmp L3287 +label L3289 +label L3287 load 311 call_regs load 312 node call 313 ir_emitter_core_ir_collect_method_call_regs list 1 312 @@ -152530,15 +152893,15 @@ call 320 pith_list_release_handle void 1 318 store arg_regs 319 iconst 321 0 store ci 321 -label L3233 +label L3290 load 322 ci iconst 323 1 add 324 322 323 load 325 call_regs call 326 pith_list_len int 1 325 lt 327 324 326 -brif 327 L3234 L3235 -label L3234 +brif 327 L3291 L3292 +label L3291 load 328 arg_regs load 329 call_regs load 330 ci @@ -152550,8 +152913,8 @@ load 335 ci iconst 336 1 add 337 335 336 store ci 337 -jmp L3233 -label L3235 +jmp L3290 +label L3292 call 338 ir_builder_ir_reg int 0 store r 338 load 339 emit_name @@ -152576,122 +152939,122 @@ call 354 pith_cstring_release void 1 349 store ret_type 353 load 355 emit_name call 356 ir_metadata_ir_is_void_method bool 1 355 -brif 356 L3237 L3238 -label L3237 +brif 356 L3294 L3295 +label L3294 load 357 ret_type strref 358 m46s828 call 359 pith_cstring_release void 1 357 store ret_type 358 -jmp L3236 -label L3238 -label L3236 +jmp L3293 +label L3295 +label L3293 iconst 360 0 iconst 361 1 sub 362 360 361 store store_value_pos 362 iconst 363 0 -store __or_363_3242 363 +store __or_363_3299 363 iconst 364 0 -store __or_364_3242 364 +store __or_364_3299 364 iconst 365 0 -store __or_365_3242 365 +store __or_365_3299 365 load 366 emit_name call 367 ir_emitter_core_ir_is_channel_send_name bool 1 366 -store __or_365_3242 367 -brif 367 L3243 L3242 -label L3242 +store __or_365_3299 367 +brif 367 L3300 L3299 +label L3299 load 368 emit_name strref 369 m46s268 call 370 pith_cstring_eq bool 2 368 369 call 371 pith_cstring_release void 1 369 -store __or_365_3242 370 -label L3243 -load 372 __or_365_3242 -store __or_364_3242 372 -brif 372 L3245 L3244 -label L3244 +store __or_365_3299 370 +label L3300 +load 372 __or_365_3299 +store __or_364_3299 372 +brif 372 L3302 L3301 +label L3301 load 373 emit_name strref 374 m46s749 call 375 pith_cstring_eq bool 2 373 374 call 376 pith_cstring_release void 1 374 -store __or_364_3242 375 -label L3245 -load 377 __or_364_3242 -store __or_363_3242 377 -brif 377 L3247 L3246 -label L3246 +store __or_364_3299 375 +label L3302 +load 377 __or_364_3299 +store __or_363_3299 377 +brif 377 L3304 L3303 +label L3303 load 378 emit_name strref 379 m46s750 call 380 pith_cstring_eq bool 2 378 379 call 381 pith_cstring_release void 1 379 -store __or_363_3242 380 -label L3247 -load 382 __or_363_3242 -brif 382 L3240 L3241 -label L3240 +store __or_363_3299 380 +label L3304 +load 382 __or_363_3299 +brif 382 L3297 L3298 +label L3297 iconst 383 0 store store_value_pos 383 -jmp L3239 -label L3241 +jmp L3296 +label L3298 iconst 384 0 -store __or_384_3250 384 +store __or_384_3307 384 iconst 385 0 -store __or_385_3250 385 +store __or_385_3307 385 iconst 386 0 -store __or_386_3250 386 +store __or_386_3307 386 iconst 387 0 -store __or_387_3250 387 +store __or_387_3307 387 load 388 emit_name strref 389 m46s247 call 390 pith_cstring_eq bool 2 388 389 call 391 pith_cstring_release void 1 389 -store __or_387_3250 390 -brif 390 L3251 L3250 -label L3250 +store __or_387_3307 390 +brif 390 L3308 L3307 +label L3307 load 392 emit_name strref 393 m46s693 call 394 pith_cstring_eq bool 2 392 393 call 395 pith_cstring_release void 1 393 -store __or_387_3250 394 -label L3251 -load 396 __or_387_3250 -store __or_386_3250 396 -brif 396 L3253 L3252 -label L3252 +store __or_387_3307 394 +label L3308 +load 396 __or_387_3307 +store __or_386_3307 396 +brif 396 L3310 L3309 +label L3309 load 397 emit_name strref 398 m46s694 call 399 pith_cstring_eq bool 2 397 398 call 400 pith_cstring_release void 1 398 -store __or_386_3250 399 -label L3253 -load 401 __or_386_3250 -store __or_385_3250 401 -brif 401 L3255 L3254 -label L3254 +store __or_386_3307 399 +label L3310 +load 401 __or_386_3307 +store __or_385_3307 401 +brif 401 L3312 L3311 +label L3311 load 402 emit_name strref 403 m46s18 call 404 pith_cstring_eq bool 2 402 403 call 405 pith_cstring_release void 1 403 -store __or_385_3250 404 -label L3255 -load 406 __or_385_3250 -store __or_384_3250 406 -brif 406 L3257 L3256 -label L3256 +store __or_385_3307 404 +label L3312 +load 406 __or_385_3307 +store __or_384_3307 406 +brif 406 L3314 L3313 +label L3313 load 407 emit_name strref 408 m46s774 call 409 pith_cstring_eq bool 2 407 408 call 410 pith_cstring_release void 1 408 -store __or_384_3250 409 -label L3257 -load 411 __or_384_3250 -brif 411 L3248 L3249 -label L3248 +store __or_384_3307 409 +label L3314 +load 411 __or_384_3307 +brif 411 L3305 L3306 +label L3305 iconst 412 1 store store_value_pos 412 -jmp L3239 -label L3249 -label L3239 +jmp L3296 +label L3306 +label L3296 load 413 call_name load 414 emit_name call 415 pith_cstring_retain void 1 414 @@ -152700,25 +153063,25 @@ store call_name 414 load 417 impl_dispatch iconst 419 1 sub 418 419 417 -brif 418 L3259 L3260 -label L3259 +brif 418 L3316 L3317 +label L3316 iconst 420 0 -store __and_420_3264 420 +store __and_420_3321 420 load 421 store_value_pos iconst 422 0 gte 423 421 422 -store __and_420_3264 423 -brif 423 L3264 L3265 -label L3264 +store __and_420_3321 423 +brif 423 L3321 L3322 +label L3321 load 424 store_value_pos load 425 arg_regs call 426 pith_list_len int 1 425 lt 427 424 426 -store __and_420_3264 427 -label L3265 -load 428 __and_420_3264 -brif 428 L3262 L3263 -label L3262 +store __and_420_3321 427 +label L3322 +load 428 __and_420_3321 +brif 428 L3319 L3320 +label L3319 load 429 node load 430 store_value_pos call 431 ir_emitter_core_ir_method_call_arg_expr int 2 429 430 @@ -152726,8 +153089,8 @@ store value_expr 431 load 432 value_expr iconst 433 0 gte 434 432 433 -brif 434 L3267 L3268 -label L3267 +brif 434 L3324 L3325 +label L3324 load 435 store_kind load 436 value_expr call 437 ir_emitter_core_ir_infer_type string 1 436 @@ -152737,27 +153100,27 @@ call 440 pith_cstring_release void 1 435 store store_kind 438 load 441 value_expr call 442 ir_emitter_core_ir_string_expr_is_borrowed bool 1 441 -brif 442 L3270 L3271 -label L3270 +brif 442 L3327 L3328 +label L3327 load 443 emit_name load 444 store_kind call 445 ir_emitter_core_ir_container_store_needs_retain bool 2 443 444 -brif 445 L3273 L3274 -label L3273 +brif 445 L3330 L3331 +label L3330 load 446 arg_regs load 447 store_value_pos call 448 pith_list_get_value_strict int 2 446 447 load 449 store_kind call 450 ir_ownership_ir_rc_retain_reg void 2 448 449 -jmp L3272 -label L3274 -label L3272 -jmp L3269 -label L3271 +jmp L3329 +label L3331 +label L3329 +jmp L3326 +label L3328 load 451 store_kind call 452 ir_emitter_core_ir_container_store_takes_count bool 1 451 -brif 452 L3275 L3276 -label L3275 +brif 452 L3332 L3333 +label L3332 load 453 owned_store load 454 emit_name call 455 ir_emitter_core_ir_owned_container_store_name string 1 454 @@ -152767,28 +153130,28 @@ load 457 owned_store call 458 string_len int 1 457 iconst 459 0 gt 460 458 459 -brif 460 L3278 L3279 -label L3278 +brif 460 L3335 L3336 +label L3335 load 461 call_name load 462 owned_store call 463 pith_cstring_retain void 1 462 call 464 pith_cstring_release void 1 461 store call_name 462 -jmp L3277 -label L3279 -label L3277 -jmp L3269 -label L3276 -label L3269 -jmp L3266 -label L3268 -label L3266 -jmp L3261 -label L3263 -label L3261 -jmp L3258 -label L3260 -label L3258 +jmp L3334 +label L3336 +label L3334 +jmp L3326 +label L3333 +label L3326 +jmp L3323 +label L3325 +label L3323 +jmp L3318 +label L3320 +label L3318 +jmp L3315 +label L3317 +label L3315 load 465 call_args load 466 obj_r load 467 arg_regs @@ -152796,22 +153159,22 @@ call 468 ir_call_helpers_ir_method_call_arg_regs list 2 466 467 call 469 pith_list_release_handle void 1 465 store call_args 468 iconst 470 0 -store __and_470_3283 470 +store __and_470_3340 470 load 471 emit_name strref 472 m46s661 call 473 pith_cstring_eq bool 2 471 472 call 474 pith_cstring_release void 1 472 -store __and_470_3283 473 -brif 473 L3283 L3284 -label L3283 +store __and_470_3340 473 +brif 473 L3340 L3341 +label L3340 load 475 impl_dispatch iconst 477 1 sub 476 477 475 -store __and_470_3283 476 -label L3284 -load 478 __and_470_3283 -brif 478 L3281 L3282 -label L3281 +store __and_470_3340 476 +label L3341 +load 478 __and_470_3340 +brif 478 L3338 L3339 +label L3338 load 479 obj_r load 480 node call 481 pith_struct_release void 1 480 @@ -152848,8 +153211,8 @@ call 511 pith_list_release_handle void 1 510 load 512 recv_kind call 513 pith_cstring_release void 1 512 ret 479 -label L3282 -label L3280 +label L3339 +label L3337 load 514 r load 515 call_name load 516 ret_type @@ -152868,8 +153231,8 @@ field 528 527 16 list children call 529 pith_list_len int 1 528 iconst 530 0 gt 531 529 530 -brif 531 L3286 L3287 -label L3286 +brif 531 L3343 L3344 +label L3343 load 532 node field 533 532 16 list children iconst 534 0 @@ -152883,72 +153246,72 @@ call 540 pith_cstring_release void 1 538 call 541 pith_cstring_release void 1 536 store recv_kind 539 iconst 542 0 -store __and_542_3291 542 +store __and_542_3348 542 load 543 recv_kind call 544 string_len int 1 543 iconst 545 0 gt 546 544 545 -store __and_542_3291 546 -brif 546 L3291 L3292 -label L3291 +store __and_542_3348 546 +brif 546 L3348 L3349 +label L3348 load 547 recv_idx call 548 ir_emitter_core_ir_string_expr_is_borrowed bool 1 547 iconst 550 1 sub 549 550 548 -store __and_542_3291 549 -label L3292 -load 551 __and_542_3291 -brif 551 L3289 L3290 -label L3289 +store __and_542_3348 549 +label L3349 +load 551 __and_542_3348 +brif 551 L3346 L3347 +label L3346 load 552 emit_name call 553 ir_metadata_ir_is_void_method bool 1 552 iconst 555 1 sub 554 555 553 -brif 554 L3294 L3295 -label L3294 +brif 554 L3351 L3352 +label L3351 load 556 obj_r load 557 recv_kind call 558 ir_ownership_ir_rc_release_reg void 2 556 557 -jmp L3293 -label L3295 -label L3293 -jmp L3288 -label L3290 -label L3288 -jmp L3285 -label L3287 -label L3285 +jmp L3350 +label L3352 +label L3350 +jmp L3345 +label L3347 +label L3345 +jmp L3342 +label L3344 +label L3342 iconst 559 0 -store __and_559_3299 559 +store __and_559_3356 559 iconst 560 0 -store __and_560_3299 560 +store __and_560_3356 560 load 561 uses_result_abi -store __and_560_3299 561 -brif 561 L3299 L3300 -label L3299 +store __and_560_3356 561 +brif 561 L3356 L3357 +label L3356 load 562 ret_type strref 563 m46s23 call 565 pith_cstring_eq bool 2 562 563 iconst 566 1 sub 564 566 565 call 567 pith_cstring_release void 1 563 -store __and_560_3299 564 -label L3300 -load 568 __and_560_3299 -store __and_559_3299 568 -brif 568 L3301 L3302 -label L3301 +store __and_560_3356 564 +label L3357 +load 568 __and_560_3356 +store __and_559_3356 568 +brif 568 L3358 L3359 +label L3358 load 569 idx call 570 ir_type_helpers_ir_checked_result_kind string 1 569 strref 571 m46s23 call 572 pith_cstring_eq bool 2 570 571 call 573 pith_cstring_release void 1 570 call 574 pith_cstring_release void 1 571 -store __and_559_3299 572 -label L3302 -load 575 __and_559_3299 -brif 575 L3297 L3298 -label L3297 +store __and_559_3356 572 +label L3359 +load 575 __and_559_3356 +brif 575 L3354 L3355 +label L3354 load 576 r load 577 ret_type load 578 emit_name @@ -152988,12 +153351,12 @@ call 611 pith_list_release_handle void 1 610 load 612 recv_kind call 613 pith_cstring_release void 1 612 ret 579 -label L3298 -label L3296 +label L3355 +label L3353 load 614 emit_name call 615 ir_metadata_ir_is_void_method bool 1 614 -brif 615 L3304 L3305 -label L3304 +brif 615 L3361 L3362 +label L3361 load 616 obj_r load 617 node call 618 pith_struct_release void 1 617 @@ -153030,8 +153393,8 @@ call 648 pith_list_release_handle void 1 647 load 649 recv_kind call 650 pith_cstring_release void 1 649 ret 616 -label L3305 -label L3303 +label L3362 +label L3360 load 651 r load 652 node call 653 pith_struct_release void 1 652 @@ -153121,8 +153484,8 @@ field 8 7 0 string kind strref 9 m46s509 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L3307 L3308 -label L3307 +brif 10 L3364 L3365 +label L3364 load 12 si load 13 cn field 14 13 8 string value @@ -153152,15 +153515,15 @@ call 35 pith_struct_release void 1 34 load 36 si call 37 pith_cstring_release void 1 36 ret 33 -label L3308 -label L3306 +label L3365 +label L3363 load 38 cn field 39 38 0 string kind strref 40 m46s510 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -brif 41 L3310 L3311 -label L3310 +brif 41 L3367 L3368 +label L3367 load 43 cn call 44 ir_emitter_core_ir_emit_interp_spec_part int 1 43 load 45 cn @@ -153168,8 +153531,8 @@ call 46 pith_struct_release void 1 45 load 47 si call 48 pith_cstring_release void 1 47 ret 44 -label L3311 -label L3309 +label L3368 +label L3366 load 49 child call 50 ir_emitter_core_ir_string_interp_expr_part int 1 49 load 51 cn @@ -153198,29 +153561,29 @@ field 7 6 0 string kind strref 8 m46s510 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L3313 L3314 -label L3313 +brif 9 L3370 L3371 +label L3370 iconst 11 1 load 12 cn call 13 pith_struct_release void 1 12 ret 11 -label L3314 -label L3312 +label L3371 +label L3369 load 14 cn field 15 14 0 string kind strref 16 m46s509 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L3316 L3317 -label L3316 +brif 17 L3373 L3374 +label L3373 iconst 19 1 load 20 cn call 21 pith_struct_release void 1 20 ret 19 -label L3317 -label L3315 +label L3374 +label L3372 iconst 22 0 -store __or_22_3318 22 +store __or_22_3375 22 load 23 child call 24 ir_emitter_core_ir_infer_type string 1 23 strref 25 m46s675 @@ -153229,16 +153592,16 @@ iconst 28 1 sub 26 28 27 call 29 pith_cstring_release void 1 24 call 30 pith_cstring_release void 1 25 -store __or_22_3318 26 -brif 26 L3319 L3318 -label L3318 +store __or_22_3375 26 +brif 26 L3376 L3375 +label L3375 load 31 child call 32 ir_emitter_core_ir_string_expr_is_borrowed bool 1 31 iconst 34 1 sub 33 34 32 -store __or_22_3318 33 -label L3319 -load 35 __or_22_3318 +store __or_22_3375 33 +label L3376 +load 35 __or_22_3375 load 36 cn call 37 pith_struct_release void 1 36 ret 35 @@ -153272,13 +153635,13 @@ field 14 13 16 list children call 15 pith_list_retain_handle void 1 14 call 16 pith_list_release_handle void 1 12 store kids4_children 14 -label L3320 +label L3377 load 17 _fi4 load 18 kids4_children call 19 pith_list_len int 1 18 lt 20 17 19 -brif 20 L3321 L3322 -label L3321 +brif 20 L3378 L3379 +label L3378 load 21 kids4_children load 22 _fi4 call 23 pith_list_get_value_strict int 2 21 22 @@ -153292,14 +153655,14 @@ store part_owned 27 load 28 result_r iconst 29 0 lt 30 28 29 -brif 30 L3324 L3325 -label L3324 +brif 30 L3381 L3382 +label L3381 load 31 part_r store result_r 31 load 32 part_owned store result_owned 32 -jmp L3323 -label L3325 +jmp L3380 +label L3382 call 33 ir_builder_ir_reg int 0 store nr 33 strref 34 m46s1212 @@ -153329,37 +153692,37 @@ call 57 pith_cstring_release void 1 54 call 58 ir_builder_ir_emit void 1 55 call 59 pith_cstring_release void 1 55 load 60 result_owned -brif 60 L3327 L3328 -label L3327 +brif 60 L3384 L3385 +label L3384 load 61 result_r call 62 ir_ownership_ir_string_release_reg void 1 61 -jmp L3326 -label L3328 -label L3326 +jmp L3383 +label L3385 +label L3383 load 63 part_owned -brif 63 L3330 L3331 -label L3330 +brif 63 L3387 L3388 +label L3387 load 64 part_r call 65 ir_ownership_ir_string_release_reg void 1 64 -jmp L3329 -label L3331 -label L3329 +jmp L3386 +label L3388 +label L3386 load 66 nr store result_r 66 iconst 67 1 store result_owned 67 -label L3323 +label L3380 load 68 _fi4 iconst 69 1 add 70 68 69 store _fi4 70 -jmp L3320 -label L3322 +jmp L3377 +label L3379 load 71 result_r iconst 72 0 lt 73 71 72 -brif 73 L3333 L3334 -label L3333 +brif 73 L3390 L3391 +label L3390 call 74 ir_builder_ir_reg int 0 store result_r 74 strref 75 m46s888 @@ -153382,19 +153745,19 @@ call 91 ir_builder_ir_emit void 1 88 call 92 pith_cstring_release void 1 88 iconst 93 1 store result_owned 93 -jmp L3332 -label L3334 -label L3332 +jmp L3389 +label L3391 +label L3389 load 94 result_owned iconst 96 1 sub 95 96 94 -brif 95 L3336 L3337 -label L3336 +brif 95 L3393 L3394 +label L3393 load 97 result_r call 98 ir_ownership_ir_string_retain_reg void 1 97 -jmp L3335 -label L3337 -label L3335 +jmp L3392 +label L3394 +label L3392 load 99 result_r load 100 node call 101 pith_struct_release void 1 100 @@ -153426,13 +153789,13 @@ sub 9 7 8 store body_idx 9 iconst 10 0 store i 10 -label L3338 +label L3395 load 11 i load 12 idx call 13 ast_node_child_count int 1 12 lt 14 11 13 -brif 14 L3339 L3340 -label L3339 +brif 14 L3396 L3397 +label L3396 load 15 idx load 16 i call 17 ast_node_child int 2 15 16 @@ -153447,45 +153810,45 @@ field 23 22 0 string kind strref 24 m46s68 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L3342 L3343 -label L3342 +brif 25 L3399 L3400 +label L3399 load 27 params load 28 cn field 29 28 8 string value call 30 pith_list_push_value void 2 27 29 -jmp L3341 -label L3343 +jmp L3398 +label L3400 iconst 31 0 -store __or_31_3346 31 +store __or_31_3403 31 load 32 cn field 33 32 0 string kind strref 34 m46s65 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_31_3346 35 -brif 35 L3347 L3346 -label L3346 +store __or_31_3403 35 +brif 35 L3404 L3403 +label L3403 load 37 cn field 38 37 0 string kind strref 39 m46s64 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_31_3346 40 -label L3347 -load 42 __or_31_3346 -brif 42 L3344 L3345 -label L3344 +store __or_31_3403 40 +label L3404 +load 42 __or_31_3403 +brif 42 L3401 L3402 +label L3401 load 43 child store body_idx 43 -jmp L3341 -label L3345 -label L3341 +jmp L3398 +label L3402 +label L3398 load 44 i iconst 45 1 add 46 44 45 store i 46 -jmp L3338 -label L3340 +jmp L3395 +label L3397 load 47 captures call 48 pith_list_new_cstr list 0 call 49 pith_list_release_handle void 1 47 @@ -153493,17 +153856,17 @@ store captures 48 load 50 body_idx iconst 51 0 gte 52 50 51 -brif 52 L3349 L3350 -label L3349 +brif 52 L3406 L3407 +label L3406 load 53 captures load 54 body_idx load 55 params call 56 ir_emitter_core_ir_find_free_vars list_string 2 54 55 call 57 pith_list_release_handle void 1 53 store captures 56 -jmp L3348 -label L3350 -label L3348 +jmp L3405 +label L3407 +label L3405 load 58 params call 59 pith_list_retain_handle void 1 58 load 60 body_idx @@ -153553,12 +153916,12 @@ iconst 3 0 store __for_idx_347 3 store __for_len_347 2 store __for_iter_347 1 -label L3351 +label L3408 load 4 __for_idx_347 load 5 __for_len_347 lt 6 4 5 -brif 6 L3352 L3354 -label L3352 +brif 6 L3409 L3411 +label L3409 load 7 __for_iter_347 load 8 __for_idx_347 call 9 pith_list_get_value_unchecked string 2 7 8 @@ -153575,13 +153938,13 @@ concat 17 15 16 call 18 pith_cstring_release void 1 15 call 19 ir_builder_ir_emit void 1 17 call 20 pith_cstring_release void 1 17 -label L3353 +label L3410 load 21 __for_idx_347 iconst 22 1 add 23 21 22 store __for_idx_347 23 -jmp L3351 -label L3354 +jmp L3408 +label L3411 iconst 24 0 ret 24 endfunc @@ -153591,30 +153954,30 @@ load 1 expr_idx call 2 ir_emitter_core_ir_expr int 1 1 store br 2 iconst 3 0 -store __and_3_3358 3 +store __and_3_3415 3 load 4 expr_idx call 5 ir_emitter_core_ir_infer_type string 1 4 strref 6 m46s675 call 7 pith_cstring_eq bool 2 5 6 call 8 pith_cstring_release void 1 5 call 9 pith_cstring_release void 1 6 -store __and_3_3358 7 -brif 7 L3358 L3359 -label L3358 +store __and_3_3415 7 +brif 7 L3415 L3416 +label L3415 load 10 expr_idx call 11 ir_emitter_core_ir_string_expr_is_borrowed bool 1 10 -store __and_3_3358 11 -label L3359 -load 12 __and_3_3358 -brif 12 L3356 L3357 -label L3356 +store __and_3_3415 11 +label L3416 +load 12 __and_3_3415 +brif 12 L3413 L3414 +label L3413 load 13 br strref 14 m46s675 call 15 ir_ownership_ir_rc_retain_reg void 2 13 14 call 16 pith_cstring_release void 1 14 -jmp L3355 -label L3357 -label L3355 +jmp L3412 +label L3414 +label L3412 strref 17 m46s849 load 18 br call 19 int_to_string string 1 18 @@ -153631,54 +153994,54 @@ param body_idx load 1 body_idx iconst 2 0 lt 3 1 2 -brif 3 L3361 L3362 -label L3361 +brif 3 L3418 L3419 +label L3418 iconst 4 0 ret 4 -label L3362 -label L3360 +label L3419 +label L3417 iconst 5 0 -store __and_5_3366 5 +store __and_5_3423 5 load 6 body_idx call 7 ast_node_kind string 1 6 strref 8 m46s65 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 7 call 11 pith_cstring_release void 1 8 -store __and_5_3366 9 -brif 9 L3366 L3367 -label L3366 +store __and_5_3423 9 +brif 9 L3423 L3424 +label L3423 load 12 body_idx call 13 ast_node_child_count int 1 12 iconst 14 0 gt 15 13 14 -store __and_5_3366 15 -label L3367 -load 16 __and_5_3366 -brif 16 L3364 L3365 -label L3364 +store __and_5_3423 15 +label L3424 +load 16 __and_5_3423 +brif 16 L3421 L3422 +label L3421 load 17 body_idx iconst 18 0 call 19 ast_node_child int 2 17 18 call 20 ir_emitter_core_ir_emit_lambda_expr_return void 1 19 iconst 21 0 ret 21 -label L3365 -label L3363 +label L3422 +label L3420 load 22 body_idx call 23 ast_node_kind string 1 22 strref 24 m46s64 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 23 call 27 pith_cstring_release void 1 24 -brif 25 L3369 L3370 -label L3369 +brif 25 L3426 L3427 +label L3426 load 28 body_idx call 29 ir_emitter_core_ir_block int 1 28 iconst 30 0 ret 30 -label L3370 -label L3368 +label L3427 +label L3425 load 31 body_idx call 32 ir_emitter_core_ir_emit_lambda_expr_return void 1 31 iconst 33 0 @@ -154001,8 +154364,8 @@ field 29 28 16 list children call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -brif 32 L3372 L3373 -label L3372 +brif 32 L3429 L3430 +label L3429 load 33 callee load 34 call_node field 35 34 16 list children @@ -154016,8 +154379,8 @@ field 41 40 0 string name call 42 string_len int 1 41 iconst 43 0 eq 44 42 43 -brif 44 L3375 L3376 -label L3375 +brif 44 L3432 L3433 +label L3432 load 45 captures load 46 call_node field 47 46 16 list children @@ -154027,19 +154390,19 @@ call 50 pith_list_new_default list 0 call 51 ir_emitter_core_ir_find_free_vars list_string 2 49 50 call 52 pith_list_release_handle void 1 45 store captures 51 -jmp L3374 -label L3376 -label L3374 +jmp L3431 +label L3433 +label L3431 iconst 53 1 store i 53 -label L3377 +label L3434 load 54 i load 55 call_node field 56 55 16 list children call 57 pith_list_len int 1 56 lt 58 54 57 -brif 58 L3378 L3379 -label L3378 +brif 58 L3435 L3436 +label L3435 load 59 free_in_arg load 60 call_node field 61 60 16 list children @@ -154051,13 +154414,13 @@ call 66 pith_list_release_handle void 1 59 store free_in_arg 65 iconst 67 0 store j 67 -label L3380 +label L3437 load 68 j load 69 free_in_arg call 70 pith_list_len int 1 69 lt 71 68 70 -brif 71 L3381 L3382 -label L3381 +brif 71 L3438 L3439 +label L3438 load 72 captures load 73 free_in_arg load 74 j @@ -154065,31 +154428,31 @@ call 75 pith_list_get_value_strict string 2 73 74 call 76 ir_ast_helpers_ir_list_contains bool 2 72 75 iconst 78 1 sub 77 78 76 -brif 77 L3384 L3385 -label L3384 +brif 77 L3441 L3442 +label L3441 load 79 captures load 80 free_in_arg load 81 j call 82 pith_list_get_value_strict string 2 80 81 call 83 pith_list_push_value void 2 79 82 -jmp L3383 -label L3385 -label L3383 +jmp L3440 +label L3442 +label L3440 load 84 j iconst 85 1 add 86 84 85 store j 86 -jmp L3380 -label L3382 +jmp L3437 +label L3439 load 87 i iconst 88 1 add 89 87 88 store i 89 -jmp L3377 -label L3379 -jmp L3371 -label L3373 -label L3371 +jmp L3434 +label L3436 +jmp L3428 +label L3430 +label L3428 load 90 saved_builder call 91 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 92 pith_struct_release void 1 90 @@ -154201,38 +154564,38 @@ param name load 1 ir_alias_registry_ir_import_renames load 2 name call 3 contains_key bool 2 1 2 -brif 3 L3387 L3388 -label L3387 +brif 3 L3444 L3445 +label L3444 load 4 ir_alias_registry_ir_import_renames load 5 name call 6 map_get_strict string 2 4 5 call 7 pith_cstring_retain void 1 6 ret 6 -label L3388 -label L3386 +label L3445 +label L3443 iconst 8 0 -store __and_8_3392 8 +store __and_8_3449 8 load 9 ir_alias_registry_ir_active_generic_module_path call 10 string_len int 1 9 iconst 11 0 gt 12 10 11 -store __and_8_3392 12 -brif 12 L3392 L3393 -label L3392 +store __and_8_3449 12 +brif 12 L3449 L3450 +label L3449 load 13 ir_alias_registry_ir_active_generic_module_path load 14 name call 15 ir_alias_registry_ir_import_declares_global bool 2 13 14 -store __and_8_3392 15 -label L3393 -load 16 __and_8_3392 -brif 16 L3390 L3391 -label L3390 +store __and_8_3449 15 +label L3450 +load 16 __and_8_3449 +brif 16 L3447 L3448 +label L3447 load 17 ir_alias_registry_ir_active_generic_module_path load 18 name call 19 ir_names_ir_import_target_name string 2 17 18 ret 19 -label L3391 -label L3389 +label L3448 +label L3446 load 20 name call 21 pith_cstring_retain void 1 20 ret 20 @@ -154245,27 +154608,27 @@ param name iconst 2 0 store callee 2 iconst 3 0 -store __or_3_3397 3 +store __or_3_3454 3 load 4 ir_builder_ir_var_regs load 5 name call 6 contains_key bool 2 4 5 -store __or_3_3397 6 -brif 6 L3398 L3397 -label L3397 +store __or_3_3454 6 +brif 6 L3455 L3454 +label L3454 load 7 ir_builder_ir_var_types load 8 name call 9 contains_key bool 2 7 8 -store __or_3_3397 9 -label L3398 -load 10 __or_3_3397 -brif 10 L3395 L3396 -label L3395 +store __or_3_3454 9 +label L3455 +load 10 __or_3_3454 +brif 10 L3452 L3453 +label L3452 iconst 11 0 load 12 callee call 13 pith_struct_release void 1 12 ret 11 -label L3396 -label L3394 +label L3453 +label L3451 load 14 callee load 15 name call 16 ir_emitter_core_ir_ident_callee struct:ResolvedCallee 1 15 @@ -154298,8 +154661,8 @@ field 8 7 0 string kind strref 9 m46s37 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L3400 L3401 -label L3400 +brif 10 L3457 L3458 +label L3457 load 12 idx load 13 node field 14 13 8 string value @@ -154309,28 +154672,28 @@ call 17 pith_struct_release void 1 16 load 18 recv_node call 19 pith_struct_release void 1 18 ret 15 -label L3401 -label L3399 +label L3458 +label L3456 iconst 20 0 -store __and_20_3405 20 +store __and_20_3462 20 load 21 node field 22 21 0 string kind strref 23 m46s36 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __and_20_3405 24 -brif 24 L3405 L3406 -label L3405 +store __and_20_3462 24 +brif 24 L3462 L3463 +label L3462 load 26 node field 27 26 16 list children call 28 pith_list_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_20_3405 30 -label L3406 -load 31 __and_20_3405 -brif 31 L3403 L3404 -label L3403 +store __and_20_3462 30 +label L3463 +load 31 __and_20_3462 +brif 31 L3460 L3461 +label L3460 load 32 recv_node load 33 node field 34 33 16 list children @@ -154340,45 +154703,45 @@ call 37 ast_get_node struct:Node 1 36 call 38 pith_struct_release void 1 32 store recv_node 37 iconst 39 0 -store __and_39_3410 39 +store __and_39_3467 39 load 40 recv_node field 41 40 0 string kind strref 42 m46s37 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -store __and_39_3410 43 -brif 43 L3410 L3411 -label L3410 +store __and_39_3467 43 +brif 43 L3467 L3468 +label L3467 load 45 ir_alias_registry_ir_module_aliases load 46 recv_node field 47 46 8 string value call 48 contains_key bool 2 45 47 -store __and_39_3410 48 -label L3411 -load 49 __and_39_3410 +store __and_39_3467 48 +label L3468 +load 49 __and_39_3467 iconst 51 1 sub 50 51 49 -brif 50 L3408 L3409 -label L3408 +brif 50 L3465 L3466 +label L3465 iconst 52 0 load 53 node call 54 pith_struct_release void 1 53 load 55 recv_node call 56 pith_struct_release void 1 55 ret 52 -label L3409 -label L3407 +label L3466 +label L3464 load 57 idx call 58 checker_c_get_expr_type int 1 57 store expr_tid 58 iconst 59 0 -store __or_59_3415 59 +store __or_59_3472 59 load 60 expr_tid iconst 61 0 lt 62 60 61 -store __or_59_3415 62 -brif 62 L3416 L3415 -label L3415 +store __or_59_3472 62 +brif 62 L3473 L3472 +label L3472 load 63 expr_tid call 64 types_get_type_info struct:TypeInfo 1 63 field 65 64 0 string kind @@ -154387,19 +154750,19 @@ call 68 pith_cstring_eq bool 2 65 66 iconst 69 1 sub 67 69 68 call 70 pith_cstring_release void 1 66 -store __or_59_3415 67 -label L3416 -load 71 __or_59_3415 -brif 71 L3413 L3414 -label L3413 +store __or_59_3472 67 +label L3473 +load 71 __or_59_3472 +brif 71 L3470 L3471 +label L3470 iconst 72 0 load 73 node call 74 pith_struct_release void 1 73 load 75 recv_node call 76 pith_struct_release void 1 75 ret 72 -label L3414 -label L3412 +label L3471 +label L3469 load 77 idx call 78 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 77 field 79 78 0 string name @@ -154411,8 +154774,8 @@ call 84 pith_struct_release void 1 83 load 85 recv_node call 86 pith_struct_release void 1 85 ret 82 -label L3404 -label L3402 +label L3461 +label L3459 iconst 87 0 load 88 node call 89 pith_struct_release void 1 88 @@ -154452,8 +154815,8 @@ store arg_regs 11 load 12 ir_emitter_core_ir_named_fn_value_wrappers load 13 target_name call 14 contains_key bool 2 12 13 -brif 14 L3418 L3419 -label L3418 +brif 14 L3475 L3476 +label L3475 load 15 ir_emitter_core_ir_named_fn_value_wrappers load 16 target_name call 17 map_get_strict string 2 15 16 @@ -154479,8 +154842,8 @@ call 36 pith_cstring_release void 1 35 load 37 arg_regs call 38 pith_list_release_handle void 1 37 ret 17 -label L3419 -label L3417 +label L3476 +label L3474 load 39 wrapper_name strref 40 m46s1209 load 41 ir_emitter_core_ir_lambda_count @@ -154511,15 +154874,15 @@ load 60 ret_type call 61 string_len int 1 60 iconst 62 0 eq 63 61 62 -brif 63 L3421 L3422 -label L3421 +brif 63 L3478 L3479 +label L3478 load 64 ret_type strref 65 m46s822 call 66 pith_cstring_release void 1 64 store ret_type 65 -jmp L3420 -label L3422 -label L3420 +jmp L3477 +label L3479 +label L3477 load 67 saved_builder call 68 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 69 pith_struct_release void 1 67 @@ -154547,17 +154910,17 @@ field 85 84 0 string kind strref 86 m46s24 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L3424 L3425 -label L3424 +brif 87 L3481 L3482 +label L3481 load 89 info field 90 89 48 list param_types call 91 pith_list_len int 1 90 iconst 92 1 add 93 91 92 store param_count 93 -jmp L3423 -label L3425 -label L3423 +jmp L3480 +label L3482 +label L3480 load 94 wrapper_name load 95 param_count load 96 ret_type @@ -154572,18 +154935,18 @@ field 103 102 0 string kind strref 104 m46s24 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -brif 105 L3427 L3428 -label L3427 +brif 105 L3484 L3485 +label L3484 iconst 107 0 store i 107 -label L3429 +label L3486 load 108 i load 109 info field 110 109 48 list param_types call 111 pith_list_len int 1 110 lt 112 108 111 -brif 112 L3430 L3431 -label L3430 +brif 112 L3487 L3488 +label L3487 load 113 arg_name strref 114 m46s1208 load 115 i @@ -154604,11 +154967,11 @@ load 128 i iconst 129 1 add 130 128 129 store i 130 -jmp L3429 -label L3431 -jmp L3426 -label L3428 -label L3426 +jmp L3486 +label L3488 +jmp L3483 +label L3485 +label L3483 load 131 arg_regs call 132 pith_list_new_default list 0 call 133 pith_list_release_handle void 1 131 @@ -154619,12 +154982,12 @@ iconst 136 0 store __for_idx_348 136 store __for_len_348 135 store __for_iter_348 134 -label L3432 +label L3489 load 137 __for_idx_348 load 138 __for_len_348 lt 139 137 138 -brif 139 L3433 L3435 -label L3433 +brif 139 L3490 L3492 +label L3490 load 140 __for_iter_348 load 141 __for_idx_348 call 142 pith_list_get_value_unchecked string 2 140 141 @@ -154649,19 +155012,19 @@ call 158 pith_cstring_release void 1 155 load 159 arg_regs load 160 arg_r call 161 pith_list_push_value void 2 159 160 -label L3434 +label L3491 load 162 __for_idx_348 iconst 163 1 add 164 162 163 store __for_idx_348 164 -jmp L3432 -label L3435 +jmp L3489 +label L3492 load 165 ret_type strref 166 m46s828 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -brif 167 L3437 L3438 -label L3437 +brif 167 L3494 L3495 +label L3494 call 169 ir_builder_ir_reg int 0 store call_r 169 load 170 call_r @@ -154696,8 +155059,8 @@ call 197 pith_cstring_release void 1 193 call 198 pith_cstring_release void 1 195 call 199 ir_builder_ir_emit void 1 196 call 200 pith_cstring_release void 1 196 -jmp L3436 -label L3438 +jmp L3493 +label L3495 call 201 ir_builder_ir_reg int 0 store call_r 201 load 202 call_r @@ -154717,7 +155080,7 @@ call 215 pith_cstring_release void 1 211 call 216 pith_cstring_release void 1 213 call 217 ir_builder_ir_emit void 1 214 call 218 pith_cstring_release void 1 214 -label L3436 +label L3493 call 219 ir_emitter_core_ir_emit_lambda_default_return void 0 load 220 saved_builder load 221 saved_vars @@ -154785,8 +155148,8 @@ store r 4 load 5 idx load 6 name call 7 ir_emitter_core_ir_ident_is_function_value bool 2 5 6 -brif 7 L3440 L3441 -label L3440 +brif 7 L3497 L3498 +label L3497 load 8 callee load 9 name call 10 ir_emitter_core_ir_ident_callee struct:ResolvedCallee 1 9 @@ -154820,8 +155183,8 @@ call 35 pith_struct_release void 1 34 load 36 wrapper_name call 37 pith_cstring_release void 1 36 ret 33 -label L3441 -label L3439 +label L3498 +label L3496 load 38 r load 39 name call 40 ir_emitter_core_ir_emit_name_load void 2 38 39 @@ -154848,12 +155211,12 @@ iconst 4 0 store __for_idx_349 4 store __for_len_349 3 store __for_iter_349 2 -label L3442 +label L3499 load 5 __for_idx_349 load 6 __for_len_349 lt 7 5 6 -brif 7 L3443 L3445 -label L3443 +brif 7 L3500 L3502 +label L3500 load 8 __for_iter_349 load 9 __for_idx_349 call 10 pith_list_get_value unknown 2 8 9 @@ -154864,38 +155227,38 @@ call 13 ast_get_node struct:Node 1 12 call 14 pith_struct_release void 1 11 store an 13 iconst 15 0 -store __and_15_3449 15 +store __and_15_3506 15 load 16 an field 17 16 0 string kind strref 18 m46s42 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __and_15_3449 19 -brif 19 L3449 L3450 -label L3449 +store __and_15_3506 19 +brif 19 L3506 L3507 +label L3506 load 21 an field 22 21 8 string value call 23 string_len int 1 22 iconst 24 0 gt 25 23 24 -store __and_15_3449 25 -label L3450 -load 26 __and_15_3449 -brif 26 L3447 L3448 -label L3447 +store __and_15_3506 25 +label L3507 +load 26 __and_15_3506 +brif 26 L3504 L3505 +label L3504 iconst 27 1 load 28 an call 29 pith_struct_release void 1 28 ret 27 -label L3448 -label L3446 -label L3444 +label L3505 +label L3503 +label L3501 load 30 __for_idx_349 iconst 31 1 add 32 30 31 store __for_idx_349 32 -jmp L3442 -label L3445 +jmp L3499 +label L3502 iconst 33 0 load 34 an call 35 pith_struct_release void 1 34 @@ -154913,8 +155276,8 @@ store info 2 load 3 tid iconst 4 0 gte 5 3 4 -brif 5 L3452 L3453 -label L3452 +brif 5 L3509 L3510 +label L3509 load 6 info load 7 tid call 8 types_get_type_info struct:TypeInfo 1 7 @@ -154925,19 +155288,19 @@ field 11 10 0 string kind strref 12 m46s15 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3455 L3456 -label L3455 +brif 13 L3512 L3513 +label L3512 load 15 info field 16 15 16 list_string fields call 17 pith_list_len int 1 16 load 18 info call 19 pith_struct_release void 1 18 ret 17 -label L3456 -label L3454 -jmp L3451 -label L3453 -label L3451 +label L3513 +label L3511 +jmp L3508 +label L3510 +label L3508 load 20 sname call 21 ir_struct_registry_ir_struct_field_count int 1 20 load 22 info @@ -154957,44 +155320,44 @@ store info 3 load 4 tid iconst 5 0 gte 6 4 5 -brif 6 L3458 L3459 -label L3458 +brif 6 L3515 L3516 +label L3515 load 7 info load 8 tid call 9 types_get_type_info struct:TypeInfo 1 8 call 10 pith_struct_release void 1 7 store info 9 iconst 11 0 -store __and_11_3463 11 +store __and_11_3520 11 iconst 12 0 -store __and_12_3463 12 +store __and_12_3520 12 load 13 info field 14 13 0 string kind strref 15 m46s15 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __and_12_3463 16 -brif 16 L3463 L3464 -label L3463 +store __and_12_3520 16 +brif 16 L3520 L3521 +label L3520 load 18 field_index iconst 19 0 gte 20 18 19 -store __and_12_3463 20 -label L3464 -load 21 __and_12_3463 -store __and_11_3463 21 -brif 21 L3465 L3466 -label L3465 +store __and_12_3520 20 +label L3521 +load 21 __and_12_3520 +store __and_11_3520 21 +brif 21 L3522 L3523 +label L3522 load 22 field_index load 23 info field 24 23 16 list_string fields call 25 pith_list_len int 1 24 lt 26 22 25 -store __and_11_3463 26 -label L3466 -load 27 __and_11_3463 -brif 27 L3461 L3462 -label L3461 +store __and_11_3520 26 +label L3523 +load 27 __and_11_3520 +brif 27 L3518 L3519 +label L3518 load 28 info field 29 28 16 list_string fields load 30 field_index @@ -155003,11 +155366,11 @@ call 32 pith_cstring_retain void 1 31 load 33 info call 34 pith_struct_release void 1 33 ret 31 -label L3462 -label L3460 -jmp L3457 -label L3459 -label L3457 +label L3519 +label L3517 +jmp L3514 +label L3516 +label L3514 load 35 sname load 36 field_index call 37 ir_struct_registry_ir_struct_field_name_at string 2 35 36 @@ -155028,8 +155391,8 @@ store info 3 load 4 tid iconst 5 0 gte 6 4 5 -brif 6 L3468 L3469 -label L3468 +brif 6 L3525 L3526 +label L3525 load 7 info load 8 tid call 9 types_get_type_info struct:TypeInfo 1 8 @@ -155040,8 +155403,8 @@ field 12 11 0 string kind strref 13 m46s15 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L3471 L3472 -label L3471 +brif 14 L3528 L3529 +label L3528 load 16 info field 17 16 16 list_string fields call 18 pith_auto_len int 1 17 @@ -155049,12 +155412,12 @@ iconst 19 0 store __for_idx_350 19 store __for_len_350 18 store __for_iter_350 17 -label L3473 +label L3530 load 20 __for_idx_350 load 21 __for_len_350 lt 22 20 21 -brif 22 L3474 L3476 -label L3474 +brif 22 L3531 L3533 +label L3531 load 23 __for_iter_350 load 24 __for_idx_350 call 25 pith_list_get_value_unchecked string 2 23 24 @@ -155062,23 +155425,23 @@ store __loopvar_350_name 25 load 26 __for_idx_350 store __loopvar_350_i 26 iconst 27 0 -store __and_27_3480 27 +store __and_27_3537 27 load 28 __loopvar_350_name load 29 field_name call 30 pith_cstring_eq bool 2 28 29 -store __and_27_3480 30 -brif 30 L3480 L3481 -label L3480 +store __and_27_3537 30 +brif 30 L3537 L3538 +label L3537 load 31 __loopvar_350_i load 32 info field 33 32 24 list field_types call 34 pith_list_len int 1 33 lt 35 31 34 -store __and_27_3480 35 -label L3481 -load 36 __and_27_3480 -brif 36 L3478 L3479 -label L3478 +store __and_27_3537 35 +label L3538 +load 36 __and_27_3537 +brif 36 L3535 L3536 +label L3535 load 37 info field 38 37 24 list field_types load 39 __loopvar_350_i @@ -155087,21 +155450,21 @@ call 41 ir_type_helpers_ir_type_from_tid string 1 40 load 42 info call 43 pith_struct_release void 1 42 ret 41 -label L3479 -label L3477 -label L3475 +label L3536 +label L3534 +label L3532 load 44 __for_idx_350 iconst 45 1 add 46 44 45 store __for_idx_350 46 -jmp L3473 -label L3476 -jmp L3470 -label L3472 -label L3470 -jmp L3467 -label L3469 -label L3467 +jmp L3530 +label L3533 +jmp L3527 +label L3529 +label L3527 +jmp L3524 +label L3526 +label L3524 load 47 sname load 48 field_name call 49 ir_struct_registry_ir_struct_field_type_name string 2 47 48 @@ -155137,12 +155500,12 @@ call 13 pith_list_release_handle void 1 11 store field_regs 12 iconst 14 0 store field_idx 14 -label L3482 +label L3539 load 15 field_idx load 16 total_fields lt 17 15 16 -brif 17 L3483 L3484 -label L3483 +brif 17 L3540 L3541 +label L3540 load 18 field_name load 19 sname load 20 tid @@ -155167,12 +155530,12 @@ iconst 35 0 store __for_idx_351 35 store __for_len_351 34 store __for_iter_351 33 -label L3485 +label L3542 load 36 __for_idx_351 load 37 __for_len_351 lt 38 36 37 -brif 38 L3486 L3488 -label L3486 +brif 38 L3543 L3545 +label L3543 load 39 __for_iter_351 load 40 __for_idx_351 call 41 pith_list_get_value unknown 2 39 40 @@ -155183,93 +155546,93 @@ call 44 ast_get_node struct:Node 1 43 call 45 pith_struct_release void 1 42 store an 44 iconst 46 0 -store __and_46_3492 46 +store __and_46_3549 46 iconst 47 0 -store __and_47_3492 47 +store __and_47_3549 47 load 48 an field 49 48 0 string kind strref 50 m46s42 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __and_47_3492 51 -brif 51 L3492 L3493 -label L3492 +store __and_47_3549 51 +brif 51 L3549 L3550 +label L3549 load 53 an field 54 53 8 string value load 55 field_name call 56 pith_cstring_eq bool 2 54 55 -store __and_47_3492 56 -label L3493 -load 57 __and_47_3492 -store __and_46_3492 57 -brif 57 L3494 L3495 -label L3494 +store __and_47_3549 56 +label L3550 +load 57 __and_47_3549 +store __and_46_3549 57 +brif 57 L3551 L3552 +label L3551 load 58 an field 59 58 16 list children call 60 pith_list_len int 1 59 iconst 61 0 gt 62 60 61 -store __and_46_3492 62 -label L3495 -load 63 __and_46_3492 -brif 63 L3490 L3491 -label L3490 +store __and_46_3549 62 +label L3552 +load 63 __and_46_3549 +brif 63 L3547 L3548 +label L3547 load 64 an field 65 64 16 list children iconst 66 0 call 67 pith_list_get_value_strict int 2 65 66 store value_node 67 -jmp L3489 -label L3491 -label L3489 -label L3487 +jmp L3546 +label L3548 +label L3546 +label L3544 load 68 __for_idx_351 iconst 69 1 add 70 68 69 store __for_idx_351 70 -jmp L3485 -label L3488 +jmp L3542 +label L3545 load 71 sname load 72 field_name call 73 ir_emitter_core_ir_struct_field_is_weak bool 2 71 72 -brif 73 L3497 L3498 -label L3497 +brif 73 L3554 L3555 +label L3554 load 74 value_node store init_node 74 load 75 init_node iconst 76 0 lt 77 75 76 -brif 77 L3500 L3501 -label L3500 +brif 77 L3557 L3558 +label L3557 load 78 sname load 79 field_name call 80 ir_struct_registry_ir_struct_field_default_node int 2 78 79 store init_node 80 -jmp L3499 -label L3501 -label L3499 +jmp L3556 +label L3558 +label L3556 load 81 init_node iconst 82 0 gte 83 81 82 -brif 83 L3503 L3504 -label L3503 +brif 83 L3560 L3561 +label L3560 load 84 field_regs load 85 init_node call 86 ir_emitter_core_ir_emit_weak_payload int 1 85 call 87 pith_list_push_value void 2 84 86 -jmp L3502 -label L3504 +jmp L3559 +label L3561 load 88 field_regs call 89 ir_result_abi_ir_zero_reg int 0 call 90 pith_list_push_value void 2 88 89 -label L3502 -jmp L3496 -label L3498 +label L3559 +jmp L3553 +label L3555 load 91 value_node iconst 92 0 gte 93 91 92 -brif 93 L3505 L3506 -label L3505 +brif 93 L3562 L3563 +label L3562 load 94 value_node load 95 field_type call 96 ir_emitter_core_ir_emit_value_for_target int 2 94 95 @@ -155280,46 +155643,46 @@ call 99 ir_struct_registry_ir_rc_kind string 1 98 call 100 pith_cstring_release void 1 97 store named_field_kind 99 iconst 101 0 -store __and_101_3510 101 +store __and_101_3567 101 iconst 102 0 -store __and_102_3510 102 +store __and_102_3567 102 load 103 named_field_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -store __and_102_3510 106 -brif 106 L3510 L3511 -label L3510 +store __and_102_3567 106 +brif 106 L3567 L3568 +label L3567 load 107 named_field_kind strref 108 m46s23 call 110 pith_cstring_eq bool 2 107 108 iconst 111 1 sub 109 111 110 call 112 pith_cstring_release void 1 108 -store __and_102_3510 109 -label L3511 -load 113 __and_102_3510 -store __and_101_3510 113 -brif 113 L3512 L3513 -label L3512 +store __and_102_3567 109 +label L3568 +load 113 __and_102_3567 +store __and_101_3567 113 +brif 113 L3569 L3570 +label L3569 load 114 value_node call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_101_3510 115 -label L3513 -load 116 __and_101_3510 -brif 116 L3508 L3509 -label L3508 +store __and_101_3567 115 +label L3570 +load 116 __and_101_3567 +brif 116 L3565 L3566 +label L3565 load 117 fr load 118 named_field_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L3507 -label L3509 -label L3507 +jmp L3564 +label L3566 +label L3564 load 120 field_regs load 121 fr call 122 pith_list_push_value void 2 120 121 -jmp L3496 -label L3506 +jmp L3553 +label L3563 load 123 sname load 124 field_name call 125 ir_struct_registry_ir_struct_field_default_node int 2 123 124 @@ -155327,26 +155690,26 @@ store default_idx 125 load 126 default_idx iconst 127 0 gte 128 126 127 -brif 128 L3515 L3516 -label L3515 +brif 128 L3572 L3573 +label L3572 load 129 field_regs load 130 default_idx load 131 field_type call 132 ir_emitter_core_ir_emit_value_for_target int 2 130 131 call 133 pith_list_push_value void 2 129 132 -jmp L3514 -label L3516 +jmp L3571 +label L3573 load 134 field_regs call 135 ir_result_abi_ir_zero_reg int 0 call 136 pith_list_push_value void 2 134 135 -label L3514 -label L3496 +label L3571 +label L3553 load 137 field_idx iconst 138 1 add 139 137 138 store field_idx 139 -jmp L3482 -label L3484 +jmp L3539 +label L3541 call 140 ir_builder_ir_reg int 0 store r 140 call 141 ir_builder_ir_reg int 0 @@ -155384,12 +155747,12 @@ iconst 171 0 store __for_idx_352 171 store __for_len_352 170 store __for_iter_352 169 -label L3517 +label L3574 load 172 __for_idx_352 load 173 __for_len_352 lt 174 172 173 -brif 174 L3518 L3520 -label L3518 +brif 174 L3575 L3577 +label L3575 load 175 __for_iter_352 load 176 __for_idx_352 call 177 pith_list_get_value unknown 2 175 176 @@ -155422,13 +155785,13 @@ call 201 pith_cstring_release void 1 195 call 202 pith_cstring_release void 1 199 call 203 ir_builder_ir_emit void 1 200 call 204 pith_cstring_release void 1 200 -label L3519 +label L3576 load 205 __for_idx_352 iconst 206 1 add 207 205 206 store __for_idx_352 207 -jmp L3517 -label L3520 +jmp L3574 +label L3577 load 208 r load 209 sname call 210 ir_emitter_core_ir_emit_attach_dtor void 2 208 209 @@ -155473,8 +155836,8 @@ iconst 7 0 store pos_field_kind 7 load 8 arg_nodes call 9 ir_emitter_core_ir_struct_args_have_names bool 1 8 -brif 9 L3522 L3523 -label L3522 +brif 9 L3579 L3580 +label L3579 load 10 sname load 11 arg_nodes load 12 tid @@ -155490,21 +155853,21 @@ call 21 pith_cstring_release void 1 20 load 22 pos_field_kind call 23 pith_cstring_release void 1 22 ret 13 -label L3523 -label L3521 +label L3580 +label L3578 load 24 field_regs call 25 pith_list_new_default list 0 call 26 pith_list_release_handle void 1 24 store field_regs 25 iconst 27 0 store field_idx 27 -label L3524 +label L3581 load 28 field_idx load 29 arg_nodes call 30 pith_list_len int 1 29 lt 31 28 30 -brif 31 L3525 L3526 -label L3525 +brif 31 L3582 L3583 +label L3582 load 32 arg_nodes load 33 field_idx call 34 pith_list_get_value_strict int 2 32 33 @@ -155531,65 +155894,65 @@ store ftype 49 load 51 child store value_idx 51 iconst 52 0 -store __and_52_3530 52 +store __and_52_3587 52 load 53 cn field 54 53 0 string kind strref 55 m46s1207 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __and_52_3530 56 -brif 56 L3530 L3531 -label L3530 +store __and_52_3587 56 +brif 56 L3587 L3588 +label L3587 load 58 cn field 59 58 16 list children call 60 pith_list_len int 1 59 iconst 61 0 gt 62 60 61 -store __and_52_3530 62 -label L3531 -load 63 __and_52_3530 -brif 63 L3528 L3529 -label L3528 +store __and_52_3587 62 +label L3588 +load 63 __and_52_3587 +brif 63 L3585 L3586 +label L3585 load 64 cn field 65 64 16 list children iconst 66 0 call 67 pith_list_get_value_strict int 2 65 66 store value_idx 67 -jmp L3527 -label L3529 +jmp L3584 +label L3586 iconst 68 0 -store __and_68_3534 68 +store __and_68_3591 68 load 69 cn field 70 69 0 string kind strref 71 m46s42 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __and_68_3534 72 -brif 72 L3534 L3535 -label L3534 +store __and_68_3591 72 +brif 72 L3591 L3592 +label L3591 load 74 cn field 75 74 16 list children call 76 pith_list_len int 1 75 iconst 77 0 gt 78 76 77 -store __and_68_3534 78 -label L3535 -load 79 __and_68_3534 -brif 79 L3532 L3533 -label L3532 +store __and_68_3591 78 +label L3592 +load 79 __and_68_3591 +brif 79 L3589 L3590 +label L3589 load 80 cn field 81 80 16 list children iconst 82 0 call 83 pith_list_get_value_strict int 2 81 82 store value_idx 83 -jmp L3527 -label L3533 -label L3527 +jmp L3584 +label L3590 +label L3584 load 84 sname load 85 field_name call 86 ir_emitter_core_ir_struct_field_is_weak bool 2 84 85 -brif 86 L3537 L3538 -label L3537 +brif 86 L3594 L3595 +label L3594 load 87 field_regs load 88 value_idx call 89 ir_emitter_core_ir_emit_weak_payload int 1 88 @@ -155598,9 +155961,9 @@ load 91 field_idx iconst 92 1 add 93 91 92 store field_idx 93 -jmp L3524 -label L3538 -label L3536 +jmp L3581 +label L3595 +label L3593 load 94 value_idx load 95 ftype call 96 ir_emitter_core_ir_emit_value_for_target int 2 94 95 @@ -155611,41 +155974,41 @@ call 99 ir_struct_registry_ir_rc_kind string 1 98 call 100 pith_cstring_release void 1 97 store pos_field_kind 99 iconst 101 0 -store __and_101_3542 101 +store __and_101_3599 101 iconst 102 0 -store __and_102_3542 102 +store __and_102_3599 102 load 103 pos_field_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -store __and_102_3542 106 -brif 106 L3542 L3543 -label L3542 +store __and_102_3599 106 +brif 106 L3599 L3600 +label L3599 load 107 pos_field_kind strref 108 m46s23 call 110 pith_cstring_eq bool 2 107 108 iconst 111 1 sub 109 111 110 call 112 pith_cstring_release void 1 108 -store __and_102_3542 109 -label L3543 -load 113 __and_102_3542 -store __and_101_3542 113 -brif 113 L3544 L3545 -label L3544 +store __and_102_3599 109 +label L3600 +load 113 __and_102_3599 +store __and_101_3599 113 +brif 113 L3601 L3602 +label L3601 load 114 value_idx call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_101_3542 115 -label L3545 -load 116 __and_101_3542 -brif 116 L3540 L3541 -label L3540 +store __and_101_3599 115 +label L3602 +load 116 __and_101_3599 +brif 116 L3597 L3598 +label L3597 load 117 fr load 118 pos_field_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L3539 -label L3541 -label L3539 +jmp L3596 +label L3598 +label L3596 load 120 field_regs load 121 fr call 122 pith_list_push_value void 2 120 121 @@ -155653,18 +156016,18 @@ load 123 field_idx iconst 124 1 add 125 123 124 store field_idx 125 -jmp L3524 -label L3526 +jmp L3581 +label L3583 load 126 sname load 127 tid call 128 ir_emitter_core_ir_ctor_field_count int 2 126 127 store total_fields 128 -label L3546 +label L3603 load 129 field_idx load 130 total_fields lt 131 129 130 -brif 131 L3547 L3548 -label L3547 +brif 131 L3604 L3605 +label L3604 load 132 field_name load 133 sname load 134 tid @@ -155679,8 +156042,8 @@ store default_idx 140 load 141 default_idx iconst 142 0 gte 143 141 142 -brif 143 L3550 L3551 -label L3550 +brif 143 L3607 L3608 +label L3607 load 144 field_regs load 145 default_idx load 146 sname @@ -155690,18 +156053,18 @@ call 149 ir_emitter_core_ir_ctor_field_type_name string 3 146 147 148 call 150 ir_emitter_core_ir_emit_value_for_target int 2 145 149 call 151 pith_cstring_release void 1 149 call 152 pith_list_push_value void 2 144 150 -jmp L3549 -label L3551 +jmp L3606 +label L3608 load 153 field_regs call 154 ir_result_abi_ir_zero_reg int 0 call 155 pith_list_push_value void 2 153 154 -label L3549 +label L3606 load 156 field_idx iconst 157 1 add 158 156 157 store field_idx 158 -jmp L3546 -label L3548 +jmp L3603 +label L3605 call 159 ir_builder_ir_reg int 0 store r 159 call 160 ir_builder_ir_reg int 0 @@ -155739,12 +156102,12 @@ iconst 190 0 store __for_idx_353 190 store __for_len_353 189 store __for_iter_353 188 -label L3552 +label L3609 load 191 __for_idx_353 load 192 __for_len_353 lt 193 191 192 -brif 193 L3553 L3555 -label L3553 +brif 193 L3610 L3612 +label L3610 load 194 __for_iter_353 load 195 __for_idx_353 call 196 pith_list_get_value unknown 2 194 195 @@ -155777,13 +156140,13 @@ call 220 pith_cstring_release void 1 214 call 221 pith_cstring_release void 1 218 call 222 ir_builder_ir_emit void 1 219 call 223 pith_cstring_release void 1 219 -label L3554 +label L3611 load 224 __for_idx_353 iconst 225 1 add 226 224 225 store __for_idx_353 226 -jmp L3552 -label L3555 +jmp L3609 +label L3612 load 227 r load 228 sname call 229 ir_emitter_core_ir_emit_attach_dtor void 2 227 228 @@ -155835,8 +156198,8 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 0 gt 6 4 5 -brif 6 L3557 L3558 -label L3557 +brif 6 L3614 L3615 +label L3614 load 7 inner load 8 node field 9 8 16 list children @@ -155850,8 +156213,8 @@ field 15 14 0 string kind strref 16 m46s44 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L3560 L3561 -label L3560 +brif 17 L3617 L3618 +label L3617 load 19 node field 20 19 16 list children iconst 21 0 @@ -155871,11 +156234,11 @@ load 32 r load 33 inner call 34 pith_struct_release void 1 33 ret 32 -label L3561 -label L3559 -jmp L3556 -label L3558 -label L3556 +label L3618 +label L3616 +jmp L3613 +label L3615 +label L3613 call 35 ir_builder_ir_reg int 0 store r 35 strref 36 m46s832 @@ -155918,8 +156281,8 @@ field 8 7 16 list children call 9 pith_list_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L3563 L3564 -label L3563 +brif 11 L3620 L3621 +label L3620 load 12 result_kind load 13 node field 14 13 16 list children @@ -155938,8 +156301,8 @@ load 24 result_kind strref 25 m46s23 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L3566 L3567 -label L3566 +brif 26 L3623 L3624 +label L3623 load 28 operand_class load 29 node field 30 29 16 list children @@ -156008,8 +156371,8 @@ call 86 pith_cstring_eq bool 2 83 84 iconst 87 1 sub 85 87 86 call 88 pith_cstring_release void 1 84 -brif 85 L3569 L3570 -label L3569 +brif 85 L3626 L3627 +label L3626 call 89 ir_builder_ir_reg int 0 strref 90 m46s898 strref 91 m46s828 @@ -156017,9 +156380,9 @@ load 92 val_r call 93 ir_call_emit_ir_emit_call1 void 4 89 90 91 92 call 94 pith_cstring_release void 1 90 call 95 pith_cstring_release void 1 91 -jmp L3568 -label L3570 -label L3568 +jmp L3625 +label L3627 +label L3625 strref 96 m46s833 load 97 merge_l concat 98 96 97 @@ -156029,26 +156392,26 @@ call 101 pith_cstring_release void 1 98 load 102 err_l call 103 ir_call_emit_ir_emit_label void 1 102 iconst 104 0 -store __and_104_3574 104 +store __and_104_3631 104 load 105 ir_emitter_core_ir_emit_tests -store __and_104_3574 105 -brif 105 L3574 L3575 -label L3574 +store __and_104_3631 105 +brif 105 L3631 L3632 +label L3631 load 106 ir_emitter_core_ir_emitting_test_func -store __and_104_3574 106 -label L3575 -load 107 __and_104_3574 -brif 107 L3572 L3573 -label L3572 +store __and_104_3631 106 +label L3632 +load 107 __and_104_3631 +brif 107 L3629 L3630 +label L3629 call 108 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L3571 -label L3573 +jmp L3628 +label L3630 load 109 operand_class strref 110 m46s1202 call 111 pith_cstring_eq bool 2 109 110 call 112 pith_cstring_release void 1 110 -brif 111 L3576 L3577 -label L3576 +brif 111 L3633 L3634 +label L3633 load 113 err_kind load 114 operand_tid strref 115 m46s181 @@ -156068,14 +156431,14 @@ load 126 err_kind call 127 string_len int 1 126 iconst 128 0 gt 129 127 128 -brif 129 L3579 L3580 -label L3579 +brif 129 L3636 L3637 +label L3636 load 130 err_r load 131 err_kind call 132 ir_ownership_ir_rc_retain_reg void 2 130 131 -jmp L3578 -label L3580 -label L3578 +jmp L3635 +label L3637 +label L3635 load 133 err_r call 134 ir_emitter_core_ir_emit_err_result_tuple int 1 133 store fresh_err_r 134 @@ -156092,8 +156455,8 @@ call 144 pith_cstring_release void 1 140 call 145 pith_cstring_release void 1 142 call 146 ir_builder_ir_emit void 1 143 call 147 pith_cstring_release void 1 143 -jmp L3571 -label L3577 +jmp L3628 +label L3634 iconst 148 1 call 149 ir_emitter_core_ir_defer_emit_to_function_frame void 1 148 strref 150 m46s82 @@ -156107,7 +156470,7 @@ call 157 pith_cstring_release void 1 153 call 158 pith_cstring_release void 1 155 call 159 ir_builder_ir_emit void 1 156 call 160 pith_cstring_release void 1 156 -label L3571 +label L3628 load 161 merge_l call 162 ir_call_emit_ir_emit_label void 1 161 load 163 decoded_r @@ -156124,36 +156487,36 @@ call 173 pith_cstring_release void 1 172 load 174 err_kind call 175 pith_cstring_release void 1 174 ret 163 -label L3567 -label L3565 +label L3624 +label L3622 load 176 val_r store cond_r 176 load 177 val_r store decoded_r 177 load 178 result_kind call 179 ir_result_abi_ir_uses_result_abi bool 1 178 -brif 179 L3582 L3583 -label L3582 +brif 179 L3639 L3640 +label L3639 load 180 val_r load 181 result_kind call 182 ir_result_abi_ir_decode_result_value int 2 180 181 store decoded_r 182 -jmp L3581 -label L3583 +jmp L3638 +label L3640 load 183 result_kind call 184 string_len int 1 183 iconst 185 0 gt 186 184 185 -brif 186 L3584 L3585 -label L3584 +brif 186 L3641 L3642 +label L3641 call 187 ir_builder_ir_reg int 0 store zero_cmp 187 load 188 result_kind strref 189 m46s672 call 190 pith_cstring_eq bool 2 188 189 call 191 pith_cstring_release void 1 189 -brif 190 L3587 L3588 -label L3587 +brif 190 L3644 L3645 +label L3644 strref 192 m46s1044 load 193 zero_cmp call 194 int_to_string string 1 193 @@ -156166,8 +156529,8 @@ call 200 pith_cstring_release void 1 195 call 201 pith_cstring_release void 1 198 call 202 ir_builder_ir_emit void 1 199 call 203 pith_cstring_release void 1 199 -jmp L3586 -label L3588 +jmp L3643 +label L3645 strref 204 m46s832 load 205 zero_cmp call 206 int_to_string string 1 205 @@ -156180,7 +156543,7 @@ call 212 pith_cstring_release void 1 207 call 213 pith_cstring_release void 1 210 call 214 ir_builder_ir_emit void 1 211 call 215 pith_cstring_release void 1 211 -label L3586 +label L3643 call 216 ir_builder_ir_reg int 0 store cond_r 216 strref 217 m46s1035 @@ -156209,9 +156572,9 @@ call 239 pith_cstring_release void 1 233 call 240 pith_cstring_release void 1 237 call 241 ir_builder_ir_emit void 1 238 call 242 pith_cstring_release void 1 238 -jmp L3581 -label L3585 -label L3581 +jmp L3638 +label L3642 +label L3638 load 243 ok_l call 244 ir_builder_ir_label string 0 call 245 pith_cstring_release void 1 243 @@ -156257,20 +156620,20 @@ call 281 pith_cstring_release void 1 278 load 282 err_l call 283 ir_call_emit_ir_emit_label void 1 282 iconst 284 0 -store __and_284_3592 284 +store __and_284_3649 284 load 285 ir_emitter_core_ir_emit_tests -store __and_284_3592 285 -brif 285 L3592 L3593 -label L3592 +store __and_284_3649 285 +brif 285 L3649 L3650 +label L3649 load 286 ir_emitter_core_ir_emitting_test_func -store __and_284_3592 286 -label L3593 -load 287 __and_284_3592 -brif 287 L3590 L3591 -label L3590 +store __and_284_3649 286 +label L3650 +load 287 __and_284_3649 +brif 287 L3647 L3648 +label L3647 call 288 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L3589 -label L3591 +jmp L3646 +label L3648 iconst 289 1 call 290 ir_emitter_core_ir_defer_emit_to_function_frame void 1 289 strref 291 m46s82 @@ -156298,7 +156661,7 @@ call 311 pith_cstring_release void 1 307 call 312 pith_cstring_release void 1 309 call 313 ir_builder_ir_emit void 1 310 call 314 pith_cstring_release void 1 310 -label L3589 +label L3646 load 315 merge_l call 316 ir_call_emit_ir_emit_label void 1 315 load 317 decoded_r @@ -156315,8 +156678,8 @@ call 327 pith_cstring_release void 1 326 load 328 err_kind call 329 pith_cstring_release void 1 328 ret 317 -label L3564 -label L3562 +label L3621 +label L3619 call 330 ir_builder_ir_reg int 0 store r 330 strref 331 m46s832 @@ -156375,8 +156738,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 0 gt 9 7 8 -brif 9 L3595 L3596 -label L3595 +brif 9 L3652 L3653 +label L3652 load 10 node field 11 10 16 list children iconst 12 0 @@ -156409,53 +156772,53 @@ load 34 err_kind call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L3598 L3599 -label L3598 +brif 37 L3655 L3656 +label L3655 iconst 38 0 -store __and_38_3603 38 +store __and_38_3660 38 load 39 expr_node field 40 39 0 string kind strref 41 m46s37 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __and_38_3603 42 -brif 42 L3603 L3604 -label L3603 +store __and_38_3660 42 +brif 42 L3660 L3661 +label L3660 load 44 expr_node field 45 44 8 string value call 46 ir_emitter_core_ir_rc_local_kind string 1 45 load 47 err_kind call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 46 -store __and_38_3603 48 -label L3604 -load 50 __and_38_3603 -brif 50 L3601 L3602 -label L3601 +store __and_38_3660 48 +label L3661 +load 50 __and_38_3660 +brif 50 L3658 L3659 +label L3658 load 51 exclude load 52 expr_node field 53 52 8 string value call 54 pith_cstring_retain void 1 53 call 55 pith_cstring_release void 1 51 store exclude 53 -jmp L3600 -label L3602 +jmp L3657 +label L3659 load 56 node field 57 56 16 list children iconst 58 0 call 59 pith_list_get_value_strict int 2 57 58 call 60 ir_emitter_core_ir_string_expr_is_borrowed bool 1 59 -brif 60 L3605 L3606 -label L3605 +brif 60 L3662 L3663 +label L3662 load 61 err_r load 62 err_kind call 63 ir_ownership_ir_rc_retain_reg void 2 61 62 -jmp L3600 -label L3606 -label L3600 -jmp L3597 -label L3599 -label L3597 +jmp L3657 +label L3663 +label L3657 +jmp L3654 +label L3656 +label L3654 load 64 err_r call 65 ir_emitter_core_ir_emit_err_result_tuple int 1 64 store tuple_r 65 @@ -156471,8 +156834,8 @@ call 74 pith_cstring_release void 1 70 call 75 pith_cstring_release void 1 72 call 76 ir_builder_ir_emit void 1 73 call 77 pith_cstring_release void 1 73 -jmp L3594 -label L3596 +jmp L3651 +label L3653 iconst 78 1 call 79 ir_emitter_core_ir_defer_emit_to_function_frame void 1 78 strref 80 m46s82 @@ -156487,7 +156850,7 @@ call 88 pith_cstring_release void 1 83 call 89 pith_cstring_release void 1 86 call 90 ir_builder_ir_emit void 1 87 call 91 pith_cstring_release void 1 87 -label L3594 +label L3651 load 92 ub call 93 ir_builder_ir_label string 0 call 94 pith_cstring_release void 1 92 @@ -156569,8 +156932,8 @@ load 27 obj_type call 28 string_len int 1 27 iconst 29 0 eq 30 28 29 -brif 30 L3608 L3609 -label L3608 +brif 30 L3665 L3666 +label L3665 load 31 obj_type load 32 node field 33 32 16 list children @@ -156579,15 +156942,15 @@ call 35 pith_list_get_value_strict int 2 33 34 call 36 ir_emitter_core_ir_infer_type string 1 35 call 37 pith_cstring_release void 1 31 store obj_type 36 -jmp L3607 -label L3609 -label L3607 +jmp L3664 +label L3666 +label L3664 load 38 value_type call 39 string_len int 1 38 iconst 40 0 eq 41 39 40 -brif 41 L3611 L3612 -label L3611 +brif 41 L3668 L3669 +label L3668 load 42 value_type load 43 node field 44 43 16 list children @@ -156596,36 +156959,36 @@ call 46 pith_list_get_value_strict int 2 44 45 call 47 ir_emitter_core_ir_lookup_map_value_type_for_expr string 1 46 call 48 pith_cstring_release void 1 42 store value_type 47 -jmp L3610 -label L3612 -label L3610 +jmp L3667 +label L3669 +label L3667 load 49 value_type call 50 string_len int 1 49 iconst 51 0 eq 52 50 51 -brif 52 L3614 L3615 -label L3614 +brif 52 L3671 L3672 +label L3671 load 53 value_type load 54 idx call 55 ir_emitter_core_ir_infer_type string 1 54 call 56 pith_cstring_release void 1 53 store value_type 55 -jmp L3613 -label L3615 -label L3613 +jmp L3670 +label L3672 +label L3670 iconst 57 0 -store __and_57_3619 57 +store __and_57_3676 57 load 58 ir_emitter_core_ir_current_func_returns_result -store __and_57_3619 58 -brif 58 L3619 L3620 -label L3619 +store __and_57_3676 58 +brif 58 L3676 L3677 +label L3676 load 59 obj_type call 60 ir_emitter_core_ir_index_supports_propagate bool 1 59 -store __and_57_3619 60 -label L3620 -load 61 __and_57_3619 -brif 61 L3617 L3618 -label L3617 +store __and_57_3676 60 +label L3677 +load 61 __and_57_3676 +brif 61 L3674 L3675 +label L3674 load 62 node field 63 62 16 list children iconst 64 1 @@ -156642,8 +157005,8 @@ call 74 pith_cstring_release void 1 73 load 75 call_name call 76 pith_cstring_release void 1 75 ret 70 -label L3618 -label L3616 +label L3675 +label L3673 load 77 call_name load 78 obj_type call 79 ir_collection_helpers_ir_index_get_call_name string 1 78 @@ -156653,8 +157016,8 @@ load 81 obj_type strref 82 m46s675 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L3622 L3623 -label L3622 +brif 83 L3679 L3680 +label L3679 load 85 r load 86 call_name strref 87 m46s675 @@ -156662,14 +157025,14 @@ load 88 obj_r load 89 idx_r call 90 ir_call_emit_ir_emit_call2 void 5 85 86 87 88 89 call 91 pith_cstring_release void 1 87 -jmp L3621 -label L3623 +jmp L3678 +label L3680 load 92 obj_type strref 93 m46s674 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -brif 94 L3624 L3625 -label L3624 +brif 94 L3681 L3682 +label L3681 load 96 r load 97 call_name strref 98 m46s671 @@ -156677,47 +157040,47 @@ load 99 obj_r load 100 idx_r call 101 ir_call_emit_ir_emit_call2 void 5 96 97 98 99 100 call 102 pith_cstring_release void 1 98 -jmp L3621 -label L3625 +jmp L3678 +label L3682 iconst 103 0 -store __or_103_3628 103 +store __or_103_3685 103 load 104 obj_type strref 105 m46s670 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 -store __or_103_3628 106 -brif 106 L3629 L3628 -label L3628 +store __or_103_3685 106 +brif 106 L3686 L3685 +label L3685 load 108 obj_type strref 109 m46s19 call 110 pith_cstring_eq bool 2 108 109 call 111 pith_cstring_release void 1 109 -store __or_103_3628 110 -label L3629 -load 112 __or_103_3628 -brif 112 L3626 L3627 -label L3626 +store __or_103_3685 110 +label L3686 +load 112 __or_103_3685 +brif 112 L3683 L3684 +label L3683 load 113 value_type call 114 string_len int 1 113 iconst 115 0 eq 116 114 115 -brif 116 L3631 L3632 -label L3631 +brif 116 L3688 L3689 +label L3688 load 117 value_type strref 118 m46s822 call 119 pith_cstring_release void 1 117 store value_type 118 -jmp L3630 -label L3632 -label L3630 +jmp L3687 +label L3689 +label L3687 load 120 r load 121 call_name load 122 value_type load 123 obj_r load 124 idx_r call 125 ir_call_emit_ir_emit_call2 void 5 120 121 122 123 124 -jmp L3621 -label L3627 +jmp L3678 +label L3684 load 126 r load 127 call_name load 128 idx @@ -156726,7 +157089,7 @@ load 130 obj_r load 131 idx_r call 132 ir_call_emit_ir_emit_call2 void 5 126 127 129 130 131 call 133 pith_cstring_release void 1 129 -label L3621 +label L3678 load 134 node field 135 134 16 list children iconst 136 1 @@ -156768,42 +157131,42 @@ load 1 obj_type strref 2 m46s19 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3634 L3635 -label L3634 +brif 3 L3691 L3692 +label L3691 iconst 5 1 ret 5 -label L3635 -label L3633 +label L3692 +label L3690 load 6 obj_type strref 7 m46s670 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3637 L3638 -label L3637 +brif 8 L3694 L3695 +label L3694 iconst 10 1 ret 10 -label L3638 -label L3636 +label L3695 +label L3693 load 11 obj_type strref 12 m46s20 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3640 L3641 -label L3640 +brif 13 L3697 L3698 +label L3697 iconst 15 1 ret 15 -label L3641 -label L3639 +label L3698 +label L3696 load 16 obj_type strref 17 m46s668 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3643 L3644 -label L3643 +brif 18 L3700 L3701 +label L3700 iconst 20 1 ret 20 -label L3644 -label L3642 +label L3701 +label L3699 iconst 21 0 ret 21 iconst 22 0 @@ -156892,15 +157255,15 @@ load 65 val_kind call 66 string_len int 1 65 iconst 67 0 eq 68 66 67 -brif 68 L3646 L3647 -label L3646 +brif 68 L3703 L3704 +label L3703 load 69 val_kind strref 70 m46s822 call 71 pith_cstring_release void 1 69 store val_kind 70 -jmp L3645 -label L3647 -label L3645 +jmp L3702 +label L3704 +label L3702 call 72 ir_builder_ir_reg int 0 store unwrapped_r 72 strref 73 m46s837 @@ -156954,20 +157317,20 @@ call 120 ir_call_emit_ir_emit_call1 void 4 116 117 118 119 call 121 pith_cstring_release void 1 117 call 122 pith_cstring_release void 1 118 iconst 123 0 -store __and_123_3651 123 +store __and_123_3708 123 load 124 ir_emitter_core_ir_emit_tests -store __and_123_3651 124 -brif 124 L3651 L3652 -label L3651 +store __and_123_3708 124 +brif 124 L3708 L3709 +label L3708 load 125 ir_emitter_core_ir_emitting_test_func -store __and_123_3651 125 -label L3652 -load 126 __and_123_3651 -brif 126 L3649 L3650 -label L3649 +store __and_123_3708 125 +label L3709 +load 126 __and_123_3708 +brif 126 L3706 L3707 +label L3706 call 127 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L3648 -label L3650 +jmp L3705 +label L3707 iconst 128 1 call 129 ir_emitter_core_ir_defer_emit_to_function_frame void 1 128 strref 130 m46s82 @@ -157005,7 +157368,7 @@ call 159 pith_cstring_release void 1 154 call 160 pith_cstring_release void 1 157 call 161 ir_builder_ir_emit void 1 158 call 162 pith_cstring_release void 1 158 -label L3648 +label L3705 load 163 merge_l call 164 ir_call_emit_ir_emit_label void 1 163 load 165 unwrapped_r @@ -157043,22 +157406,22 @@ load 1 obj_type strref 2 m46s19 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3654 L3655 -label L3654 +brif 3 L3711 L3712 +label L3711 strref 5 m46s685 ret 5 -label L3655 -label L3653 +label L3712 +label L3710 load 6 obj_type strref 7 m46s670 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3657 L3658 -label L3657 +brif 8 L3714 L3715 +label L3714 strref 10 m46s686 ret 10 -label L3658 -label L3656 +label L3715 +label L3713 strref 11 m46s704 ret 11 iconst 12 0 @@ -157085,7 +157448,7 @@ call 10 ast_get_node struct:Node 1 9 call 11 pith_struct_release void 1 8 store target 10 iconst 12 0 -store __or_12_3662 12 +store __or_12_3719 12 load 13 target field 14 13 0 string kind strref 15 m46s35 @@ -157093,19 +157456,19 @@ call 17 pith_cstring_eq bool 2 14 15 iconst 18 1 sub 16 18 17 call 19 pith_cstring_release void 1 15 -store __or_12_3662 16 -brif 16 L3663 L3662 -label L3662 +store __or_12_3719 16 +brif 16 L3720 L3719 +label L3719 load 20 target field 21 20 16 list children call 22 pith_list_len int 1 21 iconst 23 2 lt 24 22 23 -store __or_12_3662 24 -label L3663 -load 25 __or_12_3662 -brif 25 L3660 L3661 -label L3660 +store __or_12_3719 24 +label L3720 +load 25 __or_12_3719 +brif 25 L3717 L3718 +label L3717 iconst 26 0 load 27 target call 28 pith_struct_release void 1 27 @@ -157120,8 +157483,8 @@ call 36 pith_cstring_release void 1 35 load 37 owned_store call 38 pith_cstring_release void 1 37 ret 26 -label L3661 -label L3659 +label L3718 +label L3716 load 39 target field 40 39 16 list children iconst 41 0 @@ -157151,8 +157514,8 @@ load 60 obj_type call 61 string_len int 1 60 iconst 62 0 eq 63 61 62 -brif 63 L3665 L3666 -label L3665 +brif 63 L3722 L3723 +label L3722 load 64 obj_type load 65 target field 66 65 16 list children @@ -157161,15 +157524,15 @@ call 68 pith_list_get_value_strict int 2 66 67 call 69 ir_emitter_core_ir_infer_type string 1 68 call 70 pith_cstring_release void 1 64 store obj_type 69 -jmp L3664 -label L3666 -label L3664 +jmp L3721 +label L3723 +label L3721 load 71 value_type call 72 string_len int 1 71 iconst 73 0 eq 74 72 73 -brif 74 L3668 L3669 -label L3668 +brif 74 L3725 L3726 +label L3725 load 75 value_type load 76 target field 77 76 16 list children @@ -157178,23 +157541,23 @@ call 79 pith_list_get_value_strict int 2 77 78 call 80 ir_emitter_core_ir_lookup_map_value_type_for_expr string 1 79 call 81 pith_cstring_release void 1 75 store value_type 80 -jmp L3667 -label L3669 -label L3667 +jmp L3724 +label L3726 +label L3724 load 82 value_type call 83 string_len int 1 82 iconst 84 0 eq 85 83 84 -brif 85 L3671 L3672 -label L3671 +brif 85 L3728 L3729 +label L3728 load 86 value_type load 87 value_idx call 88 ir_emitter_core_ir_infer_type string 1 87 call 89 pith_cstring_release void 1 86 store value_type 88 -jmp L3670 -label L3672 -label L3670 +jmp L3727 +label L3729 +label L3727 load 90 value_idx load 91 value_type call 92 ir_emitter_core_ir_emit_value_for_target int 2 90 91 @@ -157211,74 +157574,74 @@ call 100 pith_cstring_release void 1 97 store set_name 99 load 101 value_idx call 102 ir_emitter_core_ir_string_expr_is_borrowed bool 1 101 -brif 102 L3674 L3675 -label L3674 +brif 102 L3731 L3732 +label L3731 iconst 103 0 -store __or_103_3679 103 +store __or_103_3736 103 iconst 104 0 -store __or_104_3679 104 +store __or_104_3736 104 iconst 105 0 -store __or_105_3679 105 +store __or_105_3736 105 iconst 106 0 -store __or_106_3679 106 +store __or_106_3736 106 load 107 idx_store_kind strref 108 m46s20 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -store __or_106_3679 109 -brif 109 L3680 L3679 -label L3679 +store __or_106_3736 109 +brif 109 L3737 L3736 +label L3736 load 111 idx_store_kind strref 112 m46s19 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -store __or_106_3679 113 -label L3680 -load 115 __or_106_3679 -store __or_105_3679 115 -brif 115 L3682 L3681 -label L3681 +store __or_106_3736 113 +label L3737 +load 115 __or_106_3736 +store __or_105_3736 115 +brif 115 L3739 L3738 +label L3738 load 116 idx_store_kind strref 117 m46s18 call 118 pith_cstring_eq bool 2 116 117 call 119 pith_cstring_release void 1 117 -store __or_105_3679 118 -label L3682 -load 120 __or_105_3679 -store __or_104_3679 120 -brif 120 L3684 L3683 -label L3683 +store __or_105_3736 118 +label L3739 +load 120 __or_105_3736 +store __or_104_3736 120 +brif 120 L3741 L3740 +label L3740 load 121 idx_store_kind strref 122 m46s674 call 123 pith_cstring_eq bool 2 121 122 call 124 pith_cstring_release void 1 122 -store __or_104_3679 123 -label L3684 -load 125 __or_104_3679 -store __or_103_3679 125 -brif 125 L3686 L3685 -label L3685 +store __or_104_3736 123 +label L3741 +load 125 __or_104_3736 +store __or_103_3736 125 +brif 125 L3743 L3742 +label L3742 load 126 idx_store_kind strref 127 m46s15 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __or_103_3679 128 -label L3686 -load 130 __or_103_3679 -brif 130 L3677 L3678 -label L3677 +store __or_103_3736 128 +label L3743 +load 130 __or_103_3736 +brif 130 L3734 L3735 +label L3734 load 131 value_r load 132 idx_store_kind call 133 ir_ownership_ir_rc_retain_reg void 2 131 132 -jmp L3676 -label L3678 -label L3676 -jmp L3673 -label L3675 +jmp L3733 +label L3735 +label L3733 +jmp L3730 +label L3732 load 134 idx_store_kind call 135 ir_emitter_core_ir_container_store_takes_count bool 1 134 -brif 135 L3687 L3688 -label L3687 +brif 135 L3744 L3745 +label L3744 load 136 owned_store load 137 set_name call 138 ir_emitter_core_ir_owned_container_store_name string 1 137 @@ -157288,19 +157651,19 @@ load 140 owned_store call 141 string_len int 1 140 iconst 142 0 gt 143 141 142 -brif 143 L3690 L3691 -label L3690 +brif 143 L3747 L3748 +label L3747 load 144 set_name load 145 owned_store call 146 pith_cstring_retain void 1 145 call 147 pith_cstring_release void 1 144 store set_name 145 -jmp L3689 -label L3691 -label L3689 -jmp L3673 -label L3688 -label L3673 +jmp L3746 +label L3748 +label L3746 +jmp L3730 +label L3745 +label L3730 call 148 ir_builder_ir_reg int 0 load 149 set_name strref 150 m46s828 @@ -157354,146 +157717,146 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store node 4 iconst 6 0 -store __or_6_3695 6 +store __or_6_3752 6 iconst 7 0 -store __or_7_3695 7 +store __or_7_3752 7 load 8 node field 9 8 0 string kind strref 10 m46s519 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_7_3695 11 -brif 11 L3696 L3695 -label L3695 +store __or_7_3752 11 +brif 11 L3753 L3752 +label L3752 load 13 node field 14 13 0 string kind strref 15 m46s671 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_7_3695 16 -label L3696 -load 18 __or_7_3695 -store __or_6_3695 18 -brif 18 L3698 L3697 -label L3697 +store __or_7_3752 16 +label L3753 +load 18 __or_7_3752 +store __or_6_3752 18 +brif 18 L3755 L3754 +label L3754 load 19 node field 20 19 0 string kind strref 21 m46s1047 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_6_3695 22 -label L3698 -load 24 __or_6_3695 -brif 24 L3693 L3694 -label L3693 +store __or_6_3752 22 +label L3755 +load 24 __or_6_3752 +brif 24 L3750 L3751 +label L3750 load 25 node call 26 ir_literals_ir_emit_int_literal int 1 25 load 27 node call 28 pith_struct_release void 1 27 ret 26 -label L3694 -label L3692 +label L3751 +label L3749 iconst 29 0 -store __or_29_3702 29 +store __or_29_3759 29 iconst 30 0 -store __or_30_3702 30 +store __or_30_3759 30 load 31 node field 32 31 0 string kind strref 33 m46s517 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_30_3702 34 -brif 34 L3703 L3702 -label L3702 +store __or_30_3759 34 +brif 34 L3760 L3759 +label L3759 load 36 node field 37 36 0 string kind strref 38 m46s675 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __or_30_3702 39 -label L3703 -load 41 __or_30_3702 -store __or_29_3702 41 -brif 41 L3705 L3704 -label L3704 +store __or_30_3759 39 +label L3760 +load 41 __or_30_3759 +store __or_29_3759 41 +brif 41 L3762 L3761 +label L3761 load 42 node field 43 42 0 string kind strref 44 m46s1025 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_29_3702 45 -label L3705 -load 47 __or_29_3702 -brif 47 L3700 L3701 -label L3700 +store __or_29_3759 45 +label L3762 +load 47 __or_29_3759 +brif 47 L3757 L3758 +label L3757 load 48 node call 49 ir_literals_ir_emit_string_literal int 1 48 load 50 node call 51 pith_struct_release void 1 50 ret 49 -label L3701 -label L3699 +label L3758 +label L3756 iconst 52 0 -store __or_52_3709 52 +store __or_52_3766 52 load 53 node field 54 53 0 string kind strref 55 m46s518 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __or_52_3709 56 -brif 56 L3710 L3709 -label L3709 +store __or_52_3766 56 +brif 56 L3767 L3766 +label L3766 load 58 node field 59 58 0 string kind strref 60 m46s672 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -store __or_52_3709 61 -label L3710 -load 63 __or_52_3709 -brif 63 L3707 L3708 -label L3707 +store __or_52_3766 61 +label L3767 +load 63 __or_52_3766 +brif 63 L3764 L3765 +label L3764 load 64 node call 65 ir_literals_ir_emit_float_literal int 1 64 load 66 node call 67 pith_struct_release void 1 66 ret 65 -label L3708 -label L3706 +label L3765 +label L3763 iconst 68 0 -store __or_68_3714 68 +store __or_68_3771 68 load 69 node field 70 69 0 string kind strref 71 m46s673 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_68_3714 72 -brif 72 L3715 L3714 -label L3714 +store __or_68_3771 72 +brif 72 L3772 L3771 +label L3771 load 74 node field 75 74 0 string kind strref 76 m46s516 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_68_3714 77 -label L3715 -load 79 __or_68_3714 -brif 79 L3712 L3713 -label L3712 +store __or_68_3771 77 +label L3772 +load 79 __or_68_3771 +brif 79 L3769 L3770 +label L3769 load 80 node call 81 ir_literals_ir_emit_bool_literal int 1 80 load 82 node call 83 pith_struct_release void 1 82 ret 81 -label L3713 -label L3711 +label L3770 +label L3768 load 84 node field 85 84 0 string kind strref 86 m46s37 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L3717 L3718 -label L3717 +brif 87 L3774 L3775 +label L3774 load 89 idx load 90 node field 91 90 8 string value @@ -157501,15 +157864,15 @@ call 92 ir_emitter_core_ir_emit_ident_load int 2 89 91 load 93 node call 94 pith_struct_release void 1 93 ret 92 -label L3718 -label L3716 +label L3775 +label L3773 load 95 node field 96 95 0 string kind strref 97 m46s515 call 98 pith_cstring_eq bool 2 96 97 call 99 pith_cstring_release void 1 97 -brif 98 L3720 L3721 -label L3720 +brif 98 L3777 L3778 +label L3777 load 100 idx strref 101 m46s515 call 102 ir_emitter_core_ir_emit_ident_load int 2 100 101 @@ -157517,57 +157880,57 @@ call 103 pith_cstring_release void 1 101 load 104 node call 105 pith_struct_release void 1 104 ret 102 -label L3721 -label L3719 +label L3778 +label L3776 load 106 node field 107 106 0 string kind strref 108 m46s513 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L3723 L3724 -label L3723 +brif 109 L3780 L3781 +label L3780 load 111 node call 112 ir_emitter_core_ir_emit_unary_expr int 1 111 load 113 node call 114 pith_struct_release void 1 113 ret 112 -label L3724 -label L3722 +label L3781 +label L3779 load 115 node field 116 115 0 string kind strref 117 m46s514 call 118 pith_cstring_eq bool 2 116 117 call 119 pith_cstring_release void 1 117 -brif 118 L3726 L3727 -label L3726 +brif 118 L3783 L3784 +label L3783 load 120 node call 121 ir_emitter_core_ir_emit_binary_expr int 1 120 load 122 node call 123 pith_struct_release void 1 122 ret 121 -label L3727 -label L3725 +label L3784 +label L3782 load 124 node field 125 124 0 string kind strref 126 m46s44 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -brif 127 L3729 L3730 -label L3729 +brif 127 L3786 L3787 +label L3786 load 129 idx load 130 node call 131 ir_emitter_core_ir_emit_static_call int 2 129 130 load 132 node call 133 pith_struct_release void 1 132 ret 131 -label L3730 +label L3787 load 134 idx load 135 node call 136 ir_emitter_core_ir_expr_complex int 2 134 135 load 137 node call 138 pith_struct_release void 1 137 ret 136 -label L3728 +label L3785 load 139 node call 140 pith_struct_release void 1 139 iconst 141 0 @@ -157616,8 +157979,8 @@ field 12 11 16 list children call 13 pith_list_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L3732 L3733 -label L3732 +brif 15 L3789 L3790 +label L3789 load 16 recv_node load 17 node field 18 17 16 list children @@ -157627,46 +157990,46 @@ call 21 ast_get_node struct:Node 1 20 call 22 pith_struct_release void 1 16 store recv_node 21 iconst 23 0 -store __and_23_3737 23 +store __and_23_3794 23 load 24 recv_node field 25 24 0 string kind strref 26 m46s37 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_3737 27 -brif 27 L3737 L3738 -label L3737 +store __and_23_3794 27 +brif 27 L3794 L3795 +label L3794 load 29 ir_alias_registry_ir_module_aliases load 30 recv_node field 31 30 8 string value call 32 contains_key bool 2 29 31 -store __and_23_3737 32 -label L3738 -load 33 __and_23_3737 -brif 33 L3735 L3736 -label L3735 +store __and_23_3794 32 +label L3795 +load 33 __and_23_3794 +brif 33 L3792 L3793 +label L3792 load 34 idx call 35 checker_c_get_expr_type int 1 34 store expr_tid 35 iconst 36 0 -store __and_36_3742 36 +store __and_36_3799 36 load 37 expr_tid iconst 38 0 gte 39 37 38 -store __and_36_3742 39 -brif 39 L3742 L3743 -label L3742 +store __and_36_3799 39 +brif 39 L3799 L3800 +label L3799 load 40 expr_tid call 41 types_get_type_info struct:TypeInfo 1 40 field 42 41 0 string kind strref 43 m46s24 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __and_36_3742 44 -label L3743 -load 46 __and_36_3742 -brif 46 L3740 L3741 -label L3740 +store __and_36_3799 44 +label L3800 +load 46 __and_36_3799 +brif 46 L3797 L3798 +label L3797 load 47 callee load 48 idx call 49 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 48 @@ -157677,8 +158040,8 @@ field 52 51 0 string name call 53 string_len int 1 52 iconst 54 0 gt 55 53 54 -brif 55 L3745 L3746 -label L3745 +brif 55 L3802 L3803 +label L3802 call 56 ir_builder_ir_reg int 0 store r 56 load 57 wrapper @@ -157715,11 +158078,11 @@ call 86 pith_cstring_release void 1 85 load 87 module_path call 88 pith_cstring_release void 1 87 ret 78 -label L3746 -label L3744 -jmp L3739 -label L3741 -label L3739 +label L3803 +label L3801 +jmp L3796 +label L3798 +label L3796 load 89 module_path load 90 ir_alias_registry_ir_module_aliases load 91 recv_node @@ -157731,8 +158094,8 @@ store module_path 93 load 96 module_path load 97 fname call 98 ir_alias_registry_ir_import_declares_global bool 2 96 97 -brif 98 L3748 L3749 -label L3748 +brif 98 L3805 L3806 +label L3805 call 99 ir_builder_ir_reg int 0 store r 99 strref 100 m46s829 @@ -157765,11 +158128,11 @@ call 126 pith_cstring_release void 1 125 load 127 module_path call 128 pith_cstring_release void 1 127 ret 118 -label L3749 -label L3747 -jmp L3734 -label L3736 -label L3734 +label L3806 +label L3804 +jmp L3791 +label L3793 +label L3791 load 129 node field 130 129 16 list children iconst 131 0 @@ -157784,8 +158147,8 @@ store result_r 137 load 138 result_r iconst 139 0 gte 140 138 139 -brif 140 L3751 L3752 -label L3751 +brif 140 L3808 L3809 +label L3808 load 141 result_r load 142 fname call 143 pith_cstring_release void 1 142 @@ -157798,8 +158161,8 @@ call 149 pith_cstring_release void 1 148 load 150 module_path call 151 pith_cstring_release void 1 150 ret 141 -label L3752 -label L3750 +label L3809 +label L3807 load 152 idx load 153 node load 154 obj_r @@ -157815,8 +158178,8 @@ call 163 pith_cstring_release void 1 162 load 164 module_path call 165 pith_cstring_release void 1 164 ret 155 -label L3733 -label L3731 +label L3790 +label L3788 load 166 idx load 167 node iconst 168 0 @@ -157854,12 +158217,12 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 eq 5 3 4 -brif 5 L3754 L3755 -label L3754 +brif 5 L3811 L3812 +label L3811 call 6 ir_emitter_core_ir_emit_zero_value int 0 ret 6 -label L3755 -label L3753 +label L3812 +label L3810 load 7 node field 8 7 16 list children iconst 9 0 @@ -157898,8 +158261,8 @@ load 11 err_kind call 12 string_len int 1 11 iconst 13 0 gt 14 12 13 -brif 14 L3757 L3758 -label L3757 +brif 14 L3814 L3815 +label L3814 load 15 result_r load 16 result_tid strref 17 m46s181 @@ -157909,9 +158272,9 @@ store err_r 18 load 20 err_r load 21 err_kind call 22 ir_ownership_ir_rc_release_reg void 2 20 21 -jmp L3756 -label L3758 -label L3756 +jmp L3813 +label L3815 +label L3813 load 23 err_kind call 24 pith_cstring_release void 1 23 iconst 25 0 @@ -157982,8 +158345,8 @@ load 51 ok_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -brif 54 L3760 L3761 -label L3760 +brif 54 L3817 L3818 +label L3817 load 55 result_r load 56 result_tid strref 57 m46s182 @@ -157993,9 +158356,9 @@ store ok_r 58 load 60 ok_r load 61 ok_kind call 62 ir_ownership_ir_rc_release_reg void 2 60 61 -jmp L3759 -label L3761 -label L3759 +jmp L3816 +label L3818 +label L3816 strref 63 m46s833 load 64 done_l concat 65 63 64 @@ -158122,8 +158485,8 @@ load 70 operand_class strref 71 m46s1202 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -brif 72 L3763 L3764 -label L3763 +brif 72 L3820 L3821 +label L3820 load 74 ok_value_r load 75 result_tid strref 76 m46s182 @@ -158133,8 +158496,8 @@ call 79 ir_struct_registry_ir_rc_kind string 1 77 call 80 pith_cstring_release void 1 77 call 81 ir_ownership_ir_rc_retain_reg void 2 74 79 call 82 pith_cstring_release void 1 79 -jmp L3762 -label L3764 +jmp L3819 +label L3821 call 83 ir_builder_ir_reg int 0 strref 84 m46s898 strref 85 m46s828 @@ -158142,7 +158505,7 @@ load 86 result_r call 87 ir_call_emit_ir_emit_call1 void 4 83 84 85 86 call 88 pith_cstring_release void 1 84 call 89 pith_cstring_release void 1 85 -label L3762 +label L3819 strref 90 m46s830 load 91 temp_name concat 92 90 91 @@ -158172,8 +158535,8 @@ call 116 pith_cstring_eq bool 2 113 114 iconst 117 1 sub 115 117 116 call 118 pith_cstring_release void 1 114 -brif 115 L3766 L3767 -label L3766 +brif 115 L3823 L3824 +label L3823 load 119 result_r load 120 result_tid call 121 ir_emitter_core_ir_emit_release_result_error void 2 119 120 @@ -158184,9 +158547,9 @@ load 125 result_r call 126 ir_call_emit_ir_emit_call1 void 4 122 123 124 125 call 127 pith_cstring_release void 1 123 call 128 pith_cstring_release void 1 124 -jmp L3765 -label L3767 -label L3765 +jmp L3822 +label L3824 +label L3822 load 129 node field 130 129 16 list children iconst 131 1 @@ -158198,8 +158561,8 @@ field 135 134 16 list children iconst 136 1 call 137 pith_list_get_value_strict int 2 135 136 call 138 ir_emitter_core_ir_string_expr_is_borrowed bool 1 137 -brif 138 L3769 L3770 -label L3769 +brif 138 L3826 L3827 +label L3826 load 139 fallback_r load 140 node field 141 140 16 list children @@ -158210,9 +158573,9 @@ call 145 ir_struct_registry_ir_rc_kind string 1 144 call 146 pith_cstring_release void 1 144 call 147 ir_ownership_ir_rc_retain_reg void 2 139 145 call 148 pith_cstring_release void 1 145 -jmp L3768 -label L3770 -label L3768 +jmp L3825 +label L3827 +label L3825 strref 149 m46s830 load 150 temp_name concat 151 149 150 @@ -158279,16 +158642,16 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 gt 5 3 4 -brif 5 L3772 L3773 -label L3772 +brif 5 L3829 L3830 +label L3829 load 6 node field 7 6 16 list children iconst 8 0 call 9 pith_list_get_value_strict int 2 7 8 call 10 ir_emitter_core_ir_expr int 1 9 ret 10 -label L3773 -label L3771 +label L3830 +label L3828 call 11 ir_emitter_core_ir_emit_zero_value int 0 ret 11 iconst 12 0 @@ -158310,13 +158673,13 @@ load 8 kind strref 9 m46s502 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L3775 L3776 -label L3775 +brif 10 L3832 L3833 +label L3832 load 12 idx load 13 ir_match_emit_ir_tail_match_node eq 14 12 13 -brif 14 L3778 L3779 -label L3778 +brif 14 L3835 L3836 +label L3835 load 15 idx load 16 node closure_ref 17 ir_emitter_core___fnval_0 @@ -158330,8 +158693,8 @@ call 24 pith_cstring_release void 1 23 load 25 checked_lit call 26 pith_cstring_release void 1 25 ret 22 -label L3779 -label L3777 +label L3836 +label L3834 load 27 idx load 28 node closure_ref 29 ir_emitter_core___fnval_0 @@ -158344,14 +158707,14 @@ call 35 pith_cstring_release void 1 34 load 36 checked_lit call 37 pith_cstring_release void 1 36 ret 31 -label L3776 -label L3774 +label L3833 +label L3831 load 38 kind strref 39 m46s507 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -brif 40 L3781 L3782 -label L3781 +brif 40 L3838 L3839 +label L3838 load 42 node closure_ref 43 ir_emitter_core___fnval_0 call 44 ir_match_emit_ir_emit_if_expr int 2 42 43 @@ -158361,14 +158724,14 @@ call 47 pith_cstring_release void 1 46 load 48 checked_lit call 49 pith_cstring_release void 1 48 ret 44 -label L3782 -label L3780 +label L3839 +label L3837 load 50 kind strref 51 m46s129 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L3784 L3785 -label L3784 +brif 52 L3841 L3842 +label L3841 load 54 idx call 55 ir_emitter_core_ir_emit_method_call int 1 54 load 56 kind @@ -158376,14 +158739,14 @@ call 57 pith_cstring_release void 1 56 load 58 checked_lit call 59 pith_cstring_release void 1 58 ret 55 -label L3785 -label L3783 +label L3842 +label L3840 load 60 kind strref 61 m46s511 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -brif 62 L3787 L3788 -label L3787 +brif 62 L3844 L3845 +label L3844 load 64 idx call 65 ir_emitter_core_ir_emit_string_interp int 1 64 load 66 kind @@ -158391,37 +158754,37 @@ call 67 pith_cstring_release void 1 66 load 68 checked_lit call 69 pith_cstring_release void 1 68 ret 65 -label L3788 -label L3786 +label L3845 +label L3843 load 70 kind strref 71 m46s19 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -brif 72 L3790 L3791 -label L3790 +brif 72 L3847 L3848 +label L3847 load 74 checked_lit load 75 idx call 76 ir_type_helpers_ir_checked_type string 1 75 call 77 pith_cstring_release void 1 74 store checked_lit 76 iconst 78 0 -store __or_78_3795 78 +store __or_78_3852 78 load 79 checked_lit strref 80 m46s18 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -store __or_78_3795 81 -brif 81 L3796 L3795 -label L3795 +store __or_78_3852 81 +brif 81 L3853 L3852 +label L3852 load 83 checked_lit strref 84 m46s669 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __or_78_3795 85 -label L3796 -load 87 __or_78_3795 -brif 87 L3793 L3794 -label L3793 +store __or_78_3852 85 +label L3853 +load 87 __or_78_3852 +brif 87 L3850 L3851 +label L3850 load 88 idx load 89 node call 90 ir_emitter_core_ir_emit_set_literal int 2 88 89 @@ -158430,8 +158793,8 @@ call 92 pith_cstring_release void 1 91 load 93 checked_lit call 94 pith_cstring_release void 1 93 ret 90 -label L3794 -label L3792 +label L3851 +label L3849 load 95 idx load 96 node call 97 ir_emitter_core_ir_emit_map_literal int 2 95 96 @@ -158440,14 +158803,14 @@ call 99 pith_cstring_release void 1 98 load 100 checked_lit call 101 pith_cstring_release void 1 100 ret 97 -label L3791 -label L3789 +label L3848 +label L3846 load 102 kind strref 103 m46s18 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -brif 104 L3798 L3799 -label L3798 +brif 104 L3855 L3856 +label L3855 load 106 idx load 107 node call 108 ir_emitter_core_ir_emit_set_literal int 2 106 107 @@ -158456,14 +158819,14 @@ call 110 pith_cstring_release void 1 109 load 111 checked_lit call 112 pith_cstring_release void 1 111 ret 108 -label L3799 -label L3797 +label L3856 +label L3854 load 113 kind strref 114 m46s20 call 115 pith_cstring_eq bool 2 113 114 call 116 pith_cstring_release void 1 114 -brif 115 L3801 L3802 -label L3801 +brif 115 L3858 L3859 +label L3858 load 117 idx load 118 node call 119 ir_emitter_core_ir_emit_list_literal int 2 117 118 @@ -158472,14 +158835,14 @@ call 121 pith_cstring_release void 1 120 load 122 checked_lit call 123 pith_cstring_release void 1 122 ret 119 -label L3802 -label L3800 +label L3859 +label L3857 load 124 kind strref 125 m46s23 call 126 pith_cstring_eq bool 2 124 125 call 127 pith_cstring_release void 1 125 -brif 126 L3804 L3805 -label L3804 +brif 126 L3861 L3862 +label L3861 load 128 node call 129 ir_emitter_core_ir_emit_tuple_literal int 1 128 load 130 kind @@ -158487,14 +158850,14 @@ call 131 pith_cstring_release void 1 130 load 132 checked_lit call 133 pith_cstring_release void 1 132 ret 129 -label L3805 -label L3803 +label L3862 +label L3860 load 134 kind strref 135 m46s500 call 136 pith_cstring_eq bool 2 134 135 call 137 pith_cstring_release void 1 135 -brif 136 L3807 L3808 -label L3807 +brif 136 L3864 L3865 +label L3864 load 138 idx load 139 node call 140 ir_emitter_core_ir_emit_struct_init int 2 138 139 @@ -158503,14 +158866,14 @@ call 142 pith_cstring_release void 1 141 load 143 checked_lit call 144 pith_cstring_release void 1 143 ret 140 -label L3808 -label L3806 +label L3865 +label L3863 load 145 kind strref 146 m46s36 call 147 pith_cstring_eq bool 2 145 146 call 148 pith_cstring_release void 1 146 -brif 147 L3810 L3811 -label L3810 +brif 147 L3867 L3868 +label L3867 load 149 idx load 150 node call 151 ir_emitter_core_ir_emit_field_access_expr int 2 149 150 @@ -158519,14 +158882,14 @@ call 153 pith_cstring_release void 1 152 load 154 checked_lit call 155 pith_cstring_release void 1 154 ret 151 -label L3811 -label L3809 +label L3868 +label L3866 load 156 kind strref 157 m46s501 call 158 pith_cstring_eq bool 2 156 157 call 159 pith_cstring_release void 1 157 -brif 158 L3813 L3814 -label L3813 +brif 158 L3870 L3871 +label L3870 load 160 idx call 161 ir_emitter_core_ir_emit_lambda int 1 160 load 162 kind @@ -158534,14 +158897,14 @@ call 163 pith_cstring_release void 1 162 load 164 checked_lit call 165 pith_cstring_release void 1 164 ret 161 -label L3814 -label L3812 +label L3871 +label L3869 load 166 kind strref 167 m46s499 call 168 pith_cstring_eq bool 2 166 167 call 169 pith_cstring_release void 1 167 -brif 168 L3816 L3817 -label L3816 +brif 168 L3873 L3874 +label L3873 load 170 node call 171 ir_emitter_core_ir_emit_spawn_expr int 1 170 load 172 kind @@ -158549,14 +158912,14 @@ call 173 pith_cstring_release void 1 172 load 174 checked_lit call 175 pith_cstring_release void 1 174 ret 171 -label L3817 -label L3815 +label L3874 +label L3872 load 176 kind strref 177 m46s498 call 178 pith_cstring_eq bool 2 176 177 call 179 pith_cstring_release void 1 177 -brif 178 L3819 L3820 -label L3819 +brif 178 L3876 L3877 +label L3876 load 180 node call 181 ir_emitter_core_ir_emit_await_expr int 1 180 load 182 kind @@ -158564,14 +158927,14 @@ call 183 pith_cstring_release void 1 182 load 184 checked_lit call 185 pith_cstring_release void 1 184 ret 181 -label L3820 -label L3818 +label L3877 +label L3875 load 186 kind strref 187 m46s506 call 188 pith_cstring_eq bool 2 186 187 call 189 pith_cstring_release void 1 187 -brif 188 L3822 L3823 -label L3822 +brif 188 L3879 L3880 +label L3879 load 190 node call 191 ir_emitter_core_ir_emit_optional_unwrap int 1 190 load 192 kind @@ -158579,26 +158942,26 @@ call 193 pith_cstring_release void 1 192 load 194 checked_lit call 195 pith_cstring_release void 1 194 ret 191 -label L3823 -label L3821 +label L3880 +label L3878 iconst 196 0 -store __or_196_3827 196 +store __or_196_3884 196 load 197 kind strref 198 m46s505 call 199 pith_cstring_eq bool 2 197 198 call 200 pith_cstring_release void 1 198 -store __or_196_3827 199 -brif 199 L3828 L3827 -label L3827 +store __or_196_3884 199 +brif 199 L3885 L3884 +label L3884 load 201 kind strref 202 m46s550 call 203 pith_cstring_eq bool 2 201 202 call 204 pith_cstring_release void 1 202 -store __or_196_3827 203 -label L3828 -load 205 __or_196_3827 -brif 205 L3825 L3826 -label L3825 +store __or_196_3884 203 +label L3885 +load 205 __or_196_3884 +brif 205 L3882 L3883 +label L3882 load 206 node call 207 ir_emitter_core_ir_emit_try_expr int 1 206 load 208 kind @@ -158606,14 +158969,14 @@ call 209 pith_cstring_release void 1 208 load 210 checked_lit call 211 pith_cstring_release void 1 210 ret 207 -label L3826 -label L3824 +label L3883 +label L3881 load 212 kind strref 213 m46s504 call 214 pith_cstring_eq bool 2 212 213 call 215 pith_cstring_release void 1 213 -brif 214 L3830 L3831 -label L3830 +brif 214 L3887 L3888 +label L3887 load 216 node call 217 ir_emitter_core_ir_emit_catch_expr int 1 216 load 218 kind @@ -158621,14 +158984,14 @@ call 219 pith_cstring_release void 1 218 load 220 checked_lit call 221 pith_cstring_release void 1 220 ret 217 -label L3831 -label L3829 +label L3888 +label L3886 load 222 kind strref 223 m46s503 call 224 pith_cstring_eq bool 2 222 223 call 225 pith_cstring_release void 1 223 -brif 224 L3833 L3834 -label L3833 +brif 224 L3890 L3891 +label L3890 load 226 node call 227 ir_emitter_core_ir_emit_select_expr int 1 226 load 228 kind @@ -158636,14 +158999,14 @@ call 229 pith_cstring_release void 1 228 load 230 checked_lit call 231 pith_cstring_release void 1 230 ret 227 -label L3834 -label L3832 +label L3891 +label L3889 load 232 kind strref 233 m46s557 call 234 pith_cstring_eq bool 2 232 233 call 235 pith_cstring_release void 1 233 -brif 234 L3836 L3837 -label L3836 +brif 234 L3893 L3894 +label L3893 load 236 node call 237 ir_emitter_core_ir_emit_fail_expr int 1 236 load 238 kind @@ -158651,14 +159014,14 @@ call 239 pith_cstring_release void 1 238 load 240 checked_lit call 241 pith_cstring_release void 1 240 ret 237 -label L3837 -label L3835 +label L3894 +label L3892 load 242 kind strref 243 m46s512 call 244 pith_cstring_eq bool 2 242 243 call 245 pith_cstring_release void 1 243 -brif 244 L3839 L3840 -label L3839 +brif 244 L3896 L3897 +label L3896 load 246 node call 247 ir_emitter_core_ir_emit_grouped_expr int 1 246 load 248 kind @@ -158666,14 +159029,14 @@ call 249 pith_cstring_release void 1 248 load 250 checked_lit call 251 pith_cstring_release void 1 250 ret 247 -label L3840 -label L3838 +label L3897 +label L3895 load 252 kind strref 253 m46s35 call 254 pith_cstring_eq bool 2 252 253 call 255 pith_cstring_release void 1 253 -brif 254 L3842 L3843 -label L3842 +brif 254 L3899 L3900 +label L3899 load 256 idx load 257 node call 258 ir_emitter_core_ir_emit_index_expr int 2 256 257 @@ -158682,8 +159045,8 @@ call 260 pith_cstring_release void 1 259 load 261 checked_lit call 262 pith_cstring_release void 1 261 ret 258 -label L3843 -label L3841 +label L3900 +label L3898 call 263 ir_emitter_core_ir_emit_zero_value int 0 load 264 kind call 265 pith_cstring_release void 1 264 @@ -158714,8 +159077,8 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L3845 L3846 -label L3845 +brif 10 L3902 L3903 +label L3902 load 11 node field 12 11 16 list children iconst 13 0 @@ -158735,15 +159098,15 @@ call 24 ast_get_node struct:Node 1 23 call 25 pith_struct_release void 1 19 store expr_node 24 iconst 26 0 -store __and_26_3850 26 +store __and_26_3907 26 load 27 expr_node field 28 27 0 string kind strref 29 m46s37 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __and_26_3850 30 -brif 30 L3850 L3851 -label L3850 +store __and_26_3907 30 +brif 30 L3907 L3908 +label L3907 load 32 expr_node field 33 32 8 string value call 34 ir_emitter_core_ir_rc_local_kind string 1 33 @@ -158751,19 +159114,19 @@ call 35 string_len int 1 34 call 36 pith_cstring_release void 1 34 iconst 37 0 gt 38 35 37 -store __and_26_3850 38 -label L3851 -load 39 __and_26_3850 -brif 39 L3848 L3849 -label L3848 +store __and_26_3907 38 +label L3908 +load 39 __and_26_3907 +brif 39 L3905 L3906 +label L3905 load 40 exclude load 41 expr_node field 42 41 8 string value call 43 pith_cstring_retain void 1 42 call 44 pith_cstring_release void 1 40 store exclude 42 -jmp L3847 -label L3849 +jmp L3904 +label L3906 load 45 ret_kind load 46 node field 47 46 16 list children @@ -158777,31 +159140,31 @@ call 54 pith_cstring_release void 1 51 call 55 pith_cstring_release void 1 45 store ret_kind 53 iconst 56 0 -store __and_56_3855 56 +store __and_56_3912 56 load 57 ret_kind call 58 string_len int 1 57 iconst 59 0 gt 60 58 59 -store __and_56_3855 60 -brif 60 L3855 L3856 -label L3855 +store __and_56_3912 60 +brif 60 L3912 L3913 +label L3912 load 61 node field 62 61 16 list children iconst 63 0 call 64 pith_list_get_value_strict int 2 62 63 call 65 ir_emitter_core_ir_string_expr_is_borrowed bool 1 64 -store __and_56_3855 65 -label L3856 -load 66 __and_56_3855 -brif 66 L3853 L3854 -label L3853 +store __and_56_3912 65 +label L3913 +load 66 __and_56_3912 +brif 66 L3910 L3911 +label L3910 load 67 r load 68 ret_kind call 69 ir_ownership_ir_rc_retain_reg void 2 67 68 -jmp L3852 -label L3854 -label L3852 -label L3847 +jmp L3909 +label L3911 +label L3909 +label L3904 load 70 result_kind load 71 node field 72 71 16 list children @@ -158823,8 +159186,8 @@ store expr_kind 83 load 85 expr_tid iconst 86 0 gte 87 85 86 -brif 87 L3858 L3859 -label L3858 +brif 87 L3915 L3916 +label L3915 load 88 expr_kind load 89 expr_tid call 90 types_get_type_info struct:TypeInfo 1 89 @@ -158832,25 +159195,25 @@ field 91 90 0 string kind call 92 pith_cstring_retain void 1 91 call 93 pith_cstring_release void 1 88 store expr_kind 91 -jmp L3857 -label L3859 -label L3857 +jmp L3914 +label L3916 +label L3914 load 94 ir_emitter_core_ir_current_func_optional_inner_kind call 95 string_len int 1 94 iconst 96 0 gt 97 95 96 -brif 97 L3861 L3862 -label L3861 +brif 97 L3918 L3919 +label L3918 iconst 98 0 -store __and_98_3863 98 +store __and_98_3920 98 load 99 expr_node field 100 99 0 string kind strref 101 m46s37 call 102 pith_cstring_eq bool 2 100 101 call 103 pith_cstring_release void 1 101 -store __and_98_3863 102 -brif 102 L3863 L3864 -label L3863 +store __and_98_3920 102 +brif 102 L3920 L3921 +label L3920 load 104 expr_node field 105 104 8 string value call 106 ir_emitter_core_ir_rc_local_kind string 1 105 @@ -158858,97 +159221,97 @@ strref 107 m46s23 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 106 call 110 pith_cstring_release void 1 107 -store __and_98_3863 108 -label L3864 -load 111 __and_98_3863 +store __and_98_3920 108 +label L3921 +load 111 __and_98_3920 store ident_tuple_local 111 iconst 112 0 -store __or_112_3865 112 +store __or_112_3922 112 load 113 expr_kind strref 114 m46s21 call 115 pith_cstring_eq bool 2 113 114 call 116 pith_cstring_release void 1 114 -store __or_112_3865 115 -brif 115 L3866 L3865 -label L3865 +store __or_112_3922 115 +brif 115 L3923 L3922 +label L3922 iconst 117 0 -store __and_117_3867 117 +store __and_117_3924 117 iconst 118 0 -store __or_118_3867 118 +store __or_118_3924 118 load 119 result_kind strref 120 m46s23 call 121 pith_cstring_eq bool 2 119 120 call 122 pith_cstring_release void 1 120 -store __or_118_3867 121 -brif 121 L3868 L3867 -label L3867 +store __or_118_3924 121 +brif 121 L3925 L3924 +label L3924 load 123 ident_tuple_local -store __or_118_3867 123 -label L3868 -load 124 __or_118_3867 -store __and_117_3867 124 -brif 124 L3869 L3870 -label L3869 +store __or_118_3924 123 +label L3925 +load 124 __or_118_3924 +store __and_117_3924 124 +brif 124 L3926 L3927 +label L3926 load 125 ir_emitter_core_ir_current_func_optional_inner_kind strref 126 m46s23 call 128 pith_cstring_eq bool 2 125 126 iconst 129 1 sub 127 129 128 call 130 pith_cstring_release void 1 126 -store __and_117_3867 127 -label L3870 -load 131 __and_117_3867 -store __or_112_3865 131 -label L3866 -load 132 __or_112_3865 +store __and_117_3924 127 +label L3927 +load 131 __and_117_3924 +store __or_112_3922 131 +label L3923 +load 132 __or_112_3922 store already_optional 132 load 133 expr_node field 134 133 0 string kind strref 135 m46s56 call 136 pith_cstring_eq bool 2 134 135 call 137 pith_cstring_release void 1 135 -brif 136 L3872 L3873 -label L3872 +brif 136 L3929 L3930 +label L3929 call 138 ir_optionals_ir_emit_optional_none_value int 0 store r 138 -jmp L3871 -label L3873 +jmp L3928 +label L3930 load 139 already_optional iconst 140 0 eq 141 139 140 -brif 141 L3874 L3875 -label L3874 +brif 141 L3931 L3932 +label L3931 load 142 r call 143 ir_optionals_ir_emit_optional_some_value int 1 142 store r 143 -jmp L3871 -label L3875 -label L3871 -jmp L3860 -label L3862 +jmp L3928 +label L3932 +label L3928 +jmp L3917 +label L3919 load 144 ir_builder_ir_current_func_return_kind strref 145 m46s23 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 -brif 146 L3876 L3877 -label L3876 +brif 146 L3933 L3934 +label L3933 load 148 result_kind strref 149 m46s23 call 151 pith_cstring_eq bool 2 148 149 iconst 152 1 sub 150 152 151 call 153 pith_cstring_release void 1 149 -brif 150 L3879 L3880 -label L3879 +brif 150 L3936 L3937 +label L3936 load 154 r call 155 ir_emitter_core_ir_emit_ok_result_tuple int 1 154 store r 155 -jmp L3878 -label L3880 -label L3878 -jmp L3860 -label L3877 -label L3860 +jmp L3935 +label L3937 +label L3935 +jmp L3917 +label L3934 +label L3917 iconst 156 0 call 157 ir_emitter_core_ir_defer_emit_to_function_frame void 1 156 load 158 exclude @@ -158961,8 +159324,8 @@ call 164 pith_cstring_release void 1 160 call 165 pith_cstring_release void 1 162 call 166 ir_builder_ir_emit void 1 163 call 167 pith_cstring_release void 1 163 -jmp L3844 -label L3846 +jmp L3901 +label L3903 iconst 168 0 call 169 ir_emitter_core_ir_defer_emit_to_function_frame void 1 168 strref 170 m46s82 @@ -158990,7 +159353,7 @@ call 190 pith_cstring_release void 1 186 call 191 pith_cstring_release void 1 188 call 192 ir_builder_ir_emit void 1 189 call 193 pith_cstring_release void 1 189 -label L3844 +label L3901 iconst 194 1 store ir_call_emit_ir_last_was_ret 194 load 195 exclude @@ -159023,35 +159386,35 @@ store substituted 7 iconst 8 0 store ctor 8 iconst 9 0 -store __or_9_3884 9 +store __or_9_3941 9 iconst 10 0 -store __or_10_3884 10 +store __or_10_3941 10 load 11 bind_target strref 12 m46s20 call 14 pith_cstring_eq bool 2 11 12 iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 12 -store __or_10_3884 13 -brif 13 L3885 L3884 -label L3884 +store __or_10_3941 13 +brif 13 L3942 L3941 +label L3941 load 17 val_idx iconst 18 0 lt 19 17 18 -store __or_10_3884 19 -label L3885 -load 20 __or_10_3884 -store __or_9_3884 20 -brif 20 L3887 L3886 -label L3886 +store __or_10_3941 19 +label L3942 +load 20 __or_10_3941 +store __or_9_3941 20 +brif 20 L3944 L3943 +label L3943 load 21 type_idx iconst 22 0 lt 23 21 22 -store __or_9_3884 23 -label L3887 -load 24 __or_9_3884 -brif 24 L3882 L3883 -label L3882 +store __or_9_3941 23 +label L3944 +load 24 __or_9_3941 +brif 24 L3939 L3940 +label L3939 strref 25 m46s82 load 26 vn call 27 pith_struct_release void 1 26 @@ -159066,26 +159429,26 @@ call 35 pith_cstring_release void 1 34 load 36 ctor call 37 pith_cstring_release void 1 36 ret 25 -label L3883 -label L3881 +label L3940 +label L3938 iconst 38 0 -store __and_38_3891 38 +store __and_38_3948 38 load 39 ir_alias_registry_ir_active_generic_params call 40 pith_list_len int 1 39 iconst 41 0 eq 42 40 41 -store __and_38_3891 42 -brif 42 L3891 L3892 -label L3891 +store __and_38_3948 42 +brif 42 L3948 L3949 +label L3948 load 43 ir_emitter_core_ir_current_impl_subst_params call 44 pith_list_len int 1 43 iconst 45 0 eq 46 44 45 -store __and_38_3891 46 -label L3892 -load 47 __and_38_3891 -brif 47 L3889 L3890 -label L3889 +store __and_38_3948 46 +label L3949 +load 47 __and_38_3948 +brif 47 L3946 L3947 +label L3946 strref 48 m46s82 load 49 vn call 50 pith_struct_release void 1 49 @@ -159100,15 +159463,15 @@ call 58 pith_cstring_release void 1 57 load 59 ctor call 60 pith_cstring_release void 1 59 ret 48 -label L3890 -label L3888 +label L3947 +label L3945 load 61 vn load 62 val_idx call 63 ast_get_node struct:Node 1 62 call 64 pith_struct_release void 1 61 store vn 63 iconst 65 0 -store __or_65_3896 65 +store __or_65_3953 65 load 66 vn field 67 66 0 string kind strref 68 m46s20 @@ -159116,19 +159479,19 @@ call 70 pith_cstring_eq bool 2 67 68 iconst 71 1 sub 69 71 70 call 72 pith_cstring_release void 1 68 -store __or_65_3896 69 -brif 69 L3897 L3896 -label L3896 +store __or_65_3953 69 +brif 69 L3954 L3953 +label L3953 load 73 vn field 74 73 16 list children call 75 pith_list_len int 1 74 iconst 76 0 gt 77 75 76 -store __or_65_3896 77 -label L3897 -load 78 __or_65_3896 -brif 78 L3894 L3895 -label L3894 +store __or_65_3953 77 +label L3954 +load 78 __or_65_3953 +brif 78 L3951 L3952 +label L3951 strref 79 m46s82 load 80 vn call 81 pith_struct_release void 1 80 @@ -159143,17 +159506,17 @@ call 89 pith_cstring_release void 1 88 load 90 ctor call 91 pith_cstring_release void 1 90 ret 79 -label L3895 -label L3893 +label L3952 +label L3950 load 92 tn load 93 type_idx call 94 ast_get_node struct:Node 1 93 call 95 pith_struct_release void 1 92 store tn 94 iconst 96 0 -store __or_96_3901 96 +store __or_96_3958 96 iconst 97 0 -store __or_97_3901 97 +store __or_97_3958 97 load 98 tn field 99 98 0 string kind strref 100 m46s327 @@ -159161,9 +159524,9 @@ call 102 pith_cstring_eq bool 2 99 100 iconst 103 1 sub 101 103 102 call 104 pith_cstring_release void 1 100 -store __or_97_3901 101 -brif 101 L3902 L3901 -label L3901 +store __or_97_3958 101 +brif 101 L3959 L3958 +label L3958 load 105 tn field 106 105 8 string value strref 107 m46s326 @@ -159171,22 +159534,22 @@ call 109 pith_cstring_eq bool 2 106 107 iconst 110 1 sub 108 110 109 call 111 pith_cstring_release void 1 107 -store __or_97_3901 108 -label L3902 -load 112 __or_97_3901 -store __or_96_3901 112 -brif 112 L3904 L3903 -label L3903 +store __or_97_3958 108 +label L3959 +load 112 __or_97_3958 +store __or_96_3958 112 +brif 112 L3961 L3960 +label L3960 load 113 tn field 114 113 16 list children call 115 pith_list_len int 1 114 iconst 116 0 eq 117 115 116 -store __or_96_3901 117 -label L3904 -load 118 __or_96_3901 -brif 118 L3899 L3900 -label L3899 +store __or_96_3958 117 +label L3961 +load 118 __or_96_3958 +brif 118 L3956 L3957 +label L3956 strref 119 m46s82 load 120 vn call 121 pith_struct_release void 1 120 @@ -159201,8 +159564,8 @@ call 129 pith_cstring_release void 1 128 load 130 ctor call 131 pith_cstring_release void 1 130 ret 119 -label L3900 -label L3898 +label L3957 +label L3955 load 132 elem load 133 tn field 134 133 16 list children @@ -159217,8 +159580,8 @@ call 141 string_len int 1 140 call 142 pith_cstring_release void 1 140 iconst 143 0 eq 144 141 143 -brif 144 L3906 L3907 -label L3906 +brif 144 L3963 L3964 +label L3963 load 145 inner load 146 tn field 147 146 16 list children @@ -159232,8 +159595,8 @@ field 153 152 0 string kind strref 154 m46s328 call 155 pith_cstring_eq bool 2 153 154 call 156 pith_cstring_release void 1 154 -brif 155 L3909 L3910 -label L3909 +brif 155 L3966 L3967 +label L3966 load 157 substituted load 158 inner field 159 158 8 string value @@ -159246,22 +159609,22 @@ field 164 163 8 string value call 166 pith_cstring_eq bool 2 162 164 iconst 167 1 sub 165 167 166 -brif 165 L3912 L3913 -label L3912 +brif 165 L3969 L3970 +label L3969 load 168 elem load 169 substituted call 170 ir_alias_registry_ir_resolve_type_hint string 1 169 call 171 pith_cstring_release void 1 168 store elem 170 -jmp L3911 -label L3913 -label L3911 -jmp L3908 -label L3910 -label L3908 -jmp L3905 -label L3907 -label L3905 +jmp L3968 +label L3970 +label L3968 +jmp L3965 +label L3967 +label L3965 +jmp L3962 +label L3964 +label L3962 load 172 ctor load 173 elem call 174 ir_struct_registry_ir_rc_kind string 1 173 @@ -159273,8 +159636,8 @@ load 178 ctor strref 179 m46s764 call 180 pith_cstring_eq bool 2 178 179 call 181 pith_cstring_release void 1 179 -brif 180 L3915 L3916 -label L3915 +brif 180 L3972 L3973 +label L3972 strref 182 m46s82 load 183 vn call 184 pith_struct_release void 1 183 @@ -159289,8 +159652,8 @@ call 192 pith_cstring_release void 1 191 load 193 ctor call 194 pith_cstring_release void 1 193 ret 182 -label L3916 -label L3914 +label L3973 +label L3971 load 195 ctor load 196 vn call 197 pith_struct_release void 1 196 @@ -159362,46 +159725,46 @@ load 24 parts field 25 24 16 int type_idx store type_idx 25 iconst 26 0 -store __and_26_3920 26 +store __and_26_3977 26 load 27 type_idx iconst 28 0 lt 29 27 28 -store __and_26_3920 29 -brif 29 L3920 L3921 -label L3920 +store __and_26_3977 29 +brif 29 L3977 L3978 +label L3977 load 30 val_idx iconst 31 0 gte 32 30 31 -store __and_26_3920 32 -label L3921 -load 33 __and_26_3920 -brif 33 L3918 L3919 -label L3918 +store __and_26_3977 32 +label L3978 +load 33 __and_26_3977 +brif 33 L3975 L3976 +label L3975 load 34 vn load 35 val_idx call 36 ast_get_node struct:Node 1 35 call 37 pith_struct_release void 1 34 store vn 36 iconst 38 0 -store __and_38_3925 38 +store __and_38_3982 38 load 39 vn field 40 39 0 string kind strref 41 m46s44 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __and_38_3925 42 -brif 42 L3925 L3926 -label L3925 +store __and_38_3982 42 +brif 42 L3982 L3983 +label L3982 load 44 vn field 45 44 16 list children call 46 pith_list_len int 1 45 iconst 47 0 gt 48 46 47 -store __and_38_3925 48 -label L3926 -load 49 __and_38_3925 -brif 49 L3923 L3924 -label L3923 +store __and_38_3982 48 +label L3983 +load 49 __and_38_3982 +brif 49 L3980 L3981 +label L3980 load 50 callee_n load 51 vn field 52 51 16 list children @@ -159411,24 +159774,24 @@ call 55 ast_get_node struct:Node 1 54 call 56 pith_struct_release void 1 50 store callee_n 55 iconst 57 0 -store __and_57_3930 57 +store __and_57_3987 57 load 58 callee_n field 59 58 0 string kind strref 60 m46s37 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -store __and_57_3930 61 -brif 61 L3930 L3931 -label L3930 +store __and_57_3987 61 +brif 61 L3987 L3988 +label L3987 load 63 ir_emitter_core_ir_closure_return_kinds load 64 callee_n field 65 64 8 string value call 66 contains_key bool 2 63 65 -store __and_57_3930 66 -label L3931 -load 67 __and_57_3930 -brif 67 L3928 L3929 -label L3928 +store __and_57_3987 66 +label L3988 +load 67 __and_57_3987 +brif 67 L3985 L3986 +label L3985 load 68 ir_builder_ir_var_types load 69 name load 70 ir_emitter_core_ir_closure_return_kinds @@ -159436,43 +159799,43 @@ load 71 callee_n field 72 71 8 string value call 73 map_get_strict string 2 70 72 call 74 map_insert void 3 68 69 73 -jmp L3927 -label L3929 -label L3927 -jmp L3922 -label L3924 +jmp L3984 +label L3986 +label L3984 +jmp L3979 +label L3981 iconst 75 0 -store __and_75_3934 75 +store __and_75_3991 75 iconst 76 0 -store __and_76_3934 76 +store __and_76_3991 76 load 77 vn field 78 77 0 string kind strref 79 m46s36 call 80 pith_cstring_eq bool 2 78 79 call 81 pith_cstring_release void 1 79 -store __and_76_3934 80 -brif 80 L3934 L3935 -label L3934 +store __and_76_3991 80 +brif 80 L3991 L3992 +label L3991 load 82 vn field 83 82 16 list children call 84 pith_list_len int 1 83 iconst 85 0 gt 86 84 85 -store __and_76_3934 86 -label L3935 -load 87 __and_76_3934 -store __and_75_3934 87 -brif 87 L3936 L3937 -label L3936 +store __and_76_3991 86 +label L3992 +load 87 __and_76_3991 +store __and_75_3991 87 +brif 87 L3993 L3994 +label L3993 load 88 ir_emitter_core_ir_current_impl_type call 89 string_len int 1 88 iconst 90 0 gt 91 89 90 -store __and_75_3934 91 -label L3937 -load 92 __and_75_3934 -brif 92 L3932 L3933 -label L3932 +store __and_75_3991 91 +label L3994 +load 92 __and_75_3991 +brif 92 L3989 L3990 +label L3989 load 93 recv load 94 vn field 95 94 16 list children @@ -159486,8 +159849,8 @@ field 101 100 0 string kind strref 102 m46s515 call 103 pith_cstring_eq bool 2 101 102 call 104 pith_cstring_release void 1 102 -brif 103 L3939 L3940 -label L3939 +brif 103 L3996 L3997 +label L3996 load 105 field_kind load 106 ir_emitter_core_ir_current_impl_type call 107 ir_method_tables_ir_strip_type_args string 1 106 @@ -159501,24 +159864,24 @@ load 113 field_kind call 114 string_len int 1 113 iconst 115 0 gt 116 114 115 -brif 116 L3942 L3943 -label L3942 +brif 116 L3999 L4000 +label L3999 load 117 ir_emitter_core_ir_closure_return_kinds load 118 name load 119 field_kind call 120 map_insert void 3 117 118 119 -jmp L3941 -label L3943 -label L3941 -jmp L3938 -label L3940 -label L3938 -jmp L3922 -label L3933 -label L3922 -jmp L3917 -label L3919 -label L3917 +jmp L3998 +label L4000 +label L3998 +jmp L3995 +label L3997 +label L3995 +jmp L3979 +label L3990 +label L3979 +jmp L3974 +label L3976 +label L3974 load 121 target_type strref 122 m46s82 call 123 pith_cstring_release void 1 121 @@ -159526,8 +159889,8 @@ store target_type 122 load 124 type_idx iconst 125 0 gte 126 124 125 -brif 126 L3945 L3946 -label L3945 +brif 126 L4002 L4003 +label L4002 load 127 target_type load 128 type_idx call 129 ir_alias_registry_ir_resolve_type_node string 1 128 @@ -159537,15 +159900,15 @@ load 131 target_type call 132 string_len int 1 131 iconst 133 0 gt 134 132 133 -brif 134 L3948 L3949 -label L3948 +brif 134 L4005 L4006 +label L4005 load 135 ir_builder_ir_var_types load 136 name load 137 target_type call 138 map_insert void 3 135 136 137 -jmp L3947 -label L3949 -label L3947 +jmp L4004 +label L4006 +label L4004 load 139 map_value_type load 140 type_idx call 141 ir_alias_registry_ir_resolve_map_value_type_node string 1 140 @@ -159555,23 +159918,23 @@ load 143 map_value_type call 144 string_len int 1 143 iconst 145 0 gt 146 144 145 -brif 146 L3951 L3952 -label L3951 +brif 146 L4008 L4009 +label L4008 load 147 ir_emitter_core_ir_map_value_types load 148 name load 149 map_value_type call 150 map_insert void 3 147 148 149 -jmp L3950 -label L3952 -label L3950 -jmp L3944 -label L3946 -label L3944 +jmp L4007 +label L4009 +label L4007 +jmp L4001 +label L4003 +label L4001 load 151 val_idx iconst 152 0 gte 153 151 152 -brif 153 L3954 L3955 -label L3954 +brif 153 L4011 L4012 +label L4011 load 154 bind_kind load 155 name call 156 ir_emitter_core_ir_rc_local_kind string 1 155 @@ -159587,26 +159950,26 @@ iconst 163 1 sub 164 162 163 store old_r 164 iconst 165 0 -store __and_165_3959 165 +store __and_165_4016 165 load 166 tracked -store __and_165_3959 166 -brif 166 L3959 L3960 -label L3959 +store __and_165_4016 166 +brif 166 L4016 L4017 +label L4016 load 167 bind_kind call 168 ir_ownership_ir_rc_release_enabled bool 1 167 -store __and_165_3959 168 -label L3960 -load 169 __and_165_3959 -brif 169 L3957 L3958 -label L3957 +store __and_165_4016 168 +label L4017 +load 169 __and_165_4016 +brif 169 L4014 L4015 +label L4014 call 170 ir_builder_ir_reg int 0 store old_r 170 load 171 old_r load 172 name call 173 ir_emitter_core_ir_emit_name_load void 2 171 172 -jmp L3956 -label L3958 -label L3956 +jmp L4013 +label L4015 +label L4013 load 174 bind_target load 175 name load 176 target_type @@ -159628,8 +159991,8 @@ load 188 annot_ctor call 189 string_len int 1 188 iconst 190 0 gt 191 189 190 -brif 191 L3962 L3963 -label L3962 +brif 191 L4019 L4020 +label L4019 call 192 ir_builder_ir_reg int 0 store r 192 load 193 r @@ -159637,66 +160000,66 @@ load 194 annot_ctor strref 195 m46s20 call 196 ir_call_emit_ir_emit_call0 void 3 193 194 195 call 197 pith_cstring_release void 1 195 -jmp L3961 -label L3963 -label L3961 +jmp L4018 +label L4020 +label L4018 load 198 r iconst 199 0 lt 200 198 199 -brif 200 L3965 L3966 -label L3965 +brif 200 L4022 L4023 +label L4022 load 201 val_idx load 202 bind_target call 203 ir_emitter_core_ir_emit_value_for_target int 2 201 202 store r 203 -jmp L3964 -label L3966 -label L3964 +jmp L4021 +label L4023 +label L4021 iconst 204 0 -store __and_204_3970 204 +store __and_204_4027 204 iconst 205 0 -store __and_205_3970 205 +store __and_205_4027 205 load 206 tracked -store __and_205_3970 206 -brif 206 L3970 L3971 -label L3970 +store __and_205_4027 206 +brif 206 L4027 L4028 +label L4027 load 207 bind_target strref 208 m46s23 call 210 pith_cstring_eq bool 2 207 208 iconst 211 1 sub 209 211 210 call 212 pith_cstring_release void 1 208 -store __and_205_3970 209 -label L3971 -load 213 __and_205_3970 -store __and_204_3970 213 -brif 213 L3972 L3973 -label L3972 +store __and_205_4027 209 +label L4028 +load 213 __and_205_4027 +store __and_204_4027 213 +brif 213 L4029 L4030 +label L4029 load 214 val_idx call 215 ir_emitter_core_ir_string_expr_is_borrowed bool 1 214 -store __and_204_3970 215 -label L3973 -load 216 __and_204_3970 -brif 216 L3968 L3969 -label L3968 +store __and_204_4027 215 +label L4030 +load 216 __and_204_4027 +brif 216 L4025 L4026 +label L4025 load 217 r load 218 bind_kind call 219 ir_ownership_ir_rc_retain_reg void 2 217 218 -jmp L3967 -label L3969 -label L3967 +jmp L4024 +label L4026 +label L4024 load 220 old_r iconst 221 0 gte 222 220 221 -brif 222 L3975 L3976 -label L3975 +brif 222 L4032 L4033 +label L4032 load 223 old_r load 224 bind_kind load 225 name call 226 ir_emitter_core_ir_rc_release_local void 3 223 224 225 -jmp L3974 -label L3976 -label L3974 +jmp L4031 +label L4033 +label L4031 load 227 ir_builder_ir_var_regs load 228 name load 229 r @@ -159709,8 +160072,8 @@ load 235 name call 236 contains_key bool 2 234 235 iconst 238 1 sub 237 238 236 -brif 237 L3978 L3979 -label L3978 +brif 237 L4035 L4036 +label L4035 load 239 inferred load 240 val_idx call 241 ir_emitter_core_ir_infer_type string 1 240 @@ -159720,21 +160083,21 @@ load 243 inferred call 244 string_len int 1 243 iconst 245 0 gt 246 244 245 -brif 246 L3981 L3982 -label L3981 +brif 246 L4038 L4039 +label L4038 load 247 ir_builder_ir_var_types load 248 name load 249 inferred call 250 map_insert void 3 247 248 249 -jmp L3980 -label L3982 -label L3980 -jmp L3977 -label L3979 -label L3977 -jmp L3953 -label L3955 -label L3953 +jmp L4037 +label L4039 +label L4037 +jmp L4034 +label L4036 +label L4034 +jmp L4010 +label L4012 +label L4010 load 251 parts call 252 pith_struct_release void 1 251 load 253 name @@ -159781,8 +160144,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 gte 13 11 12 -brif 13 L3984 L3985 -label L3984 +brif 13 L4041 L4042 +label L4041 load 14 node field 15 14 16 list children iconst 16 0 @@ -159792,8 +160155,8 @@ field 19 18 16 list children iconst 20 1 call 21 pith_list_get_value_strict int 2 19 20 call 22 ir_emitter_core_ir_emit_index_assignment bool 2 17 21 -brif 22 L3987 L3988 -label L3987 +brif 22 L4044 L4045 +label L4044 load 23 name call 24 pith_cstring_release void 1 23 load 25 legacy_kind @@ -159802,18 +160165,18 @@ load 27 legacy_target call 28 pith_cstring_release void 1 27 iconst 29 0 ret 29 -label L3988 -label L3986 -jmp L3983 -label L3985 -label L3983 +label L4045 +label L4043 +jmp L4040 +label L4042 +label L4040 load 30 node field 31 30 16 list children call 32 pith_list_len int 1 31 iconst 33 0 gt 34 32 33 -brif 34 L3990 L3991 -label L3990 +brif 34 L4047 L4048 +label L4047 load 35 legacy_kind load 36 name call 37 ir_emitter_core_ir_lookup_name_type string 1 36 @@ -159833,82 +160196,82 @@ iconst 48 1 sub 49 47 48 store old_r 49 iconst 50 0 -store __and_50_3995 50 +store __and_50_4052 50 load 51 legacy_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -store __and_50_3995 54 -brif 54 L3995 L3996 -label L3995 +store __and_50_4052 54 +brif 54 L4052 L4053 +label L4052 load 55 legacy_kind call 56 ir_ownership_ir_rc_release_enabled bool 1 55 -store __and_50_3995 56 -label L3996 -load 57 __and_50_3995 -brif 57 L3993 L3994 -label L3993 +store __and_50_4052 56 +label L4053 +load 57 __and_50_4052 +brif 57 L4050 L4051 +label L4050 iconst 58 0 -store __or_58_4000 58 +store __or_58_4057 58 load 59 tracked -store __or_58_4000 59 -brif 59 L4001 L4000 -label L4000 +store __or_58_4057 59 +brif 59 L4058 L4057 +label L4057 iconst 60 0 -store __and_60_4002 60 +store __and_60_4059 60 load 61 legacy_kind strref 62 m46s675 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __and_60_4002 63 -brif 63 L4002 L4003 -label L4002 +store __and_60_4059 63 +brif 63 L4059 L4060 +label L4059 load 65 ir_alias_registry_ir_global_string_names load 66 name iconst 67 -1 -store __list_index_result_L4004 67 +store __list_index_result_L4061 67 iconst 68 0 -store __list_index_i_L4005 68 +store __list_index_i_L4062 68 call 69 pith_list_len int 1 65 -label L4006 -load 70 __list_index_i_L4005 +label L4063 +load 70 __list_index_i_L4062 lt 71 70 69 -brif 71 L4007 L4010 -label L4007 +brif 71 L4064 L4067 +label L4064 call 72 pith_list_get_value string 2 65 70 call 73 pith_cstring_eq bool 2 72 66 -brif 73 L4008 L4009 -label L4008 -store __list_index_result_L4004 70 -jmp L4010 -label L4009 +brif 73 L4065 L4066 +label L4065 +store __list_index_result_L4061 70 +jmp L4067 +label L4066 iconst 74 1 add 75 70 74 -store __list_index_i_L4005 75 -jmp L4006 -label L4010 -load 76 __list_index_result_L4004 +store __list_index_i_L4062 75 +jmp L4063 +label L4067 +load 76 __list_index_result_L4061 iconst 77 0 gte 78 76 77 -store __and_60_4002 78 -label L4003 -load 79 __and_60_4002 -store __or_58_4000 79 -label L4001 -load 80 __or_58_4000 -brif 80 L3998 L3999 -label L3998 +store __and_60_4059 78 +label L4060 +load 79 __and_60_4059 +store __or_58_4057 79 +label L4058 +load 80 __or_58_4057 +brif 80 L4055 L4056 +label L4055 call 81 ir_builder_ir_reg int 0 store old_r 81 load 82 old_r load 83 name call 84 ir_emitter_core_ir_emit_name_load void 2 82 83 -jmp L3997 -label L3999 -label L3997 -jmp L3992 -label L3994 -label L3992 +jmp L4054 +label L4056 +label L4054 +jmp L4049 +label L4051 +label L4049 load 85 legacy_target load 86 name load 87 name @@ -159925,56 +160288,56 @@ load 96 legacy_target call 97 ir_emitter_core_ir_emit_value_for_target int 2 95 96 store r 97 iconst 98 0 -store __and_98_4014 98 +store __and_98_4071 98 iconst 99 0 -store __and_99_4014 99 +store __and_99_4071 99 load 100 legacy_kind call 101 string_len int 1 100 iconst 102 0 gt 103 101 102 -store __and_99_4014 103 -brif 103 L4014 L4015 -label L4014 +store __and_99_4071 103 +brif 103 L4071 L4072 +label L4071 load 104 legacy_target strref 105 m46s23 call 107 pith_cstring_eq bool 2 104 105 iconst 108 1 sub 106 108 107 call 109 pith_cstring_release void 1 105 -store __and_99_4014 106 -label L4015 -load 110 __and_99_4014 -store __and_98_4014 110 -brif 110 L4016 L4017 -label L4016 +store __and_99_4071 106 +label L4072 +load 110 __and_99_4071 +store __and_98_4071 110 +brif 110 L4073 L4074 +label L4073 load 111 node field 112 111 16 list children iconst 113 0 call 114 pith_list_get_value_strict int 2 112 113 call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_98_4014 115 -label L4017 -load 116 __and_98_4014 -brif 116 L4012 L4013 -label L4012 +store __and_98_4071 115 +label L4074 +load 116 __and_98_4071 +brif 116 L4069 L4070 +label L4069 load 117 r load 118 legacy_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L4011 -label L4013 -label L4011 +jmp L4068 +label L4070 +label L4068 load 120 old_r iconst 121 0 gte 122 120 121 -brif 122 L4019 L4020 -label L4019 +brif 122 L4076 L4077 +label L4076 load 123 old_r load 124 legacy_kind load 125 name call 126 ir_emitter_core_ir_rc_release_local void 3 123 124 125 -jmp L4018 -label L4020 -label L4018 +jmp L4075 +label L4077 +label L4075 load 127 ir_builder_ir_var_regs load 128 name load 129 r @@ -159982,9 +160345,9 @@ call 130 map_insert void 3 127 128 129 load 131 name load 132 r call 133 ir_emitter_core_ir_emit_name_store void 2 131 132 -jmp L3989 -label L3991 -label L3989 +jmp L4046 +label L4048 +label L4046 load 134 name call 135 pith_cstring_release void 1 134 load 136 legacy_kind @@ -160014,8 +160377,8 @@ store direct 9 load 11 ir_struct_registry_ir_struct_field_index_lookup load 12 direct call 13 contains_key bool 2 11 12 -brif 13 L4022 L4023 -label L4022 +brif 13 L4079 L4080 +label L4079 load 14 direct load 15 recv_type call 16 pith_cstring_release void 1 15 @@ -160024,8 +160387,8 @@ call 18 pith_cstring_release void 1 17 load 19 base_key call 20 pith_cstring_release void 1 19 ret 14 -label L4023 -label L4021 +label L4080 +label L4078 load 21 recv_type load 22 recv_idx call 23 ir_emitter_core_ir_field_receiver_type string 1 22 @@ -160041,8 +160404,8 @@ load 30 recv_type call 32 pith_cstring_eq bool 2 29 30 iconst 33 1 sub 31 33 32 -brif 31 L4025 L4026 -label L4025 +brif 31 L4082 L4083 +label L4082 load 34 base_key load 35 base strref 36 m46s26 @@ -160056,8 +160419,8 @@ store base_key 40 load 43 ir_struct_registry_ir_struct_field_index_lookup load 44 base_key call 45 contains_key bool 2 43 44 -brif 45 L4028 L4029 -label L4028 +brif 45 L4085 L4086 +label L4085 load 46 base_key load 47 direct call 48 pith_cstring_release void 1 47 @@ -160066,11 +160429,11 @@ call 50 pith_cstring_release void 1 49 load 51 base call 52 pith_cstring_release void 1 51 ret 46 -label L4029 -label L4027 -jmp L4024 -label L4026 -label L4024 +label L4086 +label L4084 +jmp L4081 +label L4083 +label L4081 strref 53 m46s82 load 54 direct call 55 pith_cstring_release void 1 54 @@ -160113,7 +160476,7 @@ call 10 ast_get_node struct:Node 1 9 call 11 pith_struct_release void 1 8 store target 10 iconst 12 0 -store __or_12_4033 12 +store __or_12_4090 12 load 13 target field 14 13 0 string kind strref 15 m46s36 @@ -160121,19 +160484,19 @@ call 17 pith_cstring_eq bool 2 14 15 iconst 18 1 sub 16 18 17 call 19 pith_cstring_release void 1 15 -store __or_12_4033 16 -brif 16 L4034 L4033 -label L4033 +store __or_12_4090 16 +brif 16 L4091 L4090 +label L4090 load 20 target field 21 20 16 list children call 22 pith_list_len int 1 21 iconst 23 0 eq 24 22 23 -store __or_12_4033 24 -label L4034 -load 25 __or_12_4033 -brif 25 L4031 L4032 -label L4031 +store __or_12_4090 24 +label L4091 +load 25 __or_12_4090 +brif 25 L4088 L4089 +label L4088 iconst 26 0 load 27 target call 28 pith_struct_release void 1 27 @@ -160148,8 +160511,8 @@ call 36 pith_cstring_release void 1 35 load 37 weak_struct call 38 pith_cstring_release void 1 37 ret 26 -label L4032 -label L4030 +label L4089 +label L4087 load 39 fname load 40 target_idx call 41 ast_node_value string 1 40 @@ -160170,8 +160533,8 @@ load 52 lookup_key call 53 string_len int 1 52 iconst 54 0 eq 55 53 54 -brif 55 L4036 L4037 -label L4036 +brif 55 L4093 L4094 +label L4093 iconst 56 0 load 57 target call 58 pith_struct_release void 1 57 @@ -160186,8 +160549,8 @@ call 66 pith_cstring_release void 1 65 load 67 weak_struct call 68 pith_cstring_release void 1 67 ret 56 -label L4037 -label L4035 +label L4094 +label L4092 load 69 ir_struct_registry_ir_struct_field_index_lookup load 70 lookup_key call 71 map_get_strict string 2 69 70 @@ -160206,16 +160569,16 @@ load 80 value_type call 81 string_len int 1 80 iconst 82 0 eq 83 81 82 -brif 83 L4039 L4040 -label L4039 +brif 83 L4096 L4097 +label L4096 load 84 value_type load 85 value_idx call 86 ir_emitter_core_ir_infer_type string 1 85 call 87 pith_cstring_release void 1 84 store value_type 86 -jmp L4038 -label L4040 -label L4038 +jmp L4095 +label L4097 +label L4095 load 88 fassign_kind load 89 value_type call 90 ir_struct_registry_ir_rc_kind string 1 89 @@ -160237,8 +160600,8 @@ store weak_struct 102 load 104 weak_struct load 105 fname call 106 ir_emitter_core_ir_struct_field_is_weak bool 2 104 105 -brif 106 L4042 L4043 -label L4042 +brif 106 L4099 L4100 +label L4099 call 107 ir_builder_ir_reg int 0 store old_w 107 load 108 old_w @@ -160309,28 +160672,28 @@ call 170 pith_cstring_release void 1 169 load 171 weak_struct call 172 pith_cstring_release void 1 171 ret 160 -label L4043 -label L4041 +label L4100 +label L4098 iconst 173 0 iconst 174 1 sub 175 173 174 store old_r 175 iconst 176 0 -store __and_176_4047 176 +store __and_176_4104 176 load 177 fassign_kind call 178 string_len int 1 177 iconst 179 0 gt 180 178 179 -store __and_176_4047 180 -brif 180 L4047 L4048 -label L4047 +store __and_176_4104 180 +brif 180 L4104 L4105 +label L4104 load 181 fassign_kind call 182 ir_ownership_ir_rc_release_enabled bool 1 181 -store __and_176_4047 182 -label L4048 -load 183 __and_176_4047 -brif 183 L4045 L4046 -label L4045 +store __and_176_4104 182 +label L4105 +load 183 __and_176_4104 +brif 183 L4102 L4103 +label L4102 call 184 ir_builder_ir_reg int 0 store old_r 184 load 185 old_r @@ -160339,49 +160702,49 @@ load 187 lookup_key load 188 fname load 189 value_type call 190 ir_alias_registry_ir_emit_named_field_access void 5 185 186 187 188 189 -jmp L4044 -label L4046 -label L4044 +jmp L4101 +label L4103 +label L4101 load 191 value_idx load 192 value_type call 193 ir_emitter_core_ir_emit_value_for_target int 2 191 192 store value_r 193 iconst 194 0 -store __and_194_4052 194 +store __and_194_4109 194 iconst 195 0 -store __and_195_4052 195 +store __and_195_4109 195 load 196 fassign_kind call 197 string_len int 1 196 iconst 198 0 gt 199 197 198 -store __and_195_4052 199 -brif 199 L4052 L4053 -label L4052 +store __and_195_4109 199 +brif 199 L4109 L4110 +label L4109 load 200 fassign_kind strref 201 m46s23 call 203 pith_cstring_eq bool 2 200 201 iconst 204 1 sub 202 204 203 call 205 pith_cstring_release void 1 201 -store __and_195_4052 202 -label L4053 -load 206 __and_195_4052 -store __and_194_4052 206 -brif 206 L4054 L4055 -label L4054 +store __and_195_4109 202 +label L4110 +load 206 __and_195_4109 +store __and_194_4109 206 +brif 206 L4111 L4112 +label L4111 load 207 value_idx call 208 ir_emitter_core_ir_string_expr_is_borrowed bool 1 207 -store __and_194_4052 208 -label L4055 -load 209 __and_194_4052 -brif 209 L4050 L4051 -label L4050 +store __and_194_4109 208 +label L4112 +load 209 __and_194_4109 +brif 209 L4107 L4108 +label L4107 load 210 value_r load 211 fassign_kind call 212 ir_ownership_ir_rc_retain_reg void 2 210 211 -jmp L4049 -label L4051 -label L4049 +jmp L4106 +label L4108 +label L4106 strref 213 m46s1038 load 214 obj_r call 215 int_to_string string 1 214 @@ -160411,14 +160774,14 @@ call 238 pith_cstring_release void 1 234 load 239 old_r iconst 240 0 gte 241 239 240 -brif 241 L4057 L4058 -label L4057 +brif 241 L4114 L4115 +label L4114 load 242 old_r load 243 fassign_kind call 244 ir_ownership_ir_rc_release_reg void 2 242 243 -jmp L4056 -label L4058 -label L4056 +jmp L4113 +label L4115 +label L4113 iconst 245 1 load 246 target call 247 pith_struct_release void 1 246 @@ -160464,7 +160827,7 @@ call 8 ast_get_node struct:Node 1 7 call 9 pith_struct_release void 1 6 store target 8 iconst 10 0 -store __or_10_4062 10 +store __or_10_4119 10 load 11 target field 12 11 0 string kind strref 13 m46s36 @@ -160472,19 +160835,19 @@ call 15 pith_cstring_eq bool 2 12 13 iconst 16 1 sub 14 16 15 call 17 pith_cstring_release void 1 13 -store __or_10_4062 14 -brif 14 L4063 L4062 -label L4062 +store __or_10_4119 14 +brif 14 L4120 L4119 +label L4119 load 18 target field 19 18 16 list children call 20 pith_list_len int 1 19 iconst 21 0 eq 22 20 21 -store __or_10_4062 22 -label L4063 -load 23 __or_10_4062 -brif 23 L4060 L4061 -label L4060 +store __or_10_4119 22 +label L4120 +load 23 __or_10_4119 +brif 23 L4117 L4118 +label L4117 iconst 24 0 load 25 target call 26 pith_struct_release void 1 25 @@ -160493,8 +160856,8 @@ call 28 pith_cstring_release void 1 27 load 29 lookup_key call 30 pith_cstring_release void 1 29 ret 24 -label L4061 -label L4059 +label L4118 +label L4116 load 31 fname load 32 target_idx call 33 ast_node_value string 1 32 @@ -160515,8 +160878,8 @@ load 44 lookup_key call 45 string_len int 1 44 iconst 46 0 eq 47 45 46 -brif 47 L4065 L4066 -label L4065 +brif 47 L4122 L4123 +label L4122 iconst 48 0 load 49 target call 50 pith_struct_release void 1 49 @@ -160525,8 +160888,8 @@ call 52 pith_cstring_release void 1 51 load 53 lookup_key call 54 pith_cstring_release void 1 53 ret 48 -label L4066 -label L4064 +label L4123 +label L4121 load 55 ir_struct_registry_ir_struct_field_index_lookup load 56 lookup_key call 57 map_get_strict string 2 55 56 @@ -160622,24 +160985,24 @@ call 11 pith_cstring_retain void 1 10 call 12 pith_cstring_release void 1 8 store op 10 iconst 13 0 -store __and_13_4070 13 +store __and_13_4127 13 load 14 op strref 15 m46s546 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __and_13_4070 16 -brif 16 L4070 L4071 -label L4070 +store __and_13_4127 16 +brif 16 L4127 L4128 +label L4127 load 18 node field 19 18 16 list children call 20 pith_list_len int 1 19 iconst 21 2 gte 22 20 21 -store __and_13_4070 22 -label L4071 -load 23 __and_13_4070 -brif 23 L4068 L4069 -label L4068 +store __and_13_4127 22 +label L4128 +load 23 __and_13_4127 +brif 23 L4125 L4126 +label L4125 load 24 node field 25 24 16 list children iconst 26 0 @@ -160649,8 +161012,8 @@ field 29 28 16 list children iconst 30 1 call 31 pith_list_get_value_strict int 2 29 30 call 32 ir_emitter_core_ir_emit_index_assignment bool 2 27 31 -brif 32 L4073 L4074 -label L4073 +brif 32 L4130 L4131 +label L4130 load 33 op call 34 pith_cstring_release void 1 33 load 35 tn @@ -160667,8 +161030,8 @@ load 45 compound_op call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L4074 -label L4072 +label L4131 +label L4129 load 48 node field 49 48 16 list children iconst 50 0 @@ -160678,8 +161041,8 @@ field 53 52 16 list children iconst 54 1 call 55 pith_list_get_value_strict int 2 53 54 call 56 ir_emitter_core_ir_emit_field_assignment bool 2 51 55 -brif 56 L4076 L4077 -label L4076 +brif 56 L4133 L4134 +label L4133 load 57 op call 58 pith_cstring_release void 1 57 load 59 tn @@ -160696,8 +161059,8 @@ load 69 compound_op call 70 pith_cstring_release void 1 69 iconst 71 0 ret 71 -label L4077 -label L4075 +label L4134 +label L4132 load 72 tn load 73 node field 74 73 16 list children @@ -160730,8 +161093,8 @@ load 96 assign_kind call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L4079 L4080 -label L4079 +brif 99 L4136 L4137 +label L4136 load 100 assign_kind load 101 name call 102 ir_emitter_core_ir_lookup_name_type string 1 101 @@ -160739,9 +161102,9 @@ call 103 ir_struct_registry_ir_rc_kind string 1 102 call 104 pith_cstring_release void 1 102 call 105 pith_cstring_release void 1 100 store assign_kind 103 -jmp L4078 -label L4080 -label L4078 +jmp L4135 +label L4137 +label L4135 load 106 name call 107 ir_emitter_core_ir_rc_local_kind string 1 106 call 108 string_len int 1 107 @@ -160754,82 +161117,82 @@ iconst 113 1 sub 114 112 113 store old_r 114 iconst 115 0 -store __and_115_4084 115 +store __and_115_4141 115 load 116 assign_kind call 117 string_len int 1 116 iconst 118 0 gt 119 117 118 -store __and_115_4084 119 -brif 119 L4084 L4085 -label L4084 +store __and_115_4141 119 +brif 119 L4141 L4142 +label L4141 load 120 assign_kind call 121 ir_ownership_ir_rc_release_enabled bool 1 120 -store __and_115_4084 121 -label L4085 -load 122 __and_115_4084 -brif 122 L4082 L4083 -label L4082 +store __and_115_4141 121 +label L4142 +load 122 __and_115_4141 +brif 122 L4139 L4140 +label L4139 iconst 123 0 -store __or_123_4089 123 +store __or_123_4146 123 load 124 tracked -store __or_123_4089 124 -brif 124 L4090 L4089 -label L4089 +store __or_123_4146 124 +brif 124 L4147 L4146 +label L4146 iconst 125 0 -store __and_125_4091 125 +store __and_125_4148 125 load 126 assign_kind strref 127 m46s675 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __and_125_4091 128 -brif 128 L4091 L4092 -label L4091 +store __and_125_4148 128 +brif 128 L4148 L4149 +label L4148 load 130 ir_alias_registry_ir_global_string_names load 131 name iconst 132 -1 -store __list_index_result_L4093 132 +store __list_index_result_L4150 132 iconst 133 0 -store __list_index_i_L4094 133 +store __list_index_i_L4151 133 call 134 pith_list_len int 1 130 -label L4095 -load 135 __list_index_i_L4094 +label L4152 +load 135 __list_index_i_L4151 lt 136 135 134 -brif 136 L4096 L4099 -label L4096 +brif 136 L4153 L4156 +label L4153 call 137 pith_list_get_value string 2 130 135 call 138 pith_cstring_eq bool 2 137 131 -brif 138 L4097 L4098 -label L4097 -store __list_index_result_L4093 135 -jmp L4099 -label L4098 +brif 138 L4154 L4155 +label L4154 +store __list_index_result_L4150 135 +jmp L4156 +label L4155 iconst 139 1 add 140 135 139 -store __list_index_i_L4094 140 -jmp L4095 -label L4099 -load 141 __list_index_result_L4093 +store __list_index_i_L4151 140 +jmp L4152 +label L4156 +load 141 __list_index_result_L4150 iconst 142 0 gte 143 141 142 -store __and_125_4091 143 -label L4092 -load 144 __and_125_4091 -store __or_123_4089 144 -label L4090 -load 145 __or_123_4089 -brif 145 L4087 L4088 -label L4087 +store __and_125_4148 143 +label L4149 +load 144 __and_125_4148 +store __or_123_4146 144 +label L4147 +load 145 __or_123_4146 +brif 145 L4144 L4145 +label L4144 call 146 ir_builder_ir_reg int 0 store old_r 146 load 147 old_r load 148 name call 149 ir_emitter_core_ir_emit_name_load void 2 147 148 -jmp L4086 -label L4088 -label L4086 -jmp L4081 -label L4083 -label L4081 +jmp L4143 +label L4145 +label L4143 +jmp L4138 +label L4140 +label L4138 load 150 assign_target load 151 name load 152 target_type @@ -160844,55 +161207,55 @@ load 159 assign_target call 160 ir_emitter_core_ir_emit_value_for_target int 2 158 159 store r 160 iconst 161 0 -store __and_161_4103 161 +store __and_161_4160 161 iconst 162 0 -store __and_162_4103 162 +store __and_162_4160 162 load 163 assign_kind call 164 string_len int 1 163 iconst 165 0 gt 166 164 165 -store __and_162_4103 166 -brif 166 L4103 L4104 -label L4103 +store __and_162_4160 166 +brif 166 L4160 L4161 +label L4160 load 167 assign_target strref 168 m46s23 call 170 pith_cstring_eq bool 2 167 168 iconst 171 1 sub 169 171 170 call 172 pith_cstring_release void 1 168 -store __and_162_4103 169 -label L4104 -load 173 __and_162_4103 -store __and_161_4103 173 -brif 173 L4105 L4106 -label L4105 +store __and_162_4160 169 +label L4161 +load 173 __and_162_4160 +store __and_161_4160 173 +brif 173 L4162 L4163 +label L4162 load 174 node field 175 174 16 list children iconst 176 1 call 177 pith_list_get_value_strict int 2 175 176 call 178 ir_emitter_core_ir_string_expr_is_borrowed bool 1 177 -store __and_161_4103 178 -label L4106 -load 179 __and_161_4103 -brif 179 L4101 L4102 -label L4101 +store __and_161_4160 178 +label L4163 +load 179 __and_161_4160 +brif 179 L4158 L4159 +label L4158 load 180 r load 181 assign_kind call 182 ir_ownership_ir_rc_retain_reg void 2 180 181 -jmp L4100 -label L4102 -label L4100 +jmp L4157 +label L4159 +label L4157 load 183 old_r iconst 184 0 gte 185 183 184 -brif 185 L4108 L4109 -label L4108 +brif 185 L4165 L4166 +label L4165 load 186 old_r load 187 assign_kind call 188 ir_ownership_ir_rc_release_reg void 2 186 187 -jmp L4107 -label L4109 -label L4107 +jmp L4164 +label L4166 +label L4164 load 189 name load 190 r call 191 ir_emitter_core_ir_emit_name_store void 2 189 190 @@ -160912,32 +161275,32 @@ load 204 compound_op call 205 pith_cstring_release void 1 204 iconst 206 0 ret 206 -label L4069 -label L4067 +label L4126 +label L4124 load 207 compound_op load 208 op call 209 ir_operator_helpers_ir_compound_assignment_ir_op string 1 208 call 210 pith_cstring_release void 1 207 store compound_op 209 iconst 211 0 -store __and_211_4113 211 +store __and_211_4170 211 load 212 compound_op call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -store __and_211_4113 215 -brif 215 L4113 L4114 -label L4113 +store __and_211_4170 215 +brif 215 L4170 L4171 +label L4170 load 216 node field 217 216 16 list children call 218 pith_list_len int 1 217 iconst 219 2 gte 220 218 219 -store __and_211_4113 220 -label L4114 -load 221 __and_211_4113 -brif 221 L4111 L4112 -label L4111 +store __and_211_4170 220 +label L4171 +load 221 __and_211_4170 +brif 221 L4168 L4169 +label L4168 load 222 node field 223 222 16 list children iconst 224 0 @@ -160948,8 +161311,8 @@ iconst 228 1 call 229 pith_list_get_value_strict int 2 227 228 load 230 compound_op call 231 ir_emitter_core_ir_emit_field_compound_assignment bool 3 225 229 230 -brif 231 L4116 L4117 -label L4116 +brif 231 L4173 L4174 +label L4173 load 232 op call 233 pith_cstring_release void 1 232 load 234 tn @@ -160966,8 +161329,8 @@ load 244 compound_op call 245 pith_cstring_release void 1 244 iconst 246 0 ret 246 -label L4117 -label L4115 +label L4174 +label L4172 load 247 tn load 248 node field 249 248 16 list children @@ -161003,9 +161366,9 @@ call 273 ir_operator_helpers_ir_emit_simple_binary void 4 269 270 271 272 load 274 name load 275 res call 276 ir_emitter_core_ir_emit_name_store void 2 274 275 -jmp L4110 -label L4112 -label L4110 +jmp L4167 +label L4169 +label L4167 load 277 op call 278 pith_cstring_release void 1 277 load 279 tn @@ -161032,8 +161395,8 @@ load 4 branch field 5 4 0 int cond_idx iconst 6 0 gte 7 5 6 -brif 7 L4119 L4120 -label L4119 +brif 7 L4176 L4177 +label L4176 load 8 branch field 9 8 0 int cond_idx call 10 ir_emitter_core_ir_expr int 1 9 @@ -161060,9 +161423,9 @@ concat 29 25 28 call 30 pith_cstring_release void 1 25 call 31 ir_builder_ir_emit void 1 29 call 32 pith_cstring_release void 1 29 -jmp L4118 -label L4120 -label L4118 +jmp L4175 +label L4177 +label L4175 load 33 then_label call 34 ir_call_emit_ir_emit_label void 1 33 iconst 35 0 @@ -161071,28 +161434,28 @@ load 36 branch field 37 36 8 int body_idx iconst 38 0 gte 39 37 38 -brif 39 L4122 L4123 -label L4122 +brif 39 L4179 L4180 +label L4179 load 40 branch field 41 40 8 int body_idx call 42 ir_emitter_core_ir_block int 1 41 -jmp L4121 -label L4123 -label L4121 +jmp L4178 +label L4180 +label L4178 load 43 ir_call_emit_ir_last_was_ret iconst 45 1 sub 44 45 43 -brif 44 L4125 L4126 -label L4125 +brif 44 L4182 L4183 +label L4182 strref 46 m46s833 load 47 end_label concat 48 46 47 call 49 pith_cstring_release void 1 46 call 50 ir_builder_ir_emit void 1 48 call 51 pith_cstring_release void 1 48 -jmp L4124 -label L4126 -label L4124 +jmp L4181 +label L4183 +label L4181 load 52 next_label call 53 ir_call_emit_ir_emit_label void 1 52 iconst 54 0 @@ -161166,8 +161529,8 @@ load 58 index_name call 59 string_len int 1 58 iconst 60 0 gt 61 59 60 -brif 61 L4128 L4129 -label L4128 +brif 61 L4185 L4186 +label L4185 call 62 ir_builder_ir_reg int 0 store idx_val 62 strref 63 m46s829 @@ -161192,9 +161555,9 @@ load 81 ir_builder_ir_var_types load 82 index_name strref 83 m46s671 call 84 pith_map_insert_cstr_owned void 3 81 82 83 -jmp L4127 -label L4129 -label L4127 +jmp L4184 +label L4186 +label L4184 load 85 item_ret_kind call 86 pith_cstring_release void 1 85 iconst 87 0 @@ -161223,109 +161586,109 @@ load 13 kind strref 14 m46s554 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L4131 L4132 -label L4131 +brif 15 L4188 L4189 +label L4188 load 17 node field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L4134 L4135 -label L4134 +brif 21 L4191 L4192 +label L4191 load 22 node field 23 22 16 list children iconst 24 0 call 25 pith_list_get_value_strict int 2 23 24 iconst 26 0 call 27 ir_emitter_core_ir_defer_register void 2 25 26 -jmp L4133 -label L4135 -label L4133 +jmp L4190 +label L4192 +label L4190 load 28 node call 29 pith_struct_release void 1 28 load 30 kind call 31 pith_cstring_release void 1 30 iconst 32 0 ret 32 -label L4132 -label L4130 +label L4189 +label L4187 load 33 kind strref 34 m46s553 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L4137 L4138 -label L4137 +brif 35 L4194 L4195 +label L4194 load 37 node field 38 37 16 list children call 39 pith_list_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L4140 L4141 -label L4140 +brif 41 L4197 L4198 +label L4197 load 42 node field 43 42 16 list children iconst 44 0 call 45 pith_list_get_value_strict int 2 43 44 iconst 46 1 call 47 ir_emitter_core_ir_defer_register void 2 45 46 -jmp L4139 -label L4141 -label L4139 +jmp L4196 +label L4198 +label L4196 load 48 node call 49 pith_struct_release void 1 48 load 50 kind call 51 pith_cstring_release void 1 50 iconst 52 0 ret 52 -label L4138 -label L4136 +label L4195 +label L4193 load 53 kind call 54 ir_control_helpers_ir_stmt_is_expr bool 1 53 -brif 54 L4143 L4144 -label L4143 +brif 54 L4200 L4201 +label L4200 load 55 idx call 56 ir_emitter_core_ir_expr int 1 55 store r 56 iconst 57 0 -store __or_57_4148 57 +store __or_57_4205 57 load 58 kind strref 59 m46s44 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -store __or_57_4148 60 -brif 60 L4149 L4148 -label L4148 +store __or_57_4205 60 +brif 60 L4206 L4205 +label L4205 load 62 kind strref 63 m46s129 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_57_4148 64 -label L4149 -load 66 __or_57_4148 -brif 66 L4146 L4147 -label L4146 +store __or_57_4205 64 +label L4206 +load 66 __or_57_4205 +brif 66 L4203 L4204 +label L4203 load 67 idx call 68 checker_c_get_expr_type int 1 67 store stmt_tid 68 iconst 69 0 -store __and_69_4153 69 +store __and_69_4210 69 load 70 stmt_tid iconst 71 0 gte 72 70 71 -store __and_69_4153 72 -brif 72 L4153 L4154 -label L4153 +store __and_69_4210 72 +brif 72 L4210 L4211 +label L4210 load 73 stmt_tid call 74 types_get_type_info struct:TypeInfo 1 73 field 75 74 0 string kind strref 76 m46s22 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __and_69_4153 77 -label L4154 -load 79 __and_69_4153 -brif 79 L4151 L4152 -label L4151 +store __and_69_4210 77 +label L4211 +load 79 __and_69_4210 +brif 79 L4208 L4209 +label L4208 load 80 r load 81 stmt_tid call 82 ir_emitter_core_ir_emit_discard_result void 2 80 81 @@ -161335,50 +161698,50 @@ load 85 kind call 86 pith_cstring_release void 1 85 iconst 87 0 ret 87 -label L4152 -label L4150 -jmp L4145 -label L4147 -label L4145 +label L4209 +label L4207 +jmp L4202 +label L4204 +label L4202 iconst 88 0 -store __and_88_4158 88 +store __and_88_4215 88 load 89 idx call 90 ir_emitter_core_ir_infer_type string 1 89 strref 91 m46s675 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 90 call 94 pith_cstring_release void 1 91 -store __and_88_4158 92 -brif 92 L4158 L4159 -label L4158 +store __and_88_4215 92 +brif 92 L4215 L4216 +label L4215 load 95 idx call 96 ir_emitter_core_ir_string_expr_is_borrowed bool 1 95 iconst 98 1 sub 97 98 96 -store __and_88_4158 97 -label L4159 -load 99 __and_88_4158 -brif 99 L4156 L4157 -label L4156 +store __and_88_4215 97 +label L4216 +load 99 __and_88_4215 +brif 99 L4213 L4214 +label L4213 load 100 r call 101 ir_ownership_ir_string_release_reg void 1 100 -jmp L4155 -label L4157 -label L4155 +jmp L4212 +label L4214 +label L4212 load 102 node call 103 pith_struct_release void 1 102 load 104 kind call 105 pith_cstring_release void 1 104 iconst 106 0 ret 106 -label L4144 -label L4142 +label L4201 +label L4199 load 107 kind strref 108 m46s64 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L4161 L4162 -label L4161 +brif 109 L4218 L4219 +label L4218 load 111 idx call 112 ir_emitter_core_ir_block int 1 111 load 113 node @@ -161387,14 +161750,14 @@ load 115 kind call 116 pith_cstring_release void 1 115 iconst 117 0 ret 117 -label L4162 -label L4160 +label L4219 +label L4217 load 118 kind strref 119 m46s558 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -brif 120 L4164 L4165 -label L4164 +brif 120 L4221 L4222 +label L4221 load 122 node call 123 ir_emitter_core_ir_emit_return_stmt void 1 122 load 124 node @@ -161403,26 +161766,26 @@ load 126 kind call 127 pith_cstring_release void 1 126 iconst 128 0 ret 128 -label L4165 -label L4163 +label L4222 +label L4220 iconst 129 0 -store __or_129_4169 129 +store __or_129_4226 129 load 130 kind strref 131 m46s551 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 -store __or_129_4169 132 -brif 132 L4170 L4169 -label L4169 +store __or_129_4226 132 +brif 132 L4227 L4226 +label L4226 load 134 kind strref 135 m46s552 call 136 pith_cstring_eq bool 2 134 135 call 137 pith_cstring_release void 1 135 -store __or_129_4169 136 -label L4170 -load 138 __or_129_4169 -brif 138 L4167 L4168 -label L4167 +store __or_129_4226 136 +label L4227 +load 138 __or_129_4226 +brif 138 L4224 L4225 +label L4224 load 139 node call 140 ir_emitter_core_ir_emit_bind_stmt void 1 139 load 141 node @@ -161431,14 +161794,14 @@ load 143 kind call 144 pith_cstring_release void 1 143 iconst 145 0 ret 145 -label L4168 -label L4166 +label L4225 +label L4223 load 146 kind strref 147 m46s1201 call 148 pith_cstring_eq bool 2 146 147 call 149 pith_cstring_release void 1 147 -brif 148 L4172 L4173 -label L4172 +brif 148 L4229 L4230 +label L4229 load 150 node call 151 ir_emitter_core_ir_emit_assign_stmt void 1 150 load 152 node @@ -161447,14 +161810,14 @@ load 154 kind call 155 pith_cstring_release void 1 154 iconst 156 0 ret 156 -label L4173 -label L4171 +label L4230 +label L4228 load 157 kind strref 158 m46s574 call 159 pith_cstring_eq bool 2 157 158 call 160 pith_cstring_release void 1 158 -brif 159 L4175 L4176 -label L4175 +brif 159 L4232 L4233 +label L4232 load 161 node call 162 ir_emitter_core_ir_emit_compound_assignment void 1 161 load 163 node @@ -161463,8 +161826,8 @@ load 165 kind call 166 pith_cstring_release void 1 165 iconst 167 0 ret 167 -label L4176 -label L4174 +label L4233 +label L4231 load 168 idx load 169 node call 170 ir_emitter_core_ir_stmt_control void 2 168 169 @@ -161506,12 +161869,12 @@ iconst 17 0 store __for_idx_354 17 store __for_len_354 16 store __for_iter_354 15 -label L4177 +label L4234 load 18 __for_idx_354 load 19 __for_len_354 lt 20 18 19 -brif 20 L4178 L4180 -label L4178 +brif 20 L4235 L4237 +label L4235 load 21 __for_iter_354 load 22 __for_idx_354 call 23 pith_list_get_value unknown 2 21 22 @@ -161526,32 +161889,32 @@ field 29 28 0 string kind strref 30 m46s532 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L4182 L4183 -label L4182 +brif 31 L4239 L4240 +label L4239 load 33 elif_indices load 34 __loopvar_354_child call 35 pith_list_push_value void 2 33 34 -jmp L4181 -label L4183 +jmp L4238 +label L4240 load 36 cn field 37 36 0 string kind strref 38 m46s530 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L4184 L4185 -label L4184 +brif 39 L4241 L4242 +label L4241 load 41 __loopvar_354_child store else_idx 41 -jmp L4181 -label L4185 -label L4181 -label L4179 +jmp L4238 +label L4242 +label L4238 +label L4236 load 42 __for_idx_354 iconst 43 1 add 44 42 43 store __for_idx_354 44 -jmp L4177 -label L4180 +jmp L4234 +label L4237 load 45 main_branch load 46 node call 47 ir_control_helpers_ir_collect_if_branch struct:IrIfBranch 1 46 @@ -161580,12 +161943,12 @@ iconst 65 0 store __for_idx_355 65 store __for_len_355 64 store __for_iter_355 63 -label L4186 +label L4243 load 66 __for_idx_355 load 67 __for_len_355 lt 68 66 67 -brif 68 L4187 L4189 -label L4187 +brif 68 L4244 L4246 +label L4244 load 69 __for_iter_355 load 70 __for_idx_355 call 71 pith_list_get_value unknown 2 69 70 @@ -161604,23 +161967,23 @@ load 81 end_label call 82 ir_emitter_core_ir_emit_if_branch void 4 78 79 80 81 call 83 pith_cstring_release void 1 79 call 84 pith_cstring_release void 1 80 -label L4188 +label L4245 load 85 __for_idx_355 iconst 86 1 add 87 85 86 store __for_idx_355 87 -jmp L4186 -label L4189 +jmp L4243 +label L4246 load 88 else_idx iconst 89 0 gte 90 88 89 -brif 90 L4191 L4192 -label L4191 +brif 90 L4248 L4249 +label L4248 load 91 else_idx call 92 ir_emitter_core_ir_block int 1 91 -jmp L4190 -label L4192 -label L4190 +jmp L4247 +label L4249 +label L4247 load 93 end_label call 94 ir_call_emit_ir_emit_label void 1 93 load 95 elif_indices @@ -161655,8 +162018,8 @@ field 8 7 0 string kind strref 9 m46s85 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4194 L4195 -label L4194 +brif 10 L4251 L4252 +label L4251 call 12 ir_builder_ir_reg int 0 store r 12 load 13 r @@ -161668,8 +162031,8 @@ load 18 r load 19 pat call 20 pith_struct_release void 1 19 ret 18 -label L4195 -label L4193 +label L4252 +label L4250 load 21 pat_idx load 22 subj_r call 23 ir_match_emit_ir_emit_match_cond int 2 21 22 @@ -161701,8 +162064,8 @@ field 11 10 0 string kind strref 12 m46s85 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L4197 L4198 -label L4197 +brif 13 L4254 L4255 +label L4254 load 15 subj_idx call 16 checker_c_get_expr_type int 1 15 store subj_tid 16 @@ -161718,32 +162081,32 @@ call 24 map_insert void 3 20 22 23 load 25 subj_tid iconst 26 0 gte 27 25 26 -brif 27 L4200 L4201 -label L4200 +brif 27 L4257 L4258 +label L4257 load 28 info load 29 subj_tid call 30 types_get_type_info struct:TypeInfo 1 29 call 31 pith_struct_release void 1 28 store info 30 iconst 32 0 -store __and_32_4205 32 +store __and_32_4262 32 load 33 info field 34 33 0 string kind strref 35 m46s21 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __and_32_4205 36 -brif 36 L4205 L4206 -label L4205 +store __and_32_4262 36 +brif 36 L4262 L4263 +label L4262 load 38 info field 39 38 64 int inner iconst 40 0 gte 41 39 40 -store __and_32_4205 41 -label L4206 -load 42 __and_32_4205 -brif 42 L4203 L4204 -label L4203 +store __and_32_4262 41 +label L4263 +load 42 __and_32_4262 +brif 42 L4260 L4261 +label L4260 load 43 inner_kind load 44 info field 45 44 64 int inner @@ -161754,22 +162117,22 @@ load 48 inner_kind call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L4208 L4209 -label L4208 +brif 51 L4265 L4266 +label L4265 load 52 ir_builder_ir_var_types load 53 pat field 54 53 8 string value load 55 inner_kind call 56 map_insert void 3 52 54 55 -jmp L4207 -label L4209 -label L4207 -jmp L4202 -label L4204 -label L4202 -jmp L4199 -label L4201 -label L4199 +jmp L4264 +label L4266 +label L4264 +jmp L4259 +label L4261 +label L4259 +jmp L4256 +label L4258 +label L4256 strref 57 m46s830 load 58 pat field 59 58 8 string value @@ -161794,8 +162157,8 @@ load 77 inner_kind call 78 pith_cstring_release void 1 77 iconst 79 0 ret 79 -label L4198 -label L4196 +label L4255 +label L4253 load 80 pat_idx load 81 subj_r strref 82 m46s82 @@ -161815,50 +162178,50 @@ param idx iconst 1 0 store kind 1 iconst 2 0 -store __or_2_4213 2 +store __or_2_4270 2 load 3 ir_alias_registry_ir_active_generic_params call 4 pith_list_len int 1 3 iconst 5 0 gt 6 4 5 -store __or_2_4213 6 -brif 6 L4214 L4213 -label L4213 +store __or_2_4270 6 +brif 6 L4271 L4270 +label L4270 load 7 ir_emitter_core_ir_current_impl_subst_params call 8 pith_list_len int 1 7 iconst 9 0 gt 10 8 9 -store __or_2_4213 10 -label L4214 -load 11 __or_2_4213 -brif 11 L4211 L4212 -label L4211 +store __or_2_4270 10 +label L4271 +load 11 __or_2_4270 +brif 11 L4268 L4269 +label L4268 iconst 12 0 load 13 kind call 14 pith_cstring_release void 1 13 ret 12 -label L4212 -label L4210 +label L4269 +label L4267 load 15 kind load 16 idx call 17 ast_node_kind string 1 16 call 18 pith_cstring_release void 1 15 store kind 17 iconst 19 0 -store __or_19_4215 19 +store __or_19_4272 19 load 20 kind strref 21 m46s44 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_19_4215 22 -brif 22 L4216 L4215 -label L4215 +store __or_19_4272 22 +brif 22 L4273 L4272 +label L4272 load 24 kind strref 25 m46s129 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_19_4215 26 -label L4216 -load 28 __or_19_4215 +store __or_19_4272 26 +label L4273 +load 28 __or_19_4272 load 29 kind call 30 pith_cstring_release void 1 29 ret 28 @@ -161880,8 +162243,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L4218 L4219 -label L4218 +brif 8 L4275 L4276 +label L4275 load 9 then_l call 10 pith_cstring_release void 1 9 load 11 else_l @@ -161890,8 +162253,8 @@ load 13 end_l call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L4219 -label L4217 +label L4276 +label L4274 load 16 node field 17 16 16 list children iconst 18 1 @@ -161967,17 +162330,17 @@ call 80 ir_emitter_core_ir_block int 1 79 load 81 ir_call_emit_ir_last_was_ret iconst 83 1 sub 82 83 81 -brif 82 L4221 L4222 -label L4221 +brif 82 L4278 L4279 +label L4278 strref 84 m46s833 load 85 end_l concat 86 84 85 call 87 pith_cstring_release void 1 84 call 88 ir_builder_ir_emit void 1 86 call 89 pith_cstring_release void 1 86 -jmp L4220 -label L4222 -label L4220 +jmp L4277 +label L4279 +label L4277 load 90 else_l call 91 ir_call_emit_ir_emit_label void 1 90 iconst 92 0 @@ -161987,21 +162350,21 @@ field 94 93 16 list children call 95 pith_list_len int 1 94 iconst 96 3 gt 97 95 96 -brif 97 L4224 L4225 -label L4224 +brif 97 L4281 L4282 +label L4281 load 98 node field 99 98 16 list children iconst 100 3 call 101 pith_list_get_value_strict int 2 99 100 call 102 ir_emitter_core_ir_block int 1 101 -jmp L4223 -label L4225 -label L4223 +jmp L4280 +label L4282 +label L4280 load 103 end_l call 104 ir_call_emit_ir_emit_label void 1 103 load 105 owns_subject -brif 105 L4227 L4228 -label L4227 +brif 105 L4284 L4285 +label L4284 call 106 ir_builder_ir_reg int 0 strref 107 m46s898 strref 108 m46s828 @@ -162009,9 +162372,9 @@ load 109 subj_r call 110 ir_call_emit_ir_emit_call1 void 4 106 107 108 109 call 111 pith_cstring_release void 1 107 call 112 pith_cstring_release void 1 108 -jmp L4226 -label L4228 -label L4226 +jmp L4283 +label L4285 +label L4283 iconst 113 0 store ir_call_emit_ir_last_was_ret 113 load 114 then_l @@ -162036,8 +162399,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L4230 L4231 -label L4230 +brif 8 L4287 L4288 +label L4287 load 9 head_label call 10 pith_cstring_release void 1 9 load 11 body_label @@ -162046,8 +162409,8 @@ load 13 end_label call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L4231 -label L4229 +label L4288 +label L4286 load 16 head_label call 17 ir_builder_ir_label string 0 call 18 pith_cstring_release void 1 16 @@ -162145,8 +162508,8 @@ iconst 100 1 sub 101 99 100 call 102 remove void 2 97 101 load 103 owns_subject -brif 103 L4233 L4234 -label L4233 +brif 103 L4290 L4291 +label L4290 call 104 ir_builder_ir_reg int 0 strref 105 m46s898 strref 106 m46s828 @@ -162154,9 +162517,9 @@ load 107 subj_r call 108 ir_call_emit_ir_emit_call1 void 4 104 105 106 107 call 109 pith_cstring_release void 1 105 call 110 pith_cstring_release void 1 106 -jmp L4232 -label L4234 -label L4232 +jmp L4289 +label L4291 +label L4289 strref 111 m46s833 load 112 head_label concat 113 111 112 @@ -162166,8 +162529,8 @@ call 116 pith_cstring_release void 1 113 load 117 end_label call 118 ir_call_emit_ir_emit_label void 1 117 load 119 owns_subject -brif 119 L4236 L4237 -label L4236 +brif 119 L4293 L4294 +label L4293 call 120 ir_builder_ir_reg int 0 strref 121 m46s898 strref 122 m46s828 @@ -162175,9 +162538,9 @@ load 123 subj_r call 124 ir_call_emit_ir_emit_call1 void 4 120 121 122 123 call 125 pith_cstring_release void 1 121 call 126 pith_cstring_release void 1 122 -jmp L4235 -label L4237 -label L4235 +jmp L4292 +label L4294 +label L4292 iconst 127 0 store ir_call_emit_ir_last_was_ret 127 load 128 head_label @@ -162216,8 +162579,8 @@ field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 2 gte 19 17 18 -brif 19 L4239 L4240 -label L4239 +brif 19 L4296 L4297 +label L4296 load 20 node field 21 20 16 list children iconst 22 0 @@ -162281,9 +162644,9 @@ concat 76 74 75 call 77 pith_cstring_release void 1 74 call 78 ir_builder_ir_emit void 1 76 call 79 pith_cstring_release void 1 76 -jmp L4238 -label L4240 -label L4238 +jmp L4295 +label L4297 +label L4295 load 80 end_label call 81 ir_call_emit_ir_emit_label void 1 80 load 82 head_label @@ -162315,8 +162678,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 gte 13 11 12 -brif 13 L4242 L4243 -label L4242 +brif 13 L4299 L4300 +label L4299 load 14 node field 15 14 16 list children iconst 16 0 @@ -162326,8 +162689,8 @@ field 19 18 0 string kind strref 20 m46s523 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L4245 L4246 -label L4245 +brif 21 L4302 L4303 +label L4302 load 23 node load 24 names call 25 ir_emitter_core_ir_emit_for_range_stmt void 2 23 24 @@ -162341,8 +162704,8 @@ load 32 next_name call 33 pith_cstring_release void 1 32 iconst 34 0 ret 34 -label L4246 -label L4244 +label L4303 +label L4301 load 35 iter_struct load 36 node field 37 36 16 list children @@ -162352,34 +162715,34 @@ call 40 ir_emitter_core_ir_infer_type string 1 39 call 41 pith_cstring_release void 1 35 store iter_struct 40 iconst 42 0 -store __and_42_4250 42 +store __and_42_4307 42 load 43 iter_struct call 44 string_len int 1 43 iconst 45 0 gt 46 44 45 -store __and_42_4250 46 -brif 46 L4250 L4251 -label L4250 +store __and_42_4307 46 +brif 46 L4307 L4308 +label L4307 load 47 iter_struct strref 48 m46s335 call 49 pith_cstring_contains bool 2 47 48 call 50 pith_cstring_release void 1 48 iconst 51 0 eq 52 49 51 -store __and_42_4250 52 -label L4251 -load 53 __and_42_4250 -brif 53 L4248 L4249 -label L4248 +store __and_42_4307 52 +label L4308 +load 53 __and_42_4307 +brif 53 L4305 L4306 +label L4305 iconst 54 0 store gi 54 -label L4252 +label L4309 load 55 gi load 56 ir_alias_registry_ir_active_generic_concrete_types call 57 pith_list_len int 1 56 lt 58 55 57 -brif 58 L4253 L4254 -label L4253 +brif 58 L4310 L4311 +label L4310 load 59 concrete load 60 ir_alias_registry_ir_active_generic_concrete_types load 61 gi @@ -162392,8 +162755,8 @@ call 66 ir_method_tables_ir_strip_type_args string 1 65 load 67 iter_struct call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 66 -brif 68 L4256 L4257 -label L4256 +brif 68 L4313 L4314 +label L4313 load 70 iter_struct load 71 concrete call 72 pith_cstring_retain void 1 71 @@ -162402,18 +162765,18 @@ store iter_struct 71 load 74 ir_alias_registry_ir_active_generic_concrete_types call 75 pith_list_len int 1 74 store gi 75 -jmp L4255 -label L4257 -label L4255 +jmp L4312 +label L4314 +label L4312 load 76 gi iconst 77 1 add 78 76 77 store gi 78 -jmp L4252 -label L4254 -jmp L4247 -label L4249 -label L4247 +jmp L4309 +label L4311 +jmp L4304 +label L4306 +label L4304 load 79 next_name load 80 iter_struct strref 81 m46s1200 @@ -162425,8 +162788,8 @@ load 85 next_name call 86 string_len int 1 85 iconst 87 0 eq 88 86 87 -brif 88 L4259 L4260 -label L4259 +brif 88 L4316 L4317 +label L4316 load 89 next_name load 90 iter_struct strref 91 m46s1200 @@ -162434,15 +162797,15 @@ call 92 ir_emitter_core_ir_lookup_impl_method_name string 2 90 91 call 93 pith_cstring_release void 1 91 call 94 pith_cstring_release void 1 89 store next_name 92 -jmp L4258 -label L4260 -label L4258 +jmp L4315 +label L4317 +label L4315 load 95 next_name call 96 string_len int 1 95 iconst 97 0 gt 98 96 97 -brif 98 L4262 L4263 -label L4262 +brif 98 L4319 L4320 +label L4319 load 99 node load 100 names load 101 next_name @@ -162457,14 +162820,14 @@ load 109 next_name call 110 pith_cstring_release void 1 109 iconst 111 0 ret 111 -label L4263 -label L4261 +label L4320 +label L4318 load 112 node load 113 names call 114 ir_emitter_core_ir_emit_for_indexed_stmt void 2 112 113 -jmp L4241 -label L4243 -label L4241 +jmp L4298 +label L4300 +label L4298 load 115 names call 116 pith_struct_release void 1 115 load 117 iter_struct @@ -162535,16 +162898,16 @@ call 37 pith_list_get_value_strict int 2 35 36 call 38 ir_emitter_core_ir_string_expr_is_borrowed bool 1 37 iconst 40 1 sub 39 40 38 -brif 39 L4265 L4266 -label L4265 +brif 39 L4322 L4323 +label L4322 load 41 iter_release_kind load 42 iter_type call 43 ir_struct_registry_ir_rc_kind string 1 42 call 44 pith_cstring_release void 1 41 store iter_release_kind 43 -jmp L4264 -label L4266 -label L4264 +jmp L4321 +label L4323 +label L4321 load 45 conversion_call load 46 iter_type call 47 ir_collection_helpers_ir_for_iter_conversion_call string 1 46 @@ -162554,8 +162917,8 @@ load 49 conversion_call call 50 string_len int 1 49 iconst 51 0 gt 52 50 51 -brif 52 L4268 L4269 -label L4268 +brif 52 L4325 L4326 +label L4325 call 53 ir_builder_ir_reg int 0 store converted_r 53 load 54 converted_r @@ -162569,14 +162932,14 @@ load 61 iter_release_kind call 62 string_len int 1 61 iconst 63 0 gt 64 62 63 -brif 64 L4271 L4272 -label L4271 +brif 64 L4328 L4329 +label L4328 load 65 iter_r load 66 iter_release_kind call 67 ir_ownership_ir_rc_release_reg void 2 65 66 -jmp L4270 -label L4272 -label L4270 +jmp L4327 +label L4329 +label L4327 load 68 converted_r store iter_r 68 load 69 iter_release_kind @@ -162586,9 +162949,9 @@ call 72 ir_struct_registry_ir_rc_kind string 1 71 call 73 pith_cstring_release void 1 71 call 74 pith_cstring_release void 1 69 store iter_release_kind 72 -jmp L4267 -label L4269 -label L4267 +jmp L4324 +label L4326 +label L4324 load 75 ir_emitter_core_ir_for_count store fid 75 load 76 ir_emitter_core_ir_for_count @@ -162840,8 +163203,8 @@ load 303 iter_release_kind call 304 string_len int 1 303 iconst 305 0 gt 306 304 305 -brif 306 L4274 L4275 -label L4274 +brif 306 L4331 L4332 +label L4331 load 307 ir_emitter_core_ir_loop_iter_vars load 308 ft call 309 pith_list_push_value void 2 307 308 @@ -162850,17 +163213,17 @@ load 311 iter_release_kind call 312 pith_list_push_value void 2 310 311 iconst 313 1 store pushed_iter 313 -jmp L4273 -label L4275 -label L4273 +jmp L4330 +label L4332 +label L4330 load 314 node field 315 314 16 list children iconst 316 1 call 317 pith_list_get_value_strict int 2 315 316 call 318 ir_emitter_core_ir_block int 1 317 load 319 pushed_iter -brif 319 L4277 L4278 -label L4277 +brif 319 L4334 L4335 +label L4334 load 320 ir_emitter_core_ir_loop_iter_vars load 321 ir_emitter_core_ir_loop_iter_vars call 322 pith_list_len int 1 321 @@ -162873,9 +163236,9 @@ call 328 pith_list_len int 1 327 iconst 329 1 sub 330 328 329 call 331 remove void 2 326 330 -jmp L4276 -label L4278 -label L4276 +jmp L4333 +label L4335 +label L4333 call 332 ir_emitter_core_ir_defer_loop_exit void 0 load 333 names field 334 333 8 string index_name @@ -162985,8 +163348,8 @@ load 434 iter_release_kind call 435 string_len int 1 434 iconst 436 0 gt 437 435 436 -brif 437 L4280 L4281 -label L4280 +brif 437 L4337 L4338 +label L4337 call 438 ir_builder_ir_reg int 0 store fin_r 438 strref 439 m46s829 @@ -163007,9 +163370,9 @@ call 453 pith_cstring_release void 1 450 load 454 fin_r load 455 iter_release_kind call 456 ir_ownership_ir_rc_release_reg void 2 454 455 -jmp L4279 -label L4281 -label L4279 +jmp L4336 +label L4338 +label L4336 load 457 iter_type call 458 pith_cstring_release void 1 457 load 459 item_kind @@ -163160,8 +163523,8 @@ call 95 pith_cstring_release void 1 92 call 96 ir_builder_ir_emit void 1 93 call 97 pith_cstring_release void 1 93 load 98 has_index -brif 98 L4283 L4284 -label L4283 +brif 98 L4340 L4341 +label L4340 call 99 ir_builder_ir_reg int 0 store zero_r 99 strref 100 m46s832 @@ -163191,9 +163554,9 @@ call 123 pith_cstring_release void 1 117 call 124 pith_cstring_release void 1 121 call 125 ir_builder_ir_emit void 1 122 call 126 pith_cstring_release void 1 122 -jmp L4282 -label L4284 -label L4282 +jmp L4339 +label L4341 +label L4339 load 127 head_l call 128 ir_builder_ir_label string 0 call 129 pith_cstring_release void 1 127 @@ -163253,15 +163616,15 @@ strref 175 m46s465 call 176 pith_cstring_release void 1 174 store cmp_op 175 load 177 inclusive -brif 177 L4286 L4287 -label L4286 +brif 177 L4343 L4344 +label L4343 load 178 cmp_op strref 179 m46s459 call 180 pith_cstring_release void 1 178 store cmp_op 179 -jmp L4285 -label L4287 -label L4285 +jmp L4342 +label L4344 +label L4342 load 181 cmp_op strref 182 m46s336 concat 183 181 182 @@ -163364,8 +163727,8 @@ field 276 275 0 string value_name load 277 bind_r call 278 ir_emitter_core_ir_emit_name_store void 2 276 277 load 279 has_index -brif 279 L4289 L4290 -label L4289 +brif 279 L4346 L4347 +label L4346 call 280 ir_builder_ir_reg int 0 store pos_r 280 strref 281 m46s829 @@ -163392,9 +163755,9 @@ load 301 names field 302 301 8 string index_name load 303 pos_r call 304 ir_emitter_core_ir_emit_name_store void 2 302 303 -jmp L4288 -label L4290 -label L4288 +jmp L4345 +label L4347 +label L4345 load 305 ir_emitter_core_ir_break_stack load 306 end_l call 307 ir_utils_ir_push_string list_string 2 305 306 @@ -163507,8 +163870,8 @@ call 408 pith_cstring_release void 1 405 call 409 ir_builder_ir_emit void 1 406 call 410 pith_cstring_release void 1 406 load 411 has_index -brif 411 L4292 L4293 -label L4292 +brif 411 L4349 L4350 +label L4349 call 412 ir_builder_ir_reg int 0 store p3 412 strref 413 m46s829 @@ -163583,9 +163946,9 @@ call 479 pith_cstring_release void 1 473 call 480 pith_cstring_release void 1 477 call 481 ir_builder_ir_emit void 1 478 call 482 pith_cstring_release void 1 478 -jmp L4291 -label L4293 -label L4291 +jmp L4348 +label L4350 +label L4348 strref 483 m46s833 load 484 head_l concat 485 483 484 @@ -163693,8 +164056,8 @@ call 54 pith_cstring_release void 1 51 call 55 ir_builder_ir_emit void 1 52 call 56 pith_cstring_release void 1 52 load 57 has_index -brif 57 L4295 L4296 -label L4295 +brif 57 L4352 L4353 +label L4352 call 58 ir_builder_ir_reg int 0 store zero_r 58 strref 59 m46s832 @@ -163724,9 +164087,9 @@ call 82 pith_cstring_release void 1 76 call 83 pith_cstring_release void 1 80 call 84 ir_builder_ir_emit void 1 81 call 85 pith_cstring_release void 1 81 -jmp L4294 -label L4296 -label L4294 +jmp L4351 +label L4353 +label L4351 load 86 elem_kind load 87 node field 88 87 16 list children @@ -163742,15 +164105,15 @@ load 96 elem_kind call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L4298 L4299 -label L4298 +brif 99 L4355 L4356 +label L4355 load 100 elem_kind strref 101 m46s822 call 102 pith_cstring_release void 1 100 store elem_kind 101 -jmp L4297 -label L4299 -label L4297 +jmp L4354 +label L4356 +label L4354 load 103 head_l call 104 ir_builder_ir_label string 0 call 105 pith_cstring_release void 1 103 @@ -163901,8 +164264,8 @@ field 239 238 0 string value_name load 240 val_r call 241 ir_emitter_core_ir_emit_name_store void 2 239 240 load 242 has_index -brif 242 L4301 L4302 -label L4301 +brif 242 L4358 L4359 +label L4358 call 243 ir_builder_ir_reg int 0 store pos_r 243 strref 244 m46s829 @@ -163929,9 +164292,9 @@ load 264 names field 265 264 8 string index_name load 266 pos_r call 267 ir_emitter_core_ir_emit_name_store void 2 265 266 -jmp L4300 -label L4302 -label L4300 +jmp L4357 +label L4359 +label L4357 load 268 ir_emitter_core_ir_break_stack load 269 end_l call 270 ir_utils_ir_push_string list_string 2 268 269 @@ -163977,8 +164340,8 @@ call 307 ir_call_emit_ir_emit_call1 void 4 303 304 305 306 call 308 pith_cstring_release void 1 304 call 309 pith_cstring_release void 1 305 load 310 has_index -brif 310 L4304 L4305 -label L4304 +brif 310 L4361 L4362 +label L4361 call 311 ir_builder_ir_reg int 0 store p3 311 strref 312 m46s829 @@ -164053,9 +164416,9 @@ call 378 pith_cstring_release void 1 372 call 379 pith_cstring_release void 1 376 call 380 ir_builder_ir_emit void 1 377 call 381 pith_cstring_release void 1 377 -jmp L4303 -label L4305 -label L4303 +jmp L4360 +label L4362 +label L4360 strref 382 m46s833 load 383 head_l concat 384 382 383 @@ -164096,100 +164459,100 @@ func ir_emitter_core_ir_stmt_control 2 void param idx param node iconst 2 0 -store __or_2_4309 2 +store __or_2_4366 2 load 3 node field 4 3 0 string kind strref 5 m46s1190 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_2_4309 6 -brif 6 L4310 L4309 -label L4309 +store __or_2_4366 6 +brif 6 L4367 L4366 +label L4366 load 8 node field 9 8 0 string kind strref 10 m46s573 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_2_4309 11 -label L4310 -load 13 __or_2_4309 -brif 13 L4307 L4308 -label L4307 +store __or_2_4366 11 +label L4367 +load 13 __or_2_4366 +brif 13 L4364 L4365 +label L4364 load 14 node call 15 ir_emitter_core_ir_emit_if_stmt void 1 14 -jmp L4306 -label L4308 +jmp L4363 +label L4365 load 16 node field 17 16 0 string kind strref 18 m46s571 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4311 L4312 -label L4311 +brif 19 L4368 L4369 +label L4368 load 21 node call 22 ir_emitter_core_ir_emit_if_let_stmt void 1 21 -jmp L4306 -label L4312 +jmp L4363 +label L4369 load 23 node field 24 23 0 string kind strref 25 m46s570 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L4313 L4314 -label L4313 +brif 26 L4370 L4371 +label L4370 load 28 node call 29 ir_emitter_core_ir_emit_while_let_stmt void 1 28 -jmp L4306 -label L4314 +jmp L4363 +label L4371 iconst 30 0 -store __or_30_4317 30 +store __or_30_4374 30 load 31 node field 32 31 0 string kind strref 33 m46s1189 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_30_4317 34 -brif 34 L4318 L4317 -label L4317 +store __or_30_4374 34 +brif 34 L4375 L4374 +label L4374 load 36 node field 37 36 0 string kind strref 38 m46s572 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __or_30_4317 39 -label L4318 -load 41 __or_30_4317 -brif 41 L4315 L4316 -label L4315 +store __or_30_4374 39 +label L4375 +load 41 __or_30_4374 +brif 41 L4372 L4373 +label L4372 load 42 node call 43 ir_emitter_core_ir_emit_while_stmt void 1 42 -jmp L4306 -label L4316 +jmp L4363 +label L4373 iconst 44 0 -store __or_44_4321 44 +store __or_44_4378 44 load 45 node field 46 45 0 string kind strref 47 m46s1188 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __or_44_4321 48 -brif 48 L4322 L4321 -label L4321 +store __or_44_4378 48 +brif 48 L4379 L4378 +label L4378 load 50 node field 51 50 0 string kind strref 52 m46s569 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __or_44_4321 53 -label L4322 -load 55 __or_44_4321 -brif 55 L4319 L4320 -label L4319 +store __or_44_4378 53 +label L4379 +load 55 __or_44_4378 +brif 55 L4376 L4377 +label L4376 load 56 node call 57 ir_emitter_core_ir_emit_for_stmt void 1 56 -jmp L4306 -label L4320 -label L4306 +jmp L4363 +label L4377 +label L4363 iconst 58 0 ret 58 endfunc @@ -164203,59 +164566,59 @@ call 4 ast_node_kind string 1 3 call 5 pith_cstring_release void 1 2 store kind 4 iconst 6 0 -store __or_6_4326 6 +store __or_6_4383 6 iconst 7 0 -store __or_7_4326 7 +store __or_7_4383 7 iconst 8 0 -store __or_8_4326 8 +store __or_8_4383 8 load 9 kind strref 10 m46s64 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_8_4326 11 -brif 11 L4327 L4326 -label L4326 +store __or_8_4383 11 +brif 11 L4384 L4383 +label L4383 load 13 kind strref 14 m46s531 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_8_4326 15 -label L4327 -load 17 __or_8_4326 -store __or_7_4326 17 -brif 17 L4329 L4328 -label L4328 +store __or_8_4383 15 +label L4384 +load 17 __or_8_4383 +store __or_7_4383 17 +brif 17 L4386 L4385 +label L4385 load 18 kind strref 19 m46s530 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_7_4326 20 -label L4329 -load 22 __or_7_4326 -store __or_6_4326 22 -brif 22 L4331 L4330 -label L4330 +store __or_7_4383 20 +label L4386 +load 22 __or_7_4383 +store __or_6_4383 22 +brif 22 L4388 L4387 +label L4387 load 23 kind strref 24 m46s65 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_6_4326 25 -label L4331 -load 27 __or_6_4326 -brif 27 L4324 L4325 -label L4324 +store __or_6_4383 25 +label L4388 +load 27 __or_6_4383 +brif 27 L4381 L4382 +label L4381 call 28 ir_emitter_core_ir_defer_push_scope void 0 iconst 29 0 store i 29 load 30 idx call 31 ast_node_child_count int 1 30 store child_count 31 -label L4332 +label L4389 load 32 i load 33 child_count lt 34 32 33 -brif 34 L4333 L4334 -label L4333 +brif 34 L4390 L4391 +label L4390 load 35 idx load 36 i call 37 ast_node_child int 2 35 36 @@ -164264,23 +164627,23 @@ load 39 i iconst 40 1 add 41 39 40 store i 41 -jmp L4332 -label L4334 +jmp L4389 +label L4391 call 42 ir_emitter_core_ir_defer_pop_scope_emit void 0 -jmp L4323 -label L4325 +jmp L4380 +label L4382 load 43 kind strref 44 m46s556 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L4336 L4337 -label L4336 +brif 45 L4393 L4394 +label L4393 load 47 ir_emitter_core_ir_break_stack call 48 pith_list_len int 1 47 iconst 49 0 gt 50 48 49 -brif 50 L4339 L4340 -label L4339 +brif 50 L4396 L4397 +label L4396 call 51 ir_emitter_core_ir_defer_emit_for_loop_jump void 0 strref 52 m46s833 load 53 ir_emitter_core_ir_break_stack @@ -164295,27 +164658,27 @@ call 61 ir_builder_ir_emit void 1 59 call 62 pith_cstring_release void 1 59 iconst 63 1 store ir_call_emit_ir_last_was_ret 63 -jmp L4338 -label L4340 -label L4338 +jmp L4395 +label L4397 +label L4395 iconst 64 0 load 65 kind call 66 pith_cstring_release void 1 65 ret 64 -label L4337 -label L4335 +label L4394 +label L4392 load 67 kind strref 68 m46s555 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L4342 L4343 -label L4342 +brif 69 L4399 L4400 +label L4399 load 71 ir_emitter_core_ir_continue_stack call 72 pith_list_len int 1 71 iconst 73 0 gt 74 72 73 -brif 74 L4345 L4346 -label L4345 +brif 74 L4402 L4403 +label L4402 call 75 ir_emitter_core_ir_defer_emit_for_loop_jump void 0 strref 76 m46s833 load 77 ir_emitter_core_ir_continue_stack @@ -164330,18 +164693,18 @@ call 85 ir_builder_ir_emit void 1 83 call 86 pith_cstring_release void 1 83 iconst 87 1 store ir_call_emit_ir_last_was_ret 87 -jmp L4344 -label L4346 -label L4344 +jmp L4401 +label L4403 +label L4401 iconst 88 0 load 89 kind call 90 pith_cstring_release void 1 89 ret 88 -label L4343 -label L4341 +label L4400 +label L4398 load 91 idx call 92 ir_emitter_core_ir_stmt void 1 91 -label L4323 +label L4380 iconst 93 0 load 94 kind call 95 pith_cstring_release void 1 94 @@ -164361,25 +164724,25 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store node 4 iconst 6 0 -store __and_6_4350 6 +store __and_6_4407 6 load 7 node field 8 7 0 string kind strref 9 m46s68 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __and_6_4350 10 -brif 10 L4350 L4351 -label L4350 +store __and_6_4407 10 +brif 10 L4407 L4408 +label L4407 load 12 node field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 gt 16 14 15 -store __and_6_4350 16 -label L4351 -load 17 __and_6_4350 -brif 17 L4348 L4349 -label L4348 +store __and_6_4407 16 +label L4408 +load 17 __and_6_4407 +brif 17 L4405 L4406 +label L4405 load 18 node field 19 18 16 list children iconst 20 0 @@ -164388,8 +164751,8 @@ call 22 ir_alias_registry_ir_resolve_type_node string 1 21 load 23 node call 24 pith_struct_release void 1 23 ret 22 -label L4349 -label L4347 +label L4406 +label L4404 strref 25 m46s165 load 26 node call 27 pith_struct_release void 1 26 @@ -164420,13 +164783,13 @@ call 12 pith_list_release_handle void 1 8 store nk 10 iconst 13 0 store i 13 -label L4352 +label L4409 load 14 i load 15 nk call 16 pith_list_len int 1 15 lt 17 14 16 -brif 17 L4353 L4354 -label L4353 +brif 17 L4410 L4411 +label L4410 load 18 cn load 19 nk load 20 i @@ -164439,8 +164802,8 @@ field 25 24 0 string kind strref 26 m46s65 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L4356 L4357 -label L4356 +brif 27 L4413 L4414 +label L4413 load 29 nk load 30 i call 31 pith_list_get_value_strict int 2 29 30 @@ -164451,20 +164814,20 @@ call 35 pith_list_release_handle void 1 34 load 36 cn call 37 pith_struct_release void 1 36 ret 31 -label L4357 -label L4355 +label L4414 +label L4412 load 38 i iconst 39 1 add 40 38 39 store i 40 -jmp L4352 -label L4354 +jmp L4409 +label L4411 load 41 nk call 42 pith_list_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L4359 L4360 -label L4359 +brif 44 L4416 L4417 +label L4416 load 45 nk load 46 nk call 47 pith_list_len int 1 46 @@ -164478,8 +164841,8 @@ call 54 pith_list_release_handle void 1 53 load 55 cn call 56 pith_struct_release void 1 55 ret 50 -label L4360 -label L4358 +label L4417 +label L4415 iconst 57 0 iconst 58 1 sub 59 57 58 @@ -164526,12 +164889,12 @@ iconst 16 0 store __for_idx_356 16 store __for_len_356 15 store __for_iter_356 14 -label L4361 +label L4418 load 17 __for_idx_356 load 18 __for_len_356 lt 19 17 18 -brif 19 L4362 L4364 -label L4362 +brif 19 L4419 L4421 +label L4419 load 20 __for_iter_356 load 21 __for_idx_356 call 22 pith_list_get_value unknown 2 20 21 @@ -164546,22 +164909,22 @@ field 28 27 0 string kind strref 29 m46s68 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L4366 L4367 -label L4366 +brif 30 L4423 L4424 +label L4423 load 32 count iconst 33 1 add 34 32 33 store count 34 -jmp L4365 -label L4367 -label L4365 -label L4363 +jmp L4422 +label L4424 +label L4422 +label L4420 load 35 __for_idx_356 iconst 36 1 add 37 35 36 store __for_idx_356 37 -jmp L4361 -label L4364 +jmp L4418 +label L4421 load 38 count load 39 node call 40 pith_struct_release void 1 39 @@ -164595,7 +164958,7 @@ call 7 ast_get_node struct:Node 1 6 call 8 pith_struct_release void 1 5 store node 7 iconst 9 0 -store __or_9_4371 9 +store __or_9_4428 9 load 10 node field 11 10 0 string kind strref 12 m46s68 @@ -164603,19 +164966,19 @@ call 14 pith_cstring_eq bool 2 11 12 iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 12 -store __or_9_4371 13 -brif 13 L4372 L4371 -label L4371 +store __or_9_4428 13 +brif 13 L4429 L4428 +label L4428 load 17 node field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 eq 21 19 20 -store __or_9_4371 21 -label L4372 -load 22 __or_9_4371 -brif 22 L4369 L4370 -label L4369 +store __or_9_4428 21 +label L4429 +load 22 __or_9_4428 +brif 22 L4426 L4427 +label L4426 load 23 node call 24 pith_struct_release void 1 23 load 25 tn @@ -164626,8 +164989,8 @@ load 29 ret_kind call 30 pith_cstring_release void 1 29 iconst 31 0 ret 31 -label L4370 -label L4368 +label L4427 +label L4425 load 32 tn load 33 node field 34 33 16 list children @@ -164637,7 +165000,7 @@ call 37 ast_get_node struct:Node 1 36 call 38 pith_struct_release void 1 32 store tn 37 iconst 39 0 -store __or_39_4376 39 +store __or_39_4433 39 load 40 tn field 41 40 0 string kind strref 42 m46s318 @@ -164645,19 +165008,19 @@ call 44 pith_cstring_eq bool 2 41 42 iconst 45 1 sub 43 45 44 call 46 pith_cstring_release void 1 42 -store __or_39_4376 43 -brif 43 L4377 L4376 -label L4376 +store __or_39_4433 43 +brif 43 L4434 L4433 +label L4433 load 47 tn field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 eq 51 49 50 -store __or_39_4376 51 -label L4377 -load 52 __or_39_4376 -brif 52 L4374 L4375 -label L4374 +store __or_39_4433 51 +label L4434 +load 52 __or_39_4433 +brif 52 L4431 L4432 +label L4431 load 53 node call 54 pith_struct_release void 1 53 load 55 tn @@ -164668,8 +165031,8 @@ load 59 ret_kind call 60 pith_cstring_release void 1 59 iconst 61 0 ret 61 -label L4375 -label L4373 +label L4432 +label L4430 load 62 last load 63 tn field 64 63 16 list children @@ -164683,7 +165046,7 @@ call 71 ast_get_node struct:Node 1 70 call 72 pith_struct_release void 1 62 store last 71 iconst 73 0 -store __or_73_4381 73 +store __or_73_4438 73 load 74 last field 75 74 0 string kind strref 76 m46s313 @@ -164691,19 +165054,19 @@ call 78 pith_cstring_eq bool 2 75 76 iconst 79 1 sub 77 79 78 call 80 pith_cstring_release void 1 76 -store __or_73_4381 77 -brif 77 L4382 L4381 -label L4381 +store __or_73_4438 77 +brif 77 L4439 L4438 +label L4438 load 81 last field 82 81 16 list children call 83 pith_list_len int 1 82 iconst 84 0 eq 85 83 84 -store __or_73_4381 85 -label L4382 -load 86 __or_73_4381 -brif 86 L4379 L4380 -label L4379 +store __or_73_4438 85 +label L4439 +load 86 __or_73_4438 +brif 86 L4436 L4437 +label L4436 load 87 node call 88 pith_struct_release void 1 87 load 89 tn @@ -164714,8 +165077,8 @@ load 93 ret_kind call 94 pith_cstring_release void 1 93 iconst 95 0 ret 95 -label L4380 -label L4378 +label L4437 +label L4435 load 96 ret_kind load 97 last field 98 97 16 list children @@ -164728,16 +165091,16 @@ load 103 ret_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -brif 106 L4384 L4385 -label L4384 +brif 106 L4441 L4442 +label L4441 load 107 ir_emitter_core_ir_closure_return_kinds load 108 node field 109 108 8 string value load 110 ret_kind call 111 map_insert void 3 107 109 110 -jmp L4383 -label L4385 -label L4383 +jmp L4440 +label L4442 +label L4440 load 112 node call 113 pith_struct_release void 1 112 load 114 tn @@ -164762,15 +165125,15 @@ load 7 param_type call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L4387 L4388 -label L4387 +brif 10 L4444 L4445 +label L4444 load 11 ir_builder_ir_var_types load 12 name load 13 param_type call 14 map_insert void 3 11 12 13 -jmp L4386 -label L4388 -label L4386 +jmp L4443 +label L4445 +label L4443 strref 15 m46s1187 load 16 name concat 17 15 16 @@ -164807,12 +165170,12 @@ iconst 16 0 store __for_idx_357 16 store __for_len_357 15 store __for_iter_357 14 -label L4389 +label L4446 load 17 __for_idx_357 load 18 __for_len_357 lt 19 17 18 -brif 19 L4390 L4392 -label L4390 +brif 19 L4447 L4449 +label L4447 load 20 __for_iter_357 load 21 __for_idx_357 call 22 pith_list_get_value unknown 2 20 21 @@ -164827,8 +165190,8 @@ field 28 27 0 string kind strref 29 m46s68 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L4394 L4395 -label L4394 +brif 30 L4451 L4452 +label L4451 load 32 ptype load 33 __loopvar_357_child call 34 ir_emitter_core_ir_extract_param_type string 1 33 @@ -164838,33 +165201,33 @@ load 36 ir_emitter_core_ir_current_impl_type call 37 string_len int 1 36 iconst 38 0 gt 39 37 38 -brif 39 L4397 L4398 -label L4397 +brif 39 L4454 L4455 +label L4454 load 40 ptype load 41 ir_emitter_core_ir_current_impl_type load 42 ptype call 43 ir_method_tables_ir_resolve_assoc_type string 2 41 42 call 44 pith_cstring_release void 1 40 store ptype 43 -jmp L4396 -label L4398 -label L4396 +jmp L4453 +label L4455 +label L4453 load 45 cn field 46 45 8 string value load 47 ptype call 48 ir_emitter_core_ir_emit_named_param void 2 46 47 load 49 __loopvar_357_child call 50 ir_emitter_core_ir_record_closure_param_return void 1 49 -jmp L4393 -label L4395 -label L4393 -label L4391 +jmp L4450 +label L4452 +label L4450 +label L4448 load 51 __for_idx_357 iconst 52 1 add 53 51 52 store __for_idx_357 53 -jmp L4389 -label L4392 +jmp L4446 +label L4449 load 54 node call 55 pith_struct_release void 1 54 load 56 nk @@ -164896,12 +165259,12 @@ iconst 11 0 store __for_idx_358 11 store __for_len_358 10 store __for_iter_358 9 -label L4399 +label L4456 load 12 __for_idx_358 load 13 __for_len_358 lt 14 12 13 -brif 14 L4400 L4402 -label L4400 +brif 14 L4457 L4459 +label L4457 load 15 __for_iter_358 load 16 __for_idx_358 call 17 pith_list_get_value unknown 2 15 16 @@ -164916,8 +165279,8 @@ field 23 22 0 string kind strref 24 m46s313 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L4404 L4405 -label L4404 +brif 25 L4461 L4462 +label L4461 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -164925,12 +165288,12 @@ iconst 30 0 store __for_idx_359 30 store __for_len_359 29 store __for_iter_359 28 -label L4406 +label L4463 load 31 __for_idx_359 load 32 __for_len_359 lt 33 31 32 -brif 33 L4407 L4409 -label L4407 +brif 33 L4464 L4466 +label L4464 load 34 __for_iter_359 load 35 __for_idx_359 call 36 pith_list_get_value unknown 2 34 35 @@ -164941,51 +165304,51 @@ call 39 ast_get_node struct:Node 1 38 call 40 pith_struct_release void 1 37 store rn 39 iconst 41 0 -store __or_41_4413 41 +store __or_41_4470 41 iconst 42 0 -store __or_42_4413 42 +store __or_42_4470 42 iconst 43 0 -store __or_43_4413 43 +store __or_43_4470 43 load 44 rn field 45 44 0 string kind strref 46 m46s328 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __or_43_4413 47 -brif 47 L4414 L4413 -label L4413 +store __or_43_4470 47 +brif 47 L4471 L4470 +label L4470 load 49 rn field 50 49 0 string kind strref 51 m46s327 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_43_4413 52 -label L4414 -load 54 __or_43_4413 -store __or_42_4413 54 -brif 54 L4416 L4415 -label L4415 +store __or_43_4470 52 +label L4471 +load 54 __or_43_4470 +store __or_42_4470 54 +brif 54 L4473 L4472 +label L4472 load 55 rn field 56 55 0 string kind strref 57 m46s320 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -store __or_42_4413 58 -label L4416 -load 60 __or_42_4413 -store __or_41_4413 60 -brif 60 L4418 L4417 -label L4417 +store __or_42_4470 58 +label L4473 +load 60 __or_42_4470 +store __or_41_4470 60 +brif 60 L4475 L4474 +label L4474 load 61 rn field 62 61 0 string kind strref 63 m46s321 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_41_4413 64 -label L4418 -load 66 __or_41_4413 -brif 66 L4411 L4412 -label L4411 +store __or_41_4470 64 +label L4475 +load 66 __or_41_4470 +brif 66 L4468 L4469 +label L4468 load 67 __loopvar_359_returns_child call 68 ir_alias_registry_ir_resolve_type_node string 1 67 load 69 node @@ -164995,25 +165358,25 @@ call 72 pith_struct_release void 1 71 load 73 rn call 74 pith_struct_release void 1 73 ret 68 -label L4412 -label L4410 -label L4408 +label L4469 +label L4467 +label L4465 load 75 __for_idx_359 iconst 76 1 add 77 75 76 store __for_idx_359 77 -jmp L4406 -label L4409 -jmp L4403 -label L4405 -label L4403 -label L4401 +jmp L4463 +label L4466 +jmp L4460 +label L4462 +label L4460 +label L4458 load 78 __for_idx_358 iconst 79 1 add 80 78 79 store __for_idx_358 80 -jmp L4399 -label L4402 +jmp L4456 +label L4459 strref 81 m46s822 load 82 node call 83 pith_struct_release void 1 82 @@ -165051,12 +165414,12 @@ iconst 11 0 store __for_idx_360 11 store __for_len_360 10 store __for_iter_360 9 -label L4419 +label L4476 load 12 __for_idx_360 load 13 __for_len_360 lt 14 12 13 -brif 14 L4420 L4422 -label L4420 +brif 14 L4477 L4479 +label L4477 load 15 __for_iter_360 load 16 __for_idx_360 call 17 pith_list_get_value unknown 2 15 16 @@ -165071,8 +165434,8 @@ field 23 22 0 string kind strref 24 m46s313 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L4424 L4425 -label L4424 +brif 25 L4481 L4482 +label L4481 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -165080,12 +165443,12 @@ iconst 30 0 store __for_idx_361 30 store __for_len_361 29 store __for_iter_361 28 -label L4426 +label L4483 load 31 __for_idx_361 load 32 __for_len_361 lt 33 31 32 -brif 33 L4427 L4429 -label L4427 +brif 33 L4484 L4486 +label L4484 load 34 __for_iter_361 load 35 __for_idx_361 call 36 pith_list_get_value unknown 2 34 35 @@ -165096,25 +165459,25 @@ call 39 ast_get_node struct:Node 1 38 call 40 pith_struct_release void 1 37 store rn 39 iconst 41 0 -store __and_41_4433 41 +store __and_41_4490 41 load 42 rn field 43 42 0 string kind strref 44 m46s321 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_41_4433 45 -brif 45 L4433 L4434 -label L4433 +store __and_41_4490 45 +brif 45 L4490 L4491 +label L4490 load 47 rn field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 gt 51 49 50 -store __and_41_4433 51 -label L4434 -load 52 __and_41_4433 -brif 52 L4431 L4432 -label L4431 +store __and_41_4490 51 +label L4491 +load 52 __and_41_4490 +brif 52 L4488 L4489 +label L4488 load 53 rn field 54 53 16 list children iconst 55 0 @@ -165127,25 +165490,25 @@ call 61 pith_struct_release void 1 60 load 62 rn call 63 pith_struct_release void 1 62 ret 57 -label L4432 -label L4430 -label L4428 +label L4489 +label L4487 +label L4485 load 64 __for_idx_361 iconst 65 1 add 66 64 65 store __for_idx_361 66 -jmp L4426 -label L4429 -jmp L4423 -label L4425 -label L4423 -label L4421 +jmp L4483 +label L4486 +jmp L4480 +label L4482 +label L4480 +label L4478 load 67 __for_idx_360 iconst 68 1 add 69 67 68 store __for_idx_360 69 -jmp L4419 -label L4422 +jmp L4476 +label L4479 strref 70 m46s82 load 71 node call 72 pith_struct_release void 1 71 @@ -165183,12 +165546,12 @@ iconst 11 0 store __for_idx_362 11 store __for_len_362 10 store __for_iter_362 9 -label L4435 +label L4492 load 12 __for_idx_362 load 13 __for_len_362 lt 14 12 13 -brif 14 L4436 L4438 -label L4436 +brif 14 L4493 L4495 +label L4493 load 15 __for_iter_362 load 16 __for_idx_362 call 17 pith_list_get_value unknown 2 15 16 @@ -165203,8 +165566,8 @@ field 23 22 0 string kind strref 24 m46s313 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L4440 L4441 -label L4440 +brif 25 L4497 L4498 +label L4497 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -165212,12 +165575,12 @@ iconst 30 0 store __for_idx_363 30 store __for_len_363 29 store __for_iter_363 28 -label L4442 +label L4499 load 31 __for_idx_363 load 32 __for_len_363 lt 33 31 32 -brif 33 L4443 L4445 -label L4443 +brif 33 L4500 L4502 +label L4500 load 34 __for_iter_363 load 35 __for_idx_363 call 36 pith_list_get_value unknown 2 34 35 @@ -165232,8 +165595,8 @@ field 42 41 0 string kind strref 43 m46s320 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -brif 44 L4447 L4448 -label L4447 +brif 44 L4504 L4505 +label L4504 iconst 46 1 load 47 node call 48 pith_struct_release void 1 47 @@ -165242,25 +165605,25 @@ call 50 pith_struct_release void 1 49 load 51 rn call 52 pith_struct_release void 1 51 ret 46 -label L4448 -label L4446 -label L4444 +label L4505 +label L4503 +label L4501 load 53 __for_idx_363 iconst 54 1 add 55 53 54 store __for_idx_363 55 -jmp L4442 -label L4445 -jmp L4439 -label L4441 -label L4439 -label L4437 +jmp L4499 +label L4502 +jmp L4496 +label L4498 +label L4496 +label L4494 load 56 __for_idx_362 iconst 57 1 add 58 56 57 store __for_idx_362 58 -jmp L4435 -label L4438 +jmp L4492 +label L4495 iconst 59 0 load 60 node call 61 pith_struct_release void 1 60 @@ -165295,8 +165658,8 @@ load 7 type_name call 8 string_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L4450 L4451 -label L4450 +brif 10 L4507 L4508 +label L4507 strref 11 m46s82 load 12 key call 13 pith_cstring_release void 1 12 @@ -165309,8 +165672,8 @@ call 19 pith_cstring_release void 1 18 load 20 base_key call 21 pith_cstring_release void 1 20 ret 11 -label L4451 -label L4449 +label L4508 +label L4506 load 22 key load 23 type_name load 24 method_name @@ -165320,8 +165683,8 @@ store key 25 load 27 ir_method_tables_ir_impl_methods load 28 key call 29 contains_key bool 2 27 28 -brif 29 L4453 L4454 -label L4453 +brif 29 L4510 L4511 +label L4510 load 30 ir_method_tables_ir_impl_methods load 31 key call 32 map_get_strict string 2 30 31 @@ -165337,8 +165700,8 @@ call 41 pith_cstring_release void 1 40 load 42 base_key call 43 pith_cstring_release void 1 42 ret 32 -label L4454 -label L4452 +label L4511 +label L4509 load 44 resolved load 45 type_name call 46 ir_alias_registry_ir_resolve_type_hint string 1 45 @@ -165349,8 +165712,8 @@ load 49 type_name call 51 pith_cstring_eq bool 2 48 49 iconst 52 1 sub 50 52 51 -brif 50 L4456 L4457 -label L4456 +brif 50 L4513 L4514 +label L4513 load 53 resolved_key load 54 resolved load 55 method_name @@ -165360,8 +165723,8 @@ store resolved_key 56 load 58 ir_method_tables_ir_impl_methods load 59 resolved_key call 60 contains_key bool 2 58 59 -brif 60 L4459 L4460 -label L4459 +brif 60 L4516 L4517 +label L4516 load 61 ir_method_tables_ir_impl_methods load 62 resolved_key call 63 map_get_strict string 2 61 62 @@ -165377,17 +165740,17 @@ call 72 pith_cstring_release void 1 71 load 73 base_key call 74 pith_cstring_release void 1 73 ret 63 -label L4460 -label L4458 -jmp L4455 -label L4457 -label L4455 +label L4517 +label L4515 +jmp L4512 +label L4514 +label L4512 load 75 type_name strref 76 m46s335 call 77 pith_cstring_contains bool 2 75 76 call 78 pith_cstring_release void 1 76 -brif 77 L4462 L4463 -label L4462 +brif 77 L4519 L4520 +label L4519 load 79 base load 80 type_name iconst 81 0 @@ -165407,8 +165770,8 @@ store base_key 91 load 93 ir_method_tables_ir_impl_methods load 94 base_key call 95 contains_key bool 2 93 94 -brif 95 L4465 L4466 -label L4465 +brif 95 L4522 L4523 +label L4522 load 96 ir_method_tables_ir_impl_methods load 97 base_key call 98 map_get_strict string 2 96 97 @@ -165424,11 +165787,11 @@ call 107 pith_cstring_release void 1 106 load 108 base_key call 109 pith_cstring_release void 1 108 ret 98 -label L4466 -label L4464 -jmp L4461 -label L4463 -label L4461 +label L4523 +label L4521 +jmp L4518 +label L4520 +label L4518 strref 110 m46s82 load 111 key call 112 pith_cstring_release void 1 111 @@ -165466,12 +165829,12 @@ iconst 6 0 store __for_idx_364 6 store __for_len_364 5 store __for_iter_364 4 -label L4467 +label L4524 load 7 __for_idx_364 load 8 __for_len_364 lt 9 7 8 -brif 9 L4468 L4470 -label L4468 +brif 9 L4525 L4527 +label L4525 load 10 __for_iter_364 load 11 __for_idx_364 call 12 pith_list_get_value unknown 2 10 11 @@ -165486,21 +165849,21 @@ field 18 17 0 string kind strref 19 m46s588 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L4472 L4473 -label L4472 +brif 20 L4529 L4530 +label L4529 load 22 node load 23 module_path call 24 ir_emitter_core_ir_collect_impl_method_signatures void 2 22 23 -jmp L4471 -label L4473 -label L4471 -label L4469 +jmp L4528 +label L4530 +label L4528 +label L4526 load 25 __for_idx_364 iconst 26 1 add 27 25 26 store __for_idx_364 27 -jmp L4467 -label L4470 +jmp L4524 +label L4527 load 28 __for_iter_364 call 29 pith_list_release_handle void 1 28 load 30 node @@ -165520,12 +165883,12 @@ iconst 6 0 store __for_idx_365 6 store __for_len_365 5 store __for_iter_365 4 -label L4474 +label L4531 load 7 __for_idx_365 load 8 __for_len_365 lt 9 7 8 -brif 9 L4475 L4477 -label L4475 +brif 9 L4532 L4534 +label L4532 load 10 __for_iter_365 load 11 __for_idx_365 call 12 pith_list_get_value unknown 2 10 11 @@ -165536,34 +165899,34 @@ call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 iconst 17 0 -store __and_17_4481 17 +store __and_17_4538 17 load 18 node field 19 18 0 string kind call 20 ir_generics_ir_is_fn_decl_kind bool 1 19 -store __and_17_4481 20 -brif 20 L4481 L4482 -label L4481 +store __and_17_4538 20 +brif 20 L4538 L4539 +label L4538 load 21 node call 22 ir_generics_ir_has_generic_params bool 1 21 -store __and_17_4481 22 -label L4482 -load 23 __and_17_4481 -brif 23 L4479 L4480 -label L4479 +store __and_17_4538 22 +label L4539 +load 23 __and_17_4538 +brif 23 L4536 L4537 +label L4536 load 24 __loopvar_365_item_idx load 25 node load 26 module_path call 27 ir_generics_ir_record_generic_function_decl void 3 24 25 26 -jmp L4478 -label L4480 -label L4478 -label L4476 +jmp L4535 +label L4537 +label L4535 +label L4533 load 28 __for_idx_365 iconst 29 1 add 30 28 29 store __for_idx_365 30 -jmp L4474 -label L4477 +jmp L4531 +label L4534 load 31 __for_iter_365 call 32 pith_list_release_handle void 1 31 load 33 node @@ -165581,15 +165944,15 @@ load 4 name call 5 contains_key bool 2 3 4 iconst 7 1 sub 6 7 5 -brif 6 L4484 L4485 -label L4484 +brif 6 L4541 L4542 +label L4541 load 8 node call 9 ir_emitter_core_ir_generic_arg_types list_string 1 8 load 10 inferred call 11 pith_list_release_handle void 1 10 ret 9 -label L4485 -label L4483 +label L4542 +label L4540 load 12 inferred load 13 name load 14 node @@ -165628,12 +165991,12 @@ iconst 11 0 store __for_idx_366 11 store __for_len_366 10 store __for_iter_366 9 -label L4486 +label L4543 load 12 __for_idx_366 load 13 __for_len_366 lt 14 12 13 -brif 14 L4487 L4489 -label L4487 +brif 14 L4544 L4546 +label L4544 load 15 __for_iter_366 load 16 __for_idx_366 call 17 pith_list_get_value unknown 2 15 16 @@ -165644,37 +166007,37 @@ call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 iconst 22 0 -store __and_22_4493 22 +store __and_22_4550 22 iconst 23 0 -store __and_23_4493 23 +store __and_23_4550 23 load 24 cn field 25 24 0 string kind strref 26 m46s68 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_4493 27 -brif 27 L4493 L4494 -label L4493 +store __and_23_4550 27 +brif 27 L4550 L4551 +label L4550 load 29 cn field 30 29 8 string value load 31 param_name call 32 pith_cstring_eq bool 2 30 31 -store __and_23_4493 32 -label L4494 -load 33 __and_23_4493 -store __and_22_4493 33 -brif 33 L4495 L4496 -label L4495 +store __and_23_4550 32 +label L4551 +load 33 __and_23_4550 +store __and_22_4550 33 +brif 33 L4552 L4553 +label L4552 load 34 cn field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -store __and_22_4493 38 -label L4496 -load 39 __and_22_4493 -brif 39 L4491 L4492 -label L4491 +store __and_22_4550 38 +label L4553 +load 39 __and_22_4550 +brif 39 L4548 L4549 +label L4548 load 40 cn field 41 40 16 list children iconst 42 0 @@ -165684,15 +166047,15 @@ call 45 pith_struct_release void 1 44 load 46 cn call 47 pith_struct_release void 1 46 ret 43 -label L4492 -label L4490 -label L4488 +label L4549 +label L4547 +label L4545 load 48 __for_idx_366 iconst 49 1 add 50 48 49 store __for_idx_366 50 -jmp L4486 -label L4489 +jmp L4543 +label L4546 iconst 51 0 iconst 52 1 sub 53 51 52 @@ -165724,21 +166087,21 @@ store ccn 7 iconst 8 0 store acn 8 iconst 9 0 -store __or_9_4500 9 +store __or_9_4557 9 load 10 callee_idx iconst 11 0 lt 12 10 11 -store __or_9_4500 12 -brif 12 L4501 L4500 -label L4500 +store __or_9_4557 12 +brif 12 L4558 L4557 +label L4557 load 13 caller_idx iconst 14 0 lt 15 13 14 -store __or_9_4500 15 -label L4501 -load 16 __or_9_4500 -brif 16 L4498 L4499 -label L4498 +store __or_9_4557 15 +label L4558 +load 16 __or_9_4557 +brif 16 L4555 L4556 +label L4555 load 17 cn call 18 pith_struct_release void 1 17 load 19 an @@ -165751,8 +166114,8 @@ load 25 acn call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L4499 -label L4497 +label L4556 +label L4554 load 28 cn load 29 callee_idx call 30 ast_get_node struct:Node 1 29 @@ -165768,40 +166131,40 @@ field 37 36 0 string kind strref 38 m46s328 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L4503 L4504 -label L4503 +brif 39 L4560 L4561 +label L4560 load 41 callee_params load 42 cn field 43 42 8 string value iconst 44 -1 -store __list_index_result_L4508 44 +store __list_index_result_L4565 44 iconst 45 0 -store __list_index_i_L4509 45 +store __list_index_i_L4566 45 call 46 pith_list_len int 1 41 -label L4510 -load 47 __list_index_i_L4509 +label L4567 +load 47 __list_index_i_L4566 lt 48 47 46 -brif 48 L4511 L4514 -label L4511 +brif 48 L4568 L4571 +label L4568 call 49 pith_list_get_value string 2 41 47 call 50 pith_cstring_eq bool 2 49 43 -brif 50 L4512 L4513 -label L4512 -store __list_index_result_L4508 47 -jmp L4514 -label L4513 +brif 50 L4569 L4570 +label L4569 +store __list_index_result_L4565 47 +jmp L4571 +label L4570 iconst 51 1 add 52 47 51 -store __list_index_i_L4509 52 -jmp L4510 -label L4514 -load 53 __list_index_result_L4508 +store __list_index_i_L4566 52 +jmp L4567 +label L4571 +load 53 __list_index_result_L4565 iconst 54 0 gte 55 53 54 iconst 57 1 sub 56 57 55 -brif 56 L4506 L4507 -label L4506 +brif 56 L4563 L4564 +label L4563 load 58 cn call 59 pith_struct_release void 1 58 load 60 an @@ -165814,8 +166177,8 @@ load 66 acn call 67 pith_struct_release void 1 66 iconst 68 0 ret 68 -label L4507 -label L4505 +label L4564 +label L4562 load 69 an field 70 69 0 string kind strref 71 m46s328 @@ -165823,8 +166186,8 @@ call 73 pith_cstring_eq bool 2 70 71 iconst 74 1 sub 72 74 73 call 75 pith_cstring_release void 1 71 -brif 72 L4516 L4517 -label L4516 +brif 72 L4573 L4574 +label L4573 load 76 cn call 77 pith_struct_release void 1 76 load 78 an @@ -165837,8 +166200,8 @@ load 84 acn call 85 pith_struct_release void 1 84 iconst 86 0 ret 86 -label L4517 -label L4515 +label L4574 +label L4572 load 87 resolved load 88 an field 89 88 8 string value @@ -165850,32 +166213,32 @@ store resolved 92 load 94 ir_alias_registry_ir_active_generic_params load 95 resolved iconst 96 -1 -store __list_index_result_L4521 96 +store __list_index_result_L4578 96 iconst 97 0 -store __list_index_i_L4522 97 +store __list_index_i_L4579 97 call 98 pith_list_len int 1 94 -label L4523 -load 99 __list_index_i_L4522 +label L4580 +load 99 __list_index_i_L4579 lt 100 99 98 -brif 100 L4524 L4527 -label L4524 +brif 100 L4581 L4584 +label L4581 call 101 pith_list_get_value string 2 94 99 call 102 pith_cstring_eq bool 2 101 95 -brif 102 L4525 L4526 -label L4525 -store __list_index_result_L4521 99 -jmp L4527 -label L4526 +brif 102 L4582 L4583 +label L4582 +store __list_index_result_L4578 99 +jmp L4584 +label L4583 iconst 103 1 add 104 99 103 -store __list_index_i_L4522 104 -jmp L4523 -label L4527 -load 105 __list_index_result_L4521 +store __list_index_i_L4579 104 +jmp L4580 +label L4584 +load 105 __list_index_result_L4578 iconst 106 0 gte 107 105 106 -brif 107 L4519 L4520 -label L4519 +brif 107 L4576 L4577 +label L4576 load 108 cn call 109 pith_struct_release void 1 108 load 110 an @@ -165888,24 +166251,24 @@ load 116 acn call 117 pith_struct_release void 1 116 iconst 118 0 ret 118 -label L4520 -label L4518 +label L4577 +label L4575 load 119 bindings load 120 cn field 121 120 8 string value call 122 contains_key bool 2 119 121 iconst 124 1 sub 123 124 122 -brif 123 L4529 L4530 -label L4529 +brif 123 L4586 L4587 +label L4586 load 125 bindings load 126 cn field 127 126 8 string value load 128 resolved call 129 map_insert void 3 125 127 128 -jmp L4528 -label L4530 -label L4528 +jmp L4585 +label L4587 +label L4585 load 130 cn call 131 pith_struct_release void 1 130 load 132 an @@ -165918,64 +166281,64 @@ load 138 acn call 139 pith_struct_release void 1 138 iconst 140 0 ret 140 -label L4504 -label L4502 +label L4561 +label L4559 iconst 141 0 -store __and_141_4534 141 +store __and_141_4591 141 iconst 142 0 -store __and_142_4534 142 +store __and_142_4591 142 load 143 cn field 144 143 0 string kind strref 145 m46s327 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 -store __and_142_4534 146 -brif 146 L4534 L4535 -label L4534 +store __and_142_4591 146 +brif 146 L4591 L4592 +label L4591 load 148 an field 149 148 0 string kind strref 150 m46s327 call 151 pith_cstring_eq bool 2 149 150 call 152 pith_cstring_release void 1 150 -store __and_142_4534 151 -label L4535 -load 153 __and_142_4534 -store __and_141_4534 153 -brif 153 L4536 L4537 -label L4536 +store __and_142_4591 151 +label L4592 +load 153 __and_142_4591 +store __and_141_4591 153 +brif 153 L4593 L4594 +label L4593 load 154 cn field 155 154 8 string value load 156 an field 157 156 8 string value call 158 pith_cstring_eq bool 2 155 157 -store __and_141_4534 158 -label L4537 -load 159 __and_141_4534 -brif 159 L4532 L4533 -label L4532 +store __and_141_4591 158 +label L4594 +load 159 __and_141_4591 +brif 159 L4589 L4590 +label L4589 iconst 160 0 store i 160 -label L4538 +label L4595 iconst 161 0 -store __and_161_4541 161 +store __and_161_4598 161 load 162 i load 163 cn field 164 163 16 list children call 165 pith_list_len int 1 164 lt 166 162 165 -store __and_161_4541 166 -brif 166 L4541 L4542 -label L4541 +store __and_161_4598 166 +brif 166 L4598 L4599 +label L4598 load 167 i load 168 an field 169 168 16 list children call 170 pith_list_len int 1 169 lt 171 167 170 -store __and_161_4541 171 -label L4542 -load 172 __and_161_4541 -brif 172 L4539 L4540 -label L4539 +store __and_161_4598 171 +label L4599 +load 172 __and_161_4598 +brif 172 L4596 L4597 +label L4596 load 173 cn field 174 173 16 list children load 175 i @@ -165991,8 +166354,8 @@ load 184 i iconst 185 1 add 186 184 185 store i 186 -jmp L4538 -label L4540 +jmp L4595 +label L4597 load 187 cn call 188 pith_struct_release void 1 187 load 189 an @@ -166005,40 +166368,40 @@ load 195 acn call 196 pith_struct_release void 1 195 iconst 197 0 ret 197 -label L4533 -label L4531 +label L4590 +label L4588 iconst 198 0 -store __and_198_4546 198 +store __and_198_4603 198 load 199 cn field 200 199 0 string kind strref 201 m46s318 call 202 pith_cstring_eq bool 2 200 201 call 203 pith_cstring_release void 1 201 -store __and_198_4546 202 -brif 202 L4546 L4547 -label L4546 +store __and_198_4603 202 +brif 202 L4603 L4604 +label L4603 load 204 an field 205 204 0 string kind strref 206 m46s318 call 207 pith_cstring_eq bool 2 205 206 call 208 pith_cstring_release void 1 206 -store __and_198_4546 207 -label L4547 -load 209 __and_198_4546 -brif 209 L4544 L4545 -label L4544 +store __and_198_4603 207 +label L4604 +load 209 __and_198_4603 +brif 209 L4601 L4602 +label L4601 iconst 210 0 store ci 210 iconst 211 0 store ai 211 -label L4548 +label L4605 load 212 ci load 213 cn field 214 213 16 list children call 215 pith_list_len int 1 214 lt 216 212 215 -brif 216 L4549 L4550 -label L4549 +brif 216 L4606 L4607 +label L4606 load 217 ccn load 218 cn field 219 218 16 list children @@ -166047,17 +166410,17 @@ call 221 pith_list_get_value_strict int 2 219 220 call 222 ast_get_node struct:Node 1 221 call 223 pith_struct_release void 1 217 store ccn 222 -label L4551 +label L4608 iconst 224 0 -store __and_224_4554 224 +store __and_224_4611 224 load 225 ai load 226 an field 227 226 16 list children call 228 pith_list_len int 1 227 lt 229 225 228 -store __and_224_4554 229 -brif 229 L4554 L4555 -label L4554 +store __and_224_4611 229 +brif 229 L4611 L4612 +label L4611 load 230 an field 231 230 16 list children load 232 ai @@ -166069,44 +166432,44 @@ field 237 236 0 string kind call 239 pith_cstring_eq bool 2 235 237 iconst 240 1 sub 238 240 239 -store __and_224_4554 238 -label L4555 -load 241 __and_224_4554 -brif 241 L4552 L4553 -label L4552 +store __and_224_4611 238 +label L4612 +load 241 __and_224_4611 +brif 241 L4609 L4610 +label L4609 load 242 ai iconst 243 1 add 244 242 243 store ai 244 -jmp L4551 -label L4553 +jmp L4608 +label L4610 load 245 ai load 246 an field 247 246 16 list children call 248 pith_list_len int 1 247 lt 249 245 248 -brif 249 L4557 L4558 -label L4557 +brif 249 L4614 L4615 +label L4614 iconst 250 0 -store __and_250_4562 250 +store __and_250_4619 250 load 251 ccn field 252 251 0 string kind strref 253 m46s68 call 254 pith_cstring_eq bool 2 252 253 call 255 pith_cstring_release void 1 253 -store __and_250_4562 254 -brif 254 L4562 L4563 -label L4562 +store __and_250_4619 254 +brif 254 L4619 L4620 +label L4619 load 256 ccn field 257 256 16 list children call 258 pith_list_len int 1 257 iconst 259 0 gt 260 258 259 -store __and_250_4562 260 -label L4563 -load 261 __and_250_4562 -brif 261 L4560 L4561 -label L4560 +store __and_250_4619 260 +label L4620 +load 261 __and_250_4619 +brif 261 L4617 L4618 +label L4617 load 262 acn load 263 an field 264 263 16 list children @@ -166120,8 +166483,8 @@ field 270 269 16 list children call 271 pith_list_len int 1 270 iconst 272 0 gt 273 271 272 -brif 273 L4565 L4566 -label L4565 +brif 273 L4622 L4623 +label L4622 load 274 ccn field 275 274 16 list children iconst 276 0 @@ -166133,31 +166496,31 @@ call 281 pith_list_get_value_strict int 2 279 280 load 282 callee_params load 283 bindings call 284 ir_emitter_core_ir_unify_generic_param_nodes void 4 277 281 282 283 -jmp L4564 -label L4566 -label L4564 -jmp L4559 -label L4561 +jmp L4621 +label L4623 +label L4621 +jmp L4616 +label L4618 iconst 285 0 -store __and_285_4569 285 +store __and_285_4626 285 load 286 ccn field 287 286 0 string kind strref 288 m46s313 call 289 pith_cstring_eq bool 2 287 288 call 290 pith_cstring_release void 1 288 -store __and_285_4569 289 -brif 289 L4569 L4570 -label L4569 +store __and_285_4626 289 +brif 289 L4626 L4627 +label L4626 load 291 ccn field 292 291 16 list children call 293 pith_list_len int 1 292 iconst 294 0 gt 295 293 294 -store __and_285_4569 295 -label L4570 -load 296 __and_285_4569 -brif 296 L4567 L4568 -label L4567 +store __and_285_4626 295 +label L4627 +load 296 __and_285_4626 +brif 296 L4624 L4625 +label L4624 load 297 acn load 298 an field 299 298 16 list children @@ -166171,8 +166534,8 @@ field 305 304 16 list children call 306 pith_list_len int 1 305 iconst 307 0 gt 308 306 307 -brif 308 L4572 L4573 -label L4572 +brif 308 L4629 L4630 +label L4629 load 309 ccn field 310 309 16 list children iconst 311 0 @@ -166184,28 +166547,28 @@ call 316 pith_list_get_value_strict int 2 314 315 load 317 callee_params load 318 bindings call 319 ir_emitter_core_ir_unify_generic_param_nodes void 4 312 316 317 318 -jmp L4571 -label L4573 -label L4571 -jmp L4559 -label L4568 -label L4559 +jmp L4628 +label L4630 +label L4628 +jmp L4616 +label L4625 +label L4616 load 320 ai iconst 321 1 add 322 320 321 store ai 322 -jmp L4556 -label L4558 -label L4556 +jmp L4613 +label L4615 +label L4613 load 323 ci iconst 324 1 add 325 323 324 store ci 325 -jmp L4548 -label L4550 -jmp L4543 -label L4545 -label L4543 +jmp L4605 +label L4607 +jmp L4600 +label L4602 +label L4600 load 326 cn call 327 pith_struct_release void 1 326 load 328 an @@ -166240,34 +166603,34 @@ store filled 9 load 10 inferred strref 11 m46s822 iconst 12 -1 -store __list_index_result_L4577 12 +store __list_index_result_L4634 12 iconst 13 0 -store __list_index_i_L4578 13 +store __list_index_i_L4635 13 call 14 pith_list_len int 1 10 -label L4579 -load 15 __list_index_i_L4578 +label L4636 +load 15 __list_index_i_L4635 lt 16 15 14 -brif 16 L4580 L4583 -label L4580 +brif 16 L4637 L4640 +label L4637 call 17 pith_list_get_value string 2 10 15 call 18 pith_cstring_eq bool 2 17 11 -brif 18 L4581 L4582 -label L4581 -store __list_index_result_L4577 15 -jmp L4583 -label L4582 +brif 18 L4638 L4639 +label L4638 +store __list_index_result_L4634 15 +jmp L4640 +label L4639 iconst 19 1 add 20 15 19 -store __list_index_i_L4578 20 -jmp L4579 -label L4583 -load 21 __list_index_result_L4577 +store __list_index_i_L4635 20 +jmp L4636 +label L4640 +load 21 __list_index_result_L4634 iconst 22 0 gte 23 21 22 iconst 25 1 sub 24 25 23 -brif 24 L4575 L4576 -label L4575 +brif 24 L4632 L4633 +label L4632 load 26 inferred call 27 pith_list_retain_handle void 1 26 load 28 callee_params @@ -166285,25 +166648,25 @@ call 39 pith_cstring_release void 1 38 load 40 filled call 41 pith_list_release_handle void 1 40 ret 26 -label L4576 -label L4574 +label L4633 +label L4631 iconst 42 0 -store __or_42_4587 42 +store __or_42_4644 42 load 43 ir_alias_registry_ir_active_generic_params call 44 pith_list_len int 1 43 iconst 45 0 eq 46 44 45 -store __or_42_4587 46 -brif 46 L4588 L4587 -label L4587 +store __or_42_4644 46 +brif 46 L4645 L4644 +label L4644 load 47 ir_alias_registry_ir_active_generic_decl_idx iconst 48 0 lt 49 47 48 -store __or_42_4587 49 -label L4588 -load 50 __or_42_4587 -brif 50 L4585 L4586 -label L4585 +store __or_42_4644 49 +label L4645 +load 50 __or_42_4644 +brif 50 L4642 L4643 +label L4642 load 51 inferred call 52 pith_list_retain_handle void 1 51 load 53 callee_params @@ -166321,8 +166684,8 @@ call 64 pith_cstring_release void 1 63 load 65 filled call 66 pith_list_release_handle void 1 65 ret 51 -label L4586 -label L4584 +label L4643 +label L4641 load 67 ir_generics_ir_generic_decl_indices load 68 name call 69 map_get_strict int 2 67 68 @@ -166347,12 +166710,12 @@ iconst 83 0 store __for_idx_367 83 store __for_len_367 82 store __for_iter_367 81 -label L4589 +label L4646 load 84 __for_idx_367 load 85 __for_len_367 lt 86 84 85 -brif 86 L4590 L4592 -label L4590 +brif 86 L4647 L4649 +label L4647 load 87 __for_iter_367 load 88 __for_idx_367 call 89 pith_list_get_value unknown 2 87 88 @@ -166362,11 +166725,11 @@ store __loopvar_367_i 90 load 91 __loopvar_367_i iconst 92 0 eq 93 91 92 -brif 93 L4594 L4595 -label L4594 -jmp L4591 -label L4595 -label L4593 +brif 93 L4651 L4652 +label L4651 +jmp L4648 +label L4652 +label L4650 load 94 __loopvar_367_child store expr_idx 94 load 95 cn @@ -166379,26 +166742,26 @@ field 100 99 0 string kind strref 101 m46s42 call 102 pith_cstring_eq bool 2 100 101 call 103 pith_cstring_release void 1 101 -brif 102 L4597 L4598 -label L4597 +brif 102 L4654 L4655 +label L4654 load 104 cn field 105 104 16 list children call 106 pith_list_len int 1 105 iconst 107 0 eq 108 106 107 -brif 108 L4600 L4601 -label L4600 -jmp L4591 -label L4601 -label L4599 +brif 108 L4657 L4658 +label L4657 +jmp L4648 +label L4658 +label L4656 load 109 cn field 110 109 16 list children iconst 111 0 call 112 pith_list_get_value_strict int 2 110 111 store expr_idx 112 -jmp L4596 -label L4598 -label L4596 +jmp L4653 +label L4655 +label L4653 load 113 en load 114 expr_idx call 115 ast_get_node struct:Node 1 114 @@ -166409,8 +166772,8 @@ field 118 117 0 string kind strref 119 m46s37 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -brif 120 L4603 L4604 -label L4603 +brif 120 L4660 L4661 +label L4660 load 122 ir_alias_registry_ir_active_generic_decl_idx load 123 en field 124 123 8 string value @@ -166419,8 +166782,8 @@ store caller_type_idx 125 load 126 caller_type_idx iconst 127 0 gte 128 126 127 -brif 128 L4606 L4607 -label L4606 +brif 128 L4663 L4664 +label L4663 load 129 declared load 130 caller_type_idx call 131 ir_alias_registry_ir_resolve_type_node string 1 130 @@ -166433,22 +166796,22 @@ call 136 ir_emitter_core_ir_lookup_name_type string 1 135 call 137 pith_cstring_release void 1 133 store tracked 136 iconst 138 0 -store __or_138_4611 138 +store __or_138_4668 138 load 139 tracked call 140 string_len int 1 139 iconst 141 0 eq 142 140 141 -store __or_138_4611 142 -brif 142 L4612 L4611 -label L4611 +store __or_138_4668 142 +brif 142 L4669 L4668 +label L4668 load 143 tracked load 144 declared call 145 pith_cstring_eq bool 2 143 144 -store __or_138_4611 145 -label L4612 -load 146 __or_138_4611 -brif 146 L4609 L4610 -label L4609 +store __or_138_4668 145 +label L4669 +load 146 __or_138_4668 +brif 146 L4666 L4667 +label L4666 load 147 callee_decl load 148 callee_decl load 149 arg_pos @@ -166461,26 +166824,26 @@ load 154 caller_type_idx load 155 callee_params load 156 bindings call 157 ir_emitter_core_ir_unify_generic_param_nodes void 4 153 154 155 156 -jmp L4608 -label L4610 -label L4608 -jmp L4605 -label L4607 -label L4605 -jmp L4602 -label L4604 -label L4602 +jmp L4665 +label L4667 +label L4665 +jmp L4662 +label L4664 +label L4662 +jmp L4659 +label L4661 +label L4659 load 158 arg_pos iconst 159 1 add 160 158 159 store arg_pos 160 -label L4591 +label L4648 load 161 __for_idx_367 iconst 162 1 add 163 161 162 store __for_idx_367 163 -jmp L4589 -label L4592 +jmp L4646 +label L4649 load 164 filled call 165 pith_list_new_cstr list 0 call 166 pith_list_release_handle void 1 164 @@ -166491,12 +166854,12 @@ iconst 169 0 store __for_idx_368 169 store __for_len_368 168 store __for_iter_368 167 -label L4613 +label L4670 load 170 __for_idx_368 load 171 __for_len_368 lt 172 170 171 -brif 172 L4614 L4616 -label L4614 +brif 172 L4671 L4673 +label L4671 load 173 __for_iter_368 load 174 __for_idx_368 call 175 pith_list_get_value_unchecked string 2 173 174 @@ -166504,36 +166867,36 @@ store __loopvar_368_concrete 175 load 176 __for_idx_368 store __loopvar_368_i 176 iconst 177 0 -store __and_177_4620 177 +store __and_177_4677 177 iconst 178 0 -store __and_178_4620 178 +store __and_178_4677 178 load 179 __loopvar_368_concrete strref 180 m46s822 call 181 pith_cstring_eq bool 2 179 180 call 182 pith_cstring_release void 1 180 -store __and_178_4620 181 -brif 181 L4620 L4621 -label L4620 +store __and_178_4677 181 +brif 181 L4677 L4678 +label L4677 load 183 __loopvar_368_i load 184 callee_params call 185 pith_list_len int 1 184 lt 186 183 185 -store __and_178_4620 186 -label L4621 -load 187 __and_178_4620 -store __and_177_4620 187 -brif 187 L4622 L4623 -label L4622 +store __and_178_4677 186 +label L4678 +load 187 __and_178_4677 +store __and_177_4677 187 +brif 187 L4679 L4680 +label L4679 load 188 bindings load 189 callee_params load 190 __loopvar_368_i call 191 pith_list_get_value_strict string 2 189 190 call 192 contains_key bool 2 188 191 -store __and_177_4620 192 -label L4623 -load 193 __and_177_4620 -brif 193 L4618 L4619 -label L4618 +store __and_177_4677 192 +label L4680 +load 193 __and_177_4677 +brif 193 L4675 L4676 +label L4675 load 194 filled load 195 bindings load 196 callee_params @@ -166541,19 +166904,19 @@ load 197 __loopvar_368_i call 198 pith_list_get_value_strict string 2 196 197 call 199 map_get_strict string 2 195 198 call 200 pith_list_push_value void 2 194 199 -jmp L4617 -label L4619 +jmp L4674 +label L4676 load 201 filled load 202 __loopvar_368_concrete call 203 pith_list_push_value void 2 201 202 -label L4617 -label L4615 +label L4674 +label L4672 load 204 __for_idx_368 iconst 205 1 add 206 204 205 store __for_idx_368 206 -jmp L4613 -label L4616 +jmp L4670 +label L4673 load 207 filled load 208 callee_params call 209 pith_list_release_handle void 1 208 @@ -166601,8 +166964,8 @@ field 8 7 0 string kind strref 9 m46s37 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4625 L4626 -label L4625 +brif 10 L4682 L4683 +label L4682 load 12 resolved load 13 type_node field 14 13 8 string value @@ -166615,14 +166978,14 @@ load 19 resolved call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L4628 L4629 -label L4628 +brif 22 L4685 L4686 +label L4685 load 23 resolved load 24 type_node call 25 pith_struct_release void 1 24 ret 23 -label L4629 -label L4627 +label L4686 +label L4684 load 26 type_node field 27 26 8 string value call 28 ir_alias_registry_ir_resolve_type_hint string 1 27 @@ -166631,8 +166994,8 @@ call 30 pith_struct_release void 1 29 load 31 resolved call 32 pith_cstring_release void 1 31 ret 28 -label L4626 -label L4624 +label L4683 +label L4681 load 33 type_idx load 34 ir_alias_registry_ir_active_generic_params load 35 ir_alias_registry_ir_active_generic_concrete_types @@ -166659,14 +167022,14 @@ call 4 pith_list_release_handle void 1 2 store concrete_types 3 iconst 5 1 store i 5 -label L4630 +label L4687 load 6 i load 7 index_node field 8 7 16 list children call 9 pith_list_len int 1 8 lt 10 6 9 -brif 10 L4631 L4632 -label L4631 +brif 10 L4688 L4689 +label L4688 load 11 concrete_types load 12 index_node field 13 12 16 list children @@ -166678,8 +167041,8 @@ load 18 i iconst 19 1 add 20 18 19 store i 20 -jmp L4630 -label L4632 +jmp L4687 +label L4689 load 21 concrete_types ret 21 load 22 concrete_types @@ -166710,12 +167073,12 @@ iconst 13 0 store __for_idx_369 13 store __for_len_369 12 store __for_iter_369 11 -label L4633 +label L4690 load 14 __for_idx_369 load 15 __for_len_369 lt 16 14 15 -brif 16 L4634 L4636 -label L4634 +brif 16 L4691 L4693 +label L4691 load 17 __for_iter_369 load 18 __for_idx_369 call 19 pith_list_get_value unknown 2 17 18 @@ -166730,8 +167093,8 @@ field 25 24 0 string kind strref 26 m46s68 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L4638 L4639 -label L4638 +brif 27 L4695 L4696 +label L4695 load 29 param_type strref 30 m46s82 call 31 pith_cstring_release void 1 29 @@ -166740,8 +167103,8 @@ load 32 param_idx load 33 param_types call 34 pith_list_len int 1 33 lt 35 32 34 -brif 35 L4641 L4642 -label L4641 +brif 35 L4698 L4699 +label L4698 load 36 param_type load 37 param_types load 38 param_idx @@ -166749,9 +167112,9 @@ call 39 pith_list_get_value_strict string 2 37 38 call 40 pith_cstring_retain void 1 39 call 41 pith_cstring_release void 1 36 store param_type 39 -jmp L4640 -label L4642 -label L4640 +jmp L4697 +label L4699 +label L4697 load 42 cn field 43 42 8 string value load 44 param_type @@ -166762,16 +167125,16 @@ load 48 param_idx iconst 49 1 add 50 48 49 store param_idx 50 -jmp L4637 -label L4639 -label L4637 -label L4635 +jmp L4694 +label L4696 +label L4694 +label L4692 load 51 __for_idx_369 iconst 52 1 add 53 51 52 store __for_idx_369 53 -jmp L4633 -label L4636 +jmp L4690 +label L4693 load 54 node call 55 pith_struct_release void 1 54 load 56 cn @@ -166802,12 +167165,12 @@ iconst 11 0 store __for_idx_370 11 store __for_len_370 10 store __for_iter_370 9 -label L4643 +label L4700 load 12 __for_idx_370 load 13 __for_len_370 lt 14 12 13 -brif 14 L4644 L4646 -label L4644 +brif 14 L4701 L4703 +label L4701 load 15 __for_iter_370 load 16 __for_idx_370 call 17 pith_list_get_value unknown 2 15 16 @@ -166817,11 +167180,11 @@ store __loopvar_370_i 18 load 19 __loopvar_370_i iconst 20 0 eq 21 19 20 -brif 21 L4648 L4649 -label L4648 -jmp L4645 -label L4649 -label L4647 +brif 21 L4705 L4706 +label L4705 +jmp L4702 +label L4706 +label L4704 load 22 child_kind load 23 __loopvar_370_child call 24 ast_node_kind string 1 23 @@ -166833,8 +167196,8 @@ load 27 child_kind strref 28 m46s42 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L4651 L4652 -label L4651 +brif 29 L4708 L4709 +label L4708 load 31 cn load 32 __loopvar_370_child call 33 ast_get_node struct:Node 1 32 @@ -166845,19 +167208,19 @@ field 36 35 16 list children call 37 pith_list_len int 1 36 iconst 38 0 gt 39 37 38 -brif 39 L4654 L4655 -label L4654 +brif 39 L4711 L4712 +label L4711 load 40 cn field 41 40 16 list children iconst 42 0 call 43 pith_list_get_value_strict int 2 41 42 store expr_idx 43 -jmp L4653 -label L4655 -label L4653 -jmp L4650 -label L4652 -label L4650 +jmp L4710 +label L4712 +label L4710 +jmp L4707 +label L4709 +label L4707 load 44 checked load 45 expr_idx call 46 ir_type_helpers_ir_checked_type string 1 45 @@ -166867,25 +167230,25 @@ load 48 checked call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L4657 L4658 -label L4657 +brif 51 L4714 L4715 +label L4714 load 52 arg_types load 53 checked call 54 pith_list_push_value void 2 52 53 -jmp L4656 -label L4658 +jmp L4713 +label L4715 load 55 arg_types load 56 expr_idx call 57 ir_emitter_core_ir_infer_type string 1 56 call 58 pith_list_push_value_owned void 2 55 57 -label L4656 -label L4645 +label L4713 +label L4702 load 59 __for_idx_370 iconst 60 1 add 61 59 60 store __for_idx_370 61 -jmp L4643 -label L4646 +jmp L4700 +label L4703 load 62 arg_types load 63 child_kind call 64 pith_cstring_release void 1 63 @@ -166924,12 +167287,12 @@ iconst 10 0 store __for_idx_371 10 store __for_len_371 9 store __for_iter_371 8 -label L4659 +label L4716 load 11 __for_idx_371 load 12 __for_len_371 lt 13 11 12 -brif 13 L4660 L4662 -label L4660 +brif 13 L4717 L4719 +label L4717 load 14 __for_iter_371 load 15 __for_idx_371 call 16 pith_list_get_value unknown 2 14 15 @@ -166939,11 +167302,11 @@ store __loopvar_371_i 17 load 18 __loopvar_371_i iconst 19 0 eq 20 18 19 -brif 20 L4664 L4665 -label L4664 -jmp L4661 -label L4665 -label L4663 +brif 20 L4721 L4722 +label L4721 +jmp L4718 +label L4722 +label L4720 load 21 child_kind load 22 __loopvar_371_child call 23 ast_node_kind string 1 22 @@ -166955,8 +167318,8 @@ load 26 child_kind strref 27 m46s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L4667 L4668 -label L4667 +brif 28 L4724 L4725 +label L4724 load 30 cn load 31 __loopvar_371_child call 32 ast_get_node struct:Node 1 31 @@ -166967,30 +167330,30 @@ field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -brif 38 L4670 L4671 -label L4670 +brif 38 L4727 L4728 +label L4727 load 39 cn field 40 39 16 list children iconst 41 0 call 42 pith_list_get_value_strict int 2 40 41 store expr_idx 42 -jmp L4669 -label L4671 -label L4669 -jmp L4666 -label L4668 -label L4666 +jmp L4726 +label L4728 +label L4726 +jmp L4723 +label L4725 +label L4723 load 43 arg_tids load 44 expr_idx call 45 checker_c_get_expr_type int 1 44 call 46 pith_list_push_value void 2 43 45 -label L4661 +label L4718 load 47 __for_idx_371 iconst 48 1 add 49 47 48 store __for_idx_371 49 -jmp L4659 -label L4662 +jmp L4716 +label L4719 load 50 arg_tids load 51 child_kind call 52 pith_cstring_release void 1 51 @@ -167020,8 +167383,8 @@ call 7 pith_cstring_contains bool 2 5 6 call 8 pith_cstring_release void 1 6 iconst 9 0 eq 10 7 9 -brif 10 L4673 L4674 -label L4673 +brif 10 L4730 L4731 +label L4730 load 11 type_name call 12 pith_cstring_retain void 1 11 load 13 parts @@ -167029,8 +167392,8 @@ call 14 pith_list_release_handle void 1 13 load 15 akey call 16 pith_cstring_release void 1 15 ret 11 -label L4674 -label L4672 +label L4731 +label L4729 load 17 parts load 18 type_name strref 19 m46s26 @@ -167042,8 +167405,8 @@ load 23 parts call 24 pith_list_len int 1 23 iconst 25 2 neq 26 24 25 -brif 26 L4676 L4677 -label L4676 +brif 26 L4733 L4734 +label L4733 load 27 type_name call 28 pith_cstring_retain void 1 27 load 29 parts @@ -167051,8 +167414,8 @@ call 30 pith_list_release_handle void 1 29 load 31 akey call 32 pith_cstring_release void 1 31 ret 27 -label L4677 -label L4675 +label L4734 +label L4732 iconst 33 0 store i 33 load 34 params @@ -167061,35 +167424,35 @@ iconst 36 0 store __for_idx_372 36 store __for_len_372 35 store __for_iter_372 34 -label L4678 +label L4735 load 37 __for_idx_372 load 38 __for_len_372 lt 39 37 38 -brif 39 L4679 L4681 -label L4679 +brif 39 L4736 L4738 +label L4736 load 40 __for_iter_372 load 41 __for_idx_372 call 42 pith_list_get_value_unchecked string 2 40 41 store __loopvar_372_p 42 iconst 43 0 -store __and_43_4685 43 +store __and_43_4742 43 load 44 __loopvar_372_p load 45 parts iconst 46 0 call 47 pith_list_get_value_strict string 2 45 46 call 48 pith_cstring_eq bool 2 44 47 -store __and_43_4685 48 -brif 48 L4685 L4686 -label L4685 +store __and_43_4742 48 +brif 48 L4742 L4743 +label L4742 load 49 i load 50 concrete call 51 pith_list_len int 1 50 lt 52 49 51 -store __and_43_4685 52 -label L4686 -load 53 __and_43_4685 -brif 53 L4683 L4684 -label L4683 +store __and_43_4742 52 +label L4743 +load 53 __and_43_4742 +brif 53 L4740 L4741 +label L4740 load 54 akey load 55 concrete load 56 i @@ -167109,8 +167472,8 @@ store akey 66 load 69 ir_method_tables_ir_assoc_bindings load 70 akey call 71 contains_key bool 2 69 70 -brif 71 L4688 L4689 -label L4688 +brif 71 L4745 L4746 +label L4745 load 72 ir_method_tables_ir_assoc_bindings load 73 akey call 74 map_get_strict string 2 72 73 @@ -167120,22 +167483,22 @@ call 77 pith_list_release_handle void 1 76 load 78 akey call 79 pith_cstring_release void 1 78 ret 74 -label L4689 -label L4687 -jmp L4682 -label L4684 -label L4682 +label L4746 +label L4744 +jmp L4739 +label L4741 +label L4739 load 80 i iconst 81 1 add 82 80 81 store i 82 -label L4680 +label L4737 load 83 __for_idx_372 iconst 84 1 add 85 83 84 store __for_idx_372 85 -jmp L4678 -label L4681 +jmp L4735 +label L4738 load 86 type_name call 87 pith_cstring_retain void 1 86 load 88 parts @@ -167181,8 +167544,8 @@ load 14 key call 15 contains_key bool 2 13 14 iconst 17 1 sub 16 17 15 -brif 16 L4691 L4692 -label L4691 +brif 16 L4748 L4749 +label L4748 load 18 base_name call 19 pith_cstring_release void 1 18 load 20 decl_node @@ -167209,8 +167572,8 @@ load 40 saved_param_optional_tids call 41 pith_map_release_handle void 1 40 iconst 42 0 ret 42 -label L4692 -label L4690 +label L4749 +label L4747 load 43 base_name load 44 key iconst 45 9 @@ -167227,8 +167590,8 @@ load 54 base_name call 55 contains_key bool 2 53 54 iconst 57 1 sub 56 57 55 -brif 56 L4694 L4695 -label L4694 +brif 56 L4751 L4752 +label L4751 load 58 base_name call 59 pith_cstring_release void 1 58 load 60 decl_node @@ -167255,8 +167618,8 @@ load 80 saved_param_optional_tids call 81 pith_map_release_handle void 1 80 iconst 82 0 ret 82 -label L4695 -label L4693 +label L4752 +label L4750 load 83 ir_generics_ir_generic_decl_indices load 84 base_name call 85 map_get_strict int 2 83 84 @@ -167319,12 +167682,12 @@ iconst 131 0 store __for_idx_373 131 store __for_len_373 130 store __for_iter_373 129 -label L4696 +label L4753 load 132 __for_idx_373 load 133 __for_len_373 lt 134 132 133 -brif 134 L4697 L4699 -label L4697 +brif 134 L4754 L4756 +label L4754 load 135 __for_iter_373 load 136 __for_idx_373 call 137 pith_list_get_value_unchecked string 2 135 136 @@ -167335,13 +167698,13 @@ load 140 generic_params load 141 concrete_types call 142 ir_emitter_core_ir_resolve_assoc_in_generic string 3 139 140 141 call 143 pith_list_push_value_owned void 2 138 142 -label L4698 +label L4755 load 144 __for_idx_373 iconst 145 1 add 146 144 145 store __for_idx_373 146 -jmp L4696 -label L4699 +jmp L4753 +label L4756 load 147 param_types load 148 resolved_param_types call 149 pith_list_retain_handle void 1 148 @@ -167384,18 +167747,18 @@ store ir_alias_registry_ir_active_param_optional_tids 175 load 176 ir_generics_ir_generic_decl_module_paths load 177 base_name call 178 contains_key bool 2 176 177 -brif 178 L4701 L4702 -label L4701 +brif 178 L4758 L4759 +label L4758 load 179 ir_generics_ir_generic_decl_module_paths load 180 base_name call 181 map_get_strict string 2 179 180 call 182 pith_cstring_retain void 1 181 store ir_alias_registry_ir_active_generic_module_path 181 -jmp L4700 -label L4702 +jmp L4757 +label L4759 strref 183 m46s82 store ir_alias_registry_ir_active_generic_module_path 183 -label L4700 +label L4757 load 184 ret_type call 185 ir_emitter_core_ir_prepare_func_emission void 1 184 load 186 ir_emitter_core_ir_current_func_optional_inner_kind @@ -167424,24 +167787,24 @@ load 206 spec_name load 207 ret_type call 208 map_insert void 3 205 206 207 iconst 209 0 -store __and_209_4706 209 +store __and_209_4763 209 load 210 concrete_types call 211 pith_list_len int 1 210 iconst 212 1 eq 213 211 212 -store __and_209_4706 213 -brif 213 L4706 L4707 -label L4706 +store __and_209_4763 213 +brif 213 L4763 L4764 +label L4763 load 214 base_name iconst 215 0 load 216 ir_alias_registry_ir_active_generic_module_path load 217 decl_idx call 218 ir_decode_calls_ir_is_config_decode_specialization bool 4 214 215 216 217 -store __and_209_4706 218 -label L4707 -load 219 __and_209_4706 -brif 219 L4704 L4705 -label L4704 +store __and_209_4763 218 +label L4764 +load 219 __and_209_4763 +brif 219 L4761 L4762 +label L4761 load 220 concrete_types iconst 221 0 call 222 pith_list_get_value_strict string 2 220 221 @@ -167453,27 +167816,27 @@ call 227 ir_decode_emit_ir_emit_config_decode_specialization_body void 5 222 223 call 228 pith_closure_release void 1 224 call 229 pith_closure_release void 1 225 call 230 pith_closure_release void 1 226 -jmp L4703 -label L4705 +jmp L4760 +label L4762 iconst 231 0 -store __and_231_4710 231 +store __and_231_4767 231 load 232 concrete_types call 233 pith_list_len int 1 232 iconst 234 1 eq 235 233 234 -store __and_231_4710 235 -brif 235 L4710 L4711 -label L4710 +store __and_231_4767 235 +brif 235 L4767 L4768 +label L4767 load 236 base_name iconst 237 1 load 238 ir_alias_registry_ir_active_generic_module_path load 239 decl_idx call 240 ir_decode_calls_ir_is_config_decode_specialization bool 4 236 237 238 239 -store __and_231_4710 240 -label L4711 -load 241 __and_231_4710 -brif 241 L4708 L4709 -label L4708 +store __and_231_4767 240 +label L4768 +load 241 __and_231_4767 +brif 241 L4765 L4766 +label L4765 load 242 concrete_types iconst 243 0 call 244 pith_list_get_value_strict string 2 242 243 @@ -167485,26 +167848,26 @@ call 249 ir_decode_emit_ir_emit_config_decode_specialization_body void 5 244 245 call 250 pith_closure_release void 1 246 call 251 pith_closure_release void 1 247 call 252 pith_closure_release void 1 248 -jmp L4703 -label L4709 +jmp L4760 +label L4766 iconst 253 0 -store __and_253_4714 253 +store __and_253_4771 253 load 254 concrete_types call 255 pith_list_len int 1 254 iconst 256 1 eq 257 255 256 -store __and_253_4714 257 -brif 257 L4714 L4715 -label L4714 +store __and_253_4771 257 +brif 257 L4771 L4772 +label L4771 load 258 base_name load 259 ir_alias_registry_ir_active_generic_module_path load 260 decl_idx call 261 ir_decode_calls_ir_is_toml_decode_specialization bool 3 258 259 260 -store __and_253_4714 261 -label L4715 -load 262 __and_253_4714 -brif 262 L4712 L4713 -label L4712 +store __and_253_4771 261 +label L4772 +load 262 __and_253_4771 +brif 262 L4769 L4770 +label L4769 load 263 concrete_types iconst 264 0 call 265 pith_list_get_value_strict string 2 263 264 @@ -167516,26 +167879,26 @@ call 270 ir_decode_emit_ir_emit_toml_decode_specialization_body void 5 265 266 2 call 271 pith_closure_release void 1 267 call 272 pith_closure_release void 1 268 call 273 pith_closure_release void 1 269 -jmp L4703 -label L4713 +jmp L4760 +label L4770 iconst 274 0 -store __and_274_4718 274 +store __and_274_4775 274 load 275 concrete_types call 276 pith_list_len int 1 275 iconst 277 1 eq 278 276 277 -store __and_274_4718 278 -brif 278 L4718 L4719 -label L4718 +store __and_274_4775 278 +brif 278 L4775 L4776 +label L4775 load 279 base_name load 280 ir_alias_registry_ir_active_generic_module_path load 281 decl_idx call 282 ir_decode_calls_ir_is_toml_decode_text_specialization bool 3 279 280 281 -store __and_274_4718 282 -label L4719 -load 283 __and_274_4718 -brif 283 L4716 L4717 -label L4716 +store __and_274_4775 282 +label L4776 +load 283 __and_274_4775 +brif 283 L4773 L4774 +label L4773 load 284 concrete_types iconst 285 0 call 286 pith_list_get_value_strict string 2 284 285 @@ -167543,26 +167906,26 @@ load 287 ir_alias_registry_ir_active_generic_module_path load 288 concrete_types load 289 ret_type call 290 ir_decode_emit_ir_emit_toml_decode_text_specialization_body void 4 286 287 288 289 -jmp L4703 -label L4717 +jmp L4760 +label L4774 iconst 291 0 -store __and_291_4722 291 +store __and_291_4779 291 load 292 concrete_types call 293 pith_list_len int 1 292 iconst 294 1 eq 295 293 294 -store __and_291_4722 295 -brif 295 L4722 L4723 -label L4722 +store __and_291_4779 295 +brif 295 L4779 L4780 +label L4779 load 296 base_name load 297 ir_alias_registry_ir_active_generic_module_path load 298 decl_idx call 299 ir_decode_calls_ir_is_toml_decode_path_specialization bool 3 296 297 298 -store __and_291_4722 299 -label L4723 -load 300 __and_291_4722 -brif 300 L4720 L4721 -label L4720 +store __and_291_4779 299 +label L4780 +load 300 __and_291_4779 +brif 300 L4777 L4778 +label L4777 load 301 concrete_types iconst 302 0 call 303 pith_list_get_value_strict string 2 301 302 @@ -167574,26 +167937,26 @@ call 308 ir_decode_emit_ir_emit_toml_decode_path_specialization_body void 5 303 call 309 pith_closure_release void 1 305 call 310 pith_closure_release void 1 306 call 311 pith_closure_release void 1 307 -jmp L4703 -label L4721 +jmp L4760 +label L4778 iconst 312 0 -store __and_312_4726 312 +store __and_312_4783 312 load 313 concrete_types call 314 pith_list_len int 1 313 iconst 315 1 eq 316 314 315 -store __and_312_4726 316 -brif 316 L4726 L4727 -label L4726 +store __and_312_4783 316 +brif 316 L4783 L4784 +label L4783 load 317 base_name load 318 ir_alias_registry_ir_active_generic_module_path load 319 decl_idx call 320 ir_decode_calls_ir_is_toml_decode_text_path_specialization bool 3 317 318 319 -store __and_312_4726 320 -label L4727 -load 321 __and_312_4726 -brif 321 L4724 L4725 -label L4724 +store __and_312_4783 320 +label L4784 +load 321 __and_312_4783 +brif 321 L4781 L4782 +label L4781 load 322 concrete_types iconst 323 0 call 324 pith_list_get_value_strict string 2 322 323 @@ -167601,27 +167964,27 @@ load 325 ir_alias_registry_ir_active_generic_module_path load 326 concrete_types load 327 ret_type call 328 ir_decode_emit_ir_emit_toml_decode_text_path_specialization_body void 4 324 325 326 327 -jmp L4703 -label L4725 +jmp L4760 +label L4782 iconst 329 0 -store __and_329_4730 329 +store __and_329_4787 329 load 330 concrete_types call 331 pith_list_len int 1 330 iconst 332 1 eq 333 331 332 -store __and_329_4730 333 -brif 333 L4730 L4731 -label L4730 +store __and_329_4787 333 +brif 333 L4787 L4788 +label L4787 load 334 base_name load 335 ir_alias_registry_ir_active_generic_module_path load 336 decl_idx iconst 337 0 call 338 ir_decode_calls_ir_is_json_decode_specialization bool 4 334 335 336 337 -store __and_329_4730 338 -label L4731 -load 339 __and_329_4730 -brif 339 L4728 L4729 -label L4728 +store __and_329_4787 338 +label L4788 +load 339 __and_329_4787 +brif 339 L4785 L4786 +label L4785 load 340 concrete_types iconst 341 0 call 342 pith_list_get_value_strict string 2 340 341 @@ -167632,27 +167995,27 @@ closure_ref 346 ir_emitter_core___fnval_3 call 347 ir_decode_emit_ir_emit_json_decode_specialization_body void 5 342 343 344 345 346 call 348 pith_closure_release void 1 345 call 349 pith_closure_release void 1 346 -jmp L4703 -label L4729 +jmp L4760 +label L4786 iconst 350 0 -store __and_350_4734 350 +store __and_350_4791 350 load 351 concrete_types call 352 pith_list_len int 1 351 iconst 353 1 eq 354 352 353 -store __and_350_4734 354 -brif 354 L4734 L4735 -label L4734 +store __and_350_4791 354 +brif 354 L4791 L4792 +label L4791 load 355 base_name load 356 ir_alias_registry_ir_active_generic_module_path load 357 decl_idx iconst 358 1 call 359 ir_decode_calls_ir_is_json_decode_specialization bool 4 355 356 357 358 -store __and_350_4734 359 -label L4735 -load 360 __and_350_4734 -brif 360 L4732 L4733 -label L4732 +store __and_350_4791 359 +label L4792 +load 360 __and_350_4791 +brif 360 L4789 L4790 +label L4789 load 361 concrete_types iconst 362 0 call 363 pith_list_get_value_strict string 2 361 362 @@ -167663,26 +168026,26 @@ closure_ref 367 ir_emitter_core___fnval_3 call 368 ir_decode_emit_ir_emit_json_decode_specialization_body void 5 363 364 365 366 367 call 369 pith_closure_release void 1 366 call 370 pith_closure_release void 1 367 -jmp L4703 -label L4733 +jmp L4760 +label L4790 iconst 371 0 -store __and_371_4738 371 +store __and_371_4795 371 load 372 concrete_types call 373 pith_list_len int 1 372 iconst 374 1 eq 375 373 374 -store __and_371_4738 375 -brif 375 L4738 L4739 -label L4738 +store __and_371_4795 375 +brif 375 L4795 L4796 +label L4795 load 376 base_name load 377 ir_alias_registry_ir_active_generic_module_path load 378 decl_idx call 379 ir_decode_calls_ir_is_json_decode_object_specialization bool 3 376 377 378 -store __and_371_4738 379 -label L4739 -load 380 __and_371_4738 -brif 380 L4736 L4737 -label L4736 +store __and_371_4795 379 +label L4796 +load 380 __and_371_4795 +brif 380 L4793 L4794 +label L4793 load 381 concrete_types iconst 382 0 call 383 pith_list_get_value_strict string 2 381 382 @@ -167692,26 +168055,26 @@ closure_ref 386 ir_emitter_core___fnval_3 call 387 ir_decode_emit_ir_emit_json_decode_object_specialization_body void 4 383 384 385 386 call 388 pith_closure_release void 1 385 call 389 pith_closure_release void 1 386 -jmp L4703 -label L4737 +jmp L4760 +label L4794 iconst 390 0 -store __and_390_4742 390 +store __and_390_4799 390 load 391 concrete_types call 392 pith_list_len int 1 391 iconst 393 1 eq 394 392 393 -store __and_390_4742 394 -brif 394 L4742 L4743 -label L4742 +store __and_390_4799 394 +brif 394 L4799 L4800 +label L4799 load 395 base_name load 396 ir_alias_registry_ir_active_generic_module_path load 397 decl_idx call 398 ir_decode_calls_ir_is_json_decode_path_specialization bool 3 395 396 397 -store __and_390_4742 398 -label L4743 -load 399 __and_390_4742 -brif 399 L4740 L4741 -label L4740 +store __and_390_4799 398 +label L4800 +load 399 __and_390_4799 +brif 399 L4797 L4798 +label L4797 load 400 concrete_types iconst 401 0 call 402 pith_list_get_value_strict string 2 400 401 @@ -167721,11 +168084,11 @@ closure_ref 405 ir_emitter_core___fnval_3 call 406 ir_decode_emit_ir_emit_json_decode_path_specialization_body void 4 402 403 404 405 call 407 pith_closure_release void 1 404 call 408 pith_closure_release void 1 405 -jmp L4703 -label L4741 +jmp L4760 +label L4798 load 409 body_idx call 410 ir_emitter_core_ir_finish_func_emission void 1 409 -label L4703 +label L4760 load 411 saved_params call 412 pith_list_retain_handle void 1 411 store ir_alias_registry_ir_active_generic_params 411 @@ -167791,8 +168154,8 @@ load 13 arg_tids call 14 pith_list_len int 1 13 iconst 15 0 eq 16 14 15 -brif 16 L4745 L4746 -label L4745 +brif 16 L4802 L4803 +label L4802 load 17 result load 18 arg_tids call 19 pith_list_release_handle void 1 18 @@ -167801,8 +168164,8 @@ call 21 pith_struct_release void 1 20 load 22 cn call 23 pith_struct_release void 1 22 ret 17 -label L4746 -label L4744 +label L4803 +label L4801 load 24 node load 25 fn_idx call 26 ast_get_node struct:Node 1 25 @@ -167817,12 +168180,12 @@ iconst 32 0 store __for_idx_374 32 store __for_len_374 31 store __for_iter_374 30 -label L4747 +label L4804 load 33 __for_idx_374 load 34 __for_len_374 lt 35 33 34 -brif 35 L4748 L4750 -label L4748 +brif 35 L4805 L4807 +label L4805 load 36 __for_iter_374 load 37 __for_idx_374 call 38 pith_list_get_value unknown 2 36 37 @@ -167837,62 +168200,62 @@ field 44 43 0 string kind strref 45 m46s68 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L4752 L4753 -label L4752 +brif 46 L4809 L4810 +label L4809 load 48 param_idx load 49 arg_tids call 50 pith_list_len int 1 49 lt 51 48 50 -brif 51 L4755 L4756 -label L4755 +brif 51 L4812 L4813 +label L4812 load 52 arg_tids load 53 param_idx call 54 pith_list_get_value_strict int 2 52 53 store tid 54 iconst 55 0 -store __and_55_4760 55 +store __and_55_4817 55 load 56 tid iconst 57 0 gte 58 56 57 -store __and_55_4760 58 -brif 58 L4760 L4761 -label L4760 +store __and_55_4817 58 +brif 58 L4817 L4818 +label L4817 load 59 tid call 60 types_get_type_info struct:TypeInfo 1 59 field 61 60 0 string kind strref 62 m46s21 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __and_55_4760 63 -label L4761 -load 65 __and_55_4760 -brif 65 L4758 L4759 -label L4758 +store __and_55_4817 63 +label L4818 +load 65 __and_55_4817 +brif 65 L4815 L4816 +label L4815 load 66 result load 67 cn field 68 67 8 string value load 69 tid call 70 map_insert void 3 66 68 69 -jmp L4757 -label L4759 -label L4757 -jmp L4754 -label L4756 -label L4754 +jmp L4814 +label L4816 +label L4814 +jmp L4811 +label L4813 +label L4811 load 71 param_idx iconst 72 1 add 73 71 72 store param_idx 73 -jmp L4751 -label L4753 -label L4751 -label L4749 +jmp L4808 +label L4810 +label L4808 +label L4806 load 74 __for_idx_374 iconst 75 1 add 76 74 75 store __for_idx_374 76 -jmp L4747 -label L4750 +jmp L4804 +label L4807 load 77 result load 78 arg_tids call 79 pith_list_release_handle void 1 78 @@ -167917,13 +168280,13 @@ iconst 0 0 store key 0 iconst 1 0 store i 1 -label L4762 +label L4819 load 2 i load 3 ir_generics_ir_generic_specialization_keys call 4 pith_list_len int 1 3 lt 5 2 4 -brif 5 L4763 L4764 -label L4763 +brif 5 L4820 L4821 +label L4820 load 6 key load 7 ir_generics_ir_generic_specialization_keys load 8 i @@ -167936,23 +168299,23 @@ load 13 key call 14 contains_key bool 2 12 13 iconst 16 1 sub 15 16 14 -brif 15 L4766 L4767 -label L4766 +brif 15 L4823 L4824 +label L4823 load 17 key call 18 ir_emitter_core_ir_emit_generic_specialization void 1 17 load 19 ir_generics_ir_generic_emitted_specializations load 20 key iconst 21 1 call 22 map_insert void 3 19 20 21 -jmp L4765 -label L4767 -label L4765 +jmp L4822 +label L4824 +label L4822 load 23 i iconst 24 1 add 25 23 24 store i 25 -jmp L4762 -label L4764 +jmp L4819 +label L4821 load 26 key call 27 pith_cstring_release void 1 26 iconst 28 0 @@ -167974,16 +168337,16 @@ load 8 impl_type call 9 string_len int 1 8 iconst 10 0 eq 11 9 10 -brif 11 L4769 L4770 -label L4769 +brif 11 L4826 L4827 +label L4826 load 12 impl_type call 13 pith_cstring_release void 1 12 load 14 method_node call 15 pith_struct_release void 1 14 iconst 16 0 ret 16 -label L4770 -label L4768 +label L4827 +label L4825 load 17 node field 18 17 16 list children call 19 pith_auto_len int 1 18 @@ -167991,12 +168354,12 @@ iconst 20 0 store __for_idx_375 20 store __for_len_375 19 store __for_iter_375 18 -label L4771 +label L4828 load 21 __for_idx_375 load 22 __for_len_375 lt 23 21 22 -brif 23 L4772 L4774 -label L4772 +brif 23 L4829 L4831 +label L4829 load 24 __for_iter_375 load 25 __for_idx_375 call 26 pith_list_get_value unknown 2 24 25 @@ -168012,23 +168375,23 @@ store method_node 31 load 33 method_node field 34 33 0 string kind call 35 ir_generics_ir_is_fn_decl_kind bool 1 34 -brif 35 L4776 L4777 -label L4776 +brif 35 L4833 L4834 +label L4833 load 36 impl_type load 37 method_idx load 38 method_node load 39 module_path call 40 ir_emitter_core_ir_record_impl_method_signature void 4 36 37 38 39 -jmp L4775 -label L4777 -label L4775 -label L4773 +jmp L4832 +label L4834 +label L4832 +label L4830 load 41 __for_idx_375 iconst 42 1 add 43 41 42 store __for_idx_375 43 -jmp L4771 -label L4774 +jmp L4828 +label L4831 load 44 node call 45 ir_emitter_core_ir_inherited_default_indices list 1 44 call 46 pith_auto_len int 1 45 @@ -168036,12 +168399,12 @@ iconst 47 0 store __for_idx_376 47 store __for_len_376 46 store __for_iter_376 45 -label L4778 +label L4835 load 48 __for_idx_376 load 49 __for_len_376 lt 50 48 49 -brif 50 L4779 L4781 -label L4779 +brif 50 L4836 L4838 +label L4836 load 51 __for_iter_376 load 52 __for_idx_376 call 53 pith_list_get_value unknown 2 51 52 @@ -168053,13 +168416,13 @@ call 57 ast_get_node struct:Node 1 56 load 58 module_path call 59 ir_emitter_core_ir_record_impl_method_signature void 4 54 55 57 58 call 60 pith_struct_release void 1 57 -label L4780 +label L4837 load 61 __for_idx_376 iconst 62 1 add 63 61 62 store __for_idx_376 63 -jmp L4778 -label L4781 +jmp L4835 +label L4838 load 64 __for_iter_376 call 65 pith_list_release_handle void 1 64 load 66 impl_type @@ -168102,8 +168465,8 @@ load 22 module_path call 23 string_len int 1 22 iconst 24 0 gt 25 23 24 -brif 25 L4783 L4784 -label L4783 +brif 25 L4840 L4841 +label L4840 load 26 full_name load 27 module_path load 28 impl_type @@ -168111,9 +168474,9 @@ load 29 method_name call 30 ir_names_ir_import_impl_method_name string 3 27 28 29 call 31 pith_cstring_release void 1 26 store full_name 30 -jmp L4782 -label L4784 -label L4782 +jmp L4839 +label L4841 +label L4839 load 32 key load 33 impl_type load 34 method_name @@ -168240,8 +168603,8 @@ param body_idx load 1 body_idx iconst 2 0 gte 3 1 2 -brif 3 L4786 L4787 -label L4786 +brif 3 L4843 L4844 +label L4843 load 4 body_idx call 5 ir_match_emit_ir_function_tail_match int 1 4 store ir_match_emit_ir_tail_match_node 5 @@ -168251,9 +168614,9 @@ iconst 8 0 iconst 9 1 sub 10 8 9 store ir_match_emit_ir_tail_match_node 10 -jmp L4785 -label L4787 -label L4785 +jmp L4842 +label L4844 +label L4842 call 11 ir_emitter_core_ir_emit_default_return int 0 iconst 12 0 ret 12 @@ -168273,12 +168636,12 @@ iconst 8 0 store __for_idx_377 8 store __for_len_377 7 store __for_iter_377 6 -label L4788 +label L4845 load 9 __for_idx_377 load 10 __for_len_377 lt 11 9 10 -brif 11 L4789 L4791 -label L4789 +brif 11 L4846 L4848 +label L4846 load 12 __for_iter_377 load 13 __for_idx_377 call 14 pith_list_get_value unknown 2 12 13 @@ -168289,21 +168652,21 @@ field 17 16 0 string kind strref 18 m46s587 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4793 L4794 -label L4793 +brif 19 L4850 L4851 +label L4850 load 21 tests load 22 __loopvar_377_item_idx call 23 pith_list_push_value void 2 21 22 -jmp L4792 -label L4794 -label L4792 -label L4790 +jmp L4849 +label L4851 +label L4849 +label L4847 load 24 __for_idx_377 iconst 25 1 add 26 24 25 store __for_idx_377 26 -jmp L4788 -label L4791 +jmp L4845 +label L4848 load 27 __for_iter_377 call 28 pith_list_release_handle void 1 27 load 29 tests @@ -168365,8 +168728,8 @@ load 10 tests call 11 pith_list_len int 1 10 iconst 12 0 eq 13 11 12 -brif 13 L4796 L4797 -label L4796 +brif 13 L4853 L4854 +label L4853 load 14 tests call 15 pith_list_release_handle void 1 14 load 16 run_l @@ -168379,8 +168742,8 @@ load 22 child_l call 23 pith_cstring_release void 1 22 iconst 24 0 ret 24 -label L4797 -label L4795 +label L4854 +label L4852 strref 25 m46s671 call 26 ir_emitter_core_ir_prepare_func_emission void 1 25 call 27 pith_cstring_release void 1 25 @@ -168396,12 +168759,12 @@ iconst 36 0 store __for_idx_378 36 store __for_len_378 35 store __for_iter_378 34 -label L4798 +label L4855 load 37 __for_idx_378 load 38 __for_len_378 lt 39 37 38 -brif 39 L4799 L4801 -label L4799 +brif 39 L4856 L4858 +label L4856 load 40 __for_iter_378 load 41 __for_idx_378 call 42 pith_list_get_value unknown 2 40 41 @@ -168574,13 +168937,13 @@ call 198 ir_builder_ir_emit void 1 196 call 199 pith_cstring_release void 1 196 load 200 skip_l call 201 ir_call_emit_ir_emit_label void 1 200 -label L4800 +label L4857 load 202 __for_idx_378 iconst 203 1 add 204 202 203 store __for_idx_378 204 -jmp L4798 -label L4801 +jmp L4855 +label L4858 call 205 ir_builder_ir_reg int 0 store summary_r 205 load 206 summary_r @@ -168838,12 +169201,12 @@ iconst 5 0 store __for_idx_379 5 store __for_len_379 4 store __for_iter_379 3 -label L4802 +label L4859 load 6 __for_idx_379 load 7 __for_len_379 lt 8 6 7 -brif 8 L4803 L4805 -label L4803 +brif 8 L4860 L4862 +label L4860 load 9 __for_iter_379 load 10 __for_idx_379 call 11 pith_list_get_value unknown 2 9 10 @@ -168858,23 +169221,23 @@ field 17 16 0 string kind strref 18 m46s328 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4807 L4808 -label L4807 +brif 19 L4864 L4865 +label L4864 load 21 tn field 22 21 8 string value call 23 pith_cstring_retain void 1 22 load 24 tn call 25 pith_struct_release void 1 24 ret 22 -label L4808 -label L4806 -label L4804 +label L4865 +label L4863 +label L4861 load 26 __for_idx_379 iconst 27 1 add 28 26 27 store __for_idx_379 28 -jmp L4802 -label L4805 +jmp L4859 +label L4862 strref 29 m46s82 load 30 tn call 31 pith_struct_release void 1 30 @@ -168891,26 +169254,26 @@ field 2 1 0 string kind strref 3 m46s590 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -brif 4 L4810 L4811 -label L4810 +brif 4 L4867 L4868 +label L4867 load 6 node field 7 6 8 string value call 8 ir_alias_registry_ir_register_import_alias void 1 7 -jmp L4809 -label L4811 +jmp L4866 +label L4868 load 9 node field 10 9 0 string kind strref 11 m46s591 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L4812 L4813 -label L4812 +brif 12 L4869 L4870 +label L4869 load 14 node field 15 14 8 string value call 16 ir_alias_registry_ir_collect_from_import_renames void 1 15 -jmp L4809 -label L4813 -label L4809 +jmp L4866 +label L4870 +label L4866 iconst 17 0 ret 17 endfunc @@ -168929,12 +169292,12 @@ iconst 7 0 store __for_idx_380 7 store __for_len_380 6 store __for_iter_380 5 -label L4814 +label L4871 load 8 __for_idx_380 load 9 __for_len_380 lt 10 8 9 -brif 10 L4815 L4817 -label L4815 +brif 10 L4872 L4874 +label L4872 load 11 __for_iter_380 load 12 __for_idx_380 call 13 pith_list_get_value unknown 2 11 12 @@ -168949,8 +169312,8 @@ field 19 18 0 string kind strref 20 m46s603 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L4819 L4820 -label L4819 +brif 21 L4876 L4877 +label L4876 load 23 aname load 24 cn field 25 24 8 string value @@ -168960,8 +169323,8 @@ store aname 25 load 28 ir_alias_registry_ir_type_aliases load 29 aname call 30 contains_key bool 2 28 29 -brif 30 L4822 L4823 -label L4822 +brif 30 L4879 L4880 +label L4879 load 31 target load 32 ir_alias_registry_ir_type_aliases load 33 aname @@ -168972,8 +169335,8 @@ store target 34 load 37 ir_struct_registry_ir_struct_names load 38 target call 39 contains_key bool 2 37 38 -brif 39 L4825 L4826 -label L4825 +brif 39 L4882 L4883 +label L4882 load 40 ir_struct_registry_ir_struct_names load 41 aname load 42 ir_struct_registry_ir_struct_names @@ -168993,22 +169356,22 @@ concat 55 51 54 call 56 pith_cstring_release void 1 51 call 57 ir_builder_ir_emit void 1 55 call 58 pith_cstring_release void 1 55 -jmp L4824 -label L4826 -label L4824 -jmp L4821 -label L4823 -label L4821 -jmp L4818 -label L4820 -label L4818 -label L4816 +jmp L4881 +label L4883 +label L4881 +jmp L4878 +label L4880 +label L4878 +jmp L4875 +label L4877 +label L4875 +label L4873 load 59 __for_idx_380 iconst 60 1 add 61 59 60 store __for_idx_380 61 -jmp L4814 -label L4817 +jmp L4871 +label L4874 load 62 __for_iter_380 call 63 pith_list_release_handle void 1 62 load 64 cn @@ -169033,12 +169396,12 @@ iconst 6 0 store __for_idx_381 6 store __for_len_381 5 store __for_iter_381 4 -label L4827 +label L4884 load 7 __for_idx_381 load 8 __for_len_381 lt 9 7 8 -brif 9 L4828 L4830 -label L4828 +brif 9 L4885 L4887 +label L4885 load 10 __for_iter_381 load 11 __for_idx_381 call 12 pith_list_get_value unknown 2 10 11 @@ -169053,37 +169416,37 @@ field 18 17 0 string kind strref 19 m46s313 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L4832 L4833 -label L4832 +brif 20 L4889 L4890 +label L4889 load 22 node field 23 22 8 string value load 24 returns_node call 25 ir_emitter_core_ir_record_returns_clause void 2 23 24 iconst 26 1 store has_returns 26 -jmp L4831 -label L4833 -label L4831 -label L4829 +jmp L4888 +label L4890 +label L4888 +label L4886 load 27 __for_idx_381 iconst 28 1 add 29 27 28 store __for_idx_381 29 -jmp L4827 -label L4830 +jmp L4884 +label L4887 load 30 has_returns iconst 32 1 sub 31 32 30 -brif 31 L4835 L4836 -label L4835 +brif 31 L4892 L4893 +label L4892 load 33 ir_method_tables_ir_func_returns load 34 node field 35 34 8 string value strref 36 m46s828 call 37 pith_map_insert_cstr_owned void 3 33 35 36 -jmp L4834 -label L4836 -label L4834 +jmp L4891 +label L4893 +label L4891 load 38 returns_node call 39 pith_struct_release void 1 38 iconst 40 0 @@ -169103,12 +169466,12 @@ iconst 7 0 store __for_idx_382 7 store __for_len_382 6 store __for_iter_382 5 -label L4837 +label L4894 load 8 __for_idx_382 load 9 __for_len_382 lt 10 8 9 -brif 10 L4838 L4840 -label L4838 +brif 10 L4895 L4897 +label L4895 load 11 __for_iter_382 load 12 __for_idx_382 call 13 pith_list_get_value unknown 2 11 12 @@ -169123,35 +169486,35 @@ field 19 18 0 string kind strref 20 m46s313 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L4842 L4843 -label L4842 +brif 21 L4899 L4900 +label L4899 load 23 name load 24 returns_node call 25 ir_emitter_core_ir_record_returns_clause void 2 23 24 iconst 26 1 store has_returns 26 -jmp L4841 -label L4843 -label L4841 -label L4839 +jmp L4898 +label L4900 +label L4898 +label L4896 load 27 __for_idx_382 iconst 28 1 add 29 27 28 store __for_idx_382 29 -jmp L4837 -label L4840 +jmp L4894 +label L4897 load 30 has_returns iconst 32 1 sub 31 32 30 -brif 31 L4845 L4846 -label L4845 +brif 31 L4902 L4903 +label L4902 load 33 ir_method_tables_ir_func_returns load 34 name strref 35 m46s828 call 36 pith_map_insert_cstr_owned void 3 33 34 35 -jmp L4844 -label L4846 -label L4844 +jmp L4901 +label L4903 +label L4901 load 37 returns_node call 38 pith_struct_release void 1 37 iconst 39 0 @@ -169169,12 +169532,12 @@ iconst 6 0 store __for_idx_383 6 store __for_len_383 5 store __for_iter_383 4 -label L4847 +label L4904 load 7 __for_idx_383 load 8 __for_len_383 lt 9 7 8 -brif 9 L4848 L4850 -label L4848 +brif 9 L4905 L4907 +label L4905 load 10 __for_iter_383 load 11 __for_idx_383 call 12 pith_list_get_value unknown 2 10 11 @@ -169185,86 +169548,86 @@ call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store type_node 15 iconst 17 0 -store __or_17_4854 17 +store __or_17_4911 17 iconst 18 0 -store __or_18_4854 18 +store __or_18_4911 18 iconst 19 0 -store __or_19_4854 19 +store __or_19_4911 19 load 20 type_node field 21 20 0 string kind strref 22 m46s328 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __or_19_4854 23 -brif 23 L4855 L4854 -label L4854 +store __or_19_4911 23 +brif 23 L4912 L4911 +label L4911 load 25 type_node field 26 25 0 string kind strref 27 m46s327 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __or_19_4854 28 -label L4855 -load 30 __or_19_4854 -store __or_18_4854 30 -brif 30 L4857 L4856 -label L4856 +store __or_19_4911 28 +label L4912 +load 30 __or_19_4911 +store __or_18_4911 30 +brif 30 L4914 L4913 +label L4913 load 31 type_node field 32 31 0 string kind strref 33 m46s320 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_18_4854 34 -label L4857 -load 36 __or_18_4854 -store __or_17_4854 36 -brif 36 L4859 L4858 -label L4858 +store __or_18_4911 34 +label L4914 +load 36 __or_18_4911 +store __or_17_4911 36 +brif 36 L4916 L4915 +label L4915 load 37 type_node field 38 37 0 string kind strref 39 m46s321 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_17_4854 40 -label L4859 -load 42 __or_17_4854 -brif 42 L4852 L4853 -label L4852 +store __or_17_4911 40 +label L4916 +load 42 __or_17_4911 +brif 42 L4909 L4910 +label L4909 load 43 ir_method_tables_ir_func_returns load 44 name load 45 __loopvar_383_type_idx call 46 ir_alias_registry_ir_resolve_type_node string 1 45 call 47 pith_map_insert_cstr_owned void 3 43 44 46 -jmp L4851 -label L4853 -label L4851 +jmp L4908 +label L4910 +label L4908 iconst 48 0 -store __or_48_4863 48 +store __or_48_4920 48 load 49 type_node field 50 49 0 string kind strref 51 m46s22 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_48_4863 52 -brif 52 L4864 L4863 -label L4863 +store __or_48_4920 52 +brif 52 L4921 L4920 +label L4920 load 54 type_node field 55 54 0 string kind strref 56 m46s320 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -store __or_48_4863 57 -label L4864 -load 59 __or_48_4863 -brif 59 L4861 L4862 -label L4861 +store __or_48_4920 57 +label L4921 +load 59 __or_48_4920 +brif 59 L4918 L4919 +label L4918 load 60 type_node field 61 60 16 list children call 62 pith_list_len int 1 61 iconst 63 0 gt 64 62 63 -brif 64 L4866 L4867 -label L4866 +brif 64 L4923 L4924 +label L4923 load 65 ir_emitter_core_ir_func_result_ok_kinds load 66 name load 67 type_node @@ -169275,19 +169638,19 @@ call 71 ir_alias_registry_ir_resolve_type_node string 1 70 call 72 ir_alias_registry_ir_retkind string 1 71 call 73 pith_cstring_release void 1 71 call 74 pith_map_insert_cstr_owned void 3 65 66 72 -jmp L4865 -label L4867 -label L4865 -jmp L4860 -label L4862 -label L4860 -label L4849 +jmp L4922 +label L4924 +label L4922 +jmp L4917 +label L4919 +label L4917 +label L4906 load 75 __for_idx_383 iconst 76 1 add 77 75 76 store __for_idx_383 77 -jmp L4847 -label L4850 +jmp L4904 +label L4907 load 78 type_node call 79 pith_struct_release void 1 78 iconst 80 0 @@ -169332,12 +169695,12 @@ iconst 24 0 store __for_idx_384 24 store __for_len_384 23 store __for_iter_384 22 -label L4868 +label L4925 load 25 __for_idx_384 load 26 __for_len_384 lt 27 25 26 -brif 27 L4869 L4871 -label L4869 +brif 27 L4926 L4928 +label L4926 load 28 __for_iter_384 load 29 __for_idx_384 call 30 pith_list_get_value unknown 2 28 29 @@ -169348,38 +169711,38 @@ call 33 ast_get_node struct:Node 1 32 call 34 pith_struct_release void 1 31 store gcn 33 iconst 35 0 -store __or_35_4875 35 +store __or_35_4932 35 iconst 36 0 -store __or_36_4875 36 +store __or_36_4932 36 load 37 gcn field 38 37 0 string kind strref 39 m46s328 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_36_4875 40 -brif 40 L4876 L4875 -label L4875 +store __or_36_4932 40 +brif 40 L4933 L4932 +label L4932 load 42 gcn field 43 42 0 string kind strref 44 m46s327 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_36_4875 45 -label L4876 -load 47 __or_36_4875 -store __or_35_4875 47 -brif 47 L4878 L4877 -label L4877 +store __or_36_4932 45 +label L4933 +load 47 __or_36_4932 +store __or_35_4932 47 +brif 47 L4935 L4934 +label L4934 load 48 gcn field 49 48 0 string kind strref 50 m46s321 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __or_35_4875 51 -label L4878 -load 53 __or_35_4875 -brif 53 L4873 L4874 -label L4873 +store __or_35_4932 51 +label L4935 +load 53 __or_35_4932 +brif 53 L4930 L4931 +label L4930 load 54 global_type load 55 __loopvar_384_gc call 56 ir_alias_registry_ir_resolve_type_node string 1 55 @@ -169389,25 +169752,25 @@ load 58 global_map_value_type call 59 string_len int 1 58 iconst 60 0 eq 61 59 60 -brif 61 L4880 L4881 -label L4880 +brif 61 L4937 L4938 +label L4937 load 62 global_map_value_type load 63 __loopvar_384_gc call 64 ir_alias_registry_ir_resolve_map_value_type_node string 1 63 call 65 pith_cstring_release void 1 62 store global_map_value_type 64 -jmp L4879 -label L4881 -label L4879 -jmp L4872 -label L4874 +jmp L4936 +label L4938 +label L4936 +jmp L4929 +label L4931 load 66 gcn field 67 66 0 string kind strref 68 m46s519 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L4882 L4883 -label L4882 +brif 69 L4939 L4940 +label L4939 load 71 init_val load 72 gcn field 73 72 8 string value @@ -169418,24 +169781,24 @@ load 76 global_type call 77 string_len int 1 76 iconst 78 0 eq 79 77 78 -brif 79 L4885 L4886 -label L4885 +brif 79 L4942 L4943 +label L4942 load 80 global_type strref 81 m46s671 call 82 pith_cstring_release void 1 80 store global_type 81 -jmp L4884 -label L4886 -label L4884 -jmp L4872 -label L4883 +jmp L4941 +label L4943 +label L4941 +jmp L4929 +label L4940 load 83 gcn field 84 83 0 string kind strref 85 m46s517 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -brif 86 L4887 L4888 -label L4887 +brif 86 L4944 L4945 +label L4944 load 88 si load 89 gcn field 90 89 8 string value @@ -169453,24 +169816,24 @@ load 99 global_type call 100 string_len int 1 99 iconst 101 0 eq 102 100 101 -brif 102 L4890 L4891 -label L4890 +brif 102 L4947 L4948 +label L4947 load 103 global_type strref 104 m46s675 call 105 pith_cstring_release void 1 103 store global_type 104 -jmp L4889 -label L4891 -label L4889 -jmp L4872 -label L4888 +jmp L4946 +label L4948 +label L4946 +jmp L4929 +label L4945 load 106 gcn field 107 106 0 string kind strref 108 m46s20 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L4892 L4893 -label L4892 +brif 109 L4949 L4950 +label L4949 load 111 init_val strref 112 m46s20 call 113 pith_cstring_release void 1 111 @@ -169479,24 +169842,24 @@ load 114 global_type call 115 string_len int 1 114 iconst 116 0 eq 117 115 116 -brif 117 L4895 L4896 -label L4895 +brif 117 L4952 L4953 +label L4952 load 118 global_type strref 119 m46s20 call 120 pith_cstring_release void 1 118 store global_type 119 -jmp L4894 -label L4896 -label L4894 -jmp L4872 -label L4893 +jmp L4951 +label L4953 +label L4951 +jmp L4929 +label L4950 load 121 gcn field 122 121 0 string kind strref 123 m46s19 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -brif 124 L4897 L4898 -label L4897 +brif 124 L4954 L4955 +label L4954 load 126 init_val strref 127 m46s19 call 128 pith_cstring_release void 1 126 @@ -169505,24 +169868,24 @@ load 129 global_type call 130 string_len int 1 129 iconst 131 0 eq 132 130 131 -brif 132 L4900 L4901 -label L4900 +brif 132 L4957 L4958 +label L4957 load 133 global_type strref 134 m46s19 call 135 pith_cstring_release void 1 133 store global_type 134 -jmp L4899 -label L4901 -label L4899 -jmp L4872 -label L4898 +jmp L4956 +label L4958 +label L4956 +jmp L4929 +label L4955 load 136 gcn field 137 136 0 string kind strref 138 m46s18 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L4902 L4903 -label L4902 +brif 139 L4959 L4960 +label L4959 load 141 init_val load 142 __loopvar_384_gc call 143 ir_type_helpers_ir_checked_type string 1 142 @@ -169532,128 +169895,128 @@ load 145 init_val call 146 string_len int 1 145 iconst 147 0 eq 148 146 147 -brif 148 L4905 L4906 -label L4905 +brif 148 L4962 L4963 +label L4962 load 149 init_val load 150 __loopvar_384_gc call 151 ir_emitter_core_ir_infer_type string 1 150 call 152 pith_cstring_release void 1 149 store init_val 151 -jmp L4904 -label L4906 -label L4904 +jmp L4961 +label L4963 +label L4961 load 153 init_val call 154 string_len int 1 153 iconst 155 0 eq 156 154 155 -brif 156 L4908 L4909 -label L4908 +brif 156 L4965 L4966 +label L4965 load 157 init_val strref 158 m46s18 call 159 pith_cstring_release void 1 157 store init_val 158 -jmp L4907 -label L4909 -label L4907 +jmp L4964 +label L4966 +label L4964 load 160 global_type call 161 string_len int 1 160 iconst 162 0 eq 163 161 162 -brif 163 L4911 L4912 -label L4911 +brif 163 L4968 L4969 +label L4968 load 164 global_type load 165 init_val call 166 pith_cstring_retain void 1 165 call 167 pith_cstring_release void 1 164 store global_type 165 -jmp L4910 -label L4912 -label L4910 -jmp L4872 -label L4903 +jmp L4967 +label L4969 +label L4967 +jmp L4929 +label L4960 load 168 gcn field 169 168 0 string kind strref 170 m46s516 call 171 pith_cstring_eq bool 2 169 170 call 172 pith_cstring_release void 1 170 -brif 171 L4913 L4914 -label L4913 +brif 171 L4970 L4971 +label L4970 load 173 gcn field 174 173 8 string value strref 175 m46s75 call 176 pith_cstring_eq bool 2 174 175 call 177 pith_cstring_release void 1 175 -brif 176 L4916 L4917 -label L4916 +brif 176 L4973 L4974 +label L4973 load 178 init_val strref 179 m46s176 call 180 pith_cstring_release void 1 178 store init_val 179 -jmp L4915 -label L4917 +jmp L4972 +label L4974 load 181 init_val strref 182 m46s177 call 183 pith_cstring_release void 1 181 store init_val 182 -label L4915 +label L4972 load 184 global_type call 185 string_len int 1 184 iconst 186 0 eq 187 185 186 -brif 187 L4919 L4920 -label L4919 +brif 187 L4976 L4977 +label L4976 load 188 global_type strref 189 m46s673 call 190 pith_cstring_release void 1 188 store global_type 189 -jmp L4918 -label L4920 -label L4918 -jmp L4872 -label L4914 -label L4872 -label L4870 +jmp L4975 +label L4977 +label L4975 +jmp L4929 +label L4971 +label L4929 +label L4927 load 191 __for_idx_384 iconst 192 1 add 193 191 192 store __for_idx_384 193 -jmp L4868 -label L4871 +jmp L4925 +label L4928 load 194 global_type call 195 string_len int 1 194 iconst 196 0 gt 197 195 196 -brif 197 L4922 L4923 -label L4922 +brif 197 L4979 L4980 +label L4979 load 198 gname load 199 global_type call 200 ir_alias_registry_ir_record_global_type void 2 198 199 -jmp L4921 -label L4923 -label L4921 +jmp L4978 +label L4980 +label L4978 load 201 global_map_value_type call 202 string_len int 1 201 iconst 203 0 gt 204 202 203 -brif 204 L4925 L4926 -label L4925 +brif 204 L4982 L4983 +label L4982 load 205 ir_alias_registry_ir_global_map_value_types load 206 gname load 207 global_map_value_type call 208 map_insert void 3 205 206 207 -jmp L4924 -label L4926 -label L4924 +jmp L4981 +label L4983 +label L4981 load 209 is_threadlocal -brif 209 L4928 L4929 -label L4928 +brif 209 L4985 L4986 +label L4985 load 210 ir_emitter_core_ir_threadlocal_slots load 211 gname call 212 contains_key bool 2 210 211 iconst 214 1 sub 213 214 212 -brif 213 L4931 L4932 -label L4931 +brif 213 L4988 L4989 +label L4988 load 215 ir_emitter_core_ir_threadlocal_slots load 216 gname load 217 ir_emitter_core_ir_next_tls_slot @@ -169662,9 +170025,9 @@ load 219 ir_emitter_core_ir_next_tls_slot iconst 220 1 add 221 219 220 store ir_emitter_core_ir_next_tls_slot 221 -jmp L4930 -label L4932 -label L4930 +jmp L4987 +label L4989 +label L4987 load 222 ir_emitter_core_ir_threadlocal_kinds load 223 gname load 224 global_type @@ -169683,8 +170046,8 @@ load 236 si call 237 pith_cstring_release void 1 236 iconst 238 0 ret 238 -label L4929 -label L4927 +label L4986 +label L4984 strref 239 m46s1176 load 240 gname concat 241 239 240 @@ -169736,12 +170099,12 @@ iconst 11 0 store __for_idx_385 11 store __for_len_385 10 store __for_iter_385 9 -label L4933 +label L4990 load 12 __for_idx_385 load 13 __for_len_385 lt 14 12 13 -brif 14 L4934 L4936 -label L4934 +brif 14 L4991 L4993 +label L4991 load 15 __for_iter_385 load 16 __for_idx_385 call 17 pith_list_get_value unknown 2 15 16 @@ -169758,11 +170121,11 @@ call 26 pith_cstring_eq bool 2 23 24 iconst 27 1 sub 25 27 26 call 28 pith_cstring_release void 1 24 -brif 25 L4938 L4939 -label L4938 -jmp L4935 -label L4939 -label L4937 +brif 25 L4995 L4996 +label L4995 +jmp L4992 +label L4996 +label L4994 load 29 binding load 30 cn field 31 30 16 list children @@ -169776,11 +170139,11 @@ field 37 36 0 string kind call 38 ir_ast_helpers_ir_is_binding_kind bool 1 37 iconst 40 1 sub 39 40 38 -brif 39 L4941 L4942 -label L4941 -jmp L4935 -label L4942 -label L4940 +brif 39 L4998 L4999 +label L4998 +jmp L4992 +label L4999 +label L4997 load 41 gname load 42 binding call 43 ir_ast_helpers_ir_binding_name string 1 42 @@ -169799,32 +170162,32 @@ load 52 parts field 53 52 16 int type_idx iconst 54 0 gte 55 53 54 -brif 55 L4944 L4945 -label L4944 +brif 55 L5001 L5002 +label L5001 load 56 target load 57 parts field 58 57 16 int type_idx call 59 ir_alias_registry_ir_resolve_type_node string 1 58 call 60 pith_cstring_release void 1 56 store target 59 -jmp L4943 -label L4945 -label L4943 +jmp L5000 +label L5002 +label L5000 load 61 target call 62 string_len int 1 61 iconst 63 0 eq 64 62 63 -brif 64 L4947 L4948 -label L4947 +brif 64 L5004 L5005 +label L5004 load 65 target load 66 parts field 67 66 8 int val_idx call 68 ir_emitter_core_ir_infer_type string 1 67 call 69 pith_cstring_release void 1 65 store target 68 -jmp L4946 -label L4948 -label L4946 +jmp L5003 +label L5005 +label L5003 load 70 target call 71 ir_emitter_core_ir_prepare_func_emission void 1 70 strref 72 m46s1175 @@ -169852,42 +170215,42 @@ call 91 ir_struct_registry_ir_rc_kind string 1 90 call 92 pith_cstring_release void 1 89 store gkind 91 iconst 93 0 -store __and_93_4952 93 +store __and_93_5009 93 iconst 94 0 -store __and_94_4952 94 +store __and_94_5009 94 load 95 gkind call 96 string_len int 1 95 iconst 97 0 gt 98 96 97 -store __and_94_4952 98 -brif 98 L4952 L4953 -label L4952 +store __and_94_5009 98 +brif 98 L5009 L5010 +label L5009 load 99 gtarget strref 100 m46s23 call 102 pith_cstring_eq bool 2 99 100 iconst 103 1 sub 101 103 102 call 104 pith_cstring_release void 1 100 -store __and_94_4952 101 -label L4953 -load 105 __and_94_4952 -store __and_93_4952 105 -brif 105 L4954 L4955 -label L4954 +store __and_94_5009 101 +label L5010 +load 105 __and_94_5009 +store __and_93_5009 105 +brif 105 L5011 L5012 +label L5011 load 106 parts field 107 106 8 int val_idx call 108 ir_emitter_core_ir_string_expr_is_borrowed bool 1 107 -store __and_93_4952 108 -label L4955 -load 109 __and_93_4952 -brif 109 L4950 L4951 -label L4950 +store __and_93_5009 108 +label L5012 +load 109 __and_93_5009 +brif 109 L5007 L5008 +label L5007 load 110 r load 111 gkind call 112 ir_ownership_ir_rc_retain_reg void 2 110 111 -jmp L4949 -label L4951 -label L4949 +jmp L5006 +label L5008 +label L5006 strref 113 m46s849 load 114 r call 115 int_to_string string 1 114 @@ -169899,13 +170262,13 @@ call 120 pith_cstring_release void 1 116 strref 121 m46s877 call 122 ir_builder_ir_emit void 1 121 call 123 pith_cstring_release void 1 121 -label L4935 +label L4992 load 124 __for_idx_385 iconst 125 1 add 126 124 125 store __for_idx_385 126 -jmp L4933 -label L4936 +jmp L4990 +label L4993 load 127 cn call 128 pith_struct_release void 1 127 load 129 binding @@ -170058,21 +170421,21 @@ endfunc func ir_emitter_core_ir_name_is_threadlocal 1 bool param name iconst 1 0 -store __and_1_4956 1 +store __and_1_5013 1 load 2 ir_emitter_core_ir_threadlocal_slots load 3 name call 4 contains_key bool 2 2 3 -store __and_1_4956 4 -brif 4 L4956 L4957 -label L4956 +store __and_1_5013 4 +brif 4 L5013 L5014 +label L5013 load 5 ir_builder_ir_var_regs load 6 name call 7 contains_key bool 2 5 6 iconst 9 1 sub 8 9 7 -store __and_1_4956 8 -label L4957 -load 10 __and_1_4956 +store __and_1_5013 8 +label L5014 +load 10 __and_1_5013 ret 10 iconst 11 0 ret 11 @@ -170091,8 +170454,8 @@ load 7 loop_slot call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L4959 L4960 -label L4959 +brif 10 L5016 L5017 +label L5016 strref 11 m46s829 load 12 dest_r call 13 int_to_string string 1 12 @@ -170108,17 +170471,17 @@ concat 22 18 21 call 23 pith_cstring_release void 1 18 call 24 ir_builder_ir_emit void 1 22 call 25 pith_cstring_release void 1 22 -jmp L4958 -label L4960 +jmp L5015 +label L5017 load 26 name call 27 ir_emitter_core_ir_name_is_threadlocal bool 1 26 -brif 27 L4961 L4962 -label L4961 +brif 27 L5018 L5019 +label L5018 load 28 dest_r load 29 name call 30 ir_emitter_core_ir_emit_tls_load void 2 28 29 -jmp L4958 -label L4962 +jmp L5015 +label L5019 strref 31 m46s829 load 32 dest_r call 33 int_to_string string 1 32 @@ -170136,7 +170499,7 @@ call 44 pith_cstring_release void 1 38 call 45 pith_cstring_release void 1 42 call 46 ir_builder_ir_emit void 1 43 call 47 pith_cstring_release void 1 43 -label L4958 +label L5015 load 48 loop_slot call 49 pith_cstring_release void 1 48 iconst 50 0 @@ -170156,8 +170519,8 @@ load 7 loop_slot call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L4964 L4965 -label L4964 +brif 10 L5021 L5022 +label L5021 strref 11 m46s830 load 12 loop_slot concat 13 11 12 @@ -170173,17 +170536,17 @@ call 22 pith_cstring_release void 1 16 call 23 pith_cstring_release void 1 20 call 24 ir_builder_ir_emit void 1 21 call 25 pith_cstring_release void 1 21 -jmp L4963 -label L4965 +jmp L5020 +label L5022 load 26 name call 27 ir_emitter_core_ir_name_is_threadlocal bool 1 26 -brif 27 L4966 L4967 -label L4966 +brif 27 L5023 L5024 +label L5023 load 28 name load 29 val_r call 30 ir_emitter_core_ir_emit_tls_store void 2 28 29 -jmp L4963 -label L4967 +jmp L5020 +label L5024 strref 31 m46s830 load 32 name call 33 ir_emitter_core_ir_resolve_storage_name string 1 32 @@ -170201,7 +170564,7 @@ call 44 pith_cstring_release void 1 38 call 45 pith_cstring_release void 1 42 call 46 ir_builder_ir_emit void 1 43 call 47 pith_cstring_release void 1 43 -label L4963 +label L5020 load 48 loop_slot call 49 pith_cstring_release void 1 48 iconst 50 0 @@ -170212,13 +170575,13 @@ param dest_r param name load 2 name call 3 ir_emitter_core_ir_name_is_threadlocal bool 1 2 -brif 3 L4969 L4970 -label L4969 +brif 3 L5026 L5027 +label L5026 load 4 dest_r load 5 name call 6 ir_emitter_core_ir_emit_tls_load void 2 4 5 -jmp L4968 -label L4970 +jmp L5025 +label L5027 strref 7 m46s829 load 8 dest_r call 9 int_to_string string 1 8 @@ -170236,7 +170599,7 @@ call 20 pith_cstring_release void 1 14 call 21 pith_cstring_release void 1 18 call 22 ir_builder_ir_emit void 1 19 call 23 pith_cstring_release void 1 19 -label L4968 +label L5025 iconst 24 0 ret 24 endfunc @@ -170253,12 +170616,12 @@ iconst 6 0 store __for_idx_386 6 store __for_len_386 5 store __for_iter_386 4 -label L4971 +label L5028 load 7 __for_idx_386 load 8 __for_len_386 lt 9 7 8 -brif 9 L4972 L4974 -label L4972 +brif 9 L5029 L5031 +label L5029 load 10 __for_iter_386 load 11 __for_idx_386 call 12 pith_list_get_value unknown 2 10 11 @@ -170273,8 +170636,8 @@ field 18 17 0 string kind strref 19 m46s589 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L4976 L4977 -label L4976 +brif 20 L5033 L5034 +label L5033 load 22 inner load 23 cn field 24 23 16 list children @@ -170286,34 +170649,34 @@ store inner 27 load 29 inner field 30 29 0 string kind call 31 ir_ast_helpers_ir_is_binding_kind bool 1 30 -brif 31 L4979 L4980 -label L4979 +brif 31 L5036 L5037 +label L5036 load 32 inner iconst 33 1 call 34 ir_emitter_core_ir_emit_global_binding void 2 32 33 -jmp L4978 -label L4980 -label L4978 -jmp L4975 -label L4977 +jmp L5035 +label L5037 +label L5035 +jmp L5032 +label L5034 load 35 cn field 36 35 0 string kind call 37 ir_ast_helpers_ir_is_binding_kind bool 1 36 -brif 37 L4981 L4982 -label L4981 +brif 37 L5038 L5039 +label L5038 load 38 cn iconst 39 0 call 40 ir_emitter_core_ir_emit_global_binding void 2 38 39 -jmp L4975 -label L4982 -label L4975 -label L4973 +jmp L5032 +label L5039 +label L5032 +label L5030 load 41 __for_idx_386 iconst 42 1 add 43 41 42 store __for_idx_386 43 -jmp L4971 -label L4974 +jmp L5028 +label L5031 load 44 cn call 45 pith_struct_release void 1 44 load 46 inner @@ -170330,14 +170693,14 @@ load 3 raw_name call 4 ir_emitter_core_ir_struct_needs_dtor bool 1 3 iconst 6 1 sub 5 6 4 -brif 5 L4984 L4985 -label L4984 +brif 5 L5041 L5042 +label L5041 load 7 sname call 8 pith_cstring_release void 1 7 iconst 9 0 ret 9 -label L4985 -label L4983 +label L5042 +label L5040 load 10 sname load 11 raw_name call 12 ir_struct_registry_ir_struct_base_name string 1 11 @@ -170419,12 +170782,12 @@ iconst 24 0 store __for_idx_387 24 store __for_len_387 23 store __for_iter_387 22 -label L4986 +label L5043 load 25 __for_idx_387 load 26 __for_len_387 lt 27 25 26 -brif 27 L4987 L4989 -label L4987 +brif 27 L5044 L5046 +label L5044 load 28 __for_iter_387 load 29 __for_idx_387 call 30 pith_list_get_value_unchecked string 2 28 29 @@ -170506,13 +170869,13 @@ call 101 pith_cstring_release void 1 97 strref 102 m46s877 call 103 ir_builder_ir_emit void 1 102 call 104 pith_cstring_release void 1 102 -label L4988 +label L5045 load 105 __for_idx_387 iconst 106 1 add 107 105 106 store __for_idx_387 107 -jmp L4986 -label L4989 +jmp L5043 +label L5046 load 108 kinds call 109 pith_list_release_handle void 1 108 iconst 110 0 @@ -170532,12 +170895,12 @@ iconst 6 0 store __for_idx_388 6 store __for_len_388 5 store __for_iter_388 4 -label L4990 +label L5047 load 7 __for_idx_388 load 8 __for_len_388 lt 9 7 8 -brif 9 L4991 L4993 -label L4991 +brif 9 L5048 L5050 +label L5048 load 10 __for_iter_388 load 11 __for_idx_388 call 12 pith_list_get_value_unchecked string 2 10 11 @@ -170548,28 +170911,28 @@ call 15 pith_cstring_index_of int 2 13 14 call 16 pith_cstring_release void 1 14 iconst 17 0 gte 18 15 17 -brif 18 L4995 L4996 -label L4995 -jmp L4992 -label L4996 -label L4994 +brif 18 L5052 L5053 +label L5052 +jmp L5049 +label L5053 +label L5051 load 19 ir_struct_registry_ir_boxed_enums load 20 __loopvar_388_sname call 21 contains_key bool 2 19 20 -brif 21 L4998 L4999 -label L4998 -jmp L4992 -label L4999 -label L4997 +brif 21 L5055 L5056 +label L5055 +jmp L5049 +label L5056 +label L5054 load 22 __loopvar_388_sname call 23 ir_emitter_core_ir_struct_needs_dtor bool 1 22 iconst 25 1 sub 24 25 23 -brif 24 L5001 L5002 -label L5001 -jmp L4992 -label L5002 -label L5000 +brif 24 L5058 L5059 +label L5058 +jmp L5049 +label L5059 +label L5057 strref 26 m46s1167 load 27 __loopvar_388_sname concat 28 26 27 @@ -170601,12 +170964,12 @@ call 52 ir_struct_registry_ir_struct_field_count int 1 51 store count 52 iconst 53 0 store i 53 -label L5003 +label L5060 load 54 i load 55 count lt 56 54 55 -brif 56 L5004 L5005 -label L5004 +brif 56 L5061 L5062 +label L5061 load 57 fname load 58 __loopvar_388_sname load 59 i @@ -170627,8 +170990,8 @@ store fkind 69 load 71 __loopvar_388_sname load 72 fname call 73 ir_emitter_core_ir_struct_field_is_weak bool 2 71 72 -brif 73 L5007 L5008 -label L5007 +brif 73 L5064 L5065 +label L5064 call 74 ir_builder_ir_reg int 0 store fr 74 strref 75 m46s837 @@ -170685,14 +171048,14 @@ call 124 pith_cstring_release void 1 118 call 125 pith_cstring_release void 1 122 call 126 ir_builder_ir_emit void 1 123 call 127 pith_cstring_release void 1 123 -jmp L5006 -label L5008 +jmp L5063 +label L5065 load 128 fkind call 129 string_len int 1 128 iconst 130 0 gt 131 129 130 -brif 131 L5009 L5010 -label L5009 +brif 131 L5066 L5067 +label L5066 call 132 ir_builder_ir_reg int 0 store fr 132 strref 133 m46s837 @@ -170733,15 +171096,15 @@ call 167 pith_cstring_release void 1 164 load 168 fr load 169 fkind call 170 ir_ownership_ir_rc_release_reg void 2 168 169 -jmp L5006 -label L5010 -label L5006 +jmp L5063 +label L5067 +label L5063 load 171 i iconst 172 1 add 173 171 172 store i 173 -jmp L5003 -label L5005 +jmp L5060 +label L5062 call 174 ir_builder_ir_reg int 0 store zr 174 strref 175 m46s832 @@ -170767,13 +171130,13 @@ call 194 pith_cstring_release void 1 190 strref 195 m46s877 call 196 ir_builder_ir_emit void 1 195 call 197 pith_cstring_release void 1 195 -label L4992 +label L5049 load 198 __for_idx_388 iconst 199 1 add 200 198 199 store __for_idx_388 200 -jmp L4990 -label L4993 +jmp L5047 +label L5050 load 201 __for_iter_388 call 202 pith_list_release_handle void 1 201 load 203 fname @@ -170805,12 +171168,12 @@ iconst 9 0 store __for_idx_389 9 store __for_len_389 8 store __for_iter_389 7 -label L5011 +label L5068 load 10 __for_idx_389 load 11 __for_len_389 lt 12 10 11 -brif 12 L5012 L5014 -label L5012 +brif 12 L5069 L5071 +label L5069 load 13 __for_iter_389 load 14 __for_idx_389 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -170819,21 +171182,21 @@ load 16 __loopvar_389_ename call 17 ir_emitter_core_ir_enum_needs_dtor bool 1 16 iconst 19 1 sub 18 19 17 -brif 18 L5016 L5017 -label L5016 -jmp L5013 -label L5017 -label L5015 +brif 18 L5073 L5074 +label L5073 +jmp L5070 +label L5074 +label L5072 load 20 ir_struct_registry_ir_enum_variant_lists load 21 __loopvar_389_ename call 22 contains_key bool 2 20 21 iconst 24 1 sub 23 24 22 -brif 23 L5019 L5020 -label L5019 -jmp L5013 -label L5020 -label L5018 +brif 23 L5076 L5077 +label L5076 +jmp L5070 +label L5077 +label L5075 strref 25 m46s1167 load 26 __loopvar_389_ename concat 27 25 26 @@ -170894,13 +171257,13 @@ call 79 pith_list_release_handle void 1 72 store variants 77 iconst 80 0 store vi 80 -label L5021 +label L5078 load 81 vi load 82 variants call 83 pith_list_len int 1 82 lt 84 81 83 -brif 84 L5022 L5023 -label L5022 +brif 84 L5079 L5080 +label L5079 load 85 vkey load 86 __loopvar_389_ename strref 87 m46s26 @@ -170916,8 +171279,8 @@ store vkey 93 load 96 ir_struct_registry_ir_enum_payload_kinds load 97 vkey call 98 contains_key bool 2 96 97 -brif 98 L5025 L5026 -label L5025 +brif 98 L5082 L5083 +label L5082 load 99 kinds load 100 ir_struct_registry_ir_enum_payload_kinds load 101 vkey @@ -170931,13 +171294,13 @@ iconst 107 0 store has_rc 107 iconst 108 0 store c 108 -label L5027 +label L5084 load 109 c load 110 kinds call 111 pith_list_len int 1 110 lt 112 109 111 -brif 112 L5028 L5029 -label L5028 +brif 112 L5085 L5086 +label L5085 load 113 kinds load 114 c call 115 pith_list_get_value_strict string 2 113 114 @@ -170946,22 +171309,22 @@ call 117 string_len int 1 116 call 118 pith_cstring_release void 1 116 iconst 119 0 gt 120 117 119 -brif 120 L5031 L5032 -label L5031 +brif 120 L5088 L5089 +label L5088 iconst 121 1 store has_rc 121 -jmp L5030 -label L5032 -label L5030 +jmp L5087 +label L5089 +label L5087 load 122 c iconst 123 1 add 124 122 123 store c 124 -jmp L5027 -label L5029 +jmp L5084 +label L5086 load 125 has_rc -brif 125 L5034 L5035 -label L5034 +brif 125 L5091 L5092 +label L5091 call 126 ir_builder_ir_reg int 0 store vtag 126 strref 127 m46s832 @@ -171043,13 +171406,13 @@ load 199 hit_l call 200 ir_call_emit_ir_emit_label void 1 199 iconst 201 0 store s 201 -label L5036 +label L5093 load 202 s load 203 kinds call 204 pith_list_len int 1 203 lt 205 202 204 -brif 205 L5037 L5038 -label L5037 +brif 205 L5094 L5095 +label L5094 load 206 rk load 207 kinds load 208 s @@ -171061,8 +171424,8 @@ load 212 rk call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -brif 215 L5040 L5041 -label L5040 +brif 215 L5097 L5098 +label L5097 call 216 ir_builder_ir_reg int 0 store slot_r 216 strref 217 m46s837 @@ -171107,29 +171470,29 @@ call 255 pith_cstring_release void 1 251 load 256 slot_r load 257 rk call 258 ir_ownership_ir_rc_release_reg void 2 256 257 -jmp L5039 -label L5041 -label L5039 +jmp L5096 +label L5098 +label L5096 load 259 s iconst 260 1 add 261 259 260 store s 261 -jmp L5036 -label L5038 +jmp L5093 +label L5095 load 262 skip_l call 263 ir_call_emit_ir_emit_label void 1 262 -jmp L5033 -label L5035 -label L5033 -jmp L5024 -label L5026 -label L5024 +jmp L5090 +label L5092 +label L5090 +jmp L5081 +label L5083 +label L5081 load 264 vi iconst 265 1 add 266 264 265 store vi 266 -jmp L5021 -label L5023 +jmp L5078 +label L5080 call 267 ir_builder_ir_reg int 0 store zr 267 strref 268 m46s832 @@ -171155,13 +171518,13 @@ call 287 pith_cstring_release void 1 283 strref 288 m46s877 call 289 ir_builder_ir_emit void 1 288 call 290 pith_cstring_release void 1 288 -label L5013 +label L5070 load 291 __for_idx_389 iconst 292 1 add 293 291 292 store __for_idx_389 293 -jmp L5011 -label L5014 +jmp L5068 +label L5071 load 294 __for_iter_389 call 295 pith_list_release_handle void 1 294 load 296 variants @@ -171188,12 +171551,12 @@ iconst 3 0 store __for_idx_390 3 store __for_len_390 2 store __for_iter_390 1 -label L5042 +label L5099 load 4 __for_idx_390 load 5 __for_len_390 lt 6 4 5 -brif 6 L5043 L5045 -label L5043 +brif 6 L5100 L5102 +label L5100 load 7 __for_iter_390 load 8 __for_idx_390 call 9 pith_list_get_value_unchecked string 2 7 8 @@ -171224,13 +171587,13 @@ call 31 ir_builder_ir_emit void 1 28 call 32 pith_cstring_release void 1 28 iconst 33 0 store i 33 -label L5046 +label L5103 load 34 i load 35 __loopvar_390_sig call 36 string_len int 1 35 lt 37 34 36 -brif 37 L5047 L5048 -label L5047 +brif 37 L5104 L5105 +label L5104 load 38 kind load 39 __loopvar_390_sig load 40 i @@ -171246,8 +171609,8 @@ load 48 kind call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L5050 L5051 -label L5050 +brif 51 L5107 L5108 +label L5107 call 52 ir_builder_ir_reg int 0 store fr 52 strref 53 m46s837 @@ -171290,15 +171653,15 @@ call 89 pith_cstring_release void 1 85 load 90 fr load 91 kind call 92 ir_ownership_ir_rc_release_reg void 2 90 91 -jmp L5049 -label L5051 -label L5049 +jmp L5106 +label L5108 +label L5106 load 93 i iconst 94 1 add 95 93 94 store i 95 -jmp L5046 -label L5048 +jmp L5103 +label L5105 call 96 ir_builder_ir_reg int 0 store zr 96 strref 97 m46s832 @@ -171324,13 +171687,13 @@ call 116 pith_cstring_release void 1 112 strref 117 m46s877 call 118 ir_builder_ir_emit void 1 117 call 119 pith_cstring_release void 1 117 -label L5044 +label L5101 load 120 __for_idx_390 iconst 121 1 add 122 120 121 store __for_idx_390 122 -jmp L5042 -label L5045 +jmp L5099 +label L5102 load 123 kind call 124 pith_cstring_release void 1 123 iconst 125 0 @@ -171362,12 +171725,12 @@ iconst 12 0 store __for_idx_391 12 store __for_len_391 11 store __for_iter_391 10 -label L5052 +label L5109 load 13 __for_idx_391 load 14 __for_len_391 lt 15 13 14 -brif 15 L5053 L5055 -label L5053 +brif 15 L5110 L5112 +label L5110 load 16 __for_iter_391 load 17 __for_idx_391 call 18 pith_list_get_value_unchecked string 2 16 17 @@ -171377,11 +171740,11 @@ load 20 __loopvar_391_ename call 21 contains_key bool 2 19 20 iconst 23 1 sub 22 23 21 -brif 22 L5057 L5058 -label L5057 -jmp L5054 -label L5058 -label L5056 +brif 22 L5114 L5115 +label L5114 +jmp L5111 +label L5115 +label L5113 strref 24 m46s1158 load 25 __loopvar_391_ename concat 26 24 25 @@ -171600,13 +171963,13 @@ concat 226 222 225 call 227 pith_cstring_release void 1 222 call 228 ir_builder_ir_emit void 1 226 call 229 pith_cstring_release void 1 226 -label L5059 +label L5116 load 230 vi load 231 variants call 232 pith_list_len int 1 231 lt 233 230 232 -brif 233 L5060 L5061 -label L5060 +brif 233 L5117 L5118 +label L5117 load 234 vkey load 235 __loopvar_391_ename strref 236 m46s26 @@ -171622,8 +171985,8 @@ store vkey 242 load 245 ir_struct_registry_ir_enum_payload_kinds load 246 vkey call 247 contains_key bool 2 245 246 -brif 247 L5063 L5064 -label L5063 +brif 247 L5120 L5121 +label L5120 load 248 chain_l call 249 ir_call_emit_ir_emit_label void 1 248 load 250 chain_l @@ -171716,13 +172079,13 @@ call 332 pith_list_release_handle void 1 325 store kinds 330 iconst 333 0 store k 333 -label L5065 +label L5122 load 334 k load 335 kinds call 336 pith_list_len int 1 335 lt 337 334 336 -brif 337 L5066 L5067 -label L5066 +brif 337 L5123 L5124 +label L5123 call 338 ir_builder_ir_reg int 0 store fa 338 strref 339 m46s837 @@ -171813,8 +172176,8 @@ call 421 pith_list_get_value_strict string 2 419 420 strref 422 m46s675 call 423 pith_cstring_eq bool 2 421 422 call 424 pith_cstring_release void 1 422 -brif 423 L5069 L5070 -label L5069 +brif 423 L5126 L5127 +label L5126 load 425 cmp_r strref 426 m46s722 strref 427 m46s673 @@ -171823,15 +172186,15 @@ load 429 fb call 430 ir_call_emit_ir_emit_call2 void 5 425 426 427 428 429 call 431 pith_cstring_release void 1 426 call 432 pith_cstring_release void 1 427 -jmp L5068 -label L5070 +jmp L5125 +label L5127 load 433 ir_struct_registry_ir_boxed_enums load 434 kinds load 435 k call 436 pith_list_get_value_strict string 2 434 435 call 437 contains_key bool 2 433 436 -brif 437 L5071 L5072 -label L5071 +brif 437 L5128 L5129 +label L5128 load 438 cmp_r strref 439 m46s1158 load 440 kinds @@ -171845,8 +172208,8 @@ load 447 fb call 448 ir_call_emit_ir_emit_call2 void 5 438 443 445 446 447 call 449 pith_cstring_release void 1 443 call 450 pith_cstring_release void 1 445 -jmp L5068 -label L5072 +jmp L5125 +label L5129 strref 451 m46s839 load 452 cmp_r call 453 int_to_string string 1 452 @@ -171873,7 +172236,7 @@ call 473 pith_cstring_release void 1 467 call 474 pith_cstring_release void 1 471 call 475 ir_builder_ir_emit void 1 472 call 476 pith_cstring_release void 1 472 -label L5068 +label L5125 load 477 next_slot_l call 478 ir_builder_ir_label string 0 call 479 pith_cstring_release void 1 477 @@ -171906,23 +172269,23 @@ load 504 k iconst 505 1 add 506 504 505 store k 506 -jmp L5065 -label L5067 +jmp L5122 +label L5124 strref 507 m46s833 load 508 true_l concat 509 507 508 call 510 pith_cstring_release void 1 507 call 511 ir_builder_ir_emit void 1 509 call 512 pith_cstring_release void 1 509 -jmp L5062 -label L5064 -label L5062 +jmp L5119 +label L5121 +label L5119 load 513 vi iconst 514 1 add 515 513 514 store vi 515 -jmp L5059 -label L5061 +jmp L5116 +label L5118 load 516 chain_l call 517 ir_call_emit_ir_emit_label void 1 516 strref 518 m46s833 @@ -171982,13 +172345,13 @@ call 569 pith_cstring_release void 1 565 strref 570 m46s877 call 571 ir_builder_ir_emit void 1 570 call 572 pith_cstring_release void 1 570 -label L5054 +label L5111 load 573 __for_idx_391 iconst 574 1 add 575 573 574 store __for_idx_391 575 -jmp L5052 -label L5055 +jmp L5109 +label L5112 load 576 __for_iter_391 call 577 pith_list_release_handle void 1 576 load 578 true_l @@ -172027,16 +172390,16 @@ load 7 parts field 8 7 8 int val_idx iconst 9 0 lt 10 8 9 -brif 10 L5074 L5075 -label L5074 +brif 10 L5131 L5132 +label L5131 iconst 11 0 load 12 parts call 13 pith_struct_release void 1 12 load 14 vk call 15 pith_cstring_release void 1 14 ret 11 -label L5075 -label L5073 +label L5132 +label L5130 load 16 vk load 17 parts field 18 17 8 int val_idx @@ -172046,93 +172409,93 @@ call 21 pith_cstring_retain void 1 20 call 22 pith_cstring_release void 1 16 store vk 20 iconst 23 0 -store __or_23_5079 23 +store __or_23_5136 23 iconst 24 0 -store __or_24_5079 24 +store __or_24_5136 24 iconst 25 0 -store __or_25_5079 25 +store __or_25_5136 25 load 26 vk strref 27 m46s519 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __or_25_5079 28 -brif 28 L5080 L5079 -label L5079 +store __or_25_5136 28 +brif 28 L5137 L5136 +label L5136 load 30 vk strref 31 m46s516 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_25_5079 32 -label L5080 -load 34 __or_25_5079 -store __or_24_5079 34 -brif 34 L5082 L5081 -label L5081 +store __or_25_5136 32 +label L5137 +load 34 __or_25_5136 +store __or_24_5136 34 +brif 34 L5139 L5138 +label L5138 load 35 vk strref 36 m46s75 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_24_5079 37 -label L5082 -load 39 __or_24_5079 -store __or_23_5079 39 -brif 39 L5084 L5083 -label L5083 +store __or_24_5136 37 +label L5139 +load 39 __or_24_5136 +store __or_23_5136 39 +brif 39 L5141 L5140 +label L5140 load 40 vk strref 41 m46s74 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_23_5079 42 -label L5084 -load 44 __or_23_5079 -brif 44 L5077 L5078 -label L5077 +store __or_23_5136 42 +label L5141 +load 44 __or_23_5136 +brif 44 L5134 L5135 +label L5134 iconst 45 0 load 46 parts call 47 pith_struct_release void 1 46 load 48 vk call 49 pith_cstring_release void 1 48 ret 45 -label L5078 -label L5076 +label L5135 +label L5133 iconst 50 0 -store __or_50_5088 50 +store __or_50_5145 50 iconst 51 0 -store __or_51_5088 51 +store __or_51_5145 51 load 52 vk strref 53 m46s517 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_51_5088 54 -brif 54 L5089 L5088 -label L5088 +store __or_51_5145 54 +brif 54 L5146 L5145 +label L5145 load 56 vk strref 57 m46s675 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -store __or_51_5088 58 -label L5089 -load 60 __or_51_5088 -store __or_50_5088 60 -brif 60 L5091 L5090 -label L5090 +store __or_51_5145 58 +label L5146 +load 60 __or_51_5145 +store __or_50_5145 60 +brif 60 L5148 L5147 +label L5147 load 61 vk strref 62 m46s1025 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __or_50_5088 63 -label L5091 -load 65 __or_50_5088 -brif 65 L5086 L5087 -label L5086 +store __or_50_5145 63 +label L5148 +load 65 __or_50_5145 +brif 65 L5143 L5144 +label L5143 iconst 66 0 load 67 parts call 68 pith_struct_release void 1 67 load 69 vk call 70 pith_cstring_release void 1 69 ret 66 -label L5087 -label L5085 +label L5144 +label L5142 iconst 71 1 load 72 parts call 73 pith_struct_release void 1 72 @@ -172169,12 +172532,12 @@ iconst 11 0 store __for_idx_392 11 store __for_len_392 10 store __for_iter_392 9 -label L5092 +label L5149 load 12 __for_idx_392 load 13 __for_len_392 lt 14 12 13 -brif 14 L5093 L5095 -label L5093 +brif 14 L5150 L5152 +label L5150 load 15 __for_iter_392 load 16 __for_idx_392 call 17 pith_list_get_value unknown 2 15 16 @@ -172185,37 +172548,37 @@ call 20 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 iconst 22 0 -store __and_22_5099 22 +store __and_22_5156 22 load 23 cn field 24 23 0 string kind call 25 ir_ast_helpers_ir_is_binding_kind bool 1 24 -store __and_22_5099 25 -brif 25 L5099 L5100 -label L5099 +store __and_22_5156 25 +brif 25 L5156 L5157 +label L5156 load 26 cn call 27 ir_emitter_core_ir_global_needs_runtime_init bool 1 26 -store __and_22_5099 27 -label L5100 -load 28 __and_22_5099 -brif 28 L5097 L5098 -label L5097 +store __and_22_5156 27 +label L5157 +load 28 __and_22_5156 +brif 28 L5154 L5155 +label L5154 iconst 29 1 store has_runtime_inits 29 -jmp L5096 -label L5098 -label L5096 -label L5094 +jmp L5153 +label L5155 +label L5153 +label L5151 load 30 __for_idx_392 iconst 31 1 add 32 30 31 store __for_idx_392 32 -jmp L5092 -label L5095 +jmp L5149 +label L5152 load 33 has_runtime_inits iconst 35 1 sub 34 35 33 -brif 34 L5102 L5103 -label L5102 +brif 34 L5159 L5160 +label L5159 load 36 cn call 37 pith_struct_release void 1 36 load 38 gname @@ -172230,8 +172593,8 @@ load 46 gkind call 47 pith_cstring_release void 1 46 iconst 48 0 ret 48 -label L5103 -label L5101 +label L5160 +label L5158 strref 49 m46s1157 iconst 50 0 strref 51 m46s671 @@ -172245,12 +172608,12 @@ iconst 58 0 store __for_idx_393 58 store __for_len_393 57 store __for_iter_393 56 -label L5104 +label L5161 load 59 __for_idx_393 load 60 __for_len_393 lt 61 59 60 -brif 61 L5105 L5107 -label L5105 +brif 61 L5162 L5164 +label L5162 load 62 __for_iter_393 load 63 __for_idx_393 call 64 pith_list_get_value unknown 2 62 63 @@ -172261,20 +172624,20 @@ call 67 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 66 call 68 pith_struct_release void 1 65 store cn 67 iconst 69 0 -store __and_69_5111 69 +store __and_69_5168 69 load 70 cn field 71 70 0 string kind call 72 ir_ast_helpers_ir_is_binding_kind bool 1 71 -store __and_69_5111 72 -brif 72 L5111 L5112 -label L5111 +store __and_69_5168 72 +brif 72 L5168 L5169 +label L5168 load 73 cn call 74 ir_emitter_core_ir_global_needs_runtime_init bool 1 73 -store __and_69_5111 74 -label L5112 -load 75 __and_69_5111 -brif 75 L5109 L5110 -label L5109 +store __and_69_5168 74 +label L5169 +load 75 __and_69_5168 +brif 75 L5166 L5167 +label L5166 load 76 gname load 77 cn call 78 ir_ast_helpers_ir_binding_name string 1 77 @@ -172293,32 +172656,32 @@ load 87 parts field 88 87 16 int type_idx iconst 89 0 gte 90 88 89 -brif 90 L5114 L5115 -label L5114 +brif 90 L5171 L5172 +label L5171 load 91 target load 92 parts field 93 92 16 int type_idx call 94 ir_alias_registry_ir_resolve_type_node string 1 93 call 95 pith_cstring_release void 1 91 store target 94 -jmp L5113 -label L5115 -label L5113 +jmp L5170 +label L5172 +label L5170 load 96 target call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L5117 L5118 -label L5117 +brif 99 L5174 L5175 +label L5174 load 100 target load 101 parts field 102 101 8 int val_idx call 103 ir_emitter_core_ir_infer_type string 1 102 call 104 pith_cstring_release void 1 100 store target 103 -jmp L5116 -label L5118 -label L5116 +jmp L5173 +label L5175 +label L5173 load 105 gtarget load 106 gname load 107 target @@ -172336,42 +172699,42 @@ call 116 ir_struct_registry_ir_rc_kind string 1 115 call 117 pith_cstring_release void 1 114 store gkind 116 iconst 118 0 -store __and_118_5122 118 +store __and_118_5179 118 iconst 119 0 -store __and_119_5122 119 +store __and_119_5179 119 load 120 gkind call 121 string_len int 1 120 iconst 122 0 gt 123 121 122 -store __and_119_5122 123 -brif 123 L5122 L5123 -label L5122 +store __and_119_5179 123 +brif 123 L5179 L5180 +label L5179 load 124 gtarget strref 125 m46s23 call 127 pith_cstring_eq bool 2 124 125 iconst 128 1 sub 126 128 127 call 129 pith_cstring_release void 1 125 -store __and_119_5122 126 -label L5123 -load 130 __and_119_5122 -store __and_118_5122 130 -brif 130 L5124 L5125 -label L5124 +store __and_119_5179 126 +label L5180 +load 130 __and_119_5179 +store __and_118_5179 130 +brif 130 L5181 L5182 +label L5181 load 131 parts field 132 131 8 int val_idx call 133 ir_emitter_core_ir_string_expr_is_borrowed bool 1 132 -store __and_118_5122 133 -label L5125 -load 134 __and_118_5122 -brif 134 L5120 L5121 -label L5120 +store __and_118_5179 133 +label L5182 +load 134 __and_118_5179 +brif 134 L5177 L5178 +label L5177 load 135 r load 136 gkind call 137 ir_ownership_ir_rc_retain_reg void 2 135 136 -jmp L5119 -label L5121 -label L5119 +jmp L5176 +label L5178 +label L5176 strref 138 m46s830 load 139 gname concat 140 138 139 @@ -172387,16 +172750,16 @@ call 149 pith_cstring_release void 1 143 call 150 pith_cstring_release void 1 147 call 151 ir_builder_ir_emit void 1 148 call 152 pith_cstring_release void 1 148 -jmp L5108 -label L5110 -label L5108 -label L5106 +jmp L5165 +label L5167 +label L5165 +label L5163 load 153 __for_idx_393 iconst 154 1 add 155 153 154 store __for_idx_393 155 -jmp L5104 -label L5107 +jmp L5161 +label L5164 call 156 ir_builder_ir_reg int 0 store dr 156 strref 157 m46s832 @@ -172453,12 +172816,12 @@ iconst 8 0 store __for_idx_394 8 store __for_len_394 7 store __for_iter_394 6 -label L5126 +label L5183 load 9 __for_idx_394 load 10 __for_len_394 lt 11 9 10 -brif 11 L5127 L5129 -label L5127 +brif 11 L5184 L5186 +label L5184 load 12 __for_iter_394 load 13 __for_idx_394 call 14 pith_list_get_value unknown 2 12 13 @@ -172469,67 +172832,67 @@ call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 15 store actual_node 17 iconst 19 0 -store __or_19_5133 19 +store __or_19_5190 19 load 20 actual_node field 21 20 0 string kind strref 22 m46s618 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __or_19_5133 23 -brif 23 L5134 L5133 -label L5133 +store __or_19_5190 23 +brif 23 L5191 L5190 +label L5190 load 25 actual_node field 26 25 0 string kind strref 27 m46s576 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __or_19_5133 28 -label L5134 -load 30 __or_19_5133 -brif 30 L5131 L5132 -label L5131 +store __or_19_5190 28 +label L5191 +load 30 __or_19_5190 +brif 30 L5188 L5189 +label L5188 load 31 actual_node call 32 ir_generics_ir_has_generic_params bool 1 31 -brif 32 L5136 L5137 -label L5136 -jmp L5128 -label L5137 -label L5135 +brif 32 L5193 L5194 +label L5193 +jmp L5185 +label L5194 +label L5192 iconst 33 0 -store __and_33_5141 33 +store __and_33_5198 33 load 34 ir_emitter_core_ir_emit_tests -store __and_33_5141 34 -brif 34 L5141 L5142 -label L5141 +store __and_33_5198 34 +brif 34 L5198 L5199 +label L5198 load 35 actual_node field 36 35 8 string value strref 37 m46s1156 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __and_33_5141 38 -label L5142 -load 40 __and_33_5141 +store __and_33_5198 38 +label L5199 +load 40 __and_33_5198 iconst 42 1 sub 41 42 40 -brif 41 L5139 L5140 -label L5139 +brif 41 L5196 L5197 +label L5196 load 43 __loopvar_394_item_idx call 44 ir_emitter_core_ir_func void 1 43 -jmp L5138 -label L5140 -label L5138 -jmp L5130 -label L5132 +jmp L5195 +label L5197 +label L5195 +jmp L5187 +label L5189 load 45 actual_node field 46 45 0 string kind strref 47 m46s587 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -brif 48 L5143 L5144 -label L5143 +brif 48 L5200 L5201 +label L5200 load 50 ir_emitter_core_ir_emit_tests -brif 50 L5146 L5147 -label L5146 +brif 50 L5203 L5204 +label L5203 load 51 __loopvar_394_item_idx load 52 test_ord call 53 ir_emitter_core_ir_emit_test_func void 2 51 52 @@ -172537,18 +172900,18 @@ load 54 test_ord iconst 55 1 add 56 54 55 store test_ord 56 -jmp L5145 -label L5147 -label L5145 -jmp L5130 -label L5144 +jmp L5202 +label L5204 +label L5202 +jmp L5187 +label L5201 load 57 actual_node field 58 57 0 string kind strref 59 m46s588 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L5148 L5149 -label L5148 +brif 60 L5205 L5206 +label L5205 load 62 impl_type load 63 actual_node call 64 ir_emitter_core_ir_impl_target_type string 1 63 @@ -172557,26 +172920,26 @@ store impl_type 64 load 66 actual_node load 67 impl_type call 68 ir_emitter_core_ir_emit_impl_methods void 2 66 67 -jmp L5130 -label L5149 -label L5130 -label L5128 +jmp L5187 +label L5206 +label L5187 +label L5185 load 69 __for_idx_394 iconst 70 1 add 71 69 70 store __for_idx_394 71 -jmp L5126 -label L5129 +jmp L5183 +label L5186 load 72 __for_iter_394 call 73 pith_list_release_handle void 1 72 load 74 ir_emitter_core_ir_emit_tests -brif 74 L5151 L5152 -label L5151 +brif 74 L5208 L5209 +label L5208 load 75 root_idx call 76 ir_emitter_core_ir_emit_test_main void 1 75 -jmp L5150 -label L5152 -label L5150 +jmp L5207 +label L5209 +label L5207 load 77 actual_node call 78 pith_struct_release void 1 77 load 79 impl_type @@ -172616,12 +172979,12 @@ iconst 10 0 store __for_idx_395 10 store __for_len_395 9 store __for_iter_395 8 -label L5153 +label L5210 load 11 __for_idx_395 load 12 __for_len_395 lt 13 11 12 -brif 13 L5154 L5156 -label L5154 +brif 13 L5211 L5213 +label L5211 load 14 __for_iter_395 load 15 __for_idx_395 call 16 pith_list_get_value_unchecked string 2 14 15 @@ -172633,13 +172996,13 @@ call 20 pith_cstring_release void 1 18 call 21 ir_builder_ir_str string 1 19 call 22 pith_cstring_release void 1 19 call 23 pith_cstring_release void 1 21 -label L5155 +label L5212 load 24 __for_idx_395 iconst 25 1 add 26 24 25 store __for_idx_395 26 -jmp L5153 -label L5156 +jmp L5210 +label L5213 load 27 builtin_names call 28 pith_list_release_handle void 1 27 iconst 29 0 @@ -172659,12 +173022,12 @@ iconst 6 0 store __for_idx_396 6 store __for_len_396 5 store __for_iter_396 4 -label L5157 +label L5214 load 7 __for_idx_396 load 8 __for_len_396 lt 9 7 8 -brif 9 L5158 L5160 -label L5158 +brif 9 L5215 L5217 +label L5215 load 10 __for_iter_396 load 11 __for_idx_396 call 12 pith_list_get_value unknown 2 10 11 @@ -172676,13 +173039,13 @@ load 15 ir_emitter_core_ir_preloaded_import_paths load 16 __loopvar_396_i call 17 pith_list_get_value_strict string 2 15 16 call 18 ir_alias_registry_ir_collect_preloaded_root_metadata void 2 14 17 -label L5159 +label L5216 load 19 __for_idx_396 iconst 20 1 add 21 19 20 store __for_idx_396 21 -jmp L5157 -label L5160 +jmp L5214 +label L5217 iconst 22 0 ret 22 endfunc @@ -172708,12 +173071,12 @@ iconst 11 0 store __for_idx_397 11 store __for_len_397 10 store __for_iter_397 9 -label L5161 +label L5218 load 12 __for_idx_397 load 13 __for_len_397 lt 14 12 13 -brif 14 L5162 L5164 -label L5162 +brif 14 L5219 L5221 +label L5219 load 15 __for_iter_397 load 16 __for_idx_397 call 17 pith_list_get_value unknown 2 15 16 @@ -172728,8 +173091,8 @@ load 22 __loopvar_397_preload_i load 23 ir_emitter_core_ir_preloaded_import_paths call 24 pith_list_len int 1 23 lt 25 22 24 -brif 25 L5166 L5167 -label L5166 +brif 25 L5223 L5224 +label L5223 load 26 module_path load 27 ir_emitter_core_ir_preloaded_import_paths load 28 __loopvar_397_preload_i @@ -172737,9 +173100,9 @@ call 29 pith_list_get_value_strict string 2 27 28 call 30 pith_cstring_retain void 1 29 call 31 pith_cstring_release void 1 26 store module_path 29 -jmp L5165 -label L5167 -label L5165 +jmp L5222 +label L5224 +label L5222 load 32 __loopvar_397_root call 33 ir_tree_cache_ir_root_items list 1 32 call 34 pith_auto_len int 1 33 @@ -172747,12 +173110,12 @@ iconst 35 0 store __for_idx_398 35 store __for_len_398 34 store __for_iter_398 33 -label L5168 +label L5225 load 36 __for_idx_398 load 37 __for_len_398 lt 38 36 37 -brif 38 L5169 L5171 -label L5169 +brif 38 L5226 L5228 +label L5226 load 39 __for_iter_398 load 40 __for_idx_398 call 41 pith_list_get_value unknown 2 39 40 @@ -172765,8 +173128,8 @@ store node 44 load 46 node field 47 46 0 string kind call 48 ir_generics_ir_is_fn_decl_kind bool 1 47 -brif 48 L5173 L5174 -label L5173 +brif 48 L5230 L5231 +label L5230 load 49 module_path load 50 node field 51 50 8 string value @@ -172774,28 +173137,28 @@ call 52 ir_names_ir_import_target_name string 2 49 51 load 53 node call 54 ir_emitter_core_ir_record_function_return_as void 2 52 53 call 55 pith_cstring_release void 1 52 -jmp L5172 -label L5174 -label L5172 -label L5170 +jmp L5229 +label L5231 +label L5229 +label L5227 load 56 __for_idx_398 iconst 57 1 add 58 56 57 store __for_idx_398 58 -jmp L5168 -label L5171 +jmp L5225 +label L5228 load 59 __for_iter_398 call 60 pith_list_release_handle void 1 59 load 61 __loopvar_397_root load 62 module_path call 63 ir_emitter_core_ir_collect_generic_function_decls_from_root void 2 61 62 -label L5163 +label L5220 load 64 __for_idx_397 iconst 65 1 add 66 64 65 store __for_idx_397 66 -jmp L5161 -label L5164 +jmp L5218 +label L5221 load 67 root_idx call 68 ir_tree_cache_ir_root_items list 1 67 call 69 pith_auto_len int 1 68 @@ -172803,12 +173166,12 @@ iconst 70 0 store __for_idx_399 70 store __for_len_399 69 store __for_iter_399 68 -label L5175 +label L5232 load 71 __for_idx_399 load 72 __for_len_399 lt 73 71 72 -brif 73 L5176 L5178 -label L5176 +brif 73 L5233 L5235 +label L5233 load 74 __for_iter_399 load 75 __for_idx_399 call 76 pith_list_get_value unknown 2 74 75 @@ -172825,8 +173188,8 @@ field 84 83 0 string kind strref 85 m46s603 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -brif 86 L5180 L5181 -label L5180 +brif 86 L5237 L5238 +label L5237 load 88 target load 89 node call 90 ir_emitter_core_ir_type_alias_target string 1 89 @@ -172836,47 +173199,47 @@ load 92 target call 93 string_len int 1 92 iconst 94 0 gt 95 93 94 -brif 95 L5183 L5184 -label L5183 +brif 95 L5240 L5241 +label L5240 load 96 ir_alias_registry_ir_type_aliases load 97 node field 98 97 8 string value load 99 target call 100 map_insert void 3 96 98 99 -jmp L5182 -label L5184 -label L5182 -jmp L5179 -label L5181 +jmp L5239 +label L5241 +label L5239 +jmp L5236 +label L5238 load 101 node field 102 101 0 string kind call 103 ir_generics_ir_is_fn_decl_kind bool 1 102 -brif 103 L5185 L5186 -label L5185 +brif 103 L5242 L5243 +label L5242 load 104 node call 105 ir_emitter_core_ir_record_function_return void 1 104 load 106 node call 107 ir_generics_ir_has_generic_params bool 1 106 -brif 107 L5188 L5189 -label L5188 +brif 107 L5245 L5246 +label L5245 load 108 __loopvar_399_item_idx load 109 node strref 110 m46s82 call 111 ir_generics_ir_record_generic_function_decl void 3 108 109 110 call 112 pith_cstring_release void 1 110 -jmp L5187 -label L5189 -label L5187 -jmp L5179 -label L5186 -label L5179 -label L5177 +jmp L5244 +label L5246 +label L5244 +jmp L5236 +label L5243 +label L5236 +label L5234 load 113 __for_idx_399 iconst 114 1 add 115 113 114 store __for_idx_399 115 -jmp L5175 -label L5178 +jmp L5232 +label L5235 load 116 __for_iter_399 call 117 pith_list_release_handle void 1 116 load 118 module_path @@ -172915,13 +173278,13 @@ call 19 map_clear void 1 18 call 20 ir_emitter_core_ir_register_known_import_structs void 0 iconst 21 0 store iface_i 21 -label L5190 +label L5247 load 22 iface_i load 23 ir_emitter_core_ir_preloaded_import_roots call 24 pith_list_len int 1 23 lt 25 22 24 -brif 25 L5191 L5192 -label L5191 +brif 25 L5248 L5249 +label L5248 load 26 ir_emitter_core_ir_preloaded_import_roots load 27 iface_i call 28 pith_list_get_value_strict int 2 26 27 @@ -172934,21 +173297,21 @@ load 34 iface_i iconst 35 1 add 36 34 35 store iface_i 36 -jmp L5190 -label L5192 +jmp L5247 +label L5249 load 37 root_idx call 38 ir_emitter_core_ir_index_interfaces_in_root void 1 37 load 39 root_idx call 40 ir_emitter_core_ir_collect_assoc_bindings_in_root void 1 39 iconst 41 0 store preload_i 41 -label L5193 +label L5250 load 42 preload_i load 43 ir_emitter_core_ir_preloaded_import_roots call 44 pith_list_len int 1 43 lt 45 42 44 -brif 45 L5194 L5195 -label L5194 +brif 45 L5251 L5252 +label L5251 load 46 ir_emitter_core_ir_preloaded_import_roots load 47 preload_i call 48 pith_list_get_value_strict int 2 46 47 @@ -172965,8 +173328,8 @@ load 58 preload_i iconst 59 1 add 60 58 59 store preload_i 60 -jmp L5193 -label L5195 +jmp L5250 +label L5252 load 61 root_idx call 62 ir_tree_cache_ir_root_items list 1 61 call 63 pith_auto_len int 1 62 @@ -172974,12 +173337,12 @@ iconst 64 0 store __for_idx_400 64 store __for_len_400 63 store __for_iter_400 62 -label L5196 +label L5253 load 65 __for_idx_400 load 66 __for_len_400 lt 67 65 66 -brif 67 L5197 L5199 -label L5197 +brif 67 L5254 L5256 +label L5254 load 68 __for_iter_400 load 69 __for_idx_400 call 70 pith_list_get_value unknown 2 68 69 @@ -172990,77 +173353,77 @@ call 73 ast_get_node struct:Node 1 72 call 74 pith_struct_release void 1 71 store node 73 iconst 75 0 -store __or_75_5203 75 +store __or_75_5260 75 load 76 node field 77 76 0 string kind strref 78 m46s31 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __or_75_5203 79 -brif 79 L5204 L5203 -label L5203 +store __or_75_5260 79 +brif 79 L5261 L5260 +label L5260 load 81 node field 82 81 0 string kind strref 83 m46s15 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 83 -store __or_75_5203 84 -label L5204 -load 86 __or_75_5203 -brif 86 L5201 L5202 -label L5201 +store __or_75_5260 84 +label L5261 +load 86 __or_75_5260 +brif 86 L5258 L5259 +label L5258 load 87 __loopvar_400_item_idx load 88 node iconst 89 1 call 90 ir_emitter_core_ir_collect_struct_decl void 3 87 88 89 -jmp L5200 -label L5202 +jmp L5257 +label L5259 iconst 91 0 -store __or_91_5207 91 +store __or_91_5264 91 load 92 node field 93 92 0 string kind strref 94 m46s30 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -store __or_91_5207 95 -brif 95 L5208 L5207 -label L5207 +store __or_91_5264 95 +brif 95 L5265 L5264 +label L5264 load 97 node field 98 97 0 string kind strref 99 m46s14 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __or_91_5207 100 -label L5208 -load 102 __or_91_5207 -brif 102 L5205 L5206 -label L5205 +store __or_91_5264 100 +label L5265 +load 102 __or_91_5264 +brif 102 L5262 L5263 +label L5262 load 103 node iconst 104 1 call 105 ir_emitter_core_ir_collect_enum_decl void 2 103 104 -jmp L5200 -label L5206 +jmp L5257 +label L5263 load 106 node field 107 106 0 string kind strref 108 m46s588 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L5209 L5210 -label L5209 +brif 109 L5266 L5267 +label L5266 load 111 node strref 112 m46s82 call 113 ir_emitter_core_ir_collect_impl_method_signatures void 2 111 112 call 114 pith_cstring_release void 1 112 -jmp L5200 -label L5210 -label L5200 -label L5198 +jmp L5257 +label L5267 +label L5257 +label L5255 load 115 __for_idx_400 iconst 116 1 add 117 115 116 store __for_idx_400 117 -jmp L5196 -label L5199 +jmp L5253 +label L5256 load 118 __for_iter_400 call 119 pith_list_release_handle void 1 118 load 120 root_idx @@ -173115,12 +173478,12 @@ iconst 7 0 store __for_idx_401 7 store __for_len_401 6 store __for_iter_401 5 -label L5211 +label L5268 load 8 __for_idx_401 load 9 __for_len_401 lt 10 8 9 -brif 10 L5212 L5214 -label L5212 +brif 10 L5269 L5271 +label L5269 load 11 __for_iter_401 load 12 __for_idx_401 call 13 pith_list_get_value unknown 2 11 12 @@ -173137,24 +173500,24 @@ field 20 19 0 string kind strref 21 m46s577 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L5216 L5217 -label L5216 +brif 22 L5273 L5274 +label L5273 load 24 node field 25 24 16 list children iconst 26 0 call 27 pith_list_get_value_strict int 2 25 26 call 28 ast_get_node struct:Node 1 27 store actual_node 28 -jmp L5215 -label L5217 -label L5215 +jmp L5272 +label L5274 +label L5272 load 29 actual_node field 30 29 0 string kind strref 31 m46s588 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L5219 L5220 -label L5219 +brif 32 L5276 L5277 +label L5276 load 34 impl_type load 35 actual_node call 36 ir_emitter_core_ir_impl_target_type string 1 35 @@ -173164,24 +173527,24 @@ load 38 impl_type call 39 string_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L5222 L5223 -label L5222 +brif 41 L5279 L5280 +label L5279 load 42 actual_node load 43 impl_type call 44 ir_emitter_core_ir_register_impl_method_specialization_names void 2 42 43 -jmp L5221 -label L5223 -label L5221 -jmp L5218 -label L5220 -label L5218 -label L5213 +jmp L5278 +label L5280 +label L5278 +jmp L5275 +label L5277 +label L5275 +label L5270 load 45 __for_idx_401 iconst 46 1 add 47 45 46 store __for_idx_401 47 -jmp L5211 -label L5214 +jmp L5268 +label L5271 load 48 __for_iter_401 call 49 pith_list_release_handle void 1 48 load 50 node @@ -173212,8 +173575,8 @@ load 9 impl_type call 10 checker_has_generic_declaration bool 1 9 iconst 12 1 sub 11 12 10 -brif 11 L5225 L5226 -label L5225 +brif 11 L5282 L5283 +label L5282 load 13 sdecl call 14 pith_struct_release void 1 13 load 15 struct_params @@ -173230,8 +173593,8 @@ load 25 child_node call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L5226 -label L5224 +label L5283 +label L5281 load 28 sdecl load 29 impl_type call 30 checker_get_generic_declaration_index int 1 29 @@ -173247,8 +173610,8 @@ load 37 struct_params call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L5228 L5229 -label L5228 +brif 40 L5285 L5286 +label L5285 load 41 sdecl call 42 pith_struct_release void 1 41 load 43 struct_params @@ -173265,8 +173628,8 @@ load 53 child_node call 54 pith_struct_release void 1 53 iconst 55 0 ret 55 -label L5229 -label L5227 +label L5286 +label L5284 load 56 instance_tids load 57 checker_struct_instance_tids call 58 pith_list_retain_handle void 1 57 @@ -173278,12 +173641,12 @@ iconst 62 0 store __for_idx_402 62 store __for_len_402 61 store __for_iter_402 60 -label L5230 +label L5287 load 63 __for_idx_402 load 64 __for_len_402 lt 65 63 64 -brif 65 L5231 L5233 -label L5231 +brif 65 L5288 L5290 +label L5288 load 66 __for_iter_402 load 67 __for_idx_402 call 68 pith_list_get_value unknown 2 66 67 @@ -173295,21 +173658,21 @@ load 72 impl_type call 74 pith_cstring_eq bool 2 71 72 iconst 75 1 sub 73 75 74 -brif 73 L5235 L5236 -label L5235 -jmp L5232 -label L5236 -label L5234 +brif 73 L5292 L5293 +label L5292 +jmp L5289 +label L5293 +label L5291 load 76 checker_struct_instance_type_args load 77 __loopvar_402_inst_tid call 78 map_contains_ikey bool 2 76 77 iconst 80 1 sub 79 80 78 -brif 79 L5238 L5239 -label L5238 -jmp L5232 -label L5239 -label L5237 +brif 79 L5295 L5296 +label L5295 +jmp L5289 +label L5296 +label L5294 load 81 arg_tids load 82 checker_struct_instance_type_args load 83 __loopvar_402_inst_tid @@ -173327,12 +173690,12 @@ iconst 92 0 store __for_idx_403 92 store __for_len_403 91 store __for_iter_403 90 -label L5240 +label L5297 load 93 __for_idx_403 load 94 __for_len_403 lt 95 93 94 -brif 95 L5241 L5243 -label L5241 +brif 95 L5298 L5300 +label L5298 load 96 __for_iter_403 load 97 __for_idx_403 call 98 pith_list_get_value unknown 2 96 97 @@ -173341,13 +173704,13 @@ load 99 arg_names load 100 __loopvar_403_at call 101 ir_type_helpers_ir_type_from_tid string 1 100 call 102 pith_list_push_value_owned void 2 99 101 -label L5242 +label L5299 load 103 __for_idx_403 iconst 104 1 add 105 103 104 store __for_idx_403 105 -jmp L5240 -label L5243 +jmp L5297 +label L5300 load 106 instance_type_name load 107 __loopvar_402_inst_tid call 108 types_get_type_name string 1 107 @@ -173360,12 +173723,12 @@ iconst 113 0 store __for_idx_404 113 store __for_len_404 112 store __for_iter_404 111 -label L5244 +label L5301 load 114 __for_idx_404 load 115 __for_len_404 lt 116 114 115 -brif 116 L5245 L5247 -label L5245 +brif 116 L5302 L5304 +label L5302 load 117 __for_iter_404 load 118 __for_idx_404 call 119 pith_list_get_value unknown 2 117 118 @@ -173380,30 +173743,30 @@ field 125 124 0 string kind strref 126 m46s576 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -brif 127 L5249 L5250 -label L5249 +brif 127 L5306 L5307 +label L5306 load 129 child_node load 130 impl_type load 131 instance_type_name load 132 arg_names call 133 ir_method_tables_ir_register_one_specialized_method_name void 4 129 130 131 132 -jmp L5248 -label L5250 -label L5248 -label L5246 +jmp L5305 +label L5307 +label L5305 +label L5303 load 134 __for_idx_404 iconst 135 1 add 136 134 135 store __for_idx_404 136 -jmp L5244 -label L5247 -label L5232 +jmp L5301 +label L5304 +label L5289 load 137 __for_idx_402 iconst 138 1 add 139 137 138 store __for_idx_402 139 -jmp L5230 -label L5233 +jmp L5287 +label L5290 load 140 sdecl call 141 pith_struct_release void 1 140 load 142 struct_params @@ -173453,13 +173816,13 @@ call 8 pith_struct_release void 1 5 store root 7 iconst 9 0 store preload_i 9 -label L5251 +label L5308 load 10 preload_i load 11 ir_emitter_core_ir_preloaded_import_roots call 12 pith_list_len int 1 11 lt 13 10 12 -brif 13 L5252 L5253 -label L5252 +brif 13 L5309 L5310 +label L5309 load 14 ir_emitter_core_ir_preloaded_import_roots load 15 preload_i call 16 pith_list_get_value_strict int 2 14 15 @@ -173472,16 +173835,16 @@ load 22 preload_i iconst 23 1 add 24 22 23 store preload_i 24 -jmp L5251 -label L5253 +jmp L5308 +label L5310 load 25 root_idx call 26 ir_emitter_core_ir_collect_strings void 1 25 load 27 root_idx call 28 ir_emitter_core_ir_collect_struct_field_strings void 1 27 call 29 ir_emitter_core_ir_preseed_result_error_strings void 0 load 30 ir_emitter_core_ir_emit_tests -brif 30 L5255 L5256 -label L5255 +brif 30 L5312 L5313 +label L5312 load 31 root_idx call 32 ir_emitter_core_ir_collect_test_decls list 1 31 call 33 pith_auto_len int 1 32 @@ -173489,12 +173852,12 @@ iconst 34 0 store __for_idx_405 34 store __for_len_405 33 store __for_iter_405 32 -label L5257 +label L5314 load 35 __for_idx_405 load 36 __for_len_405 lt 37 35 36 -brif 37 L5258 L5260 -label L5258 +brif 37 L5315 L5317 +label L5315 load 38 __for_iter_405 load 39 __for_idx_405 call 40 pith_list_get_value unknown 2 38 39 @@ -173506,18 +173869,18 @@ field 44 43 8 string value call 45 ir_builder_ir_str string 1 44 call 46 pith_cstring_release void 1 41 store _name_id 45 -label L5259 +label L5316 load 47 __for_idx_405 iconst 48 1 add 49 47 48 store __for_idx_405 49 -jmp L5257 -label L5260 +jmp L5314 +label L5317 load 50 __for_iter_405 call 51 pith_list_release_handle void 1 50 -jmp L5254 -label L5256 -label L5254 +jmp L5311 +label L5313 +label L5311 call 52 ir_builder_ir_emit_string_table void 0 load 53 root_idx call 54 ir_emitter_core_ir_collect_root_import_metadata void 1 53 diff --git a/self-host/ir_emitter_core.pith b/self-host/ir_emitter_core.pith index 32d330cf..bf7ac501 100644 --- a/self-host/ir_emitter_core.pith +++ b/self-host/ir_emitter_core.pith @@ -874,7 +874,39 @@ fn ir_tuple_record_tid(name: String, val_idx: Int): # tests/cases/test_http2_tls_roundtrip fail valgrind. that turned out to be a # separate ownership bug the leak had been hiding — a channel `try_send` handed # its value to another task without taking a count — and is fixed. -fn ir_tuple_use_is_whitelisted(parent: Node, name: String) -> Bool: +# +# for a RESULT local the extraction forms qualify too. `name.unwrap_or(d)`, +# `name catch d`, and `name!` all classify a named operand as borrowed and +# leave the shell holding the count it was built with: the ok arm hands the +# consumer a freshly retained count (or, for a string payload, a borrow the +# escape site retains), and the err arm keeps the error in the shell. so the +# cleanup path is still the payload's sole owner, exactly like a `.ok` read. +# without these entries an extraction disqualified the local from the cascade +# and the count the shell holds was never released — one heap payload leaked +# per extraction. `is_result` gates them because the OPTIONAL unwrap_or moves +# a borrowed subject's count out to the extracted value instead of retaining +# a new one; cascading such a local would release a count it no longer holds. +fn ir_tuple_use_is_whitelisted(parent: Node, name: String, is_result: Bool) -> Bool: + if is_result and parent.kind == "method_call" and parent.children.len() > 0: + recv := get_node(parent.children[0]) + if recv.kind == "ident" and recv.value == name and ir_plain_method_name(parent.value) == "unwrap_or": + # only the receiver position is safe; the name appearing inside + # the fallback argument is a use the walk must judge on its own + mut ai := 1 + mut arg_mentions := false + while ai < parent.children.len(): + if ir_subtree_mentions_ident(parent.children[ai], name): + arg_mentions = true + ai = ai + 1 + return not arg_mentions + if is_result and parent.kind == "catch_expr" and parent.children.len() > 1: + operand := get_node(parent.children[0]) + if operand.kind == "ident" and operand.value == name: + return not ir_subtree_mentions_ident(parent.children[1], name) + if is_result and parent.kind == "try" and parent.children.len() > 0: + operand := get_node(parent.children[0]) + if operand.kind == "ident" and operand.value == name: + return true if parent.kind == "field_access": # the ident must be the receiver, and the field a flag or payload read if parent.children.len() == 0: @@ -915,7 +947,7 @@ fn ir_subtree_mentions_ident(idx: Int, name: String) -> Bool: # walk the subtree: every occurrence of ident `name` must appear as the child of # a whitelisted parent. any other appearance (bound, returned, passed, unwrapped, # matched, iterated, ...) makes cascade unsafe and returns false. -fn ir_tuple_uses_all_safe(idx: Int, name: String) -> Bool: +fn ir_tuple_uses_all_safe(idx: Int, name: String, is_result: Bool) -> Bool: node := get_node(idx) # a lambda that mentions the local captures the three-slot shell and retains # only that, never the payload behind it. the closure can outlive this @@ -934,12 +966,12 @@ fn ir_tuple_uses_all_safe(idx: Int, name: String) -> Bool: for child_idx in node.children: child := get_node(child_idx) if child.kind == "ident" and child.value == name: - if not ir_tuple_use_is_whitelisted(node, name): + if not ir_tuple_use_is_whitelisted(node, name, is_result): return false # a whitelisted parent consumes this ident safely; its sibling # children are still visited by the loop below else: - if not ir_tuple_uses_all_safe(child_idx, name): + if not ir_tuple_uses_all_safe(child_idx, name, is_result): return false return true @@ -961,8 +993,10 @@ fn ir_tuple_cascade_scan(body_idx: Int): # already in ir_var_regs, which at this point holds exactly the params. if kind == "tuple" and ir_tuple_local_tid.contains_key(name) and not ir_var_regs.contains_key(name): tid := ir_tuple_local_tid[name] - if tid >= 0 and ir_tuple_local_has_rc_payload(tid) and ir_tuple_uses_all_safe(body_idx, name): - ir_tuple_cascade_names.push(name) + if tid >= 0 and ir_tuple_local_has_rc_payload(tid): + is_result := get_type_info(tid).kind == "result" + if ir_tuple_uses_all_safe(body_idx, name, is_result): + ir_tuple_cascade_names.push(name) i = i + 1 # true when a result/optional type holds an rc payload worth cascading: either @@ -3925,6 +3959,14 @@ fn ir_emit_result_unwrap_or(idx: Int, node: Node) -> Int: # (`r.unwrap_or(bytes.empty())`) every ok iteration. this mirrors the # optional unwrap_or, which already defers its default into the none arm. fallback_r := ir_expr(arg_idx) + # consumers treat a heap-kind unwrap_or value as owned and release it, so + # a fallback that arrives borrowed (a named local, a field) needs a count + # of its own here — without one that release strips the owner's count and + # the owner's next use reads freed memory. a string fallback is excluded + # because a string unwrap_or stays classified borrowed (the escape site + # retains), mirroring the ok arm. + if not ir_string_expr_is_borrowed(idx) and ir_string_expr_is_borrowed(arg_idx): + ir_rc_retain_reg(fallback_r, ir_rc_kind(ir_result_field_kind(recv_tid, "ok"))) if operand_class != "borrowed": ir_emit_release_result_error(recv_r, recv_tid) ir_emit_call1(ir_reg(), "pith_struct_release", "void", recv_r) @@ -4377,6 +4419,15 @@ fn ir_emit_typed_receiver_method(idx: Int) -> Int: ir_emit_label(none_l) default_idx := ir_method_call_arg_expr(node, 0) default_r := ir_expr(default_idx) + # consumers treat a heap-kind unwrap_or value as owned and + # release it, so a default that arrives borrowed (a named + # local, a field) needs its own count here — without one that + # release strips the owner's count and the owner's next use + # reads freed memory. strings stay on the borrowed + # classification (the escape site retains), so they are + # excluded. mirrors the result unwrap_or's fallback arm. + if inner_kind.len() > 0 and not ir_string_expr_is_borrowed(idx) and ir_string_expr_is_borrowed(default_idx): + ir_rc_retain_reg(default_r, inner_kind) ir_emit("store " + tmp + " " + default_r.to_string()) ir_emit_label(end_l) if owns_subject: diff --git a/tests/cases/test_unwrap_or_borrowed_fallback.pith b/tests/cases/test_unwrap_or_borrowed_fallback.pith new file mode 100644 index 00000000..2837f5a4 --- /dev/null +++ b/tests/cases/test_unwrap_or_borrowed_fallback.pith @@ -0,0 +1,45 @@ +# `unwrap_or` with a fallback read from a named local. the consumer treats +# a heap-kind unwrap_or value as owned and releases it, so when the err arm +# (or the none arm, for an optional) hands out a borrowed fallback it must +# retain first — without that the consumer's release strips the owner's +# count and the owner's next use reads freed memory. +# +# valgrind-gated in MEMCHECK_CASES with the struct freelist disabled: the +# recycled block makes the totals come out right even after the over-release, +# so only valgrind sees the use-after-free. + +import std.bytes as bytes + +fn make(i: Int) -> Bytes!: + if i % 2 == 1: + fail "odd-" + i.to_string() + return bytes.from_string_utf8("ok-payload-" + i.to_string()) + +fn find(i: Int) -> Bytes?: + if i % 2 == 0: + return none + return bytes.from_string_utf8("found-" + i.to_string()) + +fn result_round(i: Int) -> Int: + fb := bytes.from_string_utf8("result-fallback") + r := make(i) + b := r.unwrap_or(fb) + # the fallback local must still be alive and intact after the + # extraction released its own copy of the value + return b.len() + fb.len() + +fn optional_round(i: Int) -> Int: + fb := bytes.from_string_utf8("optional-fallback") + o := find(i) + b := o.unwrap_or(fb) + return b.len() + fb.len() + +fn main() -> Int: + mut total := 0 + mut i := 0 + while i < 400: + total = total + result_round(i) + total = total + optional_round(i) + i = i + 1 + print("total " + total.to_string()) + return 0 diff --git a/tests/expected/test_unwrap_or_borrowed_fallback.txt b/tests/expected/test_unwrap_or_borrowed_fallback.txt new file mode 100644 index 00000000..3f0e5db6 --- /dev/null +++ b/tests/expected/test_unwrap_or_borrowed_fallback.txt @@ -0,0 +1 @@ +total 23690 diff --git a/tests/leaks/leak_result_extraction.pith b/tests/leaks/leak_result_extraction.pith new file mode 100644 index 00000000..dd387d81 --- /dev/null +++ b/tests/leaks/leak_result_extraction.pith @@ -0,0 +1,43 @@ +# extracting from a result held in a named local. `r.unwrap_or(d)`, +# `r catch d`, and `r!` all classify a named operand as borrowed: the ok +# arm hands the consumer a freshly retained count and leaves the shell +# holding the count it was built with, for the local's cleanup to release. +# these uses must therefore keep the local cascade-eligible — before they +# did, cleanup freed only the three-slot shell and one heap payload (or, +# on the err arm, one heap error string) leaked per extraction. +import std.bytes as bytes +import leakprobe as probe + +fn make_payload(i: Int) -> Bytes!: + if i % 4 == 3: + fail "err-{i}" + return bytes.from_string_utf8("heap-payload-{i}") + +fn via_unwrap_or(i: Int) -> Int: + r := make_payload(i) + b := r.unwrap_or(bytes.empty()) + return b.len() + +fn via_catch(i: Int) -> Int: + r := make_payload(i) + b := r catch bytes.empty() + return b.len() + +fn via_try(i: Int) -> Int!: + r := make_payload(i) + b := r! + return b.len() + +fn churn_round(i: Int): + mut total := via_unwrap_or(i) + total = total + via_catch(i) + total = total + (via_try(i) catch 0) + +fn main(): + n := probe.rounds() + mut i := 0 + while i < n: + churn_round(i) + i = i + 1 + kb := probe.peak_kb() + print("{kb}") diff --git a/tooling/leak_check.sh b/tooling/leak_check.sh index 47285c85..e4543290 100755 --- a/tooling/leak_check.sh +++ b/tooling/leak_check.sh @@ -34,6 +34,7 @@ cases=( tests/leaks/leak_list_transform tests/leaks/leak_fn_value tests/leaks/leak_task_result_payload + tests/leaks/leak_result_extraction ) echo "--- leak growth (${low_rounds} vs ${high_rounds} rounds, limit ${limit_kb}kb) ---"