diff --git a/self-host/bootstrap/ir_driver.ir b/self-host/bootstrap/ir_driver.ir index 2b0d877d..ca630e9a 100644 --- a/self-host/bootstrap/ir_driver.ir +++ b/self-host/bootstrap/ir_driver.ir @@ -144282,506 +144282,609 @@ store callee_node 3 iconst 4 0 store callee 4 iconst 5 0 -store arg_regs 5 +store callee_n 5 iconst 6 0 -store ret_type 6 -load 7 explicit_generic_types -call 8 pith_list_new_cstr list 0 -call 9 pith_list_release_handle void 1 7 -store explicit_generic_types 8 -load 10 node -field 11 10 16 list children -call 12 pith_list_len int 1 11 -iconst 13 0 -gt 14 12 13 -brif 14 L2519 L2520 +store loop_slot 6 +iconst 7 0 +store arg_regs 7 +iconst 8 0 +store ret_type 8 +load 9 explicit_generic_types +call 10 pith_list_new_cstr list 0 +call 11 pith_list_release_handle void 1 9 +store explicit_generic_types 10 +load 12 node +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 -load 15 callee_node -load 16 node -field 17 16 16 list children -iconst 18 0 -call 19 pith_list_get_value_strict int 2 17 18 -call 20 ast_get_node struct:Node 1 19 -call 21 pith_struct_release void 1 15 -store callee_node 20 -load 22 callee_node -field 23 22 0 string kind -strref 24 m46s35 -call 25 pith_cstring_eq bool 2 23 24 -call 26 pith_cstring_release void 1 24 -brif 25 L2522 L2523 +load 17 callee_node +load 18 node +field 19 18 16 list children +iconst 20 0 +call 21 pith_list_get_value_strict int 2 19 20 +call 22 ast_get_node struct:Node 1 21 +call 23 pith_struct_release void 1 17 +store callee_node 22 +load 24 callee_node +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 -load 27 idx -load 28 node -load 29 node -field 30 29 16 list children -iconst 31 0 -call 32 pith_list_get_value_strict int 2 30 31 -load 33 callee_node -call 34 ir_emitter_core_ir_emit_index_decode_call int 4 27 28 32 33 -store special_r 34 -load 35 special_r -iconst 36 0 -gte 37 35 36 -brif 37 L2525 L2526 +load 29 idx +load 30 node +load 31 node +field 32 31 16 list children +iconst 33 0 +call 34 pith_list_get_value_strict int 2 32 33 +load 35 callee_node +call 36 ir_emitter_core_ir_emit_index_decode_call int 4 29 30 34 35 +store special_r 36 +load 37 special_r +iconst 38 0 +gte 39 37 38 +brif 39 L2525 L2526 label L2525 -load 38 special_r -load 39 explicit_generic_types -call 40 pith_list_release_handle void 1 39 -load 41 callee_node -call 42 pith_struct_release void 1 41 -load 43 callee +load 40 special_r +load 41 explicit_generic_types +call 42 pith_list_release_handle void 1 41 +load 43 callee_node call 44 pith_struct_release void 1 43 -load 45 arg_regs -call 46 pith_list_release_handle void 1 45 -load 47 ret_type -call 48 pith_cstring_release void 1 47 -ret 38 +load 45 callee +call 46 pith_struct_release void 1 45 +load 47 callee_n +call 48 pith_struct_release void 1 47 +load 49 loop_slot +call 50 pith_cstring_release void 1 49 +load 51 arg_regs +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 -load 49 explicit_generic_types -load 50 callee_node -call 51 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 50 -call 52 pith_list_release_handle void 1 49 -store explicit_generic_types 51 +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 -load 53 node -field 54 53 16 list children -iconst 55 0 -call 56 pith_list_get_value_strict int 2 54 55 -load 57 callee_node -call 58 ir_emitter_core_ir_callee_is_function_expr bool 2 56 57 -brif 58 L2528 L2529 +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 -load 59 idx -load 60 node -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_emit_indirect_expr_call int 3 59 60 64 -load 66 explicit_generic_types -call 67 pith_list_release_handle void 1 66 -load 68 callee_node -call 69 pith_struct_release void 1 68 -load 70 callee -call 71 pith_struct_release void 1 70 -load 72 arg_regs +load 65 idx +load 66 node +load 67 node +field 68 67 16 list children +iconst 69 0 +call 70 pith_list_get_value_strict int 2 68 69 +call 71 ir_emitter_core_ir_emit_indirect_expr_call int 3 65 66 70 +load 72 explicit_generic_types call 73 pith_list_release_handle void 1 72 -load 74 ret_type -call 75 pith_cstring_release void 1 74 -ret 65 +load 74 callee_node +call 75 pith_struct_release void 1 74 +load 76 callee +call 77 pith_struct_release void 1 76 +load 78 callee_n +call 79 pith_struct_release void 1 78 +load 80 loop_slot +call 81 pith_cstring_release void 1 80 +load 82 arg_regs +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 -load 76 callee -strref 77 m46s822 -iconst 78 0 -iconst 80 2 -call 79 pith_struct_alloc struct:ResolvedCallee 1 80 -sstore 79 0 77 -sstore 79 1 78 -funcref 81 ir_emitter_core___dtor_ResolvedCallee -call 82 pith_struct_set_dtor void 2 79 81 -call 83 pith_struct_release void 1 76 -store callee 79 -load 84 node -field 85 84 16 list children -call 86 pith_list_len int 1 85 -iconst 87 0 -gt 88 86 87 -brif 88 L2531 L2532 +load 86 callee +strref 87 m46s822 +iconst 88 0 +iconst 90 2 +call 89 pith_struct_alloc struct:ResolvedCallee 1 90 +sstore 89 0 87 +sstore 89 1 88 +funcref 91 ir_emitter_core___dtor_ResolvedCallee +call 92 pith_struct_set_dtor void 2 89 91 +call 93 pith_struct_release void 1 86 +store callee 89 +load 94 node +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 -load 89 callee -load 90 node -field 91 90 16 list children -iconst 92 0 -call 93 pith_list_get_value_strict int 2 91 92 -call 94 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 93 -call 95 pith_struct_release void 1 89 -store callee 94 -load 96 callee -field 97 96 0 string name -call 98 string_len int 1 97 -iconst 99 0 -eq 100 98 99 -brif 100 L2534 L2535 -label L2534 -load 101 callee -strref 102 m46s822 -iconst 103 0 -iconst 105 2 -call 104 pith_struct_alloc struct:ResolvedCallee 1 105 -sstore 104 0 102 -sstore 104 1 103 -funcref 106 ir_emitter_core___dtor_ResolvedCallee -call 107 pith_struct_set_dtor void 2 104 106 -call 108 pith_struct_release void 1 101 +load 99 callee +load 100 node +field 101 100 16 list children +iconst 102 0 +call 103 pith_list_get_value_strict int 2 101 102 +call 104 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 103 +call 105 pith_struct_release void 1 99 store callee 104 +load 106 callee +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 +load 111 callee +strref 112 m46s822 +iconst 113 0 +iconst 115 2 +call 114 pith_struct_alloc struct:ResolvedCallee 1 115 +sstore 114 0 112 +sstore 114 1 113 +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 L2530 -label L2532 -label L2530 -iconst 109 0 -store __and_109_2539 109 -load 110 callee -field 111 110 0 string name -strref 112 m46s1240 -call 113 pith_cstring_eq bool 2 111 112 -call 114 pith_cstring_release void 1 112 -store __and_109_2539 113 -brif 113 L2539 L2540 +load 119 callee_n +load 120 node +field 121 120 16 list children +iconst 122 0 +call 123 pith_list_get_value_strict int 2 121 122 +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 +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 -load 115 node -field 116 115 16 list children -call 117 pith_list_len int 1 116 -iconst 118 2 -gte 119 117 118 -store __and_109_2539 119 +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 120 __and_109_2539 -brif 120 L2537 L2538 +load 137 __and_126_2539 +brif 137 L2537 L2538 label L2537 -load 121 node -field 122 121 16 list children -iconst 123 1 -call 124 pith_list_get_value_strict int 2 122 123 -call 125 ir_call_helpers_ir_call_arg_expr_index int 1 124 -call 126 ir_emitter_core_ir_emit_byte_operand int 1 125 -store byte_r 126 -load 127 byte_r -iconst 128 0 -gte 129 127 128 -brif 129 L2542 L2543 +load 138 loop_slot +load 139 callee +field 140 139 0 string name +call 141 ir_emitter_core_ir_loop_var_slot string 1 140 +call 142 pith_cstring_release void 1 138 +store loop_slot 141 +load 143 loop_slot +call 144 string_len int 1 143 +iconst 145 0 +gt 146 144 145 +brif 146 L2542 L2543 label L2542 -load 130 byte_r -load 131 explicit_generic_types -call 132 pith_list_release_handle void 1 131 -load 133 callee_node -call 134 pith_struct_release void 1 133 -load 135 callee -call 136 pith_struct_release void 1 135 -load 137 arg_regs -call 138 pith_list_release_handle void 1 137 -load 139 ret_type -call 140 pith_cstring_release void 1 139 -ret 130 +load 147 callee +load 148 loop_slot +call 149 pith_cstring_retain void 1 148 +load 150 callee +field 151 150 8 bool imported +iconst 153 2 +call 152 pith_struct_alloc struct:ResolvedCallee 1 153 +sstore 152 0 148 +sstore 152 1 151 +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 -load 141 idx -load 142 node -load 143 callee -field 144 143 0 string name -call 145 ir_emitter_core_ir_emit_higher_order_list_call int 3 141 142 144 -store higher_order_r 145 -load 146 higher_order_r -iconst 147 0 -gte 148 146 147 -brif 148 L2545 L2546 -label L2545 -load 149 higher_order_r -load 150 explicit_generic_types -call 151 pith_list_release_handle void 1 150 -load 152 callee_node -call 153 pith_struct_release void 1 152 -load 154 callee -call 155 pith_struct_release void 1 154 -load 156 arg_regs -call 157 pith_list_release_handle void 1 156 -load 158 ret_type -call 159 pith_cstring_release void 1 158 -ret 149 -label L2546 -label L2544 -load 160 idx -load 161 node -load 162 callee -field 163 162 0 string name -call 164 ir_emitter_core_ir_static_struct_init_call int 3 160 161 163 -store struct_r 164 -load 165 struct_r -iconst 166 0 +jmp L2530 +label L2532 +label L2530 +iconst 157 0 +store __and_157_2547 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 +load 163 node +field 164 163 16 list children +call 165 pith_list_len int 1 164 +iconst 166 2 gte 167 165 166 -brif 167 L2548 L2549 +store __and_157_2547 167 label L2548 -load 168 struct_r -load 169 explicit_generic_types -call 170 pith_list_release_handle void 1 169 -load 171 callee_node -call 172 pith_struct_release void 1 171 -load 173 callee -call 174 pith_struct_release void 1 173 -load 175 arg_regs -call 176 pith_list_release_handle void 1 175 -load 177 ret_type -call 178 pith_cstring_release void 1 177 -ret 168 +load 168 __and_157_2547 +brif 168 L2545 L2546 +label L2545 +load 169 node +field 170 169 16 list children +iconst 171 1 +call 172 pith_list_get_value_strict int 2 170 171 +call 173 ir_call_helpers_ir_call_arg_expr_index int 1 172 +call 174 ir_emitter_core_ir_emit_byte_operand int 1 173 +store byte_r 174 +load 175 byte_r +iconst 176 0 +gte 177 175 176 +brif 177 L2550 L2551 +label L2550 +load 178 byte_r +load 179 explicit_generic_types +call 180 pith_list_release_handle void 1 179 +load 181 callee_node +call 182 pith_struct_release void 1 181 +load 183 callee +call 184 pith_struct_release void 1 183 +load 185 callee_n +call 186 pith_struct_release void 1 185 +load 187 loop_slot +call 188 pith_cstring_release void 1 187 +load 189 arg_regs +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 -label L2547 -load 179 callee -load 180 idx -load 181 node -load 182 callee -load 183 explicit_generic_types -call 184 ir_emitter_core_ir_specialize_static_callee struct:ResolvedCallee 4 180 181 182 183 -call 185 pith_struct_release void 1 179 -store callee 184 -load 186 arg_regs -load 187 node -iconst 188 1 -call 189 ir_emitter_core_ir_collect_call_arg_regs list 2 187 188 -call 190 pith_list_release_handle void 1 186 -store arg_regs 189 -iconst 191 0 -store __and_191_2553 191 -load 192 callee -field 193 192 0 string name -strref 194 m46s323 -call 195 pith_cstring_eq bool 2 193 194 -call 196 pith_cstring_release void 1 194 -store __and_191_2553 195 -brif 195 L2553 L2554 -label L2553 -load 197 arg_regs -call 198 pith_list_len int 1 197 +jmp L2544 +label L2546 +label L2544 +load 193 idx +load 194 node +load 195 callee +field 196 195 0 string name +call 197 ir_emitter_core_ir_emit_higher_order_list_call int 3 193 194 196 +store higher_order_r 197 +load 198 higher_order_r iconst 199 0 -eq 200 198 199 -store __and_191_2553 200 +gte 200 198 199 +brif 200 L2553 L2554 +label L2553 +load 201 higher_order_r +load 202 explicit_generic_types +call 203 pith_list_release_handle void 1 202 +load 204 callee_node +call 205 pith_struct_release void 1 204 +load 206 callee +call 207 pith_struct_release void 1 206 +load 208 callee_n +call 209 pith_struct_release void 1 208 +load 210 loop_slot +call 211 pith_cstring_release void 1 210 +load 212 arg_regs +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 -load 201 __and_191_2553 -brif 201 L2551 L2552 -label L2551 -call 202 ir_builder_ir_reg int 0 -store zero_r 202 -strref 203 m46s832 -load 204 zero_r -call 205 int_to_string string 1 204 -concat 206 203 205 -call 207 pith_cstring_release void 1 203 -call 208 pith_cstring_release void 1 205 -strref 209 m46s831 -concat 210 206 209 -call 211 pith_cstring_release void 1 206 -call 212 pith_cstring_release void 1 209 -call 213 ir_builder_ir_emit void 1 210 -call 214 pith_cstring_release void 1 210 -load 215 arg_regs -load 216 zero_r -call 217 pith_list_push_value void 2 215 216 -jmp L2550 label L2552 -label L2550 -iconst 218 0 -store __and_218_2558 218 -iconst 219 0 -store __and_219_2558 219 -load 220 ir_emitter_core_ir_emit_tests -store __and_219_2558 220 -brif 220 L2558 L2559 -label L2558 -load 221 callee -field 222 221 0 string name -strref 223 m46s1239 -call 224 pith_cstring_eq bool 2 222 223 -call 225 pith_cstring_release void 1 223 -store __and_219_2558 224 -label L2559 -load 226 __and_219_2558 -store __and_218_2558 226 -brif 226 L2560 L2561 -label L2560 -load 227 arg_regs -call 228 pith_list_len int 1 227 -iconst 229 1 -gte 230 228 229 -store __and_218_2558 230 -label L2561 -load 231 __and_218_2558 -brif 231 L2556 L2557 +load 216 idx +load 217 node +load 218 callee +field 219 218 0 string name +call 220 ir_emitter_core_ir_static_struct_init_call int 3 216 217 219 +store struct_r 220 +load 221 struct_r +iconst 222 0 +gte 223 221 222 +brif 223 L2556 L2557 label L2556 -load 232 arg_regs -call 233 ir_emitter_core_ir_emit_test_assert int 1 232 -load 234 explicit_generic_types -call 235 pith_list_release_handle void 1 234 -load 236 callee_node -call 237 pith_struct_release void 1 236 -load 238 callee -call 239 pith_struct_release void 1 238 -load 240 arg_regs -call 241 pith_list_release_handle void 1 240 -load 242 ret_type -call 243 pith_cstring_release void 1 242 -ret 233 +load 224 struct_r +load 225 explicit_generic_types +call 226 pith_list_release_handle void 1 225 +load 227 callee_node +call 228 pith_struct_release void 1 227 +load 229 callee +call 230 pith_struct_release void 1 229 +load 231 callee_n +call 232 pith_struct_release void 1 231 +load 233 loop_slot +call 234 pith_cstring_release void 1 233 +load 235 arg_regs +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 -iconst 244 0 -store __and_244_2565 244 -iconst 245 0 -store __and_245_2565 245 -load 246 ir_emitter_core_ir_emit_tests -store __and_245_2565 246 -brif 246 L2565 L2566 -label L2565 -load 247 callee -field 248 247 0 string name -strref 249 m46s387 -call 250 pith_cstring_eq bool 2 248 249 -call 251 pith_cstring_release void 1 249 -store __and_245_2565 250 +load 239 callee +load 240 idx +load 241 node +load 242 callee +load 243 explicit_generic_types +call 244 ir_emitter_core_ir_specialize_static_callee struct:ResolvedCallee 4 240 241 242 243 +call 245 pith_struct_release void 1 239 +store callee 244 +load 246 arg_regs +load 247 node +iconst 248 1 +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 +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 +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 +call 262 ir_builder_ir_reg int 0 +store zero_r 262 +strref 263 m46s832 +load 264 zero_r +call 265 int_to_string string 1 264 +concat 266 263 265 +call 267 pith_cstring_release void 1 263 +call 268 pith_cstring_release void 1 265 +strref 269 m46s831 +concat 270 266 269 +call 271 pith_cstring_release void 1 266 +call 272 pith_cstring_release void 1 269 +call 273 ir_builder_ir_emit void 1 270 +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 +iconst 278 0 +store __and_278_2566 278 +iconst 279 0 +store __and_279_2566 279 +load 280 ir_emitter_core_ir_emit_tests +store __and_279_2566 280 +brif 280 L2566 L2567 label L2566 -load 252 __and_245_2565 -store __and_244_2565 252 -brif 252 L2567 L2568 +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 253 arg_regs -call 254 pith_list_len int 1 253 -iconst 255 2 -gte 256 254 255 -store __and_244_2565 256 +load 286 __and_279_2566 +store __and_278_2566 286 +brif 286 L2568 L2569 label L2568 -load 257 __and_244_2565 -brif 257 L2563 L2564 -label L2563 -load 258 node -load 259 arg_regs -call 260 ir_emitter_core_ir_emit_test_assert_eq int 2 258 259 -load 261 explicit_generic_types -call 262 pith_list_release_handle void 1 261 -load 263 callee_node -call 264 pith_struct_release void 1 263 -load 265 callee -call 266 pith_struct_release void 1 265 -load 267 arg_regs -call 268 pith_list_release_handle void 1 267 -load 269 ret_type -call 270 pith_cstring_release void 1 269 -ret 260 -label L2564 -label L2562 -call 271 ir_builder_ir_reg int 0 -store r 271 -load 272 callee -load 273 idx -call 274 ir_emitter_core_ir_callee_uses_result_abi bool 2 272 273 -store uses_result_abi 274 -load 275 ret_type -load 276 idx -load 277 uses_result_abi -load 278 callee -field 279 278 0 string name -call 280 ir_emitter_core_ir_call_retkind_for_name string 3 276 277 279 -call 281 pith_cstring_release void 1 275 -store ret_type 280 -load 282 r -load 283 callee -field 284 283 0 string name -load 285 ret_type -load 286 arg_regs -call 287 pith_list_len int 1 286 -load 288 arg_regs -call 289 ir_call_helpers_ir_join_arg_regs string 1 288 -call 290 ir_call_emit_ir_emit_call_text void 5 282 284 285 287 289 -call 291 pith_cstring_release void 1 289 -load 292 node -load 293 ret_type -load 294 r -load 295 arg_regs -call 296 ir_emitter_core_ir_attach_generic_construction_dtor void 4 292 293 294 295 -load 297 node -call 298 ir_emitter_core_ir_is_generic_struct_construction_call bool 1 297 -iconst 300 1 -sub 299 300 298 -brif 299 L2570 L2571 -label L2570 -load 301 node -iconst 302 1 -load 303 arg_regs -call 304 ir_emitter_core_ir_release_owned_string_args void 3 301 302 303 -jmp L2569 -label L2571 +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 -iconst 305 0 -store __and_305_2575 305 -iconst 306 0 -store __and_306_2575 306 -load 307 uses_result_abi -store __and_306_2575 307 -brif 307 L2575 L2576 +load 291 __and_278_2566 +brif 291 L2564 L2565 +label L2564 +load 292 arg_regs +call 293 ir_emitter_core_ir_emit_test_assert int 1 292 +load 294 explicit_generic_types +call 295 pith_list_release_handle void 1 294 +load 296 callee_node +call 297 pith_struct_release void 1 296 +load 298 callee +call 299 pith_struct_release void 1 298 +load 300 callee_n +call 301 pith_struct_release void 1 300 +load 302 loop_slot +call 303 pith_cstring_release void 1 302 +load 304 arg_regs +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 +iconst 308 0 +store __and_308_2573 308 +iconst 309 0 +store __and_309_2573 309 +load 310 ir_emitter_core_ir_emit_tests +store __and_309_2573 310 +brif 310 L2573 L2574 +label L2573 +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 -load 308 ret_type -strref 309 m46s23 -call 311 pith_cstring_eq bool 2 308 309 -iconst 312 1 -sub 310 312 311 -call 313 pith_cstring_release void 1 309 -store __and_306_2575 310 +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 314 __and_306_2575 -store __and_305_2575 314 -brif 314 L2577 L2578 -label L2577 -load 315 idx -call 316 ir_type_helpers_ir_checked_result_kind string 1 315 -strref 317 m46s23 -call 318 pith_cstring_eq bool 2 316 317 -call 319 pith_cstring_release void 1 316 -call 320 pith_cstring_release void 1 317 -store __and_305_2575 318 -label L2578 -load 321 __and_305_2575 -brif 321 L2573 L2574 -label L2573 -load 322 r -load 323 ret_type -load 324 callee -field 325 324 0 string name -call 326 ir_emitter_core_ir_emit_wrapped_legacy_result int 3 322 323 325 -load 327 explicit_generic_types -call 328 pith_list_release_handle void 1 327 -load 329 callee_node +load 321 __and_308_2573 +brif 321 L2571 L2572 +label L2571 +load 322 node +load 323 arg_regs +call 324 ir_emitter_core_ir_emit_test_assert_eq int 2 322 323 +load 325 explicit_generic_types +call 326 pith_list_release_handle void 1 325 +load 327 callee_node +call 328 pith_struct_release void 1 327 +load 329 callee call 330 pith_struct_release void 1 329 -load 331 callee +load 331 callee_n call 332 pith_struct_release void 1 331 -load 333 arg_regs -call 334 pith_list_release_handle void 1 333 -load 335 ret_type -call 336 pith_cstring_release void 1 335 -ret 326 -label L2574 +load 333 loop_slot +call 334 pith_cstring_release void 1 333 +load 335 arg_regs +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 -load 337 r -load 338 explicit_generic_types -call 339 pith_list_release_handle void 1 338 -load 340 callee_node -call 341 pith_struct_release void 1 340 -load 342 callee -call 343 pith_struct_release void 1 342 -load 344 arg_regs -call 345 pith_list_release_handle void 1 344 -load 346 ret_type -call 347 pith_cstring_release void 1 346 -ret 337 -load 348 explicit_generic_types -call 349 pith_list_release_handle void 1 348 -load 350 callee_node -call 351 pith_struct_release void 1 350 -load 352 callee -call 353 pith_struct_release void 1 352 +label L2570 +call 339 ir_builder_ir_reg int 0 +store r 339 +load 340 callee +load 341 idx +call 342 ir_emitter_core_ir_callee_uses_result_abi bool 2 340 341 +store uses_result_abi 342 +load 343 ret_type +load 344 idx +load 345 uses_result_abi +load 346 callee +field 347 346 0 string name +call 348 ir_emitter_core_ir_call_retkind_for_name string 3 344 345 347 +call 349 pith_cstring_release void 1 343 +store ret_type 348 +load 350 r +load 351 callee +field 352 351 0 string name +load 353 ret_type load 354 arg_regs -call 355 pith_list_release_handle void 1 354 -load 356 ret_type -call 357 pith_cstring_release void 1 356 -iconst 358 0 -ret 358 +call 355 pith_list_len int 1 354 +load 356 arg_regs +call 357 ir_call_helpers_ir_join_arg_regs string 1 356 +call 358 ir_call_emit_ir_emit_call_text void 5 350 352 353 355 357 +call 359 pith_cstring_release void 1 357 +load 360 node +load 361 ret_type +load 362 r +load 363 arg_regs +call 364 ir_emitter_core_ir_attach_generic_construction_dtor void 4 360 361 362 363 +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 +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 +iconst 373 0 +store __and_373_2583 373 +iconst 374 0 +store __and_374_2583 374 +load 375 uses_result_abi +store __and_374_2583 375 +brif 375 L2583 L2584 +label L2583 +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 +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 +load 390 r +load 391 ret_type +load 392 callee +field 393 392 0 string name +call 394 ir_emitter_core_ir_emit_wrapped_legacy_result int 3 390 391 393 +load 395 explicit_generic_types +call 396 pith_list_release_handle void 1 395 +load 397 callee_node +call 398 pith_struct_release void 1 397 +load 399 callee +call 400 pith_struct_release void 1 399 +load 401 callee_n +call 402 pith_struct_release void 1 401 +load 403 loop_slot +call 404 pith_cstring_release void 1 403 +load 405 arg_regs +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 +load 409 r +load 410 explicit_generic_types +call 411 pith_list_release_handle void 1 410 +load 412 callee_node +call 413 pith_struct_release void 1 412 +load 414 callee +call 415 pith_struct_release void 1 414 +load 416 callee_n +call 417 pith_struct_release void 1 416 +load 418 loop_slot +call 419 pith_cstring_release void 1 418 +load 420 arg_regs +call 421 pith_list_release_handle void 1 420 +load 422 ret_type +call 423 pith_cstring_release void 1 422 +ret 409 +load 424 explicit_generic_types +call 425 pith_list_release_handle void 1 424 +load 426 callee_node +call 427 pith_struct_release void 1 426 +load 428 callee +call 429 pith_struct_release void 1 428 +load 430 callee_n +call 431 pith_struct_release void 1 430 +load 432 loop_slot +call 433 pith_cstring_release void 1 432 +load 434 arg_regs +call 435 pith_list_release_handle void 1 434 +load 436 ret_type +call 437 pith_cstring_release void 1 436 +iconst 438 0 +ret 438 endfunc func ir_emitter_core_ir_emit_map_entry_insert 4 void param map_r @@ -144789,7 +144892,7 @@ param has_int_keys param entry param val_target iconst 4 0 -store __or_4_2582 4 +store __or_4_2590 4 load 5 entry field 6 5 0 string kind strref 7 m46s62 @@ -144797,23 +144900,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_2582 8 -brif 8 L2583 L2582 -label L2582 +store __or_4_2590 8 +brif 8 L2591 L2590 +label L2590 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_2582 16 -label L2583 -load 17 __or_4_2582 -brif 17 L2580 L2581 -label L2580 +store __or_4_2590 16 +label L2591 +load 17 __or_4_2590 +brif 17 L2588 L2589 +label L2588 iconst 18 0 ret 18 -label L2581 -label L2579 +label L2589 +label L2587 load 19 entry field 20 19 16 list children iconst 21 0 @@ -144828,8 +144931,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 L2585 L2586 -label L2585 +brif 30 L2593 L2594 +label L2593 call 31 ir_builder_ir_reg int 0 strref 32 m46s694 strref 33 m46s828 @@ -144839,8 +144942,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 L2584 -label L2586 +jmp L2592 +label L2594 call 40 ir_builder_ir_reg int 0 strref 41 m46s693 strref 42 m46s828 @@ -144850,7 +144953,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 L2584 +label L2592 iconst 49 0 ret 49 endfunc @@ -144878,44 +144981,44 @@ store tid 12 load 13 tid iconst 14 0 gte 15 13 14 -brif 15 L2588 L2589 -label L2588 +brif 15 L2596 L2597 +label L2596 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_2593 20 +store __and_20_2601 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_2593 24 -brif 24 L2593 L2594 -label L2593 +store __and_20_2601 24 +brif 24 L2601 L2602 +label L2601 load 26 info field 27 26 80 int value_type iconst 28 0 gte 29 27 28 -store __and_20_2593 29 -label L2594 -load 30 __and_20_2593 -brif 30 L2591 L2592 -label L2591 +store __and_20_2601 29 +label L2602 +load 30 __and_20_2601 +brif 30 L2599 L2600 +label L2599 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 L2590 -label L2592 -label L2590 -jmp L2587 -label L2589 -label L2587 +jmp L2598 +label L2600 +label L2598 +jmp L2595 +label L2597 +label L2595 iconst 36 0 store val_is_string 36 load 37 node @@ -144923,8 +145026,8 @@ field 38 37 16 list children call 39 pith_list_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L2596 L2597 -label L2596 +brif 41 L2604 L2605 +label L2604 load 42 entry0 load 43 node field 44 43 16 list children @@ -144934,25 +145037,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_2601 49 +store __and_49_2609 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_2601 53 -brif 53 L2601 L2602 -label L2601 +store __and_49_2609 53 +brif 53 L2609 L2610 +label L2609 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_2601 59 -label L2602 -load 60 __and_49_2601 -brif 60 L2599 L2600 -label L2599 +store __and_49_2609 59 +label L2610 +load 60 __and_49_2609 +brif 60 L2607 L2608 +label L2607 load 61 entry0 field 62 61 16 list children iconst 63 1 @@ -144963,53 +145066,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 L2598 -label L2600 -label L2598 -jmp L2595 -label L2597 -label L2595 +jmp L2606 +label L2608 +label L2606 +jmp L2603 +label L2605 +label L2603 load 70 has_int_keys -brif 70 L2604 L2605 -label L2604 +brif 70 L2612 L2613 +label L2612 load 71 val_is_string -brif 71 L2607 L2608 -label L2607 +brif 71 L2615 L2616 +label L2615 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 L2606 -label L2608 +jmp L2614 +label L2616 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 L2606 -jmp L2603 -label L2605 +label L2614 +jmp L2611 +label L2613 load 84 val_is_string -brif 84 L2609 L2610 -label L2609 +brif 84 L2617 L2618 +label L2617 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 L2603 -label L2610 +jmp L2611 +label L2618 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 L2603 +label L2611 load 97 node field 98 97 16 list children call 99 pith_auto_len int 1 98 @@ -145017,12 +145120,12 @@ iconst 100 0 store __for_idx_337 100 store __for_len_337 99 store __for_iter_337 98 -label L2611 +label L2619 load 101 __for_idx_337 load 102 __for_len_337 lt 103 101 102 -brif 103 L2612 L2614 -label L2612 +brif 103 L2620 L2622 +label L2620 load 104 __for_iter_337 load 105 __for_idx_337 call 106 pith_list_get_value unknown 2 104 105 @@ -145034,13 +145137,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 L2613 +label L2621 load 114 __for_idx_337 iconst 115 1 add 116 114 115 store __for_idx_337 116 -jmp L2611 -label L2614 +jmp L2619 +label L2622 load 117 map_r load 118 val_target call 119 pith_cstring_release void 1 118 @@ -145080,31 +145183,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_2618 15 +store __or_15_2626 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_2618 18 -brif 18 L2619 L2618 -label L2618 +store __or_15_2626 18 +brif 18 L2627 L2626 +label L2626 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_2618 22 -label L2619 -load 24 __or_15_2618 -brif 24 L2616 L2617 -label L2616 +store __or_15_2626 22 +label L2627 +load 24 __or_15_2626 +brif 24 L2624 L2625 +label L2624 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 L2615 -label L2617 -label L2615 +jmp L2623 +label L2625 +label L2623 load 29 set_r load 30 literal_type call 31 ir_collection_helpers_ir_set_new_name string 1 30 @@ -145118,12 +145221,12 @@ iconst 38 0 store __for_idx_338 38 store __for_len_338 37 store __for_iter_338 36 -label L2620 +label L2628 load 39 __for_idx_338 load 40 __for_len_338 lt 41 39 40 -brif 41 L2621 L2623 -label L2621 +brif 41 L2629 L2631 +label L2629 load 42 __for_iter_338 load 43 __for_idx_338 call 44 pith_list_get_value unknown 2 42 43 @@ -145140,13 +145243,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 L2622 +label L2630 load 56 __for_idx_338 iconst 57 1 add 58 56 57 store __for_idx_338 58 -jmp L2620 -label L2623 +jmp L2628 +label L2631 load 59 set_r load 60 literal_type call 61 pith_cstring_release void 1 60 @@ -145163,57 +145266,57 @@ endfunc func ir_emitter_core_ir_is_list_store_name 1 bool param emit_name iconst 1 0 -store __or_1_2624 1 +store __or_1_2632 1 iconst 2 0 -store __or_2_2624 2 +store __or_2_2632 2 iconst 3 0 -store __or_3_2624 3 +store __or_3_2632 3 iconst 4 0 -store __or_4_2624 4 +store __or_4_2632 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_2624 7 -brif 7 L2625 L2624 -label L2624 +store __or_4_2632 7 +brif 7 L2633 L2632 +label L2632 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_2624 11 -label L2625 -load 13 __or_4_2624 -store __or_3_2624 13 -brif 13 L2627 L2626 -label L2626 +store __or_4_2632 11 +label L2633 +load 13 __or_4_2632 +store __or_3_2632 13 +brif 13 L2635 L2634 +label L2634 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_2624 16 -label L2627 -load 18 __or_3_2624 -store __or_2_2624 18 -brif 18 L2629 L2628 -label L2628 +store __or_3_2632 16 +label L2635 +load 18 __or_3_2632 +store __or_2_2632 18 +brif 18 L2637 L2636 +label L2636 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_2624 21 -label L2629 -load 23 __or_2_2624 -store __or_1_2624 23 -brif 23 L2631 L2630 -label L2630 +store __or_2_2632 21 +label L2637 +load 23 __or_2_2632 +store __or_1_2632 23 +brif 23 L2639 L2638 +label L2638 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_2624 26 -label L2631 -load 28 __or_1_2624 +store __or_1_2632 26 +label L2639 +load 28 __or_1_2632 ret 28 iconst 29 0 ret 29 @@ -145223,80 +145326,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 L2633 L2634 -label L2633 +brif 3 L2641 L2642 +label L2641 load 4 store_kind call 5 string_len int 1 4 iconst 6 0 gt 7 5 6 ret 7 -label L2634 -label L2632 +label L2642 +label L2640 iconst 8 0 -store __or_8_2638 8 +store __or_8_2646 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_2638 11 -brif 11 L2639 L2638 -label L2638 +store __or_8_2646 11 +brif 11 L2647 L2646 +label L2646 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_2638 15 -label L2639 -load 17 __or_8_2638 -brif 17 L2636 L2637 -label L2636 +store __or_8_2646 15 +label L2647 +load 17 __or_8_2646 +brif 17 L2644 L2645 +label L2644 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 L2637 -label L2635 +label L2645 +label L2643 iconst 22 0 -store __or_22_2640 22 +store __or_22_2648 22 iconst 23 0 -store __or_23_2640 23 +store __or_23_2648 23 iconst 24 0 -store __or_24_2640 24 +store __or_24_2648 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_2640 27 -brif 27 L2641 L2640 -label L2640 +store __or_24_2648 27 +brif 27 L2649 L2648 +label L2648 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_2640 31 -label L2641 -load 33 __or_24_2640 -store __or_23_2640 33 -brif 33 L2643 L2642 -label L2642 +store __or_24_2648 31 +label L2649 +load 33 __or_24_2648 +store __or_23_2648 33 +brif 33 L2651 L2650 +label L2650 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_2640 36 -label L2643 -load 38 __or_23_2640 -store __or_22_2640 38 -brif 38 L2645 L2644 -label L2644 +store __or_23_2648 36 +label L2651 +load 38 __or_23_2648 +store __or_22_2648 38 +brif 38 L2653 L2652 +label L2652 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_2640 41 -label L2645 -load 43 __or_22_2640 +store __or_22_2648 41 +label L2653 +load 43 __or_22_2648 ret 43 iconst 44 0 ret 44 @@ -145304,77 +145407,77 @@ endfunc func ir_emitter_core_ir_container_store_takes_count 1 bool param store_kind iconst 1 0 -store __or_1_2649 1 +store __or_1_2657 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_2649 4 -brif 4 L2650 L2649 -label L2649 +store __or_1_2657 4 +brif 4 L2658 L2657 +label L2657 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_2649 8 -label L2650 -load 10 __or_1_2649 -brif 10 L2647 L2648 -label L2647 +store __or_1_2657 8 +label L2658 +load 10 __or_1_2657 +brif 10 L2655 L2656 +label L2655 iconst 11 1 ret 11 -label L2648 -label L2646 +label L2656 +label L2654 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 L2652 L2653 -label L2652 +brif 14 L2660 L2661 +label L2660 iconst 16 1 ret 16 -label L2653 -label L2651 +label L2661 +label L2659 iconst 17 0 -store __or_17_2654 17 +store __or_17_2662 17 iconst 18 0 -store __or_18_2654 18 +store __or_18_2662 18 iconst 19 0 -store __or_19_2654 19 +store __or_19_2662 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_2654 22 -brif 22 L2655 L2654 -label L2654 +store __or_19_2662 22 +brif 22 L2663 L2662 +label L2662 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_2654 26 -label L2655 -load 28 __or_19_2654 -store __or_18_2654 28 -brif 28 L2657 L2656 -label L2656 +store __or_19_2662 26 +label L2663 +load 28 __or_19_2662 +store __or_18_2662 28 +brif 28 L2665 L2664 +label L2664 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_2654 31 -label L2657 -load 33 __or_18_2654 -store __or_17_2654 33 -brif 33 L2659 L2658 -label L2658 +store __or_18_2662 31 +label L2665 +load 33 __or_18_2662 +store __or_17_2662 33 +brif 33 L2667 L2666 +label L2666 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_2654 36 -label L2659 -load 38 __or_17_2654 +store __or_17_2662 36 +label L2667 +load 38 __or_17_2662 ret 38 iconst 39 0 ret 39 @@ -145382,93 +145485,93 @@ endfunc func ir_emitter_core_ir_owned_container_store_name 1 string param emit_name iconst 1 0 -store __or_1_2663 1 +store __or_1_2671 1 iconst 2 0 -store __or_2_2663 2 +store __or_2_2671 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_2663 5 -brif 5 L2664 L2663 -label L2663 +store __or_2_2671 5 +brif 5 L2672 L2671 +label L2671 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_2663 9 -label L2664 -load 11 __or_2_2663 -store __or_1_2663 11 -brif 11 L2666 L2665 -label L2665 +store __or_2_2671 9 +label L2672 +load 11 __or_2_2671 +store __or_1_2671 11 +brif 11 L2674 L2673 +label L2673 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_2663 14 -label L2666 -load 16 __or_1_2663 -brif 16 L2661 L2662 -label L2661 +store __or_1_2671 14 +label L2674 +load 16 __or_1_2671 +brif 16 L2669 L2670 +label L2669 strref 17 m46s1151 ret 17 -label L2662 -label L2660 +label L2670 +label L2668 iconst 18 0 -store __or_18_2670 18 +store __or_18_2678 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_2670 21 -brif 21 L2671 L2670 -label L2670 +store __or_18_2678 21 +brif 21 L2679 L2678 +label L2678 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_2670 25 -label L2671 -load 27 __or_18_2670 -brif 27 L2668 L2669 -label L2668 +store __or_18_2678 25 +label L2679 +load 27 __or_18_2678 +brif 27 L2676 L2677 +label L2676 strref 28 m46s1238 ret 28 -label L2669 -label L2667 +label L2677 +label L2675 iconst 29 0 -store __or_29_2675 29 +store __or_29_2683 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_2675 32 -brif 32 L2676 L2675 -label L2675 +store __or_29_2683 32 +brif 32 L2684 L2683 +label L2683 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_2675 36 -label L2676 -load 38 __or_29_2675 -brif 38 L2673 L2674 -label L2673 +store __or_29_2683 36 +label L2684 +load 38 __or_29_2683 +brif 38 L2681 L2682 +label L2681 strref 39 m46s1237 ret 39 -label L2674 -label L2672 +label L2682 +label L2680 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 L2678 L2679 -label L2678 +brif 42 L2686 L2687 +label L2686 strref 44 m46s1236 ret 44 -label L2679 -label L2677 +label L2687 +label L2685 strref 45 m46s82 ret 45 iconst 46 0 @@ -145480,62 +145583,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 L2681 L2682 -label L2681 +brif 3 L2689 L2690 +label L2689 strref 5 m46s762 ret 5 -label L2682 -label L2680 +label L2690 +label L2688 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 L2684 L2685 -label L2684 +brif 8 L2692 L2693 +label L2692 strref 10 m46s760 ret 10 -label L2685 -label L2683 +label L2693 +label L2691 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 L2687 L2688 -label L2687 +brif 13 L2695 L2696 +label L2695 strref 15 m46s758 ret 15 -label L2688 -label L2686 +label L2696 +label L2694 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 L2690 L2691 -label L2690 +brif 18 L2698 L2699 +label L2698 strref 20 m46s756 ret 20 -label L2691 -label L2689 +label L2699 +label L2697 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 L2693 L2694 -label L2693 +brif 23 L2701 L2702 +label L2701 strref 25 m46s754 ret 25 -label L2694 -label L2692 +label L2702 +label L2700 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 L2696 L2697 -label L2696 +brif 28 L2704 L2705 +label L2704 strref 30 m46s752 ret 30 -label L2697 -label L2695 +label L2705 +label L2703 strref 31 m46s764 ret 31 iconst 32 0 @@ -145566,32 +145669,32 @@ store tid 13 load 14 tid iconst 15 0 gte 16 14 15 -brif 16 L2699 L2700 -label L2699 +brif 16 L2707 L2708 +label L2707 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_2704 21 +store __and_21_2712 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_2704 25 -brif 25 L2704 L2705 -label L2704 +store __and_21_2712 25 +brif 25 L2712 L2713 +label L2712 load 27 info field 28 27 64 int inner iconst 29 0 gte 30 28 29 -store __and_21_2704 30 -label L2705 -load 31 __and_21_2704 -brif 31 L2702 L2703 -label L2702 +store __and_21_2712 30 +label L2713 +load 31 __and_21_2712 +brif 31 L2710 L2711 +label L2710 load 32 elem_target load 33 info field 34 33 64 int inner @@ -145603,31 +145706,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 L2701 -label L2703 -label L2701 -jmp L2698 -label L2700 -label L2698 +jmp L2709 +label L2711 +label L2709 +jmp L2706 +label L2708 +label L2706 iconst 41 0 -store __and_41_2709 41 +store __and_41_2717 41 load 42 elem_kind call 43 string_len int 1 42 iconst 44 0 eq 45 43 44 -store __and_41_2709 45 -brif 45 L2709 L2710 -label L2709 +store __and_41_2717 45 +brif 45 L2717 L2718 +label L2717 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_2709 50 -label L2710 -load 51 __and_41_2709 -brif 51 L2707 L2708 -label L2707 +store __and_41_2717 50 +label L2718 +load 51 __and_41_2717 +brif 51 L2715 L2716 +label L2715 load 52 elem_kind load 53 node field 54 53 16 list children @@ -145638,9 +145741,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 L2706 -label L2708 -label L2706 +jmp L2714 +label L2716 +label L2714 call 61 ir_builder_ir_reg int 0 store list_r 61 load 62 ctor @@ -145667,12 +145770,12 @@ iconst 80 0 store __for_idx_339 80 store __for_len_339 79 store __for_iter_339 78 -label L2711 +label L2719 load 81 __for_idx_339 load 82 __for_len_339 lt 83 81 82 -brif 83 L2712 L2714 -label L2712 +brif 83 L2720 L2722 +label L2720 load 84 __for_iter_339 load 85 __for_idx_339 call 86 pith_list_get_value unknown 2 84 85 @@ -145690,33 +145793,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_2718 98 +store __and_98_2726 98 load 99 retaining -store __and_98_2718 99 -brif 99 L2718 L2719 -label L2718 +store __and_98_2726 99 +brif 99 L2726 L2727 +label L2726 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_2718 102 -label L2719 -load 104 __and_98_2718 -brif 104 L2716 L2717 -label L2716 +store __and_98_2726 102 +label L2727 +load 104 __and_98_2726 +brif 104 L2724 L2725 +label L2724 load 105 elem_r load 106 elem_kind call 107 ir_ownership_ir_rc_release_reg void 2 105 106 -jmp L2715 -label L2717 -label L2715 -label L2713 +jmp L2723 +label L2725 +label L2723 +label L2721 load 108 __for_idx_339 iconst 109 1 add 110 108 109 store __for_idx_339 110 -jmp L2711 -label L2714 +jmp L2719 +label L2722 load 111 list_r load 112 elem_kind call 113 pith_cstring_release void 1 112 @@ -145750,12 +145853,12 @@ iconst 6 0 store __for_idx_340 6 store __for_len_340 5 store __for_iter_340 4 -label L2720 +label L2728 load 7 __for_idx_340 load 8 __for_len_340 lt 9 7 8 -brif 9 L2721 L2723 -label L2721 +brif 9 L2729 L2731 +label L2729 load 10 __for_iter_340 load 11 __for_idx_340 call 12 pith_list_get_value unknown 2 10 11 @@ -145766,8 +145869,8 @@ load 14 __loopvar_340_i load 15 elem_nodes call 16 pith_list_len int 1 15 lt 17 14 16 -brif 17 L2725 L2726 -label L2725 +brif 17 L2733 L2734 +label L2733 load 18 tuple_kind load 19 elem_nodes load 20 __loopvar_340_i @@ -145778,32 +145881,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_2730 26 +store __and_26_2738 26 load 27 tuple_kind call 28 string_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_26_2730 30 -brif 30 L2730 L2731 -label L2730 +store __and_26_2738 30 +brif 30 L2738 L2739 +label L2738 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_2730 34 -label L2731 -load 35 __and_26_2730 -brif 35 L2728 L2729 -label L2728 +store __and_26_2738 34 +label L2739 +load 35 __and_26_2738 +brif 35 L2736 L2737 +label L2736 load 36 __loopvar_340_elem_reg load 37 tuple_kind call 38 ir_ownership_ir_rc_retain_reg void 2 36 37 -jmp L2727 -label L2729 -label L2727 -jmp L2724 -label L2726 -label L2724 +jmp L2735 +label L2737 +label L2735 +jmp L2732 +label L2734 +label L2732 strref 39 m46s1038 load 40 tuple_r call 41 int_to_string string 1 40 @@ -145830,13 +145933,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 L2722 +label L2730 load 65 __for_idx_340 iconst 66 1 add 67 65 66 store __for_idx_340 67 -jmp L2720 -label L2723 +jmp L2728 +label L2731 load 68 tuple_kind call 69 pith_cstring_release void 1 68 iconst 70 0 @@ -145848,82 +145951,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 L2733 L2734 -label L2733 +brif 3 L2741 L2742 +label L2741 strref 5 m46s903 ret 5 -label L2734 -label L2732 +label L2742 +label L2740 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 L2736 L2737 -label L2736 +brif 8 L2744 L2745 +label L2744 strref 10 m46s1235 ret 10 -label L2737 -label L2735 +label L2745 +label L2743 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 L2739 L2740 -label L2739 +brif 13 L2747 L2748 +label L2747 strref 15 m46s1018 ret 15 -label L2740 -label L2738 +label L2748 +label L2746 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 L2742 L2743 -label L2742 +brif 18 L2750 L2751 +label L2750 strref 20 m46s1234 ret 20 -label L2743 -label L2741 +label L2751 +label L2749 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 L2745 L2746 -label L2745 +brif 23 L2753 L2754 +label L2753 strref 25 m46s1071 ret 25 -label L2746 -label L2744 +label L2754 +label L2752 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 L2748 L2749 -label L2748 +brif 28 L2756 L2757 +label L2756 strref 30 m46s1233 ret 30 -label L2749 -label L2747 +label L2757 +label L2755 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 L2751 L2752 -label L2751 +brif 33 L2759 L2760 +label L2759 strref 35 m46s1232 ret 35 -label L2752 -label L2750 +label L2760 +label L2758 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 L2754 L2755 -label L2754 +brif 38 L2762 L2763 +label L2762 strref 40 m46s1231 ret 40 -label L2755 -label L2753 +label L2763 +label L2761 strref 41 m46s177 ret 41 iconst 42 0 @@ -145935,82 +146038,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 L2757 L2758 -label L2757 +brif 3 L2765 L2766 +label L2765 strref 5 m46s675 ret 5 -label L2758 -label L2756 +label L2766 +label L2764 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 L2760 L2761 -label L2760 +brif 8 L2768 L2769 +label L2768 strref 10 m46s20 ret 10 -label L2761 -label L2759 +label L2769 +label L2767 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 L2763 L2764 -label L2763 +brif 13 L2771 L2772 +label L2771 strref 15 m46s19 ret 15 -label L2764 -label L2762 +label L2772 +label L2770 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 L2766 L2767 -label L2766 +brif 18 L2774 L2775 +label L2774 strref 20 m46s18 ret 20 -label L2767 -label L2765 +label L2775 +label L2773 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 L2769 L2770 -label L2769 +brif 23 L2777 L2778 +label L2777 strref 25 m46s674 ret 25 -label L2770 -label L2768 +label L2778 +label L2776 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 L2772 L2773 -label L2772 +brif 28 L2780 L2781 +label L2780 strref 30 m46s15 ret 30 -label L2773 -label L2771 +label L2781 +label L2779 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 L2775 L2776 -label L2775 +brif 33 L2783 L2784 +label L2783 strref 35 m46s824 ret 35 -label L2776 -label L2774 +label L2784 +label L2782 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 L2778 L2779 -label L2778 +brif 38 L2786 L2787 +label L2786 strref 40 m46s23 ret 40 -label L2779 -label L2777 +label L2787 +label L2785 strref 41 m46s82 ret 41 iconst 42 0 @@ -146030,12 +146133,12 @@ iconst 7 0 store __for_idx_341 7 store __for_len_341 6 store __for_iter_341 5 -label L2780 +label L2788 load 8 __for_idx_341 load 9 __for_len_341 lt 10 8 9 -brif 10 L2781 L2783 -label L2781 +brif 10 L2789 L2791 +label L2789 load 11 __for_iter_341 load 12 __for_idx_341 call 13 pith_list_get_value unknown 2 11 12 @@ -146052,13 +146155,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 L2782 +label L2790 load 25 __for_idx_341 iconst 26 1 add 27 25 26 store __for_idx_341 27 -jmp L2780 -label L2783 +jmp L2788 +label L2791 load 28 sig ret 28 load 29 sig @@ -146089,13 +146192,13 @@ func ir_emitter_core_ir_tuple_sig_has_rc 1 bool param sig iconst 1 0 store i 1 -label L2784 +label L2792 load 2 i load 3 sig call 4 string_len int 1 3 lt 5 2 4 -brif 5 L2785 L2786 -label L2785 +brif 5 L2793 L2794 +label L2793 load 6 sig load 7 i load 8 i @@ -146108,18 +146211,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 L2788 L2789 -label L2788 +brif 13 L2796 L2797 +label L2796 iconst 18 1 ret 18 -label L2789 -label L2787 +label L2797 +label L2795 load 19 i iconst 20 1 add 21 19 20 store i 21 -jmp L2784 -label L2786 +jmp L2792 +label L2794 iconst 22 0 ret 22 iconst 23 0 @@ -146139,51 +146242,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 L2791 L2792 -label L2791 +brif 9 L2799 L2800 +label L2799 load 11 sig call 12 pith_cstring_release void 1 11 iconst 13 0 ret 13 -label L2792 -label L2790 +label L2800 +label L2798 load 14 ir_emitter_core_ir_tuple_dtor_sigs load 15 sig iconst 16 -1 -store __list_index_result_L2796 16 +store __list_index_result_L2804 16 iconst 17 0 -store __list_index_i_L2797 17 +store __list_index_i_L2805 17 call 18 pith_list_len int 1 14 -label L2798 -load 19 __list_index_i_L2797 +label L2806 +load 19 __list_index_i_L2805 lt 20 19 18 -brif 20 L2799 L2802 -label L2799 +brif 20 L2807 L2810 +label L2807 call 21 pith_list_get_value string 2 14 19 call 22 pith_cstring_eq bool 2 21 15 -brif 22 L2800 L2801 -label L2800 -store __list_index_result_L2796 19 -jmp L2802 -label L2801 +brif 22 L2808 L2809 +label L2808 +store __list_index_result_L2804 19 +jmp L2810 +label L2809 iconst 23 1 add 24 19 23 -store __list_index_i_L2797 24 -jmp L2798 -label L2802 -load 25 __list_index_result_L2796 +store __list_index_i_L2805 24 +jmp L2806 +label L2810 +load 25 __list_index_result_L2804 iconst 26 0 gte 27 25 26 iconst 29 1 sub 28 29 27 -brif 28 L2794 L2795 -label L2794 +brif 28 L2802 L2803 +label L2802 load 30 ir_emitter_core_ir_tuple_dtor_sigs load 31 sig call 32 pith_list_push_value void 2 30 31 -jmp L2793 -label L2795 -label L2793 +jmp L2801 +label L2803 +label L2801 call 33 ir_builder_ir_reg int 0 store fr 33 strref 34 m46s902 @@ -146254,12 +146357,12 @@ iconst 13 0 store __for_idx_342 13 store __for_len_342 12 store __for_iter_342 11 -label L2803 +label L2811 load 14 __for_idx_342 load 15 __for_len_342 lt 16 14 15 -brif 16 L2804 L2806 -label L2804 +brif 16 L2812 L2814 +label L2812 load 17 __for_iter_342 load 18 __for_idx_342 call 19 pith_list_get_value unknown 2 17 18 @@ -146274,28 +146377,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 L2808 L2809 -label L2808 +brif 27 L2816 L2817 +label L2816 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 L2807 -label L2809 +jmp L2815 +label L2817 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 L2807 +label L2815 load 36 elem_nodes load 37 __loopvar_342_child call 38 pith_list_push_value void 2 36 37 -label L2805 +label L2813 load 39 __for_idx_342 iconst 40 1 add 41 39 40 store __for_idx_342 41 -jmp L2803 -label L2806 +jmp L2811 +label L2814 call 42 ir_builder_ir_reg int 0 store r 42 call 43 ir_builder_ir_reg int 0 @@ -146374,8 +146477,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 L2811 L2812 -label L2811 +brif 5 L2819 L2820 +label L2819 load 6 ir_struct_registry_ir_enum_variant_lists load 7 enum_name call 8 map_get_strict string 2 6 7 @@ -146387,12 +146490,12 @@ iconst 13 0 store __for_idx_343 13 store __for_len_343 12 store __for_iter_343 10 -label L2813 +label L2821 load 14 __for_idx_343 load 15 __for_len_343 lt 16 14 15 -brif 16 L2814 L2816 -label L2814 +brif 16 L2822 L2824 +label L2822 load 17 __for_iter_343 load 18 __for_idx_343 call 19 pith_list_get_value_unchecked string 2 17 18 @@ -146410,8 +146513,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 L2818 L2819 -label L2818 +brif 31 L2826 L2827 +label L2826 load 32 ir_struct_registry_ir_enum_payload_kinds load 33 vkey call 34 map_get_strict string 2 32 33 @@ -146424,28 +146527,28 @@ store count 38 load 40 count load 41 max_count gt 42 40 41 -brif 42 L2821 L2822 -label L2821 +brif 42 L2829 L2830 +label L2829 load 43 count store max_count 43 -jmp L2820 -label L2822 -label L2820 -jmp L2817 -label L2819 -label L2817 -label L2815 +jmp L2828 +label L2830 +label L2828 +jmp L2825 +label L2827 +label L2825 +label L2823 load 44 __for_idx_343 iconst 45 1 add 46 44 45 store __for_idx_343 46 -jmp L2813 -label L2816 +jmp L2821 +label L2824 load 47 __for_iter_343 call 48 pith_list_release_handle void 1 47 -jmp L2810 -label L2812 -label L2810 +jmp L2818 +label L2820 +label L2818 load 49 max_count load 50 vkey call 51 pith_cstring_release void 1 50 @@ -146465,13 +146568,13 @@ store slots 4 load 5 payload_count load 6 slots gt 7 5 6 -brif 7 L2824 L2825 -label L2824 +brif 7 L2832 L2833 +label L2832 load 8 payload_count store slots 8 -jmp L2823 -label L2825 -label L2823 +jmp L2831 +label L2833 +label L2831 call 9 ir_builder_ir_reg int 0 store count_r 9 strref 10 m46s832 @@ -146564,8 +146667,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 L2827 L2828 -label L2827 +brif 10 L2835 L2836 +label L2835 load 11 kinds load 12 ir_struct_registry_ir_enum_payload_kinds load 13 variant_key @@ -146575,9 +146678,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 L2826 -label L2828 -label L2826 +jmp L2834 +label L2836 +label L2834 load 19 enum_name load 20 variant_key load 21 kinds @@ -146586,13 +146689,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 L2829 +label L2837 load 25 i load 26 kinds call 27 pith_list_len int 1 26 lt 28 25 27 -brif 28 L2830 L2831 -label L2830 +brif 28 L2838 L2839 +label L2838 load 29 node load 30 i call 31 ir_emitter_core_ir_method_call_arg_expr int 2 29 30 @@ -146600,8 +146703,8 @@ store arg_idx 31 load 32 arg_idx iconst 33 0 gte 34 32 33 -brif 34 L2833 L2834 -label L2833 +brif 34 L2841 L2842 +label L2841 load 35 arg_idx call 36 ir_emitter_core_ir_expr int 1 35 store arg_r 36 @@ -146613,27 +146716,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_2838 43 +store __and_43_2846 43 load 44 payload_kind call 45 string_len int 1 44 iconst 46 0 gt 47 45 46 -store __and_43_2838 47 -brif 47 L2838 L2839 -label L2838 +store __and_43_2846 47 +brif 47 L2846 L2847 +label L2846 load 48 arg_idx call 49 ir_emitter_core_ir_string_expr_is_borrowed bool 1 48 -store __and_43_2838 49 -label L2839 -load 50 __and_43_2838 -brif 50 L2836 L2837 -label L2836 +store __and_43_2846 49 +label L2847 +load 50 __and_43_2846 +brif 50 L2844 L2845 +label L2844 load 51 arg_r load 52 payload_kind call 53 ir_ownership_ir_rc_retain_reg void 2 51 52 -jmp L2835 -label L2837 -label L2835 +jmp L2843 +label L2845 +label L2843 strref 54 m46s1038 load 55 r call 56 int_to_string string 1 55 @@ -146662,15 +146765,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 L2832 -label L2834 -label L2832 +jmp L2840 +label L2842 +label L2840 load 82 i iconst 83 1 add 84 82 83 store i 84 -jmp L2829 -label L2831 +jmp L2837 +label L2839 load 85 r load 86 kinds call 87 pith_list_release_handle void 1 86 @@ -146708,8 +146811,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 eq 16 14 15 -brif 16 L2841 L2842 -label L2841 +brif 16 L2849 L2850 +label L2849 call 17 ir_builder_ir_reg int 0 store r 17 strref 18 m46s832 @@ -146736,8 +146839,8 @@ call 38 pith_cstring_release void 1 37 load 39 weak_struct call 40 pith_cstring_release void 1 39 ret 30 -label L2842 -label L2840 +label L2850 +label L2848 load 41 recv_node load 42 node field 43 42 16 list children @@ -146751,8 +146854,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 L2844 L2845 -label L2844 +brif 51 L2852 L2853 +label L2852 load 53 lookup_key load 54 recv_node field 55 54 8 string value @@ -146767,27 +146870,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 L2847 L2848 -label L2847 +brif 65 L2855 L2856 +label L2855 load 66 ir_struct_registry_ir_struct_field_lookup load 67 lookup_key call 68 contains_key bool 2 66 67 -brif 68 L2850 L2851 -label L2850 +brif 68 L2858 L2859 +label L2858 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 L2853 L2854 -label L2853 +brif 74 L2861 L2862 +label L2861 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 L2856 L2857 -label L2856 +brif 78 L2864 L2865 +label L2864 load 79 recv_node field 80 79 8 string value load 81 lookup_key @@ -146804,8 +146907,8 @@ call 91 pith_cstring_release void 1 90 load 92 weak_struct call 93 pith_cstring_release void 1 92 ret 83 -label L2857 -label L2855 +label L2865 +label L2863 call 94 ir_builder_ir_reg int 0 store r 94 strref 95 m46s832 @@ -146837,17 +146940,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 -label L2852 -jmp L2849 +jmp L2851 +label L2853 label L2851 -label L2849 -jmp L2846 -label L2848 -label L2846 -jmp L2843 -label L2845 -label L2843 load 123 node field 124 123 16 list children iconst 125 0 @@ -146858,14 +146961,14 @@ store obj_r 127 load 128 obj_r iconst 129 0 lt 130 128 129 -brif 130 L2859 L2860 -label L2859 +brif 130 L2867 L2868 +label L2867 load 131 recv_idx call 132 ir_emitter_core_ir_expr int 1 131 store obj_r 132 -jmp L2858 -label L2860 -label L2858 +jmp L2866 +label L2868 +label L2866 call 133 ir_builder_ir_reg int 0 store r 133 load 134 r @@ -146873,8 +146976,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 L2862 L2863 -label L2862 +brif 138 L2870 L2871 +label L2870 load 139 r load 140 fname call 141 pith_cstring_release void 1 140 @@ -146887,8 +146990,8 @@ call 147 pith_cstring_release void 1 146 load 148 weak_struct call 149 pith_cstring_release void 1 148 ret 139 -label L2863 -label L2861 +label L2871 +label L2869 load 150 lk load 151 recv_idx load 152 fname @@ -146900,8 +147003,8 @@ load 156 lk call 157 contains_key bool 2 155 156 iconst 159 1 sub 158 159 157 -brif 158 L2865 L2866 -label L2865 +brif 158 L2873 L2874 +label L2873 load 160 obj_r load 161 recv_idx load 162 fname @@ -146910,8 +147013,8 @@ store checked_r 163 load 164 checked_r iconst 165 0 gte 166 164 165 -brif 166 L2868 L2869 -label L2868 +brif 166 L2876 L2877 +label L2876 load 167 checked_r load 168 fname call 169 pith_cstring_release void 1 168 @@ -146924,11 +147027,11 @@ call 175 pith_cstring_release void 1 174 load 176 weak_struct call 177 pith_cstring_release void 1 176 ret 167 -label L2869 -label L2867 -jmp L2864 -label L2866 -label L2864 +label L2877 +label L2875 +jmp L2872 +label L2874 +label L2872 load 178 r load 179 obj_r load 180 lk @@ -146945,8 +147048,8 @@ call 190 string_len int 1 189 iconst 191 1 add 192 190 191 gt 193 188 192 -brif 193 L2871 L2872 -label L2871 +brif 193 L2879 L2880 +label L2879 load 194 weak_struct load 195 lk iconst 196 0 @@ -146963,8 +147066,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 L2874 L2875 -label L2874 +brif 208 L2882 L2883 +label L2882 load 209 r call 210 ir_optionals_ir_emit_weak_read int 1 209 load 211 fname @@ -146978,11 +147081,11 @@ call 218 pith_cstring_release void 1 217 load 219 weak_struct call 220 pith_cstring_release void 1 219 ret 210 -label L2875 -label L2873 -jmp L2870 -label L2872 -label L2870 +label L2883 +label L2881 +jmp L2878 +label L2880 +label L2878 load 221 r load 222 fname call 223 pith_cstring_release void 1 222 @@ -147155,8 +147258,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 L2877 L2878 -label L2877 +brif 19 L2885 L2886 +label L2885 strref 21 m46s1044 load 22 zero_r call 23 int_to_string string 1 22 @@ -147169,8 +147272,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 L2876 -label L2878 +jmp L2884 +label L2886 strref 33 m46s832 load 34 zero_r call 35 int_to_string string 1 34 @@ -147183,7 +147286,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 L2876 +label L2884 call 45 ir_builder_ir_reg int 0 store cond_r 45 strref 46 m46s1035 @@ -147251,30 +147354,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_2882 106 +store __or_106_2890 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_2882 109 -brif 109 L2883 L2882 -label L2882 +store __or_106_2890 109 +brif 109 L2891 L2890 +label L2890 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_2882 113 -label L2883 -load 115 __or_106_2882 -brif 115 L2880 L2881 -label L2880 +store __or_106_2890 113 +label L2891 +load 115 __or_106_2890 +brif 115 L2888 L2889 +label L2888 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 L2879 -label L2881 -label L2879 +jmp L2887 +label L2889 +label L2887 load 119 ok_r call 120 ir_emitter_core_ir_emit_ok_result_tuple int 1 119 store ok_tuple 120 @@ -147374,8 +147477,8 @@ store obj_tid 7 load 8 obj_tid iconst 9 0 gte 10 8 9 -brif 10 L2885 L2886 -label L2885 +brif 10 L2893 L2894 +label L2893 load 11 obj_info load 12 obj_tid call 13 types_get_type_info struct:TypeInfo 1 12 @@ -147386,14 +147489,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 L2888 L2889 -label L2888 +brif 18 L2896 L2897 +label L2896 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 L2891 L2892 -label L2891 +brif 22 L2899 L2900 +label L2899 load 24 obj_r load 25 obj_tid strref 26 m46s182 @@ -147402,14 +147505,14 @@ call 28 pith_cstring_release void 1 26 load 29 obj_info call 30 pith_struct_release void 1 29 ret 27 -label L2892 -label L2890 +label L2900 +label L2898 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 L2894 L2895 -label L2894 +brif 33 L2902 L2903 +label L2902 load 35 obj_r load 36 obj_tid strref 37 m46s181 @@ -147418,40 +147521,40 @@ call 39 pith_cstring_release void 1 37 load 40 obj_info call 41 pith_struct_release void 1 40 ret 38 -label L2895 -label L2893 +label L2903 +label L2901 iconst 42 0 -store __or_42_2899 42 +store __or_42_2907 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_2899 45 -brif 45 L2900 L2899 -label L2899 +store __or_42_2907 45 +brif 45 L2908 L2907 +label L2907 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_2899 49 -label L2900 -load 51 __or_42_2899 -brif 51 L2897 L2898 -label L2897 +store __or_42_2907 49 +label L2908 +load 51 __or_42_2907 +brif 51 L2905 L2906 +label L2905 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 L2898 -label L2896 -jmp L2887 -label L2889 -label L2887 -jmp L2884 -label L2886 -label L2884 +label L2906 +label L2904 +jmp L2895 +label L2897 +label L2895 +jmp L2892 +label L2894 +label L2892 iconst 57 0 iconst 58 1 sub 59 57 58 @@ -147477,16 +147580,16 @@ load 7 node field 8 7 16 list children call 9 pith_list_len int 1 8 gte 10 6 9 -brif 10 L2902 L2903 -label L2902 +brif 10 L2910 L2911 +label L2910 iconst 11 0 iconst 12 1 sub 13 11 12 load 14 cn call 15 pith_struct_release void 1 14 ret 13 -label L2903 -label L2901 +label L2911 +label L2909 load 16 node field 17 16 16 list children load 18 actual_index @@ -147498,25 +147601,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_2907 24 +store __and_24_2915 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_2907 28 -brif 28 L2907 L2908 -label L2907 +store __and_24_2915 28 +brif 28 L2915 L2916 +label L2915 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_2907 34 -label L2908 -load 35 __and_24_2907 -brif 35 L2905 L2906 -label L2905 +store __and_24_2915 34 +label L2916 +load 35 __and_24_2915 +brif 35 L2913 L2914 +label L2913 load 36 cn field 37 36 16 list children iconst 38 0 @@ -147524,8 +147627,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 L2906 -label L2904 +label L2914 +label L2912 load 42 child load 43 cn call 44 pith_struct_release void 1 43 @@ -147545,25 +147648,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_2912 6 +store __and_6_2920 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_2912 10 -brif 10 L2912 L2913 -label L2912 +store __and_6_2920 10 +brif 10 L2920 L2921 +label L2920 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_2912 16 -label L2913 -load 17 __and_6_2912 -brif 17 L2910 L2911 -label L2910 +store __and_6_2920 16 +label L2921 +load 17 __and_6_2920 +brif 17 L2918 L2919 +label L2918 load 18 node field 19 18 16 list children iconst 20 0 @@ -147572,86 +147675,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 L2911 -label L2909 +label L2919 +label L2917 iconst 25 0 -store __or_25_2917 25 +store __or_25_2925 25 iconst 26 0 -store __or_26_2917 26 +store __or_26_2925 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_2917 30 -brif 30 L2918 L2917 -label L2917 +store __or_26_2925 30 +brif 30 L2926 L2925 +label L2925 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_2917 35 -label L2918 -load 37 __or_26_2917 -store __or_25_2917 37 -brif 37 L2920 L2919 -label L2919 +store __or_26_2925 35 +label L2926 +load 37 __or_26_2925 +store __or_25_2925 37 +brif 37 L2928 L2927 +label L2927 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_2917 41 -label L2920 -load 43 __or_25_2917 -brif 43 L2915 L2916 -label L2915 +store __or_25_2925 41 +label L2928 +load 43 __or_25_2925 +brif 43 L2923 L2924 +label L2923 strref 44 m46s1227 load 45 node call 46 pith_struct_release void 1 45 ret 44 -label L2916 -label L2914 +label L2924 +label L2922 iconst 47 0 -store __or_47_2924 47 +store __or_47_2932 47 iconst 48 0 -store __or_48_2924 48 +store __or_48_2932 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_2924 52 -brif 52 L2925 L2924 -label L2924 +store __or_48_2932 52 +brif 52 L2933 L2932 +label L2932 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_2924 57 -label L2925 -load 59 __or_48_2924 -store __or_47_2924 59 -brif 59 L2927 L2926 -label L2926 +store __or_48_2932 57 +label L2933 +load 59 __or_48_2932 +store __or_47_2932 59 +brif 59 L2935 L2934 +label L2934 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_2924 63 -label L2927 -load 65 __or_47_2924 -brif 65 L2922 L2923 -label L2922 +store __or_47_2932 63 +label L2935 +load 65 __or_47_2932 +brif 65 L2930 L2931 +label L2930 strref 66 m46s1202 load 67 node call 68 pith_struct_release void 1 67 ret 66 -label L2923 -label L2921 +label L2931 +label L2929 strref 69 m46s1226 load 70 node call 71 pith_struct_release void 1 70 @@ -147755,14 +147858,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 L2929 L2930 -label L2929 +brif 76 L2937 L2938 +label L2937 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 L2932 L2933 -label L2932 +brif 80 L2940 L2941 +label L2940 load 82 ok_value_r load 83 recv_tid strref 84 m46s182 @@ -147772,11 +147875,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 L2931 -label L2933 -label L2931 -jmp L2928 -label L2930 +jmp L2939 +label L2941 +label L2939 +jmp L2936 +label L2938 call 91 ir_builder_ir_reg int 0 strref 92 m46s898 strref 93 m46s828 @@ -147784,7 +147887,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 L2928 +label L2936 strref 98 m46s830 load 99 temp_name concat 100 98 99 @@ -147817,8 +147920,8 @@ call 126 pith_cstring_eq bool 2 123 124 iconst 127 1 sub 125 127 126 call 128 pith_cstring_release void 1 124 -brif 125 L2935 L2936 -label L2935 +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 @@ -147829,9 +147932,9 @@ 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 L2934 -label L2936 -label L2934 +jmp L2942 +label L2944 +label L2942 strref 139 m46s830 load 140 temp_name concat 141 139 140 @@ -147915,8 +148018,8 @@ store err_tid 12 load 13 recv_tid iconst 14 0 gte 15 13 14 -brif 15 L2938 L2939 -label L2938 +brif 15 L2946 L2947 +label L2946 load 16 recv_info load 17 recv_tid call 18 types_get_type_info struct:TypeInfo 1 17 @@ -147927,20 +148030,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 L2941 L2942 -label L2941 +brif 23 L2949 L2950 +label L2949 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 L2940 -label L2942 -label L2940 -jmp L2937 -label L2939 -label L2937 +jmp L2948 +label L2950 +label L2948 +jmp L2945 +label L2947 +label L2945 load 29 recv_r strref 30 m46s184 call 31 ir_result_abi_ir_emit_result_flag_field int 2 29 30 @@ -148102,24 +148205,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 L2944 L2945 -label L2944 +brif 10 L2952 L2953 +label L2952 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 L2945 -label L2943 +label L2953 +label L2951 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 L2947 L2948 -label L2947 +brif 20 L2955 L2956 +label L2955 load 22 out_r strref 23 m46s663 strref 24 m46s675 @@ -148133,14 +148236,14 @@ call 31 pith_cstring_release void 1 30 load 32 value_info call 33 pith_struct_release void 1 32 ret 29 -label L2948 -label L2946 +label L2956 +label L2954 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 L2950 L2951 -label L2950 +brif 36 L2958 L2959 +label L2958 load 38 out_r strref 39 m46s664 strref 40 m46s675 @@ -148154,14 +148257,14 @@ call 47 pith_cstring_release void 1 46 load 48 value_info call 49 pith_struct_release void 1 48 ret 45 -label L2951 -label L2949 +label L2959 +label L2957 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 L2953 L2954 -label L2953 +brif 52 L2961 L2962 +label L2961 load 54 out_r strref 55 m46s662 strref 56 m46s675 @@ -148175,13 +148278,13 @@ call 63 pith_cstring_release void 1 62 load 64 value_info call 65 pith_struct_release void 1 64 ret 61 -label L2954 -label L2952 +label L2962 +label L2960 load 66 value_tid iconst 67 0 gte 68 66 67 -brif 68 L2956 L2957 -label L2956 +brif 68 L2964 L2965 +label L2964 load 69 value_info load 70 value_tid call 71 types_get_type_info struct:TypeInfo 1 70 @@ -148192,8 +148295,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 L2959 L2960 -label L2959 +brif 76 L2967 L2968 +label L2967 load 78 value_r load 79 value_tid call 80 ir_emitter_core_ir_emit_result_value_to_string int 2 78 79 @@ -148202,11 +148305,11 @@ call 82 pith_cstring_release void 1 81 load 83 value_info call 84 pith_struct_release void 1 83 ret 80 -label L2960 -label L2958 -jmp L2955 -label L2957 -label L2955 +label L2968 +label L2966 +jmp L2963 +label L2965 +label L2963 load 85 value_r load 86 value_type call 87 pith_cstring_release void 1 86 @@ -148274,39 +148377,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_2964 22 +store __and_22_2972 22 load 23 call_name call 24 string_len int 1 23 iconst 25 0 eq 26 24 25 -store __and_22_2964 26 -brif 26 L2964 L2965 -label L2964 +store __and_22_2972 26 +brif 26 L2972 L2973 +label L2972 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_2964 30 -label L2965 -load 32 __and_22_2964 -brif 32 L2962 L2963 -label L2962 +store __and_22_2972 30 +label L2973 +load 32 __and_22_2972 +brif 32 L2970 L2971 +label L2970 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 L2961 -label L2963 -label L2961 +jmp L2969 +label L2971 +label L2969 load 38 call_name call 39 string_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L2967 L2968 -label L2967 +brif 41 L2975 L2976 +label L2975 call 42 ir_builder_ir_reg int 0 store out_r 42 load 43 legacy_kind @@ -148323,16 +148426,16 @@ load 51 legacy_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -brif 54 L2970 L2971 -label L2970 +brif 54 L2978 L2979 +label L2978 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 L2969 -label L2971 -label L2969 +jmp L2977 +label L2979 +label L2977 load 59 out_r load 60 call_name load 61 call_type @@ -148346,23 +148449,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_2975 71 +store __and_71_2983 71 load 72 legacy_kind call 73 string_len int 1 72 iconst 74 0 gt 75 73 74 -store __and_71_2975 75 -brif 75 L2975 L2976 -label L2975 +store __and_71_2983 75 +brif 75 L2983 L2984 +label L2983 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_2975 78 -label L2976 -load 80 __and_71_2975 -brif 80 L2973 L2974 -label L2973 +store __and_71_2983 78 +label L2984 +load 80 __and_71_2983 +brif 80 L2981 L2982 +label L2981 load 81 out_r load 82 legacy_kind load 83 call_name @@ -148380,8 +148483,8 @@ call 94 pith_cstring_release void 1 93 load 95 handler_name call 96 pith_cstring_release void 1 95 ret 84 -label L2974 -label L2972 +label L2982 +label L2980 load 97 out_r load 98 handler_node call 99 pith_struct_release void 1 98 @@ -148396,8 +148499,8 @@ call 107 pith_cstring_release void 1 106 load 108 handler_name call 109 pith_cstring_release void 1 108 ret 97 -label L2968 -label L2966 +label L2976 +label L2974 load 110 handler_idx call 111 ir_emitter_core_ir_expr int 1 110 store handler_r 111 @@ -148654,7 +148757,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_2980 6 +store __or_6_2988 6 load 7 recv_node field 8 7 0 string kind strref 9 m46s129 @@ -148662,25 +148765,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_2980 10 -brif 10 L2981 L2980 -label L2980 +store __or_6_2988 10 +brif 10 L2989 L2988 +label L2988 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_2980 18 -label L2981 -load 19 __or_6_2980 -brif 19 L2978 L2979 -label L2978 +store __or_6_2988 18 +label L2989 +load 19 __or_6_2988 +brif 19 L2986 L2987 +label L2986 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 L2979 -label L2977 +label L2987 +label L2985 load 23 recv_node field 24 23 16 list children iconst 25 0 @@ -148715,7 +148818,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_2985 6 +store __or_6_2993 6 load 7 send_node field 8 7 0 string kind strref 9 m46s129 @@ -148723,25 +148826,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_2985 10 -brif 10 L2986 L2985 -label L2985 +store __or_6_2993 10 +brif 10 L2994 L2993 +label L2993 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_2985 18 -label L2986 -load 19 __or_6_2985 -brif 19 L2983 L2984 -label L2983 +store __or_6_2993 18 +label L2994 +load 19 __or_6_2993 +brif 19 L2991 L2992 +label L2991 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 L2984 -label L2982 +label L2992 +label L2990 load 23 send_node field 24 23 16 list children iconst 25 0 @@ -148755,14 +148858,14 @@ store arg_idx 30 load 31 arg_idx iconst 32 0 lt 33 31 32 -brif 33 L2988 L2989 -label L2988 +brif 33 L2996 L2997 +label L2996 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 L2989 -label L2987 +label L2997 +label L2995 load 37 arg_idx call 38 ir_emitter_core_ir_expr int 1 37 store val_r 38 @@ -148810,21 +148913,21 @@ load 15 bind_name call 16 string_len int 1 15 iconst 17 0 gt 18 16 17 -brif 18 L2991 L2992 -label L2991 +brif 18 L2999 L3000 +label L2999 load 19 bind_type call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L2994 L2995 -label L2994 +brif 22 L3002 L3003 +label L3002 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 L2993 -label L2995 -label L2993 +jmp L3001 +label L3003 +label L3001 strref 27 m46s830 load 28 bind_name concat 29 27 28 @@ -148840,9 +148943,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 L2990 -label L2992 -label L2990 +jmp L2998 +label L3000 +label L2998 load 42 body_node load 43 body_idx call 44 ast_get_node struct:Node 1 43 @@ -148855,41 +148958,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 L2997 L2998 -label L2997 +brif 50 L3005 L3006 +label L3005 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 L3000 L3001 -label L3000 +brif 56 L3008 L3009 +label L3008 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 L2999 -label L3001 -label L2999 -jmp L2996 -label L2998 +jmp L3007 +label L3009 +label L3007 +jmp L3004 +label L3006 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 L3002 L3003 -label L3002 +brif 65 L3010 L3011 +label L3010 load 67 body_idx call 68 ir_emitter_core_ir_block int 1 67 -jmp L2996 -label L3003 +jmp L3004 +label L3011 load 69 body_idx call 70 ir_emitter_core_ir_expr int 1 69 store body_r 70 -label L2996 +label L3004 load 71 saved_vars call 72 pith_map_retain_handle void 1 71 store ir_builder_ir_var_regs 71 @@ -148930,12 +149033,12 @@ iconst 9 0 store __for_idx_344 9 store __for_len_344 8 store __for_iter_344 7 -label L3004 +label L3012 load 10 __for_idx_344 load 11 __for_len_344 lt 12 10 11 -brif 12 L3005 L3007 -label L3005 +brif 12 L3013 L3015 +label L3013 load 13 __for_iter_344 load 14 __for_idx_344 call 15 pith_list_get_value unknown 2 13 14 @@ -148946,38 +149049,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_3011 20 +store __or_20_3019 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_3011 24 -brif 24 L3012 L3011 -label L3011 +store __or_20_3019 24 +brif 24 L3020 L3019 +label L3019 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_3011 29 -label L3012 -load 31 __or_20_3011 -brif 31 L3009 L3010 -label L3009 +store __or_20_3019 29 +label L3020 +load 31 __or_20_3019 +brif 31 L3017 L3018 +label L3017 load 32 probe_arms load 33 __loopvar_344_arm_idx call 34 pith_list_push_value void 2 32 33 -jmp L3008 -label L3010 -label L3008 -label L3006 +jmp L3016 +label L3018 +label L3016 +label L3014 load 35 __for_idx_344 iconst 36 1 add 37 35 36 store __for_idx_344 37 -jmp L3004 -label L3007 +jmp L3012 +label L3015 load 38 probe_arms load 39 arm_node call 40 pith_struct_release void 1 39 @@ -149008,12 +149111,12 @@ iconst 11 0 store __for_idx_345 11 store __for_len_345 10 store __for_iter_345 9 -label L3013 +label L3021 load 12 __for_idx_345 load 13 __for_len_345 lt 14 12 13 -brif 14 L3014 L3016 -label L3014 +brif 14 L3022 L3024 +label L3022 load 15 __for_iter_345 load 16 __for_idx_345 call 17 pith_list_get_value unknown 2 15 16 @@ -149024,57 +149127,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_3020 22 +store __and_22_3028 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_3020 26 -brif 26 L3020 L3021 -label L3020 +store __and_22_3028 26 +brif 26 L3028 L3029 +label L3028 load 28 timeout_idx iconst 29 0 lt 30 28 29 -store __and_22_3020 30 -label L3021 -load 31 __and_22_3020 -brif 31 L3018 L3019 -label L3018 +store __and_22_3028 30 +label L3029 +load 31 __and_22_3028 +brif 31 L3026 L3027 +label L3026 load 32 __loopvar_345_child store timeout_idx 32 -jmp L3017 -label L3019 +jmp L3025 +label L3027 iconst 33 0 -store __and_33_3024 33 +store __and_33_3032 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_3024 37 -brif 37 L3024 L3025 -label L3024 +store __and_33_3032 37 +brif 37 L3032 L3033 +label L3032 load 39 default_idx iconst 40 0 lt 41 39 40 -store __and_33_3024 41 -label L3025 -load 42 __and_33_3024 -brif 42 L3022 L3023 -label L3022 +store __and_33_3032 41 +label L3033 +load 42 __and_33_3032 +brif 42 L3030 L3031 +label L3030 load 43 __loopvar_345_child store default_idx 43 -jmp L3017 +jmp L3025 +label L3031 +label L3025 label L3023 -label L3017 -label L3015 load 44 __for_idx_345 iconst 45 1 add 46 44 45 store __for_idx_345 46 -jmp L3013 -label L3016 +jmp L3021 +label L3024 load 47 node call 48 ir_emitter_core_ir_select_probe_arm_indices list 1 47 load 49 timeout_idx @@ -149110,25 +149213,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_3029 10 +store __and_10_3037 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_3029 14 -brif 14 L3029 L3030 -label L3029 +store __and_10_3037 14 +brif 14 L3037 L3038 +label L3037 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_3029 20 -label L3030 -load 21 __and_10_3029 -brif 21 L3027 L3028 -label L3027 +store __and_10_3037 20 +label L3038 +load 21 __and_10_3037 +brif 21 L3035 L3036 +label L3035 load 22 arm_node field 23 22 16 list children iconst 24 0 @@ -149208,28 +149311,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 L3026 -label L3028 +jmp L3034 +label L3036 iconst 96 0 -store __and_96_3033 96 +store __and_96_3041 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_3033 100 -brif 100 L3033 L3034 -label L3033 +store __and_96_3041 100 +brif 100 L3041 L3042 +label L3041 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_3033 106 -label L3034 -load 107 __and_96_3033 -brif 107 L3031 L3032 -label L3031 +store __and_96_3041 106 +label L3042 +load 107 __and_96_3041 +brif 107 L3039 L3040 +label L3039 load 108 arm_node field 109 108 16 list children iconst 110 0 @@ -149302,9 +149405,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 L3026 -label L3032 -label L3026 +jmp L3034 +label L3040 +label L3034 load 176 arm_node call 177 pith_struct_release void 1 176 load 178 hit_l @@ -149323,16 +149426,16 @@ store timeout_node 2 load 3 timeout_idx iconst 4 0 lt 5 3 4 -brif 5 L3036 L3037 -label L3036 +brif 5 L3044 L3045 +label L3044 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 L3037 -label L3035 +label L3045 +label L3043 load 11 deadline_name strref 12 m46s1223 call 13 ir_builder_ir_new_temp_name string 1 12 @@ -149419,14 +149522,14 @@ store offset_name 1 load 2 probe_count iconst 3 1 lte 4 2 3 -brif 4 L3039 L3040 -label L3039 +brif 4 L3047 L3048 +label L3047 strref 5 m46s82 load 6 offset_name call 7 pith_cstring_release void 1 6 ret 5 -label L3040 -label L3038 +label L3048 +label L3046 load 8 offset_name strref 9 m46s1222 call 10 ir_builder_ir_new_temp_name string 1 9 @@ -149520,12 +149623,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 L3041 +label L3049 load 29 i load 30 probe_count lt 31 29 30 -brif 31 L3042 L3043 -label L3042 +brif 31 L3050 L3051 +label L3050 load 32 case_l call 33 ir_builder_ir_label string 0 call 34 pith_cstring_release void 1 32 @@ -149607,12 +149710,12 @@ load 105 case_l call 106 ir_call_emit_ir_emit_label void 1 105 iconst 107 0 store j 107 -label L3044 +label L3052 load 108 j load 109 probe_count lt 110 108 109 -brif 110 L3045 L3046 -label L3045 +brif 110 L3053 L3054 +label L3053 load 111 i load 112 j add 113 111 112 @@ -149629,8 +149732,8 @@ load 122 j iconst 123 1 add 124 122 123 store j 124 -jmp L3044 -label L3046 +jmp L3052 +label L3054 strref 125 m46s833 load 126 probe_done_l concat 127 125 126 @@ -149643,8 +149746,8 @@ load 133 i iconst 134 1 add 135 133 134 store i 135 -jmp L3041 -label L3043 +jmp L3049 +label L3051 load 136 probe_done_l call 137 ir_call_emit_ir_emit_label void 1 136 load 138 probe_done_l @@ -149667,17 +149770,17 @@ store probe_count 5 load 6 probe_count iconst 7 0 eq 8 6 7 -brif 8 L3048 L3049 -label L3048 +brif 8 L3056 L3057 +label L3056 iconst 9 0 ret 9 -label L3049 -label L3047 +label L3057 +label L3055 load 10 probe_count iconst 11 1 eq 12 10 11 -brif 12 L3051 L3052 -label L3051 +brif 12 L3059 L3060 +label L3059 load 13 probe_arms iconst 14 0 call 15 pith_list_get_value_strict int 2 13 14 @@ -149686,8 +149789,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 L3052 -label L3050 +label L3060 +label L3058 load 20 probe_arms load 21 offset_name load 22 result_temp @@ -149705,14 +149808,14 @@ store default_node 3 load 4 default_idx iconst 5 0 lt 6 4 5 -brif 6 L3054 L3055 -label L3054 +brif 6 L3062 L3063 +label L3062 load 7 default_node call 8 pith_struct_release void 1 7 iconst 9 0 ret 9 -label L3055 -label L3053 +label L3063 +label L3061 load 10 default_node load 11 default_idx call 12 ast_get_node struct:Node 1 11 @@ -149723,14 +149826,14 @@ field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -brif 18 L3057 L3058 -label L3057 +brif 18 L3065 L3066 +label L3065 load 19 default_node call 20 pith_struct_release void 1 19 iconst 21 0 ret 21 -label L3058 -label L3056 +label L3066 +label L3064 load 22 default_node field 23 22 16 list children iconst 24 0 @@ -149782,8 +149885,8 @@ store timeout_node 6 load 7 timeout_idx iconst 8 0 lt 9 7 8 -brif 9 L3060 L3061 -label L3060 +brif 9 L3068 L3069 +label L3068 load 10 timeout_l call 11 pith_cstring_release void 1 10 load 12 wait_l @@ -149792,8 +149895,8 @@ load 14 timeout_node call 15 pith_struct_release void 1 14 iconst 16 0 ret 16 -label L3061 -label L3059 +label L3069 +label L3067 call 17 ir_builder_ir_reg int 0 store now_r 17 load 18 now_r @@ -149933,12 +150036,12 @@ param offset_name load 2 probe_count iconst 3 1 lte 4 2 3 -brif 4 L3063 L3064 -label L3063 +brif 4 L3071 L3072 +label L3071 iconst 5 0 ret 5 -label L3064 -label L3062 +label L3072 +label L3070 call 6 ir_builder_ir_reg int 0 store next_offset_r 6 call 7 ir_builder_ir_reg int 0 @@ -150224,43 +150327,43 @@ endfunc func ir_emitter_core_ir_is_channel_send_name 1 bool param emit_name iconst 1 0 -store __or_1_3068 1 +store __or_1_3076 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_3068 4 -brif 4 L3069 L3068 -label L3068 +store __or_1_3076 4 +brif 4 L3077 L3076 +label L3076 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_3068 8 -label L3069 -load 10 __or_1_3068 -brif 10 L3066 L3067 -label L3066 +store __or_1_3076 8 +label L3077 +load 10 __or_1_3076 +brif 10 L3074 L3075 +label L3074 iconst 11 1 ret 11 -label L3067 -label L3065 +label L3075 +label L3073 iconst 12 0 -store __or_12_3070 12 +store __or_12_3078 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_3070 15 -brif 15 L3071 L3070 -label L3070 +store __or_12_3078 15 +brif 15 L3079 L3078 +label L3078 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_3070 19 -label L3071 -load 21 __or_12_3070 +store __or_12_3078 19 +label L3079 +load 21 __or_12_3078 ret 21 iconst 22 0 ret 22 @@ -150273,36 +150376,36 @@ store variant_r 2 load 3 variant_r iconst 4 0 gte 5 3 4 -brif 5 L3073 L3074 -label L3073 +brif 5 L3081 L3082 +label L3081 load 6 variant_r ret 6 -label L3074 -label L3072 +label L3082 +label L3080 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 L3076 L3077 -label L3076 +brif 11 L3084 L3085 +label L3084 load 12 typed_r ret 12 -label L3077 -label L3075 +label L3085 +label L3083 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 L3079 L3080 -label L3079 +brif 17 L3087 L3088 +label L3087 load 18 alias_r ret 18 -label L3080 -label L3078 +label L3088 +label L3086 load 19 idx call 20 ir_emitter_core_ir_emit_general_method_call int 1 19 ret 20 @@ -150340,8 +150443,8 @@ field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3082 L3083 -label L3082 +brif 21 L3090 L3091 +label L3090 load 22 ctor_recv load 23 node field 24 23 16 list children @@ -150351,24 +150454,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_3087 29 +store __and_29_3095 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_3087 33 -brif 33 L3087 L3088 -label L3087 +store __and_29_3095 33 +brif 33 L3095 L3096 +label L3095 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_3087 38 -label L3088 -load 39 __and_29_3087 -brif 39 L3085 L3086 -label L3085 +store __and_29_3095 38 +label L3096 +load 39 __and_29_3095 +brif 39 L3093 L3094 +label L3093 load 40 ctor_key load 41 ctor_recv field 42 41 8 string value @@ -150383,8 +150486,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 L3090 L3091 -label L3090 +brif 52 L3098 L3099 +label L3098 load 53 node load 54 ctor_recv field 55 54 8 string value @@ -150403,31 +150506,31 @@ call 67 pith_struct_release void 1 66 load 68 qual_key call 69 pith_cstring_release void 1 68 ret 57 -label L3091 -label L3089 -jmp L3084 -label L3086 -label L3084 +label L3099 +label L3097 +jmp L3092 +label L3094 +label L3092 iconst 70 0 -store __and_70_3095 70 +store __and_70_3103 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_3095 74 -brif 74 L3095 L3096 -label L3095 +store __and_70_3103 74 +brif 74 L3103 L3104 +label L3103 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_3095 80 -label L3096 -load 81 __and_70_3095 -brif 81 L3093 L3094 -label L3093 +store __and_70_3103 80 +label L3104 +load 81 __and_70_3103 +brif 81 L3101 L3102 +label L3101 load 82 qual_mod load 83 ctor_recv field 84 83 16 list children @@ -150437,36 +150540,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_3100 89 +store __and_89_3108 89 iconst 90 0 -store __and_90_3100 90 +store __and_90_3108 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_3100 94 -brif 94 L3100 L3101 -label L3100 +store __and_90_3108 94 +brif 94 L3108 L3109 +label L3108 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_3100 99 -label L3101 -load 100 __and_90_3100 -store __and_89_3100 100 -brif 100 L3102 L3103 -label L3102 +store __and_90_3108 99 +label L3109 +load 100 __and_90_3108 +store __and_89_3108 100 +brif 100 L3110 L3111 +label L3110 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_3100 104 -label L3103 -load 105 __and_89_3100 -brif 105 L3098 L3099 -label L3098 +store __and_89_3108 104 +label L3111 +load 105 __and_89_3108 +brif 105 L3106 L3107 +label L3106 load 106 qual_key load 107 ctor_recv field 108 107 8 string value @@ -150481,8 +150584,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 L3105 L3106 -label L3105 +brif 118 L3113 L3114 +label L3113 load 119 node load 120 ctor_recv field 121 120 8 string value @@ -150501,17 +150604,17 @@ call 133 pith_struct_release void 1 132 load 134 qual_key call 135 pith_cstring_release void 1 134 ret 123 -label L3106 -label L3104 -jmp L3097 -label L3099 -label L3097 -jmp L3092 -label L3094 -label L3092 -jmp L3081 -label L3083 -label L3081 +label L3114 +label L3112 +jmp L3105 +label L3107 +label L3105 +jmp L3100 +label L3102 +label L3100 +jmp L3089 +label L3091 +label L3089 iconst 136 0 iconst 137 1 sub 138 136 137 @@ -150578,8 +150681,8 @@ field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 gt 23 21 22 -brif 23 L3108 L3109 -label L3108 +brif 23 L3116 L3117 +label L3116 load 24 node field 25 24 16 list children iconst 26 0 @@ -150589,91 +150692,91 @@ store recv_tid 28 load 29 recv_tid iconst 30 0 gte 31 29 30 -brif 31 L3111 L3112 -label L3111 +brif 31 L3119 L3120 +label L3119 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_3116 36 +store __and_36_3124 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_3116 40 -brif 40 L3116 L3117 -label L3116 +store __and_36_3124 40 +brif 40 L3124 L3125 +label L3124 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_3116 44 -label L3117 -load 46 __and_36_3116 -brif 46 L3114 L3115 -label L3114 +store __and_36_3124 44 +label L3125 +load 46 __and_36_3124 +brif 46 L3122 L3123 +label L3122 iconst 47 0 -store __or_47_3121 47 +store __or_47_3129 47 iconst 48 0 -store __or_48_3121 48 +store __or_48_3129 48 iconst 49 0 -store __or_49_3121 49 +store __or_49_3129 49 iconst 50 0 -store __or_50_3121 50 +store __or_50_3129 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_3121 54 -brif 54 L3122 L3121 -label L3121 +store __or_50_3129 54 +brif 54 L3130 L3129 +label L3129 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_3121 59 -label L3122 -load 61 __or_50_3121 -store __or_49_3121 61 -brif 61 L3124 L3123 -label L3123 +store __or_50_3129 59 +label L3130 +load 61 __or_50_3129 +store __or_49_3129 61 +brif 61 L3132 L3131 +label L3131 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_3121 65 -label L3124 -load 67 __or_49_3121 -store __or_48_3121 67 -brif 67 L3126 L3125 -label L3125 +store __or_49_3129 65 +label L3132 +load 67 __or_49_3129 +store __or_48_3129 67 +brif 67 L3134 L3133 +label L3133 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_3121 71 -label L3126 -load 73 __or_48_3121 -store __or_47_3121 73 -brif 73 L3128 L3127 -label L3127 +store __or_48_3129 71 +label L3134 +load 73 __or_48_3129 +store __or_47_3129 73 +brif 73 L3136 L3135 +label L3135 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_3121 77 -label L3128 -load 79 __or_47_3121 -brif 79 L3119 L3120 -label L3119 +store __or_47_3129 77 +label L3136 +load 79 __or_47_3129 +brif 79 L3127 L3128 +label L3127 load 80 node field 81 80 16 list children iconst 82 0 @@ -150707,24 +150810,24 @@ call 107 pith_cstring_release void 1 106 load 108 end_l call 109 pith_cstring_release void 1 108 ret 93 -label L3120 -label L3118 -jmp L3113 -label L3115 -label L3113 +label L3128 +label L3126 +jmp L3121 +label L3123 +label L3121 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 L3130 L3131 -label L3130 +brif 113 L3138 L3139 +label L3138 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 L3133 L3134 -label L3133 +brif 117 L3141 L3142 +label L3141 load 119 idx load 120 node call 121 ir_emitter_core_ir_emit_result_unwrap_or int 2 119 120 @@ -150745,14 +150848,14 @@ call 135 pith_cstring_release void 1 134 load 136 end_l call 137 pith_cstring_release void 1 136 ret 121 -label L3134 -label L3132 +label L3142 +label L3140 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 L3136 L3137 -label L3136 +brif 140 L3144 L3145 +label L3144 load 142 idx load 143 node call 144 ir_emitter_core_ir_emit_result_or_else int 2 142 143 @@ -150773,14 +150876,14 @@ call 158 pith_cstring_release void 1 157 load 159 end_l call 160 pith_cstring_release void 1 159 ret 144 -label L3137 -label L3135 +label L3145 +label L3143 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 L3139 L3140 -label L3139 +brif 163 L3147 L3148 +label L3147 load 165 node call 166 ir_emitter_core_ir_emit_result_to_string int 1 165 load 167 node @@ -150800,30 +150903,30 @@ call 180 pith_cstring_release void 1 179 load 181 end_l call 182 pith_cstring_release void 1 181 ret 166 -label L3140 -label L3138 -jmp L3129 -label L3131 -label L3129 +label L3148 +label L3146 +jmp L3137 +label L3139 +label L3137 iconst 183 0 -store __and_183_3144 183 +store __and_183_3152 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_3144 187 -brif 187 L3144 L3145 -label L3144 +store __and_183_3152 187 +brif 187 L3152 L3153 +label L3152 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_3144 191 -label L3145 -load 193 __and_183_3144 -brif 193 L3142 L3143 -label L3142 +store __and_183_3152 191 +label L3153 +load 193 __and_183_3152 +brif 193 L3150 L3151 +label L3150 load 194 node field 195 194 16 list children iconst 196 0 @@ -150858,27 +150961,27 @@ call 222 pith_cstring_release void 1 221 load 223 end_l call 224 pith_cstring_release void 1 223 ret 208 -label L3143 -label L3141 +label L3151 +label L3149 iconst 225 0 -store __and_225_3149 225 +store __and_225_3157 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_3149 229 -brif 229 L3149 L3150 -label L3149 +store __and_225_3157 229 +brif 229 L3157 L3158 +label L3157 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_3149 233 -label L3150 -load 235 __and_225_3149 -brif 235 L3147 L3148 -label L3147 +store __and_225_3157 233 +label L3158 +load 235 __and_225_3157 +brif 235 L3155 L3156 +label L3155 load 236 node field 237 236 16 list children iconst 238 0 @@ -150949,26 +151052,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_3154 296 +store __and_296_3162 296 load 297 inner_kind call 298 string_len int 1 297 iconst 299 0 gt 300 298 299 -store __and_296_3154 300 -brif 300 L3154 L3155 -label L3154 +store __and_296_3162 300 +brif 300 L3162 L3163 +label L3162 load 301 owns_subject -store __and_296_3154 301 -label L3155 -load 302 __and_296_3154 -brif 302 L3152 L3153 -label L3152 +store __and_296_3162 301 +label L3163 +load 302 __and_296_3162 +brif 302 L3160 L3161 +label L3160 load 303 inner_r load 304 inner_kind call 305 ir_ownership_ir_rc_retain_reg void 2 303 304 -jmp L3151 -label L3153 -label L3151 +jmp L3159 +label L3161 +label L3159 strref 306 m46s830 load 307 tmp concat 308 306 307 @@ -151017,8 +151120,8 @@ 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 L3157 L3158 -label L3157 +brif 351 L3165 L3166 +label L3165 call 352 ir_builder_ir_reg int 0 strref 353 m46s898 strref 354 m46s828 @@ -151026,9 +151129,9 @@ load 355 obj_r call 356 ir_call_emit_ir_emit_call1 void 4 352 353 354 355 call 357 pith_cstring_release void 1 353 call 358 pith_cstring_release void 1 354 -jmp L3156 -label L3158 -label L3156 +jmp L3164 +label L3166 +label L3164 call 359 ir_builder_ir_reg int 0 store out_r 359 strref 360 m46s829 @@ -151064,45 +151167,45 @@ call 389 pith_cstring_release void 1 388 load 390 end_l call 391 pith_cstring_release void 1 390 ret 375 -label L3148 -label L3146 -jmp L3110 -label L3112 -label L3110 -jmp L3107 -label L3109 -label L3107 +label L3156 +label L3154 +jmp L3118 +label L3120 +label L3118 +jmp L3115 +label L3117 +label L3115 iconst 392 0 -store __and_392_3162 392 +store __and_392_3170 392 iconst 393 0 -store __and_393_3162 393 +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_3162 396 -brif 396 L3162 L3163 -label L3162 +store __and_393_3170 396 +brif 396 L3170 L3171 +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_3162 401 -label L3163 -load 402 __and_393_3162 -store __and_392_3162 402 -brif 402 L3164 L3165 -label L3164 +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_3162 407 -label L3165 -load 408 __and_392_3162 -brif 408 L3160 L3161 -label L3160 +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 @@ -151150,8 +151253,8 @@ call 450 pith_cstring_release void 1 449 load 451 end_l call 452 pith_cstring_release void 1 451 ret 436 -label L3161 -label L3159 +label L3169 +label L3167 iconst 453 0 iconst 454 1 sub 455 453 454 @@ -151225,8 +151328,8 @@ load 18 alias_fname call 19 string_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3167 L3168 -label L3167 +brif 21 L3175 L3176 +label L3175 load 22 call_name load 23 alias_fname call 24 pith_cstring_retain void 1 23 @@ -151238,32 +151341,32 @@ store alias_expr_tid 27 load 28 alias_expr_tid iconst 29 0 gte 30 28 29 -brif 30 L3170 L3171 -label L3170 +brif 30 L3178 L3179 +label L3178 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_3175 35 +store __and_35_3183 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_3175 39 -brif 39 L3175 L3176 -label L3175 +store __and_35_3183 39 +brif 39 L3183 L3184 +label L3183 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_3175 44 -label L3176 -load 45 __and_35_3175 -brif 45 L3173 L3174 -label L3173 +store __and_35_3183 44 +label L3184 +load 45 __and_35_3183 +brif 45 L3181 L3182 +label L3181 load 46 ctor_args call 47 pith_list_new_default list 0 call 48 pith_list_release_handle void 1 46 @@ -151275,12 +151378,12 @@ iconst 52 0 store __for_idx_346 52 store __for_len_346 51 store __for_iter_346 50 -label L3177 +label L3185 load 53 __for_idx_346 load 54 __for_len_346 lt 55 53 54 -brif 55 L3178 L3180 -label L3178 +brif 55 L3186 L3188 +label L3186 load 56 __for_iter_346 load 57 __for_idx_346 call 58 pith_list_get_value unknown 2 56 57 @@ -151290,21 +151393,21 @@ store __loopvar_346_ci 59 load 60 __loopvar_346_ci iconst 61 0 eq 62 60 61 -brif 62 L3182 L3183 -label L3182 -jmp L3179 -label L3183 -label L3181 +brif 62 L3190 L3191 +label L3190 +jmp L3187 +label L3191 +label L3189 load 63 ctor_args load 64 __loopvar_346_child call 65 pith_list_push_value void 2 63 64 -label L3179 +label L3187 load 66 __for_idx_346 iconst 67 1 add 68 66 67 store __for_idx_346 68 -jmp L3177 -label L3180 +jmp L3185 +label L3188 load 69 call_name load 70 ctor_args load 71 alias_expr_tid @@ -151328,15 +151431,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 L3174 -label L3172 -jmp L3169 -label L3171 -label L3169 +label L3182 +label L3180 +jmp L3177 +label L3179 +label L3177 load 91 call_name call 92 ir_generics_ir_is_generic_function_name bool 1 91 -brif 92 L3185 L3186 -label L3185 +brif 92 L3193 L3194 +label L3193 load 93 generic_ret_type load 94 idx call 95 ir_type_helpers_ir_checked_type string 1 94 @@ -151346,16 +151449,16 @@ load 97 generic_ret_type call 98 string_len int 1 97 iconst 99 0 eq 100 98 99 -brif 100 L3188 L3189 -label L3188 +brif 100 L3196 L3197 +label L3196 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 L3187 -label L3189 -label L3187 +jmp L3195 +label L3197 +label L3195 load 105 mct load 106 call_name load 107 node @@ -151374,9 +151477,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 L3184 -label L3186 -label L3184 +jmp L3192 +label L3194 +label L3192 load 121 arg_regs load 122 node iconst 123 1 @@ -151419,36 +151522,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_3193 156 +store __and_156_3201 156 iconst 157 0 -store __and_157_3193 157 +store __and_157_3201 157 load 158 uses_result_abi -store __and_157_3193 158 -brif 158 L3193 L3194 -label L3193 +store __and_157_3201 158 +brif 158 L3201 L3202 +label L3201 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_3193 161 -label L3194 -load 165 __and_157_3193 -store __and_156_3193 165 -brif 165 L3195 L3196 -label L3195 +store __and_157_3201 161 +label L3202 +load 165 __and_157_3201 +store __and_156_3201 165 +brif 165 L3203 L3204 +label L3203 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_3193 169 -label L3196 -load 172 __and_156_3193 -brif 172 L3191 L3192 -label L3191 +store __and_156_3201 169 +label L3204 +load 172 __and_156_3201 +brif 172 L3199 L3200 +label L3199 load 173 r load 174 ret_type load 175 call_name @@ -151472,8 +151575,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 L3192 -label L3190 +label L3200 +label L3198 load 195 r load 196 node call 197 pith_struct_release void 1 196 @@ -151494,8 +151597,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 L3168 -label L3166 +label L3176 +label L3174 iconst 214 0 iconst 215 1 sub 216 214 215 @@ -151601,8 +151704,8 @@ store self_hosted_list_r 36 load 37 self_hosted_list_r iconst 38 0 gte 39 37 38 -brif 39 L3198 L3199 -label L3198 +brif 39 L3206 L3207 +label L3206 load 40 self_hosted_list_r load 41 node call 42 pith_struct_release void 1 41 @@ -151639,8 +151742,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 L3199 -label L3197 +label L3207 +label L3205 load 75 cf_struct load 76 obj_type call 77 ir_method_tables_ir_strip_type_args string 1 76 @@ -151650,8 +151753,8 @@ load 79 cf_struct call 80 string_len int 1 79 iconst 81 0 gt 82 80 81 -brif 82 L3201 L3202 -label L3201 +brif 82 L3209 L3210 +label L3209 load 83 field_key load 84 cf_struct strref 85 m46s26 @@ -151669,22 +151772,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_3206 97 +store __and_97_3214 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_3206 100 -brif 100 L3206 L3207 -label L3206 +store __and_97_3214 100 +brif 100 L3214 L3215 +label L3214 load 101 existing_method call 102 string_len int 1 101 iconst 103 0 eq 104 102 103 -store __and_97_3206 104 -label L3207 -load 105 __and_97_3206 -brif 105 L3204 L3205 -label L3204 +store __and_97_3214 104 +label L3215 +load 105 __and_97_3214 +brif 105 L3212 L3213 +label L3212 load 106 node field 107 106 16 list children iconst 108 0 @@ -151760,7 +151863,7 @@ call 173 pith_list_release_handle void 1 171 store arg_regs 172 iconst 174 0 store ai 174 -label L3208 +label L3216 load 175 ai load 176 node field 177 176 16 list children @@ -151768,8 +151871,8 @@ call 178 pith_list_len int 1 177 iconst 179 1 sub 180 178 179 lt 181 175 180 -brif 181 L3209 L3210 -label L3209 +brif 181 L3217 L3218 +label L3217 load 182 node load 183 ai call 184 ir_emitter_core_ir_method_call_arg_expr int 2 182 183 @@ -151782,8 +151885,8 @@ load 189 ai iconst 190 1 add 191 189 190 store ai 191 -jmp L3208 -label L3210 +jmp L3216 +label L3218 call 192 ir_builder_ir_reg int 0 store r 192 strref 193 m46s1033 @@ -151852,11 +151955,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 L3205 -label L3203 -jmp L3200 -label L3202 -label L3200 +label L3213 +label L3211 +jmp L3208 +label L3210 +label L3208 load 258 emit_name load 259 mname load 260 obj_type @@ -151864,14 +151967,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_3214 263 +store __and_263_3222 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_3214 266 -brif 266 L3214 L3215 -label L3214 +store __and_263_3222 266 +brif 266 L3222 L3223 +label L3222 load 268 node field 269 268 16 list children iconst 270 0 @@ -151881,30 +151984,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_3214 274 -label L3215 -load 277 __and_263_3214 -brif 277 L3212 L3213 -label L3212 +store __and_263_3222 274 +label L3223 +load 277 __and_263_3222 +brif 277 L3220 L3221 +label L3220 load 278 emit_name strref 279 m46s1214 call 280 pith_cstring_release void 1 278 store emit_name 279 -jmp L3211 -label L3213 -label L3211 +jmp L3219 +label L3221 +label L3219 load 281 emit_name call 282 ir_metadata_ir_is_bool_returning_method bool 1 281 -brif 282 L3217 L3218 -label L3217 +brif 282 L3225 L3226 +label L3225 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 L3216 -label L3218 -label L3216 +jmp L3224 +label L3226 +label L3224 load 288 impl_name load 289 obj_type load 290 mname @@ -151915,33 +152018,33 @@ load 293 impl_name call 294 string_len int 1 293 iconst 295 0 eq 296 294 295 -brif 296 L3220 L3221 -label L3220 +brif 296 L3228 L3229 +label L3228 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 L3219 -label L3221 -label L3219 +jmp L3227 +label L3229 +label L3227 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 L3223 L3224 -label L3223 +brif 306 L3231 L3232 +label L3231 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 L3222 -label L3224 -label L3222 +jmp L3230 +label L3232 +label L3230 load 311 call_regs load 312 node call 313 ir_emitter_core_ir_collect_method_call_regs list 1 312 @@ -151957,15 +152060,15 @@ call 320 pith_list_release_handle void 1 318 store arg_regs 319 iconst 321 0 store ci 321 -label L3225 +label L3233 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 L3226 L3227 -label L3226 +brif 327 L3234 L3235 +label L3234 load 328 arg_regs load 329 call_regs load 330 ci @@ -151977,8 +152080,8 @@ load 335 ci iconst 336 1 add 337 335 336 store ci 337 -jmp L3225 -label L3227 +jmp L3233 +label L3235 call 338 ir_builder_ir_reg int 0 store r 338 load 339 emit_name @@ -152003,122 +152106,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 L3229 L3230 -label L3229 +brif 356 L3237 L3238 +label L3237 load 357 ret_type strref 358 m46s828 call 359 pith_cstring_release void 1 357 store ret_type 358 -jmp L3228 -label L3230 -label L3228 +jmp L3236 +label L3238 +label L3236 iconst 360 0 iconst 361 1 sub 362 360 361 store store_value_pos 362 iconst 363 0 -store __or_363_3234 363 +store __or_363_3242 363 iconst 364 0 -store __or_364_3234 364 +store __or_364_3242 364 iconst 365 0 -store __or_365_3234 365 +store __or_365_3242 365 load 366 emit_name call 367 ir_emitter_core_ir_is_channel_send_name bool 1 366 -store __or_365_3234 367 -brif 367 L3235 L3234 -label L3234 +store __or_365_3242 367 +brif 367 L3243 L3242 +label L3242 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_3234 370 -label L3235 -load 372 __or_365_3234 -store __or_364_3234 372 -brif 372 L3237 L3236 -label L3236 +store __or_365_3242 370 +label L3243 +load 372 __or_365_3242 +store __or_364_3242 372 +brif 372 L3245 L3244 +label L3244 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_3234 375 -label L3237 -load 377 __or_364_3234 -store __or_363_3234 377 -brif 377 L3239 L3238 -label L3238 +store __or_364_3242 375 +label L3245 +load 377 __or_364_3242 +store __or_363_3242 377 +brif 377 L3247 L3246 +label L3246 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_3234 380 -label L3239 -load 382 __or_363_3234 -brif 382 L3232 L3233 -label L3232 +store __or_363_3242 380 +label L3247 +load 382 __or_363_3242 +brif 382 L3240 L3241 +label L3240 iconst 383 0 store store_value_pos 383 -jmp L3231 -label L3233 +jmp L3239 +label L3241 iconst 384 0 -store __or_384_3242 384 +store __or_384_3250 384 iconst 385 0 -store __or_385_3242 385 +store __or_385_3250 385 iconst 386 0 -store __or_386_3242 386 +store __or_386_3250 386 iconst 387 0 -store __or_387_3242 387 +store __or_387_3250 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_3242 390 -brif 390 L3243 L3242 -label L3242 +store __or_387_3250 390 +brif 390 L3251 L3250 +label L3250 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_3242 394 -label L3243 -load 396 __or_387_3242 -store __or_386_3242 396 -brif 396 L3245 L3244 -label L3244 +store __or_387_3250 394 +label L3251 +load 396 __or_387_3250 +store __or_386_3250 396 +brif 396 L3253 L3252 +label L3252 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_3242 399 -label L3245 -load 401 __or_386_3242 -store __or_385_3242 401 -brif 401 L3247 L3246 -label L3246 +store __or_386_3250 399 +label L3253 +load 401 __or_386_3250 +store __or_385_3250 401 +brif 401 L3255 L3254 +label L3254 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_3242 404 -label L3247 -load 406 __or_385_3242 -store __or_384_3242 406 -brif 406 L3249 L3248 -label L3248 +store __or_385_3250 404 +label L3255 +load 406 __or_385_3250 +store __or_384_3250 406 +brif 406 L3257 L3256 +label L3256 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_3242 409 -label L3249 -load 411 __or_384_3242 -brif 411 L3240 L3241 -label L3240 +store __or_384_3250 409 +label L3257 +load 411 __or_384_3250 +brif 411 L3248 L3249 +label L3248 iconst 412 1 store store_value_pos 412 -jmp L3231 -label L3241 -label L3231 +jmp L3239 +label L3249 +label L3239 load 413 call_name load 414 emit_name call 415 pith_cstring_retain void 1 414 @@ -152127,25 +152230,25 @@ store call_name 414 load 417 impl_dispatch iconst 419 1 sub 418 419 417 -brif 418 L3251 L3252 -label L3251 +brif 418 L3259 L3260 +label L3259 iconst 420 0 -store __and_420_3256 420 +store __and_420_3264 420 load 421 store_value_pos iconst 422 0 gte 423 421 422 -store __and_420_3256 423 -brif 423 L3256 L3257 -label L3256 +store __and_420_3264 423 +brif 423 L3264 L3265 +label L3264 load 424 store_value_pos load 425 arg_regs call 426 pith_list_len int 1 425 lt 427 424 426 -store __and_420_3256 427 -label L3257 -load 428 __and_420_3256 -brif 428 L3254 L3255 -label L3254 +store __and_420_3264 427 +label L3265 +load 428 __and_420_3264 +brif 428 L3262 L3263 +label L3262 load 429 node load 430 store_value_pos call 431 ir_emitter_core_ir_method_call_arg_expr int 2 429 430 @@ -152153,8 +152256,8 @@ store value_expr 431 load 432 value_expr iconst 433 0 gte 434 432 433 -brif 434 L3259 L3260 -label L3259 +brif 434 L3267 L3268 +label L3267 load 435 store_kind load 436 value_expr call 437 ir_emitter_core_ir_infer_type string 1 436 @@ -152164,27 +152267,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 L3262 L3263 -label L3262 +brif 442 L3270 L3271 +label L3270 load 443 emit_name load 444 store_kind call 445 ir_emitter_core_ir_container_store_needs_retain bool 2 443 444 -brif 445 L3265 L3266 -label L3265 +brif 445 L3273 L3274 +label L3273 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 L3264 -label L3266 -label L3264 -jmp L3261 -label L3263 +jmp L3272 +label L3274 +label L3272 +jmp L3269 +label L3271 load 451 store_kind call 452 ir_emitter_core_ir_container_store_takes_count bool 1 451 -brif 452 L3267 L3268 -label L3267 +brif 452 L3275 L3276 +label L3275 load 453 owned_store load 454 emit_name call 455 ir_emitter_core_ir_owned_container_store_name string 1 454 @@ -152194,28 +152297,28 @@ load 457 owned_store call 458 string_len int 1 457 iconst 459 0 gt 460 458 459 -brif 460 L3270 L3271 -label L3270 +brif 460 L3278 L3279 +label L3278 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 L3271 +label L3276 label L3269 -jmp L3261 +jmp L3266 label L3268 +label L3266 +jmp L3261 +label L3263 label L3261 jmp L3258 -label L3260 -label L3258 -jmp L3253 -label L3255 -label L3253 -jmp L3250 -label L3252 -label L3250 +label L3260 +label L3258 load 465 call_args load 466 obj_r load 467 arg_regs @@ -152223,22 +152326,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_3275 470 +store __and_470_3283 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_3275 473 -brif 473 L3275 L3276 -label L3275 +store __and_470_3283 473 +brif 473 L3283 L3284 +label L3283 load 475 impl_dispatch iconst 477 1 sub 476 477 475 -store __and_470_3275 476 -label L3276 -load 478 __and_470_3275 -brif 478 L3273 L3274 -label L3273 +store __and_470_3283 476 +label L3284 +load 478 __and_470_3283 +brif 478 L3281 L3282 +label L3281 load 479 obj_r load 480 node call 481 pith_struct_release void 1 480 @@ -152275,8 +152378,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 L3274 -label L3272 +label L3282 +label L3280 load 514 r load 515 call_name load 516 ret_type @@ -152295,8 +152398,8 @@ field 528 527 16 list children call 529 pith_list_len int 1 528 iconst 530 0 gt 531 529 530 -brif 531 L3278 L3279 -label L3278 +brif 531 L3286 L3287 +label L3286 load 532 node field 533 532 16 list children iconst 534 0 @@ -152310,72 +152413,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_3283 542 +store __and_542_3291 542 load 543 recv_kind call 544 string_len int 1 543 iconst 545 0 gt 546 544 545 -store __and_542_3283 546 -brif 546 L3283 L3284 -label L3283 +store __and_542_3291 546 +brif 546 L3291 L3292 +label L3291 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_3283 549 -label L3284 -load 551 __and_542_3283 -brif 551 L3281 L3282 -label L3281 +store __and_542_3291 549 +label L3292 +load 551 __and_542_3291 +brif 551 L3289 L3290 +label L3289 load 552 emit_name call 553 ir_metadata_ir_is_void_method bool 1 552 iconst 555 1 sub 554 555 553 -brif 554 L3286 L3287 -label L3286 +brif 554 L3294 L3295 +label L3294 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 L3280 -label L3282 -label L3280 -jmp L3277 -label L3279 -label L3277 iconst 559 0 -store __and_559_3291 559 +store __and_559_3299 559 iconst 560 0 -store __and_560_3291 560 +store __and_560_3299 560 load 561 uses_result_abi -store __and_560_3291 561 -brif 561 L3291 L3292 -label L3291 +store __and_560_3299 561 +brif 561 L3299 L3300 +label L3299 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_3291 564 -label L3292 -load 568 __and_560_3291 -store __and_559_3291 568 -brif 568 L3293 L3294 -label L3293 +store __and_560_3299 564 +label L3300 +load 568 __and_560_3299 +store __and_559_3299 568 +brif 568 L3301 L3302 +label L3301 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_3291 572 -label L3294 -load 575 __and_559_3291 -brif 575 L3289 L3290 -label L3289 +store __and_559_3299 572 +label L3302 +load 575 __and_559_3299 +brif 575 L3297 L3298 +label L3297 load 576 r load 577 ret_type load 578 emit_name @@ -152415,12 +152518,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 L3290 -label L3288 +label L3298 +label L3296 load 614 emit_name call 615 ir_metadata_ir_is_void_method bool 1 614 -brif 615 L3296 L3297 -label L3296 +brif 615 L3304 L3305 +label L3304 load 616 obj_r load 617 node call 618 pith_struct_release void 1 617 @@ -152457,8 +152560,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 L3297 -label L3295 +label L3305 +label L3303 load 651 r load 652 node call 653 pith_struct_release void 1 652 @@ -152548,8 +152651,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 L3299 L3300 -label L3299 +brif 10 L3307 L3308 +label L3307 load 12 si load 13 cn field 14 13 8 string value @@ -152579,15 +152682,15 @@ call 35 pith_struct_release void 1 34 load 36 si call 37 pith_cstring_release void 1 36 ret 33 -label L3300 -label L3298 +label L3308 +label L3306 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 L3302 L3303 -label L3302 +brif 41 L3310 L3311 +label L3310 load 43 cn call 44 ir_emitter_core_ir_emit_interp_spec_part int 1 43 load 45 cn @@ -152595,8 +152698,8 @@ call 46 pith_struct_release void 1 45 load 47 si call 48 pith_cstring_release void 1 47 ret 44 -label L3303 -label L3301 +label L3311 +label L3309 load 49 child call 50 ir_emitter_core_ir_string_interp_expr_part int 1 49 load 51 cn @@ -152625,29 +152728,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 L3305 L3306 -label L3305 +brif 9 L3313 L3314 +label L3313 iconst 11 1 load 12 cn call 13 pith_struct_release void 1 12 ret 11 -label L3306 -label L3304 +label L3314 +label L3312 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 L3308 L3309 -label L3308 +brif 17 L3316 L3317 +label L3316 iconst 19 1 load 20 cn call 21 pith_struct_release void 1 20 ret 19 -label L3309 -label L3307 +label L3317 +label L3315 iconst 22 0 -store __or_22_3310 22 +store __or_22_3318 22 load 23 child call 24 ir_emitter_core_ir_infer_type string 1 23 strref 25 m46s675 @@ -152656,16 +152759,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_3310 26 -brif 26 L3311 L3310 -label L3310 +store __or_22_3318 26 +brif 26 L3319 L3318 +label L3318 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_3310 33 -label L3311 -load 35 __or_22_3310 +store __or_22_3318 33 +label L3319 +load 35 __or_22_3318 load 36 cn call 37 pith_struct_release void 1 36 ret 35 @@ -152699,13 +152802,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 L3312 +label L3320 load 17 _fi4 load 18 kids4_children call 19 pith_list_len int 1 18 lt 20 17 19 -brif 20 L3313 L3314 -label L3313 +brif 20 L3321 L3322 +label L3321 load 21 kids4_children load 22 _fi4 call 23 pith_list_get_value_strict int 2 21 22 @@ -152719,14 +152822,14 @@ store part_owned 27 load 28 result_r iconst 29 0 lt 30 28 29 -brif 30 L3316 L3317 -label L3316 +brif 30 L3324 L3325 +label L3324 load 31 part_r store result_r 31 load 32 part_owned store result_owned 32 -jmp L3315 -label L3317 +jmp L3323 +label L3325 call 33 ir_builder_ir_reg int 0 store nr 33 strref 34 m46s1212 @@ -152756,37 +152859,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 L3319 L3320 -label L3319 +brif 60 L3327 L3328 +label L3327 load 61 result_r call 62 ir_ownership_ir_string_release_reg void 1 61 -jmp L3318 -label L3320 -label L3318 +jmp L3326 +label L3328 +label L3326 load 63 part_owned -brif 63 L3322 L3323 -label L3322 +brif 63 L3330 L3331 +label L3330 load 64 part_r call 65 ir_ownership_ir_string_release_reg void 1 64 -jmp L3321 -label L3323 -label L3321 +jmp L3329 +label L3331 +label L3329 load 66 nr store result_r 66 iconst 67 1 store result_owned 67 -label L3315 +label L3323 load 68 _fi4 iconst 69 1 add 70 68 69 store _fi4 70 -jmp L3312 -label L3314 +jmp L3320 +label L3322 load 71 result_r iconst 72 0 lt 73 71 72 -brif 73 L3325 L3326 -label L3325 +brif 73 L3333 L3334 +label L3333 call 74 ir_builder_ir_reg int 0 store result_r 74 strref 75 m46s888 @@ -152809,19 +152912,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 L3324 -label L3326 -label L3324 +jmp L3332 +label L3334 +label L3332 load 94 result_owned iconst 96 1 sub 95 96 94 -brif 95 L3328 L3329 -label L3328 +brif 95 L3336 L3337 +label L3336 load 97 result_r call 98 ir_ownership_ir_string_retain_reg void 1 97 -jmp L3327 -label L3329 -label L3327 +jmp L3335 +label L3337 +label L3335 load 99 result_r load 100 node call 101 pith_struct_release void 1 100 @@ -152853,13 +152956,13 @@ sub 9 7 8 store body_idx 9 iconst 10 0 store i 10 -label L3330 +label L3338 load 11 i load 12 idx call 13 ast_node_child_count int 1 12 lt 14 11 13 -brif 14 L3331 L3332 -label L3331 +brif 14 L3339 L3340 +label L3339 load 15 idx load 16 i call 17 ast_node_child int 2 15 16 @@ -152874,45 +152977,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 L3334 L3335 -label L3334 +brif 25 L3342 L3343 +label L3342 load 27 params load 28 cn field 29 28 8 string value call 30 pith_list_push_value void 2 27 29 -jmp L3333 -label L3335 +jmp L3341 +label L3343 iconst 31 0 -store __or_31_3338 31 +store __or_31_3346 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_3338 35 -brif 35 L3339 L3338 -label L3338 +store __or_31_3346 35 +brif 35 L3347 L3346 +label L3346 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_3338 40 -label L3339 -load 42 __or_31_3338 -brif 42 L3336 L3337 -label L3336 +store __or_31_3346 40 +label L3347 +load 42 __or_31_3346 +brif 42 L3344 L3345 +label L3344 load 43 child store body_idx 43 -jmp L3333 -label L3337 -label L3333 +jmp L3341 +label L3345 +label L3341 load 44 i iconst 45 1 add 46 44 45 store i 46 -jmp L3330 -label L3332 +jmp L3338 +label L3340 load 47 captures call 48 pith_list_new_cstr list 0 call 49 pith_list_release_handle void 1 47 @@ -152920,17 +153023,17 @@ store captures 48 load 50 body_idx iconst 51 0 gte 52 50 51 -brif 52 L3341 L3342 -label L3341 +brif 52 L3349 L3350 +label L3349 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 L3340 -label L3342 -label L3340 +jmp L3348 +label L3350 +label L3348 load 58 params call 59 pith_list_retain_handle void 1 58 load 60 body_idx @@ -152980,12 +153083,12 @@ iconst 3 0 store __for_idx_347 3 store __for_len_347 2 store __for_iter_347 1 -label L3343 +label L3351 load 4 __for_idx_347 load 5 __for_len_347 lt 6 4 5 -brif 6 L3344 L3346 -label L3344 +brif 6 L3352 L3354 +label L3352 load 7 __for_iter_347 load 8 __for_idx_347 call 9 pith_list_get_value_unchecked string 2 7 8 @@ -153002,13 +153105,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 L3345 +label L3353 load 21 __for_idx_347 iconst 22 1 add 23 21 22 store __for_idx_347 23 -jmp L3343 -label L3346 +jmp L3351 +label L3354 iconst 24 0 ret 24 endfunc @@ -153018,30 +153121,30 @@ load 1 expr_idx call 2 ir_emitter_core_ir_expr int 1 1 store br 2 iconst 3 0 -store __and_3_3350 3 +store __and_3_3358 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_3350 7 -brif 7 L3350 L3351 -label L3350 +store __and_3_3358 7 +brif 7 L3358 L3359 +label L3358 load 10 expr_idx call 11 ir_emitter_core_ir_string_expr_is_borrowed bool 1 10 -store __and_3_3350 11 -label L3351 -load 12 __and_3_3350 -brif 12 L3348 L3349 -label L3348 +store __and_3_3358 11 +label L3359 +load 12 __and_3_3358 +brif 12 L3356 L3357 +label L3356 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 L3347 -label L3349 -label L3347 +jmp L3355 +label L3357 +label L3355 strref 17 m46s849 load 18 br call 19 int_to_string string 1 18 @@ -153058,54 +153161,54 @@ param body_idx load 1 body_idx iconst 2 0 lt 3 1 2 -brif 3 L3353 L3354 -label L3353 +brif 3 L3361 L3362 +label L3361 iconst 4 0 ret 4 -label L3354 -label L3352 +label L3362 +label L3360 iconst 5 0 -store __and_5_3358 5 +store __and_5_3366 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_3358 9 -brif 9 L3358 L3359 -label L3358 +store __and_5_3366 9 +brif 9 L3366 L3367 +label L3366 load 12 body_idx call 13 ast_node_child_count int 1 12 iconst 14 0 gt 15 13 14 -store __and_5_3358 15 -label L3359 -load 16 __and_5_3358 -brif 16 L3356 L3357 -label L3356 +store __and_5_3366 15 +label L3367 +load 16 __and_5_3366 +brif 16 L3364 L3365 +label L3364 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 L3357 -label L3355 +label L3365 +label L3363 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 L3361 L3362 -label L3361 +brif 25 L3369 L3370 +label L3369 load 28 body_idx call 29 ir_emitter_core_ir_block int 1 28 iconst 30 0 ret 30 -label L3362 -label L3360 +label L3370 +label L3368 load 31 body_idx call 32 ir_emitter_core_ir_emit_lambda_expr_return void 1 31 iconst 33 0 @@ -153428,8 +153531,8 @@ field 29 28 16 list children call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -brif 32 L3364 L3365 -label L3364 +brif 32 L3372 L3373 +label L3372 load 33 callee load 34 call_node field 35 34 16 list children @@ -153443,8 +153546,8 @@ field 41 40 0 string name call 42 string_len int 1 41 iconst 43 0 eq 44 42 43 -brif 44 L3367 L3368 -label L3367 +brif 44 L3375 L3376 +label L3375 load 45 captures load 46 call_node field 47 46 16 list children @@ -153454,19 +153557,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 L3366 -label L3368 -label L3366 +jmp L3374 +label L3376 +label L3374 iconst 53 1 store i 53 -label L3369 +label L3377 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 L3370 L3371 -label L3370 +brif 58 L3378 L3379 +label L3378 load 59 free_in_arg load 60 call_node field 61 60 16 list children @@ -153478,13 +153581,13 @@ call 66 pith_list_release_handle void 1 59 store free_in_arg 65 iconst 67 0 store j 67 -label L3372 +label L3380 load 68 j load 69 free_in_arg call 70 pith_list_len int 1 69 lt 71 68 70 -brif 71 L3373 L3374 -label L3373 +brif 71 L3381 L3382 +label L3381 load 72 captures load 73 free_in_arg load 74 j @@ -153492,31 +153595,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 L3376 L3377 -label L3376 +brif 77 L3384 L3385 +label L3384 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 L3375 -label L3377 -label L3375 +jmp L3383 +label L3385 +label L3383 load 84 j iconst 85 1 add 86 84 85 store j 86 -jmp L3372 -label L3374 +jmp L3380 +label L3382 load 87 i iconst 88 1 add 89 87 88 store i 89 -jmp L3369 +jmp L3377 +label L3379 +jmp L3371 +label L3373 label L3371 -jmp L3363 -label L3365 -label L3363 load 90 saved_builder call 91 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 92 pith_struct_release void 1 90 @@ -153628,38 +153731,38 @@ param name load 1 ir_alias_registry_ir_import_renames load 2 name call 3 contains_key bool 2 1 2 -brif 3 L3379 L3380 -label L3379 +brif 3 L3387 L3388 +label L3387 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 L3380 -label L3378 +label L3388 +label L3386 iconst 8 0 -store __and_8_3384 8 +store __and_8_3392 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_3384 12 -brif 12 L3384 L3385 -label L3384 +store __and_8_3392 12 +brif 12 L3392 L3393 +label L3392 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_3384 15 -label L3385 -load 16 __and_8_3384 -brif 16 L3382 L3383 -label L3382 +store __and_8_3392 15 +label L3393 +load 16 __and_8_3392 +brif 16 L3390 L3391 +label L3390 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 L3383 -label L3381 +label L3391 +label L3389 load 20 name call 21 pith_cstring_retain void 1 20 ret 20 @@ -153672,27 +153775,27 @@ param name iconst 2 0 store callee 2 iconst 3 0 -store __or_3_3389 3 +store __or_3_3397 3 load 4 ir_builder_ir_var_regs load 5 name call 6 contains_key bool 2 4 5 -store __or_3_3389 6 -brif 6 L3390 L3389 -label L3389 +store __or_3_3397 6 +brif 6 L3398 L3397 +label L3397 load 7 ir_builder_ir_var_types load 8 name call 9 contains_key bool 2 7 8 -store __or_3_3389 9 -label L3390 -load 10 __or_3_3389 -brif 10 L3387 L3388 -label L3387 +store __or_3_3397 9 +label L3398 +load 10 __or_3_3397 +brif 10 L3395 L3396 +label L3395 iconst 11 0 load 12 callee call 13 pith_struct_release void 1 12 ret 11 -label L3388 -label L3386 +label L3396 +label L3394 load 14 callee load 15 name call 16 ir_emitter_core_ir_ident_callee struct:ResolvedCallee 1 15 @@ -153725,8 +153828,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 L3392 L3393 -label L3392 +brif 10 L3400 L3401 +label L3400 load 12 idx load 13 node field 14 13 8 string value @@ -153736,28 +153839,28 @@ call 17 pith_struct_release void 1 16 load 18 recv_node call 19 pith_struct_release void 1 18 ret 15 -label L3393 -label L3391 +label L3401 +label L3399 iconst 20 0 -store __and_20_3397 20 +store __and_20_3405 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_3397 24 -brif 24 L3397 L3398 -label L3397 +store __and_20_3405 24 +brif 24 L3405 L3406 +label L3405 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_3397 30 -label L3398 -load 31 __and_20_3397 -brif 31 L3395 L3396 -label L3395 +store __and_20_3405 30 +label L3406 +load 31 __and_20_3405 +brif 31 L3403 L3404 +label L3403 load 32 recv_node load 33 node field 34 33 16 list children @@ -153767,45 +153870,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_3402 39 +store __and_39_3410 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_3402 43 -brif 43 L3402 L3403 -label L3402 +store __and_39_3410 43 +brif 43 L3410 L3411 +label L3410 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_3402 48 -label L3403 -load 49 __and_39_3402 +store __and_39_3410 48 +label L3411 +load 49 __and_39_3410 iconst 51 1 sub 50 51 49 -brif 50 L3400 L3401 -label L3400 +brif 50 L3408 L3409 +label L3408 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 L3401 -label L3399 +label L3409 +label L3407 load 57 idx call 58 checker_c_get_expr_type int 1 57 store expr_tid 58 iconst 59 0 -store __or_59_3407 59 +store __or_59_3415 59 load 60 expr_tid iconst 61 0 lt 62 60 61 -store __or_59_3407 62 -brif 62 L3408 L3407 -label L3407 +store __or_59_3415 62 +brif 62 L3416 L3415 +label L3415 load 63 expr_tid call 64 types_get_type_info struct:TypeInfo 1 63 field 65 64 0 string kind @@ -153814,19 +153917,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_3407 67 -label L3408 -load 71 __or_59_3407 -brif 71 L3405 L3406 -label L3405 +store __or_59_3415 67 +label L3416 +load 71 __or_59_3415 +brif 71 L3413 L3414 +label L3413 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 L3406 -label L3404 +label L3414 +label L3412 load 77 idx call 78 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 77 field 79 78 0 string name @@ -153838,8 +153941,8 @@ call 84 pith_struct_release void 1 83 load 85 recv_node call 86 pith_struct_release void 1 85 ret 82 -label L3396 -label L3394 +label L3404 +label L3402 iconst 87 0 load 88 node call 89 pith_struct_release void 1 88 @@ -153879,8 +153982,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 L3410 L3411 -label L3410 +brif 14 L3418 L3419 +label L3418 load 15 ir_emitter_core_ir_named_fn_value_wrappers load 16 target_name call 17 map_get_strict string 2 15 16 @@ -153906,8 +154009,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 L3411 -label L3409 +label L3419 +label L3417 load 39 wrapper_name strref 40 m46s1209 load 41 ir_emitter_core_ir_lambda_count @@ -153938,15 +154041,15 @@ load 60 ret_type call 61 string_len int 1 60 iconst 62 0 eq 63 61 62 -brif 63 L3413 L3414 -label L3413 +brif 63 L3421 L3422 +label L3421 load 64 ret_type strref 65 m46s822 call 66 pith_cstring_release void 1 64 store ret_type 65 -jmp L3412 -label L3414 -label L3412 +jmp L3420 +label L3422 +label L3420 load 67 saved_builder call 68 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 69 pith_struct_release void 1 67 @@ -153974,17 +154077,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 L3416 L3417 -label L3416 +brif 87 L3424 L3425 +label L3424 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 L3415 -label L3417 -label L3415 +jmp L3423 +label L3425 +label L3423 load 94 wrapper_name load 95 param_count load 96 ret_type @@ -153999,18 +154102,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 L3419 L3420 -label L3419 +brif 105 L3427 L3428 +label L3427 iconst 107 0 store i 107 -label L3421 +label L3429 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 L3422 L3423 -label L3422 +brif 112 L3430 L3431 +label L3430 load 113 arg_name strref 114 m46s1208 load 115 i @@ -154031,11 +154134,11 @@ load 128 i iconst 129 1 add 130 128 129 store i 130 -jmp L3421 -label L3423 -jmp L3418 -label L3420 -label L3418 +jmp L3429 +label L3431 +jmp L3426 +label L3428 +label L3426 load 131 arg_regs call 132 pith_list_new_default list 0 call 133 pith_list_release_handle void 1 131 @@ -154046,12 +154149,12 @@ iconst 136 0 store __for_idx_348 136 store __for_len_348 135 store __for_iter_348 134 -label L3424 +label L3432 load 137 __for_idx_348 load 138 __for_len_348 lt 139 137 138 -brif 139 L3425 L3427 -label L3425 +brif 139 L3433 L3435 +label L3433 load 140 __for_iter_348 load 141 __for_idx_348 call 142 pith_list_get_value_unchecked string 2 140 141 @@ -154076,19 +154179,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 L3426 +label L3434 load 162 __for_idx_348 iconst 163 1 add 164 162 163 store __for_idx_348 164 -jmp L3424 -label L3427 +jmp L3432 +label L3435 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 L3429 L3430 -label L3429 +brif 167 L3437 L3438 +label L3437 call 169 ir_builder_ir_reg int 0 store call_r 169 load 170 call_r @@ -154123,8 +154226,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 L3428 -label L3430 +jmp L3436 +label L3438 call 201 ir_builder_ir_reg int 0 store call_r 201 load 202 call_r @@ -154144,7 +154247,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 L3428 +label L3436 call 219 ir_emitter_core_ir_emit_lambda_default_return void 0 load 220 saved_builder load 221 saved_vars @@ -154212,8 +154315,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 L3432 L3433 -label L3432 +brif 7 L3440 L3441 +label L3440 load 8 callee load 9 name call 10 ir_emitter_core_ir_ident_callee struct:ResolvedCallee 1 9 @@ -154247,8 +154350,8 @@ call 35 pith_struct_release void 1 34 load 36 wrapper_name call 37 pith_cstring_release void 1 36 ret 33 -label L3433 -label L3431 +label L3441 +label L3439 load 38 r load 39 name call 40 ir_emitter_core_ir_emit_name_load void 2 38 39 @@ -154275,12 +154378,12 @@ iconst 4 0 store __for_idx_349 4 store __for_len_349 3 store __for_iter_349 2 -label L3434 +label L3442 load 5 __for_idx_349 load 6 __for_len_349 lt 7 5 6 -brif 7 L3435 L3437 -label L3435 +brif 7 L3443 L3445 +label L3443 load 8 __for_iter_349 load 9 __for_idx_349 call 10 pith_list_get_value unknown 2 8 9 @@ -154291,38 +154394,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_3441 15 +store __and_15_3449 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_3441 19 -brif 19 L3441 L3442 -label L3441 +store __and_15_3449 19 +brif 19 L3449 L3450 +label L3449 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_3441 25 -label L3442 -load 26 __and_15_3441 -brif 26 L3439 L3440 -label L3439 +store __and_15_3449 25 +label L3450 +load 26 __and_15_3449 +brif 26 L3447 L3448 +label L3447 iconst 27 1 load 28 an call 29 pith_struct_release void 1 28 ret 27 -label L3440 -label L3438 -label L3436 +label L3448 +label L3446 +label L3444 load 30 __for_idx_349 iconst 31 1 add 32 30 31 store __for_idx_349 32 -jmp L3434 -label L3437 +jmp L3442 +label L3445 iconst 33 0 load 34 an call 35 pith_struct_release void 1 34 @@ -154340,8 +154443,8 @@ store info 2 load 3 tid iconst 4 0 gte 5 3 4 -brif 5 L3444 L3445 -label L3444 +brif 5 L3452 L3453 +label L3452 load 6 info load 7 tid call 8 types_get_type_info struct:TypeInfo 1 7 @@ -154352,19 +154455,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 L3447 L3448 -label L3447 +brif 13 L3455 L3456 +label L3455 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 L3448 -label L3446 -jmp L3443 -label L3445 -label L3443 +label L3456 +label L3454 +jmp L3451 +label L3453 +label L3451 load 20 sname call 21 ir_struct_registry_ir_struct_field_count int 1 20 load 22 info @@ -154384,44 +154487,44 @@ store info 3 load 4 tid iconst 5 0 gte 6 4 5 -brif 6 L3450 L3451 -label L3450 +brif 6 L3458 L3459 +label L3458 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_3455 11 +store __and_11_3463 11 iconst 12 0 -store __and_12_3455 12 +store __and_12_3463 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_3455 16 -brif 16 L3455 L3456 -label L3455 +store __and_12_3463 16 +brif 16 L3463 L3464 +label L3463 load 18 field_index iconst 19 0 gte 20 18 19 -store __and_12_3455 20 -label L3456 -load 21 __and_12_3455 -store __and_11_3455 21 -brif 21 L3457 L3458 -label L3457 +store __and_12_3463 20 +label L3464 +load 21 __and_12_3463 +store __and_11_3463 21 +brif 21 L3465 L3466 +label L3465 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_3455 26 -label L3458 -load 27 __and_11_3455 -brif 27 L3453 L3454 -label L3453 +store __and_11_3463 26 +label L3466 +load 27 __and_11_3463 +brif 27 L3461 L3462 +label L3461 load 28 info field 29 28 16 list_string fields load 30 field_index @@ -154430,11 +154533,11 @@ call 32 pith_cstring_retain void 1 31 load 33 info call 34 pith_struct_release void 1 33 ret 31 -label L3454 -label L3452 -jmp L3449 -label L3451 -label L3449 +label L3462 +label L3460 +jmp L3457 +label L3459 +label L3457 load 35 sname load 36 field_index call 37 ir_struct_registry_ir_struct_field_name_at string 2 35 36 @@ -154455,8 +154558,8 @@ store info 3 load 4 tid iconst 5 0 gte 6 4 5 -brif 6 L3460 L3461 -label L3460 +brif 6 L3468 L3469 +label L3468 load 7 info load 8 tid call 9 types_get_type_info struct:TypeInfo 1 8 @@ -154467,8 +154570,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 L3463 L3464 -label L3463 +brif 14 L3471 L3472 +label L3471 load 16 info field 17 16 16 list_string fields call 18 pith_auto_len int 1 17 @@ -154476,12 +154579,12 @@ iconst 19 0 store __for_idx_350 19 store __for_len_350 18 store __for_iter_350 17 -label L3465 +label L3473 load 20 __for_idx_350 load 21 __for_len_350 lt 22 20 21 -brif 22 L3466 L3468 -label L3466 +brif 22 L3474 L3476 +label L3474 load 23 __for_iter_350 load 24 __for_idx_350 call 25 pith_list_get_value_unchecked string 2 23 24 @@ -154489,23 +154592,23 @@ store __loopvar_350_name 25 load 26 __for_idx_350 store __loopvar_350_i 26 iconst 27 0 -store __and_27_3472 27 +store __and_27_3480 27 load 28 __loopvar_350_name load 29 field_name call 30 pith_cstring_eq bool 2 28 29 -store __and_27_3472 30 -brif 30 L3472 L3473 -label L3472 +store __and_27_3480 30 +brif 30 L3480 L3481 +label L3480 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_3472 35 -label L3473 -load 36 __and_27_3472 -brif 36 L3470 L3471 -label L3470 +store __and_27_3480 35 +label L3481 +load 36 __and_27_3480 +brif 36 L3478 L3479 +label L3478 load 37 info field 38 37 24 list field_types load 39 __loopvar_350_i @@ -154514,21 +154617,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 L3471 -label L3469 -label L3467 +label L3479 +label L3477 +label L3475 load 44 __for_idx_350 iconst 45 1 add 46 44 45 store __for_idx_350 46 -jmp L3465 -label L3468 -jmp L3462 -label L3464 -label L3462 -jmp L3459 -label L3461 -label L3459 +jmp L3473 +label L3476 +jmp L3470 +label L3472 +label L3470 +jmp L3467 +label L3469 +label L3467 load 47 sname load 48 field_name call 49 ir_struct_registry_ir_struct_field_type_name string 2 47 48 @@ -154564,12 +154667,12 @@ call 13 pith_list_release_handle void 1 11 store field_regs 12 iconst 14 0 store field_idx 14 -label L3474 +label L3482 load 15 field_idx load 16 total_fields lt 17 15 16 -brif 17 L3475 L3476 -label L3475 +brif 17 L3483 L3484 +label L3483 load 18 field_name load 19 sname load 20 tid @@ -154594,12 +154697,12 @@ iconst 35 0 store __for_idx_351 35 store __for_len_351 34 store __for_iter_351 33 -label L3477 +label L3485 load 36 __for_idx_351 load 37 __for_len_351 lt 38 36 37 -brif 38 L3478 L3480 -label L3478 +brif 38 L3486 L3488 +label L3486 load 39 __for_iter_351 load 40 __for_idx_351 call 41 pith_list_get_value unknown 2 39 40 @@ -154610,93 +154713,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_3484 46 +store __and_46_3492 46 iconst 47 0 -store __and_47_3484 47 +store __and_47_3492 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_3484 51 -brif 51 L3484 L3485 -label L3484 +store __and_47_3492 51 +brif 51 L3492 L3493 +label L3492 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_3484 56 -label L3485 -load 57 __and_47_3484 -store __and_46_3484 57 -brif 57 L3486 L3487 -label L3486 +store __and_47_3492 56 +label L3493 +load 57 __and_47_3492 +store __and_46_3492 57 +brif 57 L3494 L3495 +label L3494 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_3484 62 -label L3487 -load 63 __and_46_3484 -brif 63 L3482 L3483 -label L3482 +store __and_46_3492 62 +label L3495 +load 63 __and_46_3492 +brif 63 L3490 L3491 +label L3490 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 L3481 -label L3483 -label L3481 -label L3479 +jmp L3489 +label L3491 +label L3489 +label L3487 load 68 __for_idx_351 iconst 69 1 add 70 68 69 store __for_idx_351 70 -jmp L3477 -label L3480 +jmp L3485 +label L3488 load 71 sname load 72 field_name call 73 ir_emitter_core_ir_struct_field_is_weak bool 2 71 72 -brif 73 L3489 L3490 -label L3489 +brif 73 L3497 L3498 +label L3497 load 74 value_node store init_node 74 load 75 init_node iconst 76 0 lt 77 75 76 -brif 77 L3492 L3493 -label L3492 +brif 77 L3500 L3501 +label L3500 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 L3491 -label L3493 -label L3491 +jmp L3499 +label L3501 +label L3499 load 81 init_node iconst 82 0 gte 83 81 82 -brif 83 L3495 L3496 -label L3495 +brif 83 L3503 L3504 +label L3503 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 L3494 -label L3496 +jmp L3502 +label L3504 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 L3494 -jmp L3488 -label L3490 +label L3502 +jmp L3496 +label L3498 load 91 value_node iconst 92 0 gte 93 91 92 -brif 93 L3497 L3498 -label L3497 +brif 93 L3505 L3506 +label L3505 load 94 value_node load 95 field_type call 96 ir_emitter_core_ir_emit_value_for_target int 2 94 95 @@ -154707,46 +154810,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_3502 101 +store __and_101_3510 101 iconst 102 0 -store __and_102_3502 102 +store __and_102_3510 102 load 103 named_field_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -store __and_102_3502 106 -brif 106 L3502 L3503 -label L3502 +store __and_102_3510 106 +brif 106 L3510 L3511 +label L3510 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_3502 109 -label L3503 -load 113 __and_102_3502 -store __and_101_3502 113 -brif 113 L3504 L3505 -label L3504 +store __and_102_3510 109 +label L3511 +load 113 __and_102_3510 +store __and_101_3510 113 +brif 113 L3512 L3513 +label L3512 load 114 value_node call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_101_3502 115 -label L3505 -load 116 __and_101_3502 -brif 116 L3500 L3501 -label L3500 +store __and_101_3510 115 +label L3513 +load 116 __and_101_3510 +brif 116 L3508 L3509 +label L3508 load 117 fr load 118 named_field_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L3499 -label L3501 -label L3499 +jmp L3507 +label L3509 +label L3507 load 120 field_regs load 121 fr call 122 pith_list_push_value void 2 120 121 -jmp L3488 -label L3498 +jmp L3496 +label L3506 load 123 sname load 124 field_name call 125 ir_struct_registry_ir_struct_field_default_node int 2 123 124 @@ -154754,26 +154857,26 @@ store default_idx 125 load 126 default_idx iconst 127 0 gte 128 126 127 -brif 128 L3507 L3508 -label L3507 +brif 128 L3515 L3516 +label L3515 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 L3506 -label L3508 +jmp L3514 +label L3516 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 L3506 -label L3488 +label L3514 +label L3496 load 137 field_idx iconst 138 1 add 139 137 138 store field_idx 139 -jmp L3474 -label L3476 +jmp L3482 +label L3484 call 140 ir_builder_ir_reg int 0 store r 140 call 141 ir_builder_ir_reg int 0 @@ -154811,12 +154914,12 @@ iconst 171 0 store __for_idx_352 171 store __for_len_352 170 store __for_iter_352 169 -label L3509 +label L3517 load 172 __for_idx_352 load 173 __for_len_352 lt 174 172 173 -brif 174 L3510 L3512 -label L3510 +brif 174 L3518 L3520 +label L3518 load 175 __for_iter_352 load 176 __for_idx_352 call 177 pith_list_get_value unknown 2 175 176 @@ -154849,13 +154952,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 L3511 +label L3519 load 205 __for_idx_352 iconst 206 1 add 207 205 206 store __for_idx_352 207 -jmp L3509 -label L3512 +jmp L3517 +label L3520 load 208 r load 209 sname call 210 ir_emitter_core_ir_emit_attach_dtor void 2 208 209 @@ -154900,8 +155003,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 L3514 L3515 -label L3514 +brif 9 L3522 L3523 +label L3522 load 10 sname load 11 arg_nodes load 12 tid @@ -154917,21 +155020,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 L3515 -label L3513 +label L3523 +label L3521 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 L3516 +label L3524 load 28 field_idx load 29 arg_nodes call 30 pith_list_len int 1 29 lt 31 28 30 -brif 31 L3517 L3518 -label L3517 +brif 31 L3525 L3526 +label L3525 load 32 arg_nodes load 33 field_idx call 34 pith_list_get_value_strict int 2 32 33 @@ -154958,65 +155061,65 @@ store ftype 49 load 51 child store value_idx 51 iconst 52 0 -store __and_52_3522 52 +store __and_52_3530 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_3522 56 -brif 56 L3522 L3523 -label L3522 +store __and_52_3530 56 +brif 56 L3530 L3531 +label L3530 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_3522 62 -label L3523 -load 63 __and_52_3522 -brif 63 L3520 L3521 -label L3520 +store __and_52_3530 62 +label L3531 +load 63 __and_52_3530 +brif 63 L3528 L3529 +label L3528 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 L3519 -label L3521 +jmp L3527 +label L3529 iconst 68 0 -store __and_68_3526 68 +store __and_68_3534 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_3526 72 -brif 72 L3526 L3527 -label L3526 +store __and_68_3534 72 +brif 72 L3534 L3535 +label L3534 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_3526 78 -label L3527 -load 79 __and_68_3526 -brif 79 L3524 L3525 -label L3524 +store __and_68_3534 78 +label L3535 +load 79 __and_68_3534 +brif 79 L3532 L3533 +label L3532 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 L3519 -label L3525 -label L3519 +jmp L3527 +label L3533 +label L3527 load 84 sname load 85 field_name call 86 ir_emitter_core_ir_struct_field_is_weak bool 2 84 85 -brif 86 L3529 L3530 -label L3529 +brif 86 L3537 L3538 +label L3537 load 87 field_regs load 88 value_idx call 89 ir_emitter_core_ir_emit_weak_payload int 1 88 @@ -155025,9 +155128,9 @@ load 91 field_idx iconst 92 1 add 93 91 92 store field_idx 93 -jmp L3516 -label L3530 -label L3528 +jmp L3524 +label L3538 +label L3536 load 94 value_idx load 95 ftype call 96 ir_emitter_core_ir_emit_value_for_target int 2 94 95 @@ -155038,41 +155141,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_3534 101 +store __and_101_3542 101 iconst 102 0 -store __and_102_3534 102 +store __and_102_3542 102 load 103 pos_field_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -store __and_102_3534 106 -brif 106 L3534 L3535 -label L3534 +store __and_102_3542 106 +brif 106 L3542 L3543 +label L3542 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_3534 109 -label L3535 -load 113 __and_102_3534 -store __and_101_3534 113 -brif 113 L3536 L3537 -label L3536 +store __and_102_3542 109 +label L3543 +load 113 __and_102_3542 +store __and_101_3542 113 +brif 113 L3544 L3545 +label L3544 load 114 value_idx call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_101_3534 115 -label L3537 -load 116 __and_101_3534 -brif 116 L3532 L3533 -label L3532 +store __and_101_3542 115 +label L3545 +load 116 __and_101_3542 +brif 116 L3540 L3541 +label L3540 load 117 fr load 118 pos_field_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L3531 -label L3533 -label L3531 +jmp L3539 +label L3541 +label L3539 load 120 field_regs load 121 fr call 122 pith_list_push_value void 2 120 121 @@ -155080,18 +155183,18 @@ load 123 field_idx iconst 124 1 add 125 123 124 store field_idx 125 -jmp L3516 -label L3518 +jmp L3524 +label L3526 load 126 sname load 127 tid call 128 ir_emitter_core_ir_ctor_field_count int 2 126 127 store total_fields 128 -label L3538 +label L3546 load 129 field_idx load 130 total_fields lt 131 129 130 -brif 131 L3539 L3540 -label L3539 +brif 131 L3547 L3548 +label L3547 load 132 field_name load 133 sname load 134 tid @@ -155106,8 +155209,8 @@ store default_idx 140 load 141 default_idx iconst 142 0 gte 143 141 142 -brif 143 L3542 L3543 -label L3542 +brif 143 L3550 L3551 +label L3550 load 144 field_regs load 145 default_idx load 146 sname @@ -155117,18 +155220,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 L3541 -label L3543 +jmp L3549 +label L3551 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 L3541 +label L3549 load 156 field_idx iconst 157 1 add 158 156 157 store field_idx 158 -jmp L3538 -label L3540 +jmp L3546 +label L3548 call 159 ir_builder_ir_reg int 0 store r 159 call 160 ir_builder_ir_reg int 0 @@ -155166,12 +155269,12 @@ iconst 190 0 store __for_idx_353 190 store __for_len_353 189 store __for_iter_353 188 -label L3544 +label L3552 load 191 __for_idx_353 load 192 __for_len_353 lt 193 191 192 -brif 193 L3545 L3547 -label L3545 +brif 193 L3553 L3555 +label L3553 load 194 __for_iter_353 load 195 __for_idx_353 call 196 pith_list_get_value unknown 2 194 195 @@ -155204,13 +155307,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 L3546 +label L3554 load 224 __for_idx_353 iconst 225 1 add 226 224 225 store __for_idx_353 226 -jmp L3544 -label L3547 +jmp L3552 +label L3555 load 227 r load 228 sname call 229 ir_emitter_core_ir_emit_attach_dtor void 2 227 228 @@ -155262,8 +155365,8 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 0 gt 6 4 5 -brif 6 L3549 L3550 -label L3549 +brif 6 L3557 L3558 +label L3557 load 7 inner load 8 node field 9 8 16 list children @@ -155277,8 +155380,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 L3552 L3553 -label L3552 +brif 17 L3560 L3561 +label L3560 load 19 node field 20 19 16 list children iconst 21 0 @@ -155298,11 +155401,11 @@ load 32 r load 33 inner call 34 pith_struct_release void 1 33 ret 32 -label L3553 -label L3551 -jmp L3548 -label L3550 -label L3548 +label L3561 +label L3559 +jmp L3556 +label L3558 +label L3556 call 35 ir_builder_ir_reg int 0 store r 35 strref 36 m46s832 @@ -155345,8 +155448,8 @@ field 8 7 16 list children call 9 pith_list_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L3555 L3556 -label L3555 +brif 11 L3563 L3564 +label L3563 load 12 result_kind load 13 node field 14 13 16 list children @@ -155365,8 +155468,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 L3558 L3559 -label L3558 +brif 26 L3566 L3567 +label L3566 load 28 operand_class load 29 node field 30 29 16 list children @@ -155435,8 +155538,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 L3561 L3562 -label L3561 +brif 85 L3569 L3570 +label L3569 call 89 ir_builder_ir_reg int 0 strref 90 m46s898 strref 91 m46s828 @@ -155444,9 +155547,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 L3560 -label L3562 -label L3560 +jmp L3568 +label L3570 +label L3568 strref 96 m46s833 load 97 merge_l concat 98 96 97 @@ -155456,26 +155559,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_3566 104 +store __and_104_3574 104 load 105 ir_emitter_core_ir_emit_tests -store __and_104_3566 105 -brif 105 L3566 L3567 -label L3566 +store __and_104_3574 105 +brif 105 L3574 L3575 +label L3574 load 106 ir_emitter_core_ir_emitting_test_func -store __and_104_3566 106 -label L3567 -load 107 __and_104_3566 -brif 107 L3564 L3565 -label L3564 +store __and_104_3574 106 +label L3575 +load 107 __and_104_3574 +brif 107 L3572 L3573 +label L3572 call 108 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L3563 -label L3565 +jmp L3571 +label L3573 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 L3568 L3569 -label L3568 +brif 111 L3576 L3577 +label L3576 load 113 err_kind load 114 operand_tid strref 115 m46s181 @@ -155495,14 +155598,14 @@ load 126 err_kind call 127 string_len int 1 126 iconst 128 0 gt 129 127 128 -brif 129 L3571 L3572 -label L3571 +brif 129 L3579 L3580 +label L3579 load 130 err_r load 131 err_kind call 132 ir_ownership_ir_rc_retain_reg void 2 130 131 -jmp L3570 -label L3572 -label L3570 +jmp L3578 +label L3580 +label L3578 load 133 err_r call 134 ir_emitter_core_ir_emit_err_result_tuple int 1 133 store fresh_err_r 134 @@ -155519,8 +155622,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 L3563 -label L3569 +jmp L3571 +label L3577 iconst 148 1 call 149 ir_emitter_core_ir_defer_emit_to_function_frame void 1 148 strref 150 m46s82 @@ -155534,7 +155637,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 L3563 +label L3571 load 161 merge_l call 162 ir_call_emit_ir_emit_label void 1 161 load 163 decoded_r @@ -155551,36 +155654,36 @@ call 173 pith_cstring_release void 1 172 load 174 err_kind call 175 pith_cstring_release void 1 174 ret 163 -label L3559 -label L3557 +label L3567 +label L3565 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 L3574 L3575 -label L3574 +brif 179 L3582 L3583 +label L3582 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 L3573 -label L3575 +jmp L3581 +label L3583 load 183 result_kind call 184 string_len int 1 183 iconst 185 0 gt 186 184 185 -brif 186 L3576 L3577 -label L3576 +brif 186 L3584 L3585 +label L3584 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 L3579 L3580 -label L3579 +brif 190 L3587 L3588 +label L3587 strref 192 m46s1044 load 193 zero_cmp call 194 int_to_string string 1 193 @@ -155593,8 +155696,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 L3578 -label L3580 +jmp L3586 +label L3588 strref 204 m46s832 load 205 zero_cmp call 206 int_to_string string 1 205 @@ -155607,7 +155710,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 L3578 +label L3586 call 216 ir_builder_ir_reg int 0 store cond_r 216 strref 217 m46s1035 @@ -155636,9 +155739,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 L3573 -label L3577 -label L3573 +jmp L3581 +label L3585 +label L3581 load 243 ok_l call 244 ir_builder_ir_label string 0 call 245 pith_cstring_release void 1 243 @@ -155684,20 +155787,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_3584 284 +store __and_284_3592 284 load 285 ir_emitter_core_ir_emit_tests -store __and_284_3584 285 -brif 285 L3584 L3585 -label L3584 +store __and_284_3592 285 +brif 285 L3592 L3593 +label L3592 load 286 ir_emitter_core_ir_emitting_test_func -store __and_284_3584 286 -label L3585 -load 287 __and_284_3584 -brif 287 L3582 L3583 -label L3582 +store __and_284_3592 286 +label L3593 +load 287 __and_284_3592 +brif 287 L3590 L3591 +label L3590 call 288 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L3581 -label L3583 +jmp L3589 +label L3591 iconst 289 1 call 290 ir_emitter_core_ir_defer_emit_to_function_frame void 1 289 strref 291 m46s82 @@ -155725,7 +155828,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 L3581 +label L3589 load 315 merge_l call 316 ir_call_emit_ir_emit_label void 1 315 load 317 decoded_r @@ -155742,8 +155845,8 @@ call 327 pith_cstring_release void 1 326 load 328 err_kind call 329 pith_cstring_release void 1 328 ret 317 -label L3556 -label L3554 +label L3564 +label L3562 call 330 ir_builder_ir_reg int 0 store r 330 strref 331 m46s832 @@ -155802,8 +155905,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 0 gt 9 7 8 -brif 9 L3587 L3588 -label L3587 +brif 9 L3595 L3596 +label L3595 load 10 node field 11 10 16 list children iconst 12 0 @@ -155836,53 +155939,53 @@ load 34 err_kind call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L3590 L3591 -label L3590 +brif 37 L3598 L3599 +label L3598 iconst 38 0 -store __and_38_3595 38 +store __and_38_3603 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_3595 42 -brif 42 L3595 L3596 -label L3595 +store __and_38_3603 42 +brif 42 L3603 L3604 +label L3603 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_3595 48 -label L3596 -load 50 __and_38_3595 -brif 50 L3593 L3594 -label L3593 +store __and_38_3603 48 +label L3604 +load 50 __and_38_3603 +brif 50 L3601 L3602 +label L3601 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 L3592 -label L3594 +jmp L3600 +label L3602 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 L3597 L3598 -label L3597 +brif 60 L3605 L3606 +label L3605 load 61 err_r load 62 err_kind call 63 ir_ownership_ir_rc_retain_reg void 2 61 62 -jmp L3592 -label L3598 -label L3592 -jmp L3589 -label L3591 -label L3589 +jmp L3600 +label L3606 +label L3600 +jmp L3597 +label L3599 +label L3597 load 64 err_r call 65 ir_emitter_core_ir_emit_err_result_tuple int 1 64 store tuple_r 65 @@ -155898,8 +156001,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 L3586 -label L3588 +jmp L3594 +label L3596 iconst 78 1 call 79 ir_emitter_core_ir_defer_emit_to_function_frame void 1 78 strref 80 m46s82 @@ -155914,7 +156017,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 L3586 +label L3594 load 92 ub call 93 ir_builder_ir_label string 0 call 94 pith_cstring_release void 1 92 @@ -155996,8 +156099,8 @@ load 27 obj_type call 28 string_len int 1 27 iconst 29 0 eq 30 28 29 -brif 30 L3600 L3601 -label L3600 +brif 30 L3608 L3609 +label L3608 load 31 obj_type load 32 node field 33 32 16 list children @@ -156006,15 +156109,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 L3599 -label L3601 -label L3599 +jmp L3607 +label L3609 +label L3607 load 38 value_type call 39 string_len int 1 38 iconst 40 0 eq 41 39 40 -brif 41 L3603 L3604 -label L3603 +brif 41 L3611 L3612 +label L3611 load 42 value_type load 43 node field 44 43 16 list children @@ -156023,36 +156126,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 L3602 -label L3604 -label L3602 +jmp L3610 +label L3612 +label L3610 load 49 value_type call 50 string_len int 1 49 iconst 51 0 eq 52 50 51 -brif 52 L3606 L3607 -label L3606 +brif 52 L3614 L3615 +label L3614 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 L3605 -label L3607 -label L3605 +jmp L3613 +label L3615 +label L3613 iconst 57 0 -store __and_57_3611 57 +store __and_57_3619 57 load 58 ir_emitter_core_ir_current_func_returns_result -store __and_57_3611 58 -brif 58 L3611 L3612 -label L3611 +store __and_57_3619 58 +brif 58 L3619 L3620 +label L3619 load 59 obj_type call 60 ir_emitter_core_ir_index_supports_propagate bool 1 59 -store __and_57_3611 60 -label L3612 -load 61 __and_57_3611 -brif 61 L3609 L3610 -label L3609 +store __and_57_3619 60 +label L3620 +load 61 __and_57_3619 +brif 61 L3617 L3618 +label L3617 load 62 node field 63 62 16 list children iconst 64 1 @@ -156069,8 +156172,8 @@ call 74 pith_cstring_release void 1 73 load 75 call_name call 76 pith_cstring_release void 1 75 ret 70 -label L3610 -label L3608 +label L3618 +label L3616 load 77 call_name load 78 obj_type call 79 ir_collection_helpers_ir_index_get_call_name string 1 78 @@ -156080,8 +156183,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 L3614 L3615 -label L3614 +brif 83 L3622 L3623 +label L3622 load 85 r load 86 call_name strref 87 m46s675 @@ -156089,14 +156192,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 L3613 -label L3615 +jmp L3621 +label L3623 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 L3616 L3617 -label L3616 +brif 94 L3624 L3625 +label L3624 load 96 r load 97 call_name strref 98 m46s671 @@ -156104,47 +156207,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 L3613 -label L3617 +jmp L3621 +label L3625 iconst 103 0 -store __or_103_3620 103 +store __or_103_3628 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_3620 106 -brif 106 L3621 L3620 -label L3620 +store __or_103_3628 106 +brif 106 L3629 L3628 +label L3628 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_3620 110 -label L3621 -load 112 __or_103_3620 -brif 112 L3618 L3619 -label L3618 +store __or_103_3628 110 +label L3629 +load 112 __or_103_3628 +brif 112 L3626 L3627 +label L3626 load 113 value_type call 114 string_len int 1 113 iconst 115 0 eq 116 114 115 -brif 116 L3623 L3624 -label L3623 +brif 116 L3631 L3632 +label L3631 load 117 value_type strref 118 m46s822 call 119 pith_cstring_release void 1 117 store value_type 118 -jmp L3622 -label L3624 -label L3622 +jmp L3630 +label L3632 +label L3630 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 L3613 -label L3619 +jmp L3621 +label L3627 load 126 r load 127 call_name load 128 idx @@ -156153,7 +156256,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 L3613 +label L3621 load 134 node field 135 134 16 list children iconst 136 1 @@ -156195,42 +156298,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 L3626 L3627 -label L3626 +brif 3 L3634 L3635 +label L3634 iconst 5 1 ret 5 -label L3627 -label L3625 +label L3635 +label L3633 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 L3629 L3630 -label L3629 +brif 8 L3637 L3638 +label L3637 iconst 10 1 ret 10 -label L3630 -label L3628 +label L3638 +label L3636 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 L3632 L3633 -label L3632 +brif 13 L3640 L3641 +label L3640 iconst 15 1 ret 15 -label L3633 -label L3631 +label L3641 +label L3639 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 L3635 L3636 -label L3635 +brif 18 L3643 L3644 +label L3643 iconst 20 1 ret 20 -label L3636 -label L3634 +label L3644 +label L3642 iconst 21 0 ret 21 iconst 22 0 @@ -156319,15 +156422,15 @@ load 65 val_kind call 66 string_len int 1 65 iconst 67 0 eq 68 66 67 -brif 68 L3638 L3639 -label L3638 +brif 68 L3646 L3647 +label L3646 load 69 val_kind strref 70 m46s822 call 71 pith_cstring_release void 1 69 store val_kind 70 -jmp L3637 -label L3639 -label L3637 +jmp L3645 +label L3647 +label L3645 call 72 ir_builder_ir_reg int 0 store unwrapped_r 72 strref 73 m46s837 @@ -156381,20 +156484,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_3643 123 +store __and_123_3651 123 load 124 ir_emitter_core_ir_emit_tests -store __and_123_3643 124 -brif 124 L3643 L3644 -label L3643 -load 125 ir_emitter_core_ir_emitting_test_func -store __and_123_3643 125 -label L3644 -load 126 __and_123_3643 -brif 126 L3641 L3642 -label L3641 +store __and_123_3651 124 +brif 124 L3651 L3652 +label L3651 +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 call 127 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L3640 -label L3642 +jmp L3648 +label L3650 iconst 128 1 call 129 ir_emitter_core_ir_defer_emit_to_function_frame void 1 128 strref 130 m46s82 @@ -156432,7 +156535,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 L3640 +label L3648 load 163 merge_l call 164 ir_call_emit_ir_emit_label void 1 163 load 165 unwrapped_r @@ -156470,22 +156573,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 L3646 L3647 -label L3646 +brif 3 L3654 L3655 +label L3654 strref 5 m46s685 ret 5 -label L3647 -label L3645 +label L3655 +label L3653 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 L3649 L3650 -label L3649 +brif 8 L3657 L3658 +label L3657 strref 10 m46s686 ret 10 -label L3650 -label L3648 +label L3658 +label L3656 strref 11 m46s704 ret 11 iconst 12 0 @@ -156512,7 +156615,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_3654 12 +store __or_12_3662 12 load 13 target field 14 13 0 string kind strref 15 m46s35 @@ -156520,19 +156623,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_3654 16 -brif 16 L3655 L3654 -label L3654 +store __or_12_3662 16 +brif 16 L3663 L3662 +label L3662 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_3654 24 -label L3655 -load 25 __or_12_3654 -brif 25 L3652 L3653 -label L3652 +store __or_12_3662 24 +label L3663 +load 25 __or_12_3662 +brif 25 L3660 L3661 +label L3660 iconst 26 0 load 27 target call 28 pith_struct_release void 1 27 @@ -156547,8 +156650,8 @@ call 36 pith_cstring_release void 1 35 load 37 owned_store call 38 pith_cstring_release void 1 37 ret 26 -label L3653 -label L3651 +label L3661 +label L3659 load 39 target field 40 39 16 list children iconst 41 0 @@ -156578,8 +156681,8 @@ load 60 obj_type call 61 string_len int 1 60 iconst 62 0 eq 63 61 62 -brif 63 L3657 L3658 -label L3657 +brif 63 L3665 L3666 +label L3665 load 64 obj_type load 65 target field 66 65 16 list children @@ -156588,15 +156691,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 L3656 -label L3658 -label L3656 +jmp L3664 +label L3666 +label L3664 load 71 value_type call 72 string_len int 1 71 iconst 73 0 eq 74 72 73 -brif 74 L3660 L3661 -label L3660 +brif 74 L3668 L3669 +label L3668 load 75 value_type load 76 target field 77 76 16 list children @@ -156605,23 +156708,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 L3659 -label L3661 -label L3659 +jmp L3667 +label L3669 +label L3667 load 82 value_type call 83 string_len int 1 82 iconst 84 0 eq 85 83 84 -brif 85 L3663 L3664 -label L3663 +brif 85 L3671 L3672 +label L3671 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 L3662 -label L3664 -label L3662 +jmp L3670 +label L3672 +label L3670 load 90 value_idx load 91 value_type call 92 ir_emitter_core_ir_emit_value_for_target int 2 90 91 @@ -156638,74 +156741,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 L3666 L3667 -label L3666 +brif 102 L3674 L3675 +label L3674 iconst 103 0 -store __or_103_3671 103 +store __or_103_3679 103 iconst 104 0 -store __or_104_3671 104 +store __or_104_3679 104 iconst 105 0 -store __or_105_3671 105 +store __or_105_3679 105 iconst 106 0 -store __or_106_3671 106 +store __or_106_3679 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_3671 109 -brif 109 L3672 L3671 -label L3671 +store __or_106_3679 109 +brif 109 L3680 L3679 +label L3679 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_3671 113 -label L3672 -load 115 __or_106_3671 -store __or_105_3671 115 -brif 115 L3674 L3673 -label L3673 +store __or_106_3679 113 +label L3680 +load 115 __or_106_3679 +store __or_105_3679 115 +brif 115 L3682 L3681 +label L3681 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_3671 118 -label L3674 -load 120 __or_105_3671 -store __or_104_3671 120 -brif 120 L3676 L3675 -label L3675 +store __or_105_3679 118 +label L3682 +load 120 __or_105_3679 +store __or_104_3679 120 +brif 120 L3684 L3683 +label L3683 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_3671 123 -label L3676 -load 125 __or_104_3671 -store __or_103_3671 125 -brif 125 L3678 L3677 -label L3677 +store __or_104_3679 123 +label L3684 +load 125 __or_104_3679 +store __or_103_3679 125 +brif 125 L3686 L3685 +label L3685 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_3671 128 -label L3678 -load 130 __or_103_3671 -brif 130 L3669 L3670 -label L3669 +store __or_103_3679 128 +label L3686 +load 130 __or_103_3679 +brif 130 L3677 L3678 +label L3677 load 131 value_r load 132 idx_store_kind call 133 ir_ownership_ir_rc_retain_reg void 2 131 132 -jmp L3668 -label L3670 -label L3668 -jmp L3665 -label L3667 +jmp L3676 +label L3678 +label L3676 +jmp L3673 +label L3675 load 134 idx_store_kind call 135 ir_emitter_core_ir_container_store_takes_count bool 1 134 -brif 135 L3679 L3680 -label L3679 +brif 135 L3687 L3688 +label L3687 load 136 owned_store load 137 set_name call 138 ir_emitter_core_ir_owned_container_store_name string 1 137 @@ -156715,19 +156818,19 @@ load 140 owned_store call 141 string_len int 1 140 iconst 142 0 gt 143 141 142 -brif 143 L3682 L3683 -label L3682 +brif 143 L3690 L3691 +label L3690 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 L3681 -label L3683 -label L3681 -jmp L3665 -label L3680 -label L3665 +jmp L3689 +label L3691 +label L3689 +jmp L3673 +label L3688 +label L3673 call 148 ir_builder_ir_reg int 0 load 149 set_name strref 150 m46s828 @@ -156781,146 +156884,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_3687 6 +store __or_6_3695 6 iconst 7 0 -store __or_7_3687 7 +store __or_7_3695 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_3687 11 -brif 11 L3688 L3687 -label L3687 +store __or_7_3695 11 +brif 11 L3696 L3695 +label L3695 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_3687 16 -label L3688 -load 18 __or_7_3687 -store __or_6_3687 18 -brif 18 L3690 L3689 -label L3689 +store __or_7_3695 16 +label L3696 +load 18 __or_7_3695 +store __or_6_3695 18 +brif 18 L3698 L3697 +label L3697 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_3687 22 -label L3690 -load 24 __or_6_3687 -brif 24 L3685 L3686 -label L3685 +store __or_6_3695 22 +label L3698 +load 24 __or_6_3695 +brif 24 L3693 L3694 +label L3693 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 L3686 -label L3684 +label L3694 +label L3692 iconst 29 0 -store __or_29_3694 29 +store __or_29_3702 29 iconst 30 0 -store __or_30_3694 30 +store __or_30_3702 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_3694 34 -brif 34 L3695 L3694 -label L3694 +store __or_30_3702 34 +brif 34 L3703 L3702 +label L3702 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_3694 39 -label L3695 -load 41 __or_30_3694 -store __or_29_3694 41 -brif 41 L3697 L3696 -label L3696 +store __or_30_3702 39 +label L3703 +load 41 __or_30_3702 +store __or_29_3702 41 +brif 41 L3705 L3704 +label L3704 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_3694 45 -label L3697 -load 47 __or_29_3694 -brif 47 L3692 L3693 -label L3692 +store __or_29_3702 45 +label L3705 +load 47 __or_29_3702 +brif 47 L3700 L3701 +label L3700 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 L3693 -label L3691 +label L3701 +label L3699 iconst 52 0 -store __or_52_3701 52 +store __or_52_3709 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_3701 56 -brif 56 L3702 L3701 -label L3701 +store __or_52_3709 56 +brif 56 L3710 L3709 +label L3709 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_3701 61 -label L3702 -load 63 __or_52_3701 -brif 63 L3699 L3700 -label L3699 +store __or_52_3709 61 +label L3710 +load 63 __or_52_3709 +brif 63 L3707 L3708 +label L3707 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 L3700 -label L3698 +label L3708 +label L3706 iconst 68 0 -store __or_68_3706 68 +store __or_68_3714 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_3706 72 -brif 72 L3707 L3706 -label L3706 +store __or_68_3714 72 +brif 72 L3715 L3714 +label L3714 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_3706 77 -label L3707 -load 79 __or_68_3706 -brif 79 L3704 L3705 -label L3704 +store __or_68_3714 77 +label L3715 +load 79 __or_68_3714 +brif 79 L3712 L3713 +label L3712 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 L3705 -label L3703 +label L3713 +label L3711 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 L3709 L3710 -label L3709 +brif 87 L3717 L3718 +label L3717 load 89 idx load 90 node field 91 90 8 string value @@ -156928,15 +157031,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 L3710 -label L3708 +label L3718 +label L3716 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 L3712 L3713 -label L3712 +brif 98 L3720 L3721 +label L3720 load 100 idx strref 101 m46s515 call 102 ir_emitter_core_ir_emit_ident_load int 2 100 101 @@ -156944,57 +157047,57 @@ call 103 pith_cstring_release void 1 101 load 104 node call 105 pith_struct_release void 1 104 ret 102 -label L3713 -label L3711 +label L3721 +label L3719 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 L3715 L3716 -label L3715 +brif 109 L3723 L3724 +label L3723 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 L3716 -label L3714 +label L3724 +label L3722 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 L3718 L3719 -label L3718 +brif 118 L3726 L3727 +label L3726 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 L3719 -label L3717 +label L3727 +label L3725 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 L3721 L3722 -label L3721 +brif 127 L3729 L3730 +label L3729 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 L3722 +label L3730 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 L3720 +label L3728 load 139 node call 140 pith_struct_release void 1 139 iconst 141 0 @@ -157043,8 +157146,8 @@ field 12 11 16 list children call 13 pith_list_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L3724 L3725 -label L3724 +brif 15 L3732 L3733 +label L3732 load 16 recv_node load 17 node field 18 17 16 list children @@ -157054,46 +157157,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_3729 23 +store __and_23_3737 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_3729 27 -brif 27 L3729 L3730 -label L3729 +store __and_23_3737 27 +brif 27 L3737 L3738 +label L3737 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_3729 32 -label L3730 -load 33 __and_23_3729 -brif 33 L3727 L3728 -label L3727 +store __and_23_3737 32 +label L3738 +load 33 __and_23_3737 +brif 33 L3735 L3736 +label L3735 load 34 idx call 35 checker_c_get_expr_type int 1 34 store expr_tid 35 iconst 36 0 -store __and_36_3734 36 +store __and_36_3742 36 load 37 expr_tid iconst 38 0 gte 39 37 38 -store __and_36_3734 39 -brif 39 L3734 L3735 -label L3734 +store __and_36_3742 39 +brif 39 L3742 L3743 +label L3742 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_3734 44 -label L3735 -load 46 __and_36_3734 -brif 46 L3732 L3733 -label L3732 +store __and_36_3742 44 +label L3743 +load 46 __and_36_3742 +brif 46 L3740 L3741 +label L3740 load 47 callee load 48 idx call 49 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 48 @@ -157104,8 +157207,8 @@ field 52 51 0 string name call 53 string_len int 1 52 iconst 54 0 gt 55 53 54 -brif 55 L3737 L3738 -label L3737 +brif 55 L3745 L3746 +label L3745 call 56 ir_builder_ir_reg int 0 store r 56 load 57 wrapper @@ -157142,11 +157245,11 @@ call 86 pith_cstring_release void 1 85 load 87 module_path call 88 pith_cstring_release void 1 87 ret 78 -label L3738 -label L3736 -jmp L3731 -label L3733 -label L3731 +label L3746 +label L3744 +jmp L3739 +label L3741 +label L3739 load 89 module_path load 90 ir_alias_registry_ir_module_aliases load 91 recv_node @@ -157158,8 +157261,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 L3740 L3741 -label L3740 +brif 98 L3748 L3749 +label L3748 call 99 ir_builder_ir_reg int 0 store r 99 strref 100 m46s829 @@ -157192,11 +157295,11 @@ call 126 pith_cstring_release void 1 125 load 127 module_path call 128 pith_cstring_release void 1 127 ret 118 -label L3741 -label L3739 -jmp L3726 -label L3728 -label L3726 +label L3749 +label L3747 +jmp L3734 +label L3736 +label L3734 load 129 node field 130 129 16 list children iconst 131 0 @@ -157211,8 +157314,8 @@ store result_r 137 load 138 result_r iconst 139 0 gte 140 138 139 -brif 140 L3743 L3744 -label L3743 +brif 140 L3751 L3752 +label L3751 load 141 result_r load 142 fname call 143 pith_cstring_release void 1 142 @@ -157225,8 +157328,8 @@ call 149 pith_cstring_release void 1 148 load 150 module_path call 151 pith_cstring_release void 1 150 ret 141 -label L3744 -label L3742 +label L3752 +label L3750 load 152 idx load 153 node load 154 obj_r @@ -157242,8 +157345,8 @@ call 163 pith_cstring_release void 1 162 load 164 module_path call 165 pith_cstring_release void 1 164 ret 155 -label L3725 -label L3723 +label L3733 +label L3731 load 166 idx load 167 node iconst 168 0 @@ -157281,12 +157384,12 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 eq 5 3 4 -brif 5 L3746 L3747 -label L3746 +brif 5 L3754 L3755 +label L3754 call 6 ir_emitter_core_ir_emit_zero_value int 0 ret 6 -label L3747 -label L3745 +label L3755 +label L3753 load 7 node field 8 7 16 list children iconst 9 0 @@ -157325,8 +157428,8 @@ load 11 err_kind call 12 string_len int 1 11 iconst 13 0 gt 14 12 13 -brif 14 L3749 L3750 -label L3749 +brif 14 L3757 L3758 +label L3757 load 15 result_r load 16 result_tid strref 17 m46s181 @@ -157336,9 +157439,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 L3748 -label L3750 -label L3748 +jmp L3756 +label L3758 +label L3756 load 23 err_kind call 24 pith_cstring_release void 1 23 iconst 25 0 @@ -157409,8 +157512,8 @@ load 51 ok_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -brif 54 L3752 L3753 -label L3752 +brif 54 L3760 L3761 +label L3760 load 55 result_r load 56 result_tid strref 57 m46s182 @@ -157420,9 +157523,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 L3751 -label L3753 -label L3751 +jmp L3759 +label L3761 +label L3759 strref 63 m46s833 load 64 done_l concat 65 63 64 @@ -157549,8 +157652,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 L3755 L3756 -label L3755 +brif 72 L3763 L3764 +label L3763 load 74 ok_value_r load 75 result_tid strref 76 m46s182 @@ -157560,8 +157663,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 L3754 -label L3756 +jmp L3762 +label L3764 call 83 ir_builder_ir_reg int 0 strref 84 m46s898 strref 85 m46s828 @@ -157569,7 +157672,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 L3754 +label L3762 strref 90 m46s830 load 91 temp_name concat 92 90 91 @@ -157599,8 +157702,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 L3758 L3759 -label L3758 +brif 115 L3766 L3767 +label L3766 load 119 result_r load 120 result_tid call 121 ir_emitter_core_ir_emit_release_result_error void 2 119 120 @@ -157611,9 +157714,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 L3757 -label L3759 -label L3757 +jmp L3765 +label L3767 +label L3765 load 129 node field 130 129 16 list children iconst 131 1 @@ -157625,8 +157728,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 L3761 L3762 -label L3761 +brif 138 L3769 L3770 +label L3769 load 139 fallback_r load 140 node field 141 140 16 list children @@ -157637,9 +157740,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 L3760 -label L3762 -label L3760 +jmp L3768 +label L3770 +label L3768 strref 149 m46s830 load 150 temp_name concat 151 149 150 @@ -157706,16 +157809,16 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 gt 5 3 4 -brif 5 L3764 L3765 -label L3764 +brif 5 L3772 L3773 +label L3772 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 L3765 -label L3763 +label L3773 +label L3771 call 11 ir_emitter_core_ir_emit_zero_value int 0 ret 11 iconst 12 0 @@ -157737,13 +157840,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 L3767 L3768 -label L3767 +brif 10 L3775 L3776 +label L3775 load 12 idx load 13 ir_match_emit_ir_tail_match_node eq 14 12 13 -brif 14 L3770 L3771 -label L3770 +brif 14 L3778 L3779 +label L3778 load 15 idx load 16 node closure_ref 17 ir_emitter_core___fnval_0 @@ -157757,8 +157860,8 @@ call 24 pith_cstring_release void 1 23 load 25 checked_lit call 26 pith_cstring_release void 1 25 ret 22 -label L3771 -label L3769 +label L3779 +label L3777 load 27 idx load 28 node closure_ref 29 ir_emitter_core___fnval_0 @@ -157771,14 +157874,14 @@ call 35 pith_cstring_release void 1 34 load 36 checked_lit call 37 pith_cstring_release void 1 36 ret 31 -label L3768 -label L3766 +label L3776 +label L3774 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 L3773 L3774 -label L3773 +brif 40 L3781 L3782 +label L3781 load 42 node closure_ref 43 ir_emitter_core___fnval_0 call 44 ir_match_emit_ir_emit_if_expr int 2 42 43 @@ -157788,14 +157891,14 @@ call 47 pith_cstring_release void 1 46 load 48 checked_lit call 49 pith_cstring_release void 1 48 ret 44 -label L3774 -label L3772 +label L3782 +label L3780 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 L3776 L3777 -label L3776 +brif 52 L3784 L3785 +label L3784 load 54 idx call 55 ir_emitter_core_ir_emit_method_call int 1 54 load 56 kind @@ -157803,14 +157906,14 @@ call 57 pith_cstring_release void 1 56 load 58 checked_lit call 59 pith_cstring_release void 1 58 ret 55 -label L3777 -label L3775 +label L3785 +label L3783 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 L3779 L3780 -label L3779 +brif 62 L3787 L3788 +label L3787 load 64 idx call 65 ir_emitter_core_ir_emit_string_interp int 1 64 load 66 kind @@ -157818,37 +157921,37 @@ call 67 pith_cstring_release void 1 66 load 68 checked_lit call 69 pith_cstring_release void 1 68 ret 65 -label L3780 -label L3778 +label L3788 +label L3786 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 L3782 L3783 -label L3782 +brif 72 L3790 L3791 +label L3790 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_3787 78 +store __or_78_3795 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_3787 81 -brif 81 L3788 L3787 -label L3787 +store __or_78_3795 81 +brif 81 L3796 L3795 +label L3795 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_3787 85 -label L3788 -load 87 __or_78_3787 -brif 87 L3785 L3786 -label L3785 +store __or_78_3795 85 +label L3796 +load 87 __or_78_3795 +brif 87 L3793 L3794 +label L3793 load 88 idx load 89 node call 90 ir_emitter_core_ir_emit_set_literal int 2 88 89 @@ -157857,8 +157960,8 @@ call 92 pith_cstring_release void 1 91 load 93 checked_lit call 94 pith_cstring_release void 1 93 ret 90 -label L3786 -label L3784 +label L3794 +label L3792 load 95 idx load 96 node call 97 ir_emitter_core_ir_emit_map_literal int 2 95 96 @@ -157867,14 +157970,14 @@ call 99 pith_cstring_release void 1 98 load 100 checked_lit call 101 pith_cstring_release void 1 100 ret 97 -label L3783 -label L3781 +label L3791 +label L3789 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 L3790 L3791 -label L3790 +brif 104 L3798 L3799 +label L3798 load 106 idx load 107 node call 108 ir_emitter_core_ir_emit_set_literal int 2 106 107 @@ -157883,14 +157986,14 @@ call 110 pith_cstring_release void 1 109 load 111 checked_lit call 112 pith_cstring_release void 1 111 ret 108 -label L3791 -label L3789 +label L3799 +label L3797 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 L3793 L3794 -label L3793 +brif 115 L3801 L3802 +label L3801 load 117 idx load 118 node call 119 ir_emitter_core_ir_emit_list_literal int 2 117 118 @@ -157899,14 +158002,14 @@ call 121 pith_cstring_release void 1 120 load 122 checked_lit call 123 pith_cstring_release void 1 122 ret 119 -label L3794 -label L3792 +label L3802 +label L3800 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 L3796 L3797 -label L3796 +brif 126 L3804 L3805 +label L3804 load 128 node call 129 ir_emitter_core_ir_emit_tuple_literal int 1 128 load 130 kind @@ -157914,14 +158017,14 @@ call 131 pith_cstring_release void 1 130 load 132 checked_lit call 133 pith_cstring_release void 1 132 ret 129 -label L3797 -label L3795 +label L3805 +label L3803 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 L3799 L3800 -label L3799 +brif 136 L3807 L3808 +label L3807 load 138 idx load 139 node call 140 ir_emitter_core_ir_emit_struct_init int 2 138 139 @@ -157930,14 +158033,14 @@ call 142 pith_cstring_release void 1 141 load 143 checked_lit call 144 pith_cstring_release void 1 143 ret 140 -label L3800 -label L3798 +label L3808 +label L3806 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 L3802 L3803 -label L3802 +brif 147 L3810 L3811 +label L3810 load 149 idx load 150 node call 151 ir_emitter_core_ir_emit_field_access_expr int 2 149 150 @@ -157946,14 +158049,14 @@ call 153 pith_cstring_release void 1 152 load 154 checked_lit call 155 pith_cstring_release void 1 154 ret 151 -label L3803 -label L3801 +label L3811 +label L3809 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 L3805 L3806 -label L3805 +brif 158 L3813 L3814 +label L3813 load 160 idx call 161 ir_emitter_core_ir_emit_lambda int 1 160 load 162 kind @@ -157961,14 +158064,14 @@ call 163 pith_cstring_release void 1 162 load 164 checked_lit call 165 pith_cstring_release void 1 164 ret 161 -label L3806 -label L3804 +label L3814 +label L3812 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 L3808 L3809 -label L3808 +brif 168 L3816 L3817 +label L3816 load 170 node call 171 ir_emitter_core_ir_emit_spawn_expr int 1 170 load 172 kind @@ -157976,14 +158079,14 @@ call 173 pith_cstring_release void 1 172 load 174 checked_lit call 175 pith_cstring_release void 1 174 ret 171 -label L3809 -label L3807 +label L3817 +label L3815 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 L3811 L3812 -label L3811 +brif 178 L3819 L3820 +label L3819 load 180 node call 181 ir_emitter_core_ir_emit_await_expr int 1 180 load 182 kind @@ -157991,14 +158094,14 @@ call 183 pith_cstring_release void 1 182 load 184 checked_lit call 185 pith_cstring_release void 1 184 ret 181 -label L3812 -label L3810 +label L3820 +label L3818 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 L3814 L3815 -label L3814 +brif 188 L3822 L3823 +label L3822 load 190 node call 191 ir_emitter_core_ir_emit_optional_unwrap int 1 190 load 192 kind @@ -158006,26 +158109,26 @@ call 193 pith_cstring_release void 1 192 load 194 checked_lit call 195 pith_cstring_release void 1 194 ret 191 -label L3815 -label L3813 +label L3823 +label L3821 iconst 196 0 -store __or_196_3819 196 +store __or_196_3827 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_3819 199 -brif 199 L3820 L3819 -label L3819 +store __or_196_3827 199 +brif 199 L3828 L3827 +label L3827 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_3819 203 -label L3820 -load 205 __or_196_3819 -brif 205 L3817 L3818 -label L3817 +store __or_196_3827 203 +label L3828 +load 205 __or_196_3827 +brif 205 L3825 L3826 +label L3825 load 206 node call 207 ir_emitter_core_ir_emit_try_expr int 1 206 load 208 kind @@ -158033,14 +158136,14 @@ call 209 pith_cstring_release void 1 208 load 210 checked_lit call 211 pith_cstring_release void 1 210 ret 207 -label L3818 -label L3816 +label L3826 +label L3824 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 L3822 L3823 -label L3822 +brif 214 L3830 L3831 +label L3830 load 216 node call 217 ir_emitter_core_ir_emit_catch_expr int 1 216 load 218 kind @@ -158048,14 +158151,14 @@ call 219 pith_cstring_release void 1 218 load 220 checked_lit call 221 pith_cstring_release void 1 220 ret 217 -label L3823 -label L3821 +label L3831 +label L3829 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 L3825 L3826 -label L3825 +brif 224 L3833 L3834 +label L3833 load 226 node call 227 ir_emitter_core_ir_emit_select_expr int 1 226 load 228 kind @@ -158063,14 +158166,14 @@ call 229 pith_cstring_release void 1 228 load 230 checked_lit call 231 pith_cstring_release void 1 230 ret 227 -label L3826 -label L3824 +label L3834 +label L3832 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 L3828 L3829 -label L3828 +brif 234 L3836 L3837 +label L3836 load 236 node call 237 ir_emitter_core_ir_emit_fail_expr int 1 236 load 238 kind @@ -158078,14 +158181,14 @@ call 239 pith_cstring_release void 1 238 load 240 checked_lit call 241 pith_cstring_release void 1 240 ret 237 -label L3829 -label L3827 +label L3837 +label L3835 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 L3831 L3832 -label L3831 +brif 244 L3839 L3840 +label L3839 load 246 node call 247 ir_emitter_core_ir_emit_grouped_expr int 1 246 load 248 kind @@ -158093,14 +158196,14 @@ call 249 pith_cstring_release void 1 248 load 250 checked_lit call 251 pith_cstring_release void 1 250 ret 247 -label L3832 -label L3830 +label L3840 +label L3838 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 L3834 L3835 -label L3834 +brif 254 L3842 L3843 +label L3842 load 256 idx load 257 node call 258 ir_emitter_core_ir_emit_index_expr int 2 256 257 @@ -158109,8 +158212,8 @@ call 260 pith_cstring_release void 1 259 load 261 checked_lit call 262 pith_cstring_release void 1 261 ret 258 -label L3835 -label L3833 +label L3843 +label L3841 call 263 ir_emitter_core_ir_emit_zero_value int 0 load 264 kind call 265 pith_cstring_release void 1 264 @@ -158141,8 +158244,8 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L3837 L3838 -label L3837 +brif 10 L3845 L3846 +label L3845 load 11 node field 12 11 16 list children iconst 13 0 @@ -158162,15 +158265,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_3842 26 +store __and_26_3850 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_3842 30 -brif 30 L3842 L3843 -label L3842 +store __and_26_3850 30 +brif 30 L3850 L3851 +label L3850 load 32 expr_node field 33 32 8 string value call 34 ir_emitter_core_ir_rc_local_kind string 1 33 @@ -158178,19 +158281,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_3842 38 -label L3843 -load 39 __and_26_3842 -brif 39 L3840 L3841 -label L3840 +store __and_26_3850 38 +label L3851 +load 39 __and_26_3850 +brif 39 L3848 L3849 +label L3848 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 L3839 -label L3841 +jmp L3847 +label L3849 load 45 ret_kind load 46 node field 47 46 16 list children @@ -158204,31 +158307,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_3847 56 +store __and_56_3855 56 load 57 ret_kind call 58 string_len int 1 57 iconst 59 0 gt 60 58 59 -store __and_56_3847 60 -brif 60 L3847 L3848 -label L3847 +store __and_56_3855 60 +brif 60 L3855 L3856 +label L3855 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_3847 65 -label L3848 -load 66 __and_56_3847 -brif 66 L3845 L3846 -label L3845 +store __and_56_3855 65 +label L3856 +load 66 __and_56_3855 +brif 66 L3853 L3854 +label L3853 load 67 r load 68 ret_kind call 69 ir_ownership_ir_rc_retain_reg void 2 67 68 -jmp L3844 -label L3846 -label L3844 -label L3839 +jmp L3852 +label L3854 +label L3852 +label L3847 load 70 result_kind load 71 node field 72 71 16 list children @@ -158250,8 +158353,8 @@ store expr_kind 83 load 85 expr_tid iconst 86 0 gte 87 85 86 -brif 87 L3850 L3851 -label L3850 +brif 87 L3858 L3859 +label L3858 load 88 expr_kind load 89 expr_tid call 90 types_get_type_info struct:TypeInfo 1 89 @@ -158259,25 +158362,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 L3849 -label L3851 -label L3849 +jmp L3857 +label L3859 +label L3857 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 L3853 L3854 -label L3853 +brif 97 L3861 L3862 +label L3861 iconst 98 0 -store __and_98_3855 98 +store __and_98_3863 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_3855 102 -brif 102 L3855 L3856 -label L3855 +store __and_98_3863 102 +brif 102 L3863 L3864 +label L3863 load 104 expr_node field 105 104 8 string value call 106 ir_emitter_core_ir_rc_local_kind string 1 105 @@ -158285,97 +158388,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_3855 108 -label L3856 -load 111 __and_98_3855 +store __and_98_3863 108 +label L3864 +load 111 __and_98_3863 store ident_tuple_local 111 iconst 112 0 -store __or_112_3857 112 +store __or_112_3865 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_3857 115 -brif 115 L3858 L3857 -label L3857 +store __or_112_3865 115 +brif 115 L3866 L3865 +label L3865 iconst 117 0 -store __and_117_3859 117 +store __and_117_3867 117 iconst 118 0 -store __or_118_3859 118 +store __or_118_3867 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_3859 121 -brif 121 L3860 L3859 -label L3859 +store __or_118_3867 121 +brif 121 L3868 L3867 +label L3867 load 123 ident_tuple_local -store __or_118_3859 123 -label L3860 -load 124 __or_118_3859 -store __and_117_3859 124 -brif 124 L3861 L3862 -label L3861 +store __or_118_3867 123 +label L3868 +load 124 __or_118_3867 +store __and_117_3867 124 +brif 124 L3869 L3870 +label L3869 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_3859 127 -label L3862 -load 131 __and_117_3859 -store __or_112_3857 131 -label L3858 -load 132 __or_112_3857 +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 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 L3864 L3865 -label L3864 +brif 136 L3872 L3873 +label L3872 call 138 ir_optionals_ir_emit_optional_none_value int 0 store r 138 -jmp L3863 -label L3865 +jmp L3871 +label L3873 load 139 already_optional iconst 140 0 eq 141 139 140 -brif 141 L3866 L3867 -label L3866 +brif 141 L3874 L3875 +label L3874 load 142 r call 143 ir_optionals_ir_emit_optional_some_value int 1 142 store r 143 -jmp L3863 -label L3867 -label L3863 -jmp L3852 -label L3854 +jmp L3871 +label L3875 +label L3871 +jmp L3860 +label L3862 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 L3868 L3869 -label L3868 +brif 146 L3876 L3877 +label L3876 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 L3871 L3872 -label L3871 +brif 150 L3879 L3880 +label L3879 load 154 r call 155 ir_emitter_core_ir_emit_ok_result_tuple int 1 154 store r 155 -jmp L3870 -label L3872 -label L3870 -jmp L3852 -label L3869 -label L3852 +jmp L3878 +label L3880 +label L3878 +jmp L3860 +label L3877 +label L3860 iconst 156 0 call 157 ir_emitter_core_ir_defer_emit_to_function_frame void 1 156 load 158 exclude @@ -158388,8 +158491,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 L3836 -label L3838 +jmp L3844 +label L3846 iconst 168 0 call 169 ir_emitter_core_ir_defer_emit_to_function_frame void 1 168 strref 170 m46s82 @@ -158417,7 +158520,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 L3836 +label L3844 iconst 194 1 store ir_call_emit_ir_last_was_ret 194 load 195 exclude @@ -158450,35 +158553,35 @@ store substituted 7 iconst 8 0 store ctor 8 iconst 9 0 -store __or_9_3876 9 +store __or_9_3884 9 iconst 10 0 -store __or_10_3876 10 +store __or_10_3884 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_3876 13 -brif 13 L3877 L3876 -label L3876 +store __or_10_3884 13 +brif 13 L3885 L3884 +label L3884 load 17 val_idx iconst 18 0 lt 19 17 18 -store __or_10_3876 19 -label L3877 -load 20 __or_10_3876 -store __or_9_3876 20 -brif 20 L3879 L3878 -label L3878 +store __or_10_3884 19 +label L3885 +load 20 __or_10_3884 +store __or_9_3884 20 +brif 20 L3887 L3886 +label L3886 load 21 type_idx iconst 22 0 lt 23 21 22 -store __or_9_3876 23 -label L3879 -load 24 __or_9_3876 -brif 24 L3874 L3875 -label L3874 +store __or_9_3884 23 +label L3887 +load 24 __or_9_3884 +brif 24 L3882 L3883 +label L3882 strref 25 m46s82 load 26 vn call 27 pith_struct_release void 1 26 @@ -158493,26 +158596,26 @@ call 35 pith_cstring_release void 1 34 load 36 ctor call 37 pith_cstring_release void 1 36 ret 25 -label L3875 -label L3873 +label L3883 +label L3881 iconst 38 0 -store __and_38_3883 38 +store __and_38_3891 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_3883 42 -brif 42 L3883 L3884 -label L3883 +store __and_38_3891 42 +brif 42 L3891 L3892 +label L3891 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_3883 46 -label L3884 -load 47 __and_38_3883 -brif 47 L3881 L3882 -label L3881 +store __and_38_3891 46 +label L3892 +load 47 __and_38_3891 +brif 47 L3889 L3890 +label L3889 strref 48 m46s82 load 49 vn call 50 pith_struct_release void 1 49 @@ -158527,15 +158630,15 @@ call 58 pith_cstring_release void 1 57 load 59 ctor call 60 pith_cstring_release void 1 59 ret 48 -label L3882 -label L3880 +label L3890 +label L3888 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_3888 65 +store __or_65_3896 65 load 66 vn field 67 66 0 string kind strref 68 m46s20 @@ -158543,19 +158646,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_3888 69 -brif 69 L3889 L3888 -label L3888 +store __or_65_3896 69 +brif 69 L3897 L3896 +label L3896 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_3888 77 -label L3889 -load 78 __or_65_3888 -brif 78 L3886 L3887 -label L3886 +store __or_65_3896 77 +label L3897 +load 78 __or_65_3896 +brif 78 L3894 L3895 +label L3894 strref 79 m46s82 load 80 vn call 81 pith_struct_release void 1 80 @@ -158570,17 +158673,17 @@ call 89 pith_cstring_release void 1 88 load 90 ctor call 91 pith_cstring_release void 1 90 ret 79 -label L3887 -label L3885 +label L3895 +label L3893 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_3893 96 +store __or_96_3901 96 iconst 97 0 -store __or_97_3893 97 +store __or_97_3901 97 load 98 tn field 99 98 0 string kind strref 100 m46s327 @@ -158588,9 +158691,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_3893 101 -brif 101 L3894 L3893 -label L3893 +store __or_97_3901 101 +brif 101 L3902 L3901 +label L3901 load 105 tn field 106 105 8 string value strref 107 m46s326 @@ -158598,22 +158701,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_3893 108 -label L3894 -load 112 __or_97_3893 -store __or_96_3893 112 -brif 112 L3896 L3895 -label L3895 +store __or_97_3901 108 +label L3902 +load 112 __or_97_3901 +store __or_96_3901 112 +brif 112 L3904 L3903 +label L3903 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_3893 117 -label L3896 -load 118 __or_96_3893 -brif 118 L3891 L3892 -label L3891 +store __or_96_3901 117 +label L3904 +load 118 __or_96_3901 +brif 118 L3899 L3900 +label L3899 strref 119 m46s82 load 120 vn call 121 pith_struct_release void 1 120 @@ -158628,8 +158731,8 @@ call 129 pith_cstring_release void 1 128 load 130 ctor call 131 pith_cstring_release void 1 130 ret 119 -label L3892 -label L3890 +label L3900 +label L3898 load 132 elem load 133 tn field 134 133 16 list children @@ -158644,8 +158747,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 L3898 L3899 -label L3898 +brif 144 L3906 L3907 +label L3906 load 145 inner load 146 tn field 147 146 16 list children @@ -158659,8 +158762,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 L3901 L3902 -label L3901 +brif 155 L3909 L3910 +label L3909 load 157 substituted load 158 inner field 159 158 8 string value @@ -158673,22 +158776,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 L3904 L3905 -label L3904 +brif 165 L3912 L3913 +label L3912 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 L3903 +jmp L3911 +label L3913 +label L3911 +jmp L3908 +label L3910 +label L3908 +jmp L3905 +label L3907 label L3905 -label L3903 -jmp L3900 -label L3902 -label L3900 -jmp L3897 -label L3899 -label L3897 load 172 ctor load 173 elem call 174 ir_struct_registry_ir_rc_kind string 1 173 @@ -158700,8 +158803,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 L3907 L3908 -label L3907 +brif 180 L3915 L3916 +label L3915 strref 182 m46s82 load 183 vn call 184 pith_struct_release void 1 183 @@ -158716,8 +158819,8 @@ call 192 pith_cstring_release void 1 191 load 193 ctor call 194 pith_cstring_release void 1 193 ret 182 -label L3908 -label L3906 +label L3916 +label L3914 load 195 ctor load 196 vn call 197 pith_struct_release void 1 196 @@ -158789,46 +158892,46 @@ load 24 parts field 25 24 16 int type_idx store type_idx 25 iconst 26 0 -store __and_26_3912 26 +store __and_26_3920 26 load 27 type_idx iconst 28 0 lt 29 27 28 -store __and_26_3912 29 -brif 29 L3912 L3913 -label L3912 +store __and_26_3920 29 +brif 29 L3920 L3921 +label L3920 load 30 val_idx iconst 31 0 gte 32 30 31 -store __and_26_3912 32 -label L3913 -load 33 __and_26_3912 -brif 33 L3910 L3911 -label L3910 +store __and_26_3920 32 +label L3921 +load 33 __and_26_3920 +brif 33 L3918 L3919 +label L3918 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_3917 38 +store __and_38_3925 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_3917 42 -brif 42 L3917 L3918 -label L3917 +store __and_38_3925 42 +brif 42 L3925 L3926 +label L3925 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_3917 48 -label L3918 -load 49 __and_38_3917 -brif 49 L3915 L3916 -label L3915 +store __and_38_3925 48 +label L3926 +load 49 __and_38_3925 +brif 49 L3923 L3924 +label L3923 load 50 callee_n load 51 vn field 52 51 16 list children @@ -158838,24 +158941,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_3922 57 +store __and_57_3930 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_3922 61 -brif 61 L3922 L3923 -label L3922 +store __and_57_3930 61 +brif 61 L3930 L3931 +label L3930 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_3922 66 -label L3923 -load 67 __and_57_3922 -brif 67 L3920 L3921 -label L3920 +store __and_57_3930 66 +label L3931 +load 67 __and_57_3930 +brif 67 L3928 L3929 +label L3928 load 68 ir_builder_ir_var_types load 69 name load 70 ir_emitter_core_ir_closure_return_kinds @@ -158863,43 +158966,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 L3919 -label L3921 -label L3919 -jmp L3914 -label L3916 +jmp L3927 +label L3929 +label L3927 +jmp L3922 +label L3924 iconst 75 0 -store __and_75_3926 75 +store __and_75_3934 75 iconst 76 0 -store __and_76_3926 76 +store __and_76_3934 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_3926 80 -brif 80 L3926 L3927 -label L3926 +store __and_76_3934 80 +brif 80 L3934 L3935 +label L3934 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_3926 86 -label L3927 -load 87 __and_76_3926 -store __and_75_3926 87 -brif 87 L3928 L3929 -label L3928 +store __and_76_3934 86 +label L3935 +load 87 __and_76_3934 +store __and_75_3934 87 +brif 87 L3936 L3937 +label L3936 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_3926 91 -label L3929 -load 92 __and_75_3926 -brif 92 L3924 L3925 -label L3924 +store __and_75_3934 91 +label L3937 +load 92 __and_75_3934 +brif 92 L3932 L3933 +label L3932 load 93 recv load 94 vn field 95 94 16 list children @@ -158913,8 +159016,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 L3931 L3932 -label L3931 +brif 103 L3939 L3940 +label L3939 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 @@ -158928,24 +159031,24 @@ load 113 field_kind call 114 string_len int 1 113 iconst 115 0 gt 116 114 115 -brif 116 L3934 L3935 -label L3934 +brif 116 L3942 L3943 +label L3942 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 L3933 -label L3935 +jmp L3941 +label L3943 +label L3941 +jmp L3938 +label L3940 +label L3938 +jmp L3922 label L3933 -jmp L3930 -label L3932 -label L3930 -jmp L3914 -label L3925 -label L3914 -jmp L3909 -label L3911 -label L3909 +label L3922 +jmp L3917 +label L3919 +label L3917 load 121 target_type strref 122 m46s82 call 123 pith_cstring_release void 1 121 @@ -158953,8 +159056,8 @@ store target_type 122 load 124 type_idx iconst 125 0 gte 126 124 125 -brif 126 L3937 L3938 -label L3937 +brif 126 L3945 L3946 +label L3945 load 127 target_type load 128 type_idx call 129 ir_alias_registry_ir_resolve_type_node string 1 128 @@ -158964,15 +159067,15 @@ load 131 target_type call 132 string_len int 1 131 iconst 133 0 gt 134 132 133 -brif 134 L3940 L3941 -label L3940 +brif 134 L3948 L3949 +label L3948 load 135 ir_builder_ir_var_types load 136 name load 137 target_type call 138 map_insert void 3 135 136 137 -jmp L3939 -label L3941 -label L3939 +jmp L3947 +label L3949 +label L3947 load 139 map_value_type load 140 type_idx call 141 ir_alias_registry_ir_resolve_map_value_type_node string 1 140 @@ -158982,23 +159085,23 @@ load 143 map_value_type call 144 string_len int 1 143 iconst 145 0 gt 146 144 145 -brif 146 L3943 L3944 -label L3943 +brif 146 L3951 L3952 +label L3951 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 L3942 +jmp L3950 +label L3952 +label L3950 +jmp L3944 +label L3946 label L3944 -label L3942 -jmp L3936 -label L3938 -label L3936 load 151 val_idx iconst 152 0 gte 153 151 152 -brif 153 L3946 L3947 -label L3946 +brif 153 L3954 L3955 +label L3954 load 154 bind_kind load 155 name call 156 ir_emitter_core_ir_rc_local_kind string 1 155 @@ -159014,26 +159117,26 @@ iconst 163 1 sub 164 162 163 store old_r 164 iconst 165 0 -store __and_165_3951 165 +store __and_165_3959 165 load 166 tracked -store __and_165_3951 166 -brif 166 L3951 L3952 -label L3951 +store __and_165_3959 166 +brif 166 L3959 L3960 +label L3959 load 167 bind_kind call 168 ir_ownership_ir_rc_release_enabled bool 1 167 -store __and_165_3951 168 -label L3952 -load 169 __and_165_3951 -brif 169 L3949 L3950 -label L3949 +store __and_165_3959 168 +label L3960 +load 169 __and_165_3959 +brif 169 L3957 L3958 +label L3957 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 L3948 -label L3950 -label L3948 +jmp L3956 +label L3958 +label L3956 load 174 bind_target load 175 name load 176 target_type @@ -159055,8 +159158,8 @@ load 188 annot_ctor call 189 string_len int 1 188 iconst 190 0 gt 191 189 190 -brif 191 L3954 L3955 -label L3954 +brif 191 L3962 L3963 +label L3962 call 192 ir_builder_ir_reg int 0 store r 192 load 193 r @@ -159064,66 +159167,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 L3953 -label L3955 -label L3953 +jmp L3961 +label L3963 +label L3961 load 198 r iconst 199 0 lt 200 198 199 -brif 200 L3957 L3958 -label L3957 +brif 200 L3965 L3966 +label L3965 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 L3956 -label L3958 -label L3956 +jmp L3964 +label L3966 +label L3964 iconst 204 0 -store __and_204_3962 204 +store __and_204_3970 204 iconst 205 0 -store __and_205_3962 205 +store __and_205_3970 205 load 206 tracked -store __and_205_3962 206 -brif 206 L3962 L3963 -label L3962 +store __and_205_3970 206 +brif 206 L3970 L3971 +label L3970 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_3962 209 -label L3963 -load 213 __and_205_3962 -store __and_204_3962 213 -brif 213 L3964 L3965 -label L3964 +store __and_205_3970 209 +label L3971 +load 213 __and_205_3970 +store __and_204_3970 213 +brif 213 L3972 L3973 +label L3972 load 214 val_idx call 215 ir_emitter_core_ir_string_expr_is_borrowed bool 1 214 -store __and_204_3962 215 -label L3965 -load 216 __and_204_3962 -brif 216 L3960 L3961 -label L3960 +store __and_204_3970 215 +label L3973 +load 216 __and_204_3970 +brif 216 L3968 L3969 +label L3968 load 217 r load 218 bind_kind call 219 ir_ownership_ir_rc_retain_reg void 2 217 218 -jmp L3959 -label L3961 -label L3959 +jmp L3967 +label L3969 +label L3967 load 220 old_r iconst 221 0 gte 222 220 221 -brif 222 L3967 L3968 -label L3967 +brif 222 L3975 L3976 +label L3975 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 L3966 -label L3968 -label L3966 +jmp L3974 +label L3976 +label L3974 load 227 ir_builder_ir_var_regs load 228 name load 229 r @@ -159136,8 +159239,8 @@ load 235 name call 236 contains_key bool 2 234 235 iconst 238 1 sub 237 238 236 -brif 237 L3970 L3971 -label L3970 +brif 237 L3978 L3979 +label L3978 load 239 inferred load 240 val_idx call 241 ir_emitter_core_ir_infer_type string 1 240 @@ -159147,21 +159250,21 @@ load 243 inferred call 244 string_len int 1 243 iconst 245 0 gt 246 244 245 -brif 246 L3973 L3974 -label L3973 +brif 246 L3981 L3982 +label L3981 load 247 ir_builder_ir_var_types load 248 name load 249 inferred call 250 map_insert void 3 247 248 249 -jmp L3972 -label L3974 -label L3972 -jmp L3969 -label L3971 -label L3969 -jmp L3945 -label L3947 -label L3945 +jmp L3980 +label L3982 +label L3980 +jmp L3977 +label L3979 +label L3977 +jmp L3953 +label L3955 +label L3953 load 251 parts call 252 pith_struct_release void 1 251 load 253 name @@ -159208,8 +159311,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 gte 13 11 12 -brif 13 L3976 L3977 -label L3976 +brif 13 L3984 L3985 +label L3984 load 14 node field 15 14 16 list children iconst 16 0 @@ -159219,8 +159322,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 L3979 L3980 -label L3979 +brif 22 L3987 L3988 +label L3987 load 23 name call 24 pith_cstring_release void 1 23 load 25 legacy_kind @@ -159229,18 +159332,18 @@ load 27 legacy_target call 28 pith_cstring_release void 1 27 iconst 29 0 ret 29 -label L3980 -label L3978 -jmp L3975 -label L3977 -label L3975 +label L3988 +label L3986 +jmp L3983 +label L3985 +label L3983 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 L3982 L3983 -label L3982 +brif 34 L3990 L3991 +label L3990 load 35 legacy_kind load 36 name call 37 ir_emitter_core_ir_lookup_name_type string 1 36 @@ -159260,82 +159363,82 @@ iconst 48 1 sub 49 47 48 store old_r 49 iconst 50 0 -store __and_50_3987 50 +store __and_50_3995 50 load 51 legacy_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -store __and_50_3987 54 -brif 54 L3987 L3988 -label L3987 +store __and_50_3995 54 +brif 54 L3995 L3996 +label L3995 load 55 legacy_kind call 56 ir_ownership_ir_rc_release_enabled bool 1 55 -store __and_50_3987 56 -label L3988 -load 57 __and_50_3987 -brif 57 L3985 L3986 -label L3985 +store __and_50_3995 56 +label L3996 +load 57 __and_50_3995 +brif 57 L3993 L3994 +label L3993 iconst 58 0 -store __or_58_3992 58 +store __or_58_4000 58 load 59 tracked -store __or_58_3992 59 -brif 59 L3993 L3992 -label L3992 +store __or_58_4000 59 +brif 59 L4001 L4000 +label L4000 iconst 60 0 -store __and_60_3994 60 +store __and_60_4002 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_3994 63 -brif 63 L3994 L3995 -label L3994 +store __and_60_4002 63 +brif 63 L4002 L4003 +label L4002 load 65 ir_alias_registry_ir_global_string_names load 66 name iconst 67 -1 -store __list_index_result_L3996 67 +store __list_index_result_L4004 67 iconst 68 0 -store __list_index_i_L3997 68 +store __list_index_i_L4005 68 call 69 pith_list_len int 1 65 -label L3998 -load 70 __list_index_i_L3997 +label L4006 +load 70 __list_index_i_L4005 lt 71 70 69 -brif 71 L3999 L4002 -label L3999 +brif 71 L4007 L4010 +label L4007 call 72 pith_list_get_value string 2 65 70 call 73 pith_cstring_eq bool 2 72 66 -brif 73 L4000 L4001 -label L4000 -store __list_index_result_L3996 70 -jmp L4002 -label L4001 +brif 73 L4008 L4009 +label L4008 +store __list_index_result_L4004 70 +jmp L4010 +label L4009 iconst 74 1 add 75 70 74 -store __list_index_i_L3997 75 -jmp L3998 -label L4002 -load 76 __list_index_result_L3996 +store __list_index_i_L4005 75 +jmp L4006 +label L4010 +load 76 __list_index_result_L4004 iconst 77 0 gte 78 76 77 -store __and_60_3994 78 -label L3995 -load 79 __and_60_3994 -store __or_58_3992 79 -label L3993 -load 80 __or_58_3992 -brif 80 L3990 L3991 -label L3990 +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 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 L3989 -label L3991 -label L3989 -jmp L3984 -label L3986 -label L3984 +jmp L3997 +label L3999 +label L3997 +jmp L3992 +label L3994 +label L3992 load 85 legacy_target load 86 name load 87 name @@ -159352,56 +159455,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_4006 98 +store __and_98_4014 98 iconst 99 0 -store __and_99_4006 99 +store __and_99_4014 99 load 100 legacy_kind call 101 string_len int 1 100 iconst 102 0 gt 103 101 102 -store __and_99_4006 103 -brif 103 L4006 L4007 -label L4006 +store __and_99_4014 103 +brif 103 L4014 L4015 +label L4014 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_4006 106 -label L4007 -load 110 __and_99_4006 -store __and_98_4006 110 -brif 110 L4008 L4009 -label L4008 +store __and_99_4014 106 +label L4015 +load 110 __and_99_4014 +store __and_98_4014 110 +brif 110 L4016 L4017 +label L4016 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_4006 115 -label L4009 -load 116 __and_98_4006 -brif 116 L4004 L4005 -label L4004 +store __and_98_4014 115 +label L4017 +load 116 __and_98_4014 +brif 116 L4012 L4013 +label L4012 load 117 r load 118 legacy_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L4003 -label L4005 -label L4003 +jmp L4011 +label L4013 +label L4011 load 120 old_r iconst 121 0 gte 122 120 121 -brif 122 L4011 L4012 -label L4011 +brif 122 L4019 L4020 +label L4019 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 L4010 -label L4012 -label L4010 +jmp L4018 +label L4020 +label L4018 load 127 ir_builder_ir_var_regs load 128 name load 129 r @@ -159409,9 +159512,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 L3981 -label L3983 -label L3981 +jmp L3989 +label L3991 +label L3989 load 134 name call 135 pith_cstring_release void 1 134 load 136 legacy_kind @@ -159441,8 +159544,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 L4014 L4015 -label L4014 +brif 13 L4022 L4023 +label L4022 load 14 direct load 15 recv_type call 16 pith_cstring_release void 1 15 @@ -159451,8 +159554,8 @@ call 18 pith_cstring_release void 1 17 load 19 base_key call 20 pith_cstring_release void 1 19 ret 14 -label L4015 -label L4013 +label L4023 +label L4021 load 21 recv_type load 22 recv_idx call 23 ir_emitter_core_ir_field_receiver_type string 1 22 @@ -159468,8 +159571,8 @@ load 30 recv_type call 32 pith_cstring_eq bool 2 29 30 iconst 33 1 sub 31 33 32 -brif 31 L4017 L4018 -label L4017 +brif 31 L4025 L4026 +label L4025 load 34 base_key load 35 base strref 36 m46s26 @@ -159483,8 +159586,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 L4020 L4021 -label L4020 +brif 45 L4028 L4029 +label L4028 load 46 base_key load 47 direct call 48 pith_cstring_release void 1 47 @@ -159493,11 +159596,11 @@ call 50 pith_cstring_release void 1 49 load 51 base call 52 pith_cstring_release void 1 51 ret 46 -label L4021 -label L4019 -jmp L4016 -label L4018 -label L4016 +label L4029 +label L4027 +jmp L4024 +label L4026 +label L4024 strref 53 m46s82 load 54 direct call 55 pith_cstring_release void 1 54 @@ -159540,7 +159643,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_4025 12 +store __or_12_4033 12 load 13 target field 14 13 0 string kind strref 15 m46s36 @@ -159548,19 +159651,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_4025 16 -brif 16 L4026 L4025 -label L4025 +store __or_12_4033 16 +brif 16 L4034 L4033 +label L4033 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_4025 24 -label L4026 -load 25 __or_12_4025 -brif 25 L4023 L4024 -label L4023 +store __or_12_4033 24 +label L4034 +load 25 __or_12_4033 +brif 25 L4031 L4032 +label L4031 iconst 26 0 load 27 target call 28 pith_struct_release void 1 27 @@ -159575,8 +159678,8 @@ call 36 pith_cstring_release void 1 35 load 37 weak_struct call 38 pith_cstring_release void 1 37 ret 26 -label L4024 -label L4022 +label L4032 +label L4030 load 39 fname load 40 target_idx call 41 ast_node_value string 1 40 @@ -159597,8 +159700,8 @@ load 52 lookup_key call 53 string_len int 1 52 iconst 54 0 eq 55 53 54 -brif 55 L4028 L4029 -label L4028 +brif 55 L4036 L4037 +label L4036 iconst 56 0 load 57 target call 58 pith_struct_release void 1 57 @@ -159613,8 +159716,8 @@ call 66 pith_cstring_release void 1 65 load 67 weak_struct call 68 pith_cstring_release void 1 67 ret 56 -label L4029 -label L4027 +label L4037 +label L4035 load 69 ir_struct_registry_ir_struct_field_index_lookup load 70 lookup_key call 71 map_get_strict string 2 69 70 @@ -159633,16 +159736,16 @@ load 80 value_type call 81 string_len int 1 80 iconst 82 0 eq 83 81 82 -brif 83 L4031 L4032 -label L4031 +brif 83 L4039 L4040 +label L4039 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 L4030 -label L4032 -label L4030 +jmp L4038 +label L4040 +label L4038 load 88 fassign_kind load 89 value_type call 90 ir_struct_registry_ir_rc_kind string 1 89 @@ -159664,8 +159767,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 L4034 L4035 -label L4034 +brif 106 L4042 L4043 +label L4042 call 107 ir_builder_ir_reg int 0 store old_w 107 load 108 old_w @@ -159736,28 +159839,28 @@ call 170 pith_cstring_release void 1 169 load 171 weak_struct call 172 pith_cstring_release void 1 171 ret 160 -label L4035 -label L4033 +label L4043 +label L4041 iconst 173 0 iconst 174 1 sub 175 173 174 store old_r 175 iconst 176 0 -store __and_176_4039 176 +store __and_176_4047 176 load 177 fassign_kind call 178 string_len int 1 177 iconst 179 0 gt 180 178 179 -store __and_176_4039 180 -brif 180 L4039 L4040 -label L4039 +store __and_176_4047 180 +brif 180 L4047 L4048 +label L4047 load 181 fassign_kind call 182 ir_ownership_ir_rc_release_enabled bool 1 181 -store __and_176_4039 182 -label L4040 -load 183 __and_176_4039 -brif 183 L4037 L4038 -label L4037 +store __and_176_4047 182 +label L4048 +load 183 __and_176_4047 +brif 183 L4045 L4046 +label L4045 call 184 ir_builder_ir_reg int 0 store old_r 184 load 185 old_r @@ -159766,49 +159869,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 L4036 -label L4038 -label L4036 +jmp L4044 +label L4046 +label L4044 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_4044 194 +store __and_194_4052 194 iconst 195 0 -store __and_195_4044 195 +store __and_195_4052 195 load 196 fassign_kind call 197 string_len int 1 196 iconst 198 0 gt 199 197 198 -store __and_195_4044 199 -brif 199 L4044 L4045 -label L4044 +store __and_195_4052 199 +brif 199 L4052 L4053 +label L4052 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_4044 202 -label L4045 -load 206 __and_195_4044 -store __and_194_4044 206 -brif 206 L4046 L4047 -label L4046 +store __and_195_4052 202 +label L4053 +load 206 __and_195_4052 +store __and_194_4052 206 +brif 206 L4054 L4055 +label L4054 load 207 value_idx call 208 ir_emitter_core_ir_string_expr_is_borrowed bool 1 207 -store __and_194_4044 208 -label L4047 -load 209 __and_194_4044 -brif 209 L4042 L4043 -label L4042 +store __and_194_4052 208 +label L4055 +load 209 __and_194_4052 +brif 209 L4050 L4051 +label L4050 load 210 value_r load 211 fassign_kind call 212 ir_ownership_ir_rc_retain_reg void 2 210 211 -jmp L4041 -label L4043 -label L4041 +jmp L4049 +label L4051 +label L4049 strref 213 m46s1038 load 214 obj_r call 215 int_to_string string 1 214 @@ -159838,14 +159941,14 @@ call 238 pith_cstring_release void 1 234 load 239 old_r iconst 240 0 gte 241 239 240 -brif 241 L4049 L4050 -label L4049 +brif 241 L4057 L4058 +label L4057 load 242 old_r load 243 fassign_kind call 244 ir_ownership_ir_rc_release_reg void 2 242 243 -jmp L4048 -label L4050 -label L4048 +jmp L4056 +label L4058 +label L4056 iconst 245 1 load 246 target call 247 pith_struct_release void 1 246 @@ -159891,7 +159994,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_4054 10 +store __or_10_4062 10 load 11 target field 12 11 0 string kind strref 13 m46s36 @@ -159899,19 +160002,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_4054 14 -brif 14 L4055 L4054 -label L4054 +store __or_10_4062 14 +brif 14 L4063 L4062 +label L4062 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_4054 22 -label L4055 -load 23 __or_10_4054 -brif 23 L4052 L4053 -label L4052 +store __or_10_4062 22 +label L4063 +load 23 __or_10_4062 +brif 23 L4060 L4061 +label L4060 iconst 24 0 load 25 target call 26 pith_struct_release void 1 25 @@ -159920,8 +160023,8 @@ call 28 pith_cstring_release void 1 27 load 29 lookup_key call 30 pith_cstring_release void 1 29 ret 24 -label L4053 -label L4051 +label L4061 +label L4059 load 31 fname load 32 target_idx call 33 ast_node_value string 1 32 @@ -159942,8 +160045,8 @@ load 44 lookup_key call 45 string_len int 1 44 iconst 46 0 eq 47 45 46 -brif 47 L4057 L4058 -label L4057 +brif 47 L4065 L4066 +label L4065 iconst 48 0 load 49 target call 50 pith_struct_release void 1 49 @@ -159952,8 +160055,8 @@ call 52 pith_cstring_release void 1 51 load 53 lookup_key call 54 pith_cstring_release void 1 53 ret 48 -label L4058 -label L4056 +label L4066 +label L4064 load 55 ir_struct_registry_ir_struct_field_index_lookup load 56 lookup_key call 57 map_get_strict string 2 55 56 @@ -160049,24 +160152,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_4062 13 +store __and_13_4070 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_4062 16 -brif 16 L4062 L4063 -label L4062 +store __and_13_4070 16 +brif 16 L4070 L4071 +label L4070 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_4062 22 -label L4063 -load 23 __and_13_4062 -brif 23 L4060 L4061 -label L4060 +store __and_13_4070 22 +label L4071 +load 23 __and_13_4070 +brif 23 L4068 L4069 +label L4068 load 24 node field 25 24 16 list children iconst 26 0 @@ -160076,8 +160179,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 L4065 L4066 -label L4065 +brif 32 L4073 L4074 +label L4073 load 33 op call 34 pith_cstring_release void 1 33 load 35 tn @@ -160094,8 +160197,8 @@ load 45 compound_op call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L4066 -label L4064 +label L4074 +label L4072 load 48 node field 49 48 16 list children iconst 50 0 @@ -160105,8 +160208,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 L4068 L4069 -label L4068 +brif 56 L4076 L4077 +label L4076 load 57 op call 58 pith_cstring_release void 1 57 load 59 tn @@ -160123,8 +160226,8 @@ load 69 compound_op call 70 pith_cstring_release void 1 69 iconst 71 0 ret 71 -label L4069 -label L4067 +label L4077 +label L4075 load 72 tn load 73 node field 74 73 16 list children @@ -160157,8 +160260,8 @@ load 96 assign_kind call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L4071 L4072 -label L4071 +brif 99 L4079 L4080 +label L4079 load 100 assign_kind load 101 name call 102 ir_emitter_core_ir_lookup_name_type string 1 101 @@ -160166,9 +160269,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 L4070 -label L4072 -label L4070 +jmp L4078 +label L4080 +label L4078 load 106 name call 107 ir_emitter_core_ir_rc_local_kind string 1 106 call 108 string_len int 1 107 @@ -160181,82 +160284,82 @@ iconst 113 1 sub 114 112 113 store old_r 114 iconst 115 0 -store __and_115_4076 115 +store __and_115_4084 115 load 116 assign_kind call 117 string_len int 1 116 iconst 118 0 gt 119 117 118 -store __and_115_4076 119 -brif 119 L4076 L4077 -label L4076 +store __and_115_4084 119 +brif 119 L4084 L4085 +label L4084 load 120 assign_kind call 121 ir_ownership_ir_rc_release_enabled bool 1 120 -store __and_115_4076 121 -label L4077 -load 122 __and_115_4076 -brif 122 L4074 L4075 -label L4074 +store __and_115_4084 121 +label L4085 +load 122 __and_115_4084 +brif 122 L4082 L4083 +label L4082 iconst 123 0 -store __or_123_4081 123 +store __or_123_4089 123 load 124 tracked -store __or_123_4081 124 -brif 124 L4082 L4081 -label L4081 +store __or_123_4089 124 +brif 124 L4090 L4089 +label L4089 iconst 125 0 -store __and_125_4083 125 +store __and_125_4091 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_4083 128 -brif 128 L4083 L4084 -label L4083 +store __and_125_4091 128 +brif 128 L4091 L4092 +label L4091 load 130 ir_alias_registry_ir_global_string_names load 131 name iconst 132 -1 -store __list_index_result_L4085 132 +store __list_index_result_L4093 132 iconst 133 0 -store __list_index_i_L4086 133 +store __list_index_i_L4094 133 call 134 pith_list_len int 1 130 -label L4087 -load 135 __list_index_i_L4086 +label L4095 +load 135 __list_index_i_L4094 lt 136 135 134 -brif 136 L4088 L4091 -label L4088 +brif 136 L4096 L4099 +label L4096 call 137 pith_list_get_value string 2 130 135 call 138 pith_cstring_eq bool 2 137 131 -brif 138 L4089 L4090 -label L4089 -store __list_index_result_L4085 135 -jmp L4091 -label L4090 +brif 138 L4097 L4098 +label L4097 +store __list_index_result_L4093 135 +jmp L4099 +label L4098 iconst 139 1 add 140 135 139 -store __list_index_i_L4086 140 -jmp L4087 -label L4091 -load 141 __list_index_result_L4085 +store __list_index_i_L4094 140 +jmp L4095 +label L4099 +load 141 __list_index_result_L4093 iconst 142 0 gte 143 141 142 -store __and_125_4083 143 -label L4084 -load 144 __and_125_4083 -store __or_123_4081 144 -label L4082 -load 145 __or_123_4081 -brif 145 L4079 L4080 -label L4079 +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 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 L4078 -label L4080 -label L4078 -jmp L4073 -label L4075 -label L4073 +jmp L4086 +label L4088 +label L4086 +jmp L4081 +label L4083 +label L4081 load 150 assign_target load 151 name load 152 target_type @@ -160271,55 +160374,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_4095 161 +store __and_161_4103 161 iconst 162 0 -store __and_162_4095 162 +store __and_162_4103 162 load 163 assign_kind call 164 string_len int 1 163 iconst 165 0 gt 166 164 165 -store __and_162_4095 166 -brif 166 L4095 L4096 -label L4095 +store __and_162_4103 166 +brif 166 L4103 L4104 +label L4103 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_4095 169 -label L4096 -load 173 __and_162_4095 -store __and_161_4095 173 -brif 173 L4097 L4098 -label L4097 +store __and_162_4103 169 +label L4104 +load 173 __and_162_4103 +store __and_161_4103 173 +brif 173 L4105 L4106 +label L4105 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_4095 178 -label L4098 -load 179 __and_161_4095 -brif 179 L4093 L4094 -label L4093 +store __and_161_4103 178 +label L4106 +load 179 __and_161_4103 +brif 179 L4101 L4102 +label L4101 load 180 r load 181 assign_kind call 182 ir_ownership_ir_rc_retain_reg void 2 180 181 -jmp L4092 -label L4094 -label L4092 +jmp L4100 +label L4102 +label L4100 load 183 old_r iconst 184 0 gte 185 183 184 -brif 185 L4100 L4101 -label L4100 +brif 185 L4108 L4109 +label L4108 load 186 old_r load 187 assign_kind call 188 ir_ownership_ir_rc_release_reg void 2 186 187 -jmp L4099 -label L4101 -label L4099 +jmp L4107 +label L4109 +label L4107 load 189 name load 190 r call 191 ir_emitter_core_ir_emit_name_store void 2 189 190 @@ -160339,32 +160442,32 @@ load 204 compound_op call 205 pith_cstring_release void 1 204 iconst 206 0 ret 206 -label L4061 -label L4059 +label L4069 +label L4067 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_4105 211 +store __and_211_4113 211 load 212 compound_op call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -store __and_211_4105 215 -brif 215 L4105 L4106 -label L4105 +store __and_211_4113 215 +brif 215 L4113 L4114 +label L4113 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_4105 220 -label L4106 -load 221 __and_211_4105 -brif 221 L4103 L4104 -label L4103 +store __and_211_4113 220 +label L4114 +load 221 __and_211_4113 +brif 221 L4111 L4112 +label L4111 load 222 node field 223 222 16 list children iconst 224 0 @@ -160375,8 +160478,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 L4108 L4109 -label L4108 +brif 231 L4116 L4117 +label L4116 load 232 op call 233 pith_cstring_release void 1 232 load 234 tn @@ -160393,8 +160496,8 @@ load 244 compound_op call 245 pith_cstring_release void 1 244 iconst 246 0 ret 246 -label L4109 -label L4107 +label L4117 +label L4115 load 247 tn load 248 node field 249 248 16 list children @@ -160430,9 +160533,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 L4102 -label L4104 -label L4102 +jmp L4110 +label L4112 +label L4110 load 277 op call 278 pith_cstring_release void 1 277 load 279 tn @@ -160459,8 +160562,8 @@ load 4 branch field 5 4 0 int cond_idx iconst 6 0 gte 7 5 6 -brif 7 L4111 L4112 -label L4111 +brif 7 L4119 L4120 +label L4119 load 8 branch field 9 8 0 int cond_idx call 10 ir_emitter_core_ir_expr int 1 9 @@ -160487,9 +160590,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 L4110 -label L4112 -label L4110 +jmp L4118 +label L4120 +label L4118 load 33 then_label call 34 ir_call_emit_ir_emit_label void 1 33 iconst 35 0 @@ -160498,28 +160601,28 @@ load 36 branch field 37 36 8 int body_idx iconst 38 0 gte 39 37 38 -brif 39 L4114 L4115 -label L4114 +brif 39 L4122 L4123 +label L4122 load 40 branch field 41 40 8 int body_idx call 42 ir_emitter_core_ir_block int 1 41 -jmp L4113 -label L4115 -label L4113 +jmp L4121 +label L4123 +label L4121 load 43 ir_call_emit_ir_last_was_ret iconst 45 1 sub 44 45 43 -brif 44 L4117 L4118 -label L4117 +brif 44 L4125 L4126 +label L4125 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 L4116 -label L4118 -label L4116 +jmp L4124 +label L4126 +label L4124 load 52 next_label call 53 ir_call_emit_ir_emit_label void 1 52 iconst 54 0 @@ -160593,8 +160696,8 @@ load 58 index_name call 59 string_len int 1 58 iconst 60 0 gt 61 59 60 -brif 61 L4120 L4121 -label L4120 +brif 61 L4128 L4129 +label L4128 call 62 ir_builder_ir_reg int 0 store idx_val 62 strref 63 m46s829 @@ -160619,9 +160722,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 L4119 -label L4121 -label L4119 +jmp L4127 +label L4129 +label L4127 load 85 item_ret_kind call 86 pith_cstring_release void 1 85 iconst 87 0 @@ -160650,109 +160753,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 L4123 L4124 -label L4123 +brif 15 L4131 L4132 +label L4131 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 L4126 L4127 -label L4126 +brif 21 L4134 L4135 +label L4134 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 L4125 -label L4127 -label L4125 +jmp L4133 +label L4135 +label L4133 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 L4124 -label L4122 +label L4132 +label L4130 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 L4129 L4130 -label L4129 +brif 35 L4137 L4138 +label L4137 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 L4132 L4133 -label L4132 +brif 41 L4140 L4141 +label L4140 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 L4131 -label L4133 -label L4131 +jmp L4139 +label L4141 +label L4139 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 L4130 -label L4128 +label L4138 +label L4136 load 53 kind call 54 ir_control_helpers_ir_stmt_is_expr bool 1 53 -brif 54 L4135 L4136 -label L4135 +brif 54 L4143 L4144 +label L4143 load 55 idx call 56 ir_emitter_core_ir_expr int 1 55 store r 56 iconst 57 0 -store __or_57_4140 57 +store __or_57_4148 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_4140 60 -brif 60 L4141 L4140 -label L4140 +store __or_57_4148 60 +brif 60 L4149 L4148 +label L4148 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_4140 64 -label L4141 -load 66 __or_57_4140 -brif 66 L4138 L4139 -label L4138 +store __or_57_4148 64 +label L4149 +load 66 __or_57_4148 +brif 66 L4146 L4147 +label L4146 load 67 idx call 68 checker_c_get_expr_type int 1 67 store stmt_tid 68 iconst 69 0 -store __and_69_4145 69 +store __and_69_4153 69 load 70 stmt_tid iconst 71 0 gte 72 70 71 -store __and_69_4145 72 -brif 72 L4145 L4146 -label L4145 +store __and_69_4153 72 +brif 72 L4153 L4154 +label L4153 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_4145 77 -label L4146 -load 79 __and_69_4145 -brif 79 L4143 L4144 -label L4143 +store __and_69_4153 77 +label L4154 +load 79 __and_69_4153 +brif 79 L4151 L4152 +label L4151 load 80 r load 81 stmt_tid call 82 ir_emitter_core_ir_emit_discard_result void 2 80 81 @@ -160762,50 +160865,50 @@ load 85 kind call 86 pith_cstring_release void 1 85 iconst 87 0 ret 87 -label L4144 -label L4142 -jmp L4137 -label L4139 -label L4137 +label L4152 +label L4150 +jmp L4145 +label L4147 +label L4145 iconst 88 0 -store __and_88_4150 88 +store __and_88_4158 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_4150 92 -brif 92 L4150 L4151 -label L4150 +store __and_88_4158 92 +brif 92 L4158 L4159 +label L4158 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_4150 97 -label L4151 -load 99 __and_88_4150 -brif 99 L4148 L4149 -label L4148 +store __and_88_4158 97 +label L4159 +load 99 __and_88_4158 +brif 99 L4156 L4157 +label L4156 load 100 r call 101 ir_ownership_ir_string_release_reg void 1 100 -jmp L4147 -label L4149 -label L4147 +jmp L4155 +label L4157 +label L4155 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 L4136 -label L4134 +label L4144 +label L4142 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 L4153 L4154 -label L4153 +brif 109 L4161 L4162 +label L4161 load 111 idx call 112 ir_emitter_core_ir_block int 1 111 load 113 node @@ -160814,14 +160917,14 @@ load 115 kind call 116 pith_cstring_release void 1 115 iconst 117 0 ret 117 -label L4154 -label L4152 +label L4162 +label L4160 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 L4156 L4157 -label L4156 +brif 120 L4164 L4165 +label L4164 load 122 node call 123 ir_emitter_core_ir_emit_return_stmt void 1 122 load 124 node @@ -160830,26 +160933,26 @@ load 126 kind call 127 pith_cstring_release void 1 126 iconst 128 0 ret 128 -label L4157 -label L4155 +label L4165 +label L4163 iconst 129 0 -store __or_129_4161 129 +store __or_129_4169 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_4161 132 -brif 132 L4162 L4161 -label L4161 +store __or_129_4169 132 +brif 132 L4170 L4169 +label L4169 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_4161 136 -label L4162 -load 138 __or_129_4161 -brif 138 L4159 L4160 -label L4159 +store __or_129_4169 136 +label L4170 +load 138 __or_129_4169 +brif 138 L4167 L4168 +label L4167 load 139 node call 140 ir_emitter_core_ir_emit_bind_stmt void 1 139 load 141 node @@ -160858,14 +160961,14 @@ load 143 kind call 144 pith_cstring_release void 1 143 iconst 145 0 ret 145 -label L4160 -label L4158 +label L4168 +label L4166 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 L4164 L4165 -label L4164 +brif 148 L4172 L4173 +label L4172 load 150 node call 151 ir_emitter_core_ir_emit_assign_stmt void 1 150 load 152 node @@ -160874,14 +160977,14 @@ load 154 kind call 155 pith_cstring_release void 1 154 iconst 156 0 ret 156 -label L4165 -label L4163 +label L4173 +label L4171 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 L4167 L4168 -label L4167 +brif 159 L4175 L4176 +label L4175 load 161 node call 162 ir_emitter_core_ir_emit_compound_assignment void 1 161 load 163 node @@ -160890,8 +160993,8 @@ load 165 kind call 166 pith_cstring_release void 1 165 iconst 167 0 ret 167 -label L4168 -label L4166 +label L4176 +label L4174 load 168 idx load 169 node call 170 ir_emitter_core_ir_stmt_control void 2 168 169 @@ -160933,12 +161036,12 @@ iconst 17 0 store __for_idx_354 17 store __for_len_354 16 store __for_iter_354 15 -label L4169 +label L4177 load 18 __for_idx_354 load 19 __for_len_354 lt 20 18 19 -brif 20 L4170 L4172 -label L4170 +brif 20 L4178 L4180 +label L4178 load 21 __for_iter_354 load 22 __for_idx_354 call 23 pith_list_get_value unknown 2 21 22 @@ -160953,32 +161056,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 L4174 L4175 -label L4174 +brif 31 L4182 L4183 +label L4182 load 33 elif_indices load 34 __loopvar_354_child call 35 pith_list_push_value void 2 33 34 -jmp L4173 -label L4175 +jmp L4181 +label L4183 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 L4176 L4177 -label L4176 +brif 39 L4184 L4185 +label L4184 load 41 __loopvar_354_child store else_idx 41 -jmp L4173 -label L4177 -label L4173 -label L4171 +jmp L4181 +label L4185 +label L4181 +label L4179 load 42 __for_idx_354 iconst 43 1 add 44 42 43 store __for_idx_354 44 -jmp L4169 -label L4172 +jmp L4177 +label L4180 load 45 main_branch load 46 node call 47 ir_control_helpers_ir_collect_if_branch struct:IrIfBranch 1 46 @@ -161007,12 +161110,12 @@ iconst 65 0 store __for_idx_355 65 store __for_len_355 64 store __for_iter_355 63 -label L4178 +label L4186 load 66 __for_idx_355 load 67 __for_len_355 lt 68 66 67 -brif 68 L4179 L4181 -label L4179 +brif 68 L4187 L4189 +label L4187 load 69 __for_iter_355 load 70 __for_idx_355 call 71 pith_list_get_value unknown 2 69 70 @@ -161031,23 +161134,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 L4180 +label L4188 load 85 __for_idx_355 iconst 86 1 add 87 85 86 store __for_idx_355 87 -jmp L4178 -label L4181 +jmp L4186 +label L4189 load 88 else_idx iconst 89 0 gte 90 88 89 -brif 90 L4183 L4184 -label L4183 +brif 90 L4191 L4192 +label L4191 load 91 else_idx call 92 ir_emitter_core_ir_block int 1 91 -jmp L4182 -label L4184 -label L4182 +jmp L4190 +label L4192 +label L4190 load 93 end_label call 94 ir_call_emit_ir_emit_label void 1 93 load 95 elif_indices @@ -161082,8 +161185,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 L4186 L4187 -label L4186 +brif 10 L4194 L4195 +label L4194 call 12 ir_builder_ir_reg int 0 store r 12 load 13 r @@ -161095,8 +161198,8 @@ load 18 r load 19 pat call 20 pith_struct_release void 1 19 ret 18 -label L4187 -label L4185 +label L4195 +label L4193 load 21 pat_idx load 22 subj_r call 23 ir_match_emit_ir_emit_match_cond int 2 21 22 @@ -161128,8 +161231,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 L4189 L4190 -label L4189 +brif 13 L4197 L4198 +label L4197 load 15 subj_idx call 16 checker_c_get_expr_type int 1 15 store subj_tid 16 @@ -161145,32 +161248,32 @@ call 24 map_insert void 3 20 22 23 load 25 subj_tid iconst 26 0 gte 27 25 26 -brif 27 L4192 L4193 -label L4192 +brif 27 L4200 L4201 +label L4200 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_4197 32 +store __and_32_4205 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_4197 36 -brif 36 L4197 L4198 -label L4197 +store __and_32_4205 36 +brif 36 L4205 L4206 +label L4205 load 38 info field 39 38 64 int inner iconst 40 0 gte 41 39 40 -store __and_32_4197 41 -label L4198 -load 42 __and_32_4197 -brif 42 L4195 L4196 -label L4195 +store __and_32_4205 41 +label L4206 +load 42 __and_32_4205 +brif 42 L4203 L4204 +label L4203 load 43 inner_kind load 44 info field 45 44 64 int inner @@ -161181,22 +161284,22 @@ load 48 inner_kind call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L4200 L4201 -label L4200 +brif 51 L4208 L4209 +label L4208 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 L4194 -label L4196 -label L4194 -jmp L4191 -label L4193 -label L4191 strref 57 m46s830 load 58 pat field 59 58 8 string value @@ -161221,8 +161324,8 @@ load 77 inner_kind call 78 pith_cstring_release void 1 77 iconst 79 0 ret 79 -label L4190 -label L4188 +label L4198 +label L4196 load 80 pat_idx load 81 subj_r strref 82 m46s82 @@ -161242,50 +161345,50 @@ param idx iconst 1 0 store kind 1 iconst 2 0 -store __or_2_4205 2 +store __or_2_4213 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_4205 6 -brif 6 L4206 L4205 -label L4205 +store __or_2_4213 6 +brif 6 L4214 L4213 +label L4213 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_4205 10 -label L4206 -load 11 __or_2_4205 -brif 11 L4203 L4204 -label L4203 +store __or_2_4213 10 +label L4214 +load 11 __or_2_4213 +brif 11 L4211 L4212 +label L4211 iconst 12 0 load 13 kind call 14 pith_cstring_release void 1 13 ret 12 -label L4204 -label L4202 +label L4212 +label L4210 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_4207 19 +store __or_19_4215 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_4207 22 -brif 22 L4208 L4207 -label L4207 +store __or_19_4215 22 +brif 22 L4216 L4215 +label L4215 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_4207 26 -label L4208 -load 28 __or_19_4207 +store __or_19_4215 26 +label L4216 +load 28 __or_19_4215 load 29 kind call 30 pith_cstring_release void 1 29 ret 28 @@ -161307,8 +161410,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L4210 L4211 -label L4210 +brif 8 L4218 L4219 +label L4218 load 9 then_l call 10 pith_cstring_release void 1 9 load 11 else_l @@ -161317,8 +161420,8 @@ load 13 end_l call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L4211 -label L4209 +label L4219 +label L4217 load 16 node field 17 16 16 list children iconst 18 1 @@ -161394,17 +161497,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 L4213 L4214 -label L4213 +brif 82 L4221 L4222 +label L4221 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 L4212 -label L4214 -label L4212 +jmp L4220 +label L4222 +label L4220 load 90 else_l call 91 ir_call_emit_ir_emit_label void 1 90 iconst 92 0 @@ -161414,21 +161517,21 @@ field 94 93 16 list children call 95 pith_list_len int 1 94 iconst 96 3 gt 97 95 96 -brif 97 L4216 L4217 -label L4216 +brif 97 L4224 L4225 +label L4224 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 L4215 -label L4217 -label L4215 +jmp L4223 +label L4225 +label L4223 load 103 end_l call 104 ir_call_emit_ir_emit_label void 1 103 load 105 owns_subject -brif 105 L4219 L4220 -label L4219 +brif 105 L4227 L4228 +label L4227 call 106 ir_builder_ir_reg int 0 strref 107 m46s898 strref 108 m46s828 @@ -161436,9 +161539,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 L4218 -label L4220 -label L4218 +jmp L4226 +label L4228 +label L4226 iconst 113 0 store ir_call_emit_ir_last_was_ret 113 load 114 then_l @@ -161463,8 +161566,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L4222 L4223 -label L4222 +brif 8 L4230 L4231 +label L4230 load 9 head_label call 10 pith_cstring_release void 1 9 load 11 body_label @@ -161473,8 +161576,8 @@ load 13 end_label call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L4223 -label L4221 +label L4231 +label L4229 load 16 head_label call 17 ir_builder_ir_label string 0 call 18 pith_cstring_release void 1 16 @@ -161572,8 +161675,8 @@ iconst 100 1 sub 101 99 100 call 102 remove void 2 97 101 load 103 owns_subject -brif 103 L4225 L4226 -label L4225 +brif 103 L4233 L4234 +label L4233 call 104 ir_builder_ir_reg int 0 strref 105 m46s898 strref 106 m46s828 @@ -161581,9 +161684,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 L4224 -label L4226 -label L4224 +jmp L4232 +label L4234 +label L4232 strref 111 m46s833 load 112 head_label concat 113 111 112 @@ -161593,8 +161696,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 L4228 L4229 -label L4228 +brif 119 L4236 L4237 +label L4236 call 120 ir_builder_ir_reg int 0 strref 121 m46s898 strref 122 m46s828 @@ -161602,9 +161705,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 L4227 -label L4229 -label L4227 +jmp L4235 +label L4237 +label L4235 iconst 127 0 store ir_call_emit_ir_last_was_ret 127 load 128 head_label @@ -161643,8 +161746,8 @@ field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 2 gte 19 17 18 -brif 19 L4231 L4232 -label L4231 +brif 19 L4239 L4240 +label L4239 load 20 node field 21 20 16 list children iconst 22 0 @@ -161708,9 +161811,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 L4230 -label L4232 -label L4230 +jmp L4238 +label L4240 +label L4238 load 80 end_label call 81 ir_call_emit_ir_emit_label void 1 80 load 82 head_label @@ -161742,8 +161845,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 gte 13 11 12 -brif 13 L4234 L4235 -label L4234 +brif 13 L4242 L4243 +label L4242 load 14 node field 15 14 16 list children iconst 16 0 @@ -161753,8 +161856,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 L4237 L4238 -label L4237 +brif 21 L4245 L4246 +label L4245 load 23 node load 24 names call 25 ir_emitter_core_ir_emit_for_range_stmt void 2 23 24 @@ -161768,8 +161871,8 @@ load 32 next_name call 33 pith_cstring_release void 1 32 iconst 34 0 ret 34 -label L4238 -label L4236 +label L4246 +label L4244 load 35 iter_struct load 36 node field 37 36 16 list children @@ -161779,34 +161882,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_4242 42 +store __and_42_4250 42 load 43 iter_struct call 44 string_len int 1 43 iconst 45 0 gt 46 44 45 -store __and_42_4242 46 -brif 46 L4242 L4243 -label L4242 +store __and_42_4250 46 +brif 46 L4250 L4251 +label L4250 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_4242 52 -label L4243 -load 53 __and_42_4242 -brif 53 L4240 L4241 -label L4240 +store __and_42_4250 52 +label L4251 +load 53 __and_42_4250 +brif 53 L4248 L4249 +label L4248 iconst 54 0 store gi 54 -label L4244 +label L4252 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 L4245 L4246 -label L4245 +brif 58 L4253 L4254 +label L4253 load 59 concrete load 60 ir_alias_registry_ir_active_generic_concrete_types load 61 gi @@ -161819,8 +161922,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 L4248 L4249 -label L4248 +brif 68 L4256 L4257 +label L4256 load 70 iter_struct load 71 concrete call 72 pith_cstring_retain void 1 71 @@ -161829,18 +161932,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 L4247 -label L4249 -label L4247 +jmp L4255 +label L4257 +label L4255 load 76 gi iconst 77 1 add 78 76 77 store gi 78 -jmp L4244 -label L4246 -jmp L4239 -label L4241 -label L4239 +jmp L4252 +label L4254 +jmp L4247 +label L4249 +label L4247 load 79 next_name load 80 iter_struct strref 81 m46s1200 @@ -161852,8 +161955,8 @@ load 85 next_name call 86 string_len int 1 85 iconst 87 0 eq 88 86 87 -brif 88 L4251 L4252 -label L4251 +brif 88 L4259 L4260 +label L4259 load 89 next_name load 90 iter_struct strref 91 m46s1200 @@ -161861,15 +161964,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 L4250 -label L4252 -label L4250 +jmp L4258 +label L4260 +label L4258 load 95 next_name call 96 string_len int 1 95 iconst 97 0 gt 98 96 97 -brif 98 L4254 L4255 -label L4254 +brif 98 L4262 L4263 +label L4262 load 99 node load 100 names load 101 next_name @@ -161884,14 +161987,14 @@ load 109 next_name call 110 pith_cstring_release void 1 109 iconst 111 0 ret 111 -label L4255 -label L4253 +label L4263 +label L4261 load 112 node load 113 names call 114 ir_emitter_core_ir_emit_for_indexed_stmt void 2 112 113 -jmp L4233 -label L4235 -label L4233 +jmp L4241 +label L4243 +label L4241 load 115 names call 116 pith_struct_release void 1 115 load 117 iter_struct @@ -161962,16 +162065,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 L4257 L4258 -label L4257 +brif 39 L4265 L4266 +label L4265 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 L4256 -label L4258 -label L4256 +jmp L4264 +label L4266 +label L4264 load 45 conversion_call load 46 iter_type call 47 ir_collection_helpers_ir_for_iter_conversion_call string 1 46 @@ -161981,8 +162084,8 @@ load 49 conversion_call call 50 string_len int 1 49 iconst 51 0 gt 52 50 51 -brif 52 L4260 L4261 -label L4260 +brif 52 L4268 L4269 +label L4268 call 53 ir_builder_ir_reg int 0 store converted_r 53 load 54 converted_r @@ -161996,14 +162099,14 @@ load 61 iter_release_kind call 62 string_len int 1 61 iconst 63 0 gt 64 62 63 -brif 64 L4263 L4264 -label L4263 +brif 64 L4271 L4272 +label L4271 load 65 iter_r load 66 iter_release_kind call 67 ir_ownership_ir_rc_release_reg void 2 65 66 -jmp L4262 -label L4264 -label L4262 +jmp L4270 +label L4272 +label L4270 load 68 converted_r store iter_r 68 load 69 iter_release_kind @@ -162013,9 +162116,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 L4259 -label L4261 -label L4259 +jmp L4267 +label L4269 +label L4267 load 75 ir_emitter_core_ir_for_count store fid 75 load 76 ir_emitter_core_ir_for_count @@ -162267,8 +162370,8 @@ load 303 iter_release_kind call 304 string_len int 1 303 iconst 305 0 gt 306 304 305 -brif 306 L4266 L4267 -label L4266 +brif 306 L4274 L4275 +label L4274 load 307 ir_emitter_core_ir_loop_iter_vars load 308 ft call 309 pith_list_push_value void 2 307 308 @@ -162277,17 +162380,17 @@ load 311 iter_release_kind call 312 pith_list_push_value void 2 310 311 iconst 313 1 store pushed_iter 313 -jmp L4265 -label L4267 -label L4265 +jmp L4273 +label L4275 +label L4273 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 L4269 L4270 -label L4269 +brif 319 L4277 L4278 +label L4277 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 @@ -162299,10 +162402,10 @@ load 327 ir_emitter_core_ir_loop_iter_kinds call 328 pith_list_len int 1 327 iconst 329 1 sub 330 328 329 -call 331 remove void 2 326 330 -jmp L4268 -label L4270 -label L4268 +call 331 remove void 2 326 330 +jmp L4276 +label L4278 +label L4276 call 332 ir_emitter_core_ir_defer_loop_exit void 0 load 333 names field 334 333 8 string index_name @@ -162412,8 +162515,8 @@ load 434 iter_release_kind call 435 string_len int 1 434 iconst 436 0 gt 437 435 436 -brif 437 L4272 L4273 -label L4272 +brif 437 L4280 L4281 +label L4280 call 438 ir_builder_ir_reg int 0 store fin_r 438 strref 439 m46s829 @@ -162434,9 +162537,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 L4271 -label L4273 -label L4271 +jmp L4279 +label L4281 +label L4279 load 457 iter_type call 458 pith_cstring_release void 1 457 load 459 item_kind @@ -162587,8 +162690,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 L4275 L4276 -label L4275 +brif 98 L4283 L4284 +label L4283 call 99 ir_builder_ir_reg int 0 store zero_r 99 strref 100 m46s832 @@ -162618,9 +162721,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 L4274 -label L4276 -label L4274 +jmp L4282 +label L4284 +label L4282 load 127 head_l call 128 ir_builder_ir_label string 0 call 129 pith_cstring_release void 1 127 @@ -162680,15 +162783,15 @@ strref 175 m46s465 call 176 pith_cstring_release void 1 174 store cmp_op 175 load 177 inclusive -brif 177 L4278 L4279 -label L4278 +brif 177 L4286 L4287 +label L4286 load 178 cmp_op strref 179 m46s459 call 180 pith_cstring_release void 1 178 store cmp_op 179 -jmp L4277 -label L4279 -label L4277 +jmp L4285 +label L4287 +label L4285 load 181 cmp_op strref 182 m46s336 concat 183 181 182 @@ -162791,8 +162894,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 L4281 L4282 -label L4281 +brif 279 L4289 L4290 +label L4289 call 280 ir_builder_ir_reg int 0 store pos_r 280 strref 281 m46s829 @@ -162819,9 +162922,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 L4280 -label L4282 -label L4280 +jmp L4288 +label L4290 +label L4288 load 305 ir_emitter_core_ir_break_stack load 306 end_l call 307 ir_utils_ir_push_string list_string 2 305 306 @@ -162934,8 +163037,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 L4284 L4285 -label L4284 +brif 411 L4292 L4293 +label L4292 call 412 ir_builder_ir_reg int 0 store p3 412 strref 413 m46s829 @@ -163010,9 +163113,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 L4283 -label L4285 -label L4283 +jmp L4291 +label L4293 +label L4291 strref 483 m46s833 load 484 head_l concat 485 483 484 @@ -163120,8 +163223,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 L4287 L4288 -label L4287 +brif 57 L4295 L4296 +label L4295 call 58 ir_builder_ir_reg int 0 store zero_r 58 strref 59 m46s832 @@ -163151,9 +163254,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 L4286 -label L4288 -label L4286 +jmp L4294 +label L4296 +label L4294 load 86 elem_kind load 87 node field 88 87 16 list children @@ -163169,15 +163272,15 @@ load 96 elem_kind call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L4290 L4291 -label L4290 +brif 99 L4298 L4299 +label L4298 load 100 elem_kind strref 101 m46s822 call 102 pith_cstring_release void 1 100 store elem_kind 101 -jmp L4289 -label L4291 -label L4289 +jmp L4297 +label L4299 +label L4297 load 103 head_l call 104 ir_builder_ir_label string 0 call 105 pith_cstring_release void 1 103 @@ -163328,8 +163431,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 L4293 L4294 -label L4293 +brif 242 L4301 L4302 +label L4301 call 243 ir_builder_ir_reg int 0 store pos_r 243 strref 244 m46s829 @@ -163356,9 +163459,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 L4292 -label L4294 -label L4292 +jmp L4300 +label L4302 +label L4300 load 268 ir_emitter_core_ir_break_stack load 269 end_l call 270 ir_utils_ir_push_string list_string 2 268 269 @@ -163404,8 +163507,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 L4296 L4297 -label L4296 +brif 310 L4304 L4305 +label L4304 call 311 ir_builder_ir_reg int 0 store p3 311 strref 312 m46s829 @@ -163480,9 +163583,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 L4295 -label L4297 -label L4295 +jmp L4303 +label L4305 +label L4303 strref 382 m46s833 load 383 head_l concat 384 382 383 @@ -163523,100 +163626,100 @@ func ir_emitter_core_ir_stmt_control 2 void param idx param node iconst 2 0 -store __or_2_4301 2 +store __or_2_4309 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_4301 6 -brif 6 L4302 L4301 -label L4301 +store __or_2_4309 6 +brif 6 L4310 L4309 +label L4309 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_4301 11 -label L4302 -load 13 __or_2_4301 -brif 13 L4299 L4300 -label L4299 +store __or_2_4309 11 +label L4310 +load 13 __or_2_4309 +brif 13 L4307 L4308 +label L4307 load 14 node call 15 ir_emitter_core_ir_emit_if_stmt void 1 14 -jmp L4298 -label L4300 +jmp L4306 +label L4308 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 L4303 L4304 -label L4303 +brif 19 L4311 L4312 +label L4311 load 21 node call 22 ir_emitter_core_ir_emit_if_let_stmt void 1 21 -jmp L4298 -label L4304 +jmp L4306 +label L4312 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 L4305 L4306 -label L4305 +brif 26 L4313 L4314 +label L4313 load 28 node call 29 ir_emitter_core_ir_emit_while_let_stmt void 1 28 -jmp L4298 -label L4306 +jmp L4306 +label L4314 iconst 30 0 -store __or_30_4309 30 +store __or_30_4317 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_4309 34 -brif 34 L4310 L4309 -label L4309 +store __or_30_4317 34 +brif 34 L4318 L4317 +label L4317 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_4309 39 -label L4310 -load 41 __or_30_4309 -brif 41 L4307 L4308 -label L4307 +store __or_30_4317 39 +label L4318 +load 41 __or_30_4317 +brif 41 L4315 L4316 +label L4315 load 42 node call 43 ir_emitter_core_ir_emit_while_stmt void 1 42 -jmp L4298 -label L4308 +jmp L4306 +label L4316 iconst 44 0 -store __or_44_4313 44 +store __or_44_4321 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_4313 48 -brif 48 L4314 L4313 -label L4313 +store __or_44_4321 48 +brif 48 L4322 L4321 +label L4321 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_4313 53 -label L4314 -load 55 __or_44_4313 -brif 55 L4311 L4312 -label L4311 +store __or_44_4321 53 +label L4322 +load 55 __or_44_4321 +brif 55 L4319 L4320 +label L4319 load 56 node call 57 ir_emitter_core_ir_emit_for_stmt void 1 56 -jmp L4298 -label L4312 -label L4298 +jmp L4306 +label L4320 +label L4306 iconst 58 0 ret 58 endfunc @@ -163630,59 +163733,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_4318 6 +store __or_6_4326 6 iconst 7 0 -store __or_7_4318 7 +store __or_7_4326 7 iconst 8 0 -store __or_8_4318 8 +store __or_8_4326 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_4318 11 -brif 11 L4319 L4318 -label L4318 +store __or_8_4326 11 +brif 11 L4327 L4326 +label L4326 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_4318 15 -label L4319 -load 17 __or_8_4318 -store __or_7_4318 17 -brif 17 L4321 L4320 -label L4320 +store __or_8_4326 15 +label L4327 +load 17 __or_8_4326 +store __or_7_4326 17 +brif 17 L4329 L4328 +label L4328 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_4318 20 -label L4321 -load 22 __or_7_4318 -store __or_6_4318 22 -brif 22 L4323 L4322 -label L4322 +store __or_7_4326 20 +label L4329 +load 22 __or_7_4326 +store __or_6_4326 22 +brif 22 L4331 L4330 +label L4330 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_4318 25 -label L4323 -load 27 __or_6_4318 -brif 27 L4316 L4317 -label L4316 +store __or_6_4326 25 +label L4331 +load 27 __or_6_4326 +brif 27 L4324 L4325 +label L4324 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 L4324 +label L4332 load 32 i load 33 child_count lt 34 32 33 -brif 34 L4325 L4326 -label L4325 +brif 34 L4333 L4334 +label L4333 load 35 idx load 36 i call 37 ast_node_child int 2 35 36 @@ -163691,23 +163794,23 @@ load 39 i iconst 40 1 add 41 39 40 store i 41 -jmp L4324 -label L4326 +jmp L4332 +label L4334 call 42 ir_emitter_core_ir_defer_pop_scope_emit void 0 -jmp L4315 -label L4317 +jmp L4323 +label L4325 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 L4328 L4329 -label L4328 +brif 45 L4336 L4337 +label L4336 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 L4331 L4332 -label L4331 +brif 50 L4339 L4340 +label L4339 call 51 ir_emitter_core_ir_defer_emit_for_loop_jump void 0 strref 52 m46s833 load 53 ir_emitter_core_ir_break_stack @@ -163722,27 +163825,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 L4330 -label L4332 -label L4330 +jmp L4338 +label L4340 +label L4338 iconst 64 0 load 65 kind call 66 pith_cstring_release void 1 65 ret 64 -label L4329 -label L4327 +label L4337 +label L4335 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 L4334 L4335 -label L4334 +brif 69 L4342 L4343 +label L4342 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 L4337 L4338 -label L4337 +brif 74 L4345 L4346 +label L4345 call 75 ir_emitter_core_ir_defer_emit_for_loop_jump void 0 strref 76 m46s833 load 77 ir_emitter_core_ir_continue_stack @@ -163757,18 +163860,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 L4336 -label L4338 -label L4336 +jmp L4344 +label L4346 +label L4344 iconst 88 0 load 89 kind call 90 pith_cstring_release void 1 89 ret 88 -label L4335 -label L4333 +label L4343 +label L4341 load 91 idx call 92 ir_emitter_core_ir_stmt void 1 91 -label L4315 +label L4323 iconst 93 0 load 94 kind call 95 pith_cstring_release void 1 94 @@ -163788,25 +163891,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_4342 6 +store __and_6_4350 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_4342 10 -brif 10 L4342 L4343 -label L4342 +store __and_6_4350 10 +brif 10 L4350 L4351 +label L4350 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_4342 16 -label L4343 -load 17 __and_6_4342 -brif 17 L4340 L4341 -label L4340 +store __and_6_4350 16 +label L4351 +load 17 __and_6_4350 +brif 17 L4348 L4349 +label L4348 load 18 node field 19 18 16 list children iconst 20 0 @@ -163815,8 +163918,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 L4341 -label L4339 +label L4349 +label L4347 strref 25 m46s165 load 26 node call 27 pith_struct_release void 1 26 @@ -163847,13 +163950,13 @@ call 12 pith_list_release_handle void 1 8 store nk 10 iconst 13 0 store i 13 -label L4344 +label L4352 load 14 i load 15 nk call 16 pith_list_len int 1 15 lt 17 14 16 -brif 17 L4345 L4346 -label L4345 +brif 17 L4353 L4354 +label L4353 load 18 cn load 19 nk load 20 i @@ -163866,8 +163969,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 L4348 L4349 -label L4348 +brif 27 L4356 L4357 +label L4356 load 29 nk load 30 i call 31 pith_list_get_value_strict int 2 29 30 @@ -163878,20 +163981,20 @@ call 35 pith_list_release_handle void 1 34 load 36 cn call 37 pith_struct_release void 1 36 ret 31 -label L4349 -label L4347 +label L4357 +label L4355 load 38 i iconst 39 1 add 40 38 39 store i 40 -jmp L4344 -label L4346 +jmp L4352 +label L4354 load 41 nk call 42 pith_list_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L4351 L4352 -label L4351 +brif 44 L4359 L4360 +label L4359 load 45 nk load 46 nk call 47 pith_list_len int 1 46 @@ -163905,8 +164008,8 @@ call 54 pith_list_release_handle void 1 53 load 55 cn call 56 pith_struct_release void 1 55 ret 50 -label L4352 -label L4350 +label L4360 +label L4358 iconst 57 0 iconst 58 1 sub 59 57 58 @@ -163953,12 +164056,12 @@ iconst 16 0 store __for_idx_356 16 store __for_len_356 15 store __for_iter_356 14 -label L4353 +label L4361 load 17 __for_idx_356 load 18 __for_len_356 lt 19 17 18 -brif 19 L4354 L4356 -label L4354 +brif 19 L4362 L4364 +label L4362 load 20 __for_iter_356 load 21 __for_idx_356 call 22 pith_list_get_value unknown 2 20 21 @@ -163973,22 +164076,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 L4358 L4359 -label L4358 +brif 30 L4366 L4367 +label L4366 load 32 count iconst 33 1 add 34 32 33 store count 34 -jmp L4357 -label L4359 -label L4357 -label L4355 +jmp L4365 +label L4367 +label L4365 +label L4363 load 35 __for_idx_356 iconst 36 1 add 37 35 36 store __for_idx_356 37 -jmp L4353 -label L4356 +jmp L4361 +label L4364 load 38 count load 39 node call 40 pith_struct_release void 1 39 @@ -164022,7 +164125,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_4363 9 +store __or_9_4371 9 load 10 node field 11 10 0 string kind strref 12 m46s68 @@ -164030,19 +164133,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_4363 13 -brif 13 L4364 L4363 -label L4363 +store __or_9_4371 13 +brif 13 L4372 L4371 +label L4371 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_4363 21 -label L4364 -load 22 __or_9_4363 -brif 22 L4361 L4362 -label L4361 +store __or_9_4371 21 +label L4372 +load 22 __or_9_4371 +brif 22 L4369 L4370 +label L4369 load 23 node call 24 pith_struct_release void 1 23 load 25 tn @@ -164053,8 +164156,8 @@ load 29 ret_kind call 30 pith_cstring_release void 1 29 iconst 31 0 ret 31 -label L4362 -label L4360 +label L4370 +label L4368 load 32 tn load 33 node field 34 33 16 list children @@ -164064,7 +164167,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_4368 39 +store __or_39_4376 39 load 40 tn field 41 40 0 string kind strref 42 m46s318 @@ -164072,19 +164175,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_4368 43 -brif 43 L4369 L4368 -label L4368 +store __or_39_4376 43 +brif 43 L4377 L4376 +label L4376 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_4368 51 -label L4369 -load 52 __or_39_4368 -brif 52 L4366 L4367 -label L4366 +store __or_39_4376 51 +label L4377 +load 52 __or_39_4376 +brif 52 L4374 L4375 +label L4374 load 53 node call 54 pith_struct_release void 1 53 load 55 tn @@ -164095,8 +164198,8 @@ load 59 ret_kind call 60 pith_cstring_release void 1 59 iconst 61 0 ret 61 -label L4367 -label L4365 +label L4375 +label L4373 load 62 last load 63 tn field 64 63 16 list children @@ -164110,7 +164213,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_4373 73 +store __or_73_4381 73 load 74 last field 75 74 0 string kind strref 76 m46s313 @@ -164118,19 +164221,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_4373 77 -brif 77 L4374 L4373 -label L4373 +store __or_73_4381 77 +brif 77 L4382 L4381 +label L4381 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_4373 85 -label L4374 -load 86 __or_73_4373 -brif 86 L4371 L4372 -label L4371 +store __or_73_4381 85 +label L4382 +load 86 __or_73_4381 +brif 86 L4379 L4380 +label L4379 load 87 node call 88 pith_struct_release void 1 87 load 89 tn @@ -164141,8 +164244,8 @@ load 93 ret_kind call 94 pith_cstring_release void 1 93 iconst 95 0 ret 95 -label L4372 -label L4370 +label L4380 +label L4378 load 96 ret_kind load 97 last field 98 97 16 list children @@ -164155,16 +164258,16 @@ load 103 ret_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -brif 106 L4376 L4377 -label L4376 +brif 106 L4384 L4385 +label L4384 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 L4375 -label L4377 -label L4375 +jmp L4383 +label L4385 +label L4383 load 112 node call 113 pith_struct_release void 1 112 load 114 tn @@ -164189,15 +164292,15 @@ load 7 param_type call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L4379 L4380 -label L4379 +brif 10 L4387 L4388 +label L4387 load 11 ir_builder_ir_var_types load 12 name load 13 param_type call 14 map_insert void 3 11 12 13 -jmp L4378 -label L4380 -label L4378 +jmp L4386 +label L4388 +label L4386 strref 15 m46s1187 load 16 name concat 17 15 16 @@ -164234,12 +164337,12 @@ iconst 16 0 store __for_idx_357 16 store __for_len_357 15 store __for_iter_357 14 -label L4381 +label L4389 load 17 __for_idx_357 load 18 __for_len_357 lt 19 17 18 -brif 19 L4382 L4384 -label L4382 +brif 19 L4390 L4392 +label L4390 load 20 __for_iter_357 load 21 __for_idx_357 call 22 pith_list_get_value unknown 2 20 21 @@ -164254,8 +164357,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 L4386 L4387 -label L4386 +brif 30 L4394 L4395 +label L4394 load 32 ptype load 33 __loopvar_357_child call 34 ir_emitter_core_ir_extract_param_type string 1 33 @@ -164265,33 +164368,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 L4389 L4390 -label L4389 +brif 39 L4397 L4398 +label L4397 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 L4388 -label L4390 -label L4388 +jmp L4396 +label L4398 +label L4396 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 L4385 -label L4387 -label L4385 -label L4383 +jmp L4393 +label L4395 +label L4393 +label L4391 load 51 __for_idx_357 iconst 52 1 add 53 51 52 store __for_idx_357 53 -jmp L4381 -label L4384 +jmp L4389 +label L4392 load 54 node call 55 pith_struct_release void 1 54 load 56 nk @@ -164323,12 +164426,12 @@ iconst 11 0 store __for_idx_358 11 store __for_len_358 10 store __for_iter_358 9 -label L4391 +label L4399 load 12 __for_idx_358 load 13 __for_len_358 lt 14 12 13 -brif 14 L4392 L4394 -label L4392 +brif 14 L4400 L4402 +label L4400 load 15 __for_iter_358 load 16 __for_idx_358 call 17 pith_list_get_value unknown 2 15 16 @@ -164343,8 +164446,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 L4396 L4397 -label L4396 +brif 25 L4404 L4405 +label L4404 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -164352,12 +164455,12 @@ iconst 30 0 store __for_idx_359 30 store __for_len_359 29 store __for_iter_359 28 -label L4398 +label L4406 load 31 __for_idx_359 load 32 __for_len_359 lt 33 31 32 -brif 33 L4399 L4401 -label L4399 +brif 33 L4407 L4409 +label L4407 load 34 __for_iter_359 load 35 __for_idx_359 call 36 pith_list_get_value unknown 2 34 35 @@ -164368,51 +164471,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_4405 41 +store __or_41_4413 41 iconst 42 0 -store __or_42_4405 42 +store __or_42_4413 42 iconst 43 0 -store __or_43_4405 43 +store __or_43_4413 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_4405 47 -brif 47 L4406 L4405 -label L4405 +store __or_43_4413 47 +brif 47 L4414 L4413 +label L4413 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_4405 52 -label L4406 -load 54 __or_43_4405 -store __or_42_4405 54 -brif 54 L4408 L4407 -label L4407 +store __or_43_4413 52 +label L4414 +load 54 __or_43_4413 +store __or_42_4413 54 +brif 54 L4416 L4415 +label L4415 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_4405 58 -label L4408 -load 60 __or_42_4405 -store __or_41_4405 60 -brif 60 L4410 L4409 -label L4409 +store __or_42_4413 58 +label L4416 +load 60 __or_42_4413 +store __or_41_4413 60 +brif 60 L4418 L4417 +label L4417 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_4405 64 -label L4410 -load 66 __or_41_4405 -brif 66 L4403 L4404 -label L4403 +store __or_41_4413 64 +label L4418 +load 66 __or_41_4413 +brif 66 L4411 L4412 +label L4411 load 67 __loopvar_359_returns_child call 68 ir_alias_registry_ir_resolve_type_node string 1 67 load 69 node @@ -164422,25 +164525,25 @@ call 72 pith_struct_release void 1 71 load 73 rn call 74 pith_struct_release void 1 73 ret 68 -label L4404 -label L4402 -label L4400 +label L4412 +label L4410 +label L4408 load 75 __for_idx_359 iconst 76 1 add 77 75 76 store __for_idx_359 77 -jmp L4398 +jmp L4406 +label L4409 +jmp L4403 +label L4405 +label L4403 label L4401 -jmp L4395 -label L4397 -label L4395 -label L4393 load 78 __for_idx_358 iconst 79 1 add 80 78 79 store __for_idx_358 80 -jmp L4391 -label L4394 +jmp L4399 +label L4402 strref 81 m46s822 load 82 node call 83 pith_struct_release void 1 82 @@ -164478,12 +164581,12 @@ iconst 11 0 store __for_idx_360 11 store __for_len_360 10 store __for_iter_360 9 -label L4411 +label L4419 load 12 __for_idx_360 load 13 __for_len_360 lt 14 12 13 -brif 14 L4412 L4414 -label L4412 +brif 14 L4420 L4422 +label L4420 load 15 __for_iter_360 load 16 __for_idx_360 call 17 pith_list_get_value unknown 2 15 16 @@ -164498,8 +164601,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 L4416 L4417 -label L4416 +brif 25 L4424 L4425 +label L4424 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -164507,12 +164610,12 @@ iconst 30 0 store __for_idx_361 30 store __for_len_361 29 store __for_iter_361 28 -label L4418 +label L4426 load 31 __for_idx_361 load 32 __for_len_361 lt 33 31 32 -brif 33 L4419 L4421 -label L4419 +brif 33 L4427 L4429 +label L4427 load 34 __for_iter_361 load 35 __for_idx_361 call 36 pith_list_get_value unknown 2 34 35 @@ -164523,25 +164626,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_4425 41 +store __and_41_4433 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_4425 45 -brif 45 L4425 L4426 -label L4425 +store __and_41_4433 45 +brif 45 L4433 L4434 +label L4433 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_4425 51 -label L4426 -load 52 __and_41_4425 -brif 52 L4423 L4424 -label L4423 +store __and_41_4433 51 +label L4434 +load 52 __and_41_4433 +brif 52 L4431 L4432 +label L4431 load 53 rn field 54 53 16 list children iconst 55 0 @@ -164554,25 +164657,25 @@ call 61 pith_struct_release void 1 60 load 62 rn call 63 pith_struct_release void 1 62 ret 57 -label L4424 -label L4422 -label L4420 +label L4432 +label L4430 +label L4428 load 64 __for_idx_361 iconst 65 1 add 66 64 65 store __for_idx_361 66 -jmp L4418 +jmp L4426 +label L4429 +jmp L4423 +label L4425 +label L4423 label L4421 -jmp L4415 -label L4417 -label L4415 -label L4413 load 67 __for_idx_360 iconst 68 1 add 69 67 68 store __for_idx_360 69 -jmp L4411 -label L4414 +jmp L4419 +label L4422 strref 70 m46s82 load 71 node call 72 pith_struct_release void 1 71 @@ -164610,12 +164713,12 @@ iconst 11 0 store __for_idx_362 11 store __for_len_362 10 store __for_iter_362 9 -label L4427 +label L4435 load 12 __for_idx_362 load 13 __for_len_362 lt 14 12 13 -brif 14 L4428 L4430 -label L4428 +brif 14 L4436 L4438 +label L4436 load 15 __for_iter_362 load 16 __for_idx_362 call 17 pith_list_get_value unknown 2 15 16 @@ -164630,8 +164733,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 L4432 L4433 -label L4432 +brif 25 L4440 L4441 +label L4440 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -164639,12 +164742,12 @@ iconst 30 0 store __for_idx_363 30 store __for_len_363 29 store __for_iter_363 28 -label L4434 +label L4442 load 31 __for_idx_363 load 32 __for_len_363 lt 33 31 32 -brif 33 L4435 L4437 -label L4435 +brif 33 L4443 L4445 +label L4443 load 34 __for_iter_363 load 35 __for_idx_363 call 36 pith_list_get_value unknown 2 34 35 @@ -164659,8 +164762,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 L4439 L4440 -label L4439 +brif 44 L4447 L4448 +label L4447 iconst 46 1 load 47 node call 48 pith_struct_release void 1 47 @@ -164669,25 +164772,25 @@ call 50 pith_struct_release void 1 49 load 51 rn call 52 pith_struct_release void 1 51 ret 46 -label L4440 -label L4438 -label L4436 +label L4448 +label L4446 +label L4444 load 53 __for_idx_363 iconst 54 1 add 55 53 54 store __for_idx_363 55 -jmp L4434 +jmp L4442 +label L4445 +jmp L4439 +label L4441 +label L4439 label L4437 -jmp L4431 -label L4433 -label L4431 -label L4429 load 56 __for_idx_362 iconst 57 1 add 58 56 57 store __for_idx_362 58 -jmp L4427 -label L4430 +jmp L4435 +label L4438 iconst 59 0 load 60 node call 61 pith_struct_release void 1 60 @@ -164722,8 +164825,8 @@ load 7 type_name call 8 string_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L4442 L4443 -label L4442 +brif 10 L4450 L4451 +label L4450 strref 11 m46s82 load 12 key call 13 pith_cstring_release void 1 12 @@ -164736,8 +164839,8 @@ call 19 pith_cstring_release void 1 18 load 20 base_key call 21 pith_cstring_release void 1 20 ret 11 -label L4443 -label L4441 +label L4451 +label L4449 load 22 key load 23 type_name load 24 method_name @@ -164747,8 +164850,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 L4445 L4446 -label L4445 +brif 29 L4453 L4454 +label L4453 load 30 ir_method_tables_ir_impl_methods load 31 key call 32 map_get_strict string 2 30 31 @@ -164764,8 +164867,8 @@ call 41 pith_cstring_release void 1 40 load 42 base_key call 43 pith_cstring_release void 1 42 ret 32 -label L4446 -label L4444 +label L4454 +label L4452 load 44 resolved load 45 type_name call 46 ir_alias_registry_ir_resolve_type_hint string 1 45 @@ -164776,8 +164879,8 @@ load 49 type_name call 51 pith_cstring_eq bool 2 48 49 iconst 52 1 sub 50 52 51 -brif 50 L4448 L4449 -label L4448 +brif 50 L4456 L4457 +label L4456 load 53 resolved_key load 54 resolved load 55 method_name @@ -164787,8 +164890,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 L4451 L4452 -label L4451 +brif 60 L4459 L4460 +label L4459 load 61 ir_method_tables_ir_impl_methods load 62 resolved_key call 63 map_get_strict string 2 61 62 @@ -164804,17 +164907,17 @@ call 72 pith_cstring_release void 1 71 load 73 base_key call 74 pith_cstring_release void 1 73 ret 63 -label L4452 -label L4450 -jmp L4447 -label L4449 -label L4447 +label L4460 +label L4458 +jmp L4455 +label L4457 +label L4455 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 L4454 L4455 -label L4454 +brif 77 L4462 L4463 +label L4462 load 79 base load 80 type_name iconst 81 0 @@ -164834,8 +164937,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 L4457 L4458 -label L4457 +brif 95 L4465 L4466 +label L4465 load 96 ir_method_tables_ir_impl_methods load 97 base_key call 98 map_get_strict string 2 96 97 @@ -164851,11 +164954,11 @@ call 107 pith_cstring_release void 1 106 load 108 base_key call 109 pith_cstring_release void 1 108 ret 98 -label L4458 -label L4456 -jmp L4453 -label L4455 -label L4453 +label L4466 +label L4464 +jmp L4461 +label L4463 +label L4461 strref 110 m46s82 load 111 key call 112 pith_cstring_release void 1 111 @@ -164893,12 +164996,12 @@ iconst 6 0 store __for_idx_364 6 store __for_len_364 5 store __for_iter_364 4 -label L4459 +label L4467 load 7 __for_idx_364 load 8 __for_len_364 lt 9 7 8 -brif 9 L4460 L4462 -label L4460 +brif 9 L4468 L4470 +label L4468 load 10 __for_iter_364 load 11 __for_idx_364 call 12 pith_list_get_value unknown 2 10 11 @@ -164913,21 +165016,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 L4464 L4465 -label L4464 +brif 20 L4472 L4473 +label L4472 load 22 node load 23 module_path call 24 ir_emitter_core_ir_collect_impl_method_signatures void 2 22 23 -jmp L4463 -label L4465 -label L4463 -label L4461 +jmp L4471 +label L4473 +label L4471 +label L4469 load 25 __for_idx_364 iconst 26 1 add 27 25 26 store __for_idx_364 27 -jmp L4459 -label L4462 +jmp L4467 +label L4470 load 28 __for_iter_364 call 29 pith_list_release_handle void 1 28 load 30 node @@ -164947,12 +165050,12 @@ iconst 6 0 store __for_idx_365 6 store __for_len_365 5 store __for_iter_365 4 -label L4466 +label L4474 load 7 __for_idx_365 load 8 __for_len_365 lt 9 7 8 -brif 9 L4467 L4469 -label L4467 +brif 9 L4475 L4477 +label L4475 load 10 __for_iter_365 load 11 __for_idx_365 call 12 pith_list_get_value unknown 2 10 11 @@ -164963,34 +165066,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_4473 17 +store __and_17_4481 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_4473 20 -brif 20 L4473 L4474 -label L4473 +store __and_17_4481 20 +brif 20 L4481 L4482 +label L4481 load 21 node call 22 ir_generics_ir_has_generic_params bool 1 21 -store __and_17_4473 22 -label L4474 -load 23 __and_17_4473 -brif 23 L4471 L4472 -label L4471 +store __and_17_4481 22 +label L4482 +load 23 __and_17_4481 +brif 23 L4479 L4480 +label L4479 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 L4470 -label L4472 -label L4470 -label L4468 +jmp L4478 +label L4480 +label L4478 +label L4476 load 28 __for_idx_365 iconst 29 1 add 30 28 29 store __for_idx_365 30 -jmp L4466 -label L4469 +jmp L4474 +label L4477 load 31 __for_iter_365 call 32 pith_list_release_handle void 1 31 load 33 node @@ -165008,15 +165111,15 @@ load 4 name call 5 contains_key bool 2 3 4 iconst 7 1 sub 6 7 5 -brif 6 L4476 L4477 -label L4476 +brif 6 L4484 L4485 +label L4484 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 L4477 -label L4475 +label L4485 +label L4483 load 12 inferred load 13 name load 14 node @@ -165055,12 +165158,12 @@ iconst 11 0 store __for_idx_366 11 store __for_len_366 10 store __for_iter_366 9 -label L4478 +label L4486 load 12 __for_idx_366 load 13 __for_len_366 lt 14 12 13 -brif 14 L4479 L4481 -label L4479 +brif 14 L4487 L4489 +label L4487 load 15 __for_iter_366 load 16 __for_idx_366 call 17 pith_list_get_value unknown 2 15 16 @@ -165071,37 +165174,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_4485 22 +store __and_22_4493 22 iconst 23 0 -store __and_23_4485 23 +store __and_23_4493 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_4485 27 -brif 27 L4485 L4486 -label L4485 +store __and_23_4493 27 +brif 27 L4493 L4494 +label L4493 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_4485 32 -label L4486 -load 33 __and_23_4485 -store __and_22_4485 33 -brif 33 L4487 L4488 -label L4487 +store __and_23_4493 32 +label L4494 +load 33 __and_23_4493 +store __and_22_4493 33 +brif 33 L4495 L4496 +label L4495 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_4485 38 -label L4488 -load 39 __and_22_4485 -brif 39 L4483 L4484 -label L4483 +store __and_22_4493 38 +label L4496 +load 39 __and_22_4493 +brif 39 L4491 L4492 +label L4491 load 40 cn field 41 40 16 list children iconst 42 0 @@ -165111,15 +165214,15 @@ call 45 pith_struct_release void 1 44 load 46 cn call 47 pith_struct_release void 1 46 ret 43 -label L4484 -label L4482 -label L4480 +label L4492 +label L4490 +label L4488 load 48 __for_idx_366 iconst 49 1 add 50 48 49 store __for_idx_366 50 -jmp L4478 -label L4481 +jmp L4486 +label L4489 iconst 51 0 iconst 52 1 sub 53 51 52 @@ -165151,21 +165254,21 @@ store ccn 7 iconst 8 0 store acn 8 iconst 9 0 -store __or_9_4492 9 +store __or_9_4500 9 load 10 callee_idx iconst 11 0 lt 12 10 11 -store __or_9_4492 12 -brif 12 L4493 L4492 -label L4492 +store __or_9_4500 12 +brif 12 L4501 L4500 +label L4500 load 13 caller_idx iconst 14 0 lt 15 13 14 -store __or_9_4492 15 -label L4493 -load 16 __or_9_4492 -brif 16 L4490 L4491 -label L4490 +store __or_9_4500 15 +label L4501 +load 16 __or_9_4500 +brif 16 L4498 L4499 +label L4498 load 17 cn call 18 pith_struct_release void 1 17 load 19 an @@ -165178,8 +165281,8 @@ load 25 acn call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L4491 -label L4489 +label L4499 +label L4497 load 28 cn load 29 callee_idx call 30 ast_get_node struct:Node 1 29 @@ -165195,40 +165298,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 L4495 L4496 -label L4495 +brif 39 L4503 L4504 +label L4503 load 41 callee_params load 42 cn field 43 42 8 string value iconst 44 -1 -store __list_index_result_L4500 44 +store __list_index_result_L4508 44 iconst 45 0 -store __list_index_i_L4501 45 +store __list_index_i_L4509 45 call 46 pith_list_len int 1 41 -label L4502 -load 47 __list_index_i_L4501 +label L4510 +load 47 __list_index_i_L4509 lt 48 47 46 -brif 48 L4503 L4506 -label L4503 +brif 48 L4511 L4514 +label L4511 call 49 pith_list_get_value string 2 41 47 call 50 pith_cstring_eq bool 2 49 43 -brif 50 L4504 L4505 -label L4504 -store __list_index_result_L4500 47 -jmp L4506 -label L4505 +brif 50 L4512 L4513 +label L4512 +store __list_index_result_L4508 47 +jmp L4514 +label L4513 iconst 51 1 add 52 47 51 -store __list_index_i_L4501 52 -jmp L4502 -label L4506 -load 53 __list_index_result_L4500 +store __list_index_i_L4509 52 +jmp L4510 +label L4514 +load 53 __list_index_result_L4508 iconst 54 0 gte 55 53 54 iconst 57 1 sub 56 57 55 -brif 56 L4498 L4499 -label L4498 +brif 56 L4506 L4507 +label L4506 load 58 cn call 59 pith_struct_release void 1 58 load 60 an @@ -165241,8 +165344,8 @@ load 66 acn call 67 pith_struct_release void 1 66 iconst 68 0 ret 68 -label L4499 -label L4497 +label L4507 +label L4505 load 69 an field 70 69 0 string kind strref 71 m46s328 @@ -165250,8 +165353,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 L4508 L4509 -label L4508 +brif 72 L4516 L4517 +label L4516 load 76 cn call 77 pith_struct_release void 1 76 load 78 an @@ -165264,8 +165367,8 @@ load 84 acn call 85 pith_struct_release void 1 84 iconst 86 0 ret 86 -label L4509 -label L4507 +label L4517 +label L4515 load 87 resolved load 88 an field 89 88 8 string value @@ -165277,32 +165380,32 @@ store resolved 92 load 94 ir_alias_registry_ir_active_generic_params load 95 resolved iconst 96 -1 -store __list_index_result_L4513 96 +store __list_index_result_L4521 96 iconst 97 0 -store __list_index_i_L4514 97 +store __list_index_i_L4522 97 call 98 pith_list_len int 1 94 -label L4515 -load 99 __list_index_i_L4514 +label L4523 +load 99 __list_index_i_L4522 lt 100 99 98 -brif 100 L4516 L4519 -label L4516 +brif 100 L4524 L4527 +label L4524 call 101 pith_list_get_value string 2 94 99 call 102 pith_cstring_eq bool 2 101 95 -brif 102 L4517 L4518 -label L4517 -store __list_index_result_L4513 99 -jmp L4519 -label L4518 +brif 102 L4525 L4526 +label L4525 +store __list_index_result_L4521 99 +jmp L4527 +label L4526 iconst 103 1 add 104 99 103 -store __list_index_i_L4514 104 -jmp L4515 -label L4519 -load 105 __list_index_result_L4513 +store __list_index_i_L4522 104 +jmp L4523 +label L4527 +load 105 __list_index_result_L4521 iconst 106 0 gte 107 105 106 -brif 107 L4511 L4512 -label L4511 +brif 107 L4519 L4520 +label L4519 load 108 cn call 109 pith_struct_release void 1 108 load 110 an @@ -165315,24 +165418,24 @@ load 116 acn call 117 pith_struct_release void 1 116 iconst 118 0 ret 118 -label L4512 -label L4510 +label L4520 +label L4518 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 L4521 L4522 -label L4521 +brif 123 L4529 L4530 +label L4529 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 L4520 -label L4522 -label L4520 +jmp L4528 +label L4530 +label L4528 load 130 cn call 131 pith_struct_release void 1 130 load 132 an @@ -165345,64 +165448,64 @@ load 138 acn call 139 pith_struct_release void 1 138 iconst 140 0 ret 140 -label L4496 -label L4494 +label L4504 +label L4502 iconst 141 0 -store __and_141_4526 141 +store __and_141_4534 141 iconst 142 0 -store __and_142_4526 142 +store __and_142_4534 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_4526 146 -brif 146 L4526 L4527 -label L4526 +store __and_142_4534 146 +brif 146 L4534 L4535 +label L4534 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_4526 151 -label L4527 -load 153 __and_142_4526 -store __and_141_4526 153 -brif 153 L4528 L4529 -label L4528 +store __and_142_4534 151 +label L4535 +load 153 __and_142_4534 +store __and_141_4534 153 +brif 153 L4536 L4537 +label L4536 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_4526 158 -label L4529 -load 159 __and_141_4526 -brif 159 L4524 L4525 -label L4524 +store __and_141_4534 158 +label L4537 +load 159 __and_141_4534 +brif 159 L4532 L4533 +label L4532 iconst 160 0 store i 160 -label L4530 +label L4538 iconst 161 0 -store __and_161_4533 161 +store __and_161_4541 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_4533 166 -brif 166 L4533 L4534 -label L4533 +store __and_161_4541 166 +brif 166 L4541 L4542 +label L4541 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_4533 171 -label L4534 -load 172 __and_161_4533 -brif 172 L4531 L4532 -label L4531 +store __and_161_4541 171 +label L4542 +load 172 __and_161_4541 +brif 172 L4539 L4540 +label L4539 load 173 cn field 174 173 16 list children load 175 i @@ -165418,8 +165521,8 @@ load 184 i iconst 185 1 add 186 184 185 store i 186 -jmp L4530 -label L4532 +jmp L4538 +label L4540 load 187 cn call 188 pith_struct_release void 1 187 load 189 an @@ -165432,40 +165535,40 @@ load 195 acn call 196 pith_struct_release void 1 195 iconst 197 0 ret 197 -label L4525 -label L4523 +label L4533 +label L4531 iconst 198 0 -store __and_198_4538 198 +store __and_198_4546 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_4538 202 -brif 202 L4538 L4539 -label L4538 +store __and_198_4546 202 +brif 202 L4546 L4547 +label L4546 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_4538 207 -label L4539 -load 209 __and_198_4538 -brif 209 L4536 L4537 -label L4536 +store __and_198_4546 207 +label L4547 +load 209 __and_198_4546 +brif 209 L4544 L4545 +label L4544 iconst 210 0 store ci 210 iconst 211 0 store ai 211 -label L4540 +label L4548 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 L4541 L4542 -label L4541 +brif 216 L4549 L4550 +label L4549 load 217 ccn load 218 cn field 219 218 16 list children @@ -165474,17 +165577,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 L4543 +label L4551 iconst 224 0 -store __and_224_4546 224 +store __and_224_4554 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_4546 229 -brif 229 L4546 L4547 -label L4546 +store __and_224_4554 229 +brif 229 L4554 L4555 +label L4554 load 230 an field 231 230 16 list children load 232 ai @@ -165496,44 +165599,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_4546 238 -label L4547 -load 241 __and_224_4546 -brif 241 L4544 L4545 -label L4544 +store __and_224_4554 238 +label L4555 +load 241 __and_224_4554 +brif 241 L4552 L4553 +label L4552 load 242 ai iconst 243 1 add 244 242 243 store ai 244 -jmp L4543 -label L4545 +jmp L4551 +label L4553 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 L4549 L4550 -label L4549 +brif 249 L4557 L4558 +label L4557 iconst 250 0 -store __and_250_4554 250 +store __and_250_4562 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_4554 254 -brif 254 L4554 L4555 -label L4554 +store __and_250_4562 254 +brif 254 L4562 L4563 +label L4562 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_4554 260 -label L4555 -load 261 __and_250_4554 -brif 261 L4552 L4553 -label L4552 +store __and_250_4562 260 +label L4563 +load 261 __and_250_4562 +brif 261 L4560 L4561 +label L4560 load 262 acn load 263 an field 264 263 16 list children @@ -165547,8 +165650,8 @@ field 270 269 16 list children call 271 pith_list_len int 1 270 iconst 272 0 gt 273 271 272 -brif 273 L4557 L4558 -label L4557 +brif 273 L4565 L4566 +label L4565 load 274 ccn field 275 274 16 list children iconst 276 0 @@ -165560,31 +165663,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 L4556 -label L4558 -label L4556 -jmp L4551 -label L4553 +jmp L4564 +label L4566 +label L4564 +jmp L4559 +label L4561 iconst 285 0 -store __and_285_4561 285 +store __and_285_4569 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_4561 289 -brif 289 L4561 L4562 -label L4561 +store __and_285_4569 289 +brif 289 L4569 L4570 +label L4569 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_4561 295 -label L4562 -load 296 __and_285_4561 -brif 296 L4559 L4560 -label L4559 +store __and_285_4569 295 +label L4570 +load 296 __and_285_4569 +brif 296 L4567 L4568 +label L4567 load 297 acn load 298 an field 299 298 16 list children @@ -165598,8 +165701,8 @@ field 305 304 16 list children call 306 pith_list_len int 1 305 iconst 307 0 gt 308 306 307 -brif 308 L4564 L4565 -label L4564 +brif 308 L4572 L4573 +label L4572 load 309 ccn field 310 309 16 list children iconst 311 0 @@ -165611,28 +165714,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 L4563 -label L4565 -label L4563 -jmp L4551 -label L4560 -label L4551 +jmp L4571 +label L4573 +label L4571 +jmp L4559 +label L4568 +label L4559 load 320 ai iconst 321 1 add 322 320 321 store ai 322 -jmp L4548 -label L4550 -label L4548 +jmp L4556 +label L4558 +label L4556 load 323 ci iconst 324 1 add 325 323 324 store ci 325 -jmp L4540 -label L4542 -jmp L4535 -label L4537 -label L4535 +jmp L4548 +label L4550 +jmp L4543 +label L4545 +label L4543 load 326 cn call 327 pith_struct_release void 1 326 load 328 an @@ -165667,34 +165770,34 @@ store filled 9 load 10 inferred strref 11 m46s822 iconst 12 -1 -store __list_index_result_L4569 12 +store __list_index_result_L4577 12 iconst 13 0 -store __list_index_i_L4570 13 +store __list_index_i_L4578 13 call 14 pith_list_len int 1 10 -label L4571 -load 15 __list_index_i_L4570 +label L4579 +load 15 __list_index_i_L4578 lt 16 15 14 -brif 16 L4572 L4575 -label L4572 +brif 16 L4580 L4583 +label L4580 call 17 pith_list_get_value string 2 10 15 call 18 pith_cstring_eq bool 2 17 11 -brif 18 L4573 L4574 -label L4573 -store __list_index_result_L4569 15 -jmp L4575 -label L4574 +brif 18 L4581 L4582 +label L4581 +store __list_index_result_L4577 15 +jmp L4583 +label L4582 iconst 19 1 add 20 15 19 -store __list_index_i_L4570 20 -jmp L4571 -label L4575 -load 21 __list_index_result_L4569 +store __list_index_i_L4578 20 +jmp L4579 +label L4583 +load 21 __list_index_result_L4577 iconst 22 0 gte 23 21 22 iconst 25 1 sub 24 25 23 -brif 24 L4567 L4568 -label L4567 +brif 24 L4575 L4576 +label L4575 load 26 inferred call 27 pith_list_retain_handle void 1 26 load 28 callee_params @@ -165712,25 +165815,25 @@ call 39 pith_cstring_release void 1 38 load 40 filled call 41 pith_list_release_handle void 1 40 ret 26 -label L4568 -label L4566 +label L4576 +label L4574 iconst 42 0 -store __or_42_4579 42 +store __or_42_4587 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_4579 46 -brif 46 L4580 L4579 -label L4579 +store __or_42_4587 46 +brif 46 L4588 L4587 +label L4587 load 47 ir_alias_registry_ir_active_generic_decl_idx iconst 48 0 lt 49 47 48 -store __or_42_4579 49 -label L4580 -load 50 __or_42_4579 -brif 50 L4577 L4578 -label L4577 +store __or_42_4587 49 +label L4588 +load 50 __or_42_4587 +brif 50 L4585 L4586 +label L4585 load 51 inferred call 52 pith_list_retain_handle void 1 51 load 53 callee_params @@ -165748,8 +165851,8 @@ call 64 pith_cstring_release void 1 63 load 65 filled call 66 pith_list_release_handle void 1 65 ret 51 -label L4578 -label L4576 +label L4586 +label L4584 load 67 ir_generics_ir_generic_decl_indices load 68 name call 69 map_get_strict int 2 67 68 @@ -165774,12 +165877,12 @@ iconst 83 0 store __for_idx_367 83 store __for_len_367 82 store __for_iter_367 81 -label L4581 +label L4589 load 84 __for_idx_367 load 85 __for_len_367 lt 86 84 85 -brif 86 L4582 L4584 -label L4582 +brif 86 L4590 L4592 +label L4590 load 87 __for_iter_367 load 88 __for_idx_367 call 89 pith_list_get_value unknown 2 87 88 @@ -165789,11 +165892,11 @@ store __loopvar_367_i 90 load 91 __loopvar_367_i iconst 92 0 eq 93 91 92 -brif 93 L4586 L4587 -label L4586 -jmp L4583 -label L4587 -label L4585 +brif 93 L4594 L4595 +label L4594 +jmp L4591 +label L4595 +label L4593 load 94 __loopvar_367_child store expr_idx 94 load 95 cn @@ -165806,26 +165909,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 L4589 L4590 -label L4589 +brif 102 L4597 L4598 +label L4597 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 L4592 L4593 -label L4592 -jmp L4583 -label L4593 -label L4591 +brif 108 L4600 L4601 +label L4600 +jmp L4591 +label L4601 +label L4599 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 L4588 -label L4590 -label L4588 +jmp L4596 +label L4598 +label L4596 load 113 en load 114 expr_idx call 115 ast_get_node struct:Node 1 114 @@ -165836,8 +165939,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 L4595 L4596 -label L4595 +brif 120 L4603 L4604 +label L4603 load 122 ir_alias_registry_ir_active_generic_decl_idx load 123 en field 124 123 8 string value @@ -165846,8 +165949,8 @@ store caller_type_idx 125 load 126 caller_type_idx iconst 127 0 gte 128 126 127 -brif 128 L4598 L4599 -label L4598 +brif 128 L4606 L4607 +label L4606 load 129 declared load 130 caller_type_idx call 131 ir_alias_registry_ir_resolve_type_node string 1 130 @@ -165860,22 +165963,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_4603 138 +store __or_138_4611 138 load 139 tracked call 140 string_len int 1 139 iconst 141 0 eq 142 140 141 -store __or_138_4603 142 -brif 142 L4604 L4603 -label L4603 +store __or_138_4611 142 +brif 142 L4612 L4611 +label L4611 load 143 tracked load 144 declared call 145 pith_cstring_eq bool 2 143 144 -store __or_138_4603 145 -label L4604 -load 146 __or_138_4603 -brif 146 L4601 L4602 -label L4601 +store __or_138_4611 145 +label L4612 +load 146 __or_138_4611 +brif 146 L4609 L4610 +label L4609 load 147 callee_decl load 148 callee_decl load 149 arg_pos @@ -165888,26 +165991,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 L4600 +jmp L4608 +label L4610 +label L4608 +jmp L4605 +label L4607 +label L4605 +jmp L4602 +label L4604 label L4602 -label L4600 -jmp L4597 -label L4599 -label L4597 -jmp L4594 -label L4596 -label L4594 load 158 arg_pos iconst 159 1 add 160 158 159 store arg_pos 160 -label L4583 +label L4591 load 161 __for_idx_367 iconst 162 1 add 163 161 162 store __for_idx_367 163 -jmp L4581 -label L4584 +jmp L4589 +label L4592 load 164 filled call 165 pith_list_new_cstr list 0 call 166 pith_list_release_handle void 1 164 @@ -165918,12 +166021,12 @@ iconst 169 0 store __for_idx_368 169 store __for_len_368 168 store __for_iter_368 167 -label L4605 +label L4613 load 170 __for_idx_368 load 171 __for_len_368 lt 172 170 171 -brif 172 L4606 L4608 -label L4606 +brif 172 L4614 L4616 +label L4614 load 173 __for_iter_368 load 174 __for_idx_368 call 175 pith_list_get_value_unchecked string 2 173 174 @@ -165931,36 +166034,36 @@ store __loopvar_368_concrete 175 load 176 __for_idx_368 store __loopvar_368_i 176 iconst 177 0 -store __and_177_4612 177 +store __and_177_4620 177 iconst 178 0 -store __and_178_4612 178 +store __and_178_4620 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_4612 181 -brif 181 L4612 L4613 -label L4612 +store __and_178_4620 181 +brif 181 L4620 L4621 +label L4620 load 183 __loopvar_368_i load 184 callee_params call 185 pith_list_len int 1 184 lt 186 183 185 -store __and_178_4612 186 -label L4613 -load 187 __and_178_4612 -store __and_177_4612 187 -brif 187 L4614 L4615 -label L4614 +store __and_178_4620 186 +label L4621 +load 187 __and_178_4620 +store __and_177_4620 187 +brif 187 L4622 L4623 +label L4622 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_4612 192 -label L4615 -load 193 __and_177_4612 -brif 193 L4610 L4611 -label L4610 +store __and_177_4620 192 +label L4623 +load 193 __and_177_4620 +brif 193 L4618 L4619 +label L4618 load 194 filled load 195 bindings load 196 callee_params @@ -165968,19 +166071,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 L4609 -label L4611 +jmp L4617 +label L4619 load 201 filled load 202 __loopvar_368_concrete call 203 pith_list_push_value void 2 201 202 -label L4609 -label L4607 +label L4617 +label L4615 load 204 __for_idx_368 iconst 205 1 add 206 204 205 store __for_idx_368 206 -jmp L4605 -label L4608 +jmp L4613 +label L4616 load 207 filled load 208 callee_params call 209 pith_list_release_handle void 1 208 @@ -166028,8 +166131,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 L4617 L4618 -label L4617 +brif 10 L4625 L4626 +label L4625 load 12 resolved load 13 type_node field 14 13 8 string value @@ -166042,14 +166145,14 @@ load 19 resolved call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L4620 L4621 -label L4620 +brif 22 L4628 L4629 +label L4628 load 23 resolved load 24 type_node call 25 pith_struct_release void 1 24 ret 23 -label L4621 -label L4619 +label L4629 +label L4627 load 26 type_node field 27 26 8 string value call 28 ir_alias_registry_ir_resolve_type_hint string 1 27 @@ -166058,8 +166161,8 @@ call 30 pith_struct_release void 1 29 load 31 resolved call 32 pith_cstring_release void 1 31 ret 28 -label L4618 -label L4616 +label L4626 +label L4624 load 33 type_idx load 34 ir_alias_registry_ir_active_generic_params load 35 ir_alias_registry_ir_active_generic_concrete_types @@ -166086,14 +166189,14 @@ call 4 pith_list_release_handle void 1 2 store concrete_types 3 iconst 5 1 store i 5 -label L4622 +label L4630 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 L4623 L4624 -label L4623 +brif 10 L4631 L4632 +label L4631 load 11 concrete_types load 12 index_node field 13 12 16 list children @@ -166105,8 +166208,8 @@ load 18 i iconst 19 1 add 20 18 19 store i 20 -jmp L4622 -label L4624 +jmp L4630 +label L4632 load 21 concrete_types ret 21 load 22 concrete_types @@ -166137,12 +166240,12 @@ iconst 13 0 store __for_idx_369 13 store __for_len_369 12 store __for_iter_369 11 -label L4625 +label L4633 load 14 __for_idx_369 load 15 __for_len_369 lt 16 14 15 -brif 16 L4626 L4628 -label L4626 +brif 16 L4634 L4636 +label L4634 load 17 __for_iter_369 load 18 __for_idx_369 call 19 pith_list_get_value unknown 2 17 18 @@ -166157,8 +166260,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 L4630 L4631 -label L4630 +brif 27 L4638 L4639 +label L4638 load 29 param_type strref 30 m46s82 call 31 pith_cstring_release void 1 29 @@ -166167,8 +166270,8 @@ load 32 param_idx load 33 param_types call 34 pith_list_len int 1 33 lt 35 32 34 -brif 35 L4633 L4634 -label L4633 +brif 35 L4641 L4642 +label L4641 load 36 param_type load 37 param_types load 38 param_idx @@ -166176,9 +166279,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 L4632 -label L4634 -label L4632 +jmp L4640 +label L4642 +label L4640 load 42 cn field 43 42 8 string value load 44 param_type @@ -166189,16 +166292,16 @@ load 48 param_idx iconst 49 1 add 50 48 49 store param_idx 50 -jmp L4629 -label L4631 -label L4629 -label L4627 +jmp L4637 +label L4639 +label L4637 +label L4635 load 51 __for_idx_369 iconst 52 1 add 53 51 52 store __for_idx_369 53 -jmp L4625 -label L4628 +jmp L4633 +label L4636 load 54 node call 55 pith_struct_release void 1 54 load 56 cn @@ -166229,12 +166332,12 @@ iconst 11 0 store __for_idx_370 11 store __for_len_370 10 store __for_iter_370 9 -label L4635 +label L4643 load 12 __for_idx_370 load 13 __for_len_370 lt 14 12 13 -brif 14 L4636 L4638 -label L4636 +brif 14 L4644 L4646 +label L4644 load 15 __for_iter_370 load 16 __for_idx_370 call 17 pith_list_get_value unknown 2 15 16 @@ -166243,12 +166346,12 @@ load 18 __for_idx_370 store __loopvar_370_i 18 load 19 __loopvar_370_i iconst 20 0 -eq 21 19 20 -brif 21 L4640 L4641 -label L4640 -jmp L4637 -label L4641 -label L4639 +eq 21 19 20 +brif 21 L4648 L4649 +label L4648 +jmp L4645 +label L4649 +label L4647 load 22 child_kind load 23 __loopvar_370_child call 24 ast_node_kind string 1 23 @@ -166260,8 +166363,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 L4643 L4644 -label L4643 +brif 29 L4651 L4652 +label L4651 load 31 cn load 32 __loopvar_370_child call 33 ast_get_node struct:Node 1 32 @@ -166272,19 +166375,19 @@ field 36 35 16 list children call 37 pith_list_len int 1 36 iconst 38 0 gt 39 37 38 -brif 39 L4646 L4647 -label L4646 +brif 39 L4654 L4655 +label L4654 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 L4645 -label L4647 -label L4645 -jmp L4642 -label L4644 -label L4642 +jmp L4653 +label L4655 +label L4653 +jmp L4650 +label L4652 +label L4650 load 44 checked load 45 expr_idx call 46 ir_type_helpers_ir_checked_type string 1 45 @@ -166294,25 +166397,25 @@ load 48 checked call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L4649 L4650 -label L4649 +brif 51 L4657 L4658 +label L4657 load 52 arg_types load 53 checked call 54 pith_list_push_value void 2 52 53 -jmp L4648 -label L4650 +jmp L4656 +label L4658 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 L4648 -label L4637 +label L4656 +label L4645 load 59 __for_idx_370 iconst 60 1 add 61 59 60 store __for_idx_370 61 -jmp L4635 -label L4638 +jmp L4643 +label L4646 load 62 arg_types load 63 child_kind call 64 pith_cstring_release void 1 63 @@ -166351,12 +166454,12 @@ iconst 10 0 store __for_idx_371 10 store __for_len_371 9 store __for_iter_371 8 -label L4651 +label L4659 load 11 __for_idx_371 load 12 __for_len_371 lt 13 11 12 -brif 13 L4652 L4654 -label L4652 +brif 13 L4660 L4662 +label L4660 load 14 __for_iter_371 load 15 __for_idx_371 call 16 pith_list_get_value unknown 2 14 15 @@ -166366,11 +166469,11 @@ store __loopvar_371_i 17 load 18 __loopvar_371_i iconst 19 0 eq 20 18 19 -brif 20 L4656 L4657 -label L4656 -jmp L4653 -label L4657 -label L4655 +brif 20 L4664 L4665 +label L4664 +jmp L4661 +label L4665 +label L4663 load 21 child_kind load 22 __loopvar_371_child call 23 ast_node_kind string 1 22 @@ -166382,8 +166485,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 L4659 L4660 -label L4659 +brif 28 L4667 L4668 +label L4667 load 30 cn load 31 __loopvar_371_child call 32 ast_get_node struct:Node 1 31 @@ -166394,30 +166497,30 @@ field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -brif 38 L4662 L4663 -label L4662 +brif 38 L4670 L4671 +label L4670 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 L4661 -label L4663 -label L4661 -jmp L4658 -label L4660 -label L4658 +jmp L4669 +label L4671 +label L4669 +jmp L4666 +label L4668 +label L4666 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 L4653 +label L4661 load 47 __for_idx_371 iconst 48 1 add 49 47 48 store __for_idx_371 49 -jmp L4651 -label L4654 +jmp L4659 +label L4662 load 50 arg_tids load 51 child_kind call 52 pith_cstring_release void 1 51 @@ -166447,8 +166550,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 L4665 L4666 -label L4665 +brif 10 L4673 L4674 +label L4673 load 11 type_name call 12 pith_cstring_retain void 1 11 load 13 parts @@ -166456,8 +166559,8 @@ call 14 pith_list_release_handle void 1 13 load 15 akey call 16 pith_cstring_release void 1 15 ret 11 -label L4666 -label L4664 +label L4674 +label L4672 load 17 parts load 18 type_name strref 19 m46s26 @@ -166469,8 +166572,8 @@ load 23 parts call 24 pith_list_len int 1 23 iconst 25 2 neq 26 24 25 -brif 26 L4668 L4669 -label L4668 +brif 26 L4676 L4677 +label L4676 load 27 type_name call 28 pith_cstring_retain void 1 27 load 29 parts @@ -166478,8 +166581,8 @@ call 30 pith_list_release_handle void 1 29 load 31 akey call 32 pith_cstring_release void 1 31 ret 27 -label L4669 -label L4667 +label L4677 +label L4675 iconst 33 0 store i 33 load 34 params @@ -166488,35 +166591,35 @@ iconst 36 0 store __for_idx_372 36 store __for_len_372 35 store __for_iter_372 34 -label L4670 +label L4678 load 37 __for_idx_372 load 38 __for_len_372 lt 39 37 38 -brif 39 L4671 L4673 -label L4671 +brif 39 L4679 L4681 +label L4679 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_4677 43 +store __and_43_4685 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_4677 48 -brif 48 L4677 L4678 -label L4677 +store __and_43_4685 48 +brif 48 L4685 L4686 +label L4685 load 49 i load 50 concrete call 51 pith_list_len int 1 50 lt 52 49 51 -store __and_43_4677 52 -label L4678 -load 53 __and_43_4677 -brif 53 L4675 L4676 -label L4675 +store __and_43_4685 52 +label L4686 +load 53 __and_43_4685 +brif 53 L4683 L4684 +label L4683 load 54 akey load 55 concrete load 56 i @@ -166536,8 +166639,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 L4680 L4681 -label L4680 +brif 71 L4688 L4689 +label L4688 load 72 ir_method_tables_ir_assoc_bindings load 73 akey call 74 map_get_strict string 2 72 73 @@ -166547,22 +166650,22 @@ call 77 pith_list_release_handle void 1 76 load 78 akey call 79 pith_cstring_release void 1 78 ret 74 -label L4681 -label L4679 -jmp L4674 -label L4676 -label L4674 +label L4689 +label L4687 +jmp L4682 +label L4684 +label L4682 load 80 i iconst 81 1 add 82 80 81 store i 82 -label L4672 +label L4680 load 83 __for_idx_372 iconst 84 1 add 85 83 84 store __for_idx_372 85 -jmp L4670 -label L4673 +jmp L4678 +label L4681 load 86 type_name call 87 pith_cstring_retain void 1 86 load 88 parts @@ -166608,8 +166711,8 @@ load 14 key call 15 contains_key bool 2 13 14 iconst 17 1 sub 16 17 15 -brif 16 L4683 L4684 -label L4683 +brif 16 L4691 L4692 +label L4691 load 18 base_name call 19 pith_cstring_release void 1 18 load 20 decl_node @@ -166636,8 +166739,8 @@ load 40 saved_param_optional_tids call 41 pith_map_release_handle void 1 40 iconst 42 0 ret 42 -label L4684 -label L4682 +label L4692 +label L4690 load 43 base_name load 44 key iconst 45 9 @@ -166654,8 +166757,8 @@ load 54 base_name call 55 contains_key bool 2 53 54 iconst 57 1 sub 56 57 55 -brif 56 L4686 L4687 -label L4686 +brif 56 L4694 L4695 +label L4694 load 58 base_name call 59 pith_cstring_release void 1 58 load 60 decl_node @@ -166682,8 +166785,8 @@ load 80 saved_param_optional_tids call 81 pith_map_release_handle void 1 80 iconst 82 0 ret 82 -label L4687 -label L4685 +label L4695 +label L4693 load 83 ir_generics_ir_generic_decl_indices load 84 base_name call 85 map_get_strict int 2 83 84 @@ -166746,12 +166849,12 @@ iconst 131 0 store __for_idx_373 131 store __for_len_373 130 store __for_iter_373 129 -label L4688 +label L4696 load 132 __for_idx_373 load 133 __for_len_373 lt 134 132 133 -brif 134 L4689 L4691 -label L4689 +brif 134 L4697 L4699 +label L4697 load 135 __for_iter_373 load 136 __for_idx_373 call 137 pith_list_get_value_unchecked string 2 135 136 @@ -166762,13 +166865,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 L4690 +label L4698 load 144 __for_idx_373 iconst 145 1 add 146 144 145 store __for_idx_373 146 -jmp L4688 -label L4691 +jmp L4696 +label L4699 load 147 param_types load 148 resolved_param_types call 149 pith_list_retain_handle void 1 148 @@ -166811,18 +166914,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 L4693 L4694 -label L4693 +brif 178 L4701 L4702 +label L4701 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 L4692 -label L4694 +jmp L4700 +label L4702 strref 183 m46s82 store ir_alias_registry_ir_active_generic_module_path 183 -label L4692 +label L4700 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 @@ -166851,24 +166954,24 @@ load 206 spec_name load 207 ret_type call 208 map_insert void 3 205 206 207 iconst 209 0 -store __and_209_4698 209 +store __and_209_4706 209 load 210 concrete_types call 211 pith_list_len int 1 210 iconst 212 1 eq 213 211 212 -store __and_209_4698 213 -brif 213 L4698 L4699 -label L4698 +store __and_209_4706 213 +brif 213 L4706 L4707 +label L4706 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_4698 218 -label L4699 -load 219 __and_209_4698 -brif 219 L4696 L4697 -label L4696 +store __and_209_4706 218 +label L4707 +load 219 __and_209_4706 +brif 219 L4704 L4705 +label L4704 load 220 concrete_types iconst 221 0 call 222 pith_list_get_value_strict string 2 220 221 @@ -166880,27 +166983,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 L4695 -label L4697 +jmp L4703 +label L4705 iconst 231 0 -store __and_231_4702 231 +store __and_231_4710 231 load 232 concrete_types call 233 pith_list_len int 1 232 iconst 234 1 eq 235 233 234 -store __and_231_4702 235 -brif 235 L4702 L4703 -label L4702 +store __and_231_4710 235 +brif 235 L4710 L4711 +label L4710 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_4702 240 -label L4703 -load 241 __and_231_4702 -brif 241 L4700 L4701 -label L4700 +store __and_231_4710 240 +label L4711 +load 241 __and_231_4710 +brif 241 L4708 L4709 +label L4708 load 242 concrete_types iconst 243 0 call 244 pith_list_get_value_strict string 2 242 243 @@ -166912,26 +167015,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 L4695 -label L4701 +jmp L4703 +label L4709 iconst 253 0 -store __and_253_4706 253 +store __and_253_4714 253 load 254 concrete_types call 255 pith_list_len int 1 254 iconst 256 1 eq 257 255 256 -store __and_253_4706 257 -brif 257 L4706 L4707 -label L4706 +store __and_253_4714 257 +brif 257 L4714 L4715 +label L4714 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_4706 261 -label L4707 -load 262 __and_253_4706 -brif 262 L4704 L4705 -label L4704 +store __and_253_4714 261 +label L4715 +load 262 __and_253_4714 +brif 262 L4712 L4713 +label L4712 load 263 concrete_types iconst 264 0 call 265 pith_list_get_value_strict string 2 263 264 @@ -166943,26 +167046,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 L4695 -label L4705 +jmp L4703 +label L4713 iconst 274 0 -store __and_274_4710 274 +store __and_274_4718 274 load 275 concrete_types call 276 pith_list_len int 1 275 iconst 277 1 eq 278 276 277 -store __and_274_4710 278 -brif 278 L4710 L4711 -label L4710 +store __and_274_4718 278 +brif 278 L4718 L4719 +label L4718 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_4710 282 -label L4711 -load 283 __and_274_4710 -brif 283 L4708 L4709 -label L4708 +store __and_274_4718 282 +label L4719 +load 283 __and_274_4718 +brif 283 L4716 L4717 +label L4716 load 284 concrete_types iconst 285 0 call 286 pith_list_get_value_strict string 2 284 285 @@ -166970,26 +167073,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 L4695 -label L4709 +jmp L4703 +label L4717 iconst 291 0 -store __and_291_4714 291 +store __and_291_4722 291 load 292 concrete_types call 293 pith_list_len int 1 292 iconst 294 1 eq 295 293 294 -store __and_291_4714 295 -brif 295 L4714 L4715 -label L4714 +store __and_291_4722 295 +brif 295 L4722 L4723 +label L4722 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_4714 299 -label L4715 -load 300 __and_291_4714 -brif 300 L4712 L4713 -label L4712 +store __and_291_4722 299 +label L4723 +load 300 __and_291_4722 +brif 300 L4720 L4721 +label L4720 load 301 concrete_types iconst 302 0 call 303 pith_list_get_value_strict string 2 301 302 @@ -167001,26 +167104,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 L4695 -label L4713 +jmp L4703 +label L4721 iconst 312 0 -store __and_312_4718 312 +store __and_312_4726 312 load 313 concrete_types call 314 pith_list_len int 1 313 iconst 315 1 eq 316 314 315 -store __and_312_4718 316 -brif 316 L4718 L4719 -label L4718 +store __and_312_4726 316 +brif 316 L4726 L4727 +label L4726 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_4718 320 -label L4719 -load 321 __and_312_4718 -brif 321 L4716 L4717 -label L4716 +store __and_312_4726 320 +label L4727 +load 321 __and_312_4726 +brif 321 L4724 L4725 +label L4724 load 322 concrete_types iconst 323 0 call 324 pith_list_get_value_strict string 2 322 323 @@ -167028,27 +167131,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 L4695 -label L4717 +jmp L4703 +label L4725 iconst 329 0 -store __and_329_4722 329 +store __and_329_4730 329 load 330 concrete_types call 331 pith_list_len int 1 330 iconst 332 1 eq 333 331 332 -store __and_329_4722 333 -brif 333 L4722 L4723 -label L4722 +store __and_329_4730 333 +brif 333 L4730 L4731 +label L4730 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_4722 338 -label L4723 -load 339 __and_329_4722 -brif 339 L4720 L4721 -label L4720 +store __and_329_4730 338 +label L4731 +load 339 __and_329_4730 +brif 339 L4728 L4729 +label L4728 load 340 concrete_types iconst 341 0 call 342 pith_list_get_value_strict string 2 340 341 @@ -167059,27 +167162,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 L4695 -label L4721 +jmp L4703 +label L4729 iconst 350 0 -store __and_350_4726 350 +store __and_350_4734 350 load 351 concrete_types call 352 pith_list_len int 1 351 iconst 353 1 eq 354 352 353 -store __and_350_4726 354 -brif 354 L4726 L4727 -label L4726 +store __and_350_4734 354 +brif 354 L4734 L4735 +label L4734 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_4726 359 -label L4727 -load 360 __and_350_4726 -brif 360 L4724 L4725 -label L4724 +store __and_350_4734 359 +label L4735 +load 360 __and_350_4734 +brif 360 L4732 L4733 +label L4732 load 361 concrete_types iconst 362 0 call 363 pith_list_get_value_strict string 2 361 362 @@ -167090,26 +167193,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 L4695 -label L4725 +jmp L4703 +label L4733 iconst 371 0 -store __and_371_4730 371 +store __and_371_4738 371 load 372 concrete_types call 373 pith_list_len int 1 372 iconst 374 1 eq 375 373 374 -store __and_371_4730 375 -brif 375 L4730 L4731 -label L4730 +store __and_371_4738 375 +brif 375 L4738 L4739 +label L4738 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_4730 379 -label L4731 -load 380 __and_371_4730 -brif 380 L4728 L4729 -label L4728 +store __and_371_4738 379 +label L4739 +load 380 __and_371_4738 +brif 380 L4736 L4737 +label L4736 load 381 concrete_types iconst 382 0 call 383 pith_list_get_value_strict string 2 381 382 @@ -167119,26 +167222,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 L4695 -label L4729 +jmp L4703 +label L4737 iconst 390 0 -store __and_390_4734 390 +store __and_390_4742 390 load 391 concrete_types call 392 pith_list_len int 1 391 iconst 393 1 eq 394 392 393 -store __and_390_4734 394 -brif 394 L4734 L4735 -label L4734 +store __and_390_4742 394 +brif 394 L4742 L4743 +label L4742 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_4734 398 -label L4735 -load 399 __and_390_4734 -brif 399 L4732 L4733 -label L4732 +store __and_390_4742 398 +label L4743 +load 399 __and_390_4742 +brif 399 L4740 L4741 +label L4740 load 400 concrete_types iconst 401 0 call 402 pith_list_get_value_strict string 2 400 401 @@ -167148,11 +167251,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 L4695 -label L4733 +jmp L4703 +label L4741 load 409 body_idx call 410 ir_emitter_core_ir_finish_func_emission void 1 409 -label L4695 +label L4703 load 411 saved_params call 412 pith_list_retain_handle void 1 411 store ir_alias_registry_ir_active_generic_params 411 @@ -167218,8 +167321,8 @@ load 13 arg_tids call 14 pith_list_len int 1 13 iconst 15 0 eq 16 14 15 -brif 16 L4737 L4738 -label L4737 +brif 16 L4745 L4746 +label L4745 load 17 result load 18 arg_tids call 19 pith_list_release_handle void 1 18 @@ -167228,8 +167331,8 @@ call 21 pith_struct_release void 1 20 load 22 cn call 23 pith_struct_release void 1 22 ret 17 -label L4738 -label L4736 +label L4746 +label L4744 load 24 node load 25 fn_idx call 26 ast_get_node struct:Node 1 25 @@ -167244,12 +167347,12 @@ iconst 32 0 store __for_idx_374 32 store __for_len_374 31 store __for_iter_374 30 -label L4739 +label L4747 load 33 __for_idx_374 load 34 __for_len_374 lt 35 33 34 -brif 35 L4740 L4742 -label L4740 +brif 35 L4748 L4750 +label L4748 load 36 __for_iter_374 load 37 __for_idx_374 call 38 pith_list_get_value unknown 2 36 37 @@ -167264,62 +167367,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 L4744 L4745 -label L4744 +brif 46 L4752 L4753 +label L4752 load 48 param_idx load 49 arg_tids call 50 pith_list_len int 1 49 lt 51 48 50 -brif 51 L4747 L4748 -label L4747 +brif 51 L4755 L4756 +label L4755 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_4752 55 +store __and_55_4760 55 load 56 tid iconst 57 0 gte 58 56 57 -store __and_55_4752 58 -brif 58 L4752 L4753 -label L4752 +store __and_55_4760 58 +brif 58 L4760 L4761 +label L4760 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_4752 63 -label L4753 -load 65 __and_55_4752 -brif 65 L4750 L4751 -label L4750 +store __and_55_4760 63 +label L4761 +load 65 __and_55_4760 +brif 65 L4758 L4759 +label L4758 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 L4749 -label L4751 -label L4749 -jmp L4746 -label L4748 -label L4746 +jmp L4757 +label L4759 +label L4757 +jmp L4754 +label L4756 +label L4754 load 71 param_idx iconst 72 1 add 73 71 72 store param_idx 73 -jmp L4743 -label L4745 -label L4743 -label L4741 +jmp L4751 +label L4753 +label L4751 +label L4749 load 74 __for_idx_374 iconst 75 1 add 76 74 75 store __for_idx_374 76 -jmp L4739 -label L4742 +jmp L4747 +label L4750 load 77 result load 78 arg_tids call 79 pith_list_release_handle void 1 78 @@ -167344,13 +167447,13 @@ iconst 0 0 store key 0 iconst 1 0 store i 1 -label L4754 +label L4762 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 L4755 L4756 -label L4755 +brif 5 L4763 L4764 +label L4763 load 6 key load 7 ir_generics_ir_generic_specialization_keys load 8 i @@ -167363,23 +167466,23 @@ load 13 key call 14 contains_key bool 2 12 13 iconst 16 1 sub 15 16 14 -brif 15 L4758 L4759 -label L4758 +brif 15 L4766 L4767 +label L4766 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 L4757 -label L4759 -label L4757 +jmp L4765 +label L4767 +label L4765 load 23 i iconst 24 1 add 25 23 24 store i 25 -jmp L4754 -label L4756 +jmp L4762 +label L4764 load 26 key call 27 pith_cstring_release void 1 26 iconst 28 0 @@ -167401,16 +167504,16 @@ load 8 impl_type call 9 string_len int 1 8 iconst 10 0 eq 11 9 10 -brif 11 L4761 L4762 -label L4761 +brif 11 L4769 L4770 +label L4769 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 L4762 -label L4760 +label L4770 +label L4768 load 17 node field 18 17 16 list children call 19 pith_auto_len int 1 18 @@ -167418,12 +167521,12 @@ iconst 20 0 store __for_idx_375 20 store __for_len_375 19 store __for_iter_375 18 -label L4763 +label L4771 load 21 __for_idx_375 load 22 __for_len_375 lt 23 21 22 -brif 23 L4764 L4766 -label L4764 +brif 23 L4772 L4774 +label L4772 load 24 __for_iter_375 load 25 __for_idx_375 call 26 pith_list_get_value unknown 2 24 25 @@ -167439,23 +167542,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 L4768 L4769 -label L4768 +brif 35 L4776 L4777 +label L4776 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 L4767 -label L4769 -label L4767 -label L4765 +jmp L4775 +label L4777 +label L4775 +label L4773 load 41 __for_idx_375 iconst 42 1 add 43 41 42 store __for_idx_375 43 -jmp L4763 -label L4766 +jmp L4771 +label L4774 load 44 node call 45 ir_emitter_core_ir_inherited_default_indices list 1 44 call 46 pith_auto_len int 1 45 @@ -167463,12 +167566,12 @@ iconst 47 0 store __for_idx_376 47 store __for_len_376 46 store __for_iter_376 45 -label L4770 +label L4778 load 48 __for_idx_376 load 49 __for_len_376 lt 50 48 49 -brif 50 L4771 L4773 -label L4771 +brif 50 L4779 L4781 +label L4779 load 51 __for_iter_376 load 52 __for_idx_376 call 53 pith_list_get_value unknown 2 51 52 @@ -167480,13 +167583,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 L4772 +label L4780 load 61 __for_idx_376 iconst 62 1 add 63 61 62 store __for_idx_376 63 -jmp L4770 -label L4773 +jmp L4778 +label L4781 load 64 __for_iter_376 call 65 pith_list_release_handle void 1 64 load 66 impl_type @@ -167529,8 +167632,8 @@ load 22 module_path call 23 string_len int 1 22 iconst 24 0 gt 25 23 24 -brif 25 L4775 L4776 -label L4775 +brif 25 L4783 L4784 +label L4783 load 26 full_name load 27 module_path load 28 impl_type @@ -167538,9 +167641,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 L4774 -label L4776 -label L4774 +jmp L4782 +label L4784 +label L4782 load 32 key load 33 impl_type load 34 method_name @@ -167667,8 +167770,8 @@ param body_idx load 1 body_idx iconst 2 0 gte 3 1 2 -brif 3 L4778 L4779 -label L4778 +brif 3 L4786 L4787 +label L4786 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 @@ -167678,9 +167781,9 @@ iconst 8 0 iconst 9 1 sub 10 8 9 store ir_match_emit_ir_tail_match_node 10 -jmp L4777 -label L4779 -label L4777 +jmp L4785 +label L4787 +label L4785 call 11 ir_emitter_core_ir_emit_default_return int 0 iconst 12 0 ret 12 @@ -167700,12 +167803,12 @@ iconst 8 0 store __for_idx_377 8 store __for_len_377 7 store __for_iter_377 6 -label L4780 +label L4788 load 9 __for_idx_377 load 10 __for_len_377 lt 11 9 10 -brif 11 L4781 L4783 -label L4781 +brif 11 L4789 L4791 +label L4789 load 12 __for_iter_377 load 13 __for_idx_377 call 14 pith_list_get_value unknown 2 12 13 @@ -167716,21 +167819,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 L4785 L4786 -label L4785 +brif 19 L4793 L4794 +label L4793 load 21 tests load 22 __loopvar_377_item_idx call 23 pith_list_push_value void 2 21 22 -jmp L4784 -label L4786 -label L4784 -label L4782 +jmp L4792 +label L4794 +label L4792 +label L4790 load 24 __for_idx_377 iconst 25 1 add 26 24 25 store __for_idx_377 26 -jmp L4780 -label L4783 +jmp L4788 +label L4791 load 27 __for_iter_377 call 28 pith_list_release_handle void 1 27 load 29 tests @@ -167792,8 +167895,8 @@ load 10 tests call 11 pith_list_len int 1 10 iconst 12 0 eq 13 11 12 -brif 13 L4788 L4789 -label L4788 +brif 13 L4796 L4797 +label L4796 load 14 tests call 15 pith_list_release_handle void 1 14 load 16 run_l @@ -167806,8 +167909,8 @@ load 22 child_l call 23 pith_cstring_release void 1 22 iconst 24 0 ret 24 -label L4789 -label L4787 +label L4797 +label L4795 strref 25 m46s671 call 26 ir_emitter_core_ir_prepare_func_emission void 1 25 call 27 pith_cstring_release void 1 25 @@ -167823,12 +167926,12 @@ iconst 36 0 store __for_idx_378 36 store __for_len_378 35 store __for_iter_378 34 -label L4790 +label L4798 load 37 __for_idx_378 load 38 __for_len_378 lt 39 37 38 -brif 39 L4791 L4793 -label L4791 +brif 39 L4799 L4801 +label L4799 load 40 __for_iter_378 load 41 __for_idx_378 call 42 pith_list_get_value unknown 2 40 41 @@ -168001,13 +168104,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 L4792 +label L4800 load 202 __for_idx_378 iconst 203 1 add 204 202 203 store __for_idx_378 204 -jmp L4790 -label L4793 +jmp L4798 +label L4801 call 205 ir_builder_ir_reg int 0 store summary_r 205 load 206 summary_r @@ -168265,12 +168368,12 @@ iconst 5 0 store __for_idx_379 5 store __for_len_379 4 store __for_iter_379 3 -label L4794 +label L4802 load 6 __for_idx_379 load 7 __for_len_379 lt 8 6 7 -brif 8 L4795 L4797 -label L4795 +brif 8 L4803 L4805 +label L4803 load 9 __for_iter_379 load 10 __for_idx_379 call 11 pith_list_get_value unknown 2 9 10 @@ -168285,23 +168388,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 L4799 L4800 -label L4799 +brif 19 L4807 L4808 +label L4807 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 L4800 -label L4798 -label L4796 +label L4808 +label L4806 +label L4804 load 26 __for_idx_379 iconst 27 1 add 28 26 27 store __for_idx_379 28 -jmp L4794 -label L4797 +jmp L4802 +label L4805 strref 29 m46s82 load 30 tn call 31 pith_struct_release void 1 30 @@ -168318,26 +168421,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 L4802 L4803 -label L4802 +brif 4 L4810 L4811 +label L4810 load 6 node field 7 6 8 string value call 8 ir_alias_registry_ir_register_import_alias void 1 7 -jmp L4801 -label L4803 +jmp L4809 +label L4811 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 L4804 L4805 -label L4804 +brif 12 L4812 L4813 +label L4812 load 14 node field 15 14 8 string value call 16 ir_alias_registry_ir_collect_from_import_renames void 1 15 -jmp L4801 -label L4805 -label L4801 +jmp L4809 +label L4813 +label L4809 iconst 17 0 ret 17 endfunc @@ -168356,12 +168459,12 @@ iconst 7 0 store __for_idx_380 7 store __for_len_380 6 store __for_iter_380 5 -label L4806 +label L4814 load 8 __for_idx_380 load 9 __for_len_380 lt 10 8 9 -brif 10 L4807 L4809 -label L4807 +brif 10 L4815 L4817 +label L4815 load 11 __for_iter_380 load 12 __for_idx_380 call 13 pith_list_get_value unknown 2 11 12 @@ -168376,8 +168479,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 L4811 L4812 -label L4811 +brif 21 L4819 L4820 +label L4819 load 23 aname load 24 cn field 25 24 8 string value @@ -168387,8 +168490,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 L4814 L4815 -label L4814 +brif 30 L4822 L4823 +label L4822 load 31 target load 32 ir_alias_registry_ir_type_aliases load 33 aname @@ -168399,8 +168502,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 L4817 L4818 -label L4817 +brif 39 L4825 L4826 +label L4825 load 40 ir_struct_registry_ir_struct_names load 41 aname load 42 ir_struct_registry_ir_struct_names @@ -168420,22 +168523,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 L4816 +jmp L4824 +label L4826 +label L4824 +jmp L4821 +label L4823 +label L4821 +jmp L4818 +label L4820 label L4818 label L4816 -jmp L4813 -label L4815 -label L4813 -jmp L4810 -label L4812 -label L4810 -label L4808 load 59 __for_idx_380 iconst 60 1 add 61 59 60 store __for_idx_380 61 -jmp L4806 -label L4809 +jmp L4814 +label L4817 load 62 __for_iter_380 call 63 pith_list_release_handle void 1 62 load 64 cn @@ -168460,12 +168563,12 @@ iconst 6 0 store __for_idx_381 6 store __for_len_381 5 store __for_iter_381 4 -label L4819 +label L4827 load 7 __for_idx_381 load 8 __for_len_381 lt 9 7 8 -brif 9 L4820 L4822 -label L4820 +brif 9 L4828 L4830 +label L4828 load 10 __for_iter_381 load 11 __for_idx_381 call 12 pith_list_get_value unknown 2 10 11 @@ -168480,37 +168583,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 L4824 L4825 -label L4824 +brif 20 L4832 L4833 +label L4832 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 L4823 -label L4825 -label L4823 -label L4821 +jmp L4831 +label L4833 +label L4831 +label L4829 load 27 __for_idx_381 iconst 28 1 add 29 27 28 store __for_idx_381 29 -jmp L4819 -label L4822 +jmp L4827 +label L4830 load 30 has_returns iconst 32 1 sub 31 32 30 -brif 31 L4827 L4828 -label L4827 +brif 31 L4835 L4836 +label L4835 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 L4826 -label L4828 -label L4826 +jmp L4834 +label L4836 +label L4834 load 38 returns_node call 39 pith_struct_release void 1 38 iconst 40 0 @@ -168530,12 +168633,12 @@ iconst 7 0 store __for_idx_382 7 store __for_len_382 6 store __for_iter_382 5 -label L4829 +label L4837 load 8 __for_idx_382 load 9 __for_len_382 lt 10 8 9 -brif 10 L4830 L4832 -label L4830 +brif 10 L4838 L4840 +label L4838 load 11 __for_iter_382 load 12 __for_idx_382 call 13 pith_list_get_value unknown 2 11 12 @@ -168550,35 +168653,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 L4834 L4835 -label L4834 +brif 21 L4842 L4843 +label L4842 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 L4833 -label L4835 -label L4833 -label L4831 +jmp L4841 +label L4843 +label L4841 +label L4839 load 27 __for_idx_382 iconst 28 1 add 29 27 28 store __for_idx_382 29 -jmp L4829 -label L4832 +jmp L4837 +label L4840 load 30 has_returns iconst 32 1 sub 31 32 30 -brif 31 L4837 L4838 -label L4837 +brif 31 L4845 L4846 +label L4845 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 L4836 -label L4838 -label L4836 +jmp L4844 +label L4846 +label L4844 load 37 returns_node call 38 pith_struct_release void 1 37 iconst 39 0 @@ -168596,12 +168699,12 @@ iconst 6 0 store __for_idx_383 6 store __for_len_383 5 store __for_iter_383 4 -label L4839 +label L4847 load 7 __for_idx_383 load 8 __for_len_383 lt 9 7 8 -brif 9 L4840 L4842 -label L4840 +brif 9 L4848 L4850 +label L4848 load 10 __for_iter_383 load 11 __for_idx_383 call 12 pith_list_get_value unknown 2 10 11 @@ -168612,86 +168715,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_4846 17 +store __or_17_4854 17 iconst 18 0 -store __or_18_4846 18 +store __or_18_4854 18 iconst 19 0 -store __or_19_4846 19 +store __or_19_4854 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_4846 23 -brif 23 L4847 L4846 -label L4846 +store __or_19_4854 23 +brif 23 L4855 L4854 +label L4854 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_4846 28 -label L4847 -load 30 __or_19_4846 -store __or_18_4846 30 -brif 30 L4849 L4848 -label L4848 +store __or_19_4854 28 +label L4855 +load 30 __or_19_4854 +store __or_18_4854 30 +brif 30 L4857 L4856 +label L4856 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_4846 34 -label L4849 -load 36 __or_18_4846 -store __or_17_4846 36 -brif 36 L4851 L4850 -label L4850 +store __or_18_4854 34 +label L4857 +load 36 __or_18_4854 +store __or_17_4854 36 +brif 36 L4859 L4858 +label L4858 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_4846 40 -label L4851 -load 42 __or_17_4846 -brif 42 L4844 L4845 -label L4844 +store __or_17_4854 40 +label L4859 +load 42 __or_17_4854 +brif 42 L4852 L4853 +label L4852 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 L4843 -label L4845 -label L4843 +jmp L4851 +label L4853 +label L4851 iconst 48 0 -store __or_48_4855 48 +store __or_48_4863 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_4855 52 -brif 52 L4856 L4855 -label L4855 +store __or_48_4863 52 +brif 52 L4864 L4863 +label L4863 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_4855 57 -label L4856 -load 59 __or_48_4855 -brif 59 L4853 L4854 -label L4853 +store __or_48_4863 57 +label L4864 +load 59 __or_48_4863 +brif 59 L4861 L4862 +label L4861 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 L4858 L4859 -label L4858 +brif 64 L4866 L4867 +label L4866 load 65 ir_emitter_core_ir_func_result_ok_kinds load 66 name load 67 type_node @@ -168702,19 +168805,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 L4857 -label L4859 -label L4857 -jmp L4852 -label L4854 -label L4852 -label L4841 +jmp L4865 +label L4867 +label L4865 +jmp L4860 +label L4862 +label L4860 +label L4849 load 75 __for_idx_383 iconst 76 1 add 77 75 76 store __for_idx_383 77 -jmp L4839 -label L4842 +jmp L4847 +label L4850 load 78 type_node call 79 pith_struct_release void 1 78 iconst 80 0 @@ -168759,12 +168862,12 @@ iconst 24 0 store __for_idx_384 24 store __for_len_384 23 store __for_iter_384 22 -label L4860 +label L4868 load 25 __for_idx_384 load 26 __for_len_384 lt 27 25 26 -brif 27 L4861 L4863 -label L4861 +brif 27 L4869 L4871 +label L4869 load 28 __for_iter_384 load 29 __for_idx_384 call 30 pith_list_get_value unknown 2 28 29 @@ -168775,38 +168878,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_4867 35 +store __or_35_4875 35 iconst 36 0 -store __or_36_4867 36 +store __or_36_4875 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_4867 40 -brif 40 L4868 L4867 -label L4867 +store __or_36_4875 40 +brif 40 L4876 L4875 +label L4875 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_4867 45 -label L4868 -load 47 __or_36_4867 -store __or_35_4867 47 -brif 47 L4870 L4869 -label L4869 +store __or_36_4875 45 +label L4876 +load 47 __or_36_4875 +store __or_35_4875 47 +brif 47 L4878 L4877 +label L4877 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_4867 51 -label L4870 -load 53 __or_35_4867 -brif 53 L4865 L4866 -label L4865 +store __or_35_4875 51 +label L4878 +load 53 __or_35_4875 +brif 53 L4873 L4874 +label L4873 load 54 global_type load 55 __loopvar_384_gc call 56 ir_alias_registry_ir_resolve_type_node string 1 55 @@ -168816,25 +168919,25 @@ load 58 global_map_value_type call 59 string_len int 1 58 iconst 60 0 eq 61 59 60 -brif 61 L4872 L4873 -label L4872 +brif 61 L4880 L4881 +label L4880 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 L4871 -label L4873 -label L4871 -jmp L4864 -label L4866 +jmp L4879 +label L4881 +label L4879 +jmp L4872 +label L4874 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 L4874 L4875 -label L4874 +brif 69 L4882 L4883 +label L4882 load 71 init_val load 72 gcn field 73 72 8 string value @@ -168845,24 +168948,24 @@ load 76 global_type call 77 string_len int 1 76 iconst 78 0 eq 79 77 78 -brif 79 L4877 L4878 -label L4877 +brif 79 L4885 L4886 +label L4885 load 80 global_type strref 81 m46s671 call 82 pith_cstring_release void 1 80 store global_type 81 -jmp L4876 -label L4878 -label L4876 -jmp L4864 -label L4875 +jmp L4884 +label L4886 +label L4884 +jmp L4872 +label L4883 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 L4879 L4880 -label L4879 +brif 86 L4887 L4888 +label L4887 load 88 si load 89 gcn field 90 89 8 string value @@ -168880,24 +168983,24 @@ load 99 global_type call 100 string_len int 1 99 iconst 101 0 eq 102 100 101 -brif 102 L4882 L4883 -label L4882 +brif 102 L4890 L4891 +label L4890 load 103 global_type strref 104 m46s675 call 105 pith_cstring_release void 1 103 store global_type 104 -jmp L4881 -label L4883 -label L4881 -jmp L4864 -label L4880 +jmp L4889 +label L4891 +label L4889 +jmp L4872 +label L4888 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 L4884 L4885 -label L4884 +brif 109 L4892 L4893 +label L4892 load 111 init_val strref 112 m46s20 call 113 pith_cstring_release void 1 111 @@ -168906,24 +169009,24 @@ load 114 global_type call 115 string_len int 1 114 iconst 116 0 eq 117 115 116 -brif 117 L4887 L4888 -label L4887 +brif 117 L4895 L4896 +label L4895 load 118 global_type strref 119 m46s20 call 120 pith_cstring_release void 1 118 -store global_type 119 -jmp L4886 -label L4888 -label L4886 -jmp L4864 -label L4885 +store global_type 119 +jmp L4894 +label L4896 +label L4894 +jmp L4872 +label L4893 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 L4889 L4890 -label L4889 +brif 124 L4897 L4898 +label L4897 load 126 init_val strref 127 m46s19 call 128 pith_cstring_release void 1 126 @@ -168932,24 +169035,24 @@ load 129 global_type call 130 string_len int 1 129 iconst 131 0 eq 132 130 131 -brif 132 L4892 L4893 -label L4892 +brif 132 L4900 L4901 +label L4900 load 133 global_type strref 134 m46s19 call 135 pith_cstring_release void 1 133 store global_type 134 -jmp L4891 -label L4893 -label L4891 -jmp L4864 -label L4890 +jmp L4899 +label L4901 +label L4899 +jmp L4872 +label L4898 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 L4894 L4895 -label L4894 +brif 139 L4902 L4903 +label L4902 load 141 init_val load 142 __loopvar_384_gc call 143 ir_type_helpers_ir_checked_type string 1 142 @@ -168959,128 +169062,128 @@ load 145 init_val call 146 string_len int 1 145 iconst 147 0 eq 148 146 147 -brif 148 L4897 L4898 -label L4897 +brif 148 L4905 L4906 +label L4905 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 L4896 -label L4898 -label L4896 +jmp L4904 +label L4906 +label L4904 load 153 init_val call 154 string_len int 1 153 iconst 155 0 eq 156 154 155 -brif 156 L4900 L4901 -label L4900 +brif 156 L4908 L4909 +label L4908 load 157 init_val strref 158 m46s18 call 159 pith_cstring_release void 1 157 store init_val 158 -jmp L4899 -label L4901 -label L4899 +jmp L4907 +label L4909 +label L4907 load 160 global_type call 161 string_len int 1 160 iconst 162 0 eq 163 161 162 -brif 163 L4903 L4904 -label L4903 +brif 163 L4911 L4912 +label L4911 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 L4902 -label L4904 -label L4902 -jmp L4864 -label L4895 +jmp L4910 +label L4912 +label L4910 +jmp L4872 +label L4903 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 L4905 L4906 -label L4905 +brif 171 L4913 L4914 +label L4913 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 L4908 L4909 -label L4908 +brif 176 L4916 L4917 +label L4916 load 178 init_val strref 179 m46s176 call 180 pith_cstring_release void 1 178 store init_val 179 -jmp L4907 -label L4909 +jmp L4915 +label L4917 load 181 init_val strref 182 m46s177 call 183 pith_cstring_release void 1 181 store init_val 182 -label L4907 +label L4915 load 184 global_type call 185 string_len int 1 184 iconst 186 0 eq 187 185 186 -brif 187 L4911 L4912 -label L4911 +brif 187 L4919 L4920 +label L4919 load 188 global_type strref 189 m46s673 call 190 pith_cstring_release void 1 188 store global_type 189 -jmp L4910 -label L4912 -label L4910 -jmp L4864 -label L4906 -label L4864 -label L4862 +jmp L4918 +label L4920 +label L4918 +jmp L4872 +label L4914 +label L4872 +label L4870 load 191 __for_idx_384 iconst 192 1 add 193 191 192 store __for_idx_384 193 -jmp L4860 -label L4863 +jmp L4868 +label L4871 load 194 global_type call 195 string_len int 1 194 iconst 196 0 gt 197 195 196 -brif 197 L4914 L4915 -label L4914 +brif 197 L4922 L4923 +label L4922 load 198 gname load 199 global_type call 200 ir_alias_registry_ir_record_global_type void 2 198 199 -jmp L4913 -label L4915 -label L4913 +jmp L4921 +label L4923 +label L4921 load 201 global_map_value_type call 202 string_len int 1 201 iconst 203 0 gt 204 202 203 -brif 204 L4917 L4918 -label L4917 +brif 204 L4925 L4926 +label L4925 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 L4916 -label L4918 -label L4916 +jmp L4924 +label L4926 +label L4924 load 209 is_threadlocal -brif 209 L4920 L4921 -label L4920 +brif 209 L4928 L4929 +label L4928 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 L4923 L4924 -label L4923 +brif 213 L4931 L4932 +label L4931 load 215 ir_emitter_core_ir_threadlocal_slots load 216 gname load 217 ir_emitter_core_ir_next_tls_slot @@ -169089,9 +169192,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 L4922 -label L4924 -label L4922 +jmp L4930 +label L4932 +label L4930 load 222 ir_emitter_core_ir_threadlocal_kinds load 223 gname load 224 global_type @@ -169110,8 +169213,8 @@ load 236 si call 237 pith_cstring_release void 1 236 iconst 238 0 ret 238 -label L4921 -label L4919 +label L4929 +label L4927 strref 239 m46s1176 load 240 gname concat 241 239 240 @@ -169163,12 +169266,12 @@ iconst 11 0 store __for_idx_385 11 store __for_len_385 10 store __for_iter_385 9 -label L4925 +label L4933 load 12 __for_idx_385 load 13 __for_len_385 lt 14 12 13 -brif 14 L4926 L4928 -label L4926 +brif 14 L4934 L4936 +label L4934 load 15 __for_iter_385 load 16 __for_idx_385 call 17 pith_list_get_value unknown 2 15 16 @@ -169185,11 +169288,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 L4930 L4931 -label L4930 -jmp L4927 -label L4931 -label L4929 +brif 25 L4938 L4939 +label L4938 +jmp L4935 +label L4939 +label L4937 load 29 binding load 30 cn field 31 30 16 list children @@ -169203,11 +169306,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 L4933 L4934 -label L4933 -jmp L4927 -label L4934 -label L4932 +brif 39 L4941 L4942 +label L4941 +jmp L4935 +label L4942 +label L4940 load 41 gname load 42 binding call 43 ir_ast_helpers_ir_binding_name string 1 42 @@ -169226,32 +169329,32 @@ load 52 parts field 53 52 16 int type_idx iconst 54 0 gte 55 53 54 -brif 55 L4936 L4937 -label L4936 +brif 55 L4944 L4945 +label L4944 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 L4935 -label L4937 -label L4935 +jmp L4943 +label L4945 +label L4943 load 61 target call 62 string_len int 1 61 iconst 63 0 eq 64 62 63 -brif 64 L4939 L4940 -label L4939 +brif 64 L4947 L4948 +label L4947 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 L4938 -label L4940 -label L4938 +jmp L4946 +label L4948 +label L4946 load 70 target call 71 ir_emitter_core_ir_prepare_func_emission void 1 70 strref 72 m46s1175 @@ -169279,42 +169382,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_4944 93 +store __and_93_4952 93 iconst 94 0 -store __and_94_4944 94 +store __and_94_4952 94 load 95 gkind call 96 string_len int 1 95 iconst 97 0 gt 98 96 97 -store __and_94_4944 98 -brif 98 L4944 L4945 -label L4944 +store __and_94_4952 98 +brif 98 L4952 L4953 +label L4952 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_4944 101 -label L4945 -load 105 __and_94_4944 -store __and_93_4944 105 -brif 105 L4946 L4947 -label L4946 +store __and_94_4952 101 +label L4953 +load 105 __and_94_4952 +store __and_93_4952 105 +brif 105 L4954 L4955 +label L4954 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_4944 108 -label L4947 -load 109 __and_93_4944 -brif 109 L4942 L4943 -label L4942 +store __and_93_4952 108 +label L4955 +load 109 __and_93_4952 +brif 109 L4950 L4951 +label L4950 load 110 r load 111 gkind call 112 ir_ownership_ir_rc_retain_reg void 2 110 111 -jmp L4941 -label L4943 -label L4941 +jmp L4949 +label L4951 +label L4949 strref 113 m46s849 load 114 r call 115 int_to_string string 1 114 @@ -169326,13 +169429,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 L4927 +label L4935 load 124 __for_idx_385 iconst 125 1 add 126 124 125 store __for_idx_385 126 -jmp L4925 -label L4928 +jmp L4933 +label L4936 load 127 cn call 128 pith_struct_release void 1 127 load 129 binding @@ -169485,21 +169588,21 @@ endfunc func ir_emitter_core_ir_name_is_threadlocal 1 bool param name iconst 1 0 -store __and_1_4948 1 +store __and_1_4956 1 load 2 ir_emitter_core_ir_threadlocal_slots load 3 name call 4 contains_key bool 2 2 3 -store __and_1_4948 4 -brif 4 L4948 L4949 -label L4948 +store __and_1_4956 4 +brif 4 L4956 L4957 +label L4956 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_4948 8 -label L4949 -load 10 __and_1_4948 +store __and_1_4956 8 +label L4957 +load 10 __and_1_4956 ret 10 iconst 11 0 ret 11 @@ -169518,8 +169621,8 @@ load 7 loop_slot call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L4951 L4952 -label L4951 +brif 10 L4959 L4960 +label L4959 strref 11 m46s829 load 12 dest_r call 13 int_to_string string 1 12 @@ -169535,17 +169638,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 L4950 -label L4952 +jmp L4958 +label L4960 load 26 name call 27 ir_emitter_core_ir_name_is_threadlocal bool 1 26 -brif 27 L4953 L4954 -label L4953 +brif 27 L4961 L4962 +label L4961 load 28 dest_r load 29 name call 30 ir_emitter_core_ir_emit_tls_load void 2 28 29 -jmp L4950 -label L4954 +jmp L4958 +label L4962 strref 31 m46s829 load 32 dest_r call 33 int_to_string string 1 32 @@ -169563,7 +169666,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 L4950 +label L4958 load 48 loop_slot call 49 pith_cstring_release void 1 48 iconst 50 0 @@ -169583,8 +169686,8 @@ load 7 loop_slot call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L4956 L4957 -label L4956 +brif 10 L4964 L4965 +label L4964 strref 11 m46s830 load 12 loop_slot concat 13 11 12 @@ -169600,17 +169703,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 L4955 -label L4957 +jmp L4963 +label L4965 load 26 name call 27 ir_emitter_core_ir_name_is_threadlocal bool 1 26 -brif 27 L4958 L4959 -label L4958 +brif 27 L4966 L4967 +label L4966 load 28 name load 29 val_r call 30 ir_emitter_core_ir_emit_tls_store void 2 28 29 -jmp L4955 -label L4959 +jmp L4963 +label L4967 strref 31 m46s830 load 32 name call 33 ir_emitter_core_ir_resolve_storage_name string 1 32 @@ -169628,7 +169731,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 L4955 +label L4963 load 48 loop_slot call 49 pith_cstring_release void 1 48 iconst 50 0 @@ -169639,13 +169742,13 @@ param dest_r param name load 2 name call 3 ir_emitter_core_ir_name_is_threadlocal bool 1 2 -brif 3 L4961 L4962 -label L4961 +brif 3 L4969 L4970 +label L4969 load 4 dest_r load 5 name call 6 ir_emitter_core_ir_emit_tls_load void 2 4 5 -jmp L4960 -label L4962 +jmp L4968 +label L4970 strref 7 m46s829 load 8 dest_r call 9 int_to_string string 1 8 @@ -169663,7 +169766,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 L4960 +label L4968 iconst 24 0 ret 24 endfunc @@ -169680,12 +169783,12 @@ iconst 6 0 store __for_idx_386 6 store __for_len_386 5 store __for_iter_386 4 -label L4963 +label L4971 load 7 __for_idx_386 load 8 __for_len_386 lt 9 7 8 -brif 9 L4964 L4966 -label L4964 +brif 9 L4972 L4974 +label L4972 load 10 __for_iter_386 load 11 __for_idx_386 call 12 pith_list_get_value unknown 2 10 11 @@ -169700,8 +169803,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 L4968 L4969 -label L4968 +brif 20 L4976 L4977 +label L4976 load 22 inner load 23 cn field 24 23 16 list children @@ -169713,34 +169816,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 L4971 L4972 -label L4971 +brif 31 L4979 L4980 +label L4979 load 32 inner iconst 33 1 call 34 ir_emitter_core_ir_emit_global_binding void 2 32 33 -jmp L4970 -label L4972 -label L4970 -jmp L4967 -label L4969 +jmp L4978 +label L4980 +label L4978 +jmp L4975 +label L4977 load 35 cn field 36 35 0 string kind call 37 ir_ast_helpers_ir_is_binding_kind bool 1 36 -brif 37 L4973 L4974 -label L4973 +brif 37 L4981 L4982 +label L4981 load 38 cn iconst 39 0 call 40 ir_emitter_core_ir_emit_global_binding void 2 38 39 -jmp L4967 -label L4974 -label L4967 -label L4965 +jmp L4975 +label L4982 +label L4975 +label L4973 load 41 __for_idx_386 iconst 42 1 add 43 41 42 store __for_idx_386 43 -jmp L4963 -label L4966 +jmp L4971 +label L4974 load 44 cn call 45 pith_struct_release void 1 44 load 46 inner @@ -169757,14 +169860,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 L4976 L4977 -label L4976 +brif 5 L4984 L4985 +label L4984 load 7 sname call 8 pith_cstring_release void 1 7 iconst 9 0 ret 9 -label L4977 -label L4975 +label L4985 +label L4983 load 10 sname load 11 raw_name call 12 ir_struct_registry_ir_struct_base_name string 1 11 @@ -169846,12 +169949,12 @@ iconst 24 0 store __for_idx_387 24 store __for_len_387 23 store __for_iter_387 22 -label L4978 +label L4986 load 25 __for_idx_387 load 26 __for_len_387 lt 27 25 26 -brif 27 L4979 L4981 -label L4979 +brif 27 L4987 L4989 +label L4987 load 28 __for_iter_387 load 29 __for_idx_387 call 30 pith_list_get_value_unchecked string 2 28 29 @@ -169933,13 +170036,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 L4980 +label L4988 load 105 __for_idx_387 iconst 106 1 add 107 105 106 store __for_idx_387 107 -jmp L4978 -label L4981 +jmp L4986 +label L4989 load 108 kinds call 109 pith_list_release_handle void 1 108 iconst 110 0 @@ -169959,12 +170062,12 @@ iconst 6 0 store __for_idx_388 6 store __for_len_388 5 store __for_iter_388 4 -label L4982 +label L4990 load 7 __for_idx_388 load 8 __for_len_388 lt 9 7 8 -brif 9 L4983 L4985 -label L4983 +brif 9 L4991 L4993 +label L4991 load 10 __for_iter_388 load 11 __for_idx_388 call 12 pith_list_get_value_unchecked string 2 10 11 @@ -169975,28 +170078,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 L4987 L4988 -label L4987 -jmp L4984 -label L4988 -label L4986 +brif 18 L4995 L4996 +label L4995 +jmp L4992 +label L4996 +label L4994 load 19 ir_struct_registry_ir_boxed_enums load 20 __loopvar_388_sname call 21 contains_key bool 2 19 20 -brif 21 L4990 L4991 -label L4990 -jmp L4984 -label L4991 -label L4989 +brif 21 L4998 L4999 +label L4998 +jmp L4992 +label L4999 +label L4997 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 L4993 L4994 -label L4993 -jmp L4984 -label L4994 -label L4992 +brif 24 L5001 L5002 +label L5001 +jmp L4992 +label L5002 +label L5000 strref 26 m46s1167 load 27 __loopvar_388_sname concat 28 26 27 @@ -170028,12 +170131,12 @@ call 52 ir_struct_registry_ir_struct_field_count int 1 51 store count 52 iconst 53 0 store i 53 -label L4995 +label L5003 load 54 i load 55 count lt 56 54 55 -brif 56 L4996 L4997 -label L4996 +brif 56 L5004 L5005 +label L5004 load 57 fname load 58 __loopvar_388_sname load 59 i @@ -170054,8 +170157,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 L4999 L5000 -label L4999 +brif 73 L5007 L5008 +label L5007 call 74 ir_builder_ir_reg int 0 store fr 74 strref 75 m46s837 @@ -170112,14 +170215,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 L4998 -label L5000 +jmp L5006 +label L5008 load 128 fkind call 129 string_len int 1 128 iconst 130 0 gt 131 129 130 -brif 131 L5001 L5002 -label L5001 +brif 131 L5009 L5010 +label L5009 call 132 ir_builder_ir_reg int 0 store fr 132 strref 133 m46s837 @@ -170160,15 +170263,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 L4998 -label L5002 -label L4998 +jmp L5006 +label L5010 +label L5006 load 171 i iconst 172 1 add 173 171 172 store i 173 -jmp L4995 -label L4997 +jmp L5003 +label L5005 call 174 ir_builder_ir_reg int 0 store zr 174 strref 175 m46s832 @@ -170194,13 +170297,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 L4984 +label L4992 load 198 __for_idx_388 iconst 199 1 add 200 198 199 store __for_idx_388 200 -jmp L4982 -label L4985 +jmp L4990 +label L4993 load 201 __for_iter_388 call 202 pith_list_release_handle void 1 201 load 203 fname @@ -170232,12 +170335,12 @@ iconst 9 0 store __for_idx_389 9 store __for_len_389 8 store __for_iter_389 7 -label L5003 +label L5011 load 10 __for_idx_389 load 11 __for_len_389 lt 12 10 11 -brif 12 L5004 L5006 -label L5004 +brif 12 L5012 L5014 +label L5012 load 13 __for_iter_389 load 14 __for_idx_389 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -170246,21 +170349,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 L5008 L5009 -label L5008 -jmp L5005 -label L5009 -label L5007 +brif 18 L5016 L5017 +label L5016 +jmp L5013 +label L5017 +label L5015 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 L5011 L5012 -label L5011 -jmp L5005 -label L5012 -label L5010 +brif 23 L5019 L5020 +label L5019 +jmp L5013 +label L5020 +label L5018 strref 25 m46s1167 load 26 __loopvar_389_ename concat 27 25 26 @@ -170321,13 +170424,13 @@ call 79 pith_list_release_handle void 1 72 store variants 77 iconst 80 0 store vi 80 -label L5013 +label L5021 load 81 vi load 82 variants call 83 pith_list_len int 1 82 lt 84 81 83 -brif 84 L5014 L5015 -label L5014 +brif 84 L5022 L5023 +label L5022 load 85 vkey load 86 __loopvar_389_ename strref 87 m46s26 @@ -170343,8 +170446,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 L5017 L5018 -label L5017 +brif 98 L5025 L5026 +label L5025 load 99 kinds load 100 ir_struct_registry_ir_enum_payload_kinds load 101 vkey @@ -170358,13 +170461,13 @@ iconst 107 0 store has_rc 107 iconst 108 0 store c 108 -label L5019 +label L5027 load 109 c load 110 kinds call 111 pith_list_len int 1 110 lt 112 109 111 -brif 112 L5020 L5021 -label L5020 +brif 112 L5028 L5029 +label L5028 load 113 kinds load 114 c call 115 pith_list_get_value_strict string 2 113 114 @@ -170373,22 +170476,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 L5023 L5024 -label L5023 +brif 120 L5031 L5032 +label L5031 iconst 121 1 store has_rc 121 -jmp L5022 -label L5024 -label L5022 +jmp L5030 +label L5032 +label L5030 load 122 c iconst 123 1 add 124 122 123 store c 124 -jmp L5019 -label L5021 +jmp L5027 +label L5029 load 125 has_rc -brif 125 L5026 L5027 -label L5026 +brif 125 L5034 L5035 +label L5034 call 126 ir_builder_ir_reg int 0 store vtag 126 strref 127 m46s832 @@ -170470,13 +170573,13 @@ load 199 hit_l call 200 ir_call_emit_ir_emit_label void 1 199 iconst 201 0 store s 201 -label L5028 +label L5036 load 202 s load 203 kinds call 204 pith_list_len int 1 203 lt 205 202 204 -brif 205 L5029 L5030 -label L5029 +brif 205 L5037 L5038 +label L5037 load 206 rk load 207 kinds load 208 s @@ -170488,8 +170591,8 @@ load 212 rk call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -brif 215 L5032 L5033 -label L5032 +brif 215 L5040 L5041 +label L5040 call 216 ir_builder_ir_reg int 0 store slot_r 216 strref 217 m46s837 @@ -170534,29 +170637,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 L5031 -label L5033 -label L5031 +jmp L5039 +label L5041 +label L5039 load 259 s iconst 260 1 add 261 259 260 store s 261 -jmp L5028 -label L5030 +jmp L5036 +label L5038 load 262 skip_l call 263 ir_call_emit_ir_emit_label void 1 262 -jmp L5025 -label L5027 -label L5025 -jmp L5016 -label L5018 -label L5016 +jmp L5033 +label L5035 +label L5033 +jmp L5024 +label L5026 +label L5024 load 264 vi iconst 265 1 add 266 264 265 store vi 266 -jmp L5013 -label L5015 +jmp L5021 +label L5023 call 267 ir_builder_ir_reg int 0 store zr 267 strref 268 m46s832 @@ -170582,13 +170685,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 L5005 +label L5013 load 291 __for_idx_389 iconst 292 1 add 293 291 292 store __for_idx_389 293 -jmp L5003 -label L5006 +jmp L5011 +label L5014 load 294 __for_iter_389 call 295 pith_list_release_handle void 1 294 load 296 variants @@ -170615,12 +170718,12 @@ iconst 3 0 store __for_idx_390 3 store __for_len_390 2 store __for_iter_390 1 -label L5034 +label L5042 load 4 __for_idx_390 load 5 __for_len_390 lt 6 4 5 -brif 6 L5035 L5037 -label L5035 +brif 6 L5043 L5045 +label L5043 load 7 __for_iter_390 load 8 __for_idx_390 call 9 pith_list_get_value_unchecked string 2 7 8 @@ -170651,13 +170754,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 L5038 +label L5046 load 34 i load 35 __loopvar_390_sig call 36 string_len int 1 35 lt 37 34 36 -brif 37 L5039 L5040 -label L5039 +brif 37 L5047 L5048 +label L5047 load 38 kind load 39 __loopvar_390_sig load 40 i @@ -170673,8 +170776,8 @@ load 48 kind call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L5042 L5043 -label L5042 +brif 51 L5050 L5051 +label L5050 call 52 ir_builder_ir_reg int 0 store fr 52 strref 53 m46s837 @@ -170717,15 +170820,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 L5041 -label L5043 -label L5041 +jmp L5049 +label L5051 +label L5049 load 93 i iconst 94 1 add 95 93 94 store i 95 -jmp L5038 -label L5040 +jmp L5046 +label L5048 call 96 ir_builder_ir_reg int 0 store zr 96 strref 97 m46s832 @@ -170751,13 +170854,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 L5036 +label L5044 load 120 __for_idx_390 iconst 121 1 add 122 120 121 store __for_idx_390 122 -jmp L5034 -label L5037 +jmp L5042 +label L5045 load 123 kind call 124 pith_cstring_release void 1 123 iconst 125 0 @@ -170789,12 +170892,12 @@ iconst 12 0 store __for_idx_391 12 store __for_len_391 11 store __for_iter_391 10 -label L5044 +label L5052 load 13 __for_idx_391 load 14 __for_len_391 lt 15 13 14 -brif 15 L5045 L5047 -label L5045 +brif 15 L5053 L5055 +label L5053 load 16 __for_iter_391 load 17 __for_idx_391 call 18 pith_list_get_value_unchecked string 2 16 17 @@ -170804,11 +170907,11 @@ load 20 __loopvar_391_ename call 21 contains_key bool 2 19 20 iconst 23 1 sub 22 23 21 -brif 22 L5049 L5050 -label L5049 -jmp L5046 -label L5050 -label L5048 +brif 22 L5057 L5058 +label L5057 +jmp L5054 +label L5058 +label L5056 strref 24 m46s1158 load 25 __loopvar_391_ename concat 26 24 25 @@ -171027,13 +171130,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 L5051 +label L5059 load 230 vi load 231 variants call 232 pith_list_len int 1 231 lt 233 230 232 -brif 233 L5052 L5053 -label L5052 +brif 233 L5060 L5061 +label L5060 load 234 vkey load 235 __loopvar_391_ename strref 236 m46s26 @@ -171049,8 +171152,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 L5055 L5056 -label L5055 +brif 247 L5063 L5064 +label L5063 load 248 chain_l call 249 ir_call_emit_ir_emit_label void 1 248 load 250 chain_l @@ -171143,13 +171246,13 @@ call 332 pith_list_release_handle void 1 325 store kinds 330 iconst 333 0 store k 333 -label L5057 +label L5065 load 334 k load 335 kinds call 336 pith_list_len int 1 335 lt 337 334 336 -brif 337 L5058 L5059 -label L5058 +brif 337 L5066 L5067 +label L5066 call 338 ir_builder_ir_reg int 0 store fa 338 strref 339 m46s837 @@ -171240,8 +171343,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 L5061 L5062 -label L5061 +brif 423 L5069 L5070 +label L5069 load 425 cmp_r strref 426 m46s722 strref 427 m46s673 @@ -171250,15 +171353,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 L5060 -label L5062 +jmp L5068 +label L5070 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 L5063 L5064 -label L5063 +brif 437 L5071 L5072 +label L5071 load 438 cmp_r strref 439 m46s1158 load 440 kinds @@ -171272,8 +171375,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 L5060 -label L5064 +jmp L5068 +label L5072 strref 451 m46s839 load 452 cmp_r call 453 int_to_string string 1 452 @@ -171300,7 +171403,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 L5060 +label L5068 load 477 next_slot_l call 478 ir_builder_ir_label string 0 call 479 pith_cstring_release void 1 477 @@ -171333,23 +171436,23 @@ load 504 k iconst 505 1 add 506 504 505 store k 506 -jmp L5057 -label L5059 +jmp L5065 +label L5067 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 L5054 -label L5056 -label L5054 +jmp L5062 +label L5064 +label L5062 load 513 vi iconst 514 1 add 515 513 514 store vi 515 -jmp L5051 -label L5053 +jmp L5059 +label L5061 load 516 chain_l call 517 ir_call_emit_ir_emit_label void 1 516 strref 518 m46s833 @@ -171409,13 +171512,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 L5046 +label L5054 load 573 __for_idx_391 iconst 574 1 add 575 573 574 store __for_idx_391 575 -jmp L5044 -label L5047 +jmp L5052 +label L5055 load 576 __for_iter_391 call 577 pith_list_release_handle void 1 576 load 578 true_l @@ -171454,16 +171557,16 @@ load 7 parts field 8 7 8 int val_idx iconst 9 0 lt 10 8 9 -brif 10 L5066 L5067 -label L5066 +brif 10 L5074 L5075 +label L5074 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 L5067 -label L5065 +label L5075 +label L5073 load 16 vk load 17 parts field 18 17 8 int val_idx @@ -171473,93 +171576,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_5071 23 +store __or_23_5079 23 iconst 24 0 -store __or_24_5071 24 +store __or_24_5079 24 iconst 25 0 -store __or_25_5071 25 +store __or_25_5079 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_5071 28 -brif 28 L5072 L5071 -label L5071 +store __or_25_5079 28 +brif 28 L5080 L5079 +label L5079 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_5071 32 -label L5072 -load 34 __or_25_5071 -store __or_24_5071 34 -brif 34 L5074 L5073 -label L5073 +store __or_25_5079 32 +label L5080 +load 34 __or_25_5079 +store __or_24_5079 34 +brif 34 L5082 L5081 +label L5081 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_5071 37 -label L5074 -load 39 __or_24_5071 -store __or_23_5071 39 -brif 39 L5076 L5075 -label L5075 +store __or_24_5079 37 +label L5082 +load 39 __or_24_5079 +store __or_23_5079 39 +brif 39 L5084 L5083 +label L5083 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_5071 42 -label L5076 -load 44 __or_23_5071 -brif 44 L5069 L5070 -label L5069 +store __or_23_5079 42 +label L5084 +load 44 __or_23_5079 +brif 44 L5077 L5078 +label L5077 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 L5070 -label L5068 +label L5078 +label L5076 iconst 50 0 -store __or_50_5080 50 +store __or_50_5088 50 iconst 51 0 -store __or_51_5080 51 +store __or_51_5088 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_5080 54 -brif 54 L5081 L5080 -label L5080 +store __or_51_5088 54 +brif 54 L5089 L5088 +label L5088 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_5080 58 -label L5081 -load 60 __or_51_5080 -store __or_50_5080 60 -brif 60 L5083 L5082 -label L5082 +store __or_51_5088 58 +label L5089 +load 60 __or_51_5088 +store __or_50_5088 60 +brif 60 L5091 L5090 +label L5090 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_5080 63 -label L5083 -load 65 __or_50_5080 -brif 65 L5078 L5079 -label L5078 +store __or_50_5088 63 +label L5091 +load 65 __or_50_5088 +brif 65 L5086 L5087 +label L5086 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 L5079 -label L5077 +label L5087 +label L5085 iconst 71 1 load 72 parts call 73 pith_struct_release void 1 72 @@ -171596,12 +171699,12 @@ iconst 11 0 store __for_idx_392 11 store __for_len_392 10 store __for_iter_392 9 -label L5084 +label L5092 load 12 __for_idx_392 load 13 __for_len_392 lt 14 12 13 -brif 14 L5085 L5087 -label L5085 +brif 14 L5093 L5095 +label L5093 load 15 __for_iter_392 load 16 __for_idx_392 call 17 pith_list_get_value unknown 2 15 16 @@ -171612,37 +171715,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_5091 22 +store __and_22_5099 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_5091 25 -brif 25 L5091 L5092 -label L5091 +store __and_22_5099 25 +brif 25 L5099 L5100 +label L5099 load 26 cn call 27 ir_emitter_core_ir_global_needs_runtime_init bool 1 26 -store __and_22_5091 27 -label L5092 -load 28 __and_22_5091 -brif 28 L5089 L5090 -label L5089 +store __and_22_5099 27 +label L5100 +load 28 __and_22_5099 +brif 28 L5097 L5098 +label L5097 iconst 29 1 store has_runtime_inits 29 -jmp L5088 -label L5090 -label L5088 -label L5086 +jmp L5096 +label L5098 +label L5096 +label L5094 load 30 __for_idx_392 iconst 31 1 add 32 30 31 store __for_idx_392 32 -jmp L5084 -label L5087 +jmp L5092 +label L5095 load 33 has_runtime_inits iconst 35 1 sub 34 35 33 -brif 34 L5094 L5095 -label L5094 +brif 34 L5102 L5103 +label L5102 load 36 cn call 37 pith_struct_release void 1 36 load 38 gname @@ -171657,8 +171760,8 @@ load 46 gkind call 47 pith_cstring_release void 1 46 iconst 48 0 ret 48 -label L5095 -label L5093 +label L5103 +label L5101 strref 49 m46s1157 iconst 50 0 strref 51 m46s671 @@ -171672,12 +171775,12 @@ iconst 58 0 store __for_idx_393 58 store __for_len_393 57 store __for_iter_393 56 -label L5096 +label L5104 load 59 __for_idx_393 load 60 __for_len_393 lt 61 59 60 -brif 61 L5097 L5099 -label L5097 +brif 61 L5105 L5107 +label L5105 load 62 __for_iter_393 load 63 __for_idx_393 call 64 pith_list_get_value unknown 2 62 63 @@ -171688,20 +171791,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_5103 69 +store __and_69_5111 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_5103 72 -brif 72 L5103 L5104 -label L5103 +store __and_69_5111 72 +brif 72 L5111 L5112 +label L5111 load 73 cn call 74 ir_emitter_core_ir_global_needs_runtime_init bool 1 73 -store __and_69_5103 74 -label L5104 -load 75 __and_69_5103 -brif 75 L5101 L5102 -label L5101 +store __and_69_5111 74 +label L5112 +load 75 __and_69_5111 +brif 75 L5109 L5110 +label L5109 load 76 gname load 77 cn call 78 ir_ast_helpers_ir_binding_name string 1 77 @@ -171720,32 +171823,32 @@ load 87 parts field 88 87 16 int type_idx iconst 89 0 gte 90 88 89 -brif 90 L5106 L5107 -label L5106 +brif 90 L5114 L5115 +label L5114 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 L5105 -label L5107 -label L5105 +jmp L5113 +label L5115 +label L5113 load 96 target call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L5109 L5110 -label L5109 +brif 99 L5117 L5118 +label L5117 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 L5108 -label L5110 -label L5108 +jmp L5116 +label L5118 +label L5116 load 105 gtarget load 106 gname load 107 target @@ -171763,42 +171866,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_5114 118 +store __and_118_5122 118 iconst 119 0 -store __and_119_5114 119 +store __and_119_5122 119 load 120 gkind call 121 string_len int 1 120 iconst 122 0 gt 123 121 122 -store __and_119_5114 123 -brif 123 L5114 L5115 -label L5114 +store __and_119_5122 123 +brif 123 L5122 L5123 +label L5122 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_5114 126 -label L5115 -load 130 __and_119_5114 -store __and_118_5114 130 -brif 130 L5116 L5117 -label L5116 +store __and_119_5122 126 +label L5123 +load 130 __and_119_5122 +store __and_118_5122 130 +brif 130 L5124 L5125 +label L5124 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_5114 133 -label L5117 -load 134 __and_118_5114 -brif 134 L5112 L5113 -label L5112 +store __and_118_5122 133 +label L5125 +load 134 __and_118_5122 +brif 134 L5120 L5121 +label L5120 load 135 r load 136 gkind call 137 ir_ownership_ir_rc_retain_reg void 2 135 136 -jmp L5111 -label L5113 -label L5111 +jmp L5119 +label L5121 +label L5119 strref 138 m46s830 load 139 gname concat 140 138 139 @@ -171814,16 +171917,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 L5100 -label L5102 -label L5100 -label L5098 +jmp L5108 +label L5110 +label L5108 +label L5106 load 153 __for_idx_393 iconst 154 1 add 155 153 154 store __for_idx_393 155 -jmp L5096 -label L5099 +jmp L5104 +label L5107 call 156 ir_builder_ir_reg int 0 store dr 156 strref 157 m46s832 @@ -171880,12 +171983,12 @@ iconst 8 0 store __for_idx_394 8 store __for_len_394 7 store __for_iter_394 6 -label L5118 +label L5126 load 9 __for_idx_394 load 10 __for_len_394 lt 11 9 10 -brif 11 L5119 L5121 -label L5119 +brif 11 L5127 L5129 +label L5127 load 12 __for_iter_394 load 13 __for_idx_394 call 14 pith_list_get_value unknown 2 12 13 @@ -171896,67 +171999,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_5125 19 +store __or_19_5133 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_5125 23 -brif 23 L5126 L5125 -label L5125 +store __or_19_5133 23 +brif 23 L5134 L5133 +label L5133 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_5125 28 -label L5126 -load 30 __or_19_5125 -brif 30 L5123 L5124 -label L5123 +store __or_19_5133 28 +label L5134 +load 30 __or_19_5133 +brif 30 L5131 L5132 +label L5131 load 31 actual_node call 32 ir_generics_ir_has_generic_params bool 1 31 -brif 32 L5128 L5129 -label L5128 -jmp L5120 -label L5129 -label L5127 +brif 32 L5136 L5137 +label L5136 +jmp L5128 +label L5137 +label L5135 iconst 33 0 -store __and_33_5133 33 +store __and_33_5141 33 load 34 ir_emitter_core_ir_emit_tests -store __and_33_5133 34 -brif 34 L5133 L5134 -label L5133 +store __and_33_5141 34 +brif 34 L5141 L5142 +label L5141 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_5133 38 -label L5134 -load 40 __and_33_5133 +store __and_33_5141 38 +label L5142 +load 40 __and_33_5141 iconst 42 1 sub 41 42 40 -brif 41 L5131 L5132 -label L5131 +brif 41 L5139 L5140 +label L5139 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 -label L5130 -jmp L5122 -label L5124 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 L5135 L5136 -label L5135 +brif 48 L5143 L5144 +label L5143 load 50 ir_emitter_core_ir_emit_tests -brif 50 L5138 L5139 -label L5138 +brif 50 L5146 L5147 +label L5146 load 51 __loopvar_394_item_idx load 52 test_ord call 53 ir_emitter_core_ir_emit_test_func void 2 51 52 @@ -171964,18 +172067,18 @@ load 54 test_ord iconst 55 1 add 56 54 55 store test_ord 56 -jmp L5137 -label L5139 -label L5137 -jmp L5122 -label L5136 +jmp L5145 +label L5147 +label L5145 +jmp L5130 +label L5144 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 L5140 L5141 -label L5140 +brif 60 L5148 L5149 +label L5148 load 62 impl_type load 63 actual_node call 64 ir_emitter_core_ir_impl_target_type string 1 63 @@ -171984,26 +172087,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 L5122 -label L5141 -label L5122 -label L5120 +jmp L5130 +label L5149 +label L5130 +label L5128 load 69 __for_idx_394 iconst 70 1 add 71 69 70 store __for_idx_394 71 -jmp L5118 -label L5121 +jmp L5126 +label L5129 load 72 __for_iter_394 call 73 pith_list_release_handle void 1 72 load 74 ir_emitter_core_ir_emit_tests -brif 74 L5143 L5144 -label L5143 +brif 74 L5151 L5152 +label L5151 load 75 root_idx call 76 ir_emitter_core_ir_emit_test_main void 1 75 -jmp L5142 -label L5144 -label L5142 +jmp L5150 +label L5152 +label L5150 load 77 actual_node call 78 pith_struct_release void 1 77 load 79 impl_type @@ -172043,12 +172146,12 @@ iconst 10 0 store __for_idx_395 10 store __for_len_395 9 store __for_iter_395 8 -label L5145 +label L5153 load 11 __for_idx_395 load 12 __for_len_395 lt 13 11 12 -brif 13 L5146 L5148 -label L5146 +brif 13 L5154 L5156 +label L5154 load 14 __for_iter_395 load 15 __for_idx_395 call 16 pith_list_get_value_unchecked string 2 14 15 @@ -172060,13 +172163,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 L5147 +label L5155 load 24 __for_idx_395 iconst 25 1 add 26 24 25 store __for_idx_395 26 -jmp L5145 -label L5148 +jmp L5153 +label L5156 load 27 builtin_names call 28 pith_list_release_handle void 1 27 iconst 29 0 @@ -172086,12 +172189,12 @@ iconst 6 0 store __for_idx_396 6 store __for_len_396 5 store __for_iter_396 4 -label L5149 +label L5157 load 7 __for_idx_396 load 8 __for_len_396 lt 9 7 8 -brif 9 L5150 L5152 -label L5150 +brif 9 L5158 L5160 +label L5158 load 10 __for_iter_396 load 11 __for_idx_396 call 12 pith_list_get_value unknown 2 10 11 @@ -172103,13 +172206,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 L5151 +label L5159 load 19 __for_idx_396 iconst 20 1 add 21 19 20 store __for_idx_396 21 -jmp L5149 -label L5152 +jmp L5157 +label L5160 iconst 22 0 ret 22 endfunc @@ -172135,12 +172238,12 @@ iconst 11 0 store __for_idx_397 11 store __for_len_397 10 store __for_iter_397 9 -label L5153 +label L5161 load 12 __for_idx_397 load 13 __for_len_397 lt 14 12 13 -brif 14 L5154 L5156 -label L5154 +brif 14 L5162 L5164 +label L5162 load 15 __for_iter_397 load 16 __for_idx_397 call 17 pith_list_get_value unknown 2 15 16 @@ -172155,8 +172258,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 L5158 L5159 -label L5158 +brif 25 L5166 L5167 +label L5166 load 26 module_path load 27 ir_emitter_core_ir_preloaded_import_paths load 28 __loopvar_397_preload_i @@ -172164,9 +172267,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 L5157 -label L5159 -label L5157 +jmp L5165 +label L5167 +label L5165 load 32 __loopvar_397_root call 33 ir_tree_cache_ir_root_items list 1 32 call 34 pith_auto_len int 1 33 @@ -172174,12 +172277,12 @@ iconst 35 0 store __for_idx_398 35 store __for_len_398 34 store __for_iter_398 33 -label L5160 +label L5168 load 36 __for_idx_398 load 37 __for_len_398 lt 38 36 37 -brif 38 L5161 L5163 -label L5161 +brif 38 L5169 L5171 +label L5169 load 39 __for_iter_398 load 40 __for_idx_398 call 41 pith_list_get_value unknown 2 39 40 @@ -172192,8 +172295,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 L5165 L5166 -label L5165 +brif 48 L5173 L5174 +label L5173 load 49 module_path load 50 node field 51 50 8 string value @@ -172201,28 +172304,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 L5164 -label L5166 -label L5164 -label L5162 +jmp L5172 +label L5174 +label L5172 +label L5170 load 56 __for_idx_398 iconst 57 1 add 58 56 57 store __for_idx_398 58 -jmp L5160 -label L5163 +jmp L5168 +label L5171 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 L5155 +label L5163 load 64 __for_idx_397 iconst 65 1 add 66 64 65 store __for_idx_397 66 -jmp L5153 -label L5156 +jmp L5161 +label L5164 load 67 root_idx call 68 ir_tree_cache_ir_root_items list 1 67 call 69 pith_auto_len int 1 68 @@ -172230,12 +172333,12 @@ iconst 70 0 store __for_idx_399 70 store __for_len_399 69 store __for_iter_399 68 -label L5167 +label L5175 load 71 __for_idx_399 load 72 __for_len_399 lt 73 71 72 -brif 73 L5168 L5170 -label L5168 +brif 73 L5176 L5178 +label L5176 load 74 __for_iter_399 load 75 __for_idx_399 call 76 pith_list_get_value unknown 2 74 75 @@ -172252,8 +172355,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 L5172 L5173 -label L5172 +brif 86 L5180 L5181 +label L5180 load 88 target load 89 node call 90 ir_emitter_core_ir_type_alias_target string 1 89 @@ -172263,47 +172366,47 @@ load 92 target call 93 string_len int 1 92 iconst 94 0 gt 95 93 94 -brif 95 L5175 L5176 -label L5175 +brif 95 L5183 L5184 +label L5183 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 L5174 -label L5176 -label L5174 -jmp L5171 -label L5173 +jmp L5182 +label L5184 +label L5182 +jmp L5179 +label L5181 load 101 node field 102 101 0 string kind call 103 ir_generics_ir_is_fn_decl_kind bool 1 102 -brif 103 L5177 L5178 -label L5177 +brif 103 L5185 L5186 +label L5185 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 L5180 L5181 -label L5180 +brif 107 L5188 L5189 +label L5188 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 L5181 +label L5186 label L5179 -jmp L5171 -label L5178 -label L5171 -label L5169 +label L5177 load 113 __for_idx_399 iconst 114 1 add 115 113 114 store __for_idx_399 115 -jmp L5167 -label L5170 +jmp L5175 +label L5178 load 116 __for_iter_399 call 117 pith_list_release_handle void 1 116 load 118 module_path @@ -172342,13 +172445,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 L5182 +label L5190 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 L5183 L5184 -label L5183 +brif 25 L5191 L5192 +label L5191 load 26 ir_emitter_core_ir_preloaded_import_roots load 27 iface_i call 28 pith_list_get_value_strict int 2 26 27 @@ -172361,21 +172464,21 @@ load 34 iface_i iconst 35 1 add 36 34 35 store iface_i 36 -jmp L5182 -label L5184 +jmp L5190 +label L5192 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 L5185 +label L5193 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 L5186 L5187 -label L5186 +brif 45 L5194 L5195 +label L5194 load 46 ir_emitter_core_ir_preloaded_import_roots load 47 preload_i call 48 pith_list_get_value_strict int 2 46 47 @@ -172392,8 +172495,8 @@ load 58 preload_i iconst 59 1 add 60 58 59 store preload_i 60 -jmp L5185 -label L5187 +jmp L5193 +label L5195 load 61 root_idx call 62 ir_tree_cache_ir_root_items list 1 61 call 63 pith_auto_len int 1 62 @@ -172401,12 +172504,12 @@ iconst 64 0 store __for_idx_400 64 store __for_len_400 63 store __for_iter_400 62 -label L5188 +label L5196 load 65 __for_idx_400 load 66 __for_len_400 lt 67 65 66 -brif 67 L5189 L5191 -label L5189 +brif 67 L5197 L5199 +label L5197 load 68 __for_iter_400 load 69 __for_idx_400 call 70 pith_list_get_value unknown 2 68 69 @@ -172417,77 +172520,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_5195 75 +store __or_75_5203 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_5195 79 -brif 79 L5196 L5195 -label L5195 +store __or_75_5203 79 +brif 79 L5204 L5203 +label L5203 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_5195 84 -label L5196 -load 86 __or_75_5195 -brif 86 L5193 L5194 -label L5193 +store __or_75_5203 84 +label L5204 +load 86 __or_75_5203 +brif 86 L5201 L5202 +label L5201 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 L5192 -label L5194 +jmp L5200 +label L5202 iconst 91 0 -store __or_91_5199 91 +store __or_91_5207 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_5199 95 -brif 95 L5200 L5199 -label L5199 +store __or_91_5207 95 +brif 95 L5208 L5207 +label L5207 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_5199 100 -label L5200 -load 102 __or_91_5199 -brif 102 L5197 L5198 -label L5197 +store __or_91_5207 100 +label L5208 +load 102 __or_91_5207 +brif 102 L5205 L5206 +label L5205 load 103 node iconst 104 1 call 105 ir_emitter_core_ir_collect_enum_decl void 2 103 104 -jmp L5192 -label L5198 +jmp L5200 +label L5206 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 L5201 L5202 -label L5201 +brif 109 L5209 L5210 +label L5209 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 L5192 -label L5202 -label L5192 -label L5190 +jmp L5200 +label L5210 +label L5200 +label L5198 load 115 __for_idx_400 iconst 116 1 add 117 115 116 store __for_idx_400 117 -jmp L5188 -label L5191 +jmp L5196 +label L5199 load 118 __for_iter_400 call 119 pith_list_release_handle void 1 118 load 120 root_idx @@ -172542,12 +172645,12 @@ iconst 7 0 store __for_idx_401 7 store __for_len_401 6 store __for_iter_401 5 -label L5203 +label L5211 load 8 __for_idx_401 load 9 __for_len_401 lt 10 8 9 -brif 10 L5204 L5206 -label L5204 +brif 10 L5212 L5214 +label L5212 load 11 __for_iter_401 load 12 __for_idx_401 call 13 pith_list_get_value unknown 2 11 12 @@ -172564,24 +172667,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 L5208 L5209 -label L5208 +brif 22 L5216 L5217 +label L5216 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 L5207 -label L5209 -label L5207 +jmp L5215 +label L5217 +label L5215 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 L5211 L5212 -label L5211 +brif 32 L5219 L5220 +label L5219 load 34 impl_type load 35 actual_node call 36 ir_emitter_core_ir_impl_target_type string 1 35 @@ -172591,24 +172694,24 @@ load 38 impl_type call 39 string_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L5214 L5215 -label L5214 +brif 41 L5222 L5223 +label L5222 load 42 actual_node load 43 impl_type call 44 ir_emitter_core_ir_register_impl_method_specialization_names void 2 42 43 -jmp L5213 -label L5215 +jmp L5221 +label L5223 +label L5221 +jmp L5218 +label L5220 +label L5218 label L5213 -jmp L5210 -label L5212 -label L5210 -label L5205 load 45 __for_idx_401 iconst 46 1 add 47 45 46 store __for_idx_401 47 -jmp L5203 -label L5206 +jmp L5211 +label L5214 load 48 __for_iter_401 call 49 pith_list_release_handle void 1 48 load 50 node @@ -172639,8 +172742,8 @@ load 9 impl_type call 10 checker_has_generic_declaration bool 1 9 iconst 12 1 sub 11 12 10 -brif 11 L5217 L5218 -label L5217 +brif 11 L5225 L5226 +label L5225 load 13 sdecl call 14 pith_struct_release void 1 13 load 15 struct_params @@ -172657,8 +172760,8 @@ load 25 child_node call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L5218 -label L5216 +label L5226 +label L5224 load 28 sdecl load 29 impl_type call 30 checker_get_generic_declaration_index int 1 29 @@ -172674,8 +172777,8 @@ load 37 struct_params call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L5220 L5221 -label L5220 +brif 40 L5228 L5229 +label L5228 load 41 sdecl call 42 pith_struct_release void 1 41 load 43 struct_params @@ -172692,8 +172795,8 @@ load 53 child_node call 54 pith_struct_release void 1 53 iconst 55 0 ret 55 -label L5221 -label L5219 +label L5229 +label L5227 load 56 instance_tids load 57 checker_struct_instance_tids call 58 pith_list_retain_handle void 1 57 @@ -172705,12 +172808,12 @@ iconst 62 0 store __for_idx_402 62 store __for_len_402 61 store __for_iter_402 60 -label L5222 +label L5230 load 63 __for_idx_402 load 64 __for_len_402 lt 65 63 64 -brif 65 L5223 L5225 -label L5223 +brif 65 L5231 L5233 +label L5231 load 66 __for_iter_402 load 67 __for_idx_402 call 68 pith_list_get_value unknown 2 66 67 @@ -172722,21 +172825,21 @@ load 72 impl_type call 74 pith_cstring_eq bool 2 71 72 iconst 75 1 sub 73 75 74 -brif 73 L5227 L5228 -label L5227 -jmp L5224 -label L5228 -label L5226 +brif 73 L5235 L5236 +label L5235 +jmp L5232 +label L5236 +label L5234 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 L5230 L5231 -label L5230 -jmp L5224 -label L5231 -label L5229 +brif 79 L5238 L5239 +label L5238 +jmp L5232 +label L5239 +label L5237 load 81 arg_tids load 82 checker_struct_instance_type_args load 83 __loopvar_402_inst_tid @@ -172754,12 +172857,12 @@ iconst 92 0 store __for_idx_403 92 store __for_len_403 91 store __for_iter_403 90 -label L5232 +label L5240 load 93 __for_idx_403 load 94 __for_len_403 lt 95 93 94 -brif 95 L5233 L5235 -label L5233 +brif 95 L5241 L5243 +label L5241 load 96 __for_iter_403 load 97 __for_idx_403 call 98 pith_list_get_value unknown 2 96 97 @@ -172768,13 +172871,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 L5234 +label L5242 load 103 __for_idx_403 iconst 104 1 add 105 103 104 store __for_idx_403 105 -jmp L5232 -label L5235 +jmp L5240 +label L5243 load 106 instance_type_name load 107 __loopvar_402_inst_tid call 108 types_get_type_name string 1 107 @@ -172787,12 +172890,12 @@ iconst 113 0 store __for_idx_404 113 store __for_len_404 112 store __for_iter_404 111 -label L5236 +label L5244 load 114 __for_idx_404 load 115 __for_len_404 lt 116 114 115 -brif 116 L5237 L5239 -label L5237 +brif 116 L5245 L5247 +label L5245 load 117 __for_iter_404 load 118 __for_idx_404 call 119 pith_list_get_value unknown 2 117 118 @@ -172807,30 +172910,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 L5241 L5242 -label L5241 +brif 127 L5249 L5250 +label L5249 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 L5240 -label L5242 -label L5240 -label L5238 +jmp L5248 +label L5250 +label L5248 +label L5246 load 134 __for_idx_404 iconst 135 1 add 136 134 135 store __for_idx_404 136 -jmp L5236 -label L5239 -label L5224 +jmp L5244 +label L5247 +label L5232 load 137 __for_idx_402 iconst 138 1 add 139 137 138 store __for_idx_402 139 -jmp L5222 -label L5225 +jmp L5230 +label L5233 load 140 sdecl call 141 pith_struct_release void 1 140 load 142 struct_params @@ -172880,13 +172983,13 @@ call 8 pith_struct_release void 1 5 store root 7 iconst 9 0 store preload_i 9 -label L5243 +label L5251 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 L5244 L5245 -label L5244 +brif 13 L5252 L5253 +label L5252 load 14 ir_emitter_core_ir_preloaded_import_roots load 15 preload_i call 16 pith_list_get_value_strict int 2 14 15 @@ -172899,16 +173002,16 @@ load 22 preload_i iconst 23 1 add 24 22 23 store preload_i 24 -jmp L5243 -label L5245 +jmp L5251 +label L5253 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 L5247 L5248 -label L5247 +brif 30 L5255 L5256 +label L5255 load 31 root_idx call 32 ir_emitter_core_ir_collect_test_decls list 1 31 call 33 pith_auto_len int 1 32 @@ -172916,12 +173019,12 @@ iconst 34 0 store __for_idx_405 34 store __for_len_405 33 store __for_iter_405 32 -label L5249 +label L5257 load 35 __for_idx_405 load 36 __for_len_405 lt 37 35 36 -brif 37 L5250 L5252 -label L5250 +brif 37 L5258 L5260 +label L5258 load 38 __for_iter_405 load 39 __for_idx_405 call 40 pith_list_get_value unknown 2 38 39 @@ -172933,18 +173036,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 L5251 +label L5259 load 47 __for_idx_405 iconst 48 1 add 49 47 48 store __for_idx_405 49 -jmp L5249 -label L5252 +jmp L5257 +label L5260 load 50 __for_iter_405 call 51 pith_list_release_handle void 1 50 -jmp L5246 -label L5248 -label L5246 +jmp L5254 +label L5256 +label L5254 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 1ce6e0da..32d330cf 100644 --- a/self-host/ir_emitter_core.pith +++ b/self-host/ir_emitter_core.pith @@ -3355,6 +3355,16 @@ fn ir_emit_static_call(idx: Int, node: Node) -> Int: callee = ir_resolve_static_callee(node.children[0]) if callee.name.len() == 0: callee = ResolvedCallee("unknown", false) + # a call through a loop variable: `for f in fns:` binds f to a loop + # slot, so the call has to name that slot or the consumer will look up + # a variable that does not exist and fall through to the error stub. + # only a name that is not a declared function can be a variable call, + # which keeps a loop variable that shadows nothing extra out of this. + callee_n := get_node(node.children[0]) + if callee_n.kind == "ident" and not ir_is_declared_callable(callee.name): + loop_slot := ir_loop_var_slot(callee.name) + if loop_slot.len() > 0: + callee = ResolvedCallee(loop_slot, callee.imported) # ord of any byte operand is just that byte: ord(s[i]) reads it with byte_at # instead of minting a one-character string, and ord("/") folds to a # constant. the argument is wrapped in an "arg" node, so unwrap it first. diff --git a/tests/cases/test_loop_var_fn_call.pith b/tests/cases/test_loop_var_fn_call.pith new file mode 100644 index 00000000..612e72ec --- /dev/null +++ b/tests/cases/test_loop_var_fn_call.pith @@ -0,0 +1,44 @@ +# calling a function through a `for` loop variable. +# +# the loop variable lives in its own storage slot (that is what keeps it from +# clobbering an outer binding of the same name), so a call through it has to +# name that slot. it used to name the source variable instead, the consumer +# found no such variable, and the call fell through to the runtime's +# unresolved-function stub — a compile-clean program that died at runtime. +# indexing the list always worked, which is why this hid for a while. + +fn double(x: Int) -> Int: + return x * 2 + +fn add_one(x: Int) -> Int: + return x + 1 + +fn describe(x: Int) -> String: + return "value-" + x.to_string() + +fn main(): + fns: List[fn(Int) -> Int] := [double, add_one] + + # the plain loop call + mut total := 0 + for f in fns: + total = total + f(10) + print("loop total={total}") + + # nested loops, two live fn loop variables at once + mut nested := 0 + for f in fns: + for g in fns: + nested = nested + f(g(1)) + print("nested={nested}") + + # rebinding the loop variable's name after the loop still calls the + # rebound value, not the loop slot + f := describe + print("rebound={f(7)}") + + # a loop variable calling with another loop variable's result, mixed types + words: List[fn(Int) -> String] := [describe] + for w in words: + for n in fns: + print("mixed={w(n(3))}") diff --git a/tests/expected/test_loop_var_fn_call.txt b/tests/expected/test_loop_var_fn_call.txt new file mode 100644 index 00000000..13f0e2e9 --- /dev/null +++ b/tests/expected/test_loop_var_fn_call.txt @@ -0,0 +1,5 @@ +loop total=31 +nested=14 +rebound=value-7 +mixed=value-6 +mixed=value-4