From 9d027f777ff9fa8de1b4fc162164726b38fa08c7 Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Wed, 19 Aug 2026 05:54:43 +0000 Subject: [PATCH] fix: give a match on an rc-payload optional exact ownership MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A match on an optional whose payload is rc-counted leaked the payload (and everything it held) once per match — the live residual behind task #214. Filed as "the return-widened box carries no destructor", but attaching one there would double-free: optional extraction transfers the shell's payload count out by convention, so shells on that path must stay destructor-less. The fix works within the name-keyed payload-release design instead, three coordinated pieces: - the optional-subject arm binding retains its own count (mirroring the enum payload binding dance: release the previous value on a loop rebind, retain the new one), and the prepass tracks the name so exit cleanup releases it or a return transfers it — under the same name-conflict poisoning as every other owned local. - a match on an optional local is now a whitelisted use in the payload-release cascade: the subject keeps the count its shell arrived with, so the cleanup path stays its last owner. a RESULT match still disqualifies (its binding path takes no count). - a tail match's expression arm returns through the full return contract (ir_emit_return_value, split out of ir_emit_return_stmt) instead of a bare `ret` — the bare ret skipped defers, the tracked local cleanup, the borrow retain, and the optional/result wrap, so every count an arm binding retained leaked per call (including the pre-existing enum-binding tail-return leak), and a borrowed return could hand the caller a count nobody owned. docs/ownership.md moves match onto the safe-use list with the why. ## what was tested - probes at 300k rounds, before -> after (peak rss): same-function match 34.8mb -> 2.1mb; match in a callee on the parameter 35.1mb -> 2.1mb; fresh optional matched from argument position 53.6mb -> 2.3mb; local bind + probes, unwrap_or through a call stay flat; every probe's stdout identical before and after - new tests/cases/test_optional_match_ownership.pith golden covers same-function match, callee-parameter match, a tail arm returning the binding's string field, and an arm returning the binding WHOLE (the transfer exclusion) - new tests/leaks/leak_optional_match_payload gate case: flat at 200k vs 800k rounds (2716 vs 2596 kb peak) - make bootstrap-verify: bootstrap ir fixed point verified (includes self regressions + std tests) - 8 consecutive make sitegen-check runs clean (the over-release gate) - make check-invalid-only: 51 passed, 0 failed; fmt + lint clean; bootstrap seed regenerated --- docs/ownership.md | 19 +- self-host/bootstrap/ir_driver.ir | 25410 ++++++++-------- self-host/ir_emitter_core.pith | 95 +- self-host/ir_match_emit.pith | 28 +- .../cases/test_optional_match_ownership.pith | 40 + .../test_optional_match_ownership.txt | 6 + tests/leaks/leak_optional_match_payload.pith | 39 + tooling/leak_check.sh | 1 + 8 files changed, 13124 insertions(+), 12514 deletions(-) create mode 100644 tests/cases/test_optional_match_ownership.pith create mode 100644 tests/expected/test_optional_match_ownership.txt create mode 100644 tests/leaks/leak_optional_match_payload.pith diff --git a/docs/ownership.md b/docs/ownership.md index 3ed8d5dd..d3b63335 100644 --- a/docs/ownership.md +++ b/docs/ownership.md @@ -429,13 +429,18 @@ gaps, all bounded leaks rather than dangling pointers: `T?` lower to a three-slot value, and releasing one frees those slots without dropping the payload they own. a local whose every use is a probe (`.is_ok`, `.is_err`, `== none`), a payload read (`.ok`, `.err`), - an argument of a same-module call whose body provably only reads the - parameter, or — for a result — an extraction (`r.unwrap_or(d)`, - `r catch d`, `r!`) releases its payload: a probe never touches it, a - read borrows, a qualifying callee takes no count of its own (and - retains anything a result extraction hands out), and an extraction - hands its consumer a freshly retained count, so in every case the - local is still the last owner of the count the shell arrived with. + a `match` on an optional local, an argument of a same-module call whose + body provably only reads the parameter, or — for a result — an + extraction (`r.unwrap_or(d)`, `r catch d`, `r!`) releases its payload: + a probe never touches it, a read borrows, a qualifying callee takes no + count of its own (and retains anything a result extraction hands out), + and an extraction hands its consumer a freshly retained count, so in + every case the local is still the last owner of the count the shell + arrived with. a match qualifies because its arm binding retains its own + count — tracked like any owned local, released by the exit cleanup or + transferred by a return — so the subject keeps the count it had. a + match on a RESULT local still disqualifies: its binding path takes no + count of its own. the call-argument entry is judged by walking the callee's declaration with the same use rules as the local itself, transitively through same-module forwarding — so a callee that stores, returns, sends, or diff --git a/self-host/bootstrap/ir_driver.ir b/self-host/bootstrap/ir_driver.ir index 50f340c0..df042e8a 100644 --- a/self-host/bootstrap/ir_driver.ir +++ b/self-host/bootstrap/ir_driver.ir @@ -116404,61 +116404,60 @@ string m41s795 "lte " string m41s796 "incl" string m41s797 "gte " string m41s798 " 0 int __enum_tag" -string m41s799 "ret " -string m41s800 "parse_int failed" -string m41s801 "file_open_read failed" -string m41s802 "file_open_write failed" -string m41s803 "file_open_append failed" -string m41s804 "byte_buffer_write failed" -string m41s805 "byte_buffer_write_string_utf8 failed" -string m41s806 "byte_buffer_write_byte failed" -string m41s807 "file_write failed" -string m41s808 "file_write_bytes failed" -string m41s809 "tcp_connect failed" -string m41s810 "tcp_listen failed" -string m41s811 "tcp_accept failed" -string m41s812 "tcp_write failed" -string m41s813 "tcp_write_bytes failed" -string m41s814 "process_spawn failed" -string m41s815 "process_spawn_argv failed" -string m41s816 "process_output_argv failed" -string m41s817 "process_write failed" -string m41s818 "process_write_bytes failed" -string m41s819 "crypto_x25519_keygen failed" -string m41s820 "write_file failed" -string m41s821 "append_file failed" -string m41s822 "write_file_bytes failed" -string m41s823 "append_file_bytes failed" -string m41s824 "read_file failed" -string m41s825 "exec_output failed" -string m41s826 "dns_resolve failed" -string m41s827 "bytes_to_string_utf8 failed" -string m41s828 "bytes_substring_utf8 failed" -string m41s829 "file_read failed" -string m41s830 "tcp_read failed" -string m41s831 "process_read failed" -string m41s832 "process_read_err failed" -string m41s833 "read_file_bytes failed" -string m41s834 "b64_decode failed" -string m41s835 "from_hex failed" -string m41s836 "file_read_bytes failed" -string m41s837 "tcp_read_bytes failed" -string m41s838 "process_read_bytes failed" -string m41s839 "process_read_err_bytes failed" -string m41s840 "crypto_x25519_public_key failed" -string m41s841 "crypto_x25519_shared_secret failed" -string m41s842 "crypto_aes_128_gcm_seal failed" -string m41s843 "crypto_aes_128_gcm_open failed" -string m41s844 "crypto_chacha20_poly1305_seal failed" -string m41s845 "crypto_chacha20_poly1305_open failed" -string m41s846 "crypto_sign_rsa_pss_sha256_pkcs8 failed" -string m41s847 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" -string m41s848 "crypto_sign_ed25519_pkcs8 failed" -string m41s849 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" -string m41s850 "crypto_blake2b failed" -string m41s851 "crypto_argon2id failed" -string m41s852 "zstd_compress failed" -string m41s853 "zstd_decompress failed" +string m41s799 "parse_int failed" +string m41s800 "file_open_read failed" +string m41s801 "file_open_write failed" +string m41s802 "file_open_append failed" +string m41s803 "byte_buffer_write failed" +string m41s804 "byte_buffer_write_string_utf8 failed" +string m41s805 "byte_buffer_write_byte failed" +string m41s806 "file_write failed" +string m41s807 "file_write_bytes failed" +string m41s808 "tcp_connect failed" +string m41s809 "tcp_listen failed" +string m41s810 "tcp_accept failed" +string m41s811 "tcp_write failed" +string m41s812 "tcp_write_bytes failed" +string m41s813 "process_spawn failed" +string m41s814 "process_spawn_argv failed" +string m41s815 "process_output_argv failed" +string m41s816 "process_write failed" +string m41s817 "process_write_bytes failed" +string m41s818 "crypto_x25519_keygen failed" +string m41s819 "write_file failed" +string m41s820 "append_file failed" +string m41s821 "write_file_bytes failed" +string m41s822 "append_file_bytes failed" +string m41s823 "read_file failed" +string m41s824 "exec_output failed" +string m41s825 "dns_resolve failed" +string m41s826 "bytes_to_string_utf8 failed" +string m41s827 "bytes_substring_utf8 failed" +string m41s828 "file_read failed" +string m41s829 "tcp_read failed" +string m41s830 "process_read failed" +string m41s831 "process_read_err failed" +string m41s832 "read_file_bytes failed" +string m41s833 "b64_decode failed" +string m41s834 "from_hex failed" +string m41s835 "file_read_bytes failed" +string m41s836 "tcp_read_bytes failed" +string m41s837 "process_read_bytes failed" +string m41s838 "process_read_err_bytes failed" +string m41s839 "crypto_x25519_public_key failed" +string m41s840 "crypto_x25519_shared_secret failed" +string m41s841 "crypto_aes_128_gcm_seal failed" +string m41s842 "crypto_aes_128_gcm_open failed" +string m41s843 "crypto_chacha20_poly1305_seal failed" +string m41s844 "crypto_chacha20_poly1305_open failed" +string m41s845 "crypto_sign_rsa_pss_sha256_pkcs8 failed" +string m41s846 "crypto_sign_rsa_pkcs1_sha256_pkcs8 failed" +string m41s847 "crypto_sign_ed25519_pkcs8 failed" +string m41s848 "crypto_sign_ecdsa_p256_sha256_pkcs8 failed" +string m41s849 "crypto_blake2b failed" +string m41s850 "crypto_argon2id failed" +string m41s851 "zstd_compress failed" +string m41s852 "zstd_decompress failed" struct Node kind value children line col struct Token kind value current_line current_column struct TypeInfo kind name fields field_types field_pub field_mut param_types return_type inner key_type value_type elements variants variant_types @@ -116692,7 +116691,7 @@ ret 143 endfunc func ir_match_emit_ir_emit_match_arm_return 3 void param body_idx -param emit_expr +param emit_ret param emit_block iconst 3 0 store body 3 @@ -116747,250 +116746,242 @@ jmp L3 label L5 label L3 load 35 expr_idx -call 36 emit_expr int 1 35 -store val_r 36 -strref 37 m41s799 -load 38 val_r -call 39 int_to_string string 1 38 -concat 40 37 39 -call 41 pith_cstring_release void 1 37 -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 -iconst 45 1 -store ir_call_emit_ir_last_was_ret 45 -load 46 body -call 47 pith_struct_release void 1 46 -iconst 48 0 -ret 48 +call 36 emit_ret unknown 1 35 +iconst 37 1 +store ir_call_emit_ir_last_was_ret 37 +load 38 body +call 39 pith_struct_release void 1 38 +iconst 40 0 +ret 40 endfunc -func ir_match_emit_ir_emit_match_return 4 void +func ir_match_emit_ir_emit_match_return 5 void param idx param node param emit_expr +param emit_ret param emit_block -iconst 4 0 -store subj_type 4 iconst 5 0 -store arm 5 +store subj_type 5 iconst 6 0 -store cn 6 +store arm 6 iconst 7 0 -store cand_l 7 +store cn 7 iconst 8 0 -store next_l 8 +store cand_l 8 iconst 9 0 -store body_l 9 -load 10 node -field 11 10 16 list children -iconst 12 0 -call 13 pith_list_get_value_strict int 2 11 12 -call 14 emit_expr int 1 13 -store subj_r 14 -load 15 subj_type -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 ir_type_helpers_ir_checked_type string 1 19 -call 21 pith_cstring_release void 1 15 -store subj_type 20 -load 22 node -field 23 22 16 list children -iconst 24 0 -call 25 pith_list_get_value_strict int 2 23 24 -call 26 ir_alias_registry_ir_emission_tid int 1 25 -store ir_match_emit_ir_match_subject_tid 26 -iconst 27 1 -store i 27 +store next_l 9 +iconst 10 0 +store body_l 10 +load 11 node +field 12 11 16 list children +iconst 13 0 +call 14 pith_list_get_value_strict int 2 12 13 +call 15 emit_expr int 1 14 +store subj_r 15 +load 16 subj_type +load 17 node +field 18 17 16 list children +iconst 19 0 +call 20 pith_list_get_value_strict int 2 18 19 +call 21 ir_type_helpers_ir_checked_type string 1 20 +call 22 pith_cstring_release void 1 16 +store subj_type 21 +load 23 node +field 24 23 16 list children +iconst 25 0 +call 26 pith_list_get_value_strict int 2 24 25 +call 27 ir_alias_registry_ir_emission_tid int 1 26 +store ir_match_emit_ir_match_subject_tid 27 +iconst 28 1 +store i 28 label L8 -load 28 i -load 29 node -field 30 29 16 list children -call 31 pith_list_len int 1 30 -lt 32 28 31 -brif 32 L9 L10 +load 29 i +load 30 node +field 31 30 16 list children +call 32 pith_list_len int 1 31 +lt 33 29 32 +brif 33 L9 L10 label L9 -load 33 arm -load 34 node -field 35 34 16 list children -load 36 i -call 37 pith_list_get_value_strict int 2 35 36 -call 38 ast_get_node struct:Node 1 37 -call 39 pith_struct_release void 1 33 -store arm 38 -load 40 arm -field 41 40 16 list children -iconst 42 0 -call 43 pith_list_get_value_strict int 2 41 42 -store pat_idx 43 -iconst 44 0 -iconst 45 1 -sub 46 44 45 -store guard_idx 46 -iconst 47 0 -iconst 48 1 -sub 49 47 48 -store body_idx 49 -iconst 50 1 -store j 50 +load 34 arm +load 35 node +field 36 35 16 list children +load 37 i +call 38 pith_list_get_value_strict int 2 36 37 +call 39 ast_get_node struct:Node 1 38 +call 40 pith_struct_release void 1 34 +store arm 39 +load 41 arm +field 42 41 16 list children +iconst 43 0 +call 44 pith_list_get_value_strict int 2 42 43 +store pat_idx 44 +iconst 45 0 +iconst 46 1 +sub 47 45 46 +store guard_idx 47 +iconst 48 0 +iconst 49 1 +sub 50 48 49 +store body_idx 50 +iconst 51 1 +store j 51 label L11 -load 51 j -load 52 arm -field 53 52 16 list children -call 54 pith_list_len int 1 53 -lt 55 51 54 -brif 55 L12 L13 +load 52 j +load 53 arm +field 54 53 16 list children +call 55 pith_list_len int 1 54 +lt 56 52 55 +brif 56 L12 L13 label L12 -load 56 cn -load 57 arm -field 58 57 16 list children -load 59 j -call 60 pith_list_get_value_strict int 2 58 59 -call 61 ast_get_node struct:Node 1 60 -call 62 pith_struct_release void 1 56 -store cn 61 -load 63 cn -field 64 63 0 string kind -strref 65 m41s116 -call 66 pith_cstring_eq bool 2 64 65 -call 67 pith_cstring_release void 1 65 -brif 66 L15 L16 +load 57 cn +load 58 arm +field 59 58 16 list children +load 60 j +call 61 pith_list_get_value_strict int 2 59 60 +call 62 ast_get_node struct:Node 1 61 +call 63 pith_struct_release void 1 57 +store cn 62 +load 64 cn +field 65 64 0 string kind +strref 66 m41s116 +call 67 pith_cstring_eq bool 2 65 66 +call 68 pith_cstring_release void 1 66 +brif 67 L15 L16 label L15 -load 68 cn -field 69 68 16 list children -call 70 pith_list_len int 1 69 -iconst 71 0 -gt 72 70 71 -brif 72 L18 L19 +load 69 cn +field 70 69 16 list children +call 71 pith_list_len int 1 70 +iconst 72 0 +gt 73 71 72 +brif 73 L18 L19 label L18 -load 73 cn -field 74 73 16 list children -iconst 75 0 -call 76 pith_list_get_value_strict int 2 74 75 -store guard_idx 76 +load 74 cn +field 75 74 16 list children +iconst 76 0 +call 77 pith_list_get_value_strict int 2 75 76 +store guard_idx 77 jmp L17 label L19 label L17 jmp L14 label L16 -load 77 arm -field 78 77 16 list children -load 79 j -call 80 pith_list_get_value_strict int 2 78 79 -store body_idx 80 +load 78 arm +field 79 78 16 list children +load 80 j +call 81 pith_list_get_value_strict int 2 79 80 +store body_idx 81 label L14 -load 81 j -iconst 82 1 -add 83 81 82 -store j 83 +load 82 j +iconst 83 1 +add 84 82 83 +store j 84 jmp L11 label L13 -load 84 pat_idx -load 85 subj_r -call 86 ir_match_emit_ir_emit_match_cond int 2 84 85 -store cond_r 86 -load 87 cand_l -call 88 ir_builder_ir_label string 0 -call 89 pith_cstring_release void 1 87 -store cand_l 88 -load 90 next_l -call 91 ir_builder_ir_label string 0 -call 92 pith_cstring_release void 1 90 -store next_l 91 -strref 93 m41s789 -load 94 cond_r -call 95 int_to_string string 1 94 -concat 96 93 95 -call 97 pith_cstring_release void 1 93 -call 98 pith_cstring_release void 1 95 -strref 99 m41s344 -concat 100 96 99 -call 101 pith_cstring_release void 1 96 -call 102 pith_cstring_release void 1 99 -load 103 cand_l -concat 104 100 103 -call 105 pith_cstring_release void 1 100 -strref 106 m41s344 -concat 107 104 106 -call 108 pith_cstring_release void 1 104 -call 109 pith_cstring_release void 1 106 -load 110 next_l -concat 111 107 110 -call 112 pith_cstring_release void 1 107 -call 113 ir_builder_ir_emit void 1 111 -call 114 pith_cstring_release void 1 111 -load 115 cand_l -call 116 ir_call_emit_ir_emit_label void 1 115 -load 117 pat_idx -load 118 subj_r -load 119 subj_type -call 120 ir_match_emit_ir_emit_match_bindings void 3 117 118 119 -load 121 guard_idx -iconst 122 0 -gte 123 121 122 -brif 123 L21 L22 +load 85 pat_idx +load 86 subj_r +call 87 ir_match_emit_ir_emit_match_cond int 2 85 86 +store cond_r 87 +load 88 cand_l +call 89 ir_builder_ir_label string 0 +call 90 pith_cstring_release void 1 88 +store cand_l 89 +load 91 next_l +call 92 ir_builder_ir_label string 0 +call 93 pith_cstring_release void 1 91 +store next_l 92 +strref 94 m41s789 +load 95 cond_r +call 96 int_to_string string 1 95 +concat 97 94 96 +call 98 pith_cstring_release void 1 94 +call 99 pith_cstring_release void 1 96 +strref 100 m41s344 +concat 101 97 100 +call 102 pith_cstring_release void 1 97 +call 103 pith_cstring_release void 1 100 +load 104 cand_l +concat 105 101 104 +call 106 pith_cstring_release void 1 101 +strref 107 m41s344 +concat 108 105 107 +call 109 pith_cstring_release void 1 105 +call 110 pith_cstring_release void 1 107 +load 111 next_l +concat 112 108 111 +call 113 pith_cstring_release void 1 108 +call 114 ir_builder_ir_emit void 1 112 +call 115 pith_cstring_release void 1 112 +load 116 cand_l +call 117 ir_call_emit_ir_emit_label void 1 116 +load 118 pat_idx +load 119 subj_r +load 120 subj_type +call 121 ir_match_emit_ir_emit_match_bindings void 3 118 119 120 +load 122 guard_idx +iconst 123 0 +gte 124 122 123 +brif 124 L21 L22 label L21 -load 124 guard_idx -call 125 emit_expr int 1 124 -store g_r 125 -load 126 body_l -call 127 ir_builder_ir_label string 0 -call 128 pith_cstring_release void 1 126 -store body_l 127 -strref 129 m41s789 -load 130 g_r -call 131 int_to_string string 1 130 -concat 132 129 131 -call 133 pith_cstring_release void 1 129 -call 134 pith_cstring_release void 1 131 -strref 135 m41s344 -concat 136 132 135 -call 137 pith_cstring_release void 1 132 -call 138 pith_cstring_release void 1 135 -load 139 body_l -concat 140 136 139 -call 141 pith_cstring_release void 1 136 -strref 142 m41s344 -concat 143 140 142 -call 144 pith_cstring_release void 1 140 -call 145 pith_cstring_release void 1 142 -load 146 next_l -concat 147 143 146 -call 148 pith_cstring_release void 1 143 -call 149 ir_builder_ir_emit void 1 147 -call 150 pith_cstring_release void 1 147 -load 151 body_l -call 152 ir_call_emit_ir_emit_label void 1 151 +load 125 guard_idx +call 126 emit_expr int 1 125 +store g_r 126 +load 127 body_l +call 128 ir_builder_ir_label string 0 +call 129 pith_cstring_release void 1 127 +store body_l 128 +strref 130 m41s789 +load 131 g_r +call 132 int_to_string string 1 131 +concat 133 130 132 +call 134 pith_cstring_release void 1 130 +call 135 pith_cstring_release void 1 132 +strref 136 m41s344 +concat 137 133 136 +call 138 pith_cstring_release void 1 133 +call 139 pith_cstring_release void 1 136 +load 140 body_l +concat 141 137 140 +call 142 pith_cstring_release void 1 137 +strref 143 m41s344 +concat 144 141 143 +call 145 pith_cstring_release void 1 141 +call 146 pith_cstring_release void 1 143 +load 147 next_l +concat 148 144 147 +call 149 pith_cstring_release void 1 144 +call 150 ir_builder_ir_emit void 1 148 +call 151 pith_cstring_release void 1 148 +load 152 body_l +call 153 ir_call_emit_ir_emit_label void 1 152 jmp L20 label L22 label L20 -load 153 body_idx -load 154 emit_expr -load 155 emit_block -call 156 ir_match_emit_ir_emit_match_arm_return void 3 153 154 155 -load 157 next_l -call 158 ir_call_emit_ir_emit_label void 1 157 -load 159 i -iconst 160 1 -add 161 159 160 -store i 161 +load 154 body_idx +load 155 emit_ret +load 156 emit_block +call 157 ir_match_emit_ir_emit_match_arm_return void 3 154 155 156 +load 158 next_l +call 159 ir_call_emit_ir_emit_label void 1 158 +load 160 i +iconst 161 1 +add 162 160 161 +store i 162 jmp L8 label L10 -load 162 subj_type -call 163 pith_cstring_release void 1 162 -load 164 arm -call 165 pith_struct_release void 1 164 -load 166 cn -call 167 pith_struct_release void 1 166 -load 168 cand_l -call 169 pith_cstring_release void 1 168 -load 170 next_l -call 171 pith_cstring_release void 1 170 -load 172 body_l -call 173 pith_cstring_release void 1 172 -iconst 174 0 -ret 174 +load 163 subj_type +call 164 pith_cstring_release void 1 163 +load 165 arm +call 166 pith_struct_release void 1 165 +load 167 cn +call 168 pith_struct_release void 1 167 +load 169 cand_l +call 170 pith_cstring_release void 1 169 +load 171 next_l +call 172 pith_cstring_release void 1 171 +load 173 body_l +call 174 pith_cstring_release void 1 173 +iconst 175 0 +ret 175 endfunc func ir_match_emit_ir_emit_match_cond 2 int param pat_idx @@ -119073,11 +119064,11 @@ store subj_info 9 iconst 10 0 store inner_kind 10 iconst 11 0 -store kinds 11 +store rc_kind 11 iconst 12 0 -store kind 12 +store kinds 12 iconst 13 0 -store rc_kind 13 +store kind 13 load 14 pat load 15 pat_idx call 16 ast_get_node struct:Node 1 15 @@ -119182,11 +119173,11 @@ load 100 subj_info call 101 pith_struct_release void 1 100 load 102 inner_kind call 103 pith_cstring_release void 1 102 -load 104 kinds -call 105 pith_list_release_handle void 1 104 -load 106 kind -call 107 pith_cstring_release void 1 106 -load 108 rc_kind +load 104 rc_kind +call 105 pith_cstring_release void 1 104 +load 106 kinds +call 107 pith_list_release_handle void 1 106 +load 108 kind call 109 pith_cstring_release void 1 108 iconst 110 0 ret 110 @@ -119351,11 +119342,11 @@ load 239 subj_info call 240 pith_struct_release void 1 239 load 241 inner_kind call 242 pith_cstring_release void 1 241 -load 243 kinds -call 244 pith_list_release_handle void 1 243 -load 245 kind -call 246 pith_cstring_release void 1 245 -load 247 rc_kind +load 243 rc_kind +call 244 pith_cstring_release void 1 243 +load 245 kinds +call 246 pith_list_release_handle void 1 245 +load 247 kind call 248 pith_cstring_release void 1 247 iconst 249 0 ret 249 @@ -119409,378 +119400,451 @@ call 285 map_insert void 3 281 283 284 jmp L241 label L243 label L241 -strref 286 m41s787 -load 287 pat -field 288 287 8 string value -concat 289 286 288 -call 290 pith_cstring_release void 1 286 -strref 291 m41s344 -concat 292 289 291 -call 293 pith_cstring_release void 1 289 -call 294 pith_cstring_release void 1 291 -load 295 inner_r -call 296 int_to_string string 1 295 -concat 297 292 296 -call 298 pith_cstring_release void 1 292 -call 299 pith_cstring_release void 1 296 -call 300 ir_builder_ir_emit void 1 297 -call 301 pith_cstring_release void 1 297 -load 302 pat -call 303 pith_struct_release void 1 302 -load 304 done_l -call 305 pith_cstring_release void 1 304 -load 306 bind_l -call 307 pith_cstring_release void 1 306 -load 308 next_l -call 309 pith_cstring_release void 1 308 -load 310 elems -call 311 pith_list_release_handle void 1 310 -load 312 sub -call 313 pith_struct_release void 1 312 -load 314 subj_info -call 315 pith_struct_release void 1 314 -load 316 inner_kind -call 317 pith_cstring_release void 1 316 -load 318 kinds -call 319 pith_list_release_handle void 1 318 -load 320 kind -call 321 pith_cstring_release void 1 320 -load 322 rc_kind -call 323 pith_cstring_release void 1 322 -iconst 324 0 -ret 324 -label L240 -label L238 -load 325 ir_builder_ir_var_regs -load 326 pat -field 327 326 8 string value -load 328 subj_r -call 329 map_insert void 3 325 327 328 -load 330 subj_type -call 331 string_len int 1 330 -iconst 332 0 -gt 333 331 332 -brif 333 L245 L246 +load 286 rc_kind +load 287 inner_kind +call 288 ir_struct_registry_ir_rc_kind string 1 287 +call 289 pith_cstring_release void 1 286 +store rc_kind 288 +load 290 rc_kind +call 291 string_len int 1 290 +iconst 292 0 +gt 293 291 292 +brif 293 L245 L246 label L245 -load 334 ir_builder_ir_var_types -load 335 pat -field 336 335 8 string value -load 337 subj_type -call 338 map_insert void 3 334 336 337 +load 294 ir_builder_ir_untracked_rc_binds +load 295 pat +field 296 295 8 string value +iconst 297 -1 +store __list_index_result_L250 297 +iconst 298 0 +store __list_index_i_L251 298 +call 299 pith_list_len int 1 294 +label L252 +load 300 __list_index_i_L251 +lt 301 300 299 +brif 301 L253 L256 +label L253 +call 302 pith_list_get_value string 2 294 300 +call 303 pith_cstring_eq bool 2 302 296 +brif 303 L254 L255 +label L254 +store __list_index_result_L250 300 +jmp L256 +label L255 +iconst 304 1 +add 305 300 304 +store __list_index_i_L251 305 +jmp L252 +label L256 +load 306 __list_index_result_L250 +iconst 307 0 +gte 308 306 307 +iconst 310 1 +sub 309 310 308 +brif 309 L248 L249 +label L248 +call 311 ir_builder_ir_reg int 0 +store old_r 311 +strref 312 m41s786 +load 313 old_r +call 314 int_to_string string 1 313 +concat 315 312 314 +call 316 pith_cstring_release void 1 312 +call 317 pith_cstring_release void 1 314 +strref 318 m41s344 +concat 319 315 318 +call 320 pith_cstring_release void 1 315 +call 321 pith_cstring_release void 1 318 +load 322 pat +field 323 322 8 string value +concat 324 319 323 +call 325 pith_cstring_release void 1 319 +call 326 ir_builder_ir_emit void 1 324 +call 327 pith_cstring_release void 1 324 +load 328 old_r +load 329 rc_kind +call 330 ir_ownership_ir_rc_release_reg void 2 328 329 +jmp L247 +label L249 +label L247 +load 331 inner_r +load 332 rc_kind +call 333 ir_ownership_ir_rc_retain_reg void 2 331 332 jmp L244 label L246 label L244 -strref 339 m41s787 -load 340 pat -field 341 340 8 string value -concat 342 339 341 -call 343 pith_cstring_release void 1 339 -strref 344 m41s344 -concat 345 342 344 -call 346 pith_cstring_release void 1 342 +strref 334 m41s787 +load 335 pat +field 336 335 8 string value +concat 337 334 336 +call 338 pith_cstring_release void 1 334 +strref 339 m41s344 +concat 340 337 339 +call 341 pith_cstring_release void 1 337 +call 342 pith_cstring_release void 1 339 +load 343 inner_r +call 344 int_to_string string 1 343 +concat 345 340 344 +call 346 pith_cstring_release void 1 340 call 347 pith_cstring_release void 1 344 -load 348 subj_r -call 349 int_to_string string 1 348 -concat 350 345 349 -call 351 pith_cstring_release void 1 345 -call 352 pith_cstring_release void 1 349 -call 353 ir_builder_ir_emit void 1 350 -call 354 pith_cstring_release void 1 350 +call 348 ir_builder_ir_emit void 1 345 +call 349 pith_cstring_release void 1 345 +load 350 pat +call 351 pith_struct_release void 1 350 +load 352 done_l +call 353 pith_cstring_release void 1 352 +load 354 bind_l +call 355 pith_cstring_release void 1 354 +load 356 next_l +call 357 pith_cstring_release void 1 356 +load 358 elems +call 359 pith_list_release_handle void 1 358 +load 360 sub +call 361 pith_struct_release void 1 360 +load 362 subj_info +call 363 pith_struct_release void 1 362 +load 364 inner_kind +call 365 pith_cstring_release void 1 364 +load 366 rc_kind +call 367 pith_cstring_release void 1 366 +load 368 kinds +call 369 pith_list_release_handle void 1 368 +load 370 kind +call 371 pith_cstring_release void 1 370 +iconst 372 0 +ret 372 +label L240 +label L238 +load 373 ir_builder_ir_var_regs +load 374 pat +field 375 374 8 string value +load 376 subj_r +call 377 map_insert void 3 373 375 376 +load 378 subj_type +call 379 string_len int 1 378 +iconst 380 0 +gt 381 379 380 +brif 381 L258 L259 +label L258 +load 382 ir_builder_ir_var_types +load 383 pat +field 384 383 8 string value +load 385 subj_type +call 386 map_insert void 3 382 384 385 +jmp L257 +label L259 +label L257 +strref 387 m41s787 +load 388 pat +field 389 388 8 string value +concat 390 387 389 +call 391 pith_cstring_release void 1 387 +strref 392 m41s344 +concat 393 390 392 +call 394 pith_cstring_release void 1 390 +call 395 pith_cstring_release void 1 392 +load 396 subj_r +call 397 int_to_string string 1 396 +concat 398 393 397 +call 399 pith_cstring_release void 1 393 +call 400 pith_cstring_release void 1 397 +call 401 ir_builder_ir_emit void 1 398 +call 402 pith_cstring_release void 1 398 jmp L235 label L237 label L235 -iconst 355 0 -store __and_355_250 355 -load 356 pat -field 357 356 0 string kind -strref 358 m41s90 -call 359 pith_cstring_eq bool 2 357 358 -call 360 pith_cstring_release void 1 358 -store __and_355_250 359 -brif 359 L250 L251 -label L250 -load 361 pat -field 362 361 16 list children -call 363 pith_list_len int 1 362 -iconst 364 0 -gt 365 363 364 -store __and_355_250 365 -label L251 -load 366 __and_355_250 -brif 366 L248 L249 -label L248 -load 367 kinds -call 368 pith_list_new_cstr list 0 -call 369 pith_list_release_handle void 1 367 -store kinds 368 -load 370 ir_struct_registry_ir_enum_payload_kinds -load 371 pat -field 372 371 8 string value -call 373 contains_key bool 2 370 372 -brif 373 L253 L254 -label L253 -load 374 kinds -load 375 pat -field 376 375 8 string value -load 377 ir_struct_registry_ir_enum_payload_kinds -load 378 pat -field 379 378 8 string value -call 380 map_get_strict string 2 377 379 -strref 381 m41s315 -call 382 pith_string_split_to_list list_string 2 380 381 -call 383 pith_cstring_release void 1 381 -call 384 ir_match_emit_ir_resolved_variant_kinds list_string 2 376 382 -call 385 pith_list_release_handle void 1 382 -call 386 pith_list_release_handle void 1 374 -store kinds 384 -jmp L252 -label L254 -label L252 -load 387 pat -field 388 387 16 list children -call 389 pith_auto_len int 1 388 -iconst 390 0 -store __for_idx_289 390 -store __for_len_289 389 -store __for_iter_289 388 -label L255 -load 391 __for_idx_289 -load 392 __for_len_289 -lt 393 391 392 -brif 393 L256 L258 -label L256 -load 394 __for_iter_289 -load 395 __for_idx_289 -call 396 pith_list_get_value unknown 2 394 395 -store __loopvar_289_sub_idx 396 -load 397 __for_idx_289 -store __loopvar_289_i 397 -load 398 sub -load 399 __loopvar_289_sub_idx -call 400 ast_get_node struct:Node 1 399 -call 401 pith_struct_release void 1 398 -store sub 400 -load 402 sub -field 403 402 0 string kind -strref 404 m41s86 -call 405 pith_cstring_eq bool 2 403 404 -call 406 pith_cstring_release void 1 404 -brif 405 L260 L261 -label L260 -load 407 kind -strref 408 m41s771 -call 409 pith_cstring_release void 1 407 -store kind 408 -load 410 __loopvar_289_i -load 411 kinds -call 412 pith_list_len int 1 411 -lt 413 410 412 -brif 413 L263 L264 +iconst 403 0 +store __and_403_263 403 +load 404 pat +field 405 404 0 string kind +strref 406 m41s90 +call 407 pith_cstring_eq bool 2 405 406 +call 408 pith_cstring_release void 1 406 +store __and_403_263 407 +brif 407 L263 L264 label L263 -load 414 kind -load 415 kinds -load 416 __loopvar_289_i -call 417 pith_list_get_value_strict string 2 415 416 -call 418 pith_cstring_retain void 1 417 -call 419 pith_cstring_release void 1 414 -store kind 417 -jmp L262 +load 409 pat +field 410 409 16 list children +call 411 pith_list_len int 1 410 +iconst 412 0 +gt 413 411 412 +store __and_403_263 413 label L264 -label L262 -call 420 ir_builder_ir_reg int 0 -store slot_r 420 -strref 421 m41s721 -load 422 slot_r -call 423 int_to_string string 1 422 -concat 424 421 423 -call 425 pith_cstring_release void 1 421 -call 426 pith_cstring_release void 1 423 -strref 427 m41s344 -concat 428 424 427 -call 429 pith_cstring_release void 1 424 -call 430 pith_cstring_release void 1 427 -load 431 subj_r -call 432 int_to_string string 1 431 -concat 433 428 432 -call 434 pith_cstring_release void 1 428 -call 435 pith_cstring_release void 1 432 -strref 436 m41s344 -concat 437 433 436 -call 438 pith_cstring_release void 1 433 -call 439 pith_cstring_release void 1 436 -load 440 __loopvar_289_i -iconst 441 1 -add 442 440 441 -iconst 443 8 -mul 444 442 443 -call 445 int_to_string string 1 444 -concat 446 437 445 -call 447 pith_cstring_release void 1 437 -call 448 pith_cstring_release void 1 445 -strref 449 m41s344 -concat 450 446 449 -call 451 pith_cstring_release void 1 446 -call 452 pith_cstring_release void 1 449 -load 453 kind -concat 454 450 453 -call 455 pith_cstring_release void 1 450 -strref 456 m41s344 -concat 457 454 456 -call 458 pith_cstring_release void 1 454 -call 459 pith_cstring_release void 1 456 -load 460 sub -field 461 460 8 string value -concat 462 457 461 -call 463 pith_cstring_release void 1 457 -call 464 ir_builder_ir_emit void 1 462 -call 465 pith_cstring_release void 1 462 -load 466 rc_kind -load 467 kind -call 468 ir_struct_registry_ir_rc_kind string 1 467 -call 469 pith_cstring_release void 1 466 -store rc_kind 468 -load 470 rc_kind -call 471 string_len int 1 470 -iconst 472 0 -gt 473 471 472 -brif 473 L266 L267 +load 414 __and_403_263 +brif 414 L261 L262 +label L261 +load 415 kinds +call 416 pith_list_new_cstr list 0 +call 417 pith_list_release_handle void 1 415 +store kinds 416 +load 418 ir_struct_registry_ir_enum_payload_kinds +load 419 pat +field 420 419 8 string value +call 421 contains_key bool 2 418 420 +brif 421 L266 L267 label L266 -load 474 ir_builder_ir_untracked_rc_binds -load 475 sub -field 476 475 8 string value -iconst 477 -1 -store __list_index_result_L271 477 -iconst 478 0 -store __list_index_i_L272 478 -call 479 pith_list_len int 1 474 +load 422 kinds +load 423 pat +field 424 423 8 string value +load 425 ir_struct_registry_ir_enum_payload_kinds +load 426 pat +field 427 426 8 string value +call 428 map_get_strict string 2 425 427 +strref 429 m41s315 +call 430 pith_string_split_to_list list_string 2 428 429 +call 431 pith_cstring_release void 1 429 +call 432 ir_match_emit_ir_resolved_variant_kinds list_string 2 424 430 +call 433 pith_list_release_handle void 1 430 +call 434 pith_list_release_handle void 1 422 +store kinds 432 +jmp L265 +label L267 +label L265 +load 435 pat +field 436 435 16 list children +call 437 pith_auto_len int 1 436 +iconst 438 0 +store __for_idx_289 438 +store __for_len_289 437 +store __for_iter_289 436 +label L268 +load 439 __for_idx_289 +load 440 __for_len_289 +lt 441 439 440 +brif 441 L269 L271 +label L269 +load 442 __for_iter_289 +load 443 __for_idx_289 +call 444 pith_list_get_value unknown 2 442 443 +store __loopvar_289_sub_idx 444 +load 445 __for_idx_289 +store __loopvar_289_i 445 +load 446 sub +load 447 __loopvar_289_sub_idx +call 448 ast_get_node struct:Node 1 447 +call 449 pith_struct_release void 1 446 +store sub 448 +load 450 sub +field 451 450 0 string kind +strref 452 m41s86 +call 453 pith_cstring_eq bool 2 451 452 +call 454 pith_cstring_release void 1 452 +brif 453 L273 L274 label L273 -load 480 __list_index_i_L272 -lt 481 480 479 -brif 481 L274 L277 -label L274 -call 482 pith_list_get_value string 2 474 480 -call 483 pith_cstring_eq bool 2 482 476 -brif 483 L275 L276 -label L275 -store __list_index_result_L271 480 -jmp L277 +load 455 kind +strref 456 m41s771 +call 457 pith_cstring_release void 1 455 +store kind 456 +load 458 __loopvar_289_i +load 459 kinds +call 460 pith_list_len int 1 459 +lt 461 458 460 +brif 461 L276 L277 label L276 -iconst 484 1 -add 485 480 484 -store __list_index_i_L272 485 -jmp L273 +load 462 kind +load 463 kinds +load 464 __loopvar_289_i +call 465 pith_list_get_value_strict string 2 463 464 +call 466 pith_cstring_retain void 1 465 +call 467 pith_cstring_release void 1 462 +store kind 465 +jmp L275 label L277 -load 486 __list_index_result_L271 -iconst 487 0 -gte 488 486 487 -iconst 490 1 -sub 489 490 488 -brif 489 L269 L270 -label L269 -call 491 ir_builder_ir_reg int 0 -store old_r 491 -strref 492 m41s786 -load 493 old_r -call 494 int_to_string string 1 493 -concat 495 492 494 -call 496 pith_cstring_release void 1 492 -call 497 pith_cstring_release void 1 494 -strref 498 m41s344 -concat 499 495 498 -call 500 pith_cstring_release void 1 495 -call 501 pith_cstring_release void 1 498 -load 502 sub -field 503 502 8 string value -concat 504 499 503 -call 505 pith_cstring_release void 1 499 -call 506 ir_builder_ir_emit void 1 504 +label L275 +call 468 ir_builder_ir_reg int 0 +store slot_r 468 +strref 469 m41s721 +load 470 slot_r +call 471 int_to_string string 1 470 +concat 472 469 471 +call 473 pith_cstring_release void 1 469 +call 474 pith_cstring_release void 1 471 +strref 475 m41s344 +concat 476 472 475 +call 477 pith_cstring_release void 1 472 +call 478 pith_cstring_release void 1 475 +load 479 subj_r +call 480 int_to_string string 1 479 +concat 481 476 480 +call 482 pith_cstring_release void 1 476 +call 483 pith_cstring_release void 1 480 +strref 484 m41s344 +concat 485 481 484 +call 486 pith_cstring_release void 1 481 +call 487 pith_cstring_release void 1 484 +load 488 __loopvar_289_i +iconst 489 1 +add 490 488 489 +iconst 491 8 +mul 492 490 491 +call 493 int_to_string string 1 492 +concat 494 485 493 +call 495 pith_cstring_release void 1 485 +call 496 pith_cstring_release void 1 493 +strref 497 m41s344 +concat 498 494 497 +call 499 pith_cstring_release void 1 494 +call 500 pith_cstring_release void 1 497 +load 501 kind +concat 502 498 501 +call 503 pith_cstring_release void 1 498 +strref 504 m41s344 +concat 505 502 504 +call 506 pith_cstring_release void 1 502 call 507 pith_cstring_release void 1 504 -load 508 old_r -load 509 rc_kind -call 510 ir_ownership_ir_rc_release_reg void 2 508 509 -jmp L268 -label L270 -label L268 -load 511 slot_r -load 512 rc_kind -call 513 ir_ownership_ir_rc_retain_reg void 2 511 512 -jmp L265 -label L267 -label L265 -load 514 ir_builder_ir_var_regs -load 515 sub -field 516 515 8 string value -load 517 slot_r -call 518 map_insert void 3 514 516 517 -load 519 kind -strref 520 m41s771 -call 522 pith_cstring_eq bool 2 519 520 -iconst 523 1 -sub 521 523 522 -call 524 pith_cstring_release void 1 520 +load 508 sub +field 509 508 8 string value +concat 510 505 509 +call 511 pith_cstring_release void 1 505 +call 512 ir_builder_ir_emit void 1 510 +call 513 pith_cstring_release void 1 510 +load 514 rc_kind +load 515 kind +call 516 ir_struct_registry_ir_rc_kind string 1 515 +call 517 pith_cstring_release void 1 514 +store rc_kind 516 +load 518 rc_kind +call 519 string_len int 1 518 +iconst 520 0 +gt 521 519 520 brif 521 L279 L280 label L279 -load 525 ir_builder_ir_var_types -load 526 sub -field 527 526 8 string value -load 528 kind -call 529 map_insert void 3 525 527 528 +load 522 ir_builder_ir_untracked_rc_binds +load 523 sub +field 524 523 8 string value +iconst 525 -1 +store __list_index_result_L284 525 +iconst 526 0 +store __list_index_i_L285 526 +call 527 pith_list_len int 1 522 +label L286 +load 528 __list_index_i_L285 +lt 529 528 527 +brif 529 L287 L290 +label L287 +call 530 pith_list_get_value string 2 522 528 +call 531 pith_cstring_eq bool 2 530 524 +brif 531 L288 L289 +label L288 +store __list_index_result_L284 528 +jmp L290 +label L289 +iconst 532 1 +add 533 528 532 +store __list_index_i_L285 533 +jmp L286 +label L290 +load 534 __list_index_result_L284 +iconst 535 0 +gte 536 534 535 +iconst 538 1 +sub 537 538 536 +brif 537 L282 L283 +label L282 +call 539 ir_builder_ir_reg int 0 +store old_r 539 +strref 540 m41s786 +load 541 old_r +call 542 int_to_string string 1 541 +concat 543 540 542 +call 544 pith_cstring_release void 1 540 +call 545 pith_cstring_release void 1 542 +strref 546 m41s344 +concat 547 543 546 +call 548 pith_cstring_release void 1 543 +call 549 pith_cstring_release void 1 546 +load 550 sub +field 551 550 8 string value +concat 552 547 551 +call 553 pith_cstring_release void 1 547 +call 554 ir_builder_ir_emit void 1 552 +call 555 pith_cstring_release void 1 552 +load 556 old_r +load 557 rc_kind +call 558 ir_ownership_ir_rc_release_reg void 2 556 557 +jmp L281 +label L283 +label L281 +load 559 slot_r +load 560 rc_kind +call 561 ir_ownership_ir_rc_retain_reg void 2 559 560 jmp L278 label L280 label L278 -strref 530 m41s787 -load 531 sub -field 532 531 8 string value -concat 533 530 532 -call 534 pith_cstring_release void 1 530 -strref 535 m41s344 -concat 536 533 535 -call 537 pith_cstring_release void 1 533 -call 538 pith_cstring_release void 1 535 -load 539 slot_r -call 540 int_to_string string 1 539 -concat 541 536 540 -call 542 pith_cstring_release void 1 536 -call 543 pith_cstring_release void 1 540 -call 544 ir_builder_ir_emit void 1 541 -call 545 pith_cstring_release void 1 541 -jmp L259 -label L261 -label L259 -label L257 -load 546 __for_idx_289 -iconst 547 1 -add 548 546 547 -store __for_idx_289 548 -jmp L255 -label L258 -jmp L247 -label L249 -label L247 -load 549 pat -call 550 pith_struct_release void 1 549 -load 551 done_l -call 552 pith_cstring_release void 1 551 -load 553 bind_l -call 554 pith_cstring_release void 1 553 -load 555 next_l -call 556 pith_cstring_release void 1 555 -load 557 elems -call 558 pith_list_release_handle void 1 557 -load 559 sub -call 560 pith_struct_release void 1 559 -load 561 subj_info -call 562 pith_struct_release void 1 561 -load 563 inner_kind -call 564 pith_cstring_release void 1 563 -load 565 kinds -call 566 pith_list_release_handle void 1 565 +load 562 ir_builder_ir_var_regs +load 563 sub +field 564 563 8 string value +load 565 slot_r +call 566 map_insert void 3 562 564 565 load 567 kind -call 568 pith_cstring_release void 1 567 -load 569 rc_kind -call 570 pith_cstring_release void 1 569 -iconst 571 0 -ret 571 +strref 568 m41s771 +call 570 pith_cstring_eq bool 2 567 568 +iconst 571 1 +sub 569 571 570 +call 572 pith_cstring_release void 1 568 +brif 569 L292 L293 +label L292 +load 573 ir_builder_ir_var_types +load 574 sub +field 575 574 8 string value +load 576 kind +call 577 map_insert void 3 573 575 576 +jmp L291 +label L293 +label L291 +strref 578 m41s787 +load 579 sub +field 580 579 8 string value +concat 581 578 580 +call 582 pith_cstring_release void 1 578 +strref 583 m41s344 +concat 584 581 583 +call 585 pith_cstring_release void 1 581 +call 586 pith_cstring_release void 1 583 +load 587 slot_r +call 588 int_to_string string 1 587 +concat 589 584 588 +call 590 pith_cstring_release void 1 584 +call 591 pith_cstring_release void 1 588 +call 592 ir_builder_ir_emit void 1 589 +call 593 pith_cstring_release void 1 589 +jmp L272 +label L274 +label L272 +label L270 +load 594 __for_idx_289 +iconst 595 1 +add 596 594 595 +store __for_idx_289 596 +jmp L268 +label L271 +jmp L260 +label L262 +label L260 +load 597 pat +call 598 pith_struct_release void 1 597 +load 599 done_l +call 600 pith_cstring_release void 1 599 +load 601 bind_l +call 602 pith_cstring_release void 1 601 +load 603 next_l +call 604 pith_cstring_release void 1 603 +load 605 elems +call 606 pith_list_release_handle void 1 605 +load 607 sub +call 608 pith_struct_release void 1 607 +load 609 subj_info +call 610 pith_struct_release void 1 609 +load 611 inner_kind +call 612 pith_cstring_release void 1 611 +load 613 rc_kind +call 614 pith_cstring_release void 1 613 +load 615 kinds +call 616 pith_list_release_handle void 1 615 +load 617 kind +call 618 pith_cstring_release void 1 617 +iconst 619 0 +ret 619 endfunc func ir_match_emit_ir_emit_match_arm_body 4 void param body_idx @@ -119799,46 +119863,46 @@ field 10 9 0 string kind strref 11 m41s65 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L282 L283 -label L282 +brif 12 L295 L296 +label L295 load 14 body_idx call 15 emit_block int 1 14 load 16 body call 17 pith_struct_release void 1 16 iconst 18 0 ret 18 -label L283 -label L281 +label L296 +label L294 load 19 body_idx store expr_idx 19 iconst 20 0 -store __and_20_287 20 +store __and_20_300 20 load 21 body field 22 21 0 string kind strref 23 m41s66 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __and_20_287 24 -brif 24 L287 L288 -label L287 +store __and_20_300 24 +brif 24 L300 L301 +label L300 load 26 body field 27 26 16 list children call 28 pith_list_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_20_287 30 -label L288 -load 31 __and_20_287 -brif 31 L285 L286 -label L285 +store __and_20_300 30 +label L301 +load 31 __and_20_300 +brif 31 L298 L299 +label L298 load 32 body field 33 32 16 list children iconst 34 0 call 35 pith_list_get_value_strict int 2 33 34 store expr_idx 35 -jmp L284 -label L286 -label L284 +jmp L297 +label L299 +label L297 load 36 expr_idx call 37 emit_expr int 1 36 store val_r 37 @@ -119960,7 +120024,7 @@ load 78 next_l call 79 ir_call_emit_ir_emit_label void 1 78 iconst 80 2 store i 80 -label L289 +label L302 load 81 i load 82 node field 83 82 16 list children @@ -119968,8 +120032,8 @@ call 84 pith_list_len int 1 83 iconst 85 1 sub 86 84 85 lt 87 81 86 -brif 87 L290 L291 -label L290 +brif 87 L303 L304 +label L303 load 88 branch load 89 node field 90 89 16 list children @@ -120049,8 +120113,8 @@ load 158 i iconst 159 1 add 160 158 159 store i 160 -jmp L289 -label L291 +jmp L302 +label L304 load 161 node field 162 161 16 list children load 163 node @@ -120181,14 +120245,14 @@ call 36 pith_cstring_release void 1 34 store end_l 35 iconst 37 1 store i 37 -label L292 +label L305 load 38 i load 39 node field 40 39 16 list children call 41 pith_list_len int 1 40 lt 42 38 41 -brif 42 L293 L294 -label L293 +brif 42 L306 L307 +label L306 load 43 arm load 44 node field 45 44 16 list children @@ -120212,14 +120276,14 @@ sub 59 57 58 store body_idx 59 iconst 60 1 store j 60 -label L295 +label L308 load 61 j load 62 arm field 63 62 16 list children call 64 pith_list_len int 1 63 lt 65 61 64 -brif 65 L296 L297 -label L296 +brif 65 L309 L310 +label L309 load 66 cn load 67 arm field 68 67 16 list children @@ -120233,37 +120297,37 @@ field 74 73 0 string kind strref 75 m41s116 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L299 L300 -label L299 +brif 76 L312 L313 +label L312 load 78 cn field 79 78 16 list children call 80 pith_list_len int 1 79 iconst 81 0 gt 82 80 81 -brif 82 L302 L303 -label L302 +brif 82 L315 L316 +label L315 load 83 cn field 84 83 16 list children iconst 85 0 call 86 pith_list_get_value_strict int 2 84 85 store guard_idx 86 -jmp L301 -label L303 -label L301 -jmp L298 -label L300 +jmp L314 +label L316 +label L314 +jmp L311 +label L313 load 87 arm field 88 87 16 list children load 89 j call 90 pith_list_get_value_strict int 2 88 89 store body_idx 90 -label L298 +label L311 load 91 j iconst 92 1 add 93 91 92 store j 93 -jmp L295 -label L297 +jmp L308 +label L310 load 94 pat_idx load 95 subj_r call 96 ir_match_emit_ir_emit_match_cond int 2 94 95 @@ -120307,8 +120371,8 @@ call 130 ir_match_emit_ir_emit_match_bindings void 3 127 128 129 load 131 guard_idx iconst 132 0 gte 133 131 132 -brif 133 L305 L306 -label L305 +brif 133 L318 L319 +label L318 load 134 guard_idx call 135 emit_expr int 1 134 store g_r 135 @@ -120340,9 +120404,9 @@ call 159 ir_builder_ir_emit void 1 157 call 160 pith_cstring_release void 1 157 load 161 body_l call 162 ir_call_emit_ir_emit_label void 1 161 -jmp L304 -label L306 -label L304 +jmp L317 +label L319 +label L317 load 163 body_idx load 164 result_temp load 165 emit_expr @@ -120351,25 +120415,25 @@ call 167 ir_match_emit_ir_emit_match_arm_body void 4 163 164 165 166 load 168 ir_call_emit_ir_last_was_ret iconst 170 1 sub 169 170 168 -brif 169 L308 L309 -label L308 +brif 169 L321 L322 +label L321 strref 171 m41s788 load 172 end_l concat 173 171 172 call 174 pith_cstring_release void 1 171 call 175 ir_builder_ir_emit void 1 173 call 176 pith_cstring_release void 1 173 -jmp L307 -label L309 -label L307 +jmp L320 +label L322 +label L320 load 177 next_l call 178 ir_call_emit_ir_emit_label void 1 177 load 179 i iconst 180 1 add 181 179 180 store i 181 -jmp L292 -label L294 +jmp L305 +label L307 call 182 ir_builder_ir_reg int 0 store zero_r 182 strref 183 m41s691 @@ -120461,26 +120525,26 @@ load 1 ir_builder_ir_current_func_return_kind call 2 string_len int 1 1 iconst 3 0 eq 4 2 3 -brif 4 L311 L312 -label L311 +brif 4 L324 L325 +label L324 iconst 5 0 iconst 6 1 sub 7 5 6 ret 7 -label L312 -label L310 +label L325 +label L323 load 8 ir_builder_ir_current_func_return_kind strref 9 m41s744 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L314 L315 -label L314 +brif 10 L327 L328 +label L327 iconst 12 0 iconst 13 1 sub 14 12 13 ret 14 -label L315 -label L313 +label L328 +label L326 load 15 body_idx call 16 ir_match_emit_ir_unwrap_tail_match int 1 15 ret 16 @@ -120501,75 +120565,75 @@ field 7 6 0 string kind strref 8 m41s513 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L317 L318 -label L317 +brif 9 L330 L331 +label L330 load 11 idx load 12 n call 13 pith_struct_release void 1 12 ret 11 -label L318 -label L316 +label L331 +label L329 iconst 14 0 -store __or_14_322 14 +store __or_14_335 14 iconst 15 0 -store __or_15_322 15 +store __or_15_335 15 iconst 16 0 -store __or_16_322 16 +store __or_16_335 16 load 17 n field 18 17 0 string kind strref 19 m41s66 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_16_322 20 -brif 20 L323 L322 -label L322 +store __or_16_335 20 +brif 20 L336 L335 +label L335 load 22 n field 23 22 0 string kind strref 24 m41s65 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_16_322 25 -label L323 -load 27 __or_16_322 -store __or_15_322 27 -brif 27 L325 L324 -label L324 +store __or_16_335 25 +label L336 +load 27 __or_16_335 +store __or_15_335 27 +brif 27 L338 L337 +label L337 load 28 n field 29 28 0 string kind strref 30 m41s544 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_15_322 31 -label L325 -load 33 __or_15_322 -store __or_14_322 33 -brif 33 L327 L326 -label L326 +store __or_15_335 31 +label L338 +load 33 __or_15_335 +store __or_14_335 33 +brif 33 L340 L339 +label L339 load 34 n field 35 34 0 string kind strref 36 m41s543 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_14_322 37 -label L327 -load 39 __or_14_322 -brif 39 L320 L321 -label L320 +store __or_14_335 37 +label L340 +load 39 __or_14_335 +brif 39 L333 L334 +label L333 load 40 n field 41 40 16 list children call 42 pith_list_len int 1 41 iconst 43 0 eq 44 42 43 -brif 44 L329 L330 -label L329 +brif 44 L342 L343 +label L342 iconst 45 0 iconst 46 1 sub 47 45 46 load 48 n call 49 pith_struct_release void 1 48 ret 47 -label L330 -label L328 +label L343 +label L341 load 50 n field 51 50 16 list children load 52 n @@ -120582,8 +120646,8 @@ call 58 ir_match_emit_ir_unwrap_tail_match int 1 57 load 59 n call 60 pith_struct_release void 1 59 ret 58 -label L321 -label L319 +label L334 +label L332 iconst 61 0 iconst 62 1 sub 63 61 62 @@ -143647,35 +143711,35 @@ string m51s893 "lte " string m51s894 "incl" string m51s895 "gte " string m51s896 " 0 int __enum_tag" -string m51s897 "ret " -string m51s898 "from_json_file" -string m51s899 "from_json_file_typed_prefix" -string m51s900 "from_toml_file" -string m51s901 "from_toml_file_typed_prefix" -string m51s902 "from_json" -string m51s903 "from_json_typed_prefix" -string m51s904 "from_toml" -string m51s905 "from_toml_typed_prefix" -string m51s906 "pool_restore" -string m51s907 "object_require_object" -string m51s908 "json_file_parts_idx" -string m51s909 "json_file_parts_len" -string m51s910 "json_file_parts" -string m51s911 "json_file_current" -string m51s912 "require_object_handle" -string m51s913 "parse_file" -string m51s914 "pool_mark_array_len" -string m51s915 "pool_mark_node_id" -string m51s916 "json_decode_file_path" -string m51s917 "json_decode_file" -string m51s918 "json_parts_idx" -string m51s919 "json_parts_len" -string m51s920 "json_parts" -string m51s921 "json_current" -string m51s922 "parse" -string m51s923 "json_decode_path" -string m51s924 "json_decode_object" -string m51s925 "endfunc" +string m51s897 "from_json_file" +string m51s898 "from_json_file_typed_prefix" +string m51s899 "from_toml_file" +string m51s900 "from_toml_file_typed_prefix" +string m51s901 "from_json" +string m51s902 "from_json_typed_prefix" +string m51s903 "from_toml" +string m51s904 "from_toml_typed_prefix" +string m51s905 "pool_restore" +string m51s906 "object_require_object" +string m51s907 "json_file_parts_idx" +string m51s908 "json_file_parts_len" +string m51s909 "json_file_parts" +string m51s910 "json_file_current" +string m51s911 "require_object_handle" +string m51s912 "parse_file" +string m51s913 "pool_mark_array_len" +string m51s914 "pool_mark_node_id" +string m51s915 "json_decode_file_path" +string m51s916 "json_decode_file" +string m51s917 "json_parts_idx" +string m51s918 "json_parts_len" +string m51s919 "json_parts" +string m51s920 "json_current" +string m51s921 "parse" +string m51s922 "json_decode_path" +string m51s923 "json_decode_object" +string m51s924 "endfunc" +string m51s925 "ret " string m51s926 " dotted_path" string m51s927 " handle" string m51s928 "parse_bytes_required" @@ -150705,215 +150769,341 @@ param is_result iconst 3 0 store node 3 iconst 4 0 -store child 4 -load 5 node -load 6 idx -call 7 ast_get_node struct:Node 1 6 -call 8 pith_struct_release void 1 5 -store node 7 -load 9 node -field 10 9 0 string kind -strref 11 m51s512 -call 12 pith_cstring_eq bool 2 10 11 -call 13 pith_cstring_release void 1 11 -brif 12 L728 L729 +store subj 4 +iconst 5 0 +store child 5 +load 6 node +load 7 idx +call 8 ast_get_node struct:Node 1 7 +call 9 pith_struct_release void 1 6 +store node 8 +load 10 node +field 11 10 0 string kind +strref 12 m51s512 +call 13 pith_cstring_eq bool 2 11 12 +call 14 pith_cstring_release void 1 12 +brif 13 L728 L729 label L728 -load 14 idx -load 15 name -call 16 ir_emitter_core_ir_subtree_mentions_ident bool 2 14 15 -iconst 18 1 -sub 17 18 16 -load 19 node -call 20 pith_struct_release void 1 19 -load 21 child -call 22 pith_struct_release void 1 21 -ret 17 +load 15 idx +load 16 name +call 17 ir_emitter_core_ir_subtree_mentions_ident bool 2 15 16 +iconst 19 1 +sub 18 19 17 +load 20 node +call 21 pith_struct_release void 1 20 +load 22 subj +call 23 pith_struct_release void 1 22 +load 24 child +call 25 pith_struct_release void 1 24 +ret 18 label L729 label L727 -load 23 node -field 24 23 0 string kind -strref 25 m51s510 -call 26 pith_cstring_eq bool 2 24 25 -call 27 pith_cstring_release void 1 25 -brif 26 L731 L732 +load 26 node +field 27 26 0 string kind +strref 28 m51s510 +call 29 pith_cstring_eq bool 2 27 28 +call 30 pith_cstring_release void 1 28 +brif 29 L731 L732 label L731 -load 28 idx -load 29 name -call 30 ir_emitter_core_ir_subtree_mentions_ident bool 2 28 29 -iconst 32 1 -sub 31 32 30 -load 33 node -call 34 pith_struct_release void 1 33 -load 35 child -call 36 pith_struct_release void 1 35 -ret 31 +load 31 idx +load 32 name +call 33 ir_emitter_core_ir_subtree_mentions_ident bool 2 31 32 +iconst 35 1 +sub 34 35 33 +load 36 node +call 37 pith_struct_release void 1 36 +load 38 subj +call 39 pith_struct_release void 1 38 +load 40 child +call 41 pith_struct_release void 1 40 +ret 34 label L732 label L730 -iconst 37 0 -store __and_37_736 37 -load 38 node -field 39 38 0 string kind -strref 40 m51s599 -call 41 pith_cstring_eq bool 2 39 40 -call 42 pith_cstring_release void 1 40 -store __and_37_736 41 -brif 41 L736 L737 -label L736 +iconst 42 0 +store __and_42_736 42 load 43 node -field 44 43 16 list children -call 45 pith_list_len int 1 44 -iconst 46 0 -gt 47 45 46 -store __and_37_736 47 +field 44 43 0 string kind +strref 45 m51s599 +call 46 pith_cstring_eq bool 2 44 45 +call 47 pith_cstring_release void 1 45 +store __and_42_736 46 +brif 46 L736 L737 +label L736 +load 48 node +field 49 48 16 list children +call 50 pith_list_len int 1 49 +iconst 51 0 +gt 52 50 51 +store __and_42_736 52 label L737 -load 48 __and_37_736 -brif 48 L734 L735 +load 53 __and_42_736 +brif 53 L734 L735 label L734 -load 49 node -field 50 49 16 list children -iconst 51 0 -call 52 pith_list_get_value_strict int 2 50 51 -load 53 name -call 54 ir_emitter_core_ir_subtree_mentions_ident bool 2 52 53 -brif 54 L739 L740 +load 54 node +field 55 54 16 list children +iconst 56 0 +call 57 pith_list_get_value_strict int 2 55 56 +load 58 name +call 59 ir_emitter_core_ir_subtree_mentions_ident bool 2 57 58 +brif 59 L739 L740 label L739 -iconst 55 0 -load 56 node -call 57 pith_struct_release void 1 56 -load 58 child -call 59 pith_struct_release void 1 58 -ret 55 +iconst 60 0 +load 61 node +call 62 pith_struct_release void 1 61 +load 63 subj +call 64 pith_struct_release void 1 63 +load 65 child +call 66 pith_struct_release void 1 65 +ret 60 label L740 label L738 jmp L733 label L735 label L733 -iconst 60 0 -store __and_60_744 60 -load 61 node -field 62 61 0 string kind -strref 63 m51s44 -call 64 pith_cstring_eq bool 2 62 63 -call 65 pith_cstring_release void 1 63 -store __and_60_744 64 -brif 64 L744 L745 +iconst 67 0 +store __and_67_744 67 +load 68 node +field 69 68 0 string kind +strref 70 m51s44 +call 71 pith_cstring_eq bool 2 69 70 +call 72 pith_cstring_release void 1 70 +store __and_67_744 71 +brif 71 L744 L745 label L744 -load 66 node -field 67 66 16 list children -call 68 pith_list_len int 1 67 -iconst 69 0 -gt 70 68 69 -store __and_60_744 70 +load 73 node +field 74 73 16 list children +call 75 pith_list_len int 1 74 +iconst 76 0 +gt 77 75 76 +store __and_67_744 77 label L745 -load 71 __and_60_744 -brif 71 L742 L743 +load 78 __and_67_744 +brif 78 L742 L743 label L742 -load 72 node -load 73 name -load 74 is_result -call 75 ir_emitter_core_ir_tuple_call_uses_safe bool 3 72 73 74 -load 76 node -call 77 pith_struct_release void 1 76 -load 78 child -call 79 pith_struct_release void 1 78 -ret 75 +load 79 node +load 80 name +load 81 is_result +call 82 ir_emitter_core_ir_tuple_call_uses_safe bool 3 79 80 81 +load 83 node +call 84 pith_struct_release void 1 83 +load 85 subj +call 86 pith_struct_release void 1 85 +load 87 child +call 88 pith_struct_release void 1 87 +ret 82 label L743 label L741 -load 80 node -field 81 80 16 list children -call 82 pith_auto_len int 1 81 -iconst 83 0 -store __for_idx_331 83 -store __for_len_331 82 -store __for_iter_331 81 -label L746 -load 84 __for_idx_331 -load 85 __for_len_331 -lt 86 84 85 -brif 86 L747 L749 -label L747 -load 87 __for_iter_331 -load 88 __for_idx_331 -call 89 pith_list_get_value unknown 2 87 88 -store __loopvar_331_child_idx 89 -load 90 child -load 91 __loopvar_331_child_idx -call 92 ast_get_node struct:Node 1 91 -call 93 pith_struct_release void 1 90 -store child 92 -iconst 94 0 -store __and_94_753 94 -load 95 child -field 96 95 0 string kind -strref 97 m51s37 -call 98 pith_cstring_eq bool 2 96 97 -call 99 pith_cstring_release void 1 97 -store __and_94_753 98 -brif 98 L753 L754 -label L753 -load 100 child -field 101 100 8 string value -load 102 name -call 103 pith_cstring_eq bool 2 101 102 -store __and_94_753 103 -label L754 -load 104 __and_94_753 -brif 104 L751 L752 +iconst 89 0 +store __and_89_749 89 +iconst 90 0 +store __and_90_749 90 +load 91 is_result +iconst 93 1 +sub 92 93 91 +store __and_90_749 92 +brif 92 L749 L750 +label L749 +load 94 node +field 95 94 0 string kind +strref 96 m51s513 +call 97 pith_cstring_eq bool 2 95 96 +call 98 pith_cstring_release void 1 96 +store __and_90_749 97 +label L750 +load 99 __and_90_749 +store __and_89_749 99 +brif 99 L751 L752 label L751 -load 105 node -load 106 name -load 107 is_result -call 108 ir_emitter_core_ir_tuple_use_is_whitelisted bool 3 105 106 107 -iconst 110 1 -sub 109 110 108 -brif 109 L756 L757 +load 100 node +field 101 100 16 list children +call 102 pith_list_len int 1 101 +iconst 103 1 +gt 104 102 103 +store __and_89_749 104 +label L752 +load 105 __and_89_749 +brif 105 L747 L748 +label L747 +load 106 subj +load 107 node +field 108 107 16 list children +iconst 109 0 +call 110 pith_list_get_value_strict int 2 108 109 +call 111 ast_get_node struct:Node 1 110 +call 112 pith_struct_release void 1 106 +store subj 111 +iconst 113 0 +store __and_113_756 113 +load 114 subj +field 115 114 0 string kind +strref 116 m51s37 +call 117 pith_cstring_eq bool 2 115 116 +call 118 pith_cstring_release void 1 116 +store __and_113_756 117 +brif 117 L756 L757 label L756 -iconst 111 0 -load 112 node -call 113 pith_struct_release void 1 112 -load 114 child -call 115 pith_struct_release void 1 114 -ret 111 +load 119 subj +field 120 119 8 string value +load 121 name +call 122 pith_cstring_eq bool 2 120 121 +store __and_113_756 122 label L757 -label L755 -jmp L750 -label L752 -load 116 __loopvar_331_child_idx -load 117 name -load 118 is_result -call 119 ir_emitter_core_ir_tuple_uses_all_safe bool 3 116 117 118 -iconst 121 1 -sub 120 121 119 -brif 120 L759 L760 -label L759 -iconst 122 0 -load 123 node -call 124 pith_struct_release void 1 123 -load 125 child -call 126 pith_struct_release void 1 125 -ret 122 -label L760 +load 123 __and_113_756 +brif 123 L754 L755 +label L754 +iconst 124 1 +store mi 124 label L758 -label L750 -label L748 -load 127 __for_idx_331 -iconst 128 1 -add 129 127 128 -store __for_idx_331 129 -jmp L746 -label L749 -iconst 130 1 -load 131 node -call 132 pith_struct_release void 1 131 -load 133 child -call 134 pith_struct_release void 1 133 -ret 130 -load 135 node -call 136 pith_struct_release void 1 135 -load 137 child -call 138 pith_struct_release void 1 137 +load 125 mi +load 126 node +field 127 126 16 list children +call 128 pith_list_len int 1 127 +lt 129 125 128 +brif 129 L759 L760 +label L759 +load 130 node +field 131 130 16 list children +load 132 mi +call 133 pith_list_get_value_strict int 2 131 132 +load 134 name +load 135 is_result +call 136 ir_emitter_core_ir_tuple_uses_all_safe bool 3 133 134 135 +iconst 138 1 +sub 137 138 136 +brif 137 L762 L763 +label L762 iconst 139 0 +load 140 node +call 141 pith_struct_release void 1 140 +load 142 subj +call 143 pith_struct_release void 1 142 +load 144 child +call 145 pith_struct_release void 1 144 ret 139 +label L763 +label L761 +load 146 mi +iconst 147 1 +add 148 146 147 +store mi 148 +jmp L758 +label L760 +iconst 149 1 +load 150 node +call 151 pith_struct_release void 1 150 +load 152 subj +call 153 pith_struct_release void 1 152 +load 154 child +call 155 pith_struct_release void 1 154 +ret 149 +label L755 +label L753 +jmp L746 +label L748 +label L746 +load 156 node +field 157 156 16 list children +call 158 pith_auto_len int 1 157 +iconst 159 0 +store __for_idx_331 159 +store __for_len_331 158 +store __for_iter_331 157 +label L764 +load 160 __for_idx_331 +load 161 __for_len_331 +lt 162 160 161 +brif 162 L765 L767 +label L765 +load 163 __for_iter_331 +load 164 __for_idx_331 +call 165 pith_list_get_value unknown 2 163 164 +store __loopvar_331_child_idx 165 +load 166 child +load 167 __loopvar_331_child_idx +call 168 ast_get_node struct:Node 1 167 +call 169 pith_struct_release void 1 166 +store child 168 +iconst 170 0 +store __and_170_771 170 +load 171 child +field 172 171 0 string kind +strref 173 m51s37 +call 174 pith_cstring_eq bool 2 172 173 +call 175 pith_cstring_release void 1 173 +store __and_170_771 174 +brif 174 L771 L772 +label L771 +load 176 child +field 177 176 8 string value +load 178 name +call 179 pith_cstring_eq bool 2 177 178 +store __and_170_771 179 +label L772 +load 180 __and_170_771 +brif 180 L769 L770 +label L769 +load 181 node +load 182 name +load 183 is_result +call 184 ir_emitter_core_ir_tuple_use_is_whitelisted bool 3 181 182 183 +iconst 186 1 +sub 185 186 184 +brif 185 L774 L775 +label L774 +iconst 187 0 +load 188 node +call 189 pith_struct_release void 1 188 +load 190 subj +call 191 pith_struct_release void 1 190 +load 192 child +call 193 pith_struct_release void 1 192 +ret 187 +label L775 +label L773 +jmp L768 +label L770 +load 194 __loopvar_331_child_idx +load 195 name +load 196 is_result +call 197 ir_emitter_core_ir_tuple_uses_all_safe bool 3 194 195 196 +iconst 199 1 +sub 198 199 197 +brif 198 L777 L778 +label L777 +iconst 200 0 +load 201 node +call 202 pith_struct_release void 1 201 +load 203 subj +call 204 pith_struct_release void 1 203 +load 205 child +call 206 pith_struct_release void 1 205 +ret 200 +label L778 +label L776 +label L768 +label L766 +load 207 __for_idx_331 +iconst 208 1 +add 209 207 208 +store __for_idx_331 209 +jmp L764 +label L767 +iconst 210 1 +load 211 node +call 212 pith_struct_release void 1 211 +load 213 subj +call 214 pith_struct_release void 1 213 +load 215 child +call 216 pith_struct_release void 1 215 +ret 210 +load 217 node +call 218 pith_struct_release void 1 217 +load 219 subj +call 220 pith_struct_release void 1 219 +load 221 child +call 222 pith_struct_release void 1 221 +iconst 223 0 +ret 223 endfunc func ir_emitter_core_ir_tuple_cascade_scan 1 void param body_idx @@ -150926,25 +151116,25 @@ store ir_emitter_core_ir_tuple_cascade_names 3 load 4 body_idx iconst 5 0 lt 6 4 5 -brif 6 L762 L763 -label L762 +brif 6 L780 L781 +label L780 load 7 name call 8 pith_cstring_release void 1 7 load 9 kind call 10 pith_cstring_release void 1 9 iconst 11 0 ret 11 -label L763 -label L761 +label L781 +label L779 iconst 12 0 store i 12 -label L764 +label L782 load 13 i load 14 ir_emitter_core_ir_string_locals call 15 pith_list_len int 1 14 lt 16 13 15 -brif 16 L765 L766 -label L765 +brif 16 L783 L784 +label L783 load 17 name load 18 ir_emitter_core_ir_string_locals load 19 i @@ -150960,8 +151150,8 @@ load 26 i load 27 ir_emitter_core_ir_rc_local_kinds call 28 pith_list_len int 1 27 lt 29 26 28 -brif 29 L768 L769 -label L768 +brif 29 L786 L787 +label L786 load 30 kind load 31 ir_emitter_core_ir_rc_local_kinds load 32 i @@ -150969,58 +151159,58 @@ call 33 pith_list_get_value_strict string 2 31 32 call 34 pith_cstring_retain void 1 33 call 35 pith_cstring_release void 1 30 store kind 33 -jmp L767 -label L769 -label L767 +jmp L785 +label L787 +label L785 iconst 36 0 -store __and_36_773 36 +store __and_36_791 36 iconst 37 0 -store __and_37_773 37 +store __and_37_791 37 load 38 kind strref 39 m51s23 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_37_773 40 -brif 40 L773 L774 -label L773 +store __and_37_791 40 +brif 40 L791 L792 +label L791 load 42 ir_emitter_core_ir_tuple_local_tid load 43 name call 44 contains_key bool 2 42 43 -store __and_37_773 44 -label L774 -load 45 __and_37_773 -store __and_36_773 45 -brif 45 L775 L776 -label L775 +store __and_37_791 44 +label L792 +load 45 __and_37_791 +store __and_36_791 45 +brif 45 L793 L794 +label L793 load 46 ir_builder_ir_var_regs load 47 name call 48 contains_key bool 2 46 47 iconst 50 1 sub 49 50 48 -store __and_36_773 49 -label L776 -load 51 __and_36_773 -brif 51 L771 L772 -label L771 +store __and_36_791 49 +label L794 +load 51 __and_36_791 +brif 51 L789 L790 +label L789 load 52 ir_emitter_core_ir_tuple_local_tid load 53 name call 54 map_get_strict int 2 52 53 store tid 54 iconst 55 0 -store __and_55_780 55 +store __and_55_798 55 load 56 tid iconst 57 0 gte 58 56 57 -store __and_55_780 58 -brif 58 L780 L781 -label L780 +store __and_55_798 58 +brif 58 L798 L799 +label L798 load 59 tid call 60 ir_emitter_core_ir_tuple_local_has_rc_payload bool 1 59 -store __and_55_780 60 -label L781 -load 61 __and_55_780 -brif 61 L778 L779 -label L778 +store __and_55_798 60 +label L799 +load 61 __and_55_798 +brif 61 L796 L797 +label L796 load 62 tid call 63 types_get_type_info struct:TypeInfo 1 62 field 64 63 0 string kind @@ -151032,26 +151222,26 @@ load 68 body_idx load 69 name load 70 is_result call 71 ir_emitter_core_ir_tuple_uses_all_safe bool 3 68 69 70 -brif 71 L783 L784 -label L783 +brif 71 L801 L802 +label L801 load 72 ir_emitter_core_ir_tuple_cascade_names load 73 name call 74 pith_list_push_value void 2 72 73 -jmp L782 -label L784 -label L782 -jmp L777 -label L779 -label L777 -jmp L770 -label L772 -label L770 +jmp L800 +label L802 +label L800 +jmp L795 +label L797 +label L795 +jmp L788 +label L790 +label L788 load 75 i iconst 76 1 add 77 75 76 store i 77 -jmp L764 -label L766 +jmp L782 +label L784 load 78 name call 79 pith_cstring_release void 1 78 load 80 kind @@ -151073,8 +151263,8 @@ field 7 6 0 string kind strref 8 m51s22 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L786 L787 -label L786 +brif 9 L804 L805 +label L804 load 11 tid strref 12 m51s190 call 13 ir_result_abi_ir_result_field_kind string 2 11 12 @@ -151085,14 +151275,14 @@ call 17 string_len int 1 15 call 18 pith_cstring_release void 1 15 iconst 19 0 gt 20 17 19 -brif 20 L789 L790 -label L789 +brif 20 L807 L808 +label L807 iconst 21 1 load 22 info call 23 pith_struct_release void 1 22 ret 21 -label L790 -label L788 +label L808 +label L806 load 24 tid strref 25 m51s189 call 26 ir_result_abi_ir_result_field_kind string 2 24 25 @@ -151106,27 +151296,27 @@ gt 33 30 32 load 34 info call 35 pith_struct_release void 1 34 ret 33 -label L787 -label L785 +label L805 +label L803 iconst 36 0 -store __and_36_794 36 +store __and_36_812 36 load 37 info field 38 37 0 string kind strref 39 m51s21 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_794 40 -brif 40 L794 L795 -label L794 +store __and_36_812 40 +brif 40 L812 L813 +label L812 load 42 info field 43 42 64 int inner iconst 44 0 gte 45 43 44 -store __and_36_794 45 -label L795 -load 46 __and_36_794 -brif 46 L792 L793 -label L792 +store __and_36_812 45 +label L813 +load 46 __and_36_812 +brif 46 L810 L811 +label L810 load 47 info field 48 47 64 int inner call 49 ir_type_helpers_ir_type_from_tid string 1 48 @@ -151139,8 +151329,8 @@ gt 55 52 54 load 56 info call 57 pith_struct_release void 1 56 ret 55 -label L793 -label L791 +label L811 +label L809 iconst 58 0 load 59 info call 60 pith_struct_release void 1 59 @@ -151168,8 +151358,8 @@ field 9 8 0 string kind strref 10 m51s22 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L797 L798 -label L797 +brif 11 L815 L816 +label L815 load 13 ok_code load 14 tid strref 15 m51s190 @@ -151202,27 +151392,27 @@ call 39 pith_cstring_release void 1 38 load 40 err_code call 41 pith_cstring_release void 1 40 ret 35 -label L798 -label L796 +label L816 +label L814 iconst 42 0 -store __and_42_802 42 +store __and_42_820 42 load 43 info field 44 43 0 string kind strref 45 m51s21 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -store __and_42_802 46 -brif 46 L802 L803 -label L802 +store __and_42_820 46 +brif 46 L820 L821 +label L820 load 48 info field 49 48 64 int inner iconst 50 0 gte 51 49 50 -store __and_42_802 51 -label L803 -load 52 __and_42_802 -brif 52 L800 L801 -label L800 +store __and_42_820 51 +label L821 +load 52 __and_42_820 +brif 52 L818 L819 +label L818 load 53 info field 54 53 64 int inner call 55 ir_type_helpers_ir_type_from_tid string 1 54 @@ -151241,8 +151431,8 @@ call 67 pith_cstring_release void 1 66 load 68 err_code call 69 pith_cstring_release void 1 68 ret 61 -label L801 -label L799 +label L819 +label L817 strref 70 m51s1338 load 71 info call 72 pith_struct_release void 1 71 @@ -151288,46 +151478,46 @@ store info 3 iconst 4 0 store sig 4 iconst 5 0 -store __and_5_807 5 +store __and_5_825 5 load 6 kind strref 7 m51s23 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __and_5_807 8 -brif 8 L807 L808 -label L807 +store __and_5_825 8 +brif 8 L825 L826 +label L825 load 10 ir_emitter_core_ir_tuple_cascade_names load 11 name iconst 12 -1 -store __list_index_result_L809 12 +store __list_index_result_L827 12 iconst 13 0 -store __list_index_i_L810 13 +store __list_index_i_L828 13 call 14 pith_list_len int 1 10 -label L811 -load 15 __list_index_i_L810 +label L829 +load 15 __list_index_i_L828 lt 16 15 14 -brif 16 L812 L815 -label L812 +brif 16 L830 L833 +label L830 call 17 pith_list_get_value string 2 10 15 call 18 pith_cstring_eq bool 2 17 11 -brif 18 L813 L814 -label L813 -store __list_index_result_L809 15 -jmp L815 -label L814 +brif 18 L831 L832 +label L831 +store __list_index_result_L827 15 +jmp L833 +label L832 iconst 19 1 add 20 15 19 -store __list_index_i_L810 20 -jmp L811 -label L815 -load 21 __list_index_result_L809 +store __list_index_i_L828 20 +jmp L829 +label L833 +load 21 __list_index_result_L827 iconst 22 0 gte 23 21 22 -store __and_5_807 23 -label L808 -load 24 __and_5_807 -brif 24 L805 L806 -label L805 +store __and_5_825 23 +label L826 +load 24 __and_5_825 +brif 24 L823 L824 +label L823 load 25 ir_emitter_core_ir_tuple_local_tid load 26 name call 27 map_get_strict int 2 25 26 @@ -151338,25 +151528,25 @@ call 30 types_get_type_info struct:TypeInfo 1 29 call 31 pith_struct_release void 1 28 store info 30 iconst 32 0 -store __or_32_819 32 +store __or_32_837 32 load 33 info field 34 33 0 string kind strref 35 m51s22 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_32_819 36 -brif 36 L820 L819 -label L819 +store __or_32_837 36 +brif 36 L838 L837 +label L837 load 38 info field 39 38 0 string kind strref 40 m51s21 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_32_819 41 -label L820 -load 43 __or_32_819 -brif 43 L817 L818 -label L817 +store __or_32_837 41 +label L838 +load 43 __or_32_837 +brif 43 L835 L836 +label L835 load 44 sig load 45 tid call 46 ir_emitter_core_ir_tuple_cascade_signature string 1 45 @@ -151365,40 +151555,40 @@ store sig 46 load 48 ir_emitter_core_ir_tuple_cascade_sigs load 49 sig iconst 50 -1 -store __list_index_result_L824 50 +store __list_index_result_L842 50 iconst 51 0 -store __list_index_i_L825 51 +store __list_index_i_L843 51 call 52 pith_list_len int 1 48 -label L826 -load 53 __list_index_i_L825 +label L844 +load 53 __list_index_i_L843 lt 54 53 52 -brif 54 L827 L830 -label L827 +brif 54 L845 L848 +label L845 call 55 pith_list_get_value string 2 48 53 call 56 pith_cstring_eq bool 2 55 49 -brif 56 L828 L829 -label L828 -store __list_index_result_L824 53 -jmp L830 -label L829 +brif 56 L846 L847 +label L846 +store __list_index_result_L842 53 +jmp L848 +label L847 iconst 57 1 add 58 53 57 -store __list_index_i_L825 58 -jmp L826 -label L830 -load 59 __list_index_result_L824 +store __list_index_i_L843 58 +jmp L844 +label L848 +load 59 __list_index_result_L842 iconst 60 0 gte 61 59 60 iconst 63 1 sub 62 63 61 -brif 62 L822 L823 -label L822 +brif 62 L840 L841 +label L840 load 64 ir_emitter_core_ir_tuple_cascade_sigs load 65 sig call 66 pith_list_push_value void 2 64 65 -jmp L821 -label L823 -label L821 +jmp L839 +label L841 +label L839 call 67 ir_builder_ir_reg int 0 load 68 sig call 69 ir_emitter_core_ir_tuple_cascade_helper_name string 1 68 @@ -151413,11 +151603,11 @@ load 77 sig call 78 pith_cstring_release void 1 77 iconst 79 0 ret 79 -label L818 -label L816 -jmp L804 -label L806 -label L804 +label L836 +label L834 +jmp L822 +label L824 +label L822 load 80 r load 81 kind call 82 ir_ownership_ir_rc_release_reg void 2 80 81 @@ -151449,12 +151639,12 @@ iconst 9 0 store __for_idx_332 9 store __for_len_332 8 store __for_iter_332 7 -label L831 +label L849 load 10 __for_idx_332 load 11 __for_len_332 lt 12 10 11 -brif 12 L832 L834 -label L832 +brif 12 L850 L852 +label L850 load 13 __for_iter_332 load 14 __for_idx_332 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -151637,8 +151827,8 @@ load 179 ok_kind call 180 string_len int 1 179 iconst 181 0 gt 182 180 181 -brif 182 L836 L837 -label L836 +brif 182 L854 L855 +label L854 call 183 ir_builder_ir_reg int 0 store ok_r 183 strref 184 m51s885 @@ -151665,9 +151855,9 @@ call 204 pith_cstring_release void 1 200 load 205 ok_r load 206 ok_kind call 207 ir_ownership_ir_rc_release_reg void 2 205 206 -jmp L835 -label L837 -label L835 +jmp L853 +label L855 +label L853 strref 208 m51s881 load 209 rel_l concat 210 208 209 @@ -151680,8 +151870,8 @@ load 216 err_kind call 217 string_len int 1 216 iconst 218 0 gt 219 217 218 -brif 219 L839 L840 -label L839 +brif 219 L857 L858 +label L857 call 220 ir_builder_ir_reg int 0 store err_r 220 strref 221 m51s885 @@ -151708,9 +151898,9 @@ call 241 pith_cstring_release void 1 237 load 242 err_r load 243 err_kind call 244 ir_ownership_ir_rc_release_reg void 2 242 243 -jmp L838 -label L840 -label L838 +jmp L856 +label L858 +label L856 strref 245 m51s881 load 246 rel_l concat 247 245 246 @@ -151748,7 +151938,7 @@ call 277 pith_cstring_release void 1 272 call 278 pith_cstring_release void 1 275 call 279 ir_builder_ir_emit void 1 276 call 280 pith_cstring_release void 1 276 -strref 281 m51s897 +strref 281 m51s925 load 282 ret_r call 283 int_to_string string 1 282 concat 284 281 283 @@ -151756,16 +151946,16 @@ call 285 pith_cstring_release void 1 281 call 286 pith_cstring_release void 1 283 call 287 ir_builder_ir_emit void 1 284 call 288 pith_cstring_release void 1 284 -strref 289 m51s925 +strref 289 m51s924 call 290 ir_builder_ir_emit void 1 289 call 291 pith_cstring_release void 1 289 -label L833 +label L851 load 292 __for_idx_332 iconst 293 1 add 294 292 293 store __for_idx_332 294 -jmp L831 -label L834 +jmp L849 +label L852 load 295 ok_kind call 296 pith_cstring_release void 1 295 load 297 err_kind @@ -151791,13 +151981,13 @@ iconst 2 0 store kind 2 iconst 3 0 store i 3 -label L841 +label L859 load 4 i load 5 ir_emitter_core_ir_string_locals call 6 pith_list_len int 1 5 lt 7 4 6 -brif 7 L842 L843 -label L842 +brif 7 L860 L861 +label L860 load 8 name load 9 ir_emitter_core_ir_string_locals load 10 i @@ -151813,8 +152003,8 @@ load 17 i load 18 ir_emitter_core_ir_rc_local_kinds call 19 pith_list_len int 1 18 lt 20 17 19 -brif 20 L845 L846 -label L845 +brif 20 L863 L864 +label L863 load 21 kind load 22 ir_emitter_core_ir_rc_local_kinds load 23 i @@ -151822,26 +152012,26 @@ call 24 pith_list_get_value_strict string 2 22 23 call 25 pith_cstring_retain void 1 24 call 26 pith_cstring_release void 1 21 store kind 24 -jmp L844 -label L846 -label L844 +jmp L862 +label L864 +label L862 iconst 27 0 -store __and_27_850 27 +store __and_27_868 27 load 28 name load 29 exclude call 31 pith_cstring_eq bool 2 28 29 iconst 32 1 sub 30 32 31 -store __and_27_850 30 -brif 30 L850 L851 -label L850 +store __and_27_868 30 +brif 30 L868 L869 +label L868 load 33 kind call 34 ir_ownership_ir_rc_release_enabled bool 1 33 -store __and_27_850 34 -label L851 -load 35 __and_27_850 -brif 35 L848 L849 -label L848 +store __and_27_868 34 +label L869 +load 35 __and_27_868 +brif 35 L866 L867 +label L866 call 36 ir_builder_ir_reg int 0 store r 36 load 37 r @@ -151851,15 +152041,15 @@ load 40 r load 41 kind load 42 name call 43 ir_emitter_core_ir_rc_release_local void 3 40 41 42 -jmp L847 -label L849 -label L847 +jmp L865 +label L867 +label L865 load 44 i iconst 45 1 add 46 44 45 store i 46 -jmp L841 -label L843 +jmp L859 +label L861 load 47 name call 48 pith_cstring_release void 1 47 load 49 kind @@ -151888,35 +152078,35 @@ load 10 parts field 11 10 16 int type_idx iconst 12 0 gte 13 11 12 -brif 13 L853 L854 -label L853 +brif 13 L871 L872 +label L871 load 14 bind_type load 15 parts field 16 15 16 int type_idx call 17 ir_alias_registry_ir_resolve_type_node string 1 16 call 18 pith_cstring_release void 1 14 store bind_type 17 -jmp L852 -label L854 -label L852 +jmp L870 +label L872 +label L870 iconst 19 0 -store __and_19_858 19 +store __and_19_876 19 load 20 bind_type call 21 string_len int 1 20 iconst 22 0 eq 23 21 22 -store __and_19_858 23 -brif 23 L858 L859 -label L858 +store __and_19_876 23 +brif 23 L876 L877 +label L876 load 24 parts field 25 24 8 int val_idx iconst 26 0 gte 27 25 26 -store __and_19_858 27 -label L859 -load 28 __and_19_858 -brif 28 L856 L857 -label L856 +store __and_19_876 27 +label L877 +load 28 __and_19_876 +brif 28 L874 L875 +label L874 load 29 val_node load 30 parts field 31 30 8 int val_idx @@ -151924,56 +152114,56 @@ call 32 ast_get_node struct:Node 1 31 call 33 pith_struct_release void 1 29 store val_node 32 iconst 34 0 -store __and_34_863 34 +store __and_34_881 34 load 35 val_node field 36 35 0 string kind strref 37 m51s37 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __and_34_863 38 -brif 38 L863 L864 -label L863 +store __and_34_881 38 +brif 38 L881 L882 +label L881 load 40 names load 41 val_node field 42 41 8 string value iconst 43 -1 -store __list_index_result_L865 43 +store __list_index_result_L883 43 iconst 44 0 -store __list_index_i_L866 44 +store __list_index_i_L884 44 call 45 pith_list_len int 1 40 -label L867 -load 46 __list_index_i_L866 +label L885 +load 46 __list_index_i_L884 lt 47 46 45 -brif 47 L868 L871 -label L868 +brif 47 L886 L889 +label L886 call 48 pith_list_get_value string 2 40 46 call 49 pith_cstring_eq bool 2 48 42 -brif 49 L869 L870 -label L869 -store __list_index_result_L865 46 -jmp L871 -label L870 +brif 49 L887 L888 +label L887 +store __list_index_result_L883 46 +jmp L889 +label L888 iconst 50 1 add 51 46 50 -store __list_index_i_L866 51 -jmp L867 -label L871 -load 52 __list_index_result_L865 +store __list_index_i_L884 51 +jmp L885 +label L889 +load 52 __list_index_result_L883 iconst 53 0 gte 54 52 53 -store __and_34_863 54 -label L864 -load 55 __and_34_863 -brif 55 L861 L862 -label L861 +store __and_34_881 54 +label L882 +load 55 __and_34_881 +brif 55 L879 L880 +label L879 load 56 bind_type load 57 val_node field 58 57 8 string value call 59 ir_emitter_core_ir_rc_local_kind string 1 58 call 60 pith_cstring_release void 1 56 store bind_type 59 -jmp L860 -label L862 +jmp L878 +label L880 load 61 bind_type load 62 parts field 63 62 8 int val_idx @@ -151984,93 +152174,93 @@ load 66 bind_type call 67 string_len int 1 66 iconst 68 0 eq 69 67 68 -brif 69 L873 L874 -label L873 +brif 69 L891 L892 +label L891 load 70 bind_type load 71 parts field 72 71 8 int val_idx call 73 ir_emitter_core_ir_infer_type string 1 72 call 74 pith_cstring_release void 1 70 store bind_type 73 -jmp L872 -label L874 -label L872 +jmp L890 +label L892 +label L890 iconst 75 0 -store __and_75_878 75 +store __and_75_896 75 load 76 bind_type call 77 ir_struct_registry_ir_rc_kind string 1 76 call 78 string_len int 1 77 call 79 pith_cstring_release void 1 77 iconst 80 0 eq 81 78 80 -store __and_75_878 81 -brif 81 L878 L879 -label L878 +store __and_75_896 81 +brif 81 L896 L897 +label L896 iconst 82 0 -store __or_82_880 82 +store __or_82_898 82 load 83 val_node field 84 83 0 string kind strref 85 m51s130 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -store __or_82_880 86 -brif 86 L881 L880 -label L880 +store __or_82_898 86 +brif 86 L899 L898 +label L898 load 88 val_node field 89 88 0 string kind strref 90 m51s44 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -store __or_82_880 91 -label L881 -load 93 __or_82_880 -store __and_75_878 93 -label L879 -load 94 __and_75_878 -brif 94 L876 L877 -label L876 +store __or_82_898 91 +label L899 +load 93 __or_82_898 +store __and_75_896 93 +label L897 +load 94 __and_75_896 +brif 94 L894 L895 +label L894 load 95 bind_type load 96 parts field 97 96 8 int val_idx call 98 ir_emitter_core_ir_expr_result_kind string 1 97 call 99 pith_cstring_release void 1 95 store bind_type 98 -jmp L875 -label L877 -label L875 +jmp L893 +label L895 +label L893 iconst 100 0 -store __and_100_885 100 +store __and_100_903 100 iconst 101 0 -store __or_101_885 101 +store __or_101_903 101 load 102 val_node field 103 102 0 string kind strref 104 m51s516 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -store __or_101_885 105 -brif 105 L886 L885 -label L885 +store __or_101_903 105 +brif 105 L904 L903 +label L903 load 107 val_node field 108 107 0 string kind strref 109 m51s515 call 110 pith_cstring_eq bool 2 108 109 call 111 pith_cstring_release void 1 109 -store __or_101_885 110 -label L886 -load 112 __or_101_885 -store __and_100_885 112 -brif 112 L887 L888 -label L887 +store __or_101_903 110 +label L904 +load 112 __or_101_903 +store __and_100_903 112 +brif 112 L905 L906 +label L905 load 113 val_node field 114 113 16 list children call 115 pith_list_len int 1 114 iconst 116 0 gt 117 115 116 -store __and_100_885 117 -label L888 -load 118 __and_100_885 -brif 118 L883 L884 -label L883 +store __and_100_903 117 +label L906 +load 118 __and_100_903 +brif 118 L901 L902 +label L901 load 119 catch_ok load 120 val_node field 121 120 16 list children @@ -152085,25 +152275,25 @@ call 128 string_len int 1 127 call 129 pith_cstring_release void 1 127 iconst 130 0 gt 131 128 130 -brif 131 L890 L891 -label L890 +brif 131 L908 L909 +label L908 load 132 bind_type load 133 catch_ok call 134 pith_cstring_retain void 1 133 call 135 pith_cstring_release void 1 132 store bind_type 133 -jmp L889 -label L891 -label L889 -jmp L882 -label L884 -label L882 +jmp L907 +label L909 +label L907 +jmp L900 +label L902 +label L900 iconst 136 0 -store __and_136_895 136 +store __and_136_913 136 iconst 137 0 -store __and_137_895 137 +store __and_137_913 137 iconst 138 0 -store __and_138_895 138 +store __and_138_913 138 load 139 bind_type call 140 ir_emitter_core_ir_substitute_type_name string 1 139 call 141 ir_struct_registry_ir_rc_kind string 1 140 @@ -152112,40 +152302,40 @@ call 143 string_len int 1 141 call 144 pith_cstring_release void 1 141 iconst 145 0 eq 146 143 145 -store __and_138_895 146 -brif 146 L895 L896 -label L895 +store __and_138_913 146 +brif 146 L913 L914 +label L913 load 147 val_node field 148 147 0 string kind strref 149 m51s35 call 150 pith_cstring_eq bool 2 148 149 call 151 pith_cstring_release void 1 149 -store __and_138_895 150 -label L896 -load 152 __and_138_895 -store __and_137_895 152 -brif 152 L897 L898 -label L897 +store __and_138_913 150 +label L914 +load 152 __and_138_913 +store __and_137_913 152 +brif 152 L915 L916 +label L915 load 153 val_node field 154 153 16 list children call 155 pith_list_len int 1 154 iconst 156 0 gt 157 155 156 -store __and_137_895 157 -label L898 -load 158 __and_137_895 -store __and_136_895 158 -brif 158 L899 L900 -label L899 +store __and_137_913 157 +label L916 +load 158 __and_137_913 +store __and_136_913 158 +brif 158 L917 L918 +label L917 load 159 ir_emitter_core_ir_current_impl_type call 160 string_len int 1 159 iconst 161 0 gt 162 160 161 -store __and_136_895 162 -label L900 -load 163 __and_136_895 -brif 163 L893 L894 -label L893 +store __and_136_913 162 +label L918 +load 163 __and_136_913 +brif 163 L911 L912 +label L911 load 164 list_node load 165 val_node field 166 165 16 list children @@ -152159,8 +152349,8 @@ field 172 171 0 string kind strref 173 m51s36 call 174 pith_cstring_eq bool 2 172 173 call 175 pith_cstring_release void 1 173 -brif 174 L902 L903 -label L902 +brif 174 L920 L921 +label L920 load 176 elem load 177 list_node field 178 177 8 string value @@ -152171,26 +152361,26 @@ load 181 elem call 182 string_len int 1 181 iconst 183 0 gt 184 182 183 -brif 184 L905 L906 -label L905 +brif 184 L923 L924 +label L923 load 185 bind_type load 186 elem call 187 pith_cstring_retain void 1 186 call 188 pith_cstring_release void 1 185 store bind_type 186 -jmp L904 -label L906 -label L904 -jmp L901 -label L903 -label L901 -jmp L892 -label L894 -label L892 -label L860 -jmp L855 -label L857 -label L855 +jmp L922 +label L924 +label L922 +jmp L919 +label L921 +label L919 +jmp L910 +label L912 +label L910 +label L878 +jmp L873 +label L875 +label L873 load 189 bind_type load 190 val_node call 191 pith_struct_release void 1 190 @@ -152228,8 +152418,8 @@ load 5 ir_emitter_core_ir_current_impl_type call 6 string_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L908 L909 -label L908 +brif 8 L926 L927 +label L926 strref 9 m51s83 load 10 base call 11 pith_cstring_release void 1 10 @@ -152240,8 +152430,8 @@ call 15 pith_struct_release void 1 14 load 16 tnode call 17 pith_struct_release void 1 16 ret 9 -label L909 -label L907 +label L927 +label L925 load 18 base load 19 ir_emitter_core_ir_current_impl_type call 20 ir_method_tables_ir_strip_type_args string 1 19 @@ -152252,8 +152442,8 @@ load 23 base call 24 contains_key bool 2 22 23 iconst 26 1 sub 25 26 24 -brif 25 L911 L912 -label L911 +brif 25 L929 L930 +label L929 strref 27 m51s83 load 28 base call 29 pith_cstring_release void 1 28 @@ -152264,8 +152454,8 @@ call 33 pith_struct_release void 1 32 load 34 tnode call 35 pith_struct_release void 1 34 ret 27 -label L912 -label L910 +label L930 +label L928 load 36 decl load 37 ir_struct_registry_ir_struct_decl_nodes load 38 base @@ -152280,12 +152470,12 @@ iconst 45 0 store __for_idx_333 45 store __for_len_333 44 store __for_iter_333 43 -label L913 +label L931 load 46 __for_idx_333 load 47 __for_len_333 lt 48 46 47 -brif 48 L914 L916 -label L914 +brif 48 L932 L934 +label L932 load 49 __for_iter_333 load 50 __for_idx_333 call 51 pith_list_get_value unknown 2 49 50 @@ -152296,32 +152486,32 @@ call 54 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 53 call 55 pith_struct_release void 1 52 store fnode 54 iconst 56 0 -store __and_56_920 56 +store __and_56_938 56 load 57 fnode field 58 57 0 string kind strref 59 m51s29 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -store __and_56_920 60 -brif 60 L920 L921 -label L920 +store __and_56_938 60 +brif 60 L938 L939 +label L938 load 62 fnode call 63 ir_emitter_core_ir_struct_field_name string 1 62 load 64 field_name call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 63 -store __and_56_920 65 -label L921 -load 67 __and_56_920 -brif 67 L918 L919 -label L918 +store __and_56_938 65 +label L939 +load 67 __and_56_938 +brif 67 L936 L937 +label L936 load 68 fnode field 69 68 16 list children call 70 pith_list_len int 1 69 iconst 71 0 gt 72 70 71 -brif 72 L923 L924 -label L923 +brif 72 L941 L942 +label L941 load 73 tnode load 74 fnode field 75 74 16 list children @@ -152331,38 +152521,38 @@ call 78 ast_get_node struct:Node 1 77 call 79 pith_struct_release void 1 73 store tnode 78 iconst 80 0 -store __and_80_928 80 +store __and_80_946 80 iconst 81 0 -store __and_81_928 81 +store __and_81_946 81 load 82 tnode field 83 82 0 string kind strref 84 m51s336 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __and_81_928 85 -brif 85 L928 L929 -label L928 +store __and_81_946 85 +brif 85 L946 L947 +label L946 load 87 tnode field 88 87 8 string value strref 89 m51s335 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -store __and_81_928 90 -label L929 -load 92 __and_81_928 -store __and_80_928 92 -brif 92 L930 L931 -label L930 +store __and_81_946 90 +label L947 +load 92 __and_81_946 +store __and_80_946 92 +brif 92 L948 L949 +label L948 load 93 tnode field 94 93 16 list children call 95 pith_list_len int 1 94 iconst 96 0 gt 97 95 96 -store __and_80_928 97 -label L931 -load 98 __and_80_928 -brif 98 L926 L927 -label L926 +store __and_80_946 97 +label L949 +load 98 __and_80_946 +brif 98 L944 L945 +label L944 load 99 tnode field 100 99 16 list children iconst 101 0 @@ -152379,21 +152569,21 @@ call 111 pith_struct_release void 1 110 load 112 tnode call 113 pith_struct_release void 1 112 ret 104 -label L927 -label L925 -jmp L922 -label L924 -label L922 -jmp L917 -label L919 -label L917 -label L915 +label L945 +label L943 +jmp L940 +label L942 +label L940 +jmp L935 +label L937 +label L935 +label L933 load 114 __for_idx_333 iconst 115 1 add 116 114 115 store __for_idx_333 116 -jmp L913 -label L916 +jmp L931 +label L934 strref 117 m51s83 load 118 base call 119 pith_cstring_release void 1 118 @@ -152426,520 +152616,779 @@ store parts 4 iconst 5 0 store kind 5 iconst 6 0 -store variant_kinds 6 +store payload_kind 6 iconst 7 0 -store sub 7 +store arm 7 iconst 8 0 -store payload_kind 8 -load 9 node -load 10 idx -call 11 ast_get_node struct:Node 1 10 -call 12 pith_struct_release void 1 9 -store node 11 -load 13 node -field 14 13 0 string kind -call 15 ir_ast_helpers_ir_is_binding_kind bool 1 14 -brif 15 L933 L934 -label L933 -load 16 parts -load 17 node -call 18 ir_control_helpers_ir_collect_bind_parts struct:IrBindParts 1 17 -call 19 pith_struct_release void 1 16 -store parts 18 -load 20 parts -field 21 20 0 string name -call 22 string_len int 1 21 -iconst 23 0 -gt 24 22 23 -brif 24 L936 L937 -label L936 -load 25 kind -strref 26 m51s83 -call 27 pith_cstring_release void 1 25 -store kind 26 -load 28 node -field 29 28 8 string value -strref 30 m51s576 -call 31 pith_cstring_contains bool 2 29 30 -call 32 pith_cstring_release void 1 30 -brif 31 L939 L940 -label L939 -load 33 kind -strref 34 m51s1033 -call 35 pith_cstring_release void 1 33 -store kind 34 -jmp L938 -label L940 -load 36 kind -load 37 parts -load 38 names -call 39 ir_emitter_core_ir_string_prepass_bind_type string 2 37 38 -call 40 ir_emitter_core_ir_substitute_type_name string 1 39 -call 41 pith_cstring_release void 1 39 -call 42 ir_struct_registry_ir_rc_kind string 1 40 -call 43 pith_cstring_release void 1 40 -call 44 pith_cstring_release void 1 36 -store kind 42 -label L938 -load 45 kind -call 46 string_len int 1 45 -iconst 47 0 -gt 48 46 47 -brif 48 L942 L943 -label L942 -load 49 names -load 50 parts -field 51 50 0 string name -iconst 52 -1 -store __list_index_result_L947 52 -iconst 53 0 -store __list_index_i_L948 53 -call 54 pith_list_len int 1 49 -label L949 -load 55 __list_index_i_L948 -lt 56 55 54 -brif 56 L950 L953 -label L950 -call 57 pith_list_get_value string 2 49 55 -call 58 pith_cstring_eq bool 2 57 51 -brif 58 L951 L952 +store pn 8 +iconst 9 0 +store variant_kinds 9 +iconst 10 0 +store sub 10 +load 11 node +load 12 idx +call 13 ast_get_node struct:Node 1 12 +call 14 pith_struct_release void 1 11 +store node 13 +load 15 node +field 16 15 0 string kind +call 17 ir_ast_helpers_ir_is_binding_kind bool 1 16 +brif 17 L951 L952 label L951 -store __list_index_result_L947 55 -jmp L953 -label L952 -iconst 59 1 -add 60 55 59 -store __list_index_i_L948 60 -jmp L949 -label L953 -load 61 __list_index_result_L947 -iconst 62 0 -gte 63 61 62 -brif 63 L945 L946 -label L945 -iconst 64 0 -store __and_64_957 64 -load 65 parts -field 66 65 0 string name -call 67 ir_emitter_core_ir_rc_local_kind string 1 66 -load 68 kind -call 70 pith_cstring_eq bool 2 67 68 -iconst 71 1 -sub 69 71 70 -call 72 pith_cstring_release void 1 67 -store __and_64_957 69 -brif 69 L957 L958 +load 18 parts +load 19 node +call 20 ir_control_helpers_ir_collect_bind_parts struct:IrBindParts 1 19 +call 21 pith_struct_release void 1 18 +store parts 20 +load 22 parts +field 23 22 0 string name +call 24 string_len int 1 23 +iconst 25 0 +gt 26 24 25 +brif 26 L954 L955 +label L954 +load 27 kind +strref 28 m51s83 +call 29 pith_cstring_release void 1 27 +store kind 28 +load 30 node +field 31 30 8 string value +strref 32 m51s576 +call 33 pith_cstring_contains bool 2 31 32 +call 34 pith_cstring_release void 1 32 +brif 33 L957 L958 label L957 -load 73 poisoned -load 74 parts -field 75 74 0 string name -iconst 76 -1 -store __list_index_result_L959 76 -iconst 77 0 -store __list_index_i_L960 77 -call 78 pith_list_len int 1 73 -label L961 -load 79 __list_index_i_L960 -lt 80 79 78 -brif 80 L962 L965 -label L962 -call 81 pith_list_get_value string 2 73 79 -call 82 pith_cstring_eq bool 2 81 75 -brif 82 L963 L964 -label L963 -store __list_index_result_L959 79 -jmp L965 -label L964 -iconst 83 1 -add 84 79 83 -store __list_index_i_L960 84 -jmp L961 -label L965 -load 85 __list_index_result_L959 -iconst 86 0 -gte 87 85 86 -iconst 89 1 -sub 88 89 87 -store __and_64_957 88 +load 35 kind +strref 36 m51s1033 +call 37 pith_cstring_release void 1 35 +store kind 36 +jmp L956 label L958 -load 90 __and_64_957 -brif 90 L955 L956 -label L955 -load 91 poisoned -load 92 parts -field 93 92 0 string name -call 94 pith_list_push_value void 2 91 93 -jmp L954 +load 38 kind +load 39 parts +load 40 names +call 41 ir_emitter_core_ir_string_prepass_bind_type string 2 39 40 +call 42 ir_emitter_core_ir_substitute_type_name string 1 41 +call 43 pith_cstring_release void 1 41 +call 44 ir_struct_registry_ir_rc_kind string 1 42 +call 45 pith_cstring_release void 1 42 +call 46 pith_cstring_release void 1 38 +store kind 44 label L956 -label L954 -jmp L944 -label L946 -load 95 parts -field 96 95 0 string name -load 97 kind -call 98 ir_emitter_core_ir_rc_track_local void 2 96 97 -label L944 -iconst 99 0 -store __and_99_969 99 -load 100 kind -strref 101 m51s23 -call 102 pith_cstring_eq bool 2 100 101 -call 103 pith_cstring_release void 1 101 -store __and_99_969 102 -brif 102 L969 L970 -label L969 -load 104 parts -field 105 104 8 int val_idx -iconst 106 0 -gte 107 105 106 -store __and_99_969 107 -label L970 -load 108 __and_99_969 -brif 108 L967 L968 +load 47 kind +call 48 string_len int 1 47 +iconst 49 0 +gt 50 48 49 +brif 50 L960 L961 +label L960 +load 51 names +load 52 parts +field 53 52 0 string name +iconst 54 -1 +store __list_index_result_L965 54 +iconst 55 0 +store __list_index_i_L966 55 +call 56 pith_list_len int 1 51 label L967 -load 109 parts -field 110 109 0 string name -load 111 parts -field 112 111 8 int val_idx -call 113 ir_emitter_core_ir_tuple_record_tid void 2 110 112 -jmp L966 +load 57 __list_index_i_L966 +lt 58 57 56 +brif 58 L968 L971 label L968 -label L966 -jmp L941 -label L943 -load 114 poisoned -load 115 parts -field 116 115 0 string name -iconst 117 -1 -store __list_index_result_L973 117 -iconst 118 0 -store __list_index_i_L974 118 -call 119 pith_list_len int 1 114 +call 59 pith_list_get_value string 2 51 57 +call 60 pith_cstring_eq bool 2 59 53 +brif 60 L969 L970 +label L969 +store __list_index_result_L965 57 +jmp L971 +label L970 +iconst 61 1 +add 62 57 61 +store __list_index_i_L966 62 +jmp L967 +label L971 +load 63 __list_index_result_L965 +iconst 64 0 +gte 65 63 64 +brif 65 L963 L964 +label L963 +iconst 66 0 +store __and_66_975 66 +load 67 parts +field 68 67 0 string name +call 69 ir_emitter_core_ir_rc_local_kind string 1 68 +load 70 kind +call 72 pith_cstring_eq bool 2 69 70 +iconst 73 1 +sub 71 73 72 +call 74 pith_cstring_release void 1 69 +store __and_66_975 71 +brif 71 L975 L976 label L975 -load 120 __list_index_i_L974 -lt 121 120 119 -brif 121 L976 L979 -label L976 -call 122 pith_list_get_value string 2 114 120 -call 123 pith_cstring_eq bool 2 122 116 -brif 123 L977 L978 -label L977 -store __list_index_result_L973 120 -jmp L979 -label L978 -iconst 124 1 -add 125 120 124 -store __list_index_i_L974 125 -jmp L975 +load 75 poisoned +load 76 parts +field 77 76 0 string name +iconst 78 -1 +store __list_index_result_L977 78 +iconst 79 0 +store __list_index_i_L978 79 +call 80 pith_list_len int 1 75 label L979 -load 126 __list_index_result_L973 -iconst 127 0 -gte 128 126 127 -iconst 130 1 -sub 129 130 128 -brif 129 L971 L972 -label L971 -load 131 poisoned -load 132 parts -field 133 132 0 string name -call 134 pith_list_push_value void 2 131 133 -jmp L941 -label L972 -label L941 -jmp L935 -label L937 -label L935 -jmp L932 -label L934 -label L932 -iconst 135 0 -store __and_135_983 135 -load 136 node -field 137 136 0 string kind -strref 138 m51s90 -call 139 pith_cstring_eq bool 2 137 138 -call 140 pith_cstring_release void 1 138 -store __and_135_983 139 -brif 139 L983 L984 -label L983 -load 141 node -field 142 141 16 list children -call 143 pith_list_len int 1 142 -iconst 144 0 -gt 145 143 144 -store __and_135_983 145 -label L984 -load 146 __and_135_983 -brif 146 L981 L982 +load 81 __list_index_i_L978 +lt 82 81 80 +brif 82 L980 L983 +label L980 +call 83 pith_list_get_value string 2 75 81 +call 84 pith_cstring_eq bool 2 83 77 +brif 84 L981 L982 label L981 -load 147 variant_kinds -call 148 pith_list_new_cstr list 0 -call 149 pith_list_release_handle void 1 147 -store variant_kinds 148 -load 150 ir_struct_registry_ir_enum_payload_kinds -load 151 node -field 152 151 8 string value -call 153 contains_key bool 2 150 152 -brif 153 L986 L987 -label L986 -load 154 variant_kinds -load 155 ir_struct_registry_ir_enum_payload_kinds -load 156 node -field 157 156 8 string value -call 158 map_get_strict string 2 155 157 -strref 159 m51s315 -call 160 pith_string_split_to_list list_string 2 158 159 -call 161 pith_cstring_release void 1 159 -call 162 pith_list_release_handle void 1 154 -store variant_kinds 160 -jmp L985 +store __list_index_result_L977 81 +jmp L983 +label L982 +iconst 85 1 +add 86 81 85 +store __list_index_i_L978 86 +jmp L979 +label L983 +load 87 __list_index_result_L977 +iconst 88 0 +gte 89 87 88 +iconst 91 1 +sub 90 91 89 +store __and_66_975 90 +label L976 +load 92 __and_66_975 +brif 92 L973 L974 +label L973 +load 93 poisoned +load 94 parts +field 95 94 0 string name +call 96 pith_list_push_value void 2 93 95 +jmp L972 +label L974 +label L972 +jmp L962 +label L964 +load 97 parts +field 98 97 0 string name +load 99 kind +call 100 ir_emitter_core_ir_rc_track_local void 2 98 99 +label L962 +iconst 101 0 +store __and_101_987 101 +load 102 kind +strref 103 m51s23 +call 104 pith_cstring_eq bool 2 102 103 +call 105 pith_cstring_release void 1 103 +store __and_101_987 104 +brif 104 L987 L988 label L987 -label L985 -load 163 node -field 164 163 16 list children -call 165 pith_auto_len int 1 164 -iconst 166 0 -store __for_idx_334 166 -store __for_len_334 165 -store __for_iter_334 164 +load 106 parts +field 107 106 8 int val_idx +iconst 108 0 +gte 109 107 108 +store __and_101_987 109 label L988 -load 167 __for_idx_334 -load 168 __for_len_334 -lt 169 167 168 -brif 169 L989 L991 -label L989 -load 170 __for_iter_334 -load 171 __for_idx_334 -call 172 pith_list_get_value unknown 2 170 171 -store __loopvar_334_sub_idx 172 -load 173 __for_idx_334 -store __loopvar_334_pi 173 -load 174 sub -load 175 __loopvar_334_sub_idx -call 176 ast_get_node struct:Node 1 175 -call 177 pith_struct_release void 1 174 -store sub 176 -load 178 sub -field 179 178 0 string kind -strref 180 m51s86 -call 181 pith_cstring_eq bool 2 179 180 -call 182 pith_cstring_release void 1 180 -brif 181 L993 L994 +load 110 __and_101_987 +brif 110 L985 L986 +label L985 +load 111 parts +field 112 111 0 string name +load 113 parts +field 114 113 8 int val_idx +call 115 ir_emitter_core_ir_tuple_record_tid void 2 112 114 +jmp L984 +label L986 +label L984 +jmp L959 +label L961 +load 116 poisoned +load 117 parts +field 118 117 0 string name +iconst 119 -1 +store __list_index_result_L991 119 +iconst 120 0 +store __list_index_i_L992 120 +call 121 pith_list_len int 1 116 label L993 -load 183 payload_kind -strref 184 m51s83 -call 185 pith_cstring_release void 1 183 -store payload_kind 184 -load 186 __loopvar_334_pi -load 187 variant_kinds -call 188 pith_list_len int 1 187 -lt 189 186 188 -brif 189 L996 L997 +load 122 __list_index_i_L992 +lt 123 122 121 +brif 123 L994 L997 +label L994 +call 124 pith_list_get_value string 2 116 122 +call 125 pith_cstring_eq bool 2 124 118 +brif 125 L995 L996 +label L995 +store __list_index_result_L991 122 +jmp L997 label L996 -load 190 payload_kind -load 191 variant_kinds -load 192 __loopvar_334_pi -call 193 pith_list_get_value_strict string 2 191 192 -call 194 ir_struct_registry_ir_rc_kind string 1 193 -call 195 pith_cstring_release void 1 190 -store payload_kind 194 -jmp L995 +iconst 126 1 +add 127 122 126 +store __list_index_i_L992 127 +jmp L993 label L997 -label L995 -load 196 payload_kind -call 197 string_len int 1 196 -iconst 198 0 -gt 199 197 198 -brif 199 L999 L1000 +load 128 __list_index_result_L991 +iconst 129 0 +gte 130 128 129 +iconst 132 1 +sub 131 132 130 +brif 131 L989 L990 +label L989 +load 133 poisoned +load 134 parts +field 135 134 0 string name +call 136 pith_list_push_value void 2 133 135 +jmp L959 +label L990 +label L959 +jmp L953 +label L955 +label L953 +jmp L950 +label L952 +label L950 +iconst 137 0 +store __and_137_1001 137 +load 138 node +field 139 138 0 string kind +strref 140 m51s513 +call 141 pith_cstring_eq bool 2 139 140 +call 142 pith_cstring_release void 1 140 +store __and_137_1001 141 +brif 141 L1001 L1002 +label L1001 +load 143 node +field 144 143 16 list children +call 145 pith_list_len int 1 144 +iconst 146 1 +gt 147 145 146 +store __and_137_1001 147 +label L1002 +load 148 __and_137_1001 +brif 148 L999 L1000 label L999 -load 200 names -load 201 sub -field 202 201 8 string value -iconst 203 -1 -store __list_index_result_L1004 203 -iconst 204 0 -store __list_index_i_L1005 204 -call 205 pith_list_len int 1 200 +load 149 node +field 150 149 16 list children +iconst 151 0 +call 152 pith_list_get_value_strict int 2 150 151 +call 153 ir_alias_registry_ir_emission_tid int 1 152 +store subj_tid 153 +iconst 154 0 +store __and_154_1006 154 +load 155 subj_tid +iconst 156 0 +gte 157 155 156 +store __and_154_1006 157 +brif 157 L1006 L1007 label L1006 -load 206 __list_index_i_L1005 -lt 207 206 205 -brif 207 L1007 L1010 +load 158 subj_tid +call 159 types_get_type_info struct:TypeInfo 1 158 +field 160 159 0 string kind +strref 161 m51s21 +call 162 pith_cstring_eq bool 2 160 161 +call 163 pith_cstring_release void 1 161 +store __and_154_1006 162 label L1007 -call 208 pith_list_get_value string 2 200 206 -call 209 pith_cstring_eq bool 2 208 202 -brif 209 L1008 L1009 +load 164 __and_154_1006 +brif 164 L1004 L1005 +label L1004 +load 165 payload_kind +load 166 subj_tid +call 167 types_get_type_info struct:TypeInfo 1 166 +field 168 167 64 int inner +call 169 ir_type_helpers_ir_type_from_tid string 1 168 +call 170 ir_struct_registry_ir_rc_kind string 1 169 +call 171 pith_cstring_release void 1 169 +call 172 pith_cstring_release void 1 165 +store payload_kind 170 +iconst 173 1 +store ai 173 label L1008 -store __list_index_result_L1004 206 -jmp L1010 +load 174 ai +load 175 node +field 176 175 16 list children +call 177 pith_list_len int 1 176 +lt 178 174 177 +brif 178 L1009 L1010 label L1009 -iconst 210 1 -add 211 206 210 -store __list_index_i_L1005 211 -jmp L1006 -label L1010 -load 212 __list_index_result_L1004 -iconst 213 0 -gte 214 212 213 -brif 214 L1002 L1003 -label L1002 -iconst 215 0 -store __and_215_1014 215 -load 216 sub -field 217 216 8 string value -call 218 ir_emitter_core_ir_rc_local_kind string 1 217 -load 219 payload_kind -call 221 pith_cstring_eq bool 2 218 219 -iconst 222 1 -sub 220 222 221 -call 223 pith_cstring_release void 1 218 -store __and_215_1014 220 -brif 220 L1014 L1015 -label L1014 -load 224 poisoned -load 225 sub -field 226 225 8 string value -iconst 227 -1 -store __list_index_result_L1016 227 -iconst 228 0 -store __list_index_i_L1017 228 -call 229 pith_list_len int 1 224 +load 179 arm +load 180 node +field 181 180 16 list children +load 182 ai +call 183 pith_list_get_value_strict int 2 181 182 +call 184 ast_get_node struct:Node 1 183 +call 185 pith_struct_release void 1 179 +store arm 184 +load 186 arm +field 187 186 16 list children +call 188 pith_list_len int 1 187 +iconst 189 0 +gt 190 188 189 +brif 190 L1012 L1013 +label L1012 +load 191 pn +load 192 arm +field 193 192 16 list children +iconst 194 0 +call 195 pith_list_get_value_strict int 2 193 194 +call 196 ast_get_node struct:Node 1 195 +call 197 pith_struct_release void 1 191 +store pn 196 +load 198 pn +field 199 198 0 string kind +strref 200 m51s86 +call 201 pith_cstring_eq bool 2 199 200 +call 202 pith_cstring_release void 1 200 +brif 201 L1015 L1016 +label L1015 +load 203 payload_kind +call 204 string_len int 1 203 +iconst 205 0 +gt 206 204 205 +brif 206 L1018 L1019 label L1018 -load 230 __list_index_i_L1017 -lt 231 230 229 -brif 231 L1019 L1022 -label L1019 -call 232 pith_list_get_value string 2 224 230 -call 233 pith_cstring_eq bool 2 232 226 -brif 233 L1020 L1021 -label L1020 -store __list_index_result_L1016 230 -jmp L1022 +load 207 names +load 208 pn +field 209 208 8 string value +iconst 210 -1 +store __list_index_result_L1023 210 +iconst 211 0 +store __list_index_i_L1024 211 +call 212 pith_list_len int 1 207 +label L1025 +load 213 __list_index_i_L1024 +lt 214 213 212 +brif 214 L1026 L1029 +label L1026 +call 215 pith_list_get_value string 2 207 213 +call 216 pith_cstring_eq bool 2 215 209 +brif 216 L1027 L1028 +label L1027 +store __list_index_result_L1023 213 +jmp L1029 +label L1028 +iconst 217 1 +add 218 213 217 +store __list_index_i_L1024 218 +jmp L1025 +label L1029 +load 219 __list_index_result_L1023 +iconst 220 0 +gte 221 219 220 +brif 221 L1021 L1022 label L1021 -iconst 234 1 -add 235 230 234 -store __list_index_i_L1017 235 -jmp L1018 +iconst 222 0 +store __and_222_1033 222 +load 223 pn +field 224 223 8 string value +call 225 ir_emitter_core_ir_rc_local_kind string 1 224 +load 226 payload_kind +call 228 pith_cstring_eq bool 2 225 226 +iconst 229 1 +sub 227 229 228 +call 230 pith_cstring_release void 1 225 +store __and_222_1033 227 +brif 227 L1033 L1034 +label L1033 +load 231 poisoned +load 232 pn +field 233 232 8 string value +iconst 234 -1 +store __list_index_result_L1035 234 +iconst 235 0 +store __list_index_i_L1036 235 +call 236 pith_list_len int 1 231 +label L1037 +load 237 __list_index_i_L1036 +lt 238 237 236 +brif 238 L1038 L1041 +label L1038 +call 239 pith_list_get_value string 2 231 237 +call 240 pith_cstring_eq bool 2 239 233 +brif 240 L1039 L1040 +label L1039 +store __list_index_result_L1035 237 +jmp L1041 +label L1040 +iconst 241 1 +add 242 237 241 +store __list_index_i_L1036 242 +jmp L1037 +label L1041 +load 243 __list_index_result_L1035 +iconst 244 0 +gte 245 243 244 +iconst 247 1 +sub 246 247 245 +store __and_222_1033 246 +label L1034 +load 248 __and_222_1033 +brif 248 L1031 L1032 +label L1031 +load 249 poisoned +load 250 pn +field 251 250 8 string value +call 252 pith_list_push_value void 2 249 251 +jmp L1030 +label L1032 +label L1030 +jmp L1020 label L1022 -load 236 __list_index_result_L1016 -iconst 237 0 -gte 238 236 237 -iconst 240 1 -sub 239 240 238 -store __and_215_1014 239 -label L1015 -load 241 __and_215_1014 -brif 241 L1012 L1013 -label L1012 -load 242 poisoned -load 243 sub -field 244 243 8 string value -call 245 pith_list_push_value void 2 242 244 +load 253 pn +field 254 253 8 string value +load 255 payload_kind +call 256 ir_emitter_core_ir_rc_track_local void 2 254 255 +label L1020 +jmp L1017 +label L1019 +load 257 poisoned +load 258 pn +field 259 258 8 string value +iconst 260 -1 +store __list_index_result_L1044 260 +iconst 261 0 +store __list_index_i_L1045 261 +call 262 pith_list_len int 1 257 +label L1046 +load 263 __list_index_i_L1045 +lt 264 263 262 +brif 264 L1047 L1050 +label L1047 +call 265 pith_list_get_value string 2 257 263 +call 266 pith_cstring_eq bool 2 265 259 +brif 266 L1048 L1049 +label L1048 +store __list_index_result_L1044 263 +jmp L1050 +label L1049 +iconst 267 1 +add 268 263 267 +store __list_index_i_L1045 268 +jmp L1046 +label L1050 +load 269 __list_index_result_L1044 +iconst 270 0 +gte 271 269 270 +iconst 273 1 +sub 272 273 271 +brif 272 L1042 L1043 +label L1042 +load 274 poisoned +load 275 pn +field 276 275 8 string value +call 277 pith_list_push_value void 2 274 276 +jmp L1017 +label L1043 +label L1017 +jmp L1014 +label L1016 +label L1014 jmp L1011 label L1013 label L1011 -jmp L1001 +load 278 ai +iconst 279 1 +add 280 278 279 +store ai 280 +jmp L1008 +label L1010 +jmp L1003 +label L1005 label L1003 -load 246 sub -field 247 246 8 string value -load 248 payload_kind -call 249 ir_emitter_core_ir_rc_track_local void 2 247 248 -label L1001 jmp L998 label L1000 -load 250 poisoned -load 251 sub -field 252 251 8 string value -iconst 253 -1 -store __list_index_result_L1025 253 -iconst 254 0 -store __list_index_i_L1026 254 -call 255 pith_list_len int 1 250 -label L1027 -load 256 __list_index_i_L1026 -lt 257 256 255 -brif 257 L1028 L1031 -label L1028 -call 258 pith_list_get_value string 2 250 256 -call 259 pith_cstring_eq bool 2 258 252 -brif 259 L1029 L1030 -label L1029 -store __list_index_result_L1025 256 -jmp L1031 -label L1030 -iconst 260 1 -add 261 256 260 -store __list_index_i_L1026 261 -jmp L1027 -label L1031 -load 262 __list_index_result_L1025 -iconst 263 0 -gte 264 262 263 -iconst 266 1 -sub 265 266 264 -brif 265 L1023 L1024 -label L1023 -load 267 poisoned -load 268 sub -field 269 268 8 string value -call 270 pith_list_push_value void 2 267 269 -jmp L998 -label L1024 label L998 -jmp L992 -label L994 -label L992 -label L990 -load 271 __for_idx_334 -iconst 272 1 -add 273 271 272 -store __for_idx_334 273 -jmp L988 -label L991 -jmp L980 -label L982 -label L980 -load 274 node -field 275 274 16 list children -call 276 pith_auto_len int 1 275 -iconst 277 0 -store __for_idx_335 277 -store __for_len_335 276 -store __for_iter_335 275 -label L1032 -load 278 __for_idx_335 -load 279 __for_len_335 -lt 280 278 279 -brif 280 L1033 L1035 -label L1033 -load 281 __for_iter_335 -load 282 __for_idx_335 -call 283 pith_list_get_value unknown 2 281 282 -store __loopvar_335_child 283 -load 284 __loopvar_335_child -load 285 names -load 286 poisoned -call 287 ir_emitter_core_ir_collect_string_bind_names void 3 284 285 286 -label L1034 -load 288 __for_idx_335 -iconst 289 1 -add 290 288 289 -store __for_idx_335 290 -jmp L1032 -label L1035 -load 291 node -call 292 pith_struct_release void 1 291 -load 293 parts -call 294 pith_struct_release void 1 293 -load 295 kind -call 296 pith_cstring_release void 1 295 -load 297 variant_kinds -call 298 pith_list_release_handle void 1 297 -load 299 sub -call 300 pith_struct_release void 1 299 -load 301 payload_kind -call 302 pith_cstring_release void 1 301 -iconst 303 0 -ret 303 +iconst 281 0 +store __and_281_1054 281 +load 282 node +field 283 282 0 string kind +strref 284 m51s90 +call 285 pith_cstring_eq bool 2 283 284 +call 286 pith_cstring_release void 1 284 +store __and_281_1054 285 +brif 285 L1054 L1055 +label L1054 +load 287 node +field 288 287 16 list children +call 289 pith_list_len int 1 288 +iconst 290 0 +gt 291 289 290 +store __and_281_1054 291 +label L1055 +load 292 __and_281_1054 +brif 292 L1052 L1053 +label L1052 +load 293 variant_kinds +call 294 pith_list_new_cstr list 0 +call 295 pith_list_release_handle void 1 293 +store variant_kinds 294 +load 296 ir_struct_registry_ir_enum_payload_kinds +load 297 node +field 298 297 8 string value +call 299 contains_key bool 2 296 298 +brif 299 L1057 L1058 +label L1057 +load 300 variant_kinds +load 301 ir_struct_registry_ir_enum_payload_kinds +load 302 node +field 303 302 8 string value +call 304 map_get_strict string 2 301 303 +strref 305 m51s315 +call 306 pith_string_split_to_list list_string 2 304 305 +call 307 pith_cstring_release void 1 305 +call 308 pith_list_release_handle void 1 300 +store variant_kinds 306 +jmp L1056 +label L1058 +label L1056 +load 309 node +field 310 309 16 list children +call 311 pith_auto_len int 1 310 +iconst 312 0 +store __for_idx_334 312 +store __for_len_334 311 +store __for_iter_334 310 +label L1059 +load 313 __for_idx_334 +load 314 __for_len_334 +lt 315 313 314 +brif 315 L1060 L1062 +label L1060 +load 316 __for_iter_334 +load 317 __for_idx_334 +call 318 pith_list_get_value unknown 2 316 317 +store __loopvar_334_sub_idx 318 +load 319 __for_idx_334 +store __loopvar_334_pi 319 +load 320 sub +load 321 __loopvar_334_sub_idx +call 322 ast_get_node struct:Node 1 321 +call 323 pith_struct_release void 1 320 +store sub 322 +load 324 sub +field 325 324 0 string kind +strref 326 m51s86 +call 327 pith_cstring_eq bool 2 325 326 +call 328 pith_cstring_release void 1 326 +brif 327 L1064 L1065 +label L1064 +load 329 payload_kind +strref 330 m51s83 +call 331 pith_cstring_release void 1 329 +store payload_kind 330 +load 332 __loopvar_334_pi +load 333 variant_kinds +call 334 pith_list_len int 1 333 +lt 335 332 334 +brif 335 L1067 L1068 +label L1067 +load 336 payload_kind +load 337 variant_kinds +load 338 __loopvar_334_pi +call 339 pith_list_get_value_strict string 2 337 338 +call 340 ir_struct_registry_ir_rc_kind string 1 339 +call 341 pith_cstring_release void 1 336 +store payload_kind 340 +jmp L1066 +label L1068 +label L1066 +load 342 payload_kind +call 343 string_len int 1 342 +iconst 344 0 +gt 345 343 344 +brif 345 L1070 L1071 +label L1070 +load 346 names +load 347 sub +field 348 347 8 string value +iconst 349 -1 +store __list_index_result_L1075 349 +iconst 350 0 +store __list_index_i_L1076 350 +call 351 pith_list_len int 1 346 +label L1077 +load 352 __list_index_i_L1076 +lt 353 352 351 +brif 353 L1078 L1081 +label L1078 +call 354 pith_list_get_value string 2 346 352 +call 355 pith_cstring_eq bool 2 354 348 +brif 355 L1079 L1080 +label L1079 +store __list_index_result_L1075 352 +jmp L1081 +label L1080 +iconst 356 1 +add 357 352 356 +store __list_index_i_L1076 357 +jmp L1077 +label L1081 +load 358 __list_index_result_L1075 +iconst 359 0 +gte 360 358 359 +brif 360 L1073 L1074 +label L1073 +iconst 361 0 +store __and_361_1085 361 +load 362 sub +field 363 362 8 string value +call 364 ir_emitter_core_ir_rc_local_kind string 1 363 +load 365 payload_kind +call 367 pith_cstring_eq bool 2 364 365 +iconst 368 1 +sub 366 368 367 +call 369 pith_cstring_release void 1 364 +store __and_361_1085 366 +brif 366 L1085 L1086 +label L1085 +load 370 poisoned +load 371 sub +field 372 371 8 string value +iconst 373 -1 +store __list_index_result_L1087 373 +iconst 374 0 +store __list_index_i_L1088 374 +call 375 pith_list_len int 1 370 +label L1089 +load 376 __list_index_i_L1088 +lt 377 376 375 +brif 377 L1090 L1093 +label L1090 +call 378 pith_list_get_value string 2 370 376 +call 379 pith_cstring_eq bool 2 378 372 +brif 379 L1091 L1092 +label L1091 +store __list_index_result_L1087 376 +jmp L1093 +label L1092 +iconst 380 1 +add 381 376 380 +store __list_index_i_L1088 381 +jmp L1089 +label L1093 +load 382 __list_index_result_L1087 +iconst 383 0 +gte 384 382 383 +iconst 386 1 +sub 385 386 384 +store __and_361_1085 385 +label L1086 +load 387 __and_361_1085 +brif 387 L1083 L1084 +label L1083 +load 388 poisoned +load 389 sub +field 390 389 8 string value +call 391 pith_list_push_value void 2 388 390 +jmp L1082 +label L1084 +label L1082 +jmp L1072 +label L1074 +load 392 sub +field 393 392 8 string value +load 394 payload_kind +call 395 ir_emitter_core_ir_rc_track_local void 2 393 394 +label L1072 +jmp L1069 +label L1071 +load 396 poisoned +load 397 sub +field 398 397 8 string value +iconst 399 -1 +store __list_index_result_L1096 399 +iconst 400 0 +store __list_index_i_L1097 400 +call 401 pith_list_len int 1 396 +label L1098 +load 402 __list_index_i_L1097 +lt 403 402 401 +brif 403 L1099 L1102 +label L1099 +call 404 pith_list_get_value string 2 396 402 +call 405 pith_cstring_eq bool 2 404 398 +brif 405 L1100 L1101 +label L1100 +store __list_index_result_L1096 402 +jmp L1102 +label L1101 +iconst 406 1 +add 407 402 406 +store __list_index_i_L1097 407 +jmp L1098 +label L1102 +load 408 __list_index_result_L1096 +iconst 409 0 +gte 410 408 409 +iconst 412 1 +sub 411 412 410 +brif 411 L1094 L1095 +label L1094 +load 413 poisoned +load 414 sub +field 415 414 8 string value +call 416 pith_list_push_value void 2 413 415 +jmp L1069 +label L1095 +label L1069 +jmp L1063 +label L1065 +label L1063 +label L1061 +load 417 __for_idx_334 +iconst 418 1 +add 419 417 418 +store __for_idx_334 419 +jmp L1059 +label L1062 +jmp L1051 +label L1053 +label L1051 +load 420 node +field 421 420 16 list children +call 422 pith_auto_len int 1 421 +iconst 423 0 +store __for_idx_335 423 +store __for_len_335 422 +store __for_iter_335 421 +label L1103 +load 424 __for_idx_335 +load 425 __for_len_335 +lt 426 424 425 +brif 426 L1104 L1106 +label L1104 +load 427 __for_iter_335 +load 428 __for_idx_335 +call 429 pith_list_get_value unknown 2 427 428 +store __loopvar_335_child 429 +load 430 __loopvar_335_child +load 431 names +load 432 poisoned +call 433 ir_emitter_core_ir_collect_string_bind_names void 3 430 431 432 +label L1105 +load 434 __for_idx_335 +iconst 435 1 +add 436 434 435 +store __for_idx_335 436 +jmp L1103 +label L1106 +load 437 node +call 438 pith_struct_release void 1 437 +load 439 parts +call 440 pith_struct_release void 1 439 +load 441 kind +call 442 pith_cstring_release void 1 441 +load 443 payload_kind +call 444 pith_cstring_release void 1 443 +load 445 arm +call 446 pith_struct_release void 1 445 +load 447 pn +call 448 pith_struct_release void 1 447 +load 449 variant_kinds +call 450 pith_list_release_handle void 1 449 +load 451 sub +call 452 pith_struct_release void 1 451 +iconst 453 0 +ret 453 endfunc func ir_emitter_core_ir_collect_reassigned_string_params 2 void param idx @@ -152966,36 +153415,36 @@ field 14 13 0 string kind strref 15 m51s1256 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -brif 16 L1037 L1038 -label L1037 +brif 16 L1108 L1109 +label L1108 load 18 target load 19 node field 20 19 8 string value call 21 pith_cstring_retain void 1 20 call 22 pith_cstring_release void 1 18 store target 20 -jmp L1036 -label L1038 +jmp L1107 +label L1109 iconst 23 0 -store __and_23_1041 23 +store __and_23_1112 23 load 24 node field 25 24 0 string kind strref 26 m51s599 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_1041 27 -brif 27 L1041 L1042 -label L1041 +store __and_23_1112 27 +brif 27 L1112 L1113 +label L1112 load 29 node field 30 29 16 list children call 31 pith_list_len int 1 30 iconst 32 0 gt 33 31 32 -store __and_23_1041 33 -label L1042 -load 34 __and_23_1041 -brif 34 L1039 L1040 -label L1039 +store __and_23_1112 33 +label L1113 +load 34 __and_23_1112 +brif 34 L1110 L1111 +label L1110 load 35 tn load 36 node field 37 36 16 list children @@ -153009,68 +153458,68 @@ field 43 42 0 string kind strref 44 m51s37 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L1044 L1045 -label L1044 +brif 45 L1115 L1116 +label L1115 load 47 target load 48 tn field 49 48 8 string value call 50 pith_cstring_retain void 1 49 call 51 pith_cstring_release void 1 47 store target 49 -jmp L1043 -label L1045 -label L1043 -jmp L1036 -label L1040 -label L1036 +jmp L1114 +label L1116 +label L1114 +jmp L1107 +label L1111 +label L1107 iconst 52 0 -store __and_52_1049 52 +store __and_52_1120 52 load 53 target call 54 string_len int 1 53 iconst 55 0 gt 56 54 55 -store __and_52_1049 56 -brif 56 L1049 L1050 -label L1049 +store __and_52_1120 56 +brif 56 L1120 L1121 +label L1120 load 57 names load 58 target iconst 59 -1 -store __list_index_result_L1051 59 +store __list_index_result_L1122 59 iconst 60 0 -store __list_index_i_L1052 60 +store __list_index_i_L1123 60 call 61 pith_list_len int 1 57 -label L1053 -load 62 __list_index_i_L1052 +label L1124 +load 62 __list_index_i_L1123 lt 63 62 61 -brif 63 L1054 L1057 -label L1054 +brif 63 L1125 L1128 +label L1125 call 64 pith_list_get_value string 2 57 62 call 65 pith_cstring_eq bool 2 64 58 -brif 65 L1055 L1056 -label L1055 -store __list_index_result_L1051 62 -jmp L1057 -label L1056 +brif 65 L1126 L1127 +label L1126 +store __list_index_result_L1122 62 +jmp L1128 +label L1127 iconst 66 1 add 67 62 66 -store __list_index_i_L1052 67 -jmp L1053 -label L1057 -load 68 __list_index_result_L1051 +store __list_index_i_L1123 67 +jmp L1124 +label L1128 +load 68 __list_index_result_L1122 iconst 69 0 gte 70 68 69 iconst 72 1 sub 71 72 70 -store __and_52_1049 71 -label L1050 -load 73 __and_52_1049 -brif 73 L1047 L1048 -label L1047 +store __and_52_1120 71 +label L1121 +load 73 __and_52_1120 +brif 73 L1118 L1119 +label L1118 load 74 ir_builder_ir_var_regs load 75 target call 76 contains_key bool 2 74 75 -brif 76 L1059 L1060 -label L1059 +brif 76 L1130 L1131 +label L1130 load 77 kind load 78 target call 79 ir_emitter_core_ir_lookup_name_type string 1 78 @@ -153082,20 +153531,20 @@ load 83 kind call 84 string_len int 1 83 iconst 85 0 gt 86 84 85 -brif 86 L1062 L1063 -label L1062 +brif 86 L1133 L1134 +label L1133 load 87 target load 88 kind call 89 ir_emitter_core_ir_rc_track_local void 2 87 88 -jmp L1061 -label L1063 -label L1061 -jmp L1058 -label L1060 -label L1058 -jmp L1046 -label L1048 -label L1046 +jmp L1132 +label L1134 +label L1132 +jmp L1129 +label L1131 +label L1129 +jmp L1117 +label L1119 +label L1117 load 90 node field 91 90 16 list children call 92 pith_auto_len int 1 91 @@ -153103,12 +153552,12 @@ iconst 93 0 store __for_idx_336 93 store __for_len_336 92 store __for_iter_336 91 -label L1064 +label L1135 load 94 __for_idx_336 load 95 __for_len_336 lt 96 94 95 -brif 96 L1065 L1067 -label L1065 +brif 96 L1136 L1138 +label L1136 load 97 __for_iter_336 load 98 __for_idx_336 call 99 pith_list_get_value unknown 2 97 98 @@ -153116,13 +153565,13 @@ store __loopvar_336_child 99 load 100 __loopvar_336_child load 101 names call 102 ir_emitter_core_ir_collect_reassigned_string_params void 2 100 101 -label L1066 +label L1137 load 103 __for_idx_336 iconst 104 1 add 105 103 104 store __for_idx_336 105 -jmp L1064 -label L1067 +jmp L1135 +label L1138 load 106 node call 107 pith_struct_release void 1 106 load 108 target @@ -153151,8 +153600,8 @@ store poisoned 6 load 8 body_idx iconst 9 0 gte 10 8 9 -brif 10 L1069 L1070 -label L1069 +brif 10 L1140 L1141 +label L1140 load 11 body_idx load 12 ir_emitter_core_ir_string_locals call 13 ir_emitter_core_ir_collect_reassigned_string_params void 2 11 12 @@ -153160,15 +153609,15 @@ load 14 body_idx load 15 ir_emitter_core_ir_string_locals load 16 poisoned call 17 ir_emitter_core_ir_collect_string_bind_names void 3 14 15 16 -jmp L1068 -label L1070 -label L1068 +jmp L1139 +label L1141 +label L1139 load 18 poisoned call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L1072 L1073 -label L1072 +brif 21 L1143 L1144 +label L1143 load 22 kept call 23 pith_list_new_cstr list 0 call 24 pith_list_release_handle void 1 22 @@ -153179,46 +153628,46 @@ call 27 pith_list_release_handle void 1 25 store kept_kinds 26 iconst 28 0 store pi 28 -label L1074 +label L1145 load 29 pi load 30 ir_emitter_core_ir_string_locals call 31 pith_list_len int 1 30 lt 32 29 31 -brif 32 L1075 L1076 -label L1075 +brif 32 L1146 L1147 +label L1146 load 33 poisoned load 34 ir_emitter_core_ir_string_locals load 35 pi call 36 pith_list_get_value_strict string 2 34 35 iconst 37 -1 -store __list_index_result_L1080 37 +store __list_index_result_L1151 37 iconst 38 0 -store __list_index_i_L1081 38 +store __list_index_i_L1152 38 call 39 pith_list_len int 1 33 -label L1082 -load 40 __list_index_i_L1081 +label L1153 +load 40 __list_index_i_L1152 lt 41 40 39 -brif 41 L1083 L1086 -label L1083 +brif 41 L1154 L1157 +label L1154 call 42 pith_list_get_value string 2 33 40 call 43 pith_cstring_eq bool 2 42 36 -brif 43 L1084 L1085 -label L1084 -store __list_index_result_L1080 40 -jmp L1086 -label L1085 +brif 43 L1155 L1156 +label L1155 +store __list_index_result_L1151 40 +jmp L1157 +label L1156 iconst 44 1 add 45 40 44 -store __list_index_i_L1081 45 -jmp L1082 -label L1086 -load 46 __list_index_result_L1080 +store __list_index_i_L1152 45 +jmp L1153 +label L1157 +load 46 __list_index_result_L1151 iconst 47 0 gte 48 46 47 iconst 50 1 sub 49 50 48 -brif 49 L1078 L1079 -label L1078 +brif 49 L1149 L1150 +label L1149 load 51 kept load 52 ir_emitter_core_ir_string_locals load 53 pi @@ -153228,28 +153677,28 @@ load 56 pi load 57 ir_emitter_core_ir_rc_local_kinds call 58 pith_list_len int 1 57 lt 59 56 58 -brif 59 L1088 L1089 -label L1088 +brif 59 L1159 L1160 +label L1159 load 60 kept_kinds load 61 ir_emitter_core_ir_rc_local_kinds load 62 pi call 63 pith_list_get_value_strict string 2 61 62 call 64 pith_list_push_value void 2 60 63 -jmp L1087 -label L1089 +jmp L1158 +label L1160 load 65 kept_kinds strref 66 m51s716 call 67 pith_list_push_value_owned void 2 65 66 -label L1087 -jmp L1077 -label L1079 -label L1077 +label L1158 +jmp L1148 +label L1150 +label L1148 load 68 pi iconst 69 1 add 70 68 69 store pi 70 -jmp L1074 -label L1076 +jmp L1145 +label L1147 load 71 kept call 72 pith_list_retain_handle void 1 71 store ir_emitter_core_ir_string_locals 71 @@ -153259,20 +153708,20 @@ store ir_emitter_core_ir_rc_local_kinds 73 load 75 poisoned call 76 pith_list_retain_handle void 1 75 store ir_builder_ir_untracked_rc_binds 75 -jmp L1071 -label L1073 -label L1071 +jmp L1142 +label L1144 +label L1142 load 77 body_idx call 78 ir_emitter_core_ir_tuple_cascade_scan void 1 77 iconst 79 0 store i 79 -label L1090 +label L1161 load 80 i load 81 ir_emitter_core_ir_string_locals call 82 pith_list_len int 1 81 lt 83 80 82 -brif 83 L1091 L1092 -label L1091 +brif 83 L1162 L1163 +label L1162 load 84 name load 85 ir_emitter_core_ir_string_locals load 86 i @@ -153283,8 +153732,8 @@ store name 87 load 90 ir_builder_ir_var_regs load 91 name call 92 contains_key bool 2 90 91 -brif 92 L1094 L1095 -label L1094 +brif 92 L1165 L1166 +label L1165 call 93 ir_builder_ir_reg int 0 store r 93 load 94 r @@ -153295,8 +153744,8 @@ load 98 name call 99 ir_emitter_core_ir_rc_local_kind string 1 98 call 100 ir_ownership_ir_rc_retain_reg void 2 97 99 call 101 pith_cstring_release void 1 99 -jmp L1093 -label L1095 +jmp L1164 +label L1166 call 102 ir_builder_ir_reg int 0 store z 102 strref 103 m51s880 @@ -153314,13 +153763,13 @@ call 114 pith_cstring_release void 1 110 load 115 name load 116 z call 117 ir_emitter_core_ir_emit_name_store void 2 115 116 -label L1093 +label L1164 load 118 i iconst 119 1 add 120 118 119 store i 120 -jmp L1090 -label L1092 +jmp L1161 +label L1163 load 121 poisoned call 122 pith_list_release_handle void 1 121 load 123 kept @@ -153370,7 +153819,7 @@ call 7 ast_get_node struct:Node 1 6 call 8 pith_struct_release void 1 5 store index_node 7 iconst 9 0 -store __or_9_1099 9 +store __or_9_1170 9 load 10 index_node field 11 10 0 string kind strref 12 m51s35 @@ -153378,27 +153827,27 @@ call 14 pith_cstring_eq bool 2 11 12 iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 12 -store __or_9_1099 13 -brif 13 L1100 L1099 -label L1099 +store __or_9_1170 13 +brif 13 L1171 L1170 +label L1170 load 17 index_node field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 2 lt 21 19 20 -store __or_9_1099 21 -label L1100 -load 22 __or_9_1099 -brif 22 L1097 L1098 -label L1097 +store __or_9_1170 21 +label L1171 +load 22 __or_9_1170 +brif 22 L1168 L1169 +label L1168 iconst 23 0 load 24 index_node call 25 pith_struct_release void 1 24 load 26 base_node call 27 pith_struct_release void 1 26 ret 23 -label L1098 -label L1096 +label L1169 +label L1167 load 28 base_node load 29 index_node field 30 29 16 list children @@ -153408,7 +153857,7 @@ call 33 ast_get_node struct:Node 1 32 call 34 pith_struct_release void 1 28 store base_node 33 iconst 35 0 -store __or_35_1104 35 +store __or_35_1175 35 load 36 base_node field 37 36 0 string kind strref 38 m51s37 @@ -153416,43 +153865,43 @@ call 40 pith_cstring_eq bool 2 37 38 iconst 41 1 sub 39 41 40 call 42 pith_cstring_release void 1 38 -store __or_35_1104 39 -brif 39 L1105 L1104 -label L1104 +store __or_35_1175 39 +brif 39 L1176 L1175 +label L1175 load 43 base_node field 44 43 8 string value load 45 member_name call 47 pith_cstring_eq bool 2 44 45 iconst 48 1 sub 46 48 47 -store __or_35_1104 46 -label L1105 -load 49 __or_35_1104 -brif 49 L1102 L1103 -label L1102 +store __or_35_1175 46 +label L1176 +load 49 __or_35_1175 +brif 49 L1173 L1174 +label L1173 iconst 50 0 load 51 index_node call 52 pith_struct_release void 1 51 load 53 base_node call 54 pith_struct_release void 1 53 ret 50 -label L1103 -label L1101 +label L1174 +label L1172 load 55 ir_generics_ir_generic_decl_indices load 56 member_name call 57 contains_key bool 2 55 56 iconst 59 1 sub 58 59 57 -brif 58 L1107 L1108 -label L1107 +brif 58 L1178 L1179 +label L1178 iconst 60 0 load 61 index_node call 62 pith_struct_release void 1 61 load 63 base_node call 64 pith_struct_release void 1 63 ret 60 -label L1108 -label L1106 +label L1179 +label L1177 load 65 ir_generics_ir_generic_decl_indices load 66 member_name call 67 map_get_strict int 2 65 66 @@ -153485,41 +153934,41 @@ call 6 ir_method_tables_ir_declared_callable_ir_retkind string 1 5 call 7 pith_cstring_release void 1 3 store raw_kind 6 iconst 8 0 -store __or_8_1112 8 +store __or_8_1183 8 iconst 9 0 -store __or_9_1112 9 +store __or_9_1183 9 load 10 raw_kind strref 11 m51s23 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_1112 12 -brif 12 L1113 L1112 -label L1112 +store __or_9_1183 12 +brif 12 L1184 L1183 +label L1183 load 14 raw_kind strref 15 m51s853 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_1112 16 -label L1113 -load 18 __or_9_1112 -store __or_8_1112 18 -brif 18 L1115 L1114 -label L1114 +store __or_9_1183 16 +label L1184 +load 18 __or_9_1183 +store __or_8_1183 18 +brif 18 L1186 L1185 +label L1185 load 19 raw_kind strref 20 m51s852 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_1112 21 -label L1115 -load 23 __or_8_1112 -brif 23 L1110 L1111 -label L1110 +store __or_8_1183 21 +label L1186 +load 23 __or_8_1183 +brif 23 L1181 L1182 +label L1181 iconst 24 1 load 25 raw_kind call 26 pith_cstring_release void 1 25 ret 24 -label L1111 -label L1109 +label L1182 +label L1180 load 27 callee field 28 27 0 string name call 29 ir_metadata_ir_builtin_result_retkind string 1 28 @@ -153553,15 +154002,15 @@ func ir_emitter_core_ir_emit_call_arg 1 int param expr_idx load 1 expr_idx call 2 checker_c_argument_widens_to_optional bool 1 1 -brif 2 L1117 L1118 -label L1117 +brif 2 L1188 L1189 +label L1188 load 3 expr_idx strref 4 m51s23 call 5 ir_emitter_core_ir_emit_value_for_target int 2 3 4 call 6 pith_cstring_release void 1 4 ret 5 -label L1118 -label L1116 +label L1189 +label L1187 load 7 expr_idx call 8 ir_emitter_core_ir_expr int 1 7 ret 8 @@ -153571,18 +154020,18 @@ endfunc func ir_emitter_core_ir_arg_release_is_skipped 1 bool param expr_idx iconst 1 0 -store __and_1_1119 1 +store __and_1_1190 1 load 2 expr_idx iconst 3 0 gte 4 2 3 -store __and_1_1119 4 -brif 4 L1119 L1120 -label L1119 +store __and_1_1190 4 +brif 4 L1190 L1191 +label L1190 load 5 expr_idx call 6 checker_c_argument_widens_to_optional bool 1 5 -store __and_1_1119 6 -label L1120 -load 7 __and_1_1119 +store __and_1_1190 6 +label L1191 +load 7 __and_1_1190 ret 7 iconst 8 0 ret 8 @@ -153607,12 +154056,12 @@ iconst 11 0 store __for_idx_337 11 store __for_len_337 10 store __for_iter_337 9 -label L1121 +label L1192 load 12 __for_idx_337 load 13 __for_len_337 lt 14 12 13 -brif 14 L1122 L1124 -label L1122 +brif 14 L1193 L1195 +label L1193 load 15 __for_iter_337 load 16 __for_idx_337 call 17 pith_list_get_value unknown 2 15 16 @@ -153622,11 +154071,11 @@ store __loopvar_337_i 18 load 19 __loopvar_337_i load 20 start_idx lt 21 19 20 -brif 21 L1126 L1127 -label L1126 -jmp L1123 -label L1127 -label L1125 +brif 21 L1197 L1198 +label L1197 +jmp L1194 +label L1198 +label L1196 load 22 child_kind load 23 __loopvar_337_child call 24 ast_node_kind string 1 23 @@ -153636,8 +154085,8 @@ load 26 child_kind strref 27 m51s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L1129 L1130 -label L1129 +brif 28 L1200 L1201 +label L1200 load 30 cn load 31 __loopvar_337_child call 32 ast_get_node struct:Node 1 31 @@ -153648,8 +154097,8 @@ field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -brif 38 L1132 L1133 -label L1132 +brif 38 L1203 L1204 +label L1203 load 39 arg_regs load 40 cn field 41 40 16 list children @@ -153657,23 +154106,23 @@ iconst 42 0 call 43 pith_list_get_value_strict int 2 41 42 call 44 ir_emitter_core_ir_emit_call_arg int 1 43 call 45 pith_list_push_value void 2 39 44 -jmp L1131 -label L1133 -label L1131 -jmp L1128 -label L1130 +jmp L1202 +label L1204 +label L1202 +jmp L1199 +label L1201 load 46 arg_regs load 47 __loopvar_337_child call 48 ir_emitter_core_ir_emit_call_arg int 1 47 call 49 pith_list_push_value void 2 46 48 -label L1128 -label L1123 +label L1199 +label L1194 load 50 __for_idx_337 iconst 51 1 add 52 50 51 store __for_idx_337 52 -jmp L1121 -label L1124 +jmp L1192 +label L1195 load 53 arg_regs load 54 child_kind call 55 pith_cstring_release void 1 54 @@ -153699,12 +154148,12 @@ iconst 5 0 store __for_idx_338 5 store __for_len_338 4 store __for_iter_338 3 -label L1134 +label L1205 load 6 __for_idx_338 load 7 __for_len_338 lt 8 6 7 -brif 8 L1135 L1137 -label L1135 +brif 8 L1206 L1208 +label L1206 load 9 __for_iter_338 load 10 __for_idx_338 call 11 pith_list_get_value unknown 2 9 10 @@ -153714,11 +154163,11 @@ store __loopvar_338_i 12 load 13 __loopvar_338_i load 14 skip_pos eq 15 13 14 -brif 15 L1139 L1140 -label L1139 -jmp L1136 -label L1140 -label L1138 +brif 15 L1210 L1211 +label L1210 +jmp L1207 +label L1211 +label L1209 load 16 node load 17 __loopvar_338_i call 18 ir_emitter_core_ir_method_call_arg_expr int 2 16 17 @@ -153726,52 +154175,52 @@ store expr_idx 18 load 19 expr_idx iconst 20 0 lt 21 19 20 -brif 21 L1142 L1143 -label L1142 -jmp L1136 -label L1143 -label L1141 +brif 21 L1213 L1214 +label L1213 +jmp L1207 +label L1214 +label L1212 load 22 expr_idx call 23 ir_emitter_core_ir_arg_release_is_skipped bool 1 22 -brif 23 L1145 L1146 -label L1145 -jmp L1136 -label L1146 -label L1144 +brif 23 L1216 L1217 +label L1216 +jmp L1207 +label L1217 +label L1215 load 24 expr_idx load 25 __loopvar_338_reg load 26 expr_idx call 27 ir_emitter_core_ir_infer_type string 1 26 call 28 ir_emitter_core_ir_release_owned_string_operand void 3 24 25 27 call 29 pith_cstring_release void 1 27 -label L1136 +label L1207 load 30 __for_idx_338 iconst 31 1 add 32 30 31 store __for_idx_338 32 -jmp L1134 -label L1137 +jmp L1205 +label L1208 iconst 33 0 ret 33 endfunc func ir_emitter_core_ir_method_result_retains_over_args 1 bool param emit_name iconst 1 0 -store __or_1_1147 1 +store __or_1_1218 1 load 2 emit_name strref 3 m51s728 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_1147 4 -brif 4 L1148 L1147 -label L1147 +store __or_1_1218 4 +brif 4 L1219 L1218 +label L1218 load 6 emit_name strref 7 m51s729 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_1147 8 -label L1148 -load 10 __or_1_1147 +store __or_1_1218 8 +label L1219 +load 10 __or_1_1218 ret 10 iconst 11 0 ret 11 @@ -153793,12 +154242,12 @@ iconst 9 0 store __for_idx_339 9 store __for_len_339 8 store __for_iter_339 7 -label L1149 +label L1220 load 10 __for_idx_339 load 11 __for_len_339 lt 12 10 11 -brif 12 L1150 L1152 -label L1150 +brif 12 L1221 L1223 +label L1221 load 13 __for_iter_339 load 14 __for_idx_339 call 15 pith_list_get_value unknown 2 13 14 @@ -153809,37 +154258,37 @@ call 18 ast_get_node struct:Node 1 17 call 19 pith_struct_release void 1 16 store cn 18 iconst 20 0 -store __and_20_1156 20 +store __and_20_1227 20 load 21 cn field 22 21 0 string kind strref 23 m51s42 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __and_20_1156 24 -brif 24 L1156 L1157 -label L1156 +store __and_20_1227 24 +brif 24 L1227 L1228 +label L1227 load 26 cn field 27 26 8 string value call 28 string_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_20_1156 30 -label L1157 -load 31 __and_20_1156 -brif 31 L1154 L1155 -label L1154 +store __and_20_1227 30 +label L1228 +load 31 __and_20_1227 +brif 31 L1225 L1226 +label L1225 iconst 32 1 store has_named 32 -jmp L1153 -label L1155 -label L1153 -label L1151 +jmp L1224 +label L1226 +label L1224 +label L1222 load 33 __for_idx_339 iconst 34 1 add 35 33 34 store __for_idx_339 35 -jmp L1149 -label L1152 +jmp L1220 +label L1223 iconst 36 0 store reg_i 36 load 37 node @@ -153849,12 +154298,12 @@ iconst 40 0 store __for_idx_340 40 store __for_len_340 39 store __for_iter_340 38 -label L1158 +label L1229 load 41 __for_idx_340 load 42 __for_len_340 lt 43 41 42 -brif 43 L1159 L1161 -label L1159 +brif 43 L1230 L1232 +label L1230 load 44 __for_iter_340 load 45 __for_idx_340 call 46 pith_list_get_value unknown 2 44 45 @@ -153864,25 +154313,25 @@ store __loopvar_340_i 47 load 48 __loopvar_340_i load 49 start_idx lt 50 48 49 -brif 50 L1163 L1164 -label L1163 -jmp L1160 -label L1164 -label L1162 +brif 50 L1234 L1235 +label L1234 +jmp L1231 +label L1235 +label L1233 load 51 reg_i load 52 arg_regs call 53 pith_list_len int 1 52 gte 54 51 53 -brif 54 L1166 L1167 -label L1166 +brif 54 L1237 L1238 +label L1237 load 55 cn call 56 pith_struct_release void 1 55 load 57 arg_name call 58 pith_cstring_release void 1 57 iconst 59 0 ret 59 -label L1167 -label L1165 +label L1238 +label L1236 load 60 __loopvar_340_child store expr_idx 60 load 61 arg_name @@ -153899,18 +154348,18 @@ field 69 68 0 string kind strref 70 m51s42 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 -brif 71 L1169 L1170 -label L1169 +brif 71 L1240 L1241 +label L1240 load 73 cn field 74 73 16 list children call 75 pith_list_len int 1 74 iconst 76 0 eq 77 75 76 -brif 77 L1172 L1173 -label L1172 -jmp L1160 -label L1173 -label L1171 +brif 77 L1243 L1244 +label L1243 +jmp L1231 +label L1244 +label L1242 load 78 arg_name load 79 cn field 80 79 8 string value @@ -153922,15 +154371,15 @@ field 84 83 16 list children iconst 85 0 call 86 pith_list_get_value_strict int 2 84 85 store expr_idx 86 -jmp L1168 -label L1170 -label L1168 +jmp L1239 +label L1241 +label L1239 load 87 expr_idx call 88 ir_emitter_core_ir_arg_release_is_skipped bool 1 87 iconst 89 0 eq 90 88 89 -brif 90 L1175 L1176 -label L1175 +brif 90 L1246 L1247 +label L1246 load 91 expr_idx load 92 arg_regs load 93 reg_i @@ -153940,22 +154389,22 @@ call 96 ir_emitter_core_ir_infer_type string 1 95 call 97 ir_emitter_core_ir_release_owned_string_operand void 3 91 94 96 call 98 pith_cstring_release void 1 96 iconst 99 0 -store __or_99_1180 99 +store __or_99_1251 99 load 100 arg_name call 101 string_len int 1 100 iconst 102 0 gt 103 101 102 -store __or_99_1180 103 -brif 103 L1181 L1180 -label L1180 +store __or_99_1251 103 +brif 103 L1252 L1251 +label L1251 load 104 has_named iconst 106 1 sub 105 106 104 -store __or_99_1180 105 -label L1181 -load 107 __or_99_1180 -brif 107 L1178 L1179 -label L1178 +store __or_99_1251 105 +label L1252 +load 107 __or_99_1251 +brif 107 L1249 L1250 +label L1249 load 108 node load 109 reg_i load 110 arg_name @@ -153964,23 +154413,23 @@ load 112 arg_regs load 113 reg_i call 114 pith_list_get_value_strict int 2 112 113 call 115 ir_emitter_core_ir_release_fresh_optional_arg void 5 108 109 110 111 114 -jmp L1177 -label L1179 -label L1177 -jmp L1174 -label L1176 -label L1174 +jmp L1248 +label L1250 +label L1248 +jmp L1245 +label L1247 +label L1245 load 116 reg_i iconst 117 1 add 118 116 117 store reg_i 118 -label L1160 +label L1231 load 119 __for_idx_340 iconst 120 1 add 121 119 120 store __for_idx_340 121 -jmp L1158 -label L1161 +jmp L1229 +label L1232 load 122 cn call 123 pith_struct_release void 1 122 load 124 arg_name @@ -153995,24 +154444,24 @@ param field_types load 3 ir_struct_registry_ir_struct_names load 4 name call 5 contains_key bool 2 3 4 -brif 5 L1183 L1184 -label L1183 +brif 5 L1254 L1255 +label L1254 iconst 6 0 ret 6 -label L1184 -label L1182 +label L1255 +label L1253 load 7 field_names call 8 pith_auto_len int 1 7 iconst 9 0 store __for_idx_341 9 store __for_len_341 8 store __for_iter_341 7 -label L1185 +label L1256 load 10 __for_idx_341 load 11 __for_len_341 lt 12 10 11 -brif 12 L1186 L1188 -label L1186 +brif 12 L1257 L1259 +label L1257 load 13 __for_iter_341 load 14 __for_idx_341 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -154044,13 +154493,13 @@ load 38 __loopvar_341_i call 39 int_to_string string 1 38 call 40 pith_map_insert_cstr_owned void 3 30 36 39 call 41 pith_cstring_release void 1 36 -label L1187 +label L1258 load 42 __for_idx_341 iconst 43 1 add 44 42 43 store __for_idx_341 44 -jmp L1185 -label L1188 +jmp L1256 +label L1259 load 45 ir_struct_registry_ir_struct_names load 46 name load 47 field_names @@ -154059,40 +154508,40 @@ call 49 map_insert void 3 45 46 48 load 50 ir_emitter_core_ir_local_struct_names load 51 name iconst 52 -1 -store __list_index_result_L1192 52 +store __list_index_result_L1263 52 iconst 53 0 -store __list_index_i_L1193 53 +store __list_index_i_L1264 53 call 54 pith_list_len int 1 50 -label L1194 -load 55 __list_index_i_L1193 +label L1265 +load 55 __list_index_i_L1264 lt 56 55 54 -brif 56 L1195 L1198 -label L1195 +brif 56 L1266 L1269 +label L1266 call 57 pith_list_get_value string 2 50 55 call 58 pith_cstring_eq bool 2 57 51 -brif 58 L1196 L1197 -label L1196 -store __list_index_result_L1192 55 -jmp L1198 -label L1197 +brif 58 L1267 L1268 +label L1267 +store __list_index_result_L1263 55 +jmp L1269 +label L1268 iconst 59 1 add 60 55 59 -store __list_index_i_L1193 60 -jmp L1194 -label L1198 -load 61 __list_index_result_L1192 +store __list_index_i_L1264 60 +jmp L1265 +label L1269 +load 61 __list_index_result_L1263 iconst 62 0 gte 63 61 62 iconst 65 1 sub 64 65 63 -brif 64 L1190 L1191 -label L1190 +brif 64 L1261 L1262 +label L1261 load 66 ir_emitter_core_ir_local_struct_names load 67 name call 68 pith_list_push_value void 2 66 67 -jmp L1189 -label L1191 -label L1189 +jmp L1260 +label L1262 +label L1260 strref 69 m51s1360 load 70 name concat 71 69 70 @@ -154117,45 +154566,45 @@ func ir_emitter_core_ir_substitute_type_name 1 string param name iconst 1 0 store i 1 -label L1199 +label L1270 load 2 i load 3 ir_emitter_core_ir_current_impl_subst_params call 4 pith_list_len int 1 3 lt 5 2 4 -brif 5 L1200 L1201 -label L1200 +brif 5 L1271 L1272 +label L1271 iconst 6 0 -store __and_6_1205 6 +store __and_6_1276 6 load 7 ir_emitter_core_ir_current_impl_subst_params load 8 i call 9 pith_list_get_value_strict string 2 7 8 load 10 name call 11 pith_cstring_eq bool 2 9 10 -store __and_6_1205 11 -brif 11 L1205 L1206 -label L1205 +store __and_6_1276 11 +brif 11 L1276 L1277 +label L1276 load 12 i load 13 ir_emitter_core_ir_current_impl_subst_args call 14 pith_list_len int 1 13 lt 15 12 14 -store __and_6_1205 15 -label L1206 -load 16 __and_6_1205 -brif 16 L1203 L1204 -label L1203 +store __and_6_1276 15 +label L1277 +load 16 __and_6_1276 +brif 16 L1274 L1275 +label L1274 load 17 ir_emitter_core_ir_current_impl_subst_args load 18 i call 19 pith_list_get_value_strict string 2 17 18 call 20 pith_cstring_retain void 1 19 ret 19 -label L1204 -label L1202 +label L1275 +label L1273 load 21 i iconst 22 1 add 23 21 22 store i 23 -jmp L1199 -label L1201 +jmp L1270 +label L1272 load 24 name call 25 pith_cstring_retain void 1 24 ret 24 @@ -154181,12 +154630,12 @@ iconst 10 0 store __for_idx_342 10 store __for_len_342 9 store __for_iter_342 8 -label L1207 +label L1278 load 11 __for_idx_342 load 12 __for_len_342 lt 13 11 12 -brif 13 L1208 L1210 -label L1208 +brif 13 L1279 L1281 +label L1279 load 14 __for_iter_342 load 15 __for_idx_342 call 16 pith_list_get_value unknown 2 14 15 @@ -154201,23 +154650,23 @@ field 22 21 0 string kind strref 23 m51s316 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L1212 L1213 -label L1212 +brif 24 L1283 L1284 +label L1283 load 26 impl_type load 27 child_node field 28 27 8 string value call 29 pith_cstring_retain void 1 28 call 30 pith_cstring_release void 1 26 store impl_type 28 -jmp L1211 -label L1213 +jmp L1282 +label L1284 load 31 child_node field 32 31 0 string kind strref 33 m51s611 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1214 L1215 -label L1214 +brif 34 L1285 L1286 +label L1285 load 36 child_node field 37 36 16 list children call 38 pith_auto_len int 1 37 @@ -154225,12 +154674,12 @@ iconst 39 0 store __for_idx_343 39 store __for_len_343 38 store __for_iter_343 37 -label L1216 +label L1287 load 40 __for_idx_343 load 41 __for_len_343 lt 42 40 41 -brif 42 L1217 L1219 -label L1217 +brif 42 L1288 L1290 +label L1288 load 43 __for_iter_343 load 44 __for_idx_343 call 45 pith_list_get_value unknown 2 43 44 @@ -154245,61 +154694,61 @@ field 51 50 0 string kind strref 52 m51s316 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -brif 53 L1221 L1222 -label L1221 +brif 53 L1292 L1293 +label L1292 load 55 impl_type load 56 type_child field 57 56 8 string value call 58 pith_cstring_retain void 1 57 call 59 pith_cstring_release void 1 55 store impl_type 57 -jmp L1220 -label L1222 -label L1220 -label L1218 +jmp L1291 +label L1293 +label L1291 +label L1289 load 60 __for_idx_343 iconst 61 1 add 62 60 61 store __for_idx_343 62 -jmp L1216 -label L1219 -jmp L1211 -label L1215 +jmp L1287 +label L1290 +jmp L1282 +label L1286 iconst 63 0 -store __and_63_1225 63 +store __and_63_1296 63 load 64 child_node field 65 64 0 string kind strref 66 m51s336 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __and_63_1225 67 -brif 67 L1225 L1226 -label L1225 +store __and_63_1296 67 +brif 67 L1296 L1297 +label L1296 load 69 impl_type strref 70 m51s83 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 -store __and_63_1225 71 -label L1226 -load 73 __and_63_1225 -brif 73 L1223 L1224 -label L1223 +store __and_63_1296 71 +label L1297 +load 73 __and_63_1296 +brif 73 L1294 L1295 +label L1294 load 74 impl_type load 75 child_node field 76 75 8 string value call 77 pith_cstring_retain void 1 76 call 78 pith_cstring_release void 1 74 store impl_type 76 -jmp L1211 -label L1224 -label L1211 -label L1209 +jmp L1282 +label L1295 +label L1282 +label L1280 load 79 __for_idx_342 iconst 80 1 add 81 79 80 store __for_idx_342 81 -jmp L1207 -label L1210 +jmp L1278 +label L1281 load 82 impl_type load 83 child_node call 84 pith_struct_release void 1 83 @@ -154334,12 +154783,12 @@ iconst 10 0 store __for_idx_344 10 store __for_len_344 9 store __for_iter_344 8 -label L1227 +label L1298 load 11 __for_idx_344 load 12 __for_len_344 lt 13 11 12 -brif 13 L1228 L1230 -label L1228 +brif 13 L1299 L1301 +label L1299 load 14 __for_iter_344 load 15 __for_idx_344 call 16 pith_list_get_value unknown 2 14 15 @@ -154350,91 +154799,91 @@ call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 17 store cn 19 iconst 21 0 -store __and_21_1234 21 +store __and_21_1305 21 load 22 cn field 23 22 0 string kind strref 24 m51s316 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_1234 25 -brif 25 L1234 L1235 -label L1234 +store __and_21_1305 25 +brif 25 L1305 L1306 +label L1305 load 27 first_type strref 28 m51s83 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __and_21_1234 29 -label L1235 -load 31 __and_21_1234 -brif 31 L1232 L1233 -label L1232 +store __and_21_1305 29 +label L1306 +load 31 __and_21_1305 +brif 31 L1303 L1304 +label L1303 load 32 first_type load 33 cn field 34 33 8 string value call 35 pith_cstring_retain void 1 34 call 36 pith_cstring_release void 1 32 store first_type 34 -jmp L1231 -label L1233 +jmp L1302 +label L1304 iconst 37 0 -store __and_37_1238 37 +store __and_37_1309 37 load 38 cn field 39 38 0 string kind strref 40 m51s336 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __and_37_1238 41 -brif 41 L1238 L1239 -label L1238 +store __and_37_1309 41 +brif 41 L1309 L1310 +label L1309 load 43 first_type strref 44 m51s83 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_37_1238 45 -label L1239 -load 47 __and_37_1238 -brif 47 L1236 L1237 -label L1236 +store __and_37_1309 45 +label L1310 +load 47 __and_37_1309 +brif 47 L1307 L1308 +label L1307 load 48 first_type load 49 cn field 50 49 8 string value call 51 pith_cstring_retain void 1 50 call 52 pith_cstring_release void 1 48 store first_type 50 -jmp L1231 -label L1237 +jmp L1302 +label L1308 load 53 cn field 54 53 0 string kind strref 55 m51s611 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L1240 L1241 -label L1240 +brif 56 L1311 L1312 +label L1311 iconst 58 1 store has_for 58 -jmp L1231 -label L1241 -label L1231 -label L1229 +jmp L1302 +label L1312 +label L1302 +label L1300 load 59 __for_idx_344 iconst 60 1 add 61 59 60 store __for_idx_344 61 -jmp L1227 -label L1230 +jmp L1298 +label L1301 load 62 has_for iconst 63 0 eq 64 62 63 -brif 64 L1243 L1244 -label L1243 +brif 64 L1314 L1315 +label L1314 strref 65 m51s83 load 66 first_type call 67 pith_cstring_release void 1 66 load 68 cn call 69 pith_struct_release void 1 68 ret 65 -label L1244 -label L1242 +label L1315 +label L1313 load 70 first_type call 71 ir_method_tables_ir_strip_type_args string 1 70 load 72 first_type @@ -154461,12 +154910,12 @@ iconst 6 0 store __for_idx_345 6 store __for_len_345 5 store __for_iter_345 4 -label L1245 +label L1316 load 7 __for_idx_345 load 8 __for_len_345 lt 9 7 8 -brif 9 L1246 L1248 -label L1246 +brif 9 L1317 L1319 +label L1317 load 10 __for_iter_345 load 11 __for_idx_345 call 12 pith_list_get_value unknown 2 10 11 @@ -154478,35 +154927,35 @@ call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 13 store mn 16 iconst 18 0 -store __and_18_1252 18 +store __and_18_1323 18 load 19 mn field 20 19 0 string kind call 21 ir_generics_ir_is_fn_decl_kind bool 1 20 -store __and_18_1252 21 -brif 21 L1252 L1253 -label L1252 +store __and_18_1323 21 +brif 21 L1323 L1324 +label L1323 load 22 mn field 23 22 8 string value load 24 method_name call 25 pith_cstring_eq bool 2 23 24 -store __and_18_1252 25 -label L1253 -load 26 __and_18_1252 -brif 26 L1250 L1251 -label L1250 +store __and_18_1323 25 +label L1324 +load 26 __and_18_1323 +brif 26 L1321 L1322 +label L1321 iconst 27 1 load 28 mn call 29 pith_struct_release void 1 28 ret 27 -label L1251 -label L1249 -label L1247 +label L1322 +label L1320 +label L1318 load 30 __for_idx_345 iconst 31 1 add 32 30 31 store __for_idx_345 32 -jmp L1245 -label L1248 +jmp L1316 +label L1319 iconst 33 0 load 34 mn call 35 pith_struct_release void 1 34 @@ -154539,8 +154988,8 @@ load 12 iface_base call 13 string_len int 1 12 iconst 14 0 eq 15 13 14 -brif 15 L1255 L1256 -label L1255 +brif 15 L1326 L1327 +label L1326 load 16 result load 17 iface_base call 18 pith_cstring_release void 1 17 @@ -154549,15 +154998,15 @@ call 20 pith_struct_release void 1 19 load 21 mn call 22 pith_struct_release void 1 21 ret 16 -label L1256 -label L1254 +label L1327 +label L1325 load 23 ir_method_tables_ir_interface_decl_index load 24 iface_base call 25 contains_key bool 2 23 24 iconst 26 0 eq 27 25 26 -brif 27 L1258 L1259 -label L1258 +brif 27 L1329 L1330 +label L1329 load 28 result load 29 iface_base call 30 pith_cstring_release void 1 29 @@ -154566,8 +155015,8 @@ call 32 pith_struct_release void 1 31 load 33 mn call 34 pith_struct_release void 1 33 ret 28 -label L1259 -label L1257 +label L1330 +label L1328 load 35 iface_node load 36 ir_method_tables_ir_interface_decl_index load 37 iface_base @@ -154582,12 +155031,12 @@ iconst 44 0 store __for_idx_346 44 store __for_len_346 43 store __for_iter_346 42 -label L1260 +label L1331 load 45 __for_idx_346 load 46 __for_len_346 lt 47 45 46 -brif 47 L1261 L1263 -label L1261 +brif 47 L1332 L1334 +label L1332 load 48 __for_iter_346 load 49 __for_idx_346 call 50 pith_list_get_value unknown 2 48 49 @@ -154600,32 +155049,32 @@ store mn 53 load 55 mn field 56 55 0 string kind call 57 ir_generics_ir_is_fn_decl_kind bool 1 56 -brif 57 L1265 L1266 -label L1265 +brif 57 L1336 L1337 +label L1336 load 58 node load 59 mn field 60 59 8 string value call 61 ir_emitter_core_ir_impl_defines_method bool 2 58 60 iconst 62 0 eq 63 61 62 -brif 63 L1268 L1269 -label L1268 +brif 63 L1339 L1340 +label L1339 load 64 result load 65 __loopvar_346_member call 66 pith_list_push_value void 2 64 65 -jmp L1267 -label L1269 -label L1267 -jmp L1264 -label L1266 -label L1264 -label L1262 +jmp L1338 +label L1340 +label L1338 +jmp L1335 +label L1337 +label L1335 +label L1333 load 67 __for_idx_346 iconst 68 1 add 69 67 68 store __for_idx_346 69 -jmp L1260 -label L1263 +jmp L1331 +label L1334 load 70 result load 71 iface_base call 72 pith_cstring_release void 1 71 @@ -154662,12 +155111,12 @@ iconst 8 0 store __for_idx_347 8 store __for_len_347 7 store __for_iter_347 6 -label L1270 +label L1341 load 9 __for_idx_347 load 10 __for_len_347 lt 11 9 10 -brif 11 L1271 L1273 -label L1271 +brif 11 L1342 L1344 +label L1342 load 12 __for_iter_347 load 13 __for_idx_347 call 14 pith_list_get_value unknown 2 12 13 @@ -154684,24 +155133,24 @@ field 21 20 0 string kind strref 22 m51s602 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L1275 L1276 -label L1275 +brif 23 L1346 L1347 +label L1346 load 25 node field 26 25 16 list children iconst 27 0 call 28 pith_list_get_value_strict int 2 26 27 call 29 ast_get_node struct:Node 1 28 store actual 29 -jmp L1274 -label L1276 -label L1274 +jmp L1345 +label L1347 +label L1345 load 30 actual field 31 30 0 string kind strref 32 m51s613 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L1278 L1279 -label L1278 +brif 33 L1349 L1350 +label L1349 load 35 impl_type load 36 actual call 37 ir_emitter_core_ir_impl_target_type string 1 36 @@ -154711,8 +155160,8 @@ load 39 impl_type call 40 string_len int 1 39 iconst 41 0 gt 42 40 41 -brif 42 L1281 L1282 -label L1281 +brif 42 L1352 L1353 +label L1352 load 43 names call 44 pith_list_new_cstr list 0 call 45 pith_list_release_handle void 1 43 @@ -154724,12 +155173,12 @@ iconst 49 0 store __for_idx_348 49 store __for_len_348 48 store __for_iter_348 47 -label L1283 +label L1354 load 50 __for_idx_348 load 51 __for_len_348 lt 52 50 51 -brif 52 L1284 L1286 -label L1284 +brif 52 L1355 L1357 +label L1355 load 53 __for_iter_348 load 54 __for_idx_348 call 55 pith_list_get_value unknown 2 53 54 @@ -154744,8 +155193,8 @@ field 61 60 0 string kind strref 62 m51s610 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L1288 L1289 -label L1288 +brif 63 L1359 L1360 +label L1359 load 65 ir_method_tables_ir_assoc_bindings load 66 impl_type strref 67 m51s26 @@ -154766,22 +155215,22 @@ load 81 names load 82 cn field 83 82 8 string value call 84 pith_list_push_value void 2 81 83 -jmp L1287 -label L1289 -label L1287 -label L1285 +jmp L1358 +label L1360 +label L1358 +label L1356 load 85 __for_idx_348 iconst 86 1 add 87 85 86 store __for_idx_348 87 -jmp L1283 -label L1286 +jmp L1354 +label L1357 load 88 names call 89 pith_list_len int 1 88 iconst 90 0 gt 91 89 90 -brif 91 L1291 L1292 -label L1291 +brif 91 L1362 L1363 +label L1362 load 92 ir_method_tables_ir_type_assoc_names load 93 impl_type load 94 names @@ -154789,22 +155238,22 @@ strref 95 m51s315 call 96 list_join string 2 94 95 call 97 pith_cstring_release void 1 95 call 98 pith_map_insert_cstr_owned void 3 92 93 96 -jmp L1290 -label L1292 -label L1290 -jmp L1280 -label L1282 -label L1280 -jmp L1277 -label L1279 -label L1277 -label L1272 +jmp L1361 +label L1363 +label L1361 +jmp L1351 +label L1353 +label L1351 +jmp L1348 +label L1350 +label L1348 +label L1343 load 99 __for_idx_347 iconst 100 1 add 101 99 100 store __for_idx_347 101 -jmp L1270 -label L1273 +jmp L1341 +label L1344 load 102 __for_iter_347 call 103 pith_list_release_handle void 1 102 load 104 node @@ -154831,12 +155280,12 @@ iconst 6 0 store __for_idx_349 6 store __for_len_349 5 store __for_iter_349 4 -label L1293 +label L1364 load 7 __for_idx_349 load 8 __for_len_349 lt 9 7 8 -brif 9 L1294 L1296 -label L1294 +brif 9 L1365 L1367 +label L1365 load 10 __for_iter_349 load 11 __for_idx_349 call 12 pith_list_get_value unknown 2 10 11 @@ -154853,16 +155302,16 @@ field 19 18 0 string kind strref 20 m51s602 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L1298 L1299 -label L1298 +brif 21 L1369 L1370 +label L1369 load 23 node field 24 23 16 list children iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 store actual_idx 26 -jmp L1297 -label L1299 -label L1297 +jmp L1368 +label L1370 +label L1368 load 27 actual load 28 actual_idx call 29 ast_get_node struct:Node 1 28 @@ -154873,23 +155322,23 @@ field 32 31 0 string kind strref 33 m51s634 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1301 L1302 -label L1301 +brif 34 L1372 L1373 +label L1372 load 36 ir_method_tables_ir_interface_decl_index load 37 actual field 38 37 8 string value load 39 actual_idx call 40 map_insert void 3 36 38 39 -jmp L1300 -label L1302 -label L1300 -label L1295 +jmp L1371 +label L1373 +label L1371 +label L1366 load 41 __for_idx_349 iconst 42 1 add 43 41 42 store __for_idx_349 43 -jmp L1293 -label L1296 +jmp L1364 +label L1367 load 44 __for_iter_349 call 45 pith_list_release_handle void 1 44 load 46 node @@ -154914,12 +155363,12 @@ iconst 9 0 store __for_idx_350 9 store __for_len_350 8 store __for_iter_350 7 -label L1303 +label L1374 load 10 __for_idx_350 load 11 __for_len_350 lt 12 10 11 -brif 12 L1304 L1306 -label L1304 +brif 12 L1375 L1377 +label L1375 load 13 __for_iter_350 load 14 __for_idx_350 call 15 pith_list_get_value unknown 2 13 14 @@ -154937,21 +155386,21 @@ field 23 22 0 string kind strref 24 m51s601 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L1308 L1309 -label L1308 +brif 25 L1379 L1380 +label L1379 load 27 method_idx load 28 impl_type call 29 ir_emitter_core_ir_impl_func void 2 27 28 -jmp L1307 -label L1309 -label L1307 -label L1305 +jmp L1378 +label L1380 +label L1378 +label L1376 load 30 __for_idx_350 iconst 31 1 add 32 30 31 store __for_idx_350 32 -jmp L1303 -label L1306 +jmp L1374 +label L1377 load 33 node call 34 ir_emitter_core_ir_inherited_default_indices list 1 33 call 35 pith_auto_len int 1 34 @@ -154959,12 +155408,12 @@ iconst 36 0 store __for_idx_351 36 store __for_len_351 35 store __for_iter_351 34 -label L1310 +label L1381 load 37 __for_idx_351 load 38 __for_len_351 lt 39 37 38 -brif 39 L1311 L1313 -label L1311 +brif 39 L1382 L1384 +label L1382 load 40 __for_iter_351 load 41 __for_idx_351 call 42 pith_list_get_value unknown 2 40 41 @@ -154972,13 +155421,13 @@ store __loopvar_351_default_idx 42 load 43 __loopvar_351_default_idx load 44 impl_type call 45 ir_emitter_core_ir_impl_func void 2 43 44 -label L1312 +label L1383 load 46 __for_idx_351 iconst 47 1 add 48 46 47 store __for_idx_351 48 -jmp L1310 -label L1313 +jmp L1381 +label L1384 load 49 __for_iter_351 call 50 pith_list_release_handle void 1 49 load 51 child_node @@ -155007,8 +155456,8 @@ load 9 impl_type call 10 checker_has_generic_declaration bool 1 9 iconst 12 1 sub 11 12 10 -brif 11 L1315 L1316 -label L1315 +brif 11 L1386 L1387 +label L1386 load 13 sdecl call 14 pith_struct_release void 1 13 load 15 struct_params @@ -155025,8 +155474,8 @@ load 25 child_node call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L1316 -label L1314 +label L1387 +label L1385 load 28 sdecl load 29 impl_type call 30 checker_get_generic_declaration_index int 1 29 @@ -155042,8 +155491,8 @@ load 37 struct_params call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L1318 L1319 -label L1318 +brif 40 L1389 L1390 +label L1389 load 41 sdecl call 42 pith_struct_release void 1 41 load 43 struct_params @@ -155060,8 +155509,8 @@ load 53 child_node call 54 pith_struct_release void 1 53 iconst 55 0 ret 55 -label L1319 -label L1317 +label L1390 +label L1388 load 56 instance_tids load 57 checker_struct_instance_tids call 58 pith_list_retain_handle void 1 57 @@ -155073,12 +155522,12 @@ iconst 62 0 store __for_idx_352 62 store __for_len_352 61 store __for_iter_352 60 -label L1320 +label L1391 load 63 __for_idx_352 load 64 __for_len_352 lt 65 63 64 -brif 65 L1321 L1323 -label L1321 +brif 65 L1392 L1394 +label L1392 load 66 __for_iter_352 load 67 __for_idx_352 call 68 pith_list_get_value unknown 2 66 67 @@ -155090,21 +155539,21 @@ load 72 impl_type call 74 pith_cstring_eq bool 2 71 72 iconst 75 1 sub 73 75 74 -brif 73 L1325 L1326 -label L1325 -jmp L1322 -label L1326 -label L1324 +brif 73 L1396 L1397 +label L1396 +jmp L1393 +label L1397 +label L1395 load 76 checker_struct_instance_type_args load 77 __loopvar_352_inst_tid call 78 map_contains_ikey bool 2 76 77 iconst 80 1 sub 79 80 78 -brif 79 L1328 L1329 -label L1328 -jmp L1322 -label L1329 -label L1327 +brif 79 L1399 L1400 +label L1399 +jmp L1393 +label L1400 +label L1398 load 81 arg_tids load 82 checker_struct_instance_type_args load 83 __loopvar_352_inst_tid @@ -155122,12 +155571,12 @@ iconst 92 0 store __for_idx_353 92 store __for_len_353 91 store __for_iter_353 90 -label L1330 +label L1401 load 93 __for_idx_353 load 94 __for_len_353 lt 95 93 94 -brif 95 L1331 L1333 -label L1331 +brif 95 L1402 L1404 +label L1402 load 96 __for_iter_353 load 97 __for_idx_353 call 98 pith_list_get_value unknown 2 96 97 @@ -155136,13 +155585,13 @@ load 99 arg_names load 100 __loopvar_353_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 L1332 +label L1403 load 103 __for_idx_353 iconst 104 1 add 105 103 104 store __for_idx_353 105 -jmp L1330 -label L1333 +jmp L1401 +label L1404 load 106 instance_type_name load 107 __loopvar_352_inst_tid call 108 types_get_type_name string 1 107 @@ -155155,12 +155604,12 @@ iconst 113 0 store __for_idx_354 113 store __for_len_354 112 store __for_iter_354 111 -label L1334 +label L1405 load 114 __for_idx_354 load 115 __for_len_354 lt 116 114 115 -brif 116 L1335 L1337 -label L1335 +brif 116 L1406 L1408 +label L1406 load 117 __for_iter_354 load 118 __for_idx_354 call 119 pith_list_get_value unknown 2 117 118 @@ -155178,31 +155627,31 @@ field 127 126 0 string kind strref 128 m51s601 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -brif 129 L1339 L1340 -label L1339 +brif 129 L1410 L1411 +label L1410 load 131 method_idx load 132 impl_type load 133 instance_type_name load 134 struct_params load 135 arg_names call 136 ir_emitter_core_ir_impl_func_specialized void 5 131 132 133 134 135 -jmp L1338 -label L1340 -label L1338 -label L1336 +jmp L1409 +label L1411 +label L1409 +label L1407 load 137 __for_idx_354 iconst 138 1 add 139 137 138 store __for_idx_354 139 -jmp L1334 -label L1337 -label L1322 +jmp L1405 +label L1408 +label L1393 load 140 __for_idx_352 iconst 141 1 add 142 140 141 store __for_idx_352 142 -jmp L1320 -label L1323 +jmp L1391 +label L1394 load 143 sdecl call 144 pith_struct_release void 1 143 load 145 struct_params @@ -155267,12 +155716,12 @@ iconst 29 0 store __for_idx_355 29 store __for_len_355 28 store __for_iter_355 27 -label L1341 +label L1412 load 30 __for_idx_355 load 31 __for_len_355 lt 32 30 31 -brif 32 L1342 L1344 -label L1342 +brif 32 L1413 L1415 +label L1413 load 33 __for_iter_355 load 34 __for_idx_355 call 35 pith_list_get_value_unchecked string 2 33 34 @@ -155289,13 +155738,13 @@ call 44 pith_cstring_release void 1 39 call 45 pith_cstring_release void 1 42 call 46 pith_cstring_release void 1 36 store suffix 43 -label L1343 +label L1414 load 47 __for_idx_355 iconst 48 1 add 49 47 48 store __for_idx_355 49 -jmp L1341 -label L1344 +jmp L1412 +label L1415 load 50 full_name load 51 base_impl_type load 52 suffix @@ -155318,8 +155767,8 @@ store method_key 65 load 67 ir_method_tables_ir_impl_methods load 68 method_key call 69 contains_key bool 2 67 68 -brif 69 L1346 L1347 -label L1346 +brif 69 L1417 L1418 +label L1417 load 70 node call 71 pith_struct_release void 1 70 load 72 orig_name @@ -155342,8 +155791,8 @@ load 88 ret_type call 89 pith_cstring_release void 1 88 iconst 90 0 ret 90 -label L1347 -label L1345 +label L1418 +label L1416 load 91 ir_method_tables_ir_impl_methods load 92 method_key load 93 full_name @@ -155372,8 +155821,8 @@ store prefixed_full 110 load 113 ir_method_tables_ir_impl_methods load 114 base_key call 115 contains_key bool 2 113 114 -brif 115 L1349 L1350 -label L1349 +brif 115 L1420 L1421 +label L1420 load 116 base_sym load 117 ir_method_tables_ir_impl_methods load 118 base_key @@ -155382,23 +155831,23 @@ call 120 pith_cstring_retain void 1 119 call 121 pith_cstring_release void 1 116 store base_sym 119 iconst 122 0 -store __and_122_1354 122 +store __and_122_1425 122 load 123 base_sym call 124 string_len int 1 123 load 125 expected_base_sym call 126 string_len int 1 125 gt 127 124 126 -store __and_122_1354 127 -brif 127 L1354 L1355 -label L1354 +store __and_122_1425 127 +brif 127 L1425 L1426 +label L1425 load 128 base_sym load 129 expected_base_sym call 130 pith_cstring_ends_with bool 2 128 129 -store __and_122_1354 130 -label L1355 -load 131 __and_122_1354 -brif 131 L1352 L1353 -label L1352 +store __and_122_1425 130 +label L1426 +load 131 __and_122_1425 +brif 131 L1423 L1424 +label L1423 load 132 base_sym call 133 string_len int 1 132 load 134 expected_base_sym @@ -155415,12 +155864,12 @@ concat 143 141 142 call 144 pith_cstring_release void 1 141 call 145 pith_cstring_release void 1 137 store prefixed_full 143 -jmp L1351 -label L1353 -label L1351 -jmp L1348 -label L1350 -label L1348 +jmp L1422 +label L1424 +label L1422 +jmp L1419 +label L1421 +label L1419 load 146 ir_method_tables_ir_impl_method_specializations load 147 method_key load 148 prefixed_full @@ -155519,8 +155968,8 @@ field 2 1 8 string value strref 3 m51s343 call 4 pith_cstring_contains bool 2 2 3 call 5 pith_cstring_release void 1 3 -brif 4 L1357 L1358 -label L1357 +brif 4 L1428 L1429 +label L1428 load 6 node field 7 6 8 string value iconst 8 0 @@ -155531,8 +155980,8 @@ call 12 pith_cstring_index_of int 2 10 11 call 13 pith_cstring_release void 1 11 call 14 pith_cstring_substring string 3 7 8 12 ret 14 -label L1358 -label L1356 +label L1429 +label L1427 load 15 node field 16 15 8 string value call 17 pith_cstring_retain void 1 16 @@ -155571,8 +156020,8 @@ field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 gt 23 21 22 -brif 23 L1360 L1361 -label L1360 +brif 23 L1431 L1432 +label L1431 load 24 type_node load 25 field_node field 26 25 16 list children @@ -155582,51 +156031,51 @@ call 29 ast_get_node struct:Node 1 28 call 30 pith_struct_release void 1 24 store type_node 29 iconst 31 0 -store __or_31_1365 31 +store __or_31_1436 31 iconst 32 0 -store __or_32_1365 32 +store __or_32_1436 32 iconst 33 0 -store __or_33_1365 33 +store __or_33_1436 33 load 34 type_node field 35 34 0 string kind strref 36 m51s316 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_33_1365 37 -brif 37 L1366 L1365 -label L1365 +store __or_33_1436 37 +brif 37 L1437 L1436 +label L1436 load 39 type_node field 40 39 0 string kind strref 41 m51s336 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_33_1365 42 -label L1366 -load 44 __or_33_1365 -store __or_32_1365 44 -brif 44 L1368 L1367 -label L1367 +store __or_33_1436 42 +label L1437 +load 44 __or_33_1436 +store __or_32_1436 44 +brif 44 L1439 L1438 +label L1438 load 45 type_node field 46 45 0 string kind strref 47 m51s317 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __or_32_1365 48 -label L1368 -load 50 __or_32_1365 -store __or_31_1365 50 -brif 50 L1370 L1369 -label L1369 +store __or_32_1436 48 +label L1439 +load 50 __or_32_1436 +store __or_31_1436 50 +brif 50 L1441 L1440 +label L1440 load 51 type_node field 52 51 0 string kind strref 53 m51s328 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_31_1365 54 -label L1370 -load 56 __or_31_1365 -brif 56 L1363 L1364 -label L1363 +store __or_31_1436 54 +label L1441 +load 56 __or_31_1436 +brif 56 L1434 L1435 +label L1434 load 57 ir_struct_registry_ir_struct_field_lookup load 58 struct_name strref 59 m51s26 @@ -155642,16 +156091,16 @@ call 68 pith_list_get_value_strict int 2 66 67 call 69 ir_alias_registry_ir_resolve_type_node string 1 68 call 70 pith_map_insert_cstr_owned void 3 57 63 69 call 71 pith_cstring_release void 1 63 -jmp L1362 -label L1364 -label L1362 +jmp L1433 +label L1435 +label L1433 load 72 field_node field 73 72 16 list children call 74 pith_list_len int 1 73 iconst 75 1 gt 76 74 75 -brif 76 L1372 L1373 -label L1372 +brif 76 L1443 L1444 +label L1443 load 77 ir_struct_registry_ir_struct_field_default_nodes load 78 struct_name strref 79 m51s26 @@ -155666,12 +156115,12 @@ iconst 87 1 call 88 pith_list_get_value_strict int 2 86 87 call 89 map_insert void 3 77 83 88 call 90 pith_cstring_release void 1 83 -jmp L1371 -label L1373 -label L1371 -jmp L1359 -label L1361 -label L1359 +jmp L1442 +label L1444 +label L1442 +jmp L1430 +label L1432 +label L1430 load 91 ir_struct_registry_ir_struct_field_index_lookup load 92 struct_name strref 93 m51s26 @@ -155729,12 +156178,12 @@ iconst 20 0 store __for_idx_356 20 store __for_len_356 19 store __for_iter_356 18 -label L1374 +label L1445 load 21 __for_idx_356 load 22 __for_len_356 lt 23 21 22 -brif 23 L1375 L1377 -label L1375 +brif 23 L1446 L1448 +label L1446 load 24 __for_iter_356 load 25 __for_idx_356 call 26 pith_list_get_value unknown 2 24 25 @@ -155749,8 +156198,8 @@ field 32 31 0 string kind strref 33 m51s29 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1379 L1380 -label L1379 +brif 34 L1450 L1451 +label L1450 load 36 field_names load 37 sname load 38 field_names @@ -155758,61 +156207,61 @@ load 39 field_node call 40 ir_emitter_core_ir_record_struct_field list_string 3 37 38 39 call 41 pith_list_release_handle void 1 36 store field_names 40 -jmp L1378 -label L1380 -label L1378 -label L1376 +jmp L1449 +label L1451 +label L1449 +label L1447 load 42 __for_idx_356 iconst 43 1 add 44 42 43 store __for_idx_356 44 -jmp L1374 -label L1377 +jmp L1445 +label L1448 load 45 ir_struct_registry_ir_struct_names load 46 sname load 47 field_names call 48 pith_list_len int 1 47 call 49 map_insert void 3 45 46 48 load 50 emit_decl -brif 50 L1382 L1383 -label L1382 +brif 50 L1453 L1454 +label L1453 load 51 ir_emitter_core_ir_local_struct_names load 52 sname iconst 53 -1 -store __list_index_result_L1387 53 +store __list_index_result_L1458 53 iconst 54 0 -store __list_index_i_L1388 54 +store __list_index_i_L1459 54 call 55 pith_list_len int 1 51 -label L1389 -load 56 __list_index_i_L1388 +label L1460 +load 56 __list_index_i_L1459 lt 57 56 55 -brif 57 L1390 L1393 -label L1390 +brif 57 L1461 L1464 +label L1461 call 58 pith_list_get_value string 2 51 56 call 59 pith_cstring_eq bool 2 58 52 -brif 59 L1391 L1392 -label L1391 -store __list_index_result_L1387 56 -jmp L1393 -label L1392 +brif 59 L1462 L1463 +label L1462 +store __list_index_result_L1458 56 +jmp L1464 +label L1463 iconst 60 1 add 61 56 60 -store __list_index_i_L1388 61 -jmp L1389 -label L1393 -load 62 __list_index_result_L1387 +store __list_index_i_L1459 61 +jmp L1460 +label L1464 +load 62 __list_index_result_L1458 iconst 63 0 gte 64 62 63 iconst 66 1 sub 65 66 64 -brif 65 L1385 L1386 -label L1385 +brif 65 L1456 L1457 +label L1456 load 67 ir_emitter_core_ir_local_struct_names load 68 sname call 69 pith_list_push_value void 2 67 68 -jmp L1384 -label L1386 -label L1384 +jmp L1455 +label L1457 +label L1455 strref 70 m51s1360 load 71 sname concat 72 70 71 @@ -155830,9 +156279,9 @@ call 83 pith_cstring_release void 1 75 call 84 pith_cstring_release void 1 80 call 85 ir_builder_ir_emit void 1 82 call 86 pith_cstring_release void 1 82 -jmp L1381 -label L1383 -label L1381 +jmp L1452 +label L1454 +label L1452 load 87 sname call 88 pith_cstring_release void 1 87 load 89 field_names @@ -155872,12 +156321,12 @@ iconst 18 0 store __for_idx_357 18 store __for_len_357 17 store __for_iter_357 16 -label L1394 +label L1465 load 19 __for_idx_357 load 20 __for_len_357 lt 21 19 20 -brif 21 L1395 L1397 -label L1395 +brif 21 L1466 L1468 +label L1466 load 22 __for_iter_357 load 23 __for_idx_357 call 24 pith_list_get_value unknown 2 22 23 @@ -155892,8 +156341,8 @@ field 30 29 0 string kind strref 31 m51s25 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L1399 L1400 -label L1399 +brif 32 L1470 L1471 +label L1470 load 34 variant_names call 35 pith_list_len int 1 34 store variant_index 35 @@ -155931,8 +156380,8 @@ field 66 65 16 list children call 67 pith_list_len int 1 66 iconst 68 0 gt 69 67 68 -brif 69 L1402 L1403 -label L1402 +brif 69 L1473 L1474 +label L1473 load 70 kinds call 71 pith_list_new_cstr list 0 call 72 pith_list_release_handle void 1 70 @@ -155944,12 +156393,12 @@ iconst 76 0 store __for_idx_358 76 store __for_len_358 75 store __for_iter_358 74 -label L1404 +label L1475 load 77 __for_idx_358 load 78 __for_len_358 lt 79 77 78 -brif 79 L1405 L1407 -label L1405 +brif 79 L1476 L1478 +label L1476 load 80 __for_iter_358 load 81 __for_idx_358 call 82 pith_list_get_value unknown 2 80 81 @@ -155963,25 +156412,25 @@ load 87 kind call 88 string_len int 1 87 iconst 89 0 eq 90 88 89 -brif 90 L1409 L1410 -label L1409 +brif 90 L1480 L1481 +label L1480 load 91 kind strref 92 m51s869 call 93 pith_cstring_release void 1 91 store kind 92 -jmp L1408 -label L1410 -label L1408 +jmp L1479 +label L1481 +label L1479 load 94 kinds load 95 kind call 96 pith_list_push_value void 2 94 95 -label L1406 +label L1477 load 97 __for_idx_358 iconst 98 1 add 99 97 98 store __for_idx_358 99 -jmp L1404 -label L1407 +jmp L1475 +label L1478 load 100 ir_struct_registry_ir_enum_payload_kinds load 101 sname strref 102 m51s26 @@ -156001,19 +156450,19 @@ load 115 ir_struct_registry_ir_boxed_enums load 116 sname iconst 117 1 call 118 map_insert void 3 115 116 117 -jmp L1401 -label L1403 -label L1401 -jmp L1398 -label L1400 -label L1398 -label L1396 +jmp L1472 +label L1474 +label L1472 +jmp L1469 +label L1471 +label L1469 +label L1467 load 119 __for_idx_357 iconst 120 1 add 121 119 120 store __for_idx_357 121 -jmp L1394 -label L1397 +jmp L1465 +label L1468 load 122 ir_struct_registry_ir_enum_variant_lists load 123 sname load 124 variant_names @@ -156027,8 +156476,8 @@ load 131 variant_names call 132 pith_list_len int 1 131 call 133 map_insert void 3 129 130 132 load 134 emit_decl -brif 134 L1412 L1413 -label L1412 +brif 134 L1483 L1484 +label L1483 strref 135 m51s1360 load 136 sname concat 137 135 136 @@ -156046,9 +156495,9 @@ call 148 pith_cstring_release void 1 140 call 149 pith_cstring_release void 1 145 call 150 ir_builder_ir_emit void 1 147 call 151 pith_cstring_release void 1 147 -jmp L1411 -label L1413 -label L1411 +jmp L1482 +label L1484 +label L1482 load 152 sname call 153 pith_cstring_release void 1 152 load 154 variant_names @@ -156074,12 +156523,12 @@ iconst 6 0 store __for_idx_359 6 store __for_len_359 5 store __for_iter_359 4 -label L1414 +label L1485 load 7 __for_idx_359 load 8 __for_len_359 lt 9 7 8 -brif 9 L1415 L1417 -label L1415 +brif 9 L1486 L1488 +label L1486 load 10 __for_iter_359 load 11 __for_idx_359 call 12 pith_list_get_value unknown 2 10 11 @@ -156090,64 +156539,64 @@ call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store cn 15 iconst 17 0 -store __or_17_1421 17 +store __or_17_1492 17 load 18 cn field 19 18 0 string kind strref 20 m51s31 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_17_1421 21 -brif 21 L1422 L1421 -label L1421 +store __or_17_1492 21 +brif 21 L1493 L1492 +label L1492 load 23 cn field 24 23 0 string kind strref 25 m51s15 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_17_1421 26 -label L1422 -load 28 __or_17_1421 -brif 28 L1419 L1420 -label L1419 +store __or_17_1492 26 +label L1493 +load 28 __or_17_1492 +brif 28 L1490 L1491 +label L1490 load 29 __loopvar_359_item_idx load 30 cn load 31 emit_decl call 32 ir_emitter_core_ir_collect_struct_decl void 3 29 30 31 -jmp L1418 -label L1420 +jmp L1489 +label L1491 iconst 33 0 -store __or_33_1425 33 +store __or_33_1496 33 load 34 cn field 35 34 0 string kind strref 36 m51s30 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_33_1425 37 -brif 37 L1426 L1425 -label L1425 +store __or_33_1496 37 +brif 37 L1497 L1496 +label L1496 load 39 cn field 40 39 0 string kind strref 41 m51s14 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_33_1425 42 -label L1426 -load 44 __or_33_1425 -brif 44 L1423 L1424 -label L1423 +store __or_33_1496 42 +label L1497 +load 44 __or_33_1496 +brif 44 L1494 L1495 +label L1494 load 45 cn load 46 emit_decl call 47 ir_emitter_core_ir_collect_enum_decl void 2 45 46 -jmp L1418 -label L1424 -label L1418 -label L1416 +jmp L1489 +label L1495 +label L1489 +label L1487 load 48 __for_idx_359 iconst 49 1 add 50 48 49 store __for_idx_359 50 -jmp L1414 -label L1417 +jmp L1485 +label L1488 load 51 __for_iter_359 call 52 pith_list_release_handle void 1 51 load 53 cn @@ -156162,12 +156611,12 @@ iconst 2 0 store __for_idx_360 2 store __for_len_360 1 store __for_iter_360 0 -label L1427 +label L1498 load 3 __for_idx_360 load 4 __for_len_360 lt 5 3 4 -brif 5 L1428 L1430 -label L1428 +brif 5 L1499 L1501 +label L1499 load 6 __for_iter_360 load 7 __for_idx_360 call 8 pith_list_get_value_unchecked string 2 6 7 @@ -156176,25 +156625,25 @@ load 9 ir_builder_ir_var_types load 10 __loopvar_360_name strref 11 m51s712 call 12 pith_map_insert_cstr_owned void 3 9 10 11 -label L1429 +label L1500 load 13 __for_idx_360 iconst 14 1 add 15 13 14 store __for_idx_360 15 -jmp L1427 -label L1430 +jmp L1498 +label L1501 load 16 ir_alias_registry_ir_global_string_names call 17 pith_auto_len int 1 16 iconst 18 0 store __for_idx_361 18 store __for_len_361 17 store __for_iter_361 16 -label L1431 +label L1502 load 19 __for_idx_361 load 20 __for_len_361 lt 21 19 20 -brif 21 L1432 L1434 -label L1432 +brif 21 L1503 L1505 +label L1503 load 22 __for_iter_361 load 23 __for_idx_361 call 24 pith_list_get_value_unchecked string 2 22 23 @@ -156203,25 +156652,25 @@ load 25 ir_builder_ir_var_types load 26 __loopvar_361_name strref 27 m51s716 call 28 pith_map_insert_cstr_owned void 3 25 26 27 -label L1433 +label L1504 load 29 __for_idx_361 iconst 30 1 add 31 29 30 store __for_idx_361 31 -jmp L1431 -label L1434 +jmp L1502 +label L1505 load 32 ir_alias_registry_ir_global_list_string_names call 33 pith_auto_len int 1 32 iconst 34 0 store __for_idx_362 34 store __for_len_362 33 store __for_iter_362 32 -label L1435 +label L1506 load 35 __for_idx_362 load 36 __for_len_362 lt 37 35 36 -brif 37 L1436 L1438 -label L1436 +brif 37 L1507 L1509 +label L1507 load 38 __for_iter_362 load 39 __for_idx_362 call 40 pith_list_get_value_unchecked string 2 38 39 @@ -156230,25 +156679,25 @@ load 41 ir_builder_ir_var_types load 42 __loopvar_362_name strref 43 m51s709 call 44 pith_map_insert_cstr_owned void 3 41 42 43 -label L1437 +label L1508 load 45 __for_idx_362 iconst 46 1 add 47 45 46 store __for_idx_362 47 -jmp L1435 -label L1438 +jmp L1506 +label L1509 load 48 ir_alias_registry_ir_global_list_names call 49 pith_auto_len int 1 48 iconst 50 0 store __for_idx_363 50 store __for_len_363 49 store __for_iter_363 48 -label L1439 +label L1510 load 51 __for_idx_363 load 52 __for_len_363 lt 53 51 52 -brif 53 L1440 L1442 -label L1440 +brif 53 L1511 L1513 +label L1511 load 54 __for_iter_363 load 55 __for_idx_363 call 56 pith_list_get_value_unchecked string 2 54 55 @@ -156257,25 +156706,25 @@ load 57 ir_builder_ir_var_types load 58 __loopvar_363_name strref 59 m51s20 call 60 pith_map_insert_cstr_owned void 3 57 58 59 -label L1441 +label L1512 load 61 __for_idx_363 iconst 62 1 add 63 61 62 store __for_idx_363 63 -jmp L1439 -label L1442 +jmp L1510 +label L1513 load 64 ir_alias_registry_ir_global_map_int_names call 65 pith_auto_len int 1 64 iconst 66 0 store __for_idx_364 66 store __for_len_364 65 store __for_iter_364 64 -label L1443 +label L1514 load 67 __for_idx_364 load 68 __for_len_364 lt 69 67 68 -brif 69 L1444 L1446 -label L1444 +brif 69 L1515 L1517 +label L1515 load 70 __for_iter_364 load 71 __for_idx_364 call 72 pith_list_get_value_unchecked string 2 70 71 @@ -156284,25 +156733,25 @@ load 73 ir_builder_ir_var_types load 74 __loopvar_364_name strref 75 m51s711 call 76 pith_map_insert_cstr_owned void 3 73 74 75 -label L1445 +label L1516 load 77 __for_idx_364 iconst 78 1 add 79 77 78 store __for_idx_364 79 -jmp L1443 -label L1446 +jmp L1514 +label L1517 load 80 ir_alias_registry_ir_global_map_names call 81 pith_auto_len int 1 80 iconst 82 0 store __for_idx_365 82 store __for_len_365 81 store __for_iter_365 80 -label L1447 +label L1518 load 83 __for_idx_365 load 84 __for_len_365 lt 85 83 84 -brif 85 L1448 L1450 -label L1448 +brif 85 L1519 L1521 +label L1519 load 86 __for_iter_365 load 87 __for_idx_365 call 88 pith_list_get_value_unchecked string 2 86 87 @@ -156311,25 +156760,25 @@ load 89 ir_builder_ir_var_types load 90 __loopvar_365_name strref 91 m51s19 call 92 pith_map_insert_cstr_owned void 3 89 90 91 -label L1449 +label L1520 load 93 __for_idx_365 iconst 94 1 add 95 93 94 store __for_idx_365 95 -jmp L1447 -label L1450 +jmp L1518 +label L1521 load 96 ir_alias_registry_ir_global_set_int_names call 97 pith_auto_len int 1 96 iconst 98 0 store __for_idx_366 98 store __for_len_366 97 store __for_iter_366 96 -label L1451 +label L1522 load 99 __for_idx_366 load 100 __for_len_366 lt 101 99 100 -brif 101 L1452 L1454 -label L1452 +brif 101 L1523 L1525 +label L1523 load 102 __for_iter_366 load 103 __for_idx_366 call 104 pith_list_get_value_unchecked string 2 102 103 @@ -156338,25 +156787,25 @@ load 105 ir_builder_ir_var_types load 106 __loopvar_366_name strref 107 m51s710 call 108 pith_map_insert_cstr_owned void 3 105 106 107 -label L1453 +label L1524 load 109 __for_idx_366 iconst 110 1 add 111 109 110 store __for_idx_366 111 -jmp L1451 -label L1454 +jmp L1522 +label L1525 load 112 ir_alias_registry_ir_global_set_names call 113 pith_auto_len int 1 112 iconst 114 0 store __for_idx_367 114 store __for_len_367 113 store __for_iter_367 112 -label L1455 +label L1526 load 115 __for_idx_367 load 116 __for_len_367 lt 117 115 116 -brif 117 L1456 L1458 -label L1456 +brif 117 L1527 L1529 +label L1527 load 118 __for_iter_367 load 119 __for_idx_367 call 120 pith_list_get_value_unchecked string 2 118 119 @@ -156365,25 +156814,25 @@ load 121 ir_builder_ir_var_types load 122 __loopvar_367_name strref 123 m51s18 call 124 pith_map_insert_cstr_owned void 3 121 122 123 -label L1457 +label L1528 load 125 __for_idx_367 iconst 126 1 add 127 125 126 store __for_idx_367 127 -jmp L1455 -label L1458 +jmp L1526 +label L1529 load 128 ir_alias_registry_ir_global_bool_names call 129 pith_auto_len int 1 128 iconst 130 0 store __for_idx_368 130 store __for_len_368 129 store __for_iter_368 128 -label L1459 +label L1530 load 131 __for_idx_368 load 132 __for_len_368 lt 133 131 132 -brif 133 L1460 L1462 -label L1460 +brif 133 L1531 L1533 +label L1531 load 134 __for_iter_368 load 135 __for_idx_368 call 136 pith_list_get_value_unchecked string 2 134 135 @@ -156392,13 +156841,13 @@ load 137 ir_builder_ir_var_types load 138 __loopvar_368_name strref 139 m51s714 call 140 pith_map_insert_cstr_owned void 3 137 138 139 -label L1461 +label L1532 load 141 __for_idx_368 iconst 142 1 add 143 141 142 store __for_idx_368 143 -jmp L1459 -label L1462 +jmp L1530 +label L1533 load 144 ir_alias_registry_ir_global_map_value_types call 145 map_keys list_string 1 144 call 146 pith_auto_len int 1 145 @@ -156406,12 +156855,12 @@ iconst 147 0 store __for_idx_369 147 store __for_len_369 146 store __for_iter_369 145 -label L1463 +label L1534 load 148 __for_idx_369 load 149 __for_len_369 lt 150 148 149 -brif 150 L1464 L1466 -label L1464 +brif 150 L1535 L1537 +label L1535 load 151 __for_iter_369 load 152 __for_idx_369 call 153 pith_list_get_value_unchecked string 2 151 152 @@ -156422,13 +156871,13 @@ load 156 ir_alias_registry_ir_global_map_value_types load 157 __loopvar_369_name call 158 map_get_strict string 2 156 157 call 159 map_insert void 3 154 155 158 -label L1465 +label L1536 load 160 __for_idx_369 iconst 161 1 add 162 160 161 store __for_idx_369 162 -jmp L1463 -label L1466 +jmp L1534 +label L1537 load 163 __for_iter_369 call 164 pith_list_release_handle void 1 163 iconst 165 0 @@ -156664,25 +157113,25 @@ call 8 ast_get_node struct:Node 1 7 call 9 pith_struct_release void 1 6 store node 8 iconst 10 0 -store __and_10_1470 10 +store __and_10_1541 10 load 11 node field 12 11 0 string kind strref 13 m51s44 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __and_10_1470 14 -brif 14 L1470 L1471 -label L1470 +store __and_10_1541 14 +brif 14 L1541 L1542 +label L1541 load 16 node field 17 16 16 list children call 18 pith_list_len int 1 17 iconst 19 0 gt 20 18 19 -store __and_10_1470 20 -label L1471 -load 21 __and_10_1470 -brif 21 L1468 L1469 -label L1468 +store __and_10_1541 20 +label L1542 +load 21 __and_10_1541 +brif 21 L1539 L1540 +label L1539 load 22 callee load 23 node field 24 23 16 list children @@ -156698,8 +157147,8 @@ call 32 string_len int 1 31 call 33 pith_cstring_release void 1 31 iconst 34 0 gt 35 32 34 -brif 35 L1473 L1474 -label L1473 +brif 35 L1544 L1545 +label L1544 strref 36 m51s83 load 37 node call 38 pith_struct_release void 1 37 @@ -156712,8 +157161,8 @@ call 44 pith_cstring_release void 1 43 load 45 emit_name call 46 pith_cstring_release void 1 45 ret 36 -label L1474 -label L1472 +label L1545 +label L1543 load 47 callee field 48 47 0 string name call 49 ir_metadata_ir_builtin_result_retkind string 1 48 @@ -156728,15 +157177,15 @@ call 57 pith_cstring_release void 1 56 load 58 emit_name call 59 pith_cstring_release void 1 58 ret 49 -label L1469 -label L1467 +label L1540 +label L1538 load 60 node field 61 60 0 string kind strref 62 m51s130 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L1476 L1477 -label L1476 +brif 63 L1547 L1548 +label L1547 load 65 alias_name load 66 idx call 67 ir_alias_registry_ir_resolve_module_alias_method_call_name string 1 66 @@ -156746,16 +157195,16 @@ load 69 alias_name call 70 string_len int 1 69 iconst 71 0 gt 72 70 71 -brif 72 L1479 L1480 -label L1479 +brif 72 L1550 L1551 +label L1550 load 73 alias_name call 74 ir_method_tables_ir_declared_callable_ir_retkind string 1 73 call 75 string_len int 1 74 call 76 pith_cstring_release void 1 74 iconst 77 0 gt 78 75 77 -brif 78 L1482 L1483 -label L1482 +brif 78 L1553 L1554 +label L1553 strref 79 m51s83 load 80 node call 81 pith_struct_release void 1 80 @@ -156768,8 +157217,8 @@ call 87 pith_cstring_release void 1 86 load 88 emit_name call 89 pith_cstring_release void 1 88 ret 79 -label L1483 -label L1481 +label L1554 +label L1552 load 90 alias_name call 91 ir_metadata_ir_builtin_result_retkind string 1 90 load 92 node @@ -156783,8 +157232,8 @@ call 99 pith_cstring_release void 1 98 load 100 emit_name call 101 pith_cstring_release void 1 100 ret 91 -label L1480 -label L1478 +label L1551 +label L1549 load 102 obj_type load 103 node call 104 ir_emitter_core_ir_method_receiver_type string 1 103 @@ -156805,8 +157254,8 @@ call 116 string_len int 1 115 call 117 pith_cstring_release void 1 115 iconst 118 0 gt 119 116 118 -brif 119 L1485 L1486 -label L1485 +brif 119 L1556 L1557 +label L1556 strref 120 m51s83 load 121 node call 122 pith_struct_release void 1 121 @@ -156819,8 +157268,8 @@ call 128 pith_cstring_release void 1 127 load 129 emit_name call 130 pith_cstring_release void 1 129 ret 120 -label L1486 -label L1484 +label L1557 +label L1555 load 131 emit_name call 132 ir_metadata_ir_builtin_result_retkind string 1 131 load 133 node @@ -156834,8 +157283,8 @@ call 140 pith_cstring_release void 1 139 load 141 emit_name call 142 pith_cstring_release void 1 141 ret 132 -label L1477 -label L1475 +label L1548 +label L1546 strref 143 m51s83 load 144 node call 145 pith_struct_release void 1 144 @@ -156885,33 +157334,33 @@ store legacy_kind 10 iconst 11 0 store result_kind 11 load 12 uses_result_abi -brif 12 L1488 L1489 -label L1488 +brif 12 L1559 L1560 +label L1559 load 13 node load 14 idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 iconst 17 0 -store __and_17_1493 17 +store __and_17_1564 17 load 18 node field 19 18 0 string kind strref 20 m51s44 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __and_17_1493 21 -brif 21 L1493 L1494 -label L1493 +store __and_17_1564 21 +brif 21 L1564 L1565 +label L1564 load 23 node field 24 23 16 list children call 25 pith_list_len int 1 24 iconst 26 0 gt 27 25 26 -store __and_17_1493 27 -label L1494 -load 28 __and_17_1493 -brif 28 L1491 L1492 -label L1491 +store __and_17_1564 27 +label L1565 +load 28 __and_17_1564 +brif 28 L1562 L1563 +label L1562 load 29 callee load 30 node field 31 30 16 list children @@ -156930,8 +157379,8 @@ load 41 declared_kind call 42 string_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L1496 L1497 -label L1496 +brif 44 L1567 L1568 +label L1567 load 45 declared_kind load 46 node call 47 pith_struct_release void 1 46 @@ -156952,18 +157401,18 @@ call 61 pith_cstring_release void 1 60 load 62 result_kind call 63 pith_cstring_release void 1 62 ret 45 -label L1497 -label L1495 -jmp L1490 -label L1492 -label L1490 +label L1568 +label L1566 +jmp L1561 +label L1563 +label L1561 load 64 node field 65 64 0 string kind strref 66 m51s130 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L1499 L1500 -label L1499 +brif 67 L1570 L1571 +label L1570 load 69 alias_name load 70 idx call 71 ir_alias_registry_ir_resolve_module_alias_method_call_name string 1 70 @@ -156973,8 +157422,8 @@ load 73 alias_name call 74 string_len int 1 73 iconst 75 0 gt 76 74 75 -brif 76 L1502 L1503 -label L1502 +brif 76 L1573 L1574 +label L1573 load 77 declared_kind load 78 alias_name call 79 ir_method_tables_ir_declared_callable_ir_retkind string 1 78 @@ -156984,8 +157433,8 @@ load 81 declared_kind call 82 string_len int 1 81 iconst 83 0 gt 84 82 83 -brif 84 L1505 L1506 -label L1505 +brif 84 L1576 L1577 +label L1576 load 85 declared_kind load 86 node call 87 pith_struct_release void 1 86 @@ -157006,11 +157455,11 @@ call 101 pith_cstring_release void 1 100 load 102 result_kind call 103 pith_cstring_release void 1 102 ret 85 -label L1506 -label L1504 -jmp L1501 -label L1503 -label L1501 +label L1577 +label L1575 +jmp L1572 +label L1574 +label L1572 load 104 obj_type load 105 node call 106 ir_emitter_core_ir_method_receiver_type string 1 105 @@ -157036,8 +157485,8 @@ load 122 impl_name call 123 string_len int 1 122 iconst 124 0 gt 125 123 124 -brif 125 L1508 L1509 -label L1508 +brif 125 L1579 L1580 +label L1579 load 126 declared_kind load 127 impl_name call 128 ir_method_tables_ir_declared_callable_ir_retkind string 1 127 @@ -157047,8 +157496,8 @@ load 130 declared_kind call 131 string_len int 1 130 iconst 132 0 gt 133 131 132 -brif 133 L1511 L1512 -label L1511 +brif 133 L1582 L1583 +label L1582 load 134 declared_kind load 135 node call 136 pith_struct_release void 1 135 @@ -157069,11 +157518,11 @@ call 150 pith_cstring_release void 1 149 load 151 result_kind call 152 pith_cstring_release void 1 151 ret 134 -label L1512 -label L1510 -jmp L1507 -label L1509 -label L1507 +label L1583 +label L1581 +jmp L1578 +label L1580 +label L1578 load 153 emit_name load 154 method_name load 155 obj_type @@ -157089,8 +157538,8 @@ load 162 declared_kind call 163 string_len int 1 162 iconst 164 0 gt 165 163 164 -brif 165 L1514 L1515 -label L1514 +brif 165 L1585 L1586 +label L1585 load 166 declared_kind load 167 node call 168 pith_struct_release void 1 167 @@ -157111,11 +157560,11 @@ call 182 pith_cstring_release void 1 181 load 183 result_kind call 184 pith_cstring_release void 1 183 ret 166 -label L1515 -label L1513 -jmp L1498 -label L1500 -label L1498 +label L1586 +label L1584 +jmp L1569 +label L1571 +label L1569 load 185 legacy_kind load 186 idx call 187 ir_emitter_core_ir_expr_legacy_result_kind string 1 186 @@ -157125,8 +157574,8 @@ load 189 legacy_kind call 190 string_len int 1 189 iconst 191 0 gt 192 190 191 -brif 192 L1517 L1518 -label L1517 +brif 192 L1588 L1589 +label L1588 load 193 legacy_kind load 194 node call 195 pith_struct_release void 1 194 @@ -157147,8 +157596,8 @@ call 209 pith_cstring_release void 1 208 load 210 result_kind call 211 pith_cstring_release void 1 210 ret 193 -label L1518 -label L1516 +label L1589 +label L1587 load 212 result_kind load 213 idx call 214 ir_type_helpers_ir_checked_result_kind string 1 213 @@ -157158,8 +157607,8 @@ load 216 result_kind call 217 string_len int 1 216 iconst 218 0 gt 219 217 218 -brif 219 L1520 L1521 -label L1520 +brif 219 L1591 L1592 +label L1591 load 220 result_kind load 221 node call 222 pith_struct_release void 1 221 @@ -157180,11 +157629,11 @@ call 236 pith_cstring_release void 1 235 load 237 legacy_kind call 238 pith_cstring_release void 1 237 ret 220 -label L1521 -label L1519 -jmp L1487 -label L1489 -label L1487 +label L1592 +label L1590 +jmp L1558 +label L1560 +label L1558 load 239 idx call 240 ir_emitter_core_ir_infer_type string 1 239 load 241 node @@ -157238,8 +157687,8 @@ param callee_name iconst 3 0 store declared_kind 3 load 4 uses_result_abi -brif 4 L1523 L1524 -label L1523 +brif 4 L1594 L1595 +label L1594 load 5 declared_kind load 6 callee_name call 7 ir_method_tables_ir_declared_callable_ir_retkind string 1 6 @@ -157249,15 +157698,15 @@ load 9 declared_kind call 10 string_len int 1 9 iconst 11 0 gt 12 10 11 -brif 12 L1526 L1527 -label L1526 +brif 12 L1597 L1598 +label L1597 load 13 declared_kind ret 13 -label L1527 -label L1525 -jmp L1522 -label L1524 -label L1522 +label L1598 +label L1596 +jmp L1593 +label L1595 +label L1593 load 14 idx load 15 uses_result_abi call 16 ir_emitter_core_ir_call_retkind string 2 14 15 @@ -157286,16 +157735,16 @@ load 8 struct_type call 9 string_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L1529 L1530 -label L1529 +brif 11 L1600 L1601 +label L1600 load 12 struct_type load 13 scalar_type call 14 pith_cstring_release void 1 13 load 15 collection_type call 16 pith_cstring_release void 1 15 ret 12 -label L1530 -label L1528 +label L1601 +label L1599 load 17 scalar_type load 18 fname call 19 ir_type_helpers_ir_known_scalar_return_type string 1 18 @@ -157305,16 +157754,16 @@ load 21 scalar_type call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -brif 24 L1532 L1533 -label L1532 +brif 24 L1603 L1604 +label L1603 load 25 scalar_type load 26 struct_type call 27 pith_cstring_release void 1 26 load 28 collection_type call 29 pith_cstring_release void 1 28 ret 25 -label L1533 -label L1531 +label L1604 +label L1602 load 30 collection_type load 31 fname call 32 ir_type_helpers_ir_known_collection_return_type string 1 31 @@ -157324,16 +157773,16 @@ load 34 collection_type call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L1535 L1536 -label L1535 +brif 37 L1606 L1607 +label L1606 load 38 collection_type load 39 struct_type call 40 pith_cstring_release void 1 39 load 41 scalar_type call 42 pith_cstring_release void 1 41 ret 38 -label L1536 -label L1534 +label L1607 +label L1605 load 43 fname call 44 ir_alias_registry_ir_declared_callable_return_type string 1 43 load 45 struct_type @@ -157369,8 +157818,8 @@ load 8 obj_type strref 9 m51s343 call 10 pith_cstring_contains bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L1538 L1539 -label L1538 +brif 10 L1609 L1610 +label L1609 load 12 base load 13 obj_type iconst 14 0 @@ -157384,87 +157833,87 @@ store base 19 load 21 ir_struct_registry_ir_struct_names load 22 base call 23 contains_key bool 2 21 22 -brif 23 L1541 L1542 -label L1541 +brif 23 L1612 L1613 +label L1612 load 24 obj_type load 25 base call 26 pith_cstring_retain void 1 25 call 27 pith_cstring_release void 1 24 store obj_type 25 -jmp L1540 -label L1542 -label L1540 -jmp L1537 -label L1539 -label L1537 +jmp L1611 +label L1613 +label L1611 +jmp L1608 +label L1610 +label L1608 load 28 obj_type call 29 string_len int 1 28 iconst 30 0 eq 31 29 30 -brif 31 L1544 L1545 -label L1544 +brif 31 L1615 L1616 +label L1615 load 32 recv load 33 recv_idx call 34 ast_get_node struct:Node 1 33 call 35 pith_struct_release void 1 32 store recv 34 iconst 36 0 -store __and_36_1549 36 +store __and_36_1620 36 load 37 recv field 38 37 0 string kind strref 39 m51s37 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_1549 40 -brif 40 L1549 L1550 -label L1549 +store __and_36_1620 40 +brif 40 L1620 L1621 +label L1620 load 42 ir_struct_registry_ir_struct_names load 43 recv field 44 43 8 string value call 45 contains_key bool 2 42 44 -store __and_36_1549 45 -label L1550 -load 46 __and_36_1549 -brif 46 L1547 L1548 -label L1547 +store __and_36_1620 45 +label L1621 +load 46 __and_36_1620 +brif 46 L1618 L1619 +label L1618 load 47 obj_type load 48 recv field 49 48 8 string value call 50 pith_cstring_retain void 1 49 call 51 pith_cstring_release void 1 47 store obj_type 49 -jmp L1546 -label L1548 +jmp L1617 +label L1619 iconst 52 0 -store __and_52_1553 52 +store __and_52_1624 52 load 53 recv field 54 53 0 string kind strref 55 m51s527 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __and_52_1553 56 -brif 56 L1553 L1554 -label L1553 +store __and_52_1624 56 +brif 56 L1624 L1625 +label L1624 load 58 ir_emitter_core_ir_current_impl_type call 59 string_len int 1 58 iconst 60 0 gt 61 59 60 -store __and_52_1553 61 -label L1554 -load 62 __and_52_1553 -brif 62 L1551 L1552 -label L1551 +store __and_52_1624 61 +label L1625 +load 62 __and_52_1624 +brif 62 L1622 L1623 +label L1622 load 63 obj_type load 64 ir_emitter_core_ir_current_impl_type call 65 pith_cstring_retain void 1 64 call 66 pith_cstring_release void 1 63 store obj_type 64 -jmp L1546 -label L1552 -label L1546 -jmp L1543 -label L1545 -label L1543 +jmp L1617 +label L1623 +label L1617 +jmp L1614 +label L1616 +label L1614 load 67 obj_type load 68 base call 69 pith_cstring_release void 1 68 @@ -157494,8 +157943,8 @@ store recv_tid 6 load 7 recv_tid iconst 8 0 lt 9 7 8 -brif 9 L1556 L1557 -label L1556 +brif 9 L1627 L1628 +label L1627 iconst 10 0 iconst 11 1 sub 12 10 11 @@ -157504,8 +157953,8 @@ call 14 pith_struct_release void 1 13 load 15 field_kind call 16 pith_cstring_release void 1 15 ret 12 -label L1557 -label L1555 +label L1628 +label L1626 load 17 recv_info load 18 recv_tid call 19 types_get_type_info struct:TypeInfo 1 18 @@ -157518,8 +157967,8 @@ call 25 pith_cstring_eq bool 2 22 23 iconst 26 1 sub 24 26 25 call 27 pith_cstring_release void 1 23 -brif 24 L1559 L1560 -label L1559 +brif 24 L1630 L1631 +label L1630 iconst 28 0 iconst 29 1 sub 30 28 29 @@ -157528,8 +157977,8 @@ call 32 pith_struct_release void 1 31 load 33 field_kind call 34 pith_cstring_release void 1 33 ret 30 -label L1560 -label L1558 +label L1631 +label L1629 iconst 35 0 iconst 36 1 sub 37 35 36 @@ -157541,12 +157990,12 @@ iconst 41 0 store __for_idx_370 41 store __for_len_370 40 store __for_iter_370 39 -label L1561 +label L1632 load 42 __for_idx_370 load 43 __for_len_370 lt 44 42 43 -brif 44 L1562 L1564 -label L1562 +brif 44 L1633 L1635 +label L1633 load 45 __for_iter_370 load 46 __for_idx_370 call 47 pith_list_get_value_unchecked string 2 45 46 @@ -157556,38 +158005,38 @@ store __loopvar_370_i 48 load 49 __loopvar_370_name load 50 field_name call 51 pith_cstring_eq bool 2 49 50 -brif 51 L1566 L1567 -label L1566 +brif 51 L1637 L1638 +label L1637 load 52 __loopvar_370_i store field_index 52 -jmp L1565 -label L1567 -label L1565 -label L1563 +jmp L1636 +label L1638 +label L1636 +label L1634 load 53 __for_idx_370 iconst 54 1 add 55 53 54 store __for_idx_370 55 -jmp L1561 -label L1564 +jmp L1632 +label L1635 iconst 56 0 -store __or_56_1571 56 +store __or_56_1642 56 load 57 field_index iconst 58 0 lt 59 57 58 -store __or_56_1571 59 -brif 59 L1572 L1571 -label L1571 +store __or_56_1642 59 +brif 59 L1643 L1642 +label L1642 load 60 field_index load 61 recv_info field 62 61 24 list field_types call 63 pith_list_len int 1 62 gte 64 60 63 -store __or_56_1571 64 -label L1572 -load 65 __or_56_1571 -brif 65 L1569 L1570 -label L1569 +store __or_56_1642 64 +label L1643 +load 65 __or_56_1642 +brif 65 L1640 L1641 +label L1640 iconst 66 0 iconst 67 1 sub 68 66 67 @@ -157596,14 +158045,14 @@ call 70 pith_struct_release void 1 69 load 71 field_kind call 72 pith_cstring_release void 1 71 ret 68 -label L1570 -label L1568 +label L1641 +label L1639 load 73 recv_info field 74 73 8 string name load 75 field_name call 76 ir_emitter_core_ir_struct_field_is_weak bool 2 74 75 -brif 76 L1574 L1575 -label L1574 +brif 76 L1645 L1646 +label L1645 iconst 77 0 iconst 78 1 sub 79 77 78 @@ -157612,8 +158061,8 @@ call 81 pith_struct_release void 1 80 load 82 field_kind call 83 pith_cstring_release void 1 82 ret 79 -label L1575 -label L1573 +label L1646 +label L1644 load 84 field_index iconst 85 8 mul 86 84 85 @@ -157702,8 +158151,8 @@ load 11 impl_name call 12 string_len int 1 11 iconst 13 0 gt 14 12 13 -brif 14 L1577 L1578 -label L1577 +brif 14 L1648 L1649 +label L1648 load 15 declared load 16 impl_name call 17 ir_alias_registry_ir_declared_callable_return_type string 1 16 @@ -157713,8 +158162,8 @@ load 19 declared call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L1580 L1581 -label L1580 +brif 22 L1651 L1652 +label L1651 load 23 declared load 24 impl_name call 25 pith_cstring_release void 1 24 @@ -157723,15 +158172,15 @@ call 27 pith_cstring_release void 1 26 load 28 collection_type call 29 pith_cstring_release void 1 28 ret 23 -label L1581 -label L1579 -jmp L1576 -label L1578 -label L1576 +label L1652 +label L1650 +jmp L1647 +label L1649 +label L1647 load 30 meth call 31 ir_metadata_ir_is_bool_returning_method bool 1 30 -brif 31 L1583 L1584 -label L1583 +brif 31 L1654 L1655 +label L1654 strref 32 m51s714 load 33 impl_name call 34 pith_cstring_release void 1 33 @@ -157742,8 +158191,8 @@ call 38 pith_cstring_release void 1 37 load 39 collection_type call 40 pith_cstring_release void 1 39 ret 32 -label L1584 -label L1582 +label L1655 +label L1653 load 41 string_type load 42 meth call 43 ir_type_helpers_ir_known_string_method_return_type string 1 42 @@ -157753,8 +158202,8 @@ load 45 string_type call 46 string_len int 1 45 iconst 47 0 gt 48 46 47 -brif 48 L1586 L1587 -label L1586 +brif 48 L1657 L1658 +label L1657 load 49 string_type load 50 impl_name call 51 pith_cstring_release void 1 50 @@ -157763,14 +158212,14 @@ call 53 pith_cstring_release void 1 52 load 54 collection_type call 55 pith_cstring_release void 1 54 ret 49 -label L1587 -label L1585 +label L1658 +label L1656 load 56 meth strref 57 m51s282 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L1589 L1590 -label L1589 +brif 58 L1660 L1661 +label L1660 strref 60 m51s713 load 61 impl_name call 62 pith_cstring_release void 1 61 @@ -157781,26 +158230,26 @@ call 66 pith_cstring_release void 1 65 load 67 collection_type call 68 pith_cstring_release void 1 67 ret 60 -label L1590 -label L1588 +label L1661 +label L1659 iconst 69 0 -store __or_69_1594 69 +store __or_69_1665 69 load 70 meth strref 71 m51s214 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_69_1594 72 -brif 72 L1595 L1594 -label L1594 +store __or_69_1665 72 +brif 72 L1666 L1665 +label L1665 load 74 meth strref 75 m51s212 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -store __or_69_1594 76 -label L1595 -load 78 __or_69_1594 -brif 78 L1592 L1593 -label L1592 +store __or_69_1665 76 +label L1666 +load 78 __or_69_1665 +brif 78 L1663 L1664 +label L1663 strref 79 m51s712 load 80 impl_name call 81 pith_cstring_release void 1 80 @@ -157811,38 +158260,38 @@ call 85 pith_cstring_release void 1 84 load 86 collection_type call 87 pith_cstring_release void 1 86 ret 79 -label L1593 -label L1591 +label L1664 +label L1662 iconst 88 0 -store __and_88_1599 88 +store __and_88_1670 88 iconst 89 0 -store __or_89_1599 89 +store __or_89_1670 89 load 90 meth strref 91 m51s269 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -store __or_89_1599 92 -brif 92 L1600 L1599 -label L1599 +store __or_89_1670 92 +brif 92 L1671 L1670 +label L1670 load 94 meth strref 95 m51s297 call 96 pith_cstring_eq bool 2 94 95 call 97 pith_cstring_release void 1 95 -store __or_89_1599 96 -label L1600 -load 98 __or_89_1599 -store __and_88_1599 98 -brif 98 L1601 L1602 -label L1601 +store __or_89_1670 96 +label L1671 +load 98 __or_89_1670 +store __and_88_1670 98 +brif 98 L1672 L1673 +label L1672 load 99 obj_type strref 100 m51s715 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __and_88_1599 101 -label L1602 -load 103 __and_88_1599 -brif 103 L1597 L1598 -label L1597 +store __and_88_1670 101 +label L1673 +load 103 __and_88_1670 +brif 103 L1668 L1669 +label L1668 strref 104 m51s715 load 105 impl_name call 106 pith_cstring_release void 1 105 @@ -157853,8 +158302,8 @@ call 110 pith_cstring_release void 1 109 load 111 collection_type call 112 pith_cstring_release void 1 111 ret 104 -label L1598 -label L1596 +label L1669 +label L1667 load 113 collection_type load 114 obj_type load 115 meth @@ -157865,8 +158314,8 @@ load 118 collection_type call 119 string_len int 1 118 iconst 120 0 gt 121 119 120 -brif 121 L1604 L1605 -label L1604 +brif 121 L1675 L1676 +label L1675 load 122 collection_type load 123 impl_name call 124 pith_cstring_release void 1 123 @@ -157875,8 +158324,8 @@ call 126 pith_cstring_release void 1 125 load 127 string_type call 128 pith_cstring_release void 1 127 ret 122 -label L1605 -label L1603 +label L1676 +label L1674 strref 129 m51s83 load 130 impl_name call 131 pith_cstring_release void 1 130 @@ -157913,95 +158362,95 @@ call 7 pith_cstring_retain void 1 6 call 8 pith_cstring_release void 1 4 store op 6 iconst 9 0 -store __or_9_1609 9 +store __or_9_1680 9 iconst 10 0 -store __or_10_1609 10 +store __or_10_1680 10 iconst 11 0 -store __or_11_1609 11 +store __or_11_1680 11 iconst 12 0 -store __or_12_1609 12 +store __or_12_1680 12 iconst 13 0 -store __or_13_1609 13 +store __or_13_1680 13 iconst 14 0 -store __or_14_1609 14 +store __or_14_1680 14 iconst 15 0 -store __or_15_1609 15 +store __or_15_1680 15 load 16 op strref 17 m51s479 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -store __or_15_1609 18 -brif 18 L1610 L1609 -label L1609 +store __or_15_1680 18 +brif 18 L1681 L1680 +label L1680 load 20 op strref 21 m51s477 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_15_1609 22 -label L1610 -load 24 __or_15_1609 -store __or_14_1609 24 -brif 24 L1612 L1611 -label L1611 +store __or_15_1680 22 +label L1681 +load 24 __or_15_1680 +store __or_14_1680 24 +brif 24 L1683 L1682 +label L1682 load 25 op strref 26 m51s475 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_14_1609 27 -label L1612 -load 29 __or_14_1609 -store __or_13_1609 29 -brif 29 L1614 L1613 -label L1613 +store __or_14_1680 27 +label L1683 +load 29 __or_14_1680 +store __or_13_1680 29 +brif 29 L1685 L1684 +label L1684 load 30 op strref 31 m51s472 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_13_1609 32 -label L1614 -load 34 __or_13_1609 -store __or_12_1609 34 -brif 34 L1616 L1615 -label L1615 +store __or_13_1680 32 +label L1685 +load 34 __or_13_1680 +store __or_12_1680 34 +brif 34 L1687 L1686 +label L1686 load 35 op strref 36 m51s469 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_12_1609 37 -label L1616 -load 39 __or_12_1609 -store __or_11_1609 39 -brif 39 L1618 L1617 -label L1617 +store __or_12_1680 37 +label L1687 +load 39 __or_12_1680 +store __or_11_1680 39 +brif 39 L1689 L1688 +label L1688 load 40 op strref 41 m51s466 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_11_1609 42 -label L1618 -load 44 __or_11_1609 -store __or_10_1609 44 -brif 44 L1620 L1619 -label L1619 +store __or_11_1680 42 +label L1689 +load 44 __or_11_1680 +store __or_10_1680 44 +brif 44 L1691 L1690 +label L1690 load 45 op strref 46 m51s463 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __or_10_1609 47 -label L1620 -load 49 __or_10_1609 -store __or_9_1609 49 -brif 49 L1622 L1621 -label L1621 +store __or_10_1680 47 +label L1691 +load 49 __or_10_1680 +store __or_9_1680 49 +brif 49 L1693 L1692 +label L1692 load 50 op strref 51 m51s461 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_9_1609 52 -label L1622 -load 54 __or_9_1609 -brif 54 L1607 L1608 -label L1607 +store __or_9_1680 52 +label L1693 +load 54 __or_9_1680 +brif 54 L1678 L1679 +label L1678 strref 55 m51s714 load 56 op call 57 pith_cstring_release void 1 56 @@ -158010,69 +158459,69 @@ call 59 pith_cstring_release void 1 58 load 60 rt call 61 pith_cstring_release void 1 60 ret 55 -label L1608 -label L1606 +label L1679 +label L1677 iconst 62 0 -store __or_62_1626 62 +store __or_62_1697 62 iconst 63 0 -store __or_63_1626 63 +store __or_63_1697 63 iconst 64 0 -store __or_64_1626 64 +store __or_64_1697 64 iconst 65 0 -store __or_65_1626 65 +store __or_65_1697 65 load 66 op strref 67 m51s242 call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 67 -store __or_65_1626 68 -brif 68 L1627 L1626 -label L1626 +store __or_65_1697 68 +brif 68 L1698 L1697 +label L1697 load 70 op strref 71 m51s491 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_65_1626 72 -label L1627 -load 74 __or_65_1626 -store __or_64_1626 74 -brif 74 L1629 L1628 -label L1628 +store __or_65_1697 72 +label L1698 +load 74 __or_65_1697 +store __or_64_1697 74 +brif 74 L1700 L1699 +label L1699 load 75 op strref 76 m51s488 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_64_1626 77 -label L1629 -load 79 __or_64_1626 -store __or_63_1626 79 -brif 79 L1631 L1630 -label L1630 +store __or_64_1697 77 +label L1700 +load 79 __or_64_1697 +store __or_63_1697 79 +brif 79 L1702 L1701 +label L1701 load 80 op strref 81 m51s485 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -store __or_63_1626 82 -label L1631 -load 84 __or_63_1626 -store __or_62_1626 84 -brif 84 L1633 L1632 -label L1632 +store __or_63_1697 82 +label L1702 +load 84 __or_63_1697 +store __or_62_1697 84 +brif 84 L1704 L1703 +label L1703 load 85 op strref 86 m51s482 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -store __or_62_1626 87 -label L1633 -load 89 __or_62_1626 -brif 89 L1624 L1625 -label L1624 +store __or_62_1697 87 +label L1704 +load 89 __or_62_1697 +brif 89 L1695 L1696 +label L1695 load 90 node field 91 90 16 list children call 92 pith_list_len int 1 91 iconst 93 2 gte 94 92 93 -brif 94 L1635 L1636 -label L1635 +brif 94 L1706 L1707 +label L1706 load 95 lt load 96 node field 97 96 16 list children @@ -158090,23 +158539,23 @@ call 107 ir_emitter_core_ir_infer_type string 1 106 call 108 pith_cstring_release void 1 102 store rt 107 iconst 109 0 -store __or_109_1640 109 +store __or_109_1711 109 load 110 lt strref 111 m51s713 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -store __or_109_1640 112 -brif 112 L1641 L1640 -label L1640 +store __or_109_1711 112 +brif 112 L1712 L1711 +label L1711 load 114 rt strref 115 m51s713 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 -store __or_109_1640 116 -label L1641 -load 118 __or_109_1640 -brif 118 L1638 L1639 -label L1638 +store __or_109_1711 116 +label L1712 +load 118 __or_109_1711 +brif 118 L1709 L1710 +label L1709 strref 119 m51s713 load 120 op call 121 pith_cstring_release void 1 120 @@ -158115,26 +158564,26 @@ call 123 pith_cstring_release void 1 122 load 124 rt call 125 pith_cstring_release void 1 124 ret 119 -label L1639 -label L1637 +label L1710 +label L1708 iconst 126 0 -store __or_126_1645 126 +store __or_126_1716 126 load 127 lt strref 128 m51s716 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -store __or_126_1645 129 -brif 129 L1646 L1645 -label L1645 +store __or_126_1716 129 +brif 129 L1717 L1716 +label L1716 load 131 rt strref 132 m51s716 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -store __or_126_1645 133 -label L1646 -load 135 __or_126_1645 -brif 135 L1643 L1644 -label L1643 +store __or_126_1716 133 +label L1717 +load 135 __or_126_1716 +brif 135 L1714 L1715 +label L1714 strref 136 m51s716 load 137 op call 138 pith_cstring_release void 1 137 @@ -158143,11 +158592,11 @@ call 140 pith_cstring_release void 1 139 load 141 rt call 142 pith_cstring_release void 1 141 ret 136 -label L1644 -label L1642 -jmp L1634 -label L1636 -label L1634 +label L1715 +label L1713 +jmp L1705 +label L1707 +label L1705 strref 143 m51s712 load 144 op call 145 pith_cstring_release void 1 144 @@ -158156,8 +158605,8 @@ call 147 pith_cstring_release void 1 146 load 148 rt call 149 pith_cstring_release void 1 148 ret 143 -label L1625 -label L1623 +label L1696 +label L1694 strref 150 m51s712 load 151 op call 152 pith_cstring_release void 1 151 @@ -158195,8 +158644,8 @@ load 10 checked_index call 11 string_len int 1 10 iconst 12 0 gt 13 11 12 -brif 13 L1648 L1649 -label L1648 +brif 13 L1719 L1720 +label L1719 load 14 checked_index load 15 coll_type call 16 pith_cstring_release void 1 15 @@ -158205,15 +158654,15 @@ call 18 pith_struct_release void 1 17 load 19 elem call 20 pith_cstring_release void 1 19 ret 14 -label L1649 -label L1647 +label L1720 +label L1718 load 21 node field 22 21 16 list children call 23 pith_list_len int 1 22 iconst 24 0 eq 25 23 24 -brif 25 L1651 L1652 -label L1651 +brif 25 L1722 L1723 +label L1722 strref 26 m51s83 load 27 checked_index call 28 pith_cstring_release void 1 27 @@ -158224,8 +158673,8 @@ call 32 pith_struct_release void 1 31 load 33 elem call 34 pith_cstring_release void 1 33 ret 26 -label L1652 -label L1650 +label L1723 +label L1721 load 35 coll_type load 36 node field 37 36 16 list children @@ -158238,8 +158687,8 @@ load 42 coll_type strref 43 m51s716 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -brif 44 L1654 L1655 -label L1654 +brif 44 L1725 L1726 +label L1725 strref 46 m51s716 load 47 checked_index call 48 pith_cstring_release void 1 47 @@ -158250,14 +158699,14 @@ call 52 pith_struct_release void 1 51 load 53 elem call 54 pith_cstring_release void 1 53 ret 46 -label L1655 -label L1653 +label L1726 +label L1724 load 55 coll_type strref 56 m51s715 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -brif 57 L1657 L1658 -label L1657 +brif 57 L1728 L1729 +label L1728 strref 59 m51s712 load 60 checked_index call 61 pith_cstring_release void 1 60 @@ -158268,14 +158717,14 @@ call 65 pith_struct_release void 1 64 load 66 elem call 67 pith_cstring_release void 1 66 ret 59 -label L1658 -label L1656 +label L1729 +label L1727 load 68 coll_type strref 69 m51s709 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -brif 70 L1660 L1661 -label L1660 +brif 70 L1731 L1732 +label L1731 strref 72 m51s716 load 73 checked_index call 74 pith_cstring_release void 1 73 @@ -158286,26 +158735,26 @@ call 78 pith_struct_release void 1 77 load 79 elem call 80 pith_cstring_release void 1 79 ret 72 -label L1661 -label L1659 +label L1732 +label L1730 iconst 81 0 -store __or_81_1665 81 +store __or_81_1736 81 load 82 coll_type strref 83 m51s19 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 83 -store __or_81_1665 84 -brif 84 L1666 L1665 -label L1665 +store __or_81_1736 84 +brif 84 L1737 L1736 +label L1736 load 86 coll_type strref 87 m51s711 call 88 pith_cstring_eq bool 2 86 87 call 89 pith_cstring_release void 1 87 -store __or_81_1665 88 -label L1666 -load 90 __or_81_1665 -brif 90 L1663 L1664 -label L1663 +store __or_81_1736 88 +label L1737 +load 90 __or_81_1736 +brif 90 L1734 L1735 +label L1734 load 91 node field 92 91 16 list children iconst 93 0 @@ -158320,8 +158769,8 @@ call 101 pith_struct_release void 1 100 load 102 elem call 103 pith_cstring_release void 1 102 ret 95 -label L1664 -label L1662 +label L1735 +label L1733 load 104 coll_node load 105 node field 106 105 16 list children @@ -158335,8 +158784,8 @@ field 112 111 0 string kind strref 113 m51s37 call 114 pith_cstring_eq bool 2 112 113 call 115 pith_cstring_release void 1 113 -brif 114 L1668 L1669 -label L1668 +brif 114 L1739 L1740 +label L1739 load 116 elem load 117 coll_node field 118 117 8 string value @@ -158347,8 +158796,8 @@ load 121 elem call 122 string_len int 1 121 iconst 123 0 gt 124 122 123 -brif 124 L1671 L1672 -label L1671 +brif 124 L1742 L1743 +label L1742 load 125 elem load 126 checked_index call 127 pith_cstring_release void 1 126 @@ -158357,11 +158806,11 @@ call 129 pith_cstring_release void 1 128 load 130 coll_node call 131 pith_struct_release void 1 130 ret 125 -label L1672 -label L1670 -jmp L1667 -label L1669 -label L1667 +label L1743 +label L1741 +jmp L1738 +label L1740 +label L1738 strref 132 m51s83 load 133 checked_index call 134 pith_cstring_release void 1 133 @@ -158394,22 +158843,22 @@ store tn 3 iconst 4 0 store info 4 iconst 5 0 -store __or_5_1676 5 +store __or_5_1747 5 load 6 ir_alias_registry_ir_active_generic_params call 7 pith_list_len int 1 6 iconst 8 0 eq 9 7 8 -store __or_5_1676 9 -brif 9 L1677 L1676 -label L1676 +store __or_5_1747 9 +brif 9 L1748 L1747 +label L1747 load 10 ir_alias_registry_ir_active_generic_decl_idx iconst 11 0 lt 12 10 11 -store __or_5_1676 12 -label L1677 -load 13 __or_5_1676 -brif 13 L1674 L1675 -label L1674 +store __or_5_1747 12 +label L1748 +load 13 __or_5_1747 +brif 13 L1745 L1746 +label L1745 strref 14 m51s83 load 15 decl call 16 pith_struct_release void 1 15 @@ -158420,8 +158869,8 @@ call 20 pith_struct_release void 1 19 load 21 info call 22 pith_struct_release void 1 21 ret 14 -label L1675 -label L1673 +label L1746 +label L1744 load 23 decl load 24 ir_alias_registry_ir_active_generic_decl_idx call 25 ast_get_node struct:Node 1 24 @@ -158434,12 +158883,12 @@ iconst 30 0 store __for_idx_371 30 store __for_len_371 29 store __for_iter_371 28 -label L1678 +label L1749 load 31 __for_idx_371 load 32 __for_len_371 lt 33 31 32 -brif 33 L1679 L1681 -label L1679 +brif 33 L1750 L1752 +label L1750 load 34 __for_iter_371 load 35 __for_idx_371 call 36 pith_list_get_value unknown 2 34 35 @@ -158450,24 +158899,24 @@ call 39 ast_get_node struct:Node 1 38 call 40 pith_struct_release void 1 37 store cn 39 iconst 41 0 -store __and_41_1685 41 +store __and_41_1756 41 load 42 cn field 43 42 0 string kind strref 44 m51s69 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_41_1685 45 -brif 45 L1685 L1686 -label L1685 +store __and_41_1756 45 +brif 45 L1756 L1757 +label L1756 load 47 cn field 48 47 8 string value load 49 name call 50 pith_cstring_eq bool 2 48 49 -store __and_41_1685 50 -label L1686 -load 51 __and_41_1685 -brif 51 L1683 L1684 -label L1683 +store __and_41_1756 50 +label L1757 +load 51 __and_41_1756 +brif 51 L1754 L1755 +label L1754 load 52 cn field 53 52 16 list children call 54 pith_auto_len int 1 53 @@ -158475,12 +158924,12 @@ iconst 55 0 store __for_idx_372 55 store __for_len_372 54 store __for_iter_372 53 -label L1687 +label L1758 load 56 __for_idx_372 load 57 __for_len_372 lt 58 56 57 -brif 58 L1688 L1690 -label L1688 +brif 58 L1759 L1761 +label L1759 load 59 __for_iter_372 load 60 __for_idx_372 call 61 pith_list_get_value unknown 2 59 60 @@ -158491,33 +158940,33 @@ call 64 ast_get_node struct:Node 1 63 call 65 pith_struct_release void 1 62 store tn 64 iconst 66 0 -store __or_66_1694 66 +store __or_66_1765 66 load 67 tn field 68 67 0 string kind strref 69 m51s316 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -store __or_66_1694 70 -brif 70 L1695 L1694 -label L1694 +store __or_66_1765 70 +brif 70 L1766 L1765 +label L1765 load 72 tn field 73 72 0 string kind strref 74 m51s336 call 75 pith_cstring_eq bool 2 73 74 call 76 pith_cstring_release void 1 74 -store __or_66_1694 75 -label L1695 -load 77 __or_66_1694 -brif 77 L1692 L1693 -label L1692 +store __or_66_1765 75 +label L1766 +load 77 __or_66_1765 +brif 77 L1763 L1764 +label L1763 load 78 __loopvar_372_tc call 79 ir_emitter_core_ir_declared_type_node_tid int 1 78 store tid 79 load 80 tid iconst 81 0 gte 82 80 81 -brif 82 L1697 L1698 -label L1697 +brif 82 L1768 L1769 +label L1768 load 83 info load 84 tid call 85 types_get_type_info struct:TypeInfo 1 84 @@ -158528,8 +158977,8 @@ field 88 87 0 string kind strref 89 m51s20 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -brif 90 L1700 L1701 -label L1700 +brif 90 L1771 L1772 +label L1771 load 92 info field 93 92 64 int inner call 94 ir_type_helpers_ir_type_from_tid string 1 93 @@ -158542,11 +158991,11 @@ call 100 pith_struct_release void 1 99 load 101 info call 102 pith_struct_release void 1 101 ret 94 -label L1701 -label L1699 -jmp L1696 -label L1698 -label L1696 +label L1772 +label L1770 +jmp L1767 +label L1769 +label L1767 strref 103 m51s83 load 104 decl call 105 pith_struct_release void 1 104 @@ -158557,25 +159006,25 @@ call 109 pith_struct_release void 1 108 load 110 info call 111 pith_struct_release void 1 110 ret 103 -label L1693 -label L1691 -label L1689 +label L1764 +label L1762 +label L1760 load 112 __for_idx_372 iconst 113 1 add 114 112 113 store __for_idx_372 114 -jmp L1687 -label L1690 -jmp L1682 -label L1684 -label L1682 -label L1680 +jmp L1758 +label L1761 +jmp L1753 +label L1755 +label L1753 +label L1751 load 115 __for_idx_371 iconst 116 1 add 117 115 116 store __for_idx_371 117 -jmp L1678 -label L1681 +jmp L1749 +label L1752 strref 118 m51s83 load 119 decl call 120 pith_struct_release void 1 119 @@ -158609,16 +159058,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L1703 L1704 -label L1703 +brif 8 L1774 L1775 +label L1774 strref 9 m51s83 load 10 callee_node call 11 pith_struct_release void 1 10 load 12 callee call 13 pith_struct_release void 1 12 ret 9 -label L1704 -label L1702 +label L1775 +label L1773 load 14 callee_node load 15 node field 16 15 16 list children @@ -158628,24 +159077,24 @@ call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 14 store callee_node 19 iconst 21 0 -store __and_21_1708 21 +store __and_21_1779 21 load 22 callee_node field 23 22 0 string kind strref 24 m51s37 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_1708 25 -brif 25 L1708 L1709 -label L1708 +store __and_21_1779 25 +brif 25 L1779 L1780 +label L1779 load 27 ir_emitter_core_ir_closure_return_kinds load 28 callee_node field 29 28 8 string value call 30 contains_key bool 2 27 29 -store __and_21_1708 30 -label L1709 -load 31 __and_21_1708 -brif 31 L1706 L1707 -label L1706 +store __and_21_1779 30 +label L1780 +load 31 __and_21_1779 +brif 31 L1777 L1778 +label L1777 load 32 ir_emitter_core_ir_closure_return_kinds load 33 callee_node field 34 33 8 string value @@ -158656,8 +159105,8 @@ call 38 pith_struct_release void 1 37 load 39 callee call 40 pith_struct_release void 1 39 ret 35 -label L1707 -label L1705 +label L1778 +label L1776 load 41 callee load 42 node field 43 42 16 list children @@ -158671,16 +159120,16 @@ field 49 48 0 string name call 50 string_len int 1 49 iconst 51 0 eq 52 50 51 -brif 52 L1711 L1712 -label L1711 +brif 52 L1782 L1783 +label L1782 strref 53 m51s83 load 54 callee_node call 55 pith_struct_release void 1 54 load 56 callee call 57 pith_struct_release void 1 56 ret 53 -label L1712 -label L1710 +label L1783 +label L1781 load 58 callee field 59 58 0 string name call 60 ir_emitter_core_ir_known_callable_return_type string 1 59 @@ -158714,8 +159163,8 @@ load 9 alias_fname call 10 string_len int 1 9 iconst 11 0 gt 12 10 11 -brif 12 L1714 L1715 -label L1714 +brif 12 L1785 L1786 +label L1785 load 13 alias_fname call 14 ir_emitter_core_ir_known_callable_return_type string 1 13 load 15 alias_fname @@ -158725,8 +159174,8 @@ call 18 pith_cstring_release void 1 17 load 19 obj_type call 20 pith_cstring_release void 1 19 ret 14 -label L1715 -label L1713 +label L1786 +label L1784 load 21 mname load 22 idx call 23 ast_node_value string 1 22 @@ -158735,36 +159184,36 @@ call 25 pith_cstring_release void 1 23 call 26 pith_cstring_release void 1 21 store mname 24 iconst 27 0 -store __and_27_1719 27 +store __and_27_1790 27 load 28 node field 29 28 16 list children call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -store __and_27_1719 32 -brif 32 L1719 L1720 -label L1719 +store __and_27_1790 32 +brif 32 L1790 L1791 +label L1790 iconst 33 0 -store __or_33_1721 33 +store __or_33_1792 33 load 34 mname strref 35 m51s293 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_33_1721 36 -brif 36 L1722 L1721 -label L1721 +store __or_33_1792 36 +brif 36 L1793 L1792 +label L1792 load 38 mname strref 39 m51s6 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_33_1721 40 -label L1722 -load 42 __or_33_1721 -store __and_27_1719 42 -label L1720 -load 43 __and_27_1719 -brif 43 L1717 L1718 -label L1717 +store __or_33_1792 40 +label L1793 +load 42 __or_33_1792 +store __and_27_1790 42 +label L1791 +load 43 __and_27_1790 +brif 43 L1788 L1789 +label L1788 load 44 node field 45 44 16 list children iconst 46 0 @@ -158776,8 +159225,8 @@ store generic_recv_tid 49 load 51 generic_recv_tid iconst 52 0 gte 53 51 52 -brif 53 L1724 L1725 -label L1724 +brif 53 L1795 L1796 +label L1795 load 54 generic_recv_tid call 55 types_get_type_info struct:TypeInfo 1 54 field 56 55 64 int inner @@ -158789,11 +159238,11 @@ call 61 pith_cstring_release void 1 60 load 62 obj_type call 63 pith_cstring_release void 1 62 ret 57 -label L1725 -label L1723 -jmp L1716 -label L1718 -label L1716 +label L1796 +label L1794 +jmp L1787 +label L1789 +label L1787 load 64 obj_type strref 65 m51s83 call 66 pith_cstring_release void 1 64 @@ -158803,8 +159252,8 @@ field 68 67 16 list children call 69 pith_list_len int 1 68 iconst 70 0 gt 71 69 70 -brif 71 L1727 L1728 -label L1727 +brif 71 L1798 L1799 +label L1798 load 72 obj_type load 73 node field 74 73 16 list children @@ -158813,9 +159262,9 @@ call 76 pith_list_get_value_strict int 2 74 75 call 77 ir_emitter_core_ir_infer_type string 1 76 call 78 pith_cstring_release void 1 72 store obj_type 77 -jmp L1726 -label L1728 -label L1726 +jmp L1797 +label L1799 +label L1797 load 79 obj_type load 80 mname call 81 ir_emitter_core_ir_known_method_return_type string 2 79 80 @@ -158846,14 +159295,14 @@ store recv_tid 4 load 5 recv_tid iconst 6 0 lt 7 5 6 -brif 7 L1730 L1731 -label L1730 +brif 7 L1801 L1802 +label L1801 strref 8 m51s83 load 9 recv_info call 10 pith_struct_release void 1 9 ret 8 -label L1731 -label L1729 +label L1802 +label L1800 load 11 recv_info load 12 recv_tid call 13 types_get_type_info struct:TypeInfo 1 12 @@ -158866,14 +159315,14 @@ call 19 pith_cstring_eq bool 2 16 17 iconst 20 1 sub 18 20 19 call 21 pith_cstring_release void 1 17 -brif 18 L1733 L1734 -label L1733 +brif 18 L1804 L1805 +label L1804 strref 22 m51s83 load 23 recv_info call 24 pith_struct_release void 1 23 ret 22 -label L1734 -label L1732 +label L1805 +label L1803 load 25 recv_info field 26 25 16 list_string fields call 27 pith_auto_len int 1 26 @@ -158881,12 +159330,12 @@ iconst 28 0 store __for_idx_373 28 store __for_len_373 27 store __for_iter_373 26 -label L1735 +label L1806 load 29 __for_idx_373 load 30 __for_len_373 lt 31 29 30 -brif 31 L1736 L1738 -label L1736 +brif 31 L1807 L1809 +label L1807 load 32 __for_iter_373 load 33 __for_idx_373 call 34 pith_list_get_value_unchecked string 2 32 33 @@ -158894,23 +159343,23 @@ store __loopvar_373_name 34 load 35 __for_idx_373 store __loopvar_373_i 35 iconst 36 0 -store __and_36_1742 36 +store __and_36_1813 36 load 37 __loopvar_373_name load 38 field_name call 39 pith_cstring_eq bool 2 37 38 -store __and_36_1742 39 -brif 39 L1742 L1743 -label L1742 +store __and_36_1813 39 +brif 39 L1813 L1814 +label L1813 load 40 __loopvar_373_i load 41 recv_info field 42 41 24 list field_types call 43 pith_list_len int 1 42 lt 44 40 43 -store __and_36_1742 44 -label L1743 -load 45 __and_36_1742 -brif 45 L1740 L1741 -label L1740 +store __and_36_1813 44 +label L1814 +load 45 __and_36_1813 +brif 45 L1811 L1812 +label L1811 load 46 recv_info field 47 46 24 list field_types load 48 __loopvar_373_i @@ -158919,15 +159368,15 @@ call 50 ir_type_helpers_ir_type_from_tid string 1 49 load 51 recv_info call 52 pith_struct_release void 1 51 ret 50 -label L1741 -label L1739 -label L1737 +label L1812 +label L1810 +label L1808 load 53 __for_idx_373 iconst 54 1 add 55 53 54 store __for_idx_373 55 -jmp L1735 -label L1738 +jmp L1806 +label L1809 strref 56 m51s83 load 57 recv_info call 58 pith_struct_release void 1 57 @@ -158954,8 +159403,8 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L1745 L1746 -label L1745 +brif 10 L1816 L1817 +label L1816 strref 11 m51s83 load 12 fname call 13 pith_cstring_release void 1 12 @@ -158968,8 +159417,8 @@ call 19 pith_cstring_release void 1 18 load 20 lookup_key call 21 pith_cstring_release void 1 20 ret 11 -label L1746 -label L1744 +label L1817 +label L1815 load 22 fname load 23 node field 24 23 8 string value @@ -158977,23 +159426,23 @@ call 25 pith_cstring_retain void 1 24 call 26 pith_cstring_release void 1 22 store fname 24 iconst 27 0 -store __or_27_1750 27 +store __or_27_1821 27 load 28 fname strref 29 m51s192 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_27_1750 30 -brif 30 L1751 L1750 -label L1750 +store __or_27_1821 30 +brif 30 L1822 L1821 +label L1821 load 32 fname strref 33 m51s191 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_27_1750 34 -label L1751 -load 36 __or_27_1750 -brif 36 L1748 L1749 -label L1748 +store __or_27_1821 34 +label L1822 +load 36 __or_27_1821 +brif 36 L1819 L1820 +label L1819 strref 37 m51s714 load 38 fname call 39 pith_cstring_release void 1 38 @@ -159006,14 +159455,14 @@ call 45 pith_cstring_release void 1 44 load 46 lookup_key call 47 pith_cstring_release void 1 46 ret 37 -label L1749 -label L1747 +label L1820 +label L1818 load 48 fname strref 49 m51s190 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -brif 50 L1753 L1754 -label L1753 +brif 50 L1824 L1825 +label L1824 load 52 node field 53 52 16 list children iconst 54 0 @@ -159023,8 +159472,8 @@ store obj_tid 56 load 57 obj_tid iconst 58 0 gte 59 57 58 -brif 59 L1756 L1757 -label L1756 +brif 59 L1827 L1828 +label L1827 load 60 obj_info load 61 obj_tid call 62 types_get_type_info struct:TypeInfo 1 61 @@ -159035,8 +159484,8 @@ field 65 64 0 string kind strref 66 m51s22 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L1759 L1760 -label L1759 +brif 67 L1830 L1831 +label L1830 load 69 obj_info field 70 69 64 int inner call 71 ir_type_helpers_ir_type_from_tid string 1 70 @@ -159051,20 +159500,20 @@ call 79 pith_cstring_release void 1 78 load 80 lookup_key call 81 pith_cstring_release void 1 80 ret 71 -label L1760 -label L1758 -jmp L1755 -label L1757 -label L1755 -jmp L1752 -label L1754 -label L1752 +label L1831 +label L1829 +jmp L1826 +label L1828 +label L1826 +jmp L1823 +label L1825 +label L1823 load 82 fname strref 83 m51s189 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 83 -brif 84 L1762 L1763 -label L1762 +brif 84 L1833 L1834 +label L1833 load 86 node field 87 86 16 list children iconst 88 0 @@ -159074,8 +159523,8 @@ store obj_tid 90 load 91 obj_tid iconst 92 0 gte 93 91 92 -brif 93 L1765 L1766 -label L1765 +brif 93 L1836 L1837 +label L1836 load 94 obj_info load 95 obj_tid call 96 types_get_type_info struct:TypeInfo 1 95 @@ -159086,8 +159535,8 @@ field 99 98 0 string kind strref 100 m51s22 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -brif 101 L1768 L1769 -label L1768 +brif 101 L1839 L1840 +label L1839 load 103 obj_info field 104 103 80 int value_type call 105 ir_type_helpers_ir_type_from_tid string 1 104 @@ -159102,14 +159551,14 @@ call 113 pith_cstring_release void 1 112 load 114 lookup_key call 115 pith_cstring_release void 1 114 ret 105 -label L1769 -label L1767 -jmp L1764 -label L1766 -label L1764 -jmp L1761 -label L1763 -label L1761 +label L1840 +label L1838 +jmp L1835 +label L1837 +label L1835 +jmp L1832 +label L1834 +label L1832 load 116 concrete_field_type load 117 node field 118 117 16 list children @@ -159123,8 +159572,8 @@ load 124 concrete_field_type call 125 string_len int 1 124 iconst 126 0 gt 127 125 126 -brif 127 L1771 L1772 -label L1771 +brif 127 L1842 L1843 +label L1842 load 128 concrete_field_type load 129 fname call 130 pith_cstring_release void 1 129 @@ -159135,8 +159584,8 @@ call 134 pith_cstring_release void 1 133 load 135 lookup_key call 136 pith_cstring_release void 1 135 ret 128 -label L1772 -label L1770 +label L1843 +label L1841 load 137 obj_type load 138 node field 139 138 16 list children @@ -159149,8 +159598,8 @@ load 144 obj_type call 145 string_len int 1 144 iconst 146 0 eq 147 145 146 -brif 147 L1774 L1775 -label L1774 +brif 147 L1845 L1846 +label L1845 strref 148 m51s83 load 149 fname call 150 pith_cstring_release void 1 149 @@ -159163,8 +159612,8 @@ call 156 pith_cstring_release void 1 155 load 157 lookup_key call 158 pith_cstring_release void 1 157 ret 148 -label L1775 -label L1773 +label L1846 +label L1844 load 159 lookup_key load 160 obj_type strref 161 m51s26 @@ -159178,8 +159627,8 @@ store lookup_key 165 load 168 ir_struct_registry_ir_struct_field_lookup load 169 lookup_key call 170 contains_key bool 2 168 169 -brif 170 L1777 L1778 -label L1777 +brif 170 L1848 L1849 +label L1848 load 171 ir_struct_registry_ir_struct_field_lookup load 172 lookup_key call 173 map_get_strict string 2 171 172 @@ -159195,8 +159644,8 @@ call 182 pith_cstring_release void 1 181 load 183 lookup_key call 184 pith_cstring_release void 1 183 ret 173 -label L1778 -label L1776 +label L1849 +label L1847 strref 185 m51s83 load 186 fname call 187 pith_cstring_release void 1 186 @@ -159235,8 +159684,8 @@ store literal_type 4 load 5 idx iconst 6 0 lt 7 5 6 -brif 7 L1780 L1781 -label L1780 +brif 7 L1851 L1852 +label L1851 strref 8 m51s83 load 9 checked call 10 pith_cstring_release void 1 9 @@ -159247,8 +159696,8 @@ call 14 pith_cstring_release void 1 13 load 15 literal_type call 16 pith_cstring_release void 1 15 ret 8 -label L1781 -label L1779 +label L1852 +label L1850 load 17 checked load 18 idx call 19 ir_type_helpers_ir_checked_type string 1 18 @@ -159258,8 +159707,8 @@ load 21 checked call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -brif 24 L1783 L1784 -label L1783 +brif 24 L1854 L1855 +label L1854 load 25 checked load 26 node call 27 pith_struct_release void 1 26 @@ -159268,8 +159717,8 @@ call 29 pith_cstring_release void 1 28 load 30 literal_type call 31 pith_cstring_release void 1 30 ret 25 -label L1784 -label L1782 +label L1855 +label L1853 load 32 node load 33 idx call 34 ast_get_node struct:Node 1 33 @@ -159290,8 +159739,8 @@ load 45 literal_type call 46 string_len int 1 45 iconst 47 0 gt 48 46 47 -brif 48 L1786 L1787 -label L1786 +brif 48 L1857 L1858 +label L1857 load 49 literal_type load 50 checked call 51 pith_cstring_release void 1 50 @@ -159300,14 +159749,14 @@ call 53 pith_struct_release void 1 52 load 54 kind call 55 pith_cstring_release void 1 54 ret 49 -label L1787 -label L1785 +label L1858 +label L1856 load 56 kind strref 57 m51s37 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L1789 L1790 -label L1789 +brif 58 L1860 L1861 +label L1860 load 60 node field 61 60 8 string value call 62 ir_emitter_core_ir_lookup_name_type string 1 61 @@ -159320,20 +159769,20 @@ call 68 pith_cstring_release void 1 67 load 69 literal_type call 70 pith_cstring_release void 1 69 ret 62 -label L1790 -label L1788 +label L1861 +label L1859 load 71 kind strref 72 m51s527 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -brif 73 L1792 L1793 -label L1792 +brif 73 L1863 L1864 +label L1863 load 75 ir_emitter_core_ir_current_impl_type call 76 string_len int 1 75 iconst 77 0 gt 78 76 77 -brif 78 L1795 L1796 -label L1795 +brif 78 L1866 L1867 +label L1866 load 79 ir_emitter_core_ir_current_impl_type call 80 pith_cstring_retain void 1 79 load 81 checked @@ -159345,8 +159794,8 @@ call 86 pith_cstring_release void 1 85 load 87 literal_type call 88 pith_cstring_release void 1 87 ret 79 -label L1796 -label L1794 +label L1867 +label L1865 strref 89 m51s15 load 90 checked call 91 pith_cstring_release void 1 90 @@ -159357,27 +159806,27 @@ call 95 pith_cstring_release void 1 94 load 96 literal_type call 97 pith_cstring_release void 1 96 ret 89 -label L1793 -label L1791 +label L1864 +label L1862 iconst 98 0 -store __and_98_1800 98 +store __and_98_1871 98 load 99 kind strref 100 m51s524 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __and_98_1800 101 -brif 101 L1800 L1801 -label L1800 +store __and_98_1871 101 +brif 101 L1871 L1872 +label L1871 load 103 node field 104 103 16 list children call 105 pith_list_len int 1 104 iconst 106 0 gt 107 105 106 -store __and_98_1800 107 -label L1801 -load 108 __and_98_1800 -brif 108 L1798 L1799 -label L1798 +store __and_98_1871 107 +label L1872 +load 108 __and_98_1871 +brif 108 L1869 L1870 +label L1869 load 109 node field 110 109 16 list children iconst 111 0 @@ -159392,14 +159841,14 @@ call 119 pith_cstring_release void 1 118 load 120 literal_type call 121 pith_cstring_release void 1 120 ret 113 -label L1799 -label L1797 +label L1870 +label L1868 load 122 kind strref 123 m51s526 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -brif 124 L1803 L1804 -label L1803 +brif 124 L1874 L1875 +label L1874 load 126 node call 127 ir_emitter_core_ir_binary_expr_type string 1 126 load 128 checked @@ -159411,14 +159860,14 @@ call 133 pith_cstring_release void 1 132 load 134 literal_type call 135 pith_cstring_release void 1 134 ret 127 -label L1804 -label L1802 +label L1875 +label L1873 load 136 kind strref 137 m51s525 call 138 pith_cstring_eq bool 2 136 137 call 139 pith_cstring_release void 1 137 -brif 138 L1806 L1807 -label L1806 +brif 138 L1877 L1878 +label L1877 load 140 node call 141 ir_type_helpers_ir_unary_expr_type string 1 140 load 142 checked @@ -159430,14 +159879,14 @@ call 147 pith_cstring_release void 1 146 load 148 literal_type call 149 pith_cstring_release void 1 148 ret 141 -label L1807 -label L1805 +label L1878 +label L1876 load 150 kind strref 151 m51s44 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -brif 152 L1809 L1810 -label L1809 +brif 152 L1880 L1881 +label L1880 load 154 idx load 155 node call 156 ir_emitter_core_ir_call_expr_type string 2 154 155 @@ -159450,14 +159899,14 @@ call 162 pith_cstring_release void 1 161 load 163 literal_type call 164 pith_cstring_release void 1 163 ret 156 -label L1810 -label L1808 +label L1881 +label L1879 load 165 kind strref 166 m51s130 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -brif 167 L1812 L1813 -label L1812 +brif 167 L1883 L1884 +label L1883 load 169 idx load 170 node call 171 ir_emitter_core_ir_method_expr_type string 2 169 170 @@ -159470,14 +159919,14 @@ call 177 pith_cstring_release void 1 176 load 178 literal_type call 179 pith_cstring_release void 1 178 ret 171 -label L1813 -label L1811 +label L1884 +label L1882 load 180 kind strref 181 m51s36 call 182 pith_cstring_eq bool 2 180 181 call 183 pith_cstring_release void 1 181 -brif 182 L1815 L1816 -label L1815 +brif 182 L1886 L1887 +label L1886 load 184 node call 185 ir_emitter_core_ir_field_expr_type string 1 184 load 186 checked @@ -159489,14 +159938,14 @@ call 191 pith_cstring_release void 1 190 load 192 literal_type call 193 pith_cstring_release void 1 192 ret 185 -label L1816 -label L1814 +label L1887 +label L1885 load 194 kind strref 195 m51s511 call 196 pith_cstring_eq bool 2 194 195 call 197 pith_cstring_release void 1 195 -brif 196 L1818 L1819 -label L1818 +brif 196 L1889 L1890 +label L1889 load 198 node field 199 198 8 string value call 200 ir_alias_registry_ir_resolve_type_hint string 1 199 @@ -159509,27 +159958,27 @@ call 206 pith_cstring_release void 1 205 load 207 literal_type call 208 pith_cstring_release void 1 207 ret 200 -label L1819 -label L1817 +label L1890 +label L1888 iconst 209 0 -store __and_209_1823 209 +store __and_209_1894 209 load 210 kind strref 211 m51s35 call 212 pith_cstring_eq bool 2 210 211 call 213 pith_cstring_release void 1 211 -store __and_209_1823 212 -brif 212 L1823 L1824 -label L1823 +store __and_209_1894 212 +brif 212 L1894 L1895 +label L1894 load 214 node field 215 214 16 list children call 216 pith_list_len int 1 215 iconst 217 0 gt 218 216 217 -store __and_209_1823 218 -label L1824 -load 219 __and_209_1823 -brif 219 L1821 L1822 -label L1821 +store __and_209_1894 218 +label L1895 +load 219 __and_209_1894 +brif 219 L1892 L1893 +label L1892 load 220 idx load 221 node call 222 ir_emitter_core_ir_index_expr_type string 2 220 221 @@ -159542,8 +159991,8 @@ call 228 pith_cstring_release void 1 227 load 229 literal_type call 230 pith_cstring_release void 1 229 ret 222 -label L1822 -label L1820 +label L1893 +label L1891 strref 231 m51s83 load 232 checked call 233 pith_cstring_release void 1 232 @@ -159603,15 +160052,15 @@ load 10 target_type strref 11 m51s23 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L1826 L1827 -label L1826 +brif 12 L1897 L1898 +label L1897 load 14 vn field 15 14 0 string kind strref 16 m51s494 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L1829 L1830 -label L1829 +brif 17 L1900 L1901 +label L1900 call 19 ir_optionals_ir_emit_optional_none_value int 0 load 20 vn call 21 pith_struct_release void 1 20 @@ -159622,8 +160071,8 @@ call 25 pith_cstring_release void 1 24 load 26 empty_init_call call 27 pith_cstring_release void 1 26 ret 19 -label L1830 -label L1828 +label L1901 +label L1899 load 28 val_idx call 29 ir_emitter_core_ir_expr int 1 28 store value_r 29 @@ -159633,57 +160082,57 @@ store actual_tid 31 load 32 actual_tid iconst 33 0 gte 34 32 33 -brif 34 L1832 L1833 -label L1832 +brif 34 L1903 L1904 +label L1903 load 35 actual_info load 36 actual_tid call 37 types_get_type_info struct:TypeInfo 1 36 call 38 pith_struct_release void 1 35 store actual_info 37 iconst 39 0 -store __or_39_1837 39 +store __or_39_1908 39 iconst 40 0 -store __or_40_1837 40 +store __or_40_1908 40 load 41 actual_info field 42 41 0 string kind strref 43 m51s21 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __or_40_1837 44 -brif 44 L1838 L1837 -label L1837 +store __or_40_1908 44 +brif 44 L1909 L1908 +label L1908 load 46 actual_info field 47 46 0 string kind strref 48 m51s22 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_40_1837 49 -label L1838 -load 51 __or_40_1837 -store __or_39_1837 51 -brif 51 L1840 L1839 -label L1839 +store __or_40_1908 49 +label L1909 +load 51 __or_40_1908 +store __or_39_1908 51 +brif 51 L1911 L1910 +label L1910 load 52 actual_info field 53 52 0 string kind strref 54 m51s23 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_39_1837 55 -label L1840 -load 57 __or_39_1837 -brif 57 L1835 L1836 -label L1835 +store __or_39_1908 55 +label L1911 +load 57 __or_39_1908 +brif 57 L1906 L1907 +label L1906 load 58 val_idx call 59 ir_emitter_core_ir_string_expr_is_borrowed bool 1 58 -brif 59 L1842 L1843 -label L1842 +brif 59 L1913 L1914 +label L1913 load 60 value_r strref 61 m51s23 call 62 ir_ownership_ir_rc_retain_reg void 2 60 61 call 63 pith_cstring_release void 1 61 -jmp L1841 -label L1843 -label L1841 +jmp L1912 +label L1914 +label L1912 load 64 value_r load 65 vn call 66 pith_struct_release void 1 65 @@ -159694,43 +160143,43 @@ call 70 pith_cstring_release void 1 69 load 71 empty_init_call call 72 pith_cstring_release void 1 71 ret 64 -label L1836 -label L1834 -jmp L1831 -label L1833 -label L1831 +label L1907 +label L1905 +jmp L1902 +label L1904 +label L1902 iconst 73 0 -store __and_73_1847 73 +store __and_73_1918 73 load 74 ir_emitter_core_ir_current_impl_subst_params call 75 pith_list_len int 1 74 iconst 76 0 gt 77 75 76 -store __and_73_1847 77 -brif 77 L1847 L1848 -label L1847 +store __and_73_1918 77 +brif 77 L1918 L1919 +label L1918 iconst 78 0 -store __or_78_1849 78 +store __or_78_1920 78 load 79 vn field 80 79 0 string kind strref 81 m51s130 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -store __or_78_1849 82 -brif 82 L1850 L1849 -label L1849 +store __or_78_1920 82 +brif 82 L1921 L1920 +label L1920 load 84 vn field 85 84 0 string kind strref 86 m51s44 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -store __or_78_1849 87 -label L1850 -load 89 __or_78_1849 -store __and_73_1847 89 -label L1848 -load 90 __and_73_1847 -brif 90 L1845 L1846 -label L1845 +store __or_78_1920 87 +label L1921 +load 89 __or_78_1920 +store __and_73_1918 89 +label L1919 +load 90 __and_73_1918 +brif 90 L1916 L1917 +label L1916 load 91 value_r load 92 vn call 93 pith_struct_release void 1 92 @@ -159741,8 +160190,8 @@ call 97 pith_cstring_release void 1 96 load 98 empty_init_call call 99 pith_cstring_release void 1 98 ret 91 -label L1846 -label L1844 +label L1917 +label L1915 load 100 payload_kind load 101 val_idx call 102 ir_emitter_core_ir_infer_type string 1 101 @@ -159751,81 +160200,81 @@ call 104 pith_cstring_release void 1 102 call 105 pith_cstring_release void 1 100 store payload_kind 103 iconst 106 0 -store __or_106_1854 106 +store __or_106_1925 106 iconst 107 0 -store __or_107_1854 107 +store __or_107_1925 107 iconst 108 0 -store __or_108_1854 108 +store __or_108_1925 108 iconst 109 0 -store __or_109_1854 109 +store __or_109_1925 109 iconst 110 0 -store __or_110_1854 110 +store __or_110_1925 110 load 111 payload_kind strref 112 m51s15 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -store __or_110_1854 113 -brif 113 L1855 L1854 -label L1854 +store __or_110_1925 113 +brif 113 L1926 L1925 +label L1925 load 115 payload_kind strref 116 m51s20 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -store __or_110_1854 117 -label L1855 -load 119 __or_110_1854 -store __or_109_1854 119 -brif 119 L1857 L1856 -label L1856 +store __or_110_1925 117 +label L1926 +load 119 __or_110_1925 +store __or_109_1925 119 +brif 119 L1928 L1927 +label L1927 load 120 payload_kind strref 121 m51s19 call 122 pith_cstring_eq bool 2 120 121 call 123 pith_cstring_release void 1 121 -store __or_109_1854 122 -label L1857 -load 124 __or_109_1854 -store __or_108_1854 124 -brif 124 L1859 L1858 -label L1858 +store __or_109_1925 122 +label L1928 +load 124 __or_109_1925 +store __or_108_1925 124 +brif 124 L1930 L1929 +label L1929 load 125 payload_kind strref 126 m51s18 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -store __or_108_1854 127 -label L1859 -load 129 __or_108_1854 -store __or_107_1854 129 -brif 129 L1861 L1860 -label L1860 +store __or_108_1925 127 +label L1930 +load 129 __or_108_1925 +store __or_107_1925 129 +brif 129 L1932 L1931 +label L1931 load 130 payload_kind strref 131 m51s715 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 -store __or_107_1854 132 -label L1861 -load 134 __or_107_1854 -store __or_106_1854 134 -brif 134 L1863 L1862 -label L1862 +store __or_107_1925 132 +label L1932 +load 134 __or_107_1925 +store __or_106_1925 134 +brif 134 L1934 L1933 +label L1933 load 135 payload_kind strref 136 m51s872 call 137 pith_cstring_eq bool 2 135 136 call 138 pith_cstring_release void 1 136 -store __or_106_1854 137 -label L1863 -load 139 __or_106_1854 -brif 139 L1852 L1853 -label L1852 +store __or_106_1925 137 +label L1934 +load 139 __or_106_1925 +brif 139 L1923 L1924 +label L1923 load 140 val_idx call 141 ir_emitter_core_ir_string_expr_is_borrowed bool 1 140 -brif 141 L1865 L1866 -label L1865 +brif 141 L1936 L1937 +label L1936 load 142 value_r load 143 payload_kind call 144 ir_ownership_ir_rc_retain_reg void 2 142 143 -jmp L1864 -label L1866 -label L1864 +jmp L1935 +label L1937 +label L1935 load 145 value_r load 146 payload_kind call 147 ir_optionals_ir_emit_optional_owned_some int 2 145 146 @@ -159838,8 +160287,8 @@ call 153 pith_cstring_release void 1 152 load 154 empty_init_call call 155 pith_cstring_release void 1 154 ret 147 -label L1853 -label L1851 +label L1924 +label L1922 load 156 value_r call 157 ir_optionals_ir_emit_optional_some_value int 1 156 load 158 vn @@ -159851,36 +160300,36 @@ call 163 pith_cstring_release void 1 162 load 164 empty_init_call call 165 pith_cstring_release void 1 164 ret 157 -label L1827 -label L1825 +label L1898 +label L1896 iconst 166 0 -store __and_166_1870 166 +store __and_166_1941 166 load 167 vn field 168 167 0 string kind strref 169 m51s20 call 170 pith_cstring_eq bool 2 168 169 call 171 pith_cstring_release void 1 169 -store __and_166_1870 170 -brif 170 L1870 L1871 -label L1870 +store __and_166_1941 170 +brif 170 L1941 L1942 +label L1941 load 172 vn field 173 172 16 list children call 174 pith_list_len int 1 173 iconst 175 0 eq 176 174 175 -store __and_166_1870 176 -label L1871 -load 177 __and_166_1870 -brif 177 L1868 L1869 -label L1868 +store __and_166_1941 176 +label L1942 +load 177 __and_166_1941 +brif 177 L1939 L1940 +label L1939 load 178 val_idx call 179 ir_type_helpers_ir_checked_type string 1 178 strref 180 m51s20 call 181 pith_cstring_starts_with bool 2 179 180 call 182 pith_cstring_release void 1 180 call 183 pith_cstring_release void 1 179 -brif 181 L1873 L1874 -label L1873 +brif 181 L1944 L1945 +label L1944 load 184 val_idx call 185 ir_emitter_core_ir_expr int 1 184 load 186 vn @@ -159892,11 +160341,11 @@ call 191 pith_cstring_release void 1 190 load 192 empty_init_call call 193 pith_cstring_release void 1 192 ret 185 -label L1874 -label L1872 -jmp L1867 -label L1869 -label L1867 +label L1945 +label L1943 +jmp L1938 +label L1940 +label L1938 load 194 empty_init_call load 195 vn field 196 195 0 string kind @@ -159911,8 +160360,8 @@ load 203 empty_init_call call 204 string_len int 1 203 iconst 205 0 gt 206 204 205 -brif 206 L1876 L1877 -label L1876 +brif 206 L1947 L1948 +label L1947 call 207 ir_builder_ir_reg int 0 store r 207 load 208 r @@ -159931,8 +160380,8 @@ call 220 pith_cstring_release void 1 219 load 221 empty_init_call call 222 pith_cstring_release void 1 221 ret 214 -label L1877 -label L1875 +label L1948 +label L1946 load 223 val_idx call 224 ir_emitter_core_ir_expr int 1 223 load 225 vn @@ -159969,25 +160418,25 @@ load 7 checked call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L1879 L1880 -label L1879 +brif 10 L1950 L1951 +label L1950 load 11 checked ret 11 -label L1880 -label L1878 +label L1951 +label L1949 load 12 fallback_name call 13 string_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L1882 L1883 -label L1882 +brif 15 L1953 L1954 +label L1953 load 16 fallback_name call 17 ir_emitter_core_ir_lookup_name_type string 1 16 load 18 checked call 19 pith_cstring_release void 1 18 ret 17 -label L1883 -label L1881 +label L1954 +label L1952 strref 20 m51s83 load 21 checked call 22 pith_cstring_release void 1 21 @@ -160024,8 +160473,8 @@ field 12 11 16 list children call 13 pith_list_len int 1 12 iconst 14 0 eq 15 13 14 -brif 15 L1885 L1886 -label L1885 +brif 15 L1956 L1957 +label L1956 strref 16 m51s83 load 17 recv0 call 18 pith_struct_release void 1 17 @@ -160048,8 +160497,8 @@ call 34 pith_cstring_release void 1 33 load 35 field_key call 36 pith_cstring_release void 1 35 ret 16 -label L1886 -label L1884 +label L1957 +label L1955 load 37 recv0 load 38 node field 39 38 16 list children @@ -160059,24 +160508,24 @@ call 42 ast_get_node struct:Node 1 41 call 43 pith_struct_release void 1 37 store recv0 42 iconst 44 0 -store __and_44_1890 44 +store __and_44_1961 44 load 45 recv0 field 46 45 0 string kind strref 47 m51s527 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __and_44_1890 48 -brif 48 L1890 L1891 -label L1890 +store __and_44_1961 48 +brif 48 L1961 L1962 +label L1961 load 50 ir_emitter_core_ir_current_impl_type call 51 string_len int 1 50 iconst 52 0 gt 53 51 52 -store __and_44_1890 53 -label L1891 -load 54 __and_44_1890 -brif 54 L1888 L1889 -label L1888 +store __and_44_1961 53 +label L1962 +load 54 __and_44_1961 +brif 54 L1959 L1960 +label L1959 load 55 ir_emitter_core_ir_current_impl_type call 56 pith_cstring_retain void 1 55 load 57 recv0 @@ -160100,8 +160549,8 @@ call 74 pith_cstring_release void 1 73 load 75 field_key call 76 pith_cstring_release void 1 75 ret 55 -label L1889 -label L1887 +label L1960 +label L1958 load 77 node field 78 77 16 list children iconst 79 0 @@ -160111,32 +160560,32 @@ store recv_tid 81 load 82 recv_tid iconst 83 0 gte 84 82 83 -brif 84 L1893 L1894 -label L1893 +brif 84 L1964 L1965 +label L1964 load 85 recv_info load 86 recv_tid call 87 types_get_type_info struct:TypeInfo 1 86 call 88 pith_struct_release void 1 85 store recv_info 87 iconst 89 0 -store __and_89_1898 89 +store __and_89_1969 89 load 90 recv_info field 91 90 0 string kind strref 92 m51s16 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -store __and_89_1898 93 -brif 93 L1898 L1899 -label L1898 +store __and_89_1969 93 +brif 93 L1969 L1970 +label L1969 load 95 recv_info field 96 95 64 int inner iconst 97 0 gte 98 96 97 -store __and_89_1898 98 -label L1899 -load 99 __and_89_1898 -brif 99 L1896 L1897 -label L1896 +store __and_89_1969 98 +label L1970 +load 99 __and_89_1969 +brif 99 L1967 L1968 +label L1967 strref 100 m51s707 load 101 recv_info field 102 101 64 int inner @@ -160165,27 +160614,27 @@ call 124 pith_cstring_release void 1 123 load 125 field_key call 126 pith_cstring_release void 1 125 ret 104 -label L1897 -label L1895 +label L1968 +label L1966 iconst 127 0 -store __and_127_1903 127 +store __and_127_1974 127 load 128 recv_info field 129 128 0 string kind strref 130 m51s17 call 131 pith_cstring_eq bool 2 129 130 call 132 pith_cstring_release void 1 130 -store __and_127_1903 131 -brif 131 L1903 L1904 -label L1903 +store __and_127_1974 131 +brif 131 L1974 L1975 +label L1974 load 133 recv_info field 134 133 64 int inner iconst 135 0 gte 136 134 135 -store __and_127_1903 136 -label L1904 -load 137 __and_127_1903 -brif 137 L1901 L1902 -label L1901 +store __and_127_1974 136 +label L1975 +load 137 __and_127_1974 +brif 137 L1972 L1973 +label L1972 strref 138 m51s706 load 139 recv_info field 140 139 64 int inner @@ -160214,8 +160663,8 @@ call 162 pith_cstring_release void 1 161 load 163 field_key call 164 pith_cstring_release void 1 163 ret 142 -label L1902 -label L1900 +label L1973 +label L1971 load 165 known load 166 recv_tid call 167 ir_type_helpers_ir_type_from_tid string 1 166 @@ -160225,8 +160674,8 @@ load 169 known call 170 string_len int 1 169 iconst 171 0 gt 172 170 171 -brif 172 L1906 L1907 -label L1906 +brif 172 L1977 L1978 +label L1977 load 173 known call 174 ir_emitter_core_ir_substitute_type_name string 1 173 load 175 recv0 @@ -160250,11 +160699,11 @@ call 192 pith_cstring_release void 1 191 load 193 field_key call 194 pith_cstring_release void 1 193 ret 174 -label L1907 -label L1905 -jmp L1892 -label L1894 -label L1892 +label L1978 +label L1976 +jmp L1963 +label L1965 +label L1963 load 195 checked load 196 node field 197 196 16 list children @@ -160267,8 +160716,8 @@ load 202 checked call 203 string_len int 1 202 iconst 204 0 gt 205 203 204 -brif 205 L1909 L1910 -label L1909 +brif 205 L1980 L1981 +label L1980 load 206 checked call 207 ir_emitter_core_ir_substitute_type_name string 1 206 load 208 recv0 @@ -160292,8 +160741,8 @@ call 225 pith_cstring_release void 1 224 load 226 field_key call 227 pith_cstring_release void 1 226 ret 207 -label L1910 -label L1908 +label L1981 +label L1979 load 228 inferred load 229 node field 230 229 16 list children @@ -160306,8 +160755,8 @@ load 235 inferred call 236 string_len int 1 235 iconst 237 0 gt 238 236 237 -brif 238 L1912 L1913 -label L1912 +brif 238 L1983 L1984 +label L1983 load 239 inferred call 240 ir_emitter_core_ir_substitute_type_name string 1 239 load 241 recv0 @@ -160331,8 +160780,8 @@ call 258 pith_cstring_release void 1 257 load 259 field_key call 260 pith_cstring_release void 1 259 ret 240 -label L1913 -label L1911 +label L1984 +label L1982 load 261 recv_node load 262 node field 263 262 16 list children @@ -160342,37 +160791,37 @@ call 266 ast_get_node struct:Node 1 265 call 267 pith_struct_release void 1 261 store recv_node 266 iconst 268 0 -store __and_268_1917 268 +store __and_268_1988 268 iconst 269 0 -store __and_269_1917 269 +store __and_269_1988 269 load 270 recv_node field 271 270 0 string kind strref 272 m51s36 call 273 pith_cstring_eq bool 2 271 272 call 274 pith_cstring_release void 1 272 -store __and_269_1917 273 -brif 273 L1917 L1918 -label L1917 +store __and_269_1988 273 +brif 273 L1988 L1989 +label L1988 load 275 recv_node field 276 275 16 list children call 277 pith_list_len int 1 276 iconst 278 0 gt 279 277 278 -store __and_269_1917 279 -label L1918 -load 280 __and_269_1917 -store __and_268_1917 280 -brif 280 L1919 L1920 -label L1919 +store __and_269_1988 279 +label L1989 +load 280 __and_269_1988 +store __and_268_1988 280 +brif 280 L1990 L1991 +label L1990 load 281 ir_emitter_core_ir_current_impl_type call 282 string_len int 1 281 iconst 283 0 gt 284 282 283 -store __and_268_1917 284 -label L1920 -load 285 __and_268_1917 -brif 285 L1915 L1916 -label L1915 +store __and_268_1988 284 +label L1991 +load 285 __and_268_1988 +brif 285 L1986 L1987 +label L1986 load 286 inner load 287 recv_node field 288 287 16 list children @@ -160386,8 +160835,8 @@ field 294 293 0 string kind strref 295 m51s527 call 296 pith_cstring_eq bool 2 294 295 call 297 pith_cstring_release void 1 295 -brif 296 L1922 L1923 -label L1922 +brif 296 L1993 L1994 +label L1993 load 298 fname load 299 node field 300 299 16 list children @@ -160414,8 +160863,8 @@ store field_key 315 load 318 ir_struct_registry_ir_struct_field_lookup load 319 field_key call 320 contains_key bool 2 318 319 -brif 320 L1925 L1926 -label L1925 +brif 320 L1996 L1997 +label L1996 load 321 ir_struct_registry_ir_struct_field_lookup load 322 field_key call 323 map_get_strict string 2 321 322 @@ -160441,14 +160890,14 @@ call 342 pith_cstring_release void 1 341 load 343 field_key call 344 pith_cstring_release void 1 343 ret 324 -label L1926 -label L1924 -jmp L1921 -label L1923 -label L1921 -jmp L1914 -label L1916 -label L1914 +label L1997 +label L1995 +jmp L1992 +label L1994 +label L1992 +jmp L1985 +label L1987 +label L1985 strref 345 m51s83 load 346 recv0 call 347 pith_struct_release void 1 346 @@ -160510,8 +160959,8 @@ field 8 7 0 string kind strref 9 m51s37 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L1928 L1929 -label L1928 +brif 10 L1999 L2000 +label L1999 load 12 node field 13 12 8 string value call 14 ir_emitter_core_ir_name_is_weak_read bool 1 13 @@ -160520,8 +160969,8 @@ call 16 pith_struct_release void 1 15 load 17 recv_info call 18 pith_struct_release void 1 17 ret 14 -label L1929 -label L1927 +label L2000 +label L1998 load 19 node field 20 19 0 string kind strref 21 m51s36 @@ -160529,31 +160978,31 @@ call 23 pith_cstring_eq bool 2 20 21 iconst 24 1 sub 22 24 23 call 25 pith_cstring_release void 1 21 -brif 22 L1931 L1932 -label L1931 +brif 22 L2002 L2003 +label L2002 iconst 26 0 load 27 node call 28 pith_struct_release void 1 27 load 29 recv_info call 30 pith_struct_release void 1 29 ret 26 -label L1932 -label L1930 +label L2003 +label L2001 load 31 node field 32 31 16 list children call 33 pith_list_len int 1 32 iconst 34 0 eq 35 33 34 -brif 35 L1934 L1935 -label L1934 +brif 35 L2005 L2006 +label L2005 iconst 36 0 load 37 node call 38 pith_struct_release void 1 37 load 39 recv_info call 40 pith_struct_release void 1 39 ret 36 -label L1935 -label L1933 +label L2006 +label L2004 load 41 node field 42 41 16 list children iconst 43 0 @@ -160563,16 +161012,16 @@ store recv_tid 45 load 46 recv_tid iconst 47 0 lt 48 46 47 -brif 48 L1937 L1938 -label L1937 +brif 48 L2008 L2009 +label L2008 iconst 49 0 load 50 node call 51 pith_struct_release void 1 50 load 52 recv_info call 53 pith_struct_release void 1 52 ret 49 -label L1938 -label L1936 +label L2009 +label L2007 load 54 recv_info load 55 recv_tid call 56 types_get_type_info struct:TypeInfo 1 55 @@ -160585,16 +161034,16 @@ call 62 pith_cstring_eq bool 2 59 60 iconst 63 1 sub 61 63 62 call 64 pith_cstring_release void 1 60 -brif 61 L1940 L1941 -label L1940 +brif 61 L2011 L2012 +label L2011 iconst 65 0 load 66 node call 67 pith_struct_release void 1 66 load 68 recv_info call 69 pith_struct_release void 1 68 ret 65 -label L1941 -label L1939 +label L2012 +label L2010 load 70 recv_info field 71 70 8 string name load 72 idx @@ -160618,8 +161067,8 @@ param operand_idx param shell_r load 2 operand_idx call 3 ir_emitter_core_ir_node_is_weak_field_read bool 1 2 -brif 3 L1943 L1944 -label L1943 +brif 3 L2014 L2015 +label L2014 call 4 ir_builder_ir_reg int 0 strref 5 m51s946 strref 6 m51s876 @@ -160627,9 +161076,9 @@ load 7 shell_r call 8 ir_call_emit_ir_emit_call1 void 4 4 5 6 7 call 9 pith_cstring_release void 1 5 call 10 pith_cstring_release void 1 6 -jmp L1942 -label L1944 -label L1942 +jmp L2013 +label L2015 +label L2013 iconst 11 0 ret 11 endfunc @@ -160705,8 +161154,8 @@ load 56 opt_tid call 57 ir_optionals_ir_optional_value_field int 2 55 56 store decoded_r 57 load 58 weak_shell -brif 58 L1946 L1947 -label L1946 +brif 58 L2017 L2018 +label L2017 call 59 ir_builder_ir_reg int 0 strref 60 m51s946 strref 61 m51s876 @@ -160714,9 +161163,9 @@ load 62 recv_r call 63 ir_call_emit_ir_emit_call1 void 4 59 60 61 62 call 64 pith_cstring_release void 1 60 call 65 pith_cstring_release void 1 61 -jmp L1945 -label L1947 -label L1945 +jmp L2016 +label L2018 +label L2016 strref 66 m51s881 load 67 merge_l concat 68 66 67 @@ -160726,8 +161175,8 @@ call 71 pith_cstring_release void 1 68 load 72 none_l call 73 ir_call_emit_ir_emit_label void 1 72 load 74 weak_shell -brif 74 L1949 L1950 -label L1949 +brif 74 L2020 L2021 +label L2020 call 75 ir_builder_ir_reg int 0 strref 76 m51s946 strref 77 m51s876 @@ -160735,24 +161184,24 @@ load 78 recv_r call 79 ir_call_emit_ir_emit_call1 void 4 75 76 77 78 call 80 pith_cstring_release void 1 76 call 81 pith_cstring_release void 1 77 -jmp L1948 -label L1950 -label L1948 +jmp L2019 +label L2021 +label L2019 iconst 82 0 -store __and_82_1954 82 +store __and_82_2025 82 load 83 ir_emitter_core_ir_emit_tests -store __and_82_1954 83 -brif 83 L1954 L1955 -label L1954 +store __and_82_2025 83 +brif 83 L2025 L2026 +label L2025 load 84 ir_emitter_core_ir_emitting_test_func -store __and_82_1954 84 -label L1955 -load 85 __and_82_1954 -brif 85 L1952 L1953 -label L1952 +store __and_82_2025 84 +label L2026 +load 85 __and_82_2025 +brif 85 L2023 L2024 +label L2023 call 86 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L1951 -label L1953 +jmp L2022 +label L2024 iconst 87 1 call 88 ir_emitter_core_ir_defer_emit_to_function_frame void 1 87 strref 89 m51s83 @@ -160786,7 +161235,7 @@ iconst 114 1 call 115 ir_emitter_core_ir_emit_main_error_report void 2 113 114 load 116 err_r call 117 ir_emitter_core_ir_emit_ret_err_value void 1 116 -label L1951 +label L2022 load 118 merge_l call 119 ir_call_emit_ir_emit_label void 1 118 load 120 decoded_r @@ -160829,12 +161278,12 @@ iconst 10 0 store __for_idx_374 10 store __for_len_374 9 store __for_iter_374 8 -label L1956 +label L2027 load 11 __for_idx_374 load 12 __for_len_374 lt 13 11 12 -brif 13 L1957 L1959 -label L1957 +brif 13 L2028 L2030 +label L2028 load 14 __for_iter_374 load 15 __for_idx_374 call 16 pith_list_get_value unknown 2 14 15 @@ -160844,14 +161293,14 @@ store __loopvar_374_i 17 load 18 __loopvar_374_i iconst 19 0 eq 20 18 19 -brif 20 L1961 L1962 -label L1961 +brif 20 L2032 L2033 +label L2032 load 21 regs load 22 __loopvar_374_child call 23 ir_emitter_core_ir_expr int 1 22 call 24 pith_list_push_value void 2 21 23 -jmp L1960 -label L1962 +jmp L2031 +label L2033 load 25 child_kind load 26 __loopvar_374_child call 27 ast_node_kind string 1 26 @@ -160861,8 +161310,8 @@ load 29 child_kind strref 30 m51s42 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L1964 L1965 -label L1964 +brif 31 L2035 L2036 +label L2035 load 33 cn load 34 __loopvar_374_child call 35 ast_get_node struct:Node 1 34 @@ -160873,8 +161322,8 @@ field 38 37 16 list children call 39 pith_list_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L1967 L1968 -label L1967 +brif 41 L2038 L2039 +label L2038 load 42 regs load 43 cn field 44 43 16 list children @@ -160882,24 +161331,24 @@ iconst 45 0 call 46 pith_list_get_value_strict int 2 44 45 call 47 ir_emitter_core_ir_emit_call_arg int 1 46 call 48 pith_list_push_value void 2 42 47 -jmp L1966 -label L1968 -label L1966 -jmp L1963 -label L1965 +jmp L2037 +label L2039 +label L2037 +jmp L2034 +label L2036 load 49 regs load 50 __loopvar_374_child call 51 ir_emitter_core_ir_emit_call_arg int 1 50 call 52 pith_list_push_value void 2 49 51 -label L1963 -label L1960 -label L1958 +label L2034 +label L2031 +label L2029 load 53 __for_idx_374 iconst 54 1 add 55 53 54 store __for_idx_374 55 -jmp L1956 -label L1959 +jmp L2027 +label L2030 load 56 regs load 57 child_kind call 58 pith_cstring_release void 1 57 @@ -160928,90 +161377,90 @@ call 6 pith_cstring_char_at_strict string 2 4 5 call 7 pith_cstring_release void 1 3 store c0 6 iconst 8 0 -store __or_8_1972 8 +store __or_8_2043 8 iconst 9 0 -store __or_9_1972 9 +store __or_9_2043 9 load 10 c0 strref 11 m51s1350 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_1972 12 -brif 12 L1973 L1972 -label L1972 +store __or_9_2043 12 +brif 12 L2044 L2043 +label L2043 load 14 c0 strref 15 m51s1349 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_1972 16 -label L1973 -load 18 __or_9_1972 -store __or_8_1972 18 -brif 18 L1975 L1974 -label L1974 +store __or_9_2043 16 +label L2044 +load 18 __or_9_2043 +store __or_8_2043 18 +brif 18 L2046 L2045 +label L2045 load 19 c0 strref 20 m51s1348 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_1972 21 -label L1975 -load 23 __or_8_1972 -brif 23 L1970 L1971 -label L1970 +store __or_8_2043 21 +label L2046 +load 23 __or_8_2043 +brif 23 L2041 L2042 +label L2041 iconst 24 1 store i 24 -jmp L1969 -label L1971 -label L1969 +jmp L2040 +label L2042 +label L2040 iconst 25 0 -store __and_25_1979 25 +store __and_25_2050 25 load 26 i load 27 spec call 28 string_len int 1 27 lt 29 26 28 -store __and_25_1979 29 -brif 29 L1979 L1980 -label L1979 +store __and_25_2050 29 +brif 29 L2050 L2051 +label L2050 load 30 spec load 31 i call 32 pith_cstring_byte_at int 2 30 31 iconst 33 48 eq 34 32 33 -store __and_25_1979 34 -label L1980 -load 35 __and_25_1979 -brif 35 L1977 L1978 -label L1977 +store __and_25_2050 34 +label L2051 +load 35 __and_25_2050 +brif 35 L2048 L2049 +label L2048 load 36 i iconst 37 1 add 38 36 37 store i 38 -jmp L1976 -label L1978 -label L1976 +jmp L2047 +label L2049 +label L2047 iconst 39 0 store w 39 iconst 40 0 store saw 40 -label L1981 +label L2052 iconst 41 0 -store __and_41_1984 41 +store __and_41_2055 41 load 42 i load 43 spec call 44 string_len int 1 43 lt 45 42 44 -store __and_41_1984 45 -brif 45 L1984 L1985 -label L1984 +store __and_41_2055 45 +brif 45 L2055 L2056 +label L2055 load 46 spec load 47 i call 48 pith_cstring_byte_at int 2 46 47 iconst 49 46 neq 50 48 49 -store __and_41_1984 50 -label L1985 -load 51 __and_41_1984 -brif 51 L1982 L1983 -label L1982 +store __and_41_2055 50 +label L2056 +load 51 __and_41_2055 +brif 51 L2053 L2054 +label L2053 load 52 w iconst 53 10 mul 54 52 53 @@ -161028,21 +161477,21 @@ load 62 i iconst 63 1 add 64 62 63 store i 64 -jmp L1981 -label L1983 +jmp L2052 +label L2054 load 65 saw iconst 67 1 sub 66 67 65 -brif 66 L1987 L1988 -label L1987 +brif 66 L2058 L2059 +label L2058 iconst 68 0 iconst 69 1 sub 70 68 69 load 71 c0 call 72 pith_cstring_release void 1 71 ret 70 -label L1988 -label L1986 +label L2059 +label L2057 load 73 w load 74 c0 call 75 pith_cstring_release void 1 74 @@ -161062,27 +161511,27 @@ store dot 3 load 5 dot iconst 6 0 lt 7 5 6 -brif 7 L1990 L1991 -label L1990 +brif 7 L2061 L2062 +label L2061 iconst 8 0 iconst 9 1 sub 10 8 9 ret 10 -label L1991 -label L1989 +label L2062 +label L2060 iconst 11 0 store p 11 load 12 dot iconst 13 1 add 14 12 13 store i 14 -label L1992 +label L2063 load 15 i load 16 spec call 17 string_len int 1 16 lt 18 15 17 -brif 18 L1993 L1994 -label L1993 +brif 18 L2064 L2065 +label L2064 load 19 p iconst 20 10 mul 21 19 20 @@ -161097,8 +161546,8 @@ load 28 i iconst 29 1 add 30 28 29 store i 30 -jmp L1992 -label L1994 +jmp L2063 +label L2065 load 31 p ret 31 iconst 32 0 @@ -161118,26 +161567,26 @@ load 7 c0 strref 8 m51s1350 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L1996 L1997 -label L1996 +brif 9 L2067 L2068 +label L2067 load 11 ir_emitter_core_ALIGN_LEFT_BYTE load 12 c0 call 13 pith_cstring_release void 1 12 ret 11 -label L1997 -label L1995 +label L2068 +label L2066 load 14 c0 strref 15 m51s1348 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -brif 16 L1999 L2000 -label L1999 +brif 16 L2070 L2071 +label L2070 load 18 ir_emitter_core_ALIGN_CENTER_BYTE load 19 c0 call 20 pith_cstring_release void 1 19 ret 18 -label L2000 -label L1998 +label L2071 +label L2069 load 21 ir_emitter_core_ALIGN_RIGHT_BYTE load 22 c0 call 23 pith_cstring_release void 1 22 @@ -161160,65 +161609,65 @@ call 6 pith_cstring_char_at_strict string 2 4 5 call 7 pith_cstring_release void 1 3 store c0 6 iconst 8 0 -store __or_8_2004 8 +store __or_8_2075 8 iconst 9 0 -store __or_9_2004 9 +store __or_9_2075 9 load 10 c0 strref 11 m51s1350 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_2004 12 -brif 12 L2005 L2004 -label L2004 +store __or_9_2075 12 +brif 12 L2076 L2075 +label L2075 load 14 c0 strref 15 m51s1349 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_2004 16 -label L2005 -load 18 __or_9_2004 -store __or_8_2004 18 -brif 18 L2007 L2006 -label L2006 +store __or_9_2075 16 +label L2076 +load 18 __or_9_2075 +store __or_8_2075 18 +brif 18 L2078 L2077 +label L2077 load 19 c0 strref 20 m51s1348 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_2004 21 -label L2007 -load 23 __or_8_2004 -brif 23 L2002 L2003 -label L2002 +store __or_8_2075 21 +label L2078 +load 23 __or_8_2075 +brif 23 L2073 L2074 +label L2073 iconst 24 1 store i 24 -jmp L2001 -label L2003 -label L2001 +jmp L2072 +label L2074 +label L2072 iconst 25 0 -store __and_25_2011 25 +store __and_25_2082 25 load 26 i load 27 spec call 28 string_len int 1 27 lt 29 26 28 -store __and_25_2011 29 -brif 29 L2011 L2012 -label L2011 +store __and_25_2082 29 +brif 29 L2082 L2083 +label L2082 load 30 spec load 31 i call 32 pith_cstring_byte_at int 2 30 31 iconst 33 48 eq 34 32 33 -store __and_25_2011 34 -label L2012 -load 35 __and_25_2011 -brif 35 L2009 L2010 -label L2009 +store __and_25_2082 34 +label L2083 +load 35 __and_25_2082 +brif 35 L2080 L2081 +label L2080 load 36 ir_emitter_core_FILL_ZERO_BYTE load 37 c0 call 38 pith_cstring_release void 1 37 ret 36 -label L2010 -label L2008 +label L2081 +label L2079 load 39 ir_emitter_core_FILL_SPACE_BYTE load 40 c0 call 41 pith_cstring_release void 1 40 @@ -161258,22 +161707,22 @@ iconst 19 1 sub 20 18 19 store str_r 20 iconst 21 0 -store __and_21_2016 21 +store __and_21_2087 21 load 22 prec iconst 23 0 gte 24 22 23 -store __and_21_2016 24 -brif 24 L2016 L2017 -label L2016 +store __and_21_2087 24 +brif 24 L2087 L2088 +label L2087 load 25 part_type strref 26 m51s713 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_21_2016 27 -label L2017 -load 29 __and_21_2016 -brif 29 L2014 L2015 -label L2014 +store __and_21_2087 27 +label L2088 +load 29 __and_21_2087 +brif 29 L2085 L2086 +label L2085 load 30 expr_idx call 31 ir_emitter_core_ir_expr int 1 30 store raw_r 31 @@ -161306,28 +161755,28 @@ load 55 prec_r call 56 ir_call_emit_ir_emit_call2 void 5 51 52 53 54 55 call 57 pith_cstring_release void 1 52 call 58 pith_cstring_release void 1 53 -jmp L2013 -label L2015 +jmp L2084 +label L2086 load 59 expr_idx call 60 ir_emitter_core_ir_string_interp_expr_part int 1 59 store str_r 60 -label L2013 +label L2084 load 61 spec call 62 ir_emitter_core_ir_interp_spec_width int 1 61 store width 62 load 63 width iconst 64 0 lte 65 63 64 -brif 65 L2019 L2020 -label L2019 +brif 65 L2090 L2091 +label L2090 load 66 str_r load 67 spec call 68 pith_cstring_release void 1 67 load 69 part_type call 70 pith_cstring_release void 1 69 ret 66 -label L2020 -label L2018 +label L2091 +label L2089 call 71 ir_builder_ir_reg int 0 store w_r 71 strref 72 m51s880 @@ -161434,7 +161883,7 @@ call 169 pith_cstring_release void 1 166 call 170 ir_builder_ir_emit void 1 167 call 171 pith_cstring_release void 1 167 iconst 172 0 -store __or_172_2024 172 +store __or_172_2095 172 load 173 node field 174 173 16 list children iconst 175 0 @@ -161446,9 +161895,9 @@ iconst 181 1 sub 179 181 180 call 182 pith_cstring_release void 1 177 call 183 pith_cstring_release void 1 178 -store __or_172_2024 179 -brif 179 L2025 L2024 -label L2024 +store __or_172_2095 179 +brif 179 L2096 L2095 +label L2095 load 184 node field 185 184 16 list children iconst 186 0 @@ -161456,16 +161905,16 @@ call 187 pith_list_get_value_strict int 2 185 186 call 188 ir_emitter_core_ir_string_expr_is_borrowed bool 1 187 iconst 190 1 sub 189 190 188 -store __or_172_2024 189 -label L2025 -load 191 __or_172_2024 -brif 191 L2022 L2023 -label L2022 +store __or_172_2095 189 +label L2096 +load 191 __or_172_2095 +brif 191 L2093 L2094 +label L2093 load 192 str_r call 193 ir_ownership_ir_string_release_reg void 1 192 -jmp L2021 -label L2023 -label L2021 +jmp L2092 +label L2094 +label L2092 load 194 padded_r load 195 spec call 196 pith_cstring_release void 1 195 @@ -161500,22 +161949,22 @@ load 11 part_type strref 12 m51s716 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2027 L2028 -label L2027 +brif 13 L2098 L2099 +label L2098 load 15 part_r load 16 part_type call 17 pith_cstring_release void 1 16 load 18 part_info call 19 pith_struct_release void 1 18 ret 15 -label L2028 -label L2026 +label L2099 +label L2097 load 20 part_type strref 21 m51s714 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L2030 L2031 -label L2030 +brif 22 L2101 L2102 +label L2101 call 24 ir_builder_ir_reg int 0 store converted 24 load 25 converted @@ -161531,14 +161980,14 @@ call 34 pith_cstring_release void 1 33 load 35 part_info call 36 pith_struct_release void 1 35 ret 32 -label L2031 -label L2029 +label L2102 +label L2100 load 37 part_type strref 38 m51s713 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L2033 L2034 -label L2033 +brif 39 L2104 L2105 +label L2104 call 41 ir_builder_ir_reg int 0 store converted 41 load 42 converted @@ -161554,14 +162003,14 @@ call 51 pith_cstring_release void 1 50 load 52 part_info call 53 pith_struct_release void 1 52 ret 49 -label L2034 -label L2032 +label L2105 +label L2103 load 54 part_type strref 55 m51s712 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L2036 L2037 -label L2036 +brif 56 L2107 L2108 +label L2107 call 58 ir_builder_ir_reg int 0 store converted 58 load 59 converted @@ -161577,13 +162026,13 @@ call 68 pith_cstring_release void 1 67 load 69 part_info call 70 pith_struct_release void 1 69 ret 66 -label L2037 -label L2035 +label L2108 +label L2106 load 71 part_tid iconst 72 0 gte 73 71 72 -brif 73 L2039 L2040 -label L2039 +brif 73 L2110 L2111 +label L2110 load 74 part_info load 75 part_tid call 76 types_get_type_info struct:TypeInfo 1 75 @@ -161594,8 +162043,8 @@ field 79 78 0 string kind strref 80 m51s22 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -brif 81 L2042 L2043 -label L2042 +brif 81 L2113 L2114 +label L2113 load 83 part_r load 84 part_tid call 85 ir_emitter_core_ir_emit_result_value_to_string int 2 83 84 @@ -161604,15 +162053,15 @@ call 87 pith_cstring_release void 1 86 load 88 part_info call 89 pith_struct_release void 1 88 ret 85 -label L2043 -label L2041 +label L2114 +label L2112 load 90 part_info field 91 90 0 string kind strref 92 m51s20 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -brif 93 L2045 L2046 -label L2045 +brif 93 L2116 L2117 +label L2116 load 95 part_r load 96 part_info field 97 96 64 int inner @@ -161625,15 +162074,15 @@ call 103 pith_cstring_release void 1 102 load 104 part_info call 105 pith_struct_release void 1 104 ret 100 -label L2046 -label L2044 +label L2117 +label L2115 load 106 part_info field 107 106 0 string kind strref 108 m51s19 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L2048 L2049 -label L2048 +brif 109 L2119 L2120 +label L2119 load 111 part_r load 112 part_info field 113 112 72 int key_type @@ -161649,15 +162098,15 @@ call 122 pith_cstring_release void 1 121 load 123 part_info call 124 pith_struct_release void 1 123 ret 118 -label L2049 -label L2047 +label L2120 +label L2118 load 125 part_info field 126 125 0 string kind strref 127 m51s18 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -brif 128 L2051 L2052 -label L2051 +brif 128 L2122 L2123 +label L2122 call 130 ir_builder_ir_reg int 0 store converted 130 load 131 converted @@ -161679,35 +162128,35 @@ call 146 pith_cstring_release void 1 145 load 147 part_info call 148 pith_struct_release void 1 147 ret 143 -label L2052 -label L2050 -jmp L2038 -label L2040 -label L2038 +label L2123 +label L2121 +jmp L2109 +label L2111 +label L2109 iconst 149 0 -store __and_149_2056 149 +store __and_149_2127 149 load 150 part_type call 151 string_len int 1 150 iconst 152 0 gt 153 151 152 -store __and_149_2056 153 -brif 153 L2056 L2057 -label L2056 +store __and_149_2127 153 +brif 153 L2127 L2128 +label L2127 load 154 ir_struct_registry_ir_struct_names load 155 part_type call 156 contains_key bool 2 154 155 -store __and_149_2056 156 -label L2057 -load 157 __and_149_2056 -brif 157 L2054 L2055 -label L2054 +store __and_149_2127 156 +label L2128 +load 157 __and_149_2127 +brif 157 L2125 L2126 +label L2125 load 158 ir_struct_registry_ir_boxed_enums load 159 part_type call 160 contains_key bool 2 158 159 iconst 162 1 sub 161 162 160 -brif 161 L2059 L2060 -label L2059 +brif 161 L2130 L2131 +label L2130 load 163 part_r load 164 part_type call 165 ir_emitter_core_ir_emit_display_struct int 2 163 164 @@ -161716,11 +162165,11 @@ call 167 pith_cstring_release void 1 166 load 168 part_info call 169 pith_struct_release void 1 168 ret 165 -label L2060 -label L2058 -jmp L2053 -label L2055 -label L2053 +label L2131 +label L2129 +jmp L2124 +label L2126 +label L2124 load 170 part_r load 171 part_type call 172 pith_cstring_release void 1 171 @@ -161740,32 +162189,32 @@ load 1 kind strref 2 m51s713 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2062 L2063 -label L2062 +brif 3 L2133 L2134 +label L2133 iconst 5 1 ret 5 -label L2063 -label L2061 +label L2134 +label L2132 load 6 kind strref 7 m51s714 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2065 L2066 -label L2065 +brif 8 L2136 L2137 +label L2136 iconst 10 2 ret 10 -label L2066 -label L2064 +label L2137 +label L2135 load 11 kind strref 12 m51s716 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2068 L2069 -label L2068 +brif 13 L2139 L2140 +label L2139 iconst 15 3 ret 15 -label L2069 -label L2067 +label L2140 +label L2138 iconst 16 0 ret 16 iconst 17 0 @@ -161804,15 +162253,15 @@ strref 25 m51s185 call 26 pith_cstring_release void 1 24 store sort_flag 25 load 27 sorted -brif 27 L2071 L2072 -label L2071 +brif 27 L2142 L2143 +label L2142 load 28 sort_flag strref 29 m51s184 call 30 pith_cstring_release void 1 28 store sort_flag 29 -jmp L2070 -label L2072 -label L2070 +jmp L2141 +label L2143 +label L2141 strref 31 m51s880 load 32 sort_r call 33 int_to_string string 1 32 @@ -161930,8 +162379,8 @@ load 12 show_name call 13 string_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L2074 L2075 -label L2074 +brif 15 L2145 L2146 +label L2145 call 16 ir_builder_ir_reg int 0 store r 16 load 17 r @@ -161950,8 +162399,8 @@ call 29 pith_cstring_release void 1 28 load 30 label call 31 pith_cstring_release void 1 30 ret 23 -label L2075 -label L2073 +label L2146 +label L2144 call 32 ir_builder_ir_reg int 0 store acc_r 32 strref 33 m51s936 @@ -161980,12 +162429,12 @@ call 55 ir_struct_registry_ir_struct_field_count int 1 54 store total 55 iconst 56 0 store fi 56 -label L2076 +label L2147 load 57 fi load 58 total lt 59 57 58 -brif 59 L2077 L2078 -label L2077 +brif 59 L2148 L2149 +label L2148 load 60 field_name load 61 struct_name load 62 fi @@ -162008,8 +162457,8 @@ store label 73 load 76 fi iconst 77 0 gt 78 76 77 -brif 78 L2080 L2081 -label L2080 +brif 78 L2151 L2152 +label L2151 load 79 label strref 80 m51s70 load 81 field_name @@ -162021,9 +162470,9 @@ call 86 pith_cstring_release void 1 82 call 87 pith_cstring_release void 1 84 call 88 pith_cstring_release void 1 79 store label 85 -jmp L2079 -label L2081 -label L2079 +jmp L2150 +label L2152 +label L2150 call 89 ir_builder_ir_reg int 0 store label_r 89 strref 90 m51s936 @@ -162123,8 +162572,8 @@ load 180 field_kind strref 181 m51s712 call 182 pith_cstring_eq bool 2 180 181 call 183 pith_cstring_release void 1 181 -brif 182 L2083 L2084 -label L2083 +brif 182 L2154 L2155 +label L2154 call 184 ir_builder_ir_reg int 0 store text_r 184 load 185 text_r @@ -162134,14 +162583,14 @@ load 188 field_r call 189 ir_call_emit_ir_emit_call1 void 4 185 186 187 188 call 190 pith_cstring_release void 1 186 call 191 pith_cstring_release void 1 187 -jmp L2082 -label L2084 +jmp L2153 +label L2155 load 192 field_kind strref 193 m51s713 call 194 pith_cstring_eq bool 2 192 193 call 195 pith_cstring_release void 1 193 -brif 194 L2085 L2086 -label L2085 +brif 194 L2156 L2157 +label L2156 call 196 ir_builder_ir_reg int 0 store text_r 196 load 197 text_r @@ -162151,14 +162600,14 @@ load 200 field_r call 201 ir_call_emit_ir_emit_call1 void 4 197 198 199 200 call 202 pith_cstring_release void 1 198 call 203 pith_cstring_release void 1 199 -jmp L2082 -label L2086 +jmp L2153 +label L2157 load 204 field_kind strref 205 m51s714 call 206 pith_cstring_eq bool 2 204 205 call 207 pith_cstring_release void 1 205 -brif 206 L2087 L2088 -label L2087 +brif 206 L2158 L2159 +label L2158 call 208 ir_builder_ir_reg int 0 store text_r 208 load 209 text_r @@ -162168,16 +162617,16 @@ load 212 field_r call 213 ir_call_emit_ir_emit_call1 void 4 209 210 211 212 call 214 pith_cstring_release void 1 210 call 215 pith_cstring_release void 1 211 -jmp L2082 -label L2088 +jmp L2153 +label L2159 load 216 field_kind strref 217 m51s716 call 219 pith_cstring_eq bool 2 216 217 iconst 220 1 sub 218 220 219 call 221 pith_cstring_release void 1 217 -brif 218 L2089 L2090 -label L2089 +brif 218 L2160 L2161 +label L2160 call 222 ir_builder_ir_reg int 0 store text_r 222 strref 223 m51s936 @@ -162198,9 +162647,9 @@ call 237 pith_cstring_release void 1 230 call 238 pith_cstring_release void 1 234 call 239 ir_builder_ir_emit void 1 236 call 240 pith_cstring_release void 1 236 -jmp L2082 -label L2090 -label L2082 +jmp L2153 +label L2161 +label L2153 call 241 ir_builder_ir_reg int 0 store next_acc 241 strref 242 m51s1269 @@ -162232,48 +162681,48 @@ call 267 pith_cstring_release void 1 263 load 268 with_label call 269 ir_ownership_ir_string_release_reg void 1 268 iconst 270 0 -store __or_270_2094 270 +store __or_270_2165 270 iconst 271 0 -store __or_271_2094 271 +store __or_271_2165 271 load 272 field_kind strref 273 m51s712 call 274 pith_cstring_eq bool 2 272 273 call 275 pith_cstring_release void 1 273 -store __or_271_2094 274 -brif 274 L2095 L2094 -label L2094 +store __or_271_2165 274 +brif 274 L2166 L2165 +label L2165 load 276 field_kind strref 277 m51s713 call 278 pith_cstring_eq bool 2 276 277 call 279 pith_cstring_release void 1 277 -store __or_271_2094 278 -label L2095 -load 280 __or_271_2094 -store __or_270_2094 280 -brif 280 L2097 L2096 -label L2096 +store __or_271_2165 278 +label L2166 +load 280 __or_271_2165 +store __or_270_2165 280 +brif 280 L2168 L2167 +label L2167 load 281 field_kind strref 282 m51s714 call 283 pith_cstring_eq bool 2 281 282 call 284 pith_cstring_release void 1 282 -store __or_270_2094 283 -label L2097 -load 285 __or_270_2094 -brif 285 L2092 L2093 -label L2092 +store __or_270_2165 283 +label L2168 +load 285 __or_270_2165 +brif 285 L2163 L2164 +label L2163 load 286 text_r call 287 ir_ownership_ir_string_release_reg void 1 286 -jmp L2091 -label L2093 -label L2091 +jmp L2162 +label L2164 +label L2162 load 288 next_acc store acc_r 288 load 289 fi iconst 290 1 add 291 289 290 store fi 291 -jmp L2076 -label L2078 +jmp L2147 +label L2149 call 292 ir_builder_ir_reg int 0 store close_r 292 strref 293 m51s936 @@ -162351,92 +162800,92 @@ load 1 kind strref 2 m51s716 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2099 L2100 -label L2099 +brif 3 L2170 L2171 +label L2170 iconst 5 1 ret 5 -label L2100 -label L2098 +label L2171 +label L2169 load 6 kind strref 7 m51s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2102 L2103 -label L2102 +brif 8 L2173 L2174 +label L2173 iconst 10 2 ret 10 -label L2103 -label L2101 +label L2174 +label L2172 load 11 kind strref 12 m51s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2105 L2106 -label L2105 +brif 13 L2176 L2177 +label L2176 iconst 15 3 ret 15 -label L2106 -label L2104 +label L2177 +label L2175 load 16 kind strref 17 m51s18 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2108 L2109 -label L2108 +brif 18 L2179 L2180 +label L2179 iconst 20 4 ret 20 -label L2109 -label L2107 +label L2180 +label L2178 load 21 kind strref 22 m51s715 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2111 L2112 -label L2111 +brif 23 L2182 L2183 +label L2182 iconst 25 5 ret 25 -label L2112 -label L2110 +label L2183 +label L2181 load 26 kind strref 27 m51s15 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2114 L2115 -label L2114 +brif 28 L2185 L2186 +label L2185 iconst 30 6 ret 30 -label L2115 -label L2113 +label L2186 +label L2184 load 31 kind strref 32 m51s23 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L2117 L2118 -label L2117 +brif 33 L2188 L2189 +label L2188 iconst 35 6 ret 35 -label L2118 -label L2116 +label L2189 +label L2187 load 36 kind strref 37 m51s872 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L2120 L2121 -label L2120 +brif 38 L2191 L2192 +label L2191 iconst 40 7 ret 40 -label L2121 -label L2119 +label L2192 +label L2190 load 41 kind strref 42 m51s1033 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -brif 43 L2123 L2124 -label L2123 +brif 43 L2194 L2195 +label L2194 iconst 45 8 ret 45 -label L2124 -label L2122 +label L2195 +label L2193 iconst 46 0 ret 46 iconst 47 0 @@ -162453,12 +162902,12 @@ iconst 5 0 store __for_idx_375 5 store __for_len_375 4 store __for_iter_375 3 -label L2125 +label L2196 load 6 __for_idx_375 load 7 __for_len_375 lt 8 6 7 -brif 8 L2126 L2128 -label L2126 +brif 8 L2197 L2199 +label L2197 load 9 __for_iter_375 load 10 __for_idx_375 call 11 pith_list_get_value_unchecked string 2 9 10 @@ -162498,21 +162947,21 @@ call 40 pith_cstring_release void 1 35 store cap_kind 38 load 41 __loopvar_375_capture_name call 42 ir_emitter_core_ir_name_is_weak_read bool 1 41 -brif 42 L2130 L2131 -label L2130 +brif 42 L2201 L2202 +label L2201 load 43 cap_kind strref 44 m51s1033 call 45 pith_cstring_release void 1 43 store cap_kind 44 -jmp L2129 -label L2131 -label L2129 +jmp L2200 +label L2202 +label L2200 load 46 cap_kind call 47 string_len int 1 46 iconst 48 0 gt 49 47 48 -brif 49 L2133 L2134 -label L2133 +brif 49 L2204 L2205 +label L2204 load 50 cap_val load 51 cap_kind call 52 ir_ownership_ir_rc_retain_reg void 2 50 51 @@ -162577,8 +163026,8 @@ call 109 ir_call_emit_ir_emit_call_text void 5 72 73 74 75 106 call 110 pith_cstring_release void 1 73 call 111 pith_cstring_release void 1 74 call 112 pith_cstring_release void 1 106 -jmp L2132 -label L2134 +jmp L2203 +label L2205 call 113 ir_builder_ir_reg int 0 strref 114 m51s771 strref 115 m51s876 @@ -162588,14 +163037,14 @@ load 118 cap_val call 119 ir_call_emit_ir_emit_call3 void 6 113 114 115 116 117 118 call 120 pith_cstring_release void 1 114 call 121 pith_cstring_release void 1 115 -label L2132 -label L2127 +label L2203 +label L2198 load 122 __for_idx_375 iconst 123 1 add 124 122 123 store __for_idx_375 124 -jmp L2125 -label L2128 +jmp L2196 +label L2199 load 125 cap_kind call 126 pith_cstring_release void 1 125 iconst 127 0 @@ -162628,12 +163077,12 @@ iconst 7 0 store __for_idx_376 7 store __for_len_376 6 store __for_iter_376 5 -label L2135 +label L2206 load 8 __for_idx_376 load 9 __for_len_376 lt 10 8 9 -brif 10 L2136 L2138 -label L2136 +brif 10 L2207 L2209 +label L2207 load 11 __for_iter_376 load 12 __for_idx_376 call 13 pith_list_get_value_unchecked string 2 11 12 @@ -162688,13 +163137,13 @@ call 57 pith_cstring_release void 1 51 call 58 pith_cstring_release void 1 55 call 59 ir_builder_ir_emit void 1 56 call 60 pith_cstring_release void 1 56 -label L2137 +label L2208 load 61 __for_idx_376 iconst 62 1 add 63 61 62 store __for_idx_376 63 -jmp L2135 -label L2138 +jmp L2206 +label L2209 iconst 64 0 ret 64 endfunc @@ -162718,12 +163167,12 @@ iconst 11 0 store __for_idx_377 11 store __for_len_377 10 store __for_iter_377 9 -label L2139 +label L2210 load 12 __for_idx_377 load 13 __for_len_377 lt 14 12 13 -brif 14 L2140 L2142 -label L2140 +brif 14 L2211 L2213 +label L2211 load 15 __for_iter_377 load 16 __for_idx_377 call 17 pith_list_get_value_unchecked string 2 15 16 @@ -162731,13 +163180,13 @@ store __loopvar_377_line 17 load 18 bodies load 19 __loopvar_377_line call 20 pith_list_push_value void 2 18 19 -label L2141 +label L2212 load 21 __for_idx_377 iconst 22 1 add 23 21 22 store __for_idx_377 23 -jmp L2139 -label L2142 +jmp L2210 +label L2213 load 24 bodies call 25 pith_list_retain_handle void 1 24 store ir_emitter_core_ir_lambda_bodies 24 @@ -162771,8 +163220,8 @@ param right_r param is_str_op param is_bytes_op load 5 is_str_op -brif 5 L2144 L2145 -label L2144 +brif 5 L2215 L2216 +label L2215 call 6 ir_builder_ir_reg int 0 store eq_r 6 load 7 eq_r @@ -162825,11 +163274,11 @@ call 52 ir_builder_ir_emit void 1 49 call 53 pith_cstring_release void 1 49 iconst 54 0 ret 54 -label L2145 -label L2143 +label L2216 +label L2214 load 55 is_bytes_op -brif 55 L2147 L2148 -label L2147 +brif 55 L2218 L2219 +label L2218 call 56 ir_builder_ir_reg int 0 store eq_r 56 load 57 eq_r @@ -162882,8 +163331,8 @@ call 102 ir_builder_ir_emit void 1 99 call 103 pith_cstring_release void 1 99 iconst 104 0 ret 104 -label L2148 -label L2146 +label L2219 +label L2217 strref 105 m51s1091 load 106 result_reg call 107 int_to_string string 1 106 @@ -162925,7 +163374,7 @@ call 5 ast_get_node struct:Node 1 4 call 6 pith_struct_release void 1 3 store node 5 iconst 7 0 -store __or_7_2152 7 +store __or_7_2223 7 load 8 node field 9 8 0 string kind strref 10 m51s35 @@ -162933,53 +163382,53 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -store __or_7_2152 11 -brif 11 L2153 L2152 -label L2152 +store __or_7_2223 11 +brif 11 L2224 L2223 +label L2223 load 15 node field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 0 eq 19 17 18 -store __or_7_2152 19 -label L2153 -load 20 __or_7_2152 -brif 20 L2150 L2151 -label L2150 +store __or_7_2223 19 +label L2224 +load 20 __or_7_2223 +brif 20 L2221 L2222 +label L2221 iconst 21 0 load 22 node call 23 pith_struct_release void 1 22 load 24 obj_type call 25 pith_cstring_release void 1 24 ret 21 -label L2151 -label L2149 +label L2222 +label L2220 iconst 26 0 -store __or_26_2157 26 +store __or_26_2228 26 load 27 ir_alias_registry_ir_active_generic_params call 28 pith_list_len int 1 27 iconst 29 0 gt 30 28 29 -store __or_26_2157 30 -brif 30 L2158 L2157 -label L2157 +store __or_26_2228 30 +brif 30 L2229 L2228 +label L2228 load 31 ir_emitter_core_ir_current_impl_subst_params call 32 pith_list_len int 1 31 iconst 33 0 gt 34 32 33 -store __or_26_2157 34 -label L2158 -load 35 __or_26_2157 -brif 35 L2155 L2156 -label L2155 +store __or_26_2228 34 +label L2229 +load 35 __or_26_2228 +brif 35 L2226 L2227 +label L2226 iconst 36 0 load 37 node call 38 pith_struct_release void 1 37 load 39 obj_type call 40 pith_cstring_release void 1 39 ret 36 -label L2156 -label L2154 +label L2227 +label L2225 load 41 obj_type load 42 node field 43 42 16 list children @@ -162992,8 +163441,8 @@ load 48 obj_type call 49 string_len int 1 48 iconst 50 0 eq 51 49 50 -brif 51 L2160 L2161 -label L2160 +brif 51 L2231 L2232 +label L2231 load 52 obj_type load 53 node field 54 53 16 list children @@ -163002,9 +163451,9 @@ call 56 pith_list_get_value_strict int 2 54 55 call 57 ir_emitter_core_ir_infer_type string 1 56 call 58 pith_cstring_release void 1 52 store obj_type 57 -jmp L2159 -label L2161 -label L2159 +jmp L2230 +label L2232 +label L2230 load 59 obj_type strref 60 m51s716 call 61 pith_cstring_eq bool 2 59 60 @@ -163024,45 +163473,45 @@ endfunc func ir_emitter_core_ir_binary_op_is_comparison 1 bool param simple_op iconst 1 0 -store __or_1_2162 1 +store __or_1_2233 1 iconst 2 0 -store __or_2_2162 2 +store __or_2_2233 2 iconst 3 0 -store __or_3_2162 3 +store __or_3_2233 3 load 4 simple_op strref 5 m51s475 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_3_2162 6 -brif 6 L2163 L2162 -label L2162 +store __or_3_2233 6 +brif 6 L2234 L2233 +label L2233 load 8 simple_op strref 9 m51s472 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_3_2162 10 -label L2163 -load 12 __or_3_2162 -store __or_2_2162 12 -brif 12 L2165 L2164 -label L2164 +store __or_3_2233 10 +label L2234 +load 12 __or_3_2233 +store __or_2_2233 12 +brif 12 L2236 L2235 +label L2235 load 13 simple_op strref 14 m51s469 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_2_2162 15 -label L2165 -load 17 __or_2_2162 -store __or_1_2162 17 -brif 17 L2167 L2166 -label L2166 +store __or_2_2233 15 +label L2236 +load 17 __or_2_2233 +store __or_1_2233 17 +brif 17 L2238 L2237 +label L2237 load 18 simple_op strref 19 m51s466 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_1_2162 20 -label L2167 -load 22 __or_1_2162 +store __or_1_2233 20 +label L2238 +load 22 __or_1_2233 ret 22 iconst 23 0 ret 23 @@ -163074,132 +163523,132 @@ param expr_type iconst 3 0 store arg_kind 3 iconst 4 0 -store __and_4_2171 4 +store __and_4_2242 4 load 5 expr_type strref 6 m51s716 call 7 pith_cstring_eq bool 2 5 6 call 8 pith_cstring_release void 1 6 -store __and_4_2171 7 -brif 7 L2171 L2172 -label L2171 +store __and_4_2242 7 +brif 7 L2242 L2243 +label L2242 load 9 expr_idx call 10 ir_emitter_core_ir_string_expr_is_borrowed bool 1 9 iconst 12 1 sub 11 12 10 -store __and_4_2171 11 -label L2172 -load 13 __and_4_2171 -brif 13 L2169 L2170 -label L2169 +store __and_4_2242 11 +label L2243 +load 13 __and_4_2242 +brif 13 L2240 L2241 +label L2240 load 14 reg call 15 ir_ownership_ir_string_release_reg void 1 14 -jmp L2168 -label L2170 +jmp L2239 +label L2241 iconst 16 0 -store __and_16_2175 16 +store __and_16_2246 16 load 17 expr_type strref 18 m51s715 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __and_16_2175 19 -brif 19 L2175 L2176 -label L2175 +store __and_16_2246 19 +brif 19 L2246 L2247 +label L2246 load 21 expr_idx call 22 ir_emitter_core_ir_string_expr_is_borrowed bool 1 21 iconst 24 1 sub 23 24 22 -store __and_16_2175 23 -label L2176 -load 25 __and_16_2175 -brif 25 L2173 L2174 -label L2173 +store __and_16_2246 23 +label L2247 +load 25 __and_16_2246 +brif 25 L2244 L2245 +label L2244 load 26 reg strref 27 m51s715 call 28 ir_ownership_ir_rc_release_reg void 2 26 27 call 29 pith_cstring_release void 1 27 -jmp L2168 -label L2174 +jmp L2239 +label L2245 load 30 expr_idx call 31 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 30 -brif 31 L2177 L2178 -label L2177 +brif 31 L2248 L2249 +label L2248 load 32 reg call 33 ir_ownership_ir_string_release_reg void 1 32 -jmp L2168 -label L2178 +jmp L2239 +label L2249 load 34 expr_idx call 35 ir_emitter_core_ir_expr_is_transferred_call_temp bool 1 34 -brif 35 L2179 L2180 -label L2179 +brif 35 L2250 L2251 +label L2250 load 36 reg call 37 ir_ownership_ir_string_release_reg void 1 36 -jmp L2168 -label L2180 +jmp L2239 +label L2251 load 38 arg_kind load 39 expr_type call 40 ir_struct_registry_ir_rc_kind string 1 39 call 41 pith_cstring_release void 1 38 store arg_kind 40 iconst 42 0 -store __and_42_2184 42 +store __and_42_2255 42 load 43 arg_kind call 44 string_len int 1 43 iconst 45 0 eq 46 44 45 -store __and_42_2184 46 -brif 46 L2184 L2185 -label L2184 +store __and_42_2255 46 +brif 46 L2255 L2256 +label L2255 iconst 47 0 -store __or_47_2186 47 +store __or_47_2257 47 load 48 expr_idx call 49 ast_get_node struct:Node 1 48 field 50 49 0 string kind strref 51 m51s512 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_47_2186 52 -brif 52 L2187 L2186 -label L2186 +store __or_47_2257 52 +brif 52 L2258 L2257 +label L2257 load 54 expr_idx call 55 ir_emitter_core_ir_expr_is_named_function_value bool 1 54 -store __or_47_2186 55 -label L2187 -load 56 __or_47_2186 -store __and_42_2184 56 -label L2185 -load 57 __and_42_2184 -brif 57 L2182 L2183 -label L2182 +store __or_47_2257 55 +label L2258 +load 56 __or_47_2257 +store __and_42_2255 56 +label L2256 +load 57 __and_42_2255 +brif 57 L2253 L2254 +label L2253 load 58 arg_kind strref 59 m51s872 call 60 pith_cstring_release void 1 58 store arg_kind 59 -jmp L2181 -label L2183 -label L2181 +jmp L2252 +label L2254 +label L2252 iconst 61 0 -store __and_61_2191 61 +store __and_61_2262 61 load 62 arg_kind call 63 ir_emitter_core_ir_owned_arg_kind_releases bool 1 62 -store __and_61_2191 63 -brif 63 L2191 L2192 -label L2191 +store __and_61_2262 63 +brif 63 L2262 L2263 +label L2262 load 64 expr_idx call 65 ir_emitter_core_ir_string_expr_is_borrowed bool 1 64 iconst 67 1 sub 66 67 65 -store __and_61_2191 66 -label L2192 -load 68 __and_61_2191 -brif 68 L2189 L2190 -label L2189 +store __and_61_2262 66 +label L2263 +load 68 __and_61_2262 +brif 68 L2260 L2261 +label L2260 load 69 reg load 70 arg_kind call 71 ir_ownership_ir_rc_release_reg void 2 69 70 -jmp L2188 -label L2190 -label L2188 -label L2168 +jmp L2259 +label L2261 +label L2259 +label L2239 load 72 arg_kind call 73 pith_cstring_release void 1 72 iconst 74 0 @@ -163208,55 +163657,55 @@ endfunc func ir_emitter_core_ir_owned_arg_kind_releases 1 bool param arg_kind iconst 1 0 -store __or_1_2196 1 +store __or_1_2267 1 load 2 arg_kind strref 3 m51s15 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_2196 4 -brif 4 L2197 L2196 -label L2196 +store __or_1_2267 4 +brif 4 L2268 L2267 +label L2267 load 6 arg_kind strref 7 m51s872 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_2196 8 -label L2197 -load 10 __or_1_2196 -brif 10 L2194 L2195 -label L2194 +store __or_1_2267 8 +label L2268 +load 10 __or_1_2267 +brif 10 L2265 L2266 +label L2265 iconst 11 1 ret 11 -label L2195 -label L2193 +label L2266 +label L2264 iconst 12 0 -store __or_12_2198 12 +store __or_12_2269 12 iconst 13 0 -store __or_13_2198 13 +store __or_13_2269 13 load 14 arg_kind strref 15 m51s20 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_13_2198 16 -brif 16 L2199 L2198 -label L2198 +store __or_13_2269 16 +brif 16 L2270 L2269 +label L2269 load 18 arg_kind strref 19 m51s19 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_13_2198 20 -label L2199 -load 22 __or_13_2198 -store __or_12_2198 22 -brif 22 L2201 L2200 -label L2200 +store __or_13_2269 20 +label L2270 +load 22 __or_13_2269 +store __or_12_2269 22 +brif 22 L2272 L2271 +label L2271 load 23 arg_kind strref 24 m51s18 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_12_2198 25 -label L2201 -load 27 __or_12_2198 +store __or_12_2269 25 +label L2272 +load 27 __or_12_2269 ret 27 iconst 28 0 ret 28 @@ -163279,7 +163728,7 @@ call 10 ast_get_node struct:Node 1 9 call 11 pith_struct_release void 1 8 store en 10 iconst 12 0 -store __and_12_2205 12 +store __and_12_2276 12 load 13 en field 14 13 0 string kind strref 15 m51s44 @@ -163287,9 +163736,9 @@ 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 __and_12_2205 16 -brif 16 L2205 L2206 -label L2205 +store __and_12_2276 16 +brif 16 L2276 L2277 +label L2276 load 20 en field 21 20 0 string kind strref 22 m51s130 @@ -163297,11 +163746,11 @@ call 24 pith_cstring_eq bool 2 21 22 iconst 25 1 sub 23 25 24 call 26 pith_cstring_release void 1 22 -store __and_12_2205 23 -label L2206 -load 27 __and_12_2205 -brif 27 L2203 L2204 -label L2203 +store __and_12_2276 23 +label L2277 +load 27 __and_12_2276 +brif 27 L2274 L2275 +label L2274 load 28 en call 29 pith_struct_release void 1 28 load 30 info @@ -163310,26 +163759,26 @@ load 32 sig call 33 pith_cstring_release void 1 32 iconst 34 0 ret 34 -label L2204 -label L2202 +label L2275 +label L2273 iconst 35 0 -store __or_35_2210 35 +store __or_35_2281 35 load 36 ir_alias_registry_ir_active_generic_params call 37 pith_list_len int 1 36 iconst 38 0 gt 39 37 38 -store __or_35_2210 39 -brif 39 L2211 L2210 -label L2210 +store __or_35_2281 39 +brif 39 L2282 L2281 +label L2281 load 40 ir_emitter_core_ir_current_impl_subst_params call 41 pith_list_len int 1 40 iconst 42 0 gt 43 41 42 -store __or_35_2210 43 -label L2211 -load 44 __or_35_2210 -brif 44 L2208 L2209 -label L2208 +store __or_35_2281 43 +label L2282 +load 44 __or_35_2281 +brif 44 L2279 L2280 +label L2279 load 45 en call 46 pith_struct_release void 1 45 load 47 info @@ -163338,16 +163787,16 @@ load 49 sig call 50 pith_cstring_release void 1 49 iconst 51 0 ret 51 -label L2209 -label L2207 +label L2280 +label L2278 load 52 expr_idx call 53 checker_c_get_expr_type int 1 52 store tid 53 load 54 tid iconst 55 0 lt 56 54 55 -brif 56 L2213 L2214 -label L2213 +brif 56 L2284 L2285 +label L2284 load 57 en call 58 pith_struct_release void 1 57 load 59 info @@ -163356,8 +163805,8 @@ load 61 sig call 62 pith_cstring_release void 1 61 iconst 63 0 ret 63 -label L2214 -label L2212 +label L2285 +label L2283 load 64 info load 65 tid call 66 types_get_type_info struct:TypeInfo 1 65 @@ -163370,8 +163819,8 @@ call 72 pith_cstring_eq bool 2 69 70 iconst 73 1 sub 71 73 72 call 74 pith_cstring_release void 1 70 -brif 71 L2216 L2217 -label L2216 +brif 71 L2287 L2288 +label L2287 load 75 en call 76 pith_struct_release void 1 75 load 77 info @@ -163380,8 +163829,8 @@ load 79 sig call 80 pith_cstring_release void 1 79 iconst 81 0 ret 81 -label L2217 -label L2215 +label L2288 +label L2286 load 82 sig load 83 tid call 84 ir_emitter_core_ir_tuple_cascade_signature string 1 83 @@ -163397,8 +163846,8 @@ call 92 pith_cstring_release void 1 90 call 93 ir_emitter_core_ir_tuple_call_arg_is_borrow bool 4 86 87 88 91 iconst 95 1 sub 94 95 93 -brif 94 L2219 L2220 -label L2219 +brif 94 L2290 L2291 +label L2290 load 96 en call 97 pith_struct_release void 1 96 load 98 info @@ -163407,45 +163856,45 @@ load 100 sig call 101 pith_cstring_release void 1 100 iconst 102 0 ret 102 -label L2220 -label L2218 +label L2291 +label L2289 load 103 ir_emitter_core_ir_tuple_cascade_sigs load 104 sig iconst 105 -1 -store __list_index_result_L2224 105 +store __list_index_result_L2295 105 iconst 106 0 -store __list_index_i_L2225 106 +store __list_index_i_L2296 106 call 107 pith_list_len int 1 103 -label L2226 -load 108 __list_index_i_L2225 +label L2297 +load 108 __list_index_i_L2296 lt 109 108 107 -brif 109 L2227 L2230 -label L2227 +brif 109 L2298 L2301 +label L2298 call 110 pith_list_get_value string 2 103 108 call 111 pith_cstring_eq bool 2 110 104 -brif 111 L2228 L2229 -label L2228 -store __list_index_result_L2224 108 -jmp L2230 -label L2229 +brif 111 L2299 L2300 +label L2299 +store __list_index_result_L2295 108 +jmp L2301 +label L2300 iconst 112 1 add 113 108 112 -store __list_index_i_L2225 113 -jmp L2226 -label L2230 -load 114 __list_index_result_L2224 +store __list_index_i_L2296 113 +jmp L2297 +label L2301 +load 114 __list_index_result_L2295 iconst 115 0 gte 116 114 115 iconst 118 1 sub 117 118 116 -brif 117 L2222 L2223 -label L2222 +brif 117 L2293 L2294 +label L2293 load 119 ir_emitter_core_ir_tuple_cascade_sigs load 120 sig call 121 pith_list_push_value void 2 119 120 -jmp L2221 -label L2223 -label L2221 +jmp L2292 +label L2294 +label L2292 call 122 ir_builder_ir_reg int 0 load 123 sig call 124 ir_emitter_core_ir_tuple_cascade_helper_name string 1 123 @@ -163475,7 +163924,7 @@ call 5 ast_get_node struct:Node 1 4 call 6 pith_struct_release void 1 3 store node 5 iconst 7 0 -store __and_7_2234 7 +store __and_7_2305 7 load 8 node field 9 8 0 string kind strref 10 m51s44 @@ -163483,9 +163932,9 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -store __and_7_2234 11 -brif 11 L2234 L2235 -label L2234 +store __and_7_2305 11 +brif 11 L2305 L2306 +label L2305 load 15 node field 16 15 0 string kind strref 17 m51s130 @@ -163493,45 +163942,45 @@ call 19 pith_cstring_eq bool 2 16 17 iconst 20 1 sub 18 20 19 call 21 pith_cstring_release void 1 17 -store __and_7_2234 18 -label L2235 -load 22 __and_7_2234 -brif 22 L2232 L2233 -label L2232 +store __and_7_2305 18 +label L2306 +load 22 __and_7_2305 +brif 22 L2303 L2304 +label L2303 iconst 23 0 load 24 node call 25 pith_struct_release void 1 24 load 26 expr_type call 27 pith_cstring_release void 1 26 ret 23 -label L2233 -label L2231 +label L2304 +label L2302 iconst 28 0 -store __or_28_2239 28 +store __or_28_2310 28 load 29 ir_alias_registry_ir_active_generic_params call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -store __or_28_2239 32 -brif 32 L2240 L2239 -label L2239 +store __or_28_2310 32 +brif 32 L2311 L2310 +label L2310 load 33 ir_emitter_core_ir_current_impl_subst_params call 34 pith_list_len int 1 33 iconst 35 0 gt 36 34 35 -store __or_28_2239 36 -label L2240 -load 37 __or_28_2239 -brif 37 L2237 L2238 -label L2237 +store __or_28_2310 36 +label L2311 +load 37 __or_28_2310 +brif 37 L2308 L2309 +label L2308 iconst 38 0 load 39 node call 40 pith_struct_release void 1 39 load 41 expr_type call 42 pith_cstring_release void 1 41 ret 38 -label L2238 -label L2236 +label L2309 +label L2307 load 43 expr_type load 44 idx call 45 ir_type_helpers_ir_checked_type string 1 44 @@ -163541,16 +163990,16 @@ load 47 expr_type call 48 string_len int 1 47 iconst 49 0 eq 50 48 49 -brif 50 L2242 L2243 -label L2242 +brif 50 L2313 L2314 +label L2313 load 51 expr_type load 52 idx call 53 ir_emitter_core_ir_infer_type string 1 52 call 54 pith_cstring_release void 1 51 store expr_type 53 -jmp L2241 -label L2243 -label L2241 +jmp L2312 +label L2314 +label L2312 load 55 expr_type strref 56 m51s716 call 57 pith_cstring_eq bool 2 55 56 @@ -163579,8 +164028,8 @@ store n 4 load 5 n iconst 6 3 lt 7 5 6 -brif 7 L2245 L2246 -label L2245 +brif 7 L2316 L2317 +label L2316 iconst 8 0 iconst 9 1 sub 10 8 9 @@ -163589,8 +164038,8 @@ call 12 pith_cstring_release void 1 11 load 13 e call 14 pith_cstring_release void 1 13 ret 10 -label L2246 -label L2244 +label L2317 +label L2315 load 15 n iconst 16 2 sub 17 15 16 @@ -163598,8 +164047,8 @@ store inner_len 17 load 18 inner_len iconst 19 1 eq 20 18 19 -brif 20 L2248 L2249 -label L2248 +brif 20 L2319 L2320 +label L2319 load 21 c load 22 raw iconst 23 1 @@ -163610,8 +164059,8 @@ load 26 c strref 27 m51s1335 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2251 L2252 -label L2251 +brif 28 L2322 L2323 +label L2322 iconst 30 0 iconst 31 1 sub 32 30 31 @@ -163620,8 +164069,8 @@ call 34 pith_cstring_release void 1 33 load 35 e call 36 pith_cstring_release void 1 35 ret 32 -label L2252 -label L2250 +label L2323 +label L2321 load 37 c call 38 ord int 1 37 load 39 c @@ -163629,26 +164078,26 @@ call 40 pith_cstring_release void 1 39 load 41 e call 42 pith_cstring_release void 1 41 ret 38 -label L2249 -label L2247 +label L2320 +label L2318 iconst 43 0 -store __and_43_2256 43 +store __and_43_2327 43 load 44 inner_len iconst 45 2 eq 46 44 45 -store __and_43_2256 46 -brif 46 L2256 L2257 -label L2256 +store __and_43_2327 46 +brif 46 L2327 L2328 +label L2327 load 47 raw iconst 48 1 call 49 pith_cstring_byte_at int 2 47 48 iconst 50 92 eq 51 49 50 -store __and_43_2256 51 -label L2257 -load 52 __and_43_2256 -brif 52 L2254 L2255 -label L2254 +store __and_43_2327 51 +label L2328 +load 52 __and_43_2327 +brif 52 L2325 L2326 +label L2325 load 53 e load 54 raw iconst 55 2 @@ -163659,103 +164108,103 @@ load 58 e strref 59 m51s1337 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L2259 L2260 -label L2259 +brif 60 L2330 L2331 +label L2330 iconst 62 10 load 63 c call 64 pith_cstring_release void 1 63 load 65 e call 66 pith_cstring_release void 1 65 ret 62 -label L2260 -label L2258 +label L2331 +label L2329 load 67 e strref 68 m51s1295 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L2262 L2263 -label L2262 +brif 69 L2333 L2334 +label L2333 iconst 71 9 load 72 c call 73 pith_cstring_release void 1 72 load 74 e call 75 pith_cstring_release void 1 74 ret 71 -label L2263 -label L2261 +label L2334 +label L2332 load 76 e strref 77 m51s1336 call 78 pith_cstring_eq bool 2 76 77 call 79 pith_cstring_release void 1 77 -brif 78 L2265 L2266 -label L2265 +brif 78 L2336 L2337 +label L2336 iconst 80 13 load 81 c call 82 pith_cstring_release void 1 81 load 83 e call 84 pith_cstring_release void 1 83 ret 80 -label L2266 -label L2264 +label L2337 +label L2335 load 85 e strref 86 m51s185 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L2268 L2269 -label L2268 +brif 87 L2339 L2340 +label L2339 iconst 89 0 load 90 c call 91 pith_cstring_release void 1 90 load 92 e call 93 pith_cstring_release void 1 92 ret 89 -label L2269 -label L2267 +label L2340 +label L2338 load 94 e strref 95 m51s1335 call 96 pith_cstring_eq bool 2 94 95 call 97 pith_cstring_release void 1 95 -brif 96 L2271 L2272 -label L2271 +brif 96 L2342 L2343 +label L2342 iconst 98 92 load 99 c call 100 pith_cstring_release void 1 99 load 101 e call 102 pith_cstring_release void 1 101 ret 98 -label L2272 -label L2270 +label L2343 +label L2341 load 103 e strref 104 m51s1334 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -brif 105 L2274 L2275 -label L2274 +brif 105 L2345 L2346 +label L2345 iconst 107 34 load 108 c call 109 pith_cstring_release void 1 108 load 110 e call 111 pith_cstring_release void 1 110 ret 107 -label L2275 -label L2273 +label L2346 +label L2344 load 112 e strref 113 m51s97 call 114 pith_cstring_eq bool 2 112 113 call 115 pith_cstring_release void 1 113 -brif 114 L2277 L2278 -label L2277 +brif 114 L2348 L2349 +label L2348 iconst 116 39 load 117 c call 118 pith_cstring_release void 1 117 load 119 e call 120 pith_cstring_release void 1 119 ret 116 -label L2278 -label L2276 -jmp L2253 -label L2255 -label L2253 +label L2349 +label L2347 +jmp L2324 +label L2326 +label L2324 iconst 121 0 iconst 122 1 sub 123 121 122 @@ -163785,29 +164234,29 @@ call 6 ast_get_node struct:Node 1 5 call 7 pith_struct_release void 1 4 store node 6 iconst 8 0 -store __and_8_2282 8 +store __and_8_2353 8 load 9 node field 10 9 0 string kind strref 11 m51s35 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __and_8_2282 12 -brif 12 L2282 L2283 -label L2282 +store __and_8_2353 12 +brif 12 L2353 L2354 +label L2353 load 14 node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 2 gte 18 16 17 -store __and_8_2282 18 -label L2283 -load 19 __and_8_2282 -brif 19 L2280 L2281 -label L2280 +store __and_8_2353 18 +label L2354 +load 19 __and_8_2353 +brif 19 L2351 L2352 +label L2351 load 20 idx call 21 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 20 -brif 21 L2285 L2286 -label L2285 +brif 21 L2356 L2357 +label L2356 load 22 node field 23 22 16 list children iconst 24 0 @@ -163838,8 +164287,8 @@ call 45 pith_struct_release void 1 44 load 46 arg call 47 pith_struct_release void 1 46 ret 41 -label L2286 -label L2284 +label L2357 +label L2355 iconst 48 0 iconst 49 1 sub 50 48 49 @@ -163850,41 +164299,41 @@ call 54 pith_struct_release void 1 53 load 55 arg call 56 pith_struct_release void 1 55 ret 50 -label L2281 -label L2279 +label L2352 +label L2350 iconst 57 0 -store __or_57_2290 57 +store __or_57_2361 57 iconst 58 0 -store __or_58_2290 58 +store __or_58_2361 58 load 59 node field 60 59 0 string kind strref 61 m51s529 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __or_58_2290 62 -brif 62 L2291 L2290 -label L2290 +store __or_58_2361 62 +brif 62 L2362 L2361 +label L2361 load 64 node field 65 64 0 string kind strref 66 m51s716 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __or_58_2290 67 -label L2291 -load 69 __or_58_2290 -store __or_57_2290 69 -brif 69 L2293 L2292 -label L2292 +store __or_58_2361 67 +label L2362 +load 69 __or_58_2361 +store __or_57_2361 69 +brif 69 L2364 L2363 +label L2363 load 70 node field 71 70 0 string kind strref 72 m51s1076 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -store __or_57_2290 73 -label L2293 -load 75 __or_57_2290 -brif 75 L2288 L2289 -label L2288 +store __or_57_2361 73 +label L2364 +load 75 __or_57_2361 +brif 75 L2359 L2360 +label L2359 load 76 node field 77 76 8 string value call 78 ir_emitter_core_ir_string_lit_single_byte int 1 77 @@ -163892,8 +164341,8 @@ store b 78 load 79 b iconst 80 0 gte 81 79 80 -brif 81 L2295 L2296 -label L2295 +brif 81 L2366 L2367 +label L2366 call 82 ir_builder_ir_reg int 0 store r 82 strref 83 m51s880 @@ -163921,8 +164370,8 @@ call 104 pith_struct_release void 1 103 load 105 arg call 106 pith_struct_release void 1 105 ret 100 -label L2296 -label L2294 +label L2367 +label L2365 iconst 107 0 iconst 108 1 sub 109 107 108 @@ -163933,28 +164382,28 @@ call 113 pith_struct_release void 1 112 load 114 arg call 115 pith_struct_release void 1 114 ret 109 -label L2289 -label L2287 +label L2360 +label L2358 iconst 116 0 -store __and_116_2300 116 +store __and_116_2371 116 load 117 node field 118 117 0 string kind strref 119 m51s44 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -store __and_116_2300 120 -brif 120 L2300 L2301 -label L2300 +store __and_116_2371 120 +brif 120 L2371 L2372 +label L2371 load 122 node field 123 122 16 list children call 124 pith_list_len int 1 123 iconst 125 2 gte 126 124 125 -store __and_116_2300 126 -label L2301 -load 127 __and_116_2300 -brif 127 L2298 L2299 -label L2298 +store __and_116_2371 126 +label L2372 +load 127 __and_116_2371 +brif 127 L2369 L2370 +label L2369 load 128 callee load 129 node field 130 129 16 list children @@ -163972,38 +164421,38 @@ call 140 ast_get_node struct:Node 1 139 call 141 pith_struct_release void 1 135 store arg 140 iconst 142 0 -store __and_142_2305 142 +store __and_142_2376 142 iconst 143 0 -store __and_143_2305 143 +store __and_143_2376 143 load 144 callee field 145 144 0 string kind strref 146 m51s37 call 147 pith_cstring_eq bool 2 145 146 call 148 pith_cstring_release void 1 146 -store __and_143_2305 147 -brif 147 L2305 L2306 -label L2305 +store __and_143_2376 147 +brif 147 L2376 L2377 +label L2376 load 149 callee field 150 149 8 string value strref 151 m51s1332 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -store __and_143_2305 152 -label L2306 -load 154 __and_143_2305 -store __and_142_2305 154 -brif 154 L2307 L2308 -label L2307 +store __and_143_2376 152 +label L2377 +load 154 __and_143_2376 +store __and_142_2376 154 +brif 154 L2378 L2379 +label L2378 load 155 arg field 156 155 0 string kind strref 157 m51s531 call 158 pith_cstring_eq bool 2 156 157 call 159 pith_cstring_release void 1 157 -store __and_142_2305 158 -label L2308 -load 160 __and_142_2305 -brif 160 L2303 L2304 -label L2303 +store __and_142_2376 158 +label L2379 +load 160 __and_142_2376 +brif 160 L2374 L2375 +label L2374 call 161 ir_builder_ir_reg int 0 store r 161 strref 162 m51s880 @@ -164030,11 +164479,11 @@ call 182 pith_struct_release void 1 181 load 183 arg call 184 pith_struct_release void 1 183 ret 178 -label L2304 -label L2302 -jmp L2297 -label L2299 -label L2297 +label L2375 +label L2373 +jmp L2368 +label L2370 +label L2368 iconst 185 0 iconst 186 1 sub 187 185 186 @@ -164068,25 +164517,25 @@ call 6 ast_get_node struct:Node 1 5 call 7 pith_struct_release void 1 4 store node 6 iconst 8 0 -store __and_8_2312 8 +store __and_8_2383 8 load 9 node field 10 9 0 string kind strref 11 m51s35 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __and_8_2312 12 -brif 12 L2312 L2313 -label L2312 +store __and_8_2383 12 +brif 12 L2383 L2384 +label L2383 load 14 node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 2 gte 18 16 17 -store __and_8_2312 18 -label L2313 -load 19 __and_8_2312 -brif 19 L2310 L2311 -label L2310 +store __and_8_2383 18 +label L2384 +load 19 __and_8_2383 +brif 19 L2381 L2382 +label L2381 load 20 idx call 21 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 20 load 22 node @@ -164096,41 +164545,41 @@ call 25 pith_struct_release void 1 24 load 26 arg call 27 pith_struct_release void 1 26 ret 21 -label L2311 -label L2309 +label L2382 +label L2380 iconst 28 0 -store __or_28_2317 28 +store __or_28_2388 28 iconst 29 0 -store __or_29_2317 29 +store __or_29_2388 29 load 30 node field 31 30 0 string kind strref 32 m51s529 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -store __or_29_2317 33 -brif 33 L2318 L2317 -label L2317 +store __or_29_2388 33 +brif 33 L2389 L2388 +label L2388 load 35 node field 36 35 0 string kind strref 37 m51s716 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __or_29_2317 38 -label L2318 -load 40 __or_29_2317 -store __or_28_2317 40 -brif 40 L2320 L2319 -label L2319 +store __or_29_2388 38 +label L2389 +load 40 __or_29_2388 +store __or_28_2388 40 +brif 40 L2391 L2390 +label L2390 load 41 node field 42 41 0 string kind strref 43 m51s1076 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __or_28_2317 44 -label L2320 -load 46 __or_28_2317 -brif 46 L2315 L2316 -label L2315 +store __or_28_2388 44 +label L2391 +load 46 __or_28_2388 +brif 46 L2386 L2387 +label L2386 load 47 node field 48 47 8 string value call 49 ir_emitter_core_ir_string_lit_single_byte int 1 48 @@ -164143,28 +164592,28 @@ call 55 pith_struct_release void 1 54 load 56 arg call 57 pith_struct_release void 1 56 ret 51 -label L2316 -label L2314 +label L2387 +label L2385 iconst 58 0 -store __and_58_2324 58 +store __and_58_2395 58 load 59 node field 60 59 0 string kind strref 61 m51s44 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __and_58_2324 62 -brif 62 L2324 L2325 -label L2324 +store __and_58_2395 62 +brif 62 L2395 L2396 +label L2395 load 64 node field 65 64 16 list children call 66 pith_list_len int 1 65 iconst 67 2 gte 68 66 67 -store __and_58_2324 68 -label L2325 -load 69 __and_58_2324 -brif 69 L2322 L2323 -label L2322 +store __and_58_2395 68 +label L2396 +load 69 __and_58_2395 +brif 69 L2393 L2394 +label L2393 load 70 callee load 71 node field 72 71 16 list children @@ -164182,36 +164631,36 @@ call 82 ast_get_node struct:Node 1 81 call 83 pith_struct_release void 1 77 store arg 82 iconst 84 0 -store __and_84_2326 84 +store __and_84_2397 84 iconst 85 0 -store __and_85_2326 85 +store __and_85_2397 85 load 86 callee field 87 86 0 string kind strref 88 m51s37 call 89 pith_cstring_eq bool 2 87 88 call 90 pith_cstring_release void 1 88 -store __and_85_2326 89 -brif 89 L2326 L2327 -label L2326 +store __and_85_2397 89 +brif 89 L2397 L2398 +label L2397 load 91 callee field 92 91 8 string value strref 93 m51s1332 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -store __and_85_2326 94 -label L2327 -load 96 __and_85_2326 -store __and_84_2326 96 -brif 96 L2328 L2329 -label L2328 +store __and_85_2397 94 +label L2398 +load 96 __and_85_2397 +store __and_84_2397 96 +brif 96 L2399 L2400 +label L2399 load 97 arg field 98 97 0 string kind strref 99 m51s531 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __and_84_2326 100 -label L2329 -load 102 __and_84_2326 +store __and_84_2397 100 +label L2400 +load 102 __and_84_2397 load 103 node call 104 pith_struct_release void 1 103 load 105 callee @@ -164219,8 +164668,8 @@ call 106 pith_struct_release void 1 105 load 107 arg call 108 pith_struct_release void 1 107 ret 102 -label L2323 -label L2321 +label L2394 +label L2392 iconst 109 0 load 110 node call 111 pith_struct_release void 1 110 @@ -164262,7 +164711,7 @@ call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 11 store right 16 iconst 18 0 -store __and_18_2333 18 +store __and_18_2404 18 load 19 left field 20 19 0 string kind strref 21 m51s35 @@ -164270,9 +164719,9 @@ call 23 pith_cstring_eq bool 2 20 21 iconst 24 1 sub 22 24 23 call 25 pith_cstring_release void 1 21 -store __and_18_2333 22 -brif 22 L2333 L2334 -label L2333 +store __and_18_2404 22 +brif 22 L2404 L2405 +label L2404 load 26 right field 27 26 0 string kind strref 28 m51s35 @@ -164280,11 +164729,11 @@ call 30 pith_cstring_eq bool 2 27 28 iconst 31 1 sub 29 31 30 call 32 pith_cstring_release void 1 28 -store __and_18_2333 29 -label L2334 -load 33 __and_18_2333 -brif 33 L2331 L2332 -label L2331 +store __and_18_2404 29 +label L2405 +load 33 __and_18_2404 +brif 33 L2402 L2403 +label L2402 iconst 34 0 iconst 35 1 sub 36 34 35 @@ -164293,10 +164742,10 @@ call 38 pith_struct_release void 1 37 load 39 right call 40 pith_struct_release void 1 39 ret 36 -label L2332 -label L2330 +label L2403 +label L2401 iconst 41 0 -store __or_41_2338 41 +store __or_41_2409 41 load 42 node field 43 42 16 list children iconst 44 0 @@ -164308,9 +164757,9 @@ iconst 50 1 sub 48 50 49 call 51 pith_cstring_release void 1 46 call 52 pith_cstring_release void 1 47 -store __or_41_2338 48 -brif 48 L2339 L2338 -label L2338 +store __or_41_2409 48 +brif 48 L2410 L2409 +label L2409 load 53 node field 54 53 16 list children iconst 55 1 @@ -164322,11 +164771,11 @@ iconst 61 1 sub 59 61 60 call 62 pith_cstring_release void 1 57 call 63 pith_cstring_release void 1 58 -store __or_41_2338 59 -label L2339 -load 64 __or_41_2338 -brif 64 L2336 L2337 -label L2336 +store __or_41_2409 59 +label L2410 +load 64 __or_41_2409 +brif 64 L2407 L2408 +label L2407 iconst 65 0 iconst 66 1 sub 67 65 66 @@ -164335,10 +164784,10 @@ call 69 pith_struct_release void 1 68 load 70 right call 71 pith_struct_release void 1 70 ret 67 -label L2337 -label L2335 +label L2408 +label L2406 iconst 72 0 -store __or_72_2343 72 +store __or_72_2414 72 load 73 node field 74 73 16 list children iconst 75 0 @@ -164346,9 +164795,9 @@ call 76 pith_list_get_value_strict int 2 74 75 call 77 ir_emitter_core_ir_is_byte_operand bool 1 76 iconst 79 1 sub 78 79 77 -store __or_72_2343 78 -brif 78 L2344 L2343 -label L2343 +store __or_72_2414 78 +brif 78 L2415 L2414 +label L2414 load 80 node field 81 80 16 list children iconst 82 1 @@ -164356,11 +164805,11 @@ call 83 pith_list_get_value_strict int 2 81 82 call 84 ir_emitter_core_ir_is_byte_operand bool 1 83 iconst 86 1 sub 85 86 84 -store __or_72_2343 85 -label L2344 -load 87 __or_72_2343 -brif 87 L2341 L2342 -label L2341 +store __or_72_2414 85 +label L2415 +load 87 __or_72_2414 +brif 87 L2412 L2413 +label L2412 iconst 88 0 iconst 89 1 sub 90 88 89 @@ -164369,8 +164818,8 @@ call 92 pith_struct_release void 1 91 load 93 right call 94 pith_struct_release void 1 93 ret 90 -label L2342 -label L2340 +label L2413 +label L2411 load 95 node field 96 95 16 list children iconst 97 0 @@ -164389,8 +164838,8 @@ load 106 op strref 107 m51s479 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 107 -brif 108 L2346 L2347 -label L2346 +brif 108 L2417 L2418 +label L2417 strref 110 m51s887 load 111 r call 112 int_to_string string 1 111 @@ -164417,8 +164866,8 @@ call 132 pith_cstring_release void 1 126 call 133 pith_cstring_release void 1 130 call 134 ir_builder_ir_emit void 1 131 call 135 pith_cstring_release void 1 131 -jmp L2345 -label L2347 +jmp L2416 +label L2418 strref 136 m51s1091 load 137 r call 138 int_to_string string 1 137 @@ -164445,7 +164894,7 @@ call 158 pith_cstring_release void 1 152 call 159 pith_cstring_release void 1 156 call 160 ir_builder_ir_emit void 1 157 call 161 pith_cstring_release void 1 157 -label L2345 +label L2416 load 162 r load 163 left call 164 pith_struct_release void 1 163 @@ -164542,8 +164991,8 @@ load 68 op strref 69 m51s461 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -brif 70 L2349 L2350 -label L2349 +brif 70 L2420 L2421 +label L2420 strref 72 m51s882 load 73 left_r call 74 int_to_string string 1 73 @@ -164566,8 +165015,8 @@ concat 90 86 89 call 91 pith_cstring_release void 1 86 call 92 ir_builder_ir_emit void 1 90 call 93 pith_cstring_release void 1 90 -jmp L2348 -label L2350 +jmp L2419 +label L2421 strref 94 m51s882 load 95 left_r call 96 int_to_string string 1 95 @@ -164590,7 +165039,7 @@ concat 112 108 111 call 113 pith_cstring_release void 1 108 call 114 ir_builder_ir_emit void 1 112 call 115 pith_cstring_release void 1 112 -label L2348 +label L2419 strref 116 m51s1031 load 117 right_l concat 118 116 117 @@ -164673,16 +165122,16 @@ call 6 pith_cstring_eq bool 2 3 4 iconst 7 1 sub 5 7 6 call 8 pith_cstring_release void 1 4 -brif 5 L2352 L2353 -label L2352 +brif 5 L2423 L2424 +label L2423 iconst 9 1 iconst 11 0 sub 10 11 9 load 12 name call 13 pith_cstring_release void 1 12 ret 10 -label L2353 -label L2351 +label L2424 +label L2422 load 14 name load 15 operand_node field 16 15 8 string value @@ -164694,16 +165143,16 @@ load 20 name call 21 contains_key bool 2 19 20 iconst 23 1 sub 22 23 21 -brif 22 L2355 L2356 -label L2355 +brif 22 L2426 L2427 +label L2426 iconst 24 1 iconst 26 0 sub 25 26 24 load 27 name call 28 pith_cstring_release void 1 27 ret 25 -label L2356 -label L2354 +label L2427 +label L2425 load 29 ir_alias_registry_ir_active_param_optional_tids load 30 name call 31 map_get_strict int 2 29 30 @@ -164718,37 +165167,37 @@ endfunc func ir_emitter_core_ir_emit_binary_expr 1 int param node iconst 1 0 -store __or_1_2360 1 +store __or_1_2431 1 load 2 node field 3 2 8 string value strref 4 m51s479 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_1_2360 5 -brif 5 L2361 L2360 -label L2360 +store __or_1_2431 5 +brif 5 L2432 L2431 +label L2431 load 7 node field 8 7 8 string value strref 9 m51s477 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_1_2360 10 -label L2361 -load 12 __or_1_2360 -brif 12 L2358 L2359 -label L2358 +store __or_1_2431 10 +label L2432 +load 12 __or_1_2431 +brif 12 L2429 L2430 +label L2429 load 13 node call 14 ir_emitter_core_ir_try_emit_none_to_none_compare int 1 13 store both_none_r 14 load 15 both_none_r iconst 16 0 gte 17 15 16 -brif 17 L2363 L2364 -label L2363 +brif 17 L2434 L2435 +label L2434 load 18 both_none_r ret 18 -label L2364 -label L2362 +label L2435 +label L2433 load 19 node load 20 node field 21 20 8 string value @@ -164757,40 +165206,40 @@ store fast_r 22 load 23 fast_r iconst 24 0 gte 25 23 24 -brif 25 L2366 L2367 -label L2366 +brif 25 L2437 L2438 +label L2437 load 26 fast_r ret 26 -label L2367 -label L2365 -jmp L2357 -label L2359 -label L2357 +label L2438 +label L2436 +jmp L2428 +label L2430 +label L2428 iconst 27 0 -store __or_27_2371 27 +store __or_27_2442 27 load 28 node field 29 28 8 string value strref 30 m51s463 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_27_2371 31 -brif 31 L2372 L2371 -label L2371 +store __or_27_2442 31 +brif 31 L2443 L2442 +label L2442 load 33 node field 34 33 8 string value strref 35 m51s461 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_27_2371 36 -label L2372 -load 38 __or_27_2371 -brif 38 L2369 L2370 -label L2369 +store __or_27_2442 36 +label L2443 +load 38 __or_27_2442 +brif 38 L2440 L2441 +label L2440 load 39 node call 40 ir_emitter_core_ir_emit_short_circuit_logic int 1 39 ret 40 -label L2370 -label L2368 +label L2441 +label L2439 load 41 node field 42 41 16 list children iconst 43 0 @@ -164818,12 +165267,12 @@ store opt_r 60 load 61 opt_r iconst 62 0 gte 63 61 62 -brif 63 L2374 L2375 -label L2374 +brif 63 L2445 L2446 +label L2445 load 64 opt_r ret 64 -label L2375 -label L2373 +label L2446 +label L2444 load 65 node load 66 r load 67 left_r @@ -164837,38 +165286,38 @@ func ir_emitter_core_ir_emit_binary_operand 2 int param idx param op iconst 2 0 -store __or_2_2379 2 +store __or_2_2450 2 load 3 op strref 4 m51s479 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_2379 5 -brif 5 L2380 L2379 -label L2379 +store __or_2_2450 5 +brif 5 L2451 L2450 +label L2450 load 7 op strref 8 m51s477 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_2379 9 -label L2380 -load 11 __or_2_2379 -brif 11 L2377 L2378 -label L2377 +store __or_2_2450 9 +label L2451 +load 11 __or_2_2450 +brif 11 L2448 L2449 +label L2448 load 12 idx call 13 ast_node_kind string 1 12 strref 14 m51s494 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 13 call 17 pith_cstring_release void 1 14 -brif 15 L2382 L2383 -label L2382 +brif 15 L2453 L2454 +label L2453 call 18 ir_emitter_core_ir_emit_zero_value int 0 ret 18 -label L2383 -label L2381 -jmp L2376 -label L2378 -label L2376 +label L2454 +label L2452 +jmp L2447 +label L2449 +label L2447 load 19 idx call 20 ir_emitter_core_ir_expr int 1 19 ret 20 @@ -164882,14 +165331,14 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 2 lt 5 3 4 -brif 5 L2385 L2386 -label L2385 +brif 5 L2456 L2457 +label L2456 iconst 6 0 iconst 7 1 sub 8 6 7 ret 8 -label L2386 -label L2384 +label L2457 +label L2455 load 9 node field 10 9 16 list children iconst 11 0 @@ -164901,14 +165350,14 @@ iconst 17 1 sub 15 17 16 call 18 pith_cstring_release void 1 13 call 19 pith_cstring_release void 1 14 -brif 15 L2388 L2389 -label L2388 +brif 15 L2459 L2460 +label L2459 iconst 20 0 iconst 21 1 sub 22 20 21 ret 22 -label L2389 -label L2387 +label L2460 +label L2458 load 23 node field 24 23 16 list children iconst 25 1 @@ -164920,14 +165369,14 @@ iconst 31 1 sub 29 31 30 call 32 pith_cstring_release void 1 27 call 33 pith_cstring_release void 1 28 -brif 29 L2391 L2392 -label L2391 +brif 29 L2462 L2463 +label L2462 iconst 34 0 iconst 35 1 sub 36 34 35 ret 36 -label L2392 -label L2390 +label L2463 +label L2461 call 37 ir_builder_ir_reg int 0 store r 37 load 38 node @@ -164935,8 +165384,8 @@ field 39 38 8 string value strref 40 m51s479 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -brif 41 L2394 L2395 -label L2394 +brif 41 L2465 L2466 +label L2465 strref 43 m51s880 load 44 r call 45 int_to_string string 1 44 @@ -164949,8 +165398,8 @@ call 51 pith_cstring_release void 1 46 call 52 pith_cstring_release void 1 49 call 53 ir_builder_ir_emit void 1 50 call 54 pith_cstring_release void 1 50 -jmp L2393 -label L2395 +jmp L2464 +label L2466 strref 55 m51s880 load 56 r call 57 int_to_string string 1 56 @@ -164963,7 +165412,7 @@ call 63 pith_cstring_release void 1 58 call 64 pith_cstring_release void 1 61 call 65 ir_builder_ir_emit void 1 62 call 66 pith_cstring_release void 1 62 -label L2393 +label L2464 load 67 r ret 67 iconst 68 0 @@ -165033,43 +165482,43 @@ call 46 ast_get_node struct:Node 1 45 call 47 pith_struct_release void 1 41 store right_node 46 iconst 48 0 -store __or_48_2399 48 +store __or_48_2470 48 load 49 op strref 50 m51s479 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __or_48_2399 51 -brif 51 L2400 L2399 -label L2399 +store __or_48_2470 51 +brif 51 L2471 L2470 +label L2470 load 53 op strref 54 m51s477 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_48_2399 55 -label L2400 -load 57 __or_48_2399 -brif 57 L2397 L2398 -label L2397 +store __or_48_2470 55 +label L2471 +load 57 __or_48_2470 +brif 57 L2468 L2469 +label L2468 iconst 58 0 -store __and_58_2404 58 +store __and_58_2475 58 load 59 left_node field 60 59 0 string kind strref 61 m51s494 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __and_58_2404 62 -brif 62 L2404 L2405 -label L2404 +store __and_58_2475 62 +brif 62 L2475 L2476 +label L2475 load 64 right_info field 65 64 0 string kind strref 66 m51s21 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __and_58_2404 67 -label L2405 -load 69 __and_58_2404 -brif 69 L2402 L2403 -label L2402 +store __and_58_2475 67 +label L2476 +load 69 __and_58_2475 +brif 69 L2473 L2474 +label L2473 load 70 r load 71 op load 72 right_r @@ -165096,28 +165545,28 @@ call 92 pith_struct_release void 1 91 load 93 rg call 94 pith_struct_release void 1 93 ret 80 -label L2403 -label L2401 +label L2474 +label L2472 iconst 95 0 -store __and_95_2409 95 +store __and_95_2480 95 load 96 right_node field 97 96 0 string kind strref 98 m51s494 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __and_95_2409 99 -brif 99 L2409 L2410 -label L2409 +store __and_95_2480 99 +brif 99 L2480 L2481 +label L2480 load 101 left_info field 102 101 0 string kind strref 103 m51s21 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __and_95_2409 104 -label L2410 -load 106 __and_95_2409 -brif 106 L2407 L2408 -label L2407 +store __and_95_2480 104 +label L2481 +load 106 __and_95_2480 +brif 106 L2478 L2479 +label L2478 load 107 r load 108 op load 109 left_r @@ -165144,21 +165593,21 @@ call 129 pith_struct_release void 1 128 load 130 rg call 131 pith_struct_release void 1 130 ret 117 -label L2408 -label L2406 +label L2479 +label L2477 load 132 ir_emitter_core_ir_current_impl_subst_params call 133 pith_list_len int 1 132 iconst 134 0 gt 135 133 134 -brif 135 L2412 L2413 -label L2412 +brif 135 L2483 L2484 +label L2483 load 136 left_node field 137 136 0 string kind strref 138 m51s494 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L2415 L2416 -label L2415 +brif 139 L2486 L2487 +label L2486 load 141 r load 142 op load 143 right_r @@ -165179,15 +165628,15 @@ call 157 pith_struct_release void 1 156 load 158 rg call 159 pith_struct_release void 1 158 ret 145 -label L2416 -label L2414 +label L2487 +label L2485 load 160 right_node field 161 160 0 string kind strref 162 m51s494 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L2418 L2419 -label L2418 +brif 163 L2489 L2490 +label L2489 load 165 r load 166 op load 167 left_r @@ -165208,56 +165657,56 @@ call 181 pith_struct_release void 1 180 load 182 rg call 183 pith_struct_release void 1 182 ret 169 -label L2419 -label L2417 -jmp L2411 -label L2413 -label L2411 +label L2490 +label L2488 +jmp L2482 +label L2484 +label L2482 iconst 184 0 -store __and_184_2423 184 +store __and_184_2494 184 iconst 185 0 -store __and_185_2423 185 +store __and_185_2494 185 iconst 186 0 -store __and_186_2423 186 +store __and_186_2494 186 load 187 left_info field 188 187 0 string kind strref 189 m51s21 call 190 pith_cstring_eq bool 2 188 189 call 191 pith_cstring_release void 1 189 -store __and_186_2423 190 -brif 190 L2423 L2424 -label L2423 +store __and_186_2494 190 +brif 190 L2494 L2495 +label L2494 load 192 right_info field 193 192 0 string kind strref 194 m51s21 call 195 pith_cstring_eq bool 2 193 194 call 196 pith_cstring_release void 1 194 -store __and_186_2423 195 -label L2424 -load 197 __and_186_2423 -store __and_185_2423 197 -brif 197 L2425 L2426 -label L2425 +store __and_186_2494 195 +label L2495 +load 197 __and_186_2494 +store __and_185_2494 197 +brif 197 L2496 L2497 +label L2496 load 198 left_info field 199 198 64 int inner iconst 200 0 gte 201 199 200 -store __and_185_2423 201 -label L2426 -load 202 __and_185_2423 -store __and_184_2423 202 -brif 202 L2427 L2428 -label L2427 +store __and_185_2494 201 +label L2497 +load 202 __and_185_2494 +store __and_184_2494 202 +brif 202 L2498 L2499 +label L2498 load 203 left_info field 204 203 64 int inner load 205 right_info field 206 205 64 int inner eq 207 204 206 -store __and_184_2423 207 -label L2428 -load 208 __and_184_2423 -brif 208 L2421 L2422 -label L2421 +store __and_184_2494 207 +label L2499 +load 208 __and_184_2494 +brif 208 L2492 L2493 +label L2492 load 209 r load 210 op load 211 left_r @@ -165280,14 +165729,14 @@ call 227 pith_struct_release void 1 226 load 228 rg call 229 pith_struct_release void 1 228 ret 215 -label L2422 -label L2420 +label L2493 +label L2491 load 230 ir_alias_registry_ir_active_param_optional_tids call 231 map_len int 1 230 iconst 232 0 gt 233 231 232 -brif 233 L2430 L2431 -label L2430 +brif 233 L2501 L2502 +label L2501 load 234 left_node call 235 ir_emitter_core_ir_generic_param_optional_tid int 1 234 store gen_left_tid 235 @@ -165295,21 +165744,21 @@ load 236 right_node call 237 ir_emitter_core_ir_generic_param_optional_tid int 1 236 store gen_right_tid 237 iconst 238 0 -store __and_238_2435 238 +store __and_238_2506 238 load 239 gen_left_tid iconst 240 0 gte 241 239 240 -store __and_238_2435 241 -brif 241 L2435 L2436 -label L2435 +store __and_238_2506 241 +brif 241 L2506 L2507 +label L2506 load 242 gen_right_tid iconst 243 0 gte 244 242 243 -store __and_238_2435 244 -label L2436 -load 245 __and_238_2435 -brif 245 L2433 L2434 -label L2433 +store __and_238_2506 244 +label L2507 +load 245 __and_238_2506 +brif 245 L2504 L2505 +label L2504 load 246 lg load 247 gen_left_tid call 248 types_get_type_info struct:TypeInfo 1 247 @@ -165321,24 +165770,24 @@ call 252 types_get_type_info struct:TypeInfo 1 251 call 253 pith_struct_release void 1 250 store rg 252 iconst 254 0 -store __and_254_2440 254 +store __and_254_2511 254 load 255 lg field 256 255 64 int inner iconst 257 0 gte 258 256 257 -store __and_254_2440 258 -brif 258 L2440 L2441 -label L2440 +store __and_254_2511 258 +brif 258 L2511 L2512 +label L2511 load 259 lg field 260 259 64 int inner load 261 rg field 262 261 64 int inner eq 263 260 262 -store __and_254_2440 263 -label L2441 -load 264 __and_254_2440 -brif 264 L2438 L2439 -label L2438 +store __and_254_2511 263 +label L2512 +load 264 __and_254_2511 +brif 264 L2509 L2510 +label L2509 load 265 r load 266 op load 267 left_r @@ -165361,29 +165810,29 @@ call 283 pith_struct_release void 1 282 load 284 rg call 285 pith_struct_release void 1 284 ret 271 -label L2439 -label L2437 -jmp L2432 -label L2434 -label L2432 +label L2510 +label L2508 +jmp L2503 +label L2505 +label L2503 iconst 286 0 -store __and_286_2445 286 +store __and_286_2516 286 load 287 gen_left_tid iconst 288 0 gte 289 287 288 -store __and_286_2445 289 -brif 289 L2445 L2446 -label L2445 +store __and_286_2516 289 +brif 289 L2516 L2517 +label L2516 load 290 right_node field 291 290 0 string kind strref 292 m51s494 call 293 pith_cstring_eq bool 2 291 292 call 294 pith_cstring_release void 1 292 -store __and_286_2445 293 -label L2446 -load 295 __and_286_2445 -brif 295 L2443 L2444 -label L2443 +store __and_286_2516 293 +label L2517 +load 295 __and_286_2516 +brif 295 L2514 L2515 +label L2514 load 296 r load 297 op load 298 left_r @@ -165404,26 +165853,26 @@ call 312 pith_struct_release void 1 311 load 313 rg call 314 pith_struct_release void 1 313 ret 300 -label L2444 -label L2442 +label L2515 +label L2513 iconst 315 0 -store __and_315_2450 315 +store __and_315_2521 315 load 316 gen_right_tid iconst 317 0 gte 318 316 317 -store __and_315_2450 318 -brif 318 L2450 L2451 -label L2450 +store __and_315_2521 318 +brif 318 L2521 L2522 +label L2521 load 319 left_node field 320 319 0 string kind strref 321 m51s494 call 322 pith_cstring_eq bool 2 320 321 call 323 pith_cstring_release void 1 321 -store __and_315_2450 322 -label L2451 -load 324 __and_315_2450 -brif 324 L2448 L2449 -label L2448 +store __and_315_2521 322 +label L2522 +load 324 __and_315_2521 +brif 324 L2519 L2520 +label L2519 load 325 r load 326 op load 327 right_r @@ -165444,68 +165893,68 @@ call 341 pith_struct_release void 1 340 load 342 rg call 343 pith_struct_release void 1 342 ret 329 -label L2449 -label L2447 -jmp L2429 -label L2431 -label L2429 +label L2520 +label L2518 +jmp L2500 +label L2502 +label L2500 iconst 344 0 -store __and_344_2455 344 +store __and_344_2526 344 iconst 345 0 -store __and_345_2455 345 +store __and_345_2526 345 iconst 346 0 -store __and_346_2455 346 +store __and_346_2526 346 iconst 347 0 -store __and_347_2455 347 +store __and_347_2526 347 iconst 348 0 -store __and_348_2455 348 +store __and_348_2526 348 iconst 349 0 -store __and_349_2455 349 +store __and_349_2526 349 load 350 left_info field 351 350 0 string kind strref 352 m51s21 call 353 pith_cstring_eq bool 2 351 352 call 354 pith_cstring_release void 1 352 -store __and_349_2455 353 -brif 353 L2455 L2456 -label L2455 +store __and_349_2526 353 +brif 353 L2526 L2527 +label L2526 load 355 left_info field 356 355 64 int inner iconst 357 0 gte 358 356 357 -store __and_349_2455 358 -label L2456 -load 359 __and_349_2455 -store __and_348_2455 359 -brif 359 L2457 L2458 -label L2457 +store __and_349_2526 358 +label L2527 +load 359 __and_349_2526 +store __and_348_2526 359 +brif 359 L2528 L2529 +label L2528 load 360 right_tid iconst 361 0 gte 362 360 361 -store __and_348_2455 362 -label L2458 -load 363 __and_348_2455 -store __and_347_2455 363 -brif 363 L2459 L2460 -label L2459 +store __and_348_2526 362 +label L2529 +load 363 __and_348_2526 +store __and_347_2526 363 +brif 363 L2530 L2531 +label L2530 load 364 right_tid load 365 types_TID_ERR neq 366 364 365 -store __and_347_2455 366 -label L2460 -load 367 __and_347_2455 -store __and_346_2455 367 -brif 367 L2461 L2462 -label L2461 +store __and_347_2526 366 +label L2531 +load 367 __and_347_2526 +store __and_346_2526 367 +brif 367 L2532 L2533 +label L2532 load 368 right_tid load 369 types_TID_NONE neq 370 368 369 -store __and_346_2455 370 -label L2462 -load 371 __and_346_2455 -store __and_345_2455 371 -brif 371 L2463 L2464 -label L2463 +store __and_346_2526 370 +label L2533 +load 371 __and_346_2526 +store __and_345_2526 371 +brif 371 L2534 L2535 +label L2534 load 372 right_info field 373 372 0 string kind strref 374 m51s21 @@ -165513,21 +165962,21 @@ call 376 pith_cstring_eq bool 2 373 374 iconst 377 1 sub 375 377 376 call 378 pith_cstring_release void 1 374 -store __and_345_2455 375 -label L2464 -load 379 __and_345_2455 -store __and_344_2455 379 -brif 379 L2465 L2466 -label L2465 +store __and_345_2526 375 +label L2535 +load 379 __and_345_2526 +store __and_344_2526 379 +brif 379 L2536 L2537 +label L2536 load 380 right_node call 381 ir_emitter_core_ir_generic_param_optional_tid int 1 380 iconst 382 0 lt 383 381 382 -store __and_344_2455 383 -label L2466 -load 384 __and_344_2455 -brif 384 L2453 L2454 -label L2453 +store __and_344_2526 383 +label L2537 +load 384 __and_344_2526 +brif 384 L2524 L2525 +label L2524 load 385 r load 386 op load 387 left_r @@ -165562,65 +166011,65 @@ call 415 pith_struct_release void 1 414 load 416 rg call 417 pith_struct_release void 1 416 ret 403 -label L2454 -label L2452 +label L2525 +label L2523 iconst 418 0 -store __and_418_2470 418 +store __and_418_2541 418 iconst 419 0 -store __and_419_2470 419 +store __and_419_2541 419 iconst 420 0 -store __and_420_2470 420 +store __and_420_2541 420 iconst 421 0 -store __and_421_2470 421 +store __and_421_2541 421 iconst 422 0 -store __and_422_2470 422 +store __and_422_2541 422 iconst 423 0 -store __and_423_2470 423 +store __and_423_2541 423 load 424 right_info field 425 424 0 string kind strref 426 m51s21 call 427 pith_cstring_eq bool 2 425 426 call 428 pith_cstring_release void 1 426 -store __and_423_2470 427 -brif 427 L2470 L2471 -label L2470 +store __and_423_2541 427 +brif 427 L2541 L2542 +label L2541 load 429 right_info field 430 429 64 int inner iconst 431 0 gte 432 430 431 -store __and_423_2470 432 -label L2471 -load 433 __and_423_2470 -store __and_422_2470 433 -brif 433 L2472 L2473 -label L2472 +store __and_423_2541 432 +label L2542 +load 433 __and_423_2541 +store __and_422_2541 433 +brif 433 L2543 L2544 +label L2543 load 434 left_tid iconst 435 0 gte 436 434 435 -store __and_422_2470 436 -label L2473 -load 437 __and_422_2470 -store __and_421_2470 437 -brif 437 L2474 L2475 -label L2474 +store __and_422_2541 436 +label L2544 +load 437 __and_422_2541 +store __and_421_2541 437 +brif 437 L2545 L2546 +label L2545 load 438 left_tid load 439 types_TID_ERR neq 440 438 439 -store __and_421_2470 440 -label L2475 -load 441 __and_421_2470 -store __and_420_2470 441 -brif 441 L2476 L2477 -label L2476 +store __and_421_2541 440 +label L2546 +load 441 __and_421_2541 +store __and_420_2541 441 +brif 441 L2547 L2548 +label L2547 load 442 left_tid load 443 types_TID_NONE neq 444 442 443 -store __and_420_2470 444 -label L2477 -load 445 __and_420_2470 -store __and_419_2470 445 -brif 445 L2478 L2479 -label L2478 +store __and_420_2541 444 +label L2548 +load 445 __and_420_2541 +store __and_419_2541 445 +brif 445 L2549 L2550 +label L2549 load 446 left_info field 447 446 0 string kind strref 448 m51s21 @@ -165628,21 +166077,21 @@ call 450 pith_cstring_eq bool 2 447 448 iconst 451 1 sub 449 451 450 call 452 pith_cstring_release void 1 448 -store __and_419_2470 449 -label L2479 -load 453 __and_419_2470 -store __and_418_2470 453 -brif 453 L2480 L2481 -label L2480 +store __and_419_2541 449 +label L2550 +load 453 __and_419_2541 +store __and_418_2541 453 +brif 453 L2551 L2552 +label L2551 load 454 left_node call 455 ir_emitter_core_ir_generic_param_optional_tid int 1 454 iconst 456 0 lt 457 455 456 -store __and_418_2470 457 -label L2481 -load 458 __and_418_2470 -brif 458 L2468 L2469 -label L2468 +store __and_418_2541 457 +label L2552 +load 458 __and_418_2541 +brif 458 L2539 L2540 +label L2539 load 459 r load 460 op load 461 right_r @@ -165677,11 +166126,11 @@ call 489 pith_struct_release void 1 488 load 490 rg call 491 pith_struct_release void 1 490 ret 477 +label L2540 +label L2538 +jmp L2467 label L2469 label L2467 -jmp L2396 -label L2398 -label L2396 iconst 492 0 iconst 493 1 sub 494 492 493 @@ -165753,69 +166202,69 @@ call 25 ir_emitter_core_ir_infer_type string 1 24 call 26 pith_cstring_release void 1 20 store right_type 25 iconst 27 0 -store __or_27_2482 27 +store __or_27_2553 27 load 28 left_type strref 29 m51s716 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_27_2482 30 -brif 30 L2483 L2482 -label L2482 +store __or_27_2553 30 +brif 30 L2554 L2553 +label L2553 load 32 right_type strref 33 m51s716 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_27_2482 34 -label L2483 -load 36 __or_27_2482 +store __or_27_2553 34 +label L2554 +load 36 __or_27_2553 store is_str_op 36 iconst 37 0 -store __and_37_2484 37 +store __and_37_2555 37 load 38 left_type strref 39 m51s715 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_37_2484 40 -brif 40 L2484 L2485 -label L2484 +store __and_37_2555 40 +brif 40 L2555 L2556 +label L2555 load 42 right_type strref 43 m51s715 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __and_37_2484 44 -label L2485 -load 46 __and_37_2484 +store __and_37_2555 44 +label L2556 +load 46 __and_37_2555 store is_bytes_op 46 iconst 47 0 -store __or_47_2486 47 +store __or_47_2557 47 load 48 left_type strref 49 m51s713 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -store __or_47_2486 50 -brif 50 L2487 L2486 -label L2486 +store __or_47_2557 50 +brif 50 L2558 L2557 +label L2557 load 52 right_type strref 53 m51s713 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_47_2486 54 -label L2487 -load 56 __or_47_2486 +store __or_47_2557 54 +label L2558 +load 56 __or_47_2557 store is_float_op 56 iconst 57 0 -store __and_57_2491 57 +store __and_57_2562 57 load 58 is_float_op -store __and_57_2491 58 -brif 58 L2491 L2492 -label L2491 +store __and_57_2562 58 +brif 58 L2562 L2563 +label L2562 load 59 op call 60 ir_operator_helpers_ir_is_float_arithmetic bool 1 59 -store __and_57_2491 60 -label L2492 -load 61 __and_57_2491 -brif 61 L2489 L2490 -label L2489 +store __and_57_2562 60 +label L2563 +load 61 __and_57_2562 +brif 61 L2560 L2561 +label L2560 load 62 r load 63 op load 64 left_r @@ -165831,23 +166280,23 @@ call 73 pith_cstring_release void 1 72 load 74 simple_op call 75 pith_cstring_release void 1 74 ret 67 -label L2490 -label L2488 +label L2561 +label L2559 iconst 76 0 -store __and_76_2496 76 +store __and_76_2567 76 load 77 op strref 78 m51s242 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __and_76_2496 79 -brif 79 L2496 L2497 -label L2496 +store __and_76_2567 79 +brif 79 L2567 L2568 +label L2567 load 81 is_str_op -store __and_76_2496 81 -label L2497 -load 82 __and_76_2496 -brif 82 L2494 L2495 -label L2494 +store __and_76_2567 81 +label L2568 +load 82 __and_76_2567 +brif 82 L2565 L2566 +label L2565 strref 83 m51s1269 load 84 r call 85 int_to_string string 1 84 @@ -165888,17 +166337,17 @@ call 119 pith_list_get_value_strict int 2 117 118 load 120 right_r load 121 right_type call 122 ir_emitter_core_ir_release_owned_string_operand void 3 119 120 121 -jmp L2493 -label L2495 +jmp L2564 +label L2566 load 123 op strref 124 m51s479 call 125 pith_cstring_eq bool 2 123 124 call 126 pith_cstring_release void 1 124 -brif 125 L2498 L2499 -label L2498 +brif 125 L2569 L2570 +label L2569 load 127 is_str_op -brif 127 L2501 L2502 -label L2501 +brif 127 L2572 L2573 +label L2572 load 128 r strref 129 m51s767 strref 130 m51s714 @@ -165921,11 +166370,11 @@ call 146 pith_list_get_value_strict int 2 144 145 load 147 right_r load 148 right_type call 149 ir_emitter_core_ir_release_owned_string_operand void 3 146 147 148 -jmp L2500 -label L2502 +jmp L2571 +label L2573 load 150 is_bytes_op -brif 150 L2503 L2504 -label L2503 +brif 150 L2574 L2575 +label L2574 load 151 r strref 152 m51s1328 strref 153 m51s714 @@ -165934,8 +166383,8 @@ load 155 right_r call 156 ir_call_emit_ir_emit_call2 void 5 151 152 153 154 155 call 157 pith_cstring_release void 1 152 call 158 pith_cstring_release void 1 153 -jmp L2500 -label L2504 +jmp L2571 +label L2575 load 159 node call 160 ir_struct_registry_ir_binary_enum_eq_name string 1 159 strref 161 m51s83 @@ -165944,8 +166393,8 @@ iconst 164 1 sub 162 164 163 call 165 pith_cstring_release void 1 160 call 166 pith_cstring_release void 1 161 -brif 162 L2505 L2506 -label L2505 +brif 162 L2576 L2577 +label L2576 load 167 r strref 168 m51s1215 load 169 node @@ -165959,23 +166408,23 @@ load 176 right_r call 177 ir_call_emit_ir_emit_call2 void 5 167 171 174 175 176 call 178 pith_cstring_release void 1 171 call 179 pith_cstring_release void 1 174 -jmp L2500 -label L2506 +jmp L2571 +label L2577 load 180 r strref 181 m51s479 load 182 left_r load 183 right_r call 184 ir_operator_helpers_ir_emit_simple_binary void 4 180 181 182 183 call 185 pith_cstring_release void 1 181 -label L2500 -jmp L2493 -label L2499 +label L2571 +jmp L2564 +label L2570 load 186 op strref 187 m51s477 call 188 pith_cstring_eq bool 2 186 187 call 189 pith_cstring_release void 1 187 -brif 188 L2507 L2508 -label L2507 +brif 188 L2578 L2579 +label L2578 load 190 node call 191 ir_struct_registry_ir_binary_enum_eq_name string 1 190 strref 192 m51s83 @@ -165984,8 +166433,8 @@ iconst 195 1 sub 193 195 194 call 196 pith_cstring_release void 1 191 call 197 pith_cstring_release void 1 192 -brif 193 L2510 L2511 -label L2510 +brif 193 L2581 L2582 +label L2581 call 198 ir_builder_ir_reg int 0 store eq_r 198 load 199 eq_r @@ -166041,8 +166490,8 @@ call 247 pith_cstring_release void 1 241 call 248 pith_cstring_release void 1 245 call 249 ir_builder_ir_emit void 1 246 call 250 pith_cstring_release void 1 246 -jmp L2509 -label L2511 +jmp L2580 +label L2582 load 251 r load 252 left_r load 253 right_r @@ -166050,8 +166499,8 @@ load 254 is_str_op load 255 is_bytes_op call 256 ir_emitter_core_ir_emit_binary_neq void 5 251 252 253 254 255 load 257 is_str_op -brif 257 L2513 L2514 -label L2513 +brif 257 L2584 L2585 +label L2584 load 258 node field 259 258 16 list children iconst 260 0 @@ -166066,12 +166515,12 @@ call 268 pith_list_get_value_strict int 2 266 267 load 269 right_r load 270 right_type call 271 ir_emitter_core_ir_release_owned_string_operand void 3 268 269 270 -jmp L2512 -label L2514 -label L2512 -label L2509 -jmp L2493 -label L2508 +jmp L2583 +label L2585 +label L2583 +label L2580 +jmp L2564 +label L2579 load 272 simple_op load 273 op call 274 ir_operator_helpers_ir_binary_simple_ir_op string 1 273 @@ -166081,27 +166530,27 @@ load 276 simple_op call 277 string_len int 1 276 iconst 278 0 gt 279 277 278 -brif 279 L2516 L2517 -label L2516 +brif 279 L2587 L2588 +label L2587 iconst 280 0 -store __and_280_2521 280 +store __and_280_2592 280 load 281 is_str_op -store __and_280_2521 281 -brif 281 L2521 L2522 -label L2521 +store __and_280_2592 281 +brif 281 L2592 L2593 +label L2592 load 282 simple_op call 283 ir_emitter_core_ir_binary_op_is_comparison bool 1 282 -store __and_280_2521 283 -label L2522 -load 284 __and_280_2521 -brif 284 L2519 L2520 -label L2519 +store __and_280_2592 283 +label L2593 +load 284 __and_280_2592 +brif 284 L2590 L2591 +label L2590 load 285 simple_op strref 286 m51s475 call 287 pith_cstring_eq bool 2 285 286 call 288 pith_cstring_release void 1 286 -brif 287 L2524 L2525 -label L2524 +brif 287 L2595 L2596 +label L2595 load 289 r strref 290 m51s1331 strref 291 m51s714 @@ -166110,14 +166559,14 @@ load 293 right_r call 294 ir_call_emit_ir_emit_call2 void 5 289 290 291 292 293 call 295 pith_cstring_release void 1 290 call 296 pith_cstring_release void 1 291 -jmp L2523 -label L2525 +jmp L2594 +label L2596 load 297 simple_op strref 298 m51s469 call 299 pith_cstring_eq bool 2 297 298 call 300 pith_cstring_release void 1 298 -brif 299 L2526 L2527 -label L2526 +brif 299 L2597 L2598 +label L2597 load 301 r strref 302 m51s1330 strref 303 m51s714 @@ -166126,14 +166575,14 @@ load 305 right_r call 306 ir_call_emit_ir_emit_call2 void 5 301 302 303 304 305 call 307 pith_cstring_release void 1 302 call 308 pith_cstring_release void 1 303 -jmp L2523 -label L2527 +jmp L2594 +label L2598 load 309 simple_op strref 310 m51s472 call 311 pith_cstring_eq bool 2 309 310 call 312 pith_cstring_release void 1 310 -brif 311 L2528 L2529 -label L2528 +brif 311 L2599 L2600 +label L2599 load 313 r strref 314 m51s1331 strref 315 m51s714 @@ -166142,8 +166591,8 @@ load 317 left_r call 318 ir_call_emit_ir_emit_call2 void 5 313 314 315 316 317 call 319 pith_cstring_release void 1 314 call 320 pith_cstring_release void 1 315 -jmp L2523 -label L2529 +jmp L2594 +label L2600 load 321 r strref 322 m51s1330 strref 323 m51s714 @@ -166152,7 +166601,7 @@ load 325 left_r call 326 ir_call_emit_ir_emit_call2 void 5 321 322 323 324 325 call 327 pith_cstring_release void 1 322 call 328 pith_cstring_release void 1 323 -label L2523 +label L2594 load 329 node field 330 329 16 list children iconst 331 0 @@ -166167,16 +166616,16 @@ call 339 pith_list_get_value_strict int 2 337 338 load 340 right_r load 341 right_type call 342 ir_emitter_core_ir_release_owned_string_operand void 3 339 340 341 -jmp L2518 -label L2520 +jmp L2589 +label L2591 load 343 r load 344 simple_op load 345 left_r load 346 right_r call 347 ir_operator_helpers_ir_emit_simple_binary void 4 343 344 345 346 -label L2518 -jmp L2515 -label L2517 +label L2589 +jmp L2586 +label L2588 strref 348 m51s1329 load 349 r call 350 int_to_string string 1 349 @@ -166210,8 +166659,8 @@ call 377 pith_cstring_release void 1 371 call 378 pith_cstring_release void 1 375 call 379 ir_builder_ir_emit void 1 376 call 380 pith_cstring_release void 1 376 -label L2515 -label L2493 +label L2586 +label L2564 load 381 r load 382 op call 383 pith_cstring_release void 1 382 @@ -166276,7 +166725,7 @@ call 10 pith_cstring_release void 1 5 call 11 pith_cstring_release void 1 8 call 12 ir_builder_ir_emit void 1 9 call 13 pith_cstring_release void 1 9 -strref 14 m51s897 +strref 14 m51s925 load 15 one_r call 16 int_to_string string 1 15 concat 17 14 16 @@ -166297,14 +166746,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 load 6 child_idx lte 7 5 6 -brif 7 L2531 L2532 -label L2531 +brif 7 L2602 L2603 +label L2602 strref 8 m51s83 load 9 child_node call 10 pith_struct_release void 1 9 ret 8 -label L2532 -label L2530 +label L2603 +label L2601 load 11 node field 12 11 16 list children load 13 child_idx @@ -166316,33 +166765,33 @@ call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 15 store child_node 17 iconst 19 0 -store __and_19_2536 19 +store __and_19_2607 19 load 20 child_node field 21 20 0 string kind strref 22 m51s42 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __and_19_2536 23 -brif 23 L2536 L2537 -label L2536 +store __and_19_2607 23 +brif 23 L2607 L2608 +label L2607 load 25 child_node field 26 25 16 list children call 27 pith_list_len int 1 26 iconst 28 0 gt 29 27 28 -store __and_19_2536 29 -label L2537 -load 30 __and_19_2536 -brif 30 L2534 L2535 -label L2534 +store __and_19_2607 29 +label L2608 +load 30 __and_19_2607 +brif 30 L2605 L2606 +label L2605 load 31 child_node field 32 31 16 list children iconst 33 0 call 34 pith_list_get_value_strict int 2 32 33 store expr_idx 34 -jmp L2533 -label L2535 -label L2533 +jmp L2604 +label L2606 +label L2604 load 35 expr_idx call 36 ir_emitter_core_ir_infer_type string 1 35 load 37 child_node @@ -166438,137 +166887,137 @@ func ir_emitter_core_ir_assert_eq_kind 2 string param left param right iconst 2 0 -store __or_2_2541 2 +store __or_2_2612 2 load 3 left strref 4 m51s716 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_2541 5 -brif 5 L2542 L2541 -label L2541 +store __or_2_2612 5 +brif 5 L2613 L2612 +label L2612 load 7 right strref 8 m51s716 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_2541 9 -label L2542 -load 11 __or_2_2541 -brif 11 L2539 L2540 -label L2539 +store __or_2_2612 9 +label L2613 +load 11 __or_2_2612 +brif 11 L2610 L2611 +label L2610 strref 12 m51s716 ret 12 -label L2540 -label L2538 +label L2611 +label L2609 iconst 13 0 -store __or_13_2546 13 +store __or_13_2617 13 load 14 left strref 15 m51s715 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_13_2546 16 -brif 16 L2547 L2546 -label L2546 +store __or_13_2617 16 +brif 16 L2618 L2617 +label L2617 load 18 right strref 19 m51s715 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_13_2546 20 -label L2547 -load 22 __or_13_2546 -brif 22 L2544 L2545 -label L2544 +store __or_13_2617 20 +label L2618 +load 22 __or_13_2617 +brif 22 L2615 L2616 +label L2615 strref 23 m51s715 ret 23 -label L2545 -label L2543 +label L2616 +label L2614 iconst 24 0 -store __or_24_2551 24 +store __or_24_2622 24 load 25 left strref 26 m51s709 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_24_2551 27 -brif 27 L2552 L2551 -label L2551 +store __or_24_2622 27 +brif 27 L2623 L2622 +label L2622 load 29 right strref 30 m51s709 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_24_2551 31 -label L2552 -load 33 __or_24_2551 -brif 33 L2549 L2550 -label L2549 +store __or_24_2622 31 +label L2623 +load 33 __or_24_2622 +brif 33 L2620 L2621 +label L2620 strref 34 m51s709 ret 34 -label L2550 -label L2548 +label L2621 +label L2619 iconst 35 0 -store __or_35_2556 35 +store __or_35_2627 35 load 36 left strref 37 m51s20 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __or_35_2556 38 -brif 38 L2557 L2556 -label L2556 +store __or_35_2627 38 +brif 38 L2628 L2627 +label L2627 load 40 right strref 41 m51s20 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_35_2556 42 -label L2557 -load 44 __or_35_2556 -brif 44 L2554 L2555 -label L2554 +store __or_35_2627 42 +label L2628 +load 44 __or_35_2627 +brif 44 L2625 L2626 +label L2625 strref 45 m51s20 ret 45 -label L2555 -label L2553 +label L2626 +label L2624 iconst 46 0 -store __or_46_2561 46 +store __or_46_2632 46 load 47 left strref 48 m51s713 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_46_2561 49 -brif 49 L2562 L2561 -label L2561 +store __or_46_2632 49 +brif 49 L2633 L2632 +label L2632 load 51 right strref 52 m51s713 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __or_46_2561 53 -label L2562 -load 55 __or_46_2561 -brif 55 L2559 L2560 -label L2559 +store __or_46_2632 53 +label L2633 +load 55 __or_46_2632 +brif 55 L2630 L2631 +label L2630 strref 56 m51s713 ret 56 -label L2560 -label L2558 +label L2631 +label L2629 iconst 57 0 -store __or_57_2566 57 +store __or_57_2637 57 load 58 left strref 59 m51s714 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -store __or_57_2566 60 -brif 60 L2567 L2566 -label L2566 +store __or_57_2637 60 +brif 60 L2638 L2637 +label L2637 load 62 right strref 63 m51s714 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_57_2566 64 -label L2567 -load 66 __or_57_2566 -brif 66 L2564 L2565 -label L2564 +store __or_57_2637 64 +label L2638 +load 66 __or_57_2637 +brif 66 L2635 L2636 +label L2635 strref 67 m51s714 ret 67 -label L2565 -label L2563 +label L2636 +label L2634 strref 68 m51s712 ret 68 iconst 69 0 @@ -166580,62 +167029,62 @@ load 1 kind strref 2 m51s713 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2569 L2570 -label L2569 +brif 3 L2640 L2641 +label L2640 iconst 5 1 ret 5 -label L2570 -label L2568 +label L2641 +label L2639 load 6 kind strref 7 m51s716 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2572 L2573 -label L2572 +brif 8 L2643 L2644 +label L2643 iconst 10 2 ret 10 -label L2573 -label L2571 +label L2644 +label L2642 load 11 kind strref 12 m51s715 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2575 L2576 -label L2575 +brif 13 L2646 L2647 +label L2646 iconst 15 3 ret 15 -label L2576 -label L2574 +label L2647 +label L2645 load 16 kind strref 17 m51s714 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2578 L2579 -label L2578 +brif 18 L2649 L2650 +label L2649 iconst 20 4 ret 20 -label L2579 -label L2577 +label L2650 +label L2648 load 21 kind strref 22 m51s20 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2581 L2582 -label L2581 +brif 23 L2652 L2653 +label L2652 iconst 25 5 ret 25 -label L2582 -label L2580 +label L2653 +label L2651 load 26 kind strref 27 m51s709 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2584 L2585 -label L2584 +brif 28 L2655 L2656 +label L2655 iconst 30 6 ret 30 -label L2585 -label L2583 +label L2656 +label L2654 iconst 31 0 ret 31 iconst 32 0 @@ -166671,8 +167120,8 @@ load 19 kind strref 20 m51s716 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L2587 L2588 -label L2587 +brif 21 L2658 L2659 +label L2658 load 23 cmp_r strref 24 m51s767 strref 25 m51s714 @@ -166685,14 +167134,14 @@ call 31 pith_list_get_value_strict int 2 29 30 call 32 ir_call_emit_ir_emit_call2 void 5 23 24 25 28 31 call 33 pith_cstring_release void 1 24 call 34 pith_cstring_release void 1 25 -jmp L2586 -label L2588 +jmp L2657 +label L2659 load 35 kind strref 36 m51s715 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -brif 37 L2589 L2590 -label L2589 +brif 37 L2660 L2661 +label L2660 load 39 cmp_r strref 40 m51s1328 strref 41 m51s714 @@ -166705,14 +167154,14 @@ call 47 pith_list_get_value_strict int 2 45 46 call 48 ir_call_emit_ir_emit_call2 void 5 39 40 41 44 47 call 49 pith_cstring_release void 1 40 call 50 pith_cstring_release void 1 41 -jmp L2586 -label L2590 +jmp L2657 +label L2661 load 51 kind strref 52 m51s709 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -brif 53 L2591 L2592 -label L2591 +brif 53 L2662 L2663 +label L2662 load 55 cmp_r strref 56 m51s1327 strref 57 m51s714 @@ -166725,14 +167174,14 @@ call 63 pith_list_get_value_strict int 2 61 62 call 64 ir_call_emit_ir_emit_call2 void 5 55 56 57 60 63 call 65 pith_cstring_release void 1 56 call 66 pith_cstring_release void 1 57 -jmp L2586 -label L2592 +jmp L2657 +label L2663 load 67 kind strref 68 m51s20 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L2593 L2594 -label L2593 +brif 69 L2664 L2665 +label L2664 load 71 cmp_r strref 72 m51s1326 strref 73 m51s714 @@ -166745,8 +167194,8 @@ call 79 pith_list_get_value_strict int 2 77 78 call 80 ir_call_emit_ir_emit_call2 void 5 71 72 73 76 79 call 81 pith_cstring_release void 1 72 call 82 pith_cstring_release void 1 73 -jmp L2586 -label L2594 +jmp L2657 +label L2665 load 83 cmp_r strref 84 m51s479 load 85 arg_regs @@ -166757,7 +167206,7 @@ iconst 89 1 call 90 pith_list_get_value_strict int 2 88 89 call 91 ir_operator_helpers_ir_emit_simple_binary void 4 83 84 87 90 call 92 pith_cstring_release void 1 84 -label L2586 +label L2657 load 93 ok_l call 94 ir_builder_ir_label string 0 call 95 pith_cstring_release void 1 93 @@ -166767,8 +167216,8 @@ call 97 ir_builder_ir_label string 0 call 98 pith_cstring_release void 1 96 store fail_l 97 load 99 want_equal -brif 99 L2596 L2597 -label L2596 +brif 99 L2667 L2668 +label L2667 strref 100 m51s882 load 101 cmp_r call 102 int_to_string string 1 101 @@ -166791,8 +167240,8 @@ concat 118 114 117 call 119 pith_cstring_release void 1 114 call 120 ir_builder_ir_emit void 1 118 call 121 pith_cstring_release void 1 118 -jmp L2595 -label L2597 +jmp L2666 +label L2668 strref 122 m51s882 load 123 cmp_r call 124 int_to_string string 1 123 @@ -166815,7 +167264,7 @@ concat 140 136 139 call 141 pith_cstring_release void 1 136 call 142 ir_builder_ir_emit void 1 140 call 143 pith_cstring_release void 1 140 -label L2595 +label L2666 load 144 fail_l call 145 ir_call_emit_ir_emit_label void 1 144 call 146 ir_builder_ir_reg int 0 @@ -166843,15 +167292,15 @@ strref 166 m51s1325 call 167 pith_cstring_release void 1 165 store reporter 166 load 168 want_equal -brif 168 L2599 L2600 -label L2599 +brif 168 L2670 L2671 +label L2670 load 169 reporter strref 170 m51s1324 call 171 pith_cstring_release void 1 169 store reporter 170 -jmp L2598 -label L2600 -label L2598 +jmp L2669 +label L2671 +label L2669 call 172 ir_builder_ir_reg int 0 store fail_r 172 load 173 fail_r @@ -166930,8 +167379,8 @@ load 14 arg_regs call 15 pith_list_len int 1 14 iconst 16 2 lt 17 15 16 -brif 17 L2602 L2603 -label L2602 +brif 17 L2673 L2674 +label L2673 call 18 ir_result_abi_ir_zero_reg int 0 load 19 arg_regs call 20 pith_list_release_handle void 1 19 @@ -166946,8 +167395,8 @@ call 28 pith_list_release_handle void 1 27 load 29 decode_path_name call 30 pith_cstring_release void 1 29 ret 18 -label L2603 -label L2601 +label L2674 +label L2672 load 31 arg_regs iconst 32 0 call 33 pith_list_get_value_strict int 2 31 32 @@ -167000,16 +167449,16 @@ load 72 generic_ret_type call 73 string_len int 1 72 iconst 74 0 eq 75 73 74 -brif 75 L2605 L2606 -label L2605 +brif 75 L2676 L2677 +label L2676 load 76 generic_ret_type load 77 idx call 78 ir_emitter_core_ir_infer_type string 1 77 call 79 pith_cstring_release void 1 76 store generic_ret_type 78 -jmp L2604 -label L2606 -label L2604 +jmp L2675 +label L2677 +label L2675 load 80 concrete_types load 81 callee_node call 82 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 81 @@ -167019,8 +167468,8 @@ load 84 concrete_types call 85 pith_list_len int 1 84 iconst 86 0 eq 87 85 86 -brif 87 L2608 L2609 -label L2608 +brif 87 L2679 L2680 +label L2679 load 88 concrete_types strref 89 m51s1142 load 90 node @@ -167028,9 +167477,9 @@ call 91 ir_emitter_core_ir_infer_generic_concrete_types list_string 2 89 90 call 92 pith_cstring_release void 1 89 call 93 pith_list_release_handle void 1 88 store concrete_types 91 -jmp L2607 -label L2609 -label L2607 +jmp L2678 +label L2680 +label L2678 load 94 decode_path_name strref 95 m51s975 load 96 concrete_types @@ -167119,14 +167568,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 3 neq 6 4 5 -brif 6 L2611 L2612 -label L2611 +brif 6 L2682 L2683 +label L2682 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2612 -label L2610 +label L2683 +label L2681 load 10 idx load 11 node field 12 11 16 list children @@ -167150,15 +167599,15 @@ load 2 fn_idx call 3 ir_emitter_core_ir_string_expr_is_borrowed bool 1 2 iconst 5 1 sub 4 5 3 -brif 4 L2614 L2615 -label L2614 +brif 4 L2685 L2686 +label L2685 load 6 fn_r strref 7 m51s872 call 8 ir_ownership_ir_rc_release_reg void 2 6 7 call 9 pith_cstring_release void 1 7 -jmp L2613 -label L2615 -label L2613 +jmp L2684 +label L2686 +label L2684 iconst 10 0 ret 10 endfunc @@ -167214,15 +167663,15 @@ load 37 result_kind call 38 string_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L2617 L2618 -label L2617 +brif 40 L2688 L2689 +label L2688 load 41 result_kind strref 42 m51s20 call 43 pith_cstring_release void 1 41 store result_kind 42 -jmp L2616 -label L2618 -label L2616 +jmp L2687 +label L2689 +label L2687 load 44 elem_kind load 45 list_idx call 46 ir_type_helpers_ir_list_element_kind string 1 45 @@ -167244,16 +167693,16 @@ load 58 result_elem_kind call 59 string_len int 1 58 iconst 60 0 eq 61 59 60 -brif 61 L2620 L2621 -label L2620 +brif 61 L2691 L2692 +label L2691 load 62 result_elem_kind load 63 mapped_kind call 64 ir_struct_registry_ir_rc_kind string 1 63 call 65 pith_cstring_release void 1 62 store result_elem_kind 64 -jmp L2619 -label L2621 -label L2619 +jmp L2690 +label L2692 +label L2690 load 66 ctor load 67 result_elem_kind call 68 ir_emitter_core_ir_list_ctor_for_elem_kind string 1 67 @@ -167317,14 +167766,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 3 neq 6 4 5 -brif 6 L2623 L2624 -label L2623 +brif 6 L2694 L2695 +label L2694 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2624 -label L2622 +label L2695 +label L2693 load 10 idx load 11 node field 12 11 16 list children @@ -167389,29 +167838,29 @@ load 35 result_kind call 36 string_len int 1 35 iconst 37 0 eq 38 36 37 -brif 38 L2626 L2627 -label L2626 +brif 38 L2697 L2698 +label L2697 load 39 result_kind load 40 list_idx call 41 ir_emitter_core_ir_infer_type string 1 40 call 42 pith_cstring_release void 1 39 store result_kind 41 -jmp L2625 -label L2627 -label L2625 +jmp L2696 +label L2698 +label L2696 load 43 result_kind call 44 string_len int 1 43 iconst 45 0 eq 46 44 45 -brif 46 L2629 L2630 -label L2629 +brif 46 L2700 L2701 +label L2700 load 47 result_kind strref 48 m51s20 call 49 pith_cstring_release void 1 47 store result_kind 48 -jmp L2628 -label L2630 -label L2628 +jmp L2699 +label L2701 +label L2699 load 50 elem_kind load 51 list_idx call 52 ir_type_helpers_ir_list_element_kind string 1 51 @@ -167471,14 +167920,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 4 neq 6 4 5 -brif 6 L2632 L2633 -label L2632 +brif 6 L2703 L2704 +label L2703 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2633 -label L2631 +label L2704 +label L2702 load 10 idx load 11 node field 12 11 16 list children @@ -167578,29 +168027,29 @@ load 62 result_kind call 63 string_len int 1 62 iconst 64 0 eq 65 63 64 -brif 65 L2635 L2636 -label L2635 +brif 65 L2706 L2707 +label L2706 load 66 result_kind load 67 init_idx call 68 ir_emitter_core_ir_infer_type string 1 67 call 69 pith_cstring_release void 1 66 store result_kind 68 -jmp L2634 -label L2636 -label L2634 +jmp L2705 +label L2707 +label L2705 load 70 result_kind call 71 string_len int 1 70 iconst 72 0 eq 73 71 72 -brif 73 L2638 L2639 -label L2638 +brif 73 L2709 L2710 +label L2709 load 74 result_kind strref 75 m51s869 call 76 pith_cstring_release void 1 74 store result_kind 75 -jmp L2637 -label L2639 -label L2637 +jmp L2708 +label L2710 +label L2708 load 77 list_r load 78 reducer_name load 79 acc_name @@ -167648,38 +168097,38 @@ load 3 callee_name strref 4 m51s19 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L2641 L2642 -label L2641 +brif 5 L2712 L2713 +label L2712 load 7 idx load 8 node call 9 ir_emitter_core_ir_emit_list_map_call int 2 7 8 ret 9 -label L2642 -label L2640 +label L2713 +label L2711 load 10 callee_name strref 11 m51s267 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L2644 L2645 -label L2644 +brif 12 L2715 L2716 +label L2715 load 14 idx load 15 node call 16 ir_emitter_core_ir_emit_list_filter_call int 2 14 15 ret 16 -label L2645 -label L2643 +label L2716 +label L2714 load 17 callee_name strref 18 m51s266 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2647 L2648 -label L2647 +brif 19 L2718 L2719 +label L2718 load 21 idx load 22 node call 23 ir_emitter_core_ir_emit_list_reduce_call int 2 21 22 ret 23 -label L2648 -label L2646 +label L2719 +label L2717 iconst 24 1 iconst 26 0 sub 25 26 24 @@ -167711,14 +168160,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L2650 L2651 -label L2650 +brif 7 L2721 L2722 +label L2721 call 8 ir_list_helpers_ir_emit_list_missing_index_result int 0 load 9 elem_kind call 10 pith_cstring_release void 1 9 ret 8 -label L2651 -label L2649 +label L2722 +label L2720 load 11 node field 12 11 16 list children iconst 13 0 @@ -167743,15 +168192,15 @@ load 26 obj_type strref 27 m51s709 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2653 L2654 -label L2653 +brif 28 L2724 L2725 +label L2724 load 30 elem_kind strref 31 m51s716 call 32 pith_cstring_release void 1 30 store elem_kind 31 -jmp L2652 -label L2654 -label L2652 +jmp L2723 +label L2725 +label L2723 load 33 list_r load 34 target_r load 35 elem_kind @@ -168014,31 +168463,31 @@ load 4 obj_type call 5 ir_list_helpers_ir_is_list_runtime_type bool 1 4 iconst 7 1 sub 6 7 5 -brif 6 L2656 L2657 -label L2656 +brif 6 L2727 L2728 +label L2727 iconst 8 1 iconst 10 0 sub 9 10 8 ret 9 -label L2657 -label L2655 +label L2728 +label L2726 load 11 mname strref 12 m51s252 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2659 L2660 -label L2659 +brif 13 L2730 L2731 +label L2730 load 15 node call 16 ir_emitter_core_ir_emit_list_is_empty_method int 1 15 ret 16 -label L2660 -label L2658 +label L2731 +label L2729 load 17 mname strref 18 m51s270 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2662 L2663 -label L2662 +brif 19 L2733 L2734 +label L2733 load 21 node load 22 obj_type call 23 ir_emitter_core_ir_emit_list_index_search int 2 21 22 @@ -168046,26 +168495,26 @@ store raw_idx_r 23 load 24 raw_idx_r call 25 ir_emitter_core_ir_emit_index_search_to_optional int 1 24 ret 25 -label L2663 -label L2661 +label L2734 +label L2732 load 26 mname strref 27 m51s250 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2665 L2666 -label L2665 +brif 28 L2736 L2737 +label L2736 load 30 node load 31 obj_type call 32 ir_emitter_core_ir_emit_list_contains_method int 2 30 31 ret 32 -label L2666 -label L2664 +label L2737 +label L2735 load 33 mname strref 34 m51s19 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L2668 L2669 -label L2668 +brif 35 L2739 L2740 +label L2739 load 37 idx load 38 node field 39 38 16 list children @@ -168076,14 +168525,14 @@ iconst 43 0 call 44 ir_emitter_core_ir_method_call_arg_expr int 2 42 43 call 45 ir_emitter_core_ir_emit_list_map_lowering int 3 37 41 44 ret 45 -label L2669 -label L2667 +label L2740 +label L2738 load 46 mname strref 47 m51s267 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -brif 48 L2671 L2672 -label L2671 +brif 48 L2742 L2743 +label L2742 load 50 idx load 51 node field 52 51 16 list children @@ -168094,14 +168543,14 @@ iconst 56 0 call 57 ir_emitter_core_ir_method_call_arg_expr int 2 55 56 call 58 ir_emitter_core_ir_emit_list_filter_lowering int 3 50 54 57 ret 58 -label L2672 -label L2670 +label L2743 +label L2741 load 59 mname strref 60 m51s266 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -brif 61 L2674 L2675 -label L2674 +brif 61 L2745 L2746 +label L2745 load 63 idx load 64 node field 65 64 16 list children @@ -168115,8 +168564,8 @@ iconst 72 1 call 73 ir_emitter_core_ir_method_call_arg_expr int 2 71 72 call 74 ir_emitter_core_ir_emit_list_reduce_lowering int 4 63 67 70 73 ret 74 -label L2675 -label L2673 +label L2746 +label L2744 iconst 75 1 iconst 77 0 sub 76 77 75 @@ -168129,25 +168578,25 @@ param idx param node param callee_idx iconst 3 0 -store __or_3_2679 3 +store __or_3_2750 3 load 4 callee_idx strref 5 m51s398 call 6 ir_alias_registry_ir_is_json_decode_callee bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_3_2679 6 -brif 6 L2680 L2679 -label L2679 +store __or_3_2750 6 +brif 6 L2751 L2750 +label L2750 load 8 callee_idx strref 9 m51s398 strref 10 m51s1138 call 11 ir_emitter_core_ir_is_local_generic_callee bool 3 8 9 10 call 12 pith_cstring_release void 1 9 call 13 pith_cstring_release void 1 10 -store __or_3_2679 11 -label L2680 -load 14 __or_3_2679 -brif 14 L2677 L2678 -label L2677 +store __or_3_2750 11 +label L2751 +load 14 __or_3_2750 +brif 14 L2748 L2749 +label L2748 load 15 idx load 16 node iconst 17 0 @@ -168157,28 +168606,28 @@ call 20 ir_decode_emit_ir_emit_json_decode_call int 5 15 16 17 18 19 call 21 pith_closure_release void 1 18 call 22 pith_closure_release void 1 19 ret 20 -label L2678 -label L2676 +label L2749 +label L2747 iconst 23 0 -store __or_23_2684 23 +store __or_23_2755 23 load 24 callee_idx strref 25 m51s397 call 26 ir_alias_registry_ir_is_json_decode_callee bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_23_2684 26 -brif 26 L2685 L2684 -label L2684 +store __or_23_2755 26 +brif 26 L2756 L2755 +label L2755 load 28 callee_idx strref 29 m51s397 strref 30 m51s1138 call 31 ir_emitter_core_ir_is_local_generic_callee bool 3 28 29 30 call 32 pith_cstring_release void 1 29 call 33 pith_cstring_release void 1 30 -store __or_23_2684 31 -label L2685 -load 34 __or_23_2684 -brif 34 L2682 L2683 -label L2682 +store __or_23_2755 31 +label L2756 +load 34 __or_23_2755 +brif 34 L2753 L2754 +label L2753 load 35 idx load 36 node iconst 37 1 @@ -168188,28 +168637,28 @@ call 40 ir_decode_emit_ir_emit_json_decode_call int 5 35 36 37 38 39 call 41 pith_closure_release void 1 38 call 42 pith_closure_release void 1 39 ret 40 -label L2683 -label L2681 +label L2754 +label L2752 iconst 43 0 -store __or_43_2689 43 +store __or_43_2760 43 load 44 callee_idx strref 45 m51s939 call 46 ir_alias_registry_ir_is_json_decode_callee bool 2 44 45 call 47 pith_cstring_release void 1 45 -store __or_43_2689 46 -brif 46 L2690 L2689 -label L2689 +store __or_43_2760 46 +brif 46 L2761 L2760 +label L2760 load 48 callee_idx strref 49 m51s939 strref 50 m51s982 call 51 ir_emitter_core_ir_is_local_generic_callee bool 3 48 49 50 call 52 pith_cstring_release void 1 49 call 53 pith_cstring_release void 1 50 -store __or_43_2689 51 -label L2690 -load 54 __or_43_2689 -brif 54 L2687 L2688 -label L2687 +store __or_43_2760 51 +label L2761 +load 54 __or_43_2760 +brif 54 L2758 L2759 +label L2758 load 55 idx load 56 node closure_ref 57 ir_emitter_core___fnval_0 @@ -168218,28 +168667,28 @@ call 59 ir_decode_emit_ir_emit_json_decode_object_call int 4 55 56 57 58 call 60 pith_closure_release void 1 57 call 61 pith_closure_release void 1 58 ret 59 -label L2688 -label L2686 +label L2759 +label L2757 iconst 62 0 -store __or_62_2694 62 +store __or_62_2765 62 load 63 callee_idx strref 64 m51s975 call 65 ir_alias_registry_ir_is_json_decode_callee bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __or_62_2694 65 -brif 65 L2695 L2694 -label L2694 +store __or_62_2765 65 +brif 65 L2766 L2765 +label L2765 load 67 callee_idx strref 68 m51s975 strref 69 m51s982 call 70 ir_emitter_core_ir_is_local_generic_callee bool 3 67 68 69 call 71 pith_cstring_release void 1 68 call 72 pith_cstring_release void 1 69 -store __or_62_2694 70 -label L2695 -load 73 __or_62_2694 -brif 73 L2692 L2693 -label L2692 +store __or_62_2765 70 +label L2766 +load 73 __or_62_2765 +brif 73 L2763 L2764 +label L2763 load 74 idx load 75 node iconst 76 0 @@ -168249,28 +168698,28 @@ call 79 ir_decode_emit_ir_emit_json_decode_path_call int 5 74 75 76 77 78 call 80 pith_closure_release void 1 77 call 81 pith_closure_release void 1 78 ret 79 -label L2693 -label L2691 +label L2764 +label L2762 iconst 82 0 -store __or_82_2699 82 +store __or_82_2770 82 load 83 callee_idx strref 84 m51s1142 call 85 ir_alias_registry_ir_is_json_decode_callee bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __or_82_2699 85 -brif 85 L2700 L2699 -label L2699 +store __or_82_2770 85 +brif 85 L2771 L2770 +label L2770 load 87 callee_idx strref 88 m51s1142 strref 89 m51s1138 call 90 ir_emitter_core_ir_is_local_generic_callee bool 3 87 88 89 call 91 pith_cstring_release void 1 88 call 92 pith_cstring_release void 1 89 -store __or_82_2699 90 -label L2700 -load 93 __or_82_2699 -brif 93 L2697 L2698 -label L2697 +store __or_82_2770 90 +label L2771 +load 93 __or_82_2770 +brif 93 L2768 L2769 +label L2768 load 94 idx load 95 node iconst 96 1 @@ -168280,28 +168729,28 @@ call 99 ir_decode_emit_ir_emit_json_decode_path_call int 5 94 95 96 97 98 call 100 pith_closure_release void 1 97 call 101 pith_closure_release void 1 98 ret 99 -label L2698 -label L2696 +label L2769 +label L2767 iconst 102 0 -store __or_102_2704 102 +store __or_102_2775 102 load 103 callee_idx strref 104 m51s1313 call 105 ir_alias_registry_ir_is_json_decode_callee bool 2 103 104 call 106 pith_cstring_release void 1 104 -store __or_102_2704 105 -brif 105 L2705 L2704 -label L2704 +store __or_102_2775 105 +brif 105 L2776 L2775 +label L2775 load 107 callee_idx strref 108 m51s1313 strref 109 m51s1311 call 110 ir_emitter_core_ir_is_local_generic_callee bool 3 107 108 109 call 111 pith_cstring_release void 1 108 call 112 pith_cstring_release void 1 109 -store __or_102_2704 110 -label L2705 -load 113 __or_102_2704 -brif 113 L2702 L2703 -label L2702 +store __or_102_2775 110 +label L2776 +load 113 __or_102_2775 +brif 113 L2773 L2774 +label L2773 load 114 idx load 115 node iconst 116 0 @@ -168311,28 +168760,28 @@ call 119 ir_decode_emit_ir_emit_json_decode_file_call int 5 114 115 116 117 118 call 120 pith_closure_release void 1 117 call 121 pith_closure_release void 1 118 ret 119 -label L2703 -label L2701 +label L2774 +label L2772 iconst 122 0 -store __or_122_2709 122 +store __or_122_2780 122 load 123 callee_idx strref 124 m51s1312 call 125 ir_alias_registry_ir_is_json_decode_callee bool 2 123 124 call 126 pith_cstring_release void 1 124 -store __or_122_2709 125 -brif 125 L2710 L2709 -label L2709 +store __or_122_2780 125 +brif 125 L2781 L2780 +label L2780 load 127 callee_idx strref 128 m51s1312 strref 129 m51s1311 call 130 ir_emitter_core_ir_is_local_generic_callee bool 3 127 128 129 call 131 pith_cstring_release void 1 128 call 132 pith_cstring_release void 1 129 -store __or_122_2709 130 -label L2710 -load 133 __or_122_2709 -brif 133 L2707 L2708 -label L2707 +store __or_122_2780 130 +label L2781 +load 133 __or_122_2780 +brif 133 L2778 L2779 +label L2778 load 134 idx load 135 node iconst 136 1 @@ -168342,8 +168791,8 @@ call 139 ir_decode_emit_ir_emit_json_decode_file_call int 5 134 135 136 137 138 call 140 pith_closure_release void 1 137 call 141 pith_closure_release void 1 138 ret 139 -label L2708 -label L2706 +label L2779 +label L2777 iconst 142 0 iconst 143 1 sub 144 142 143 @@ -168357,25 +168806,25 @@ param node param callee_idx param callee_node iconst 4 0 -store __or_4_2714 4 +store __or_4_2785 4 load 5 callee_idx strref 6 m51s398 call 7 ir_alias_registry_ir_is_handle_decode_callee bool 2 5 6 call 8 pith_cstring_release void 1 6 -store __or_4_2714 7 -brif 7 L2715 L2714 -label L2714 +store __or_4_2785 7 +brif 7 L2786 L2785 +label L2785 load 9 callee_idx strref 10 m51s398 strref 11 m51s982 call 12 ir_emitter_core_ir_is_local_generic_callee bool 3 9 10 11 call 13 pith_cstring_release void 1 10 call 14 pith_cstring_release void 1 11 -store __or_4_2714 12 -label L2715 -load 15 __or_4_2714 -brif 15 L2712 L2713 -label L2712 +store __or_4_2785 12 +label L2786 +load 15 __or_4_2785 +brif 15 L2783 L2784 +label L2783 load 16 idx load 17 node iconst 18 0 @@ -168385,28 +168834,28 @@ call 21 ir_decode_emit_ir_emit_handle_decode_call int 5 16 17 18 19 20 call 22 pith_closure_release void 1 19 call 23 pith_closure_release void 1 20 ret 21 -label L2713 -label L2711 +label L2784 +label L2782 iconst 24 0 -store __or_24_2719 24 +store __or_24_2790 24 load 25 callee_idx strref 26 m51s397 call 27 ir_alias_registry_ir_is_handle_decode_callee bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_24_2719 27 -brif 27 L2720 L2719 -label L2719 +store __or_24_2790 27 +brif 27 L2791 L2790 +label L2790 load 29 callee_idx strref 30 m51s397 strref 31 m51s1138 call 32 ir_emitter_core_ir_is_local_generic_callee bool 3 29 30 31 call 33 pith_cstring_release void 1 30 call 34 pith_cstring_release void 1 31 -store __or_24_2719 32 -label L2720 -load 35 __or_24_2719 -brif 35 L2717 L2718 -label L2717 +store __or_24_2790 32 +label L2791 +load 35 __or_24_2790 +brif 35 L2788 L2789 +label L2788 load 36 idx load 37 node iconst 38 1 @@ -168416,14 +168865,14 @@ call 41 ir_decode_emit_ir_emit_handle_decode_call int 5 36 37 38 39 40 call 42 pith_closure_release void 1 39 call 43 pith_closure_release void 1 40 ret 41 -label L2718 -label L2716 +label L2789 +label L2787 load 44 callee_idx strref 45 m51s975 call 46 ir_alias_registry_ir_is_handle_decode_callee bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L2722 L2723 -label L2722 +brif 46 L2793 L2794 +label L2793 load 48 idx load 49 node iconst 50 0 @@ -168433,14 +168882,14 @@ call 53 ir_decode_emit_ir_emit_handle_decode_path_call int 5 48 49 50 51 52 call 54 pith_closure_release void 1 51 call 55 pith_closure_release void 1 52 ret 53 -label L2723 -label L2721 +label L2794 +label L2792 load 56 callee_idx strref 57 m51s1142 call 58 ir_alias_registry_ir_is_handle_decode_callee bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L2725 L2726 -label L2725 +brif 58 L2796 L2797 +label L2796 load 60 idx load 61 node iconst 62 1 @@ -168450,43 +168899,43 @@ call 65 ir_decode_emit_ir_emit_handle_decode_path_call int 5 60 61 62 63 64 call 66 pith_closure_release void 1 63 call 67 pith_closure_release void 1 64 ret 65 -label L2726 -label L2724 +label L2797 +label L2795 load 68 callee_idx strref 69 m51s1142 strref 70 m51s1138 call 71 ir_emitter_core_ir_is_local_generic_callee bool 3 68 69 70 call 72 pith_cstring_release void 1 69 call 73 pith_cstring_release void 1 70 -brif 71 L2728 L2729 -label L2728 +brif 71 L2799 L2800 +label L2799 load 74 idx load 75 node load 76 callee_node call 77 ir_emitter_core_ir_emit_local_handle_decode_text_path_call int 3 74 75 76 ret 77 -label L2729 -label L2727 +label L2800 +label L2798 iconst 78 0 -store __or_78_2733 78 +store __or_78_2804 78 load 79 callee_idx strref 80 m51s1313 call 81 ir_alias_registry_ir_is_handle_decode_callee bool 2 79 80 call 82 pith_cstring_release void 1 80 -store __or_78_2733 81 -brif 81 L2734 L2733 -label L2733 +store __or_78_2804 81 +brif 81 L2805 L2804 +label L2804 load 83 callee_idx strref 84 m51s1313 strref 85 m51s1311 call 86 ir_emitter_core_ir_is_local_generic_callee bool 3 83 84 85 call 87 pith_cstring_release void 1 84 call 88 pith_cstring_release void 1 85 -store __or_78_2733 86 -label L2734 -load 89 __or_78_2733 -brif 89 L2731 L2732 -label L2731 +store __or_78_2804 86 +label L2805 +load 89 __or_78_2804 +brif 89 L2802 L2803 +label L2802 load 90 idx load 91 node iconst 92 0 @@ -168496,28 +168945,28 @@ call 95 ir_decode_emit_ir_emit_handle_decode_file_call int 5 90 91 92 93 94 call 96 pith_closure_release void 1 93 call 97 pith_closure_release void 1 94 ret 95 -label L2732 -label L2730 +label L2803 +label L2801 iconst 98 0 -store __or_98_2738 98 +store __or_98_2809 98 load 99 callee_idx strref 100 m51s1312 call 101 ir_alias_registry_ir_is_handle_decode_callee bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __or_98_2738 101 -brif 101 L2739 L2738 -label L2738 +store __or_98_2809 101 +brif 101 L2810 L2809 +label L2809 load 103 callee_idx strref 104 m51s1312 strref 105 m51s1311 call 106 ir_emitter_core_ir_is_local_generic_callee bool 3 103 104 105 call 107 pith_cstring_release void 1 104 call 108 pith_cstring_release void 1 105 -store __or_98_2738 106 -label L2739 -load 109 __or_98_2738 -brif 109 L2736 L2737 -label L2736 +store __or_98_2809 106 +label L2810 +load 109 __or_98_2809 +brif 109 L2807 L2808 +label L2807 load 110 idx load 111 node iconst 112 1 @@ -168527,8 +168976,8 @@ call 115 ir_decode_emit_ir_emit_handle_decode_file_call int 5 110 111 112 113 11 call 116 pith_closure_release void 1 113 call 117 pith_closure_release void 1 114 ret 115 -label L2737 -label L2735 +label L2808 +label L2806 iconst 118 0 iconst 119 1 sub 120 118 119 @@ -168549,12 +168998,12 @@ store json_r 7 load 8 json_r iconst 9 0 gte 10 8 9 -brif 10 L2741 L2742 -label L2741 +brif 10 L2812 L2813 +label L2812 load 11 json_r ret 11 -label L2742 -label L2740 +label L2813 +label L2811 load 12 idx load 13 node load 14 callee_idx @@ -168567,12 +169016,12 @@ store config_r 17 load 20 config_r iconst 21 0 gte 22 20 21 -brif 22 L2744 L2745 -label L2744 +brif 22 L2815 L2816 +label L2815 load 23 config_r ret 23 -label L2745 -label L2743 +label L2816 +label L2814 load 24 idx load 25 node load 26 callee_idx @@ -168596,8 +169045,8 @@ store expr_tid 6 load 7 expr_tid iconst 8 0 lt 9 7 8 -brif 9 L2747 L2748 -label L2747 +brif 9 L2818 L2819 +label L2818 iconst 10 0 iconst 11 1 sub 12 10 11 @@ -168606,8 +169055,8 @@ call 14 pith_struct_release void 1 13 load 15 arg_nodes call 16 pith_list_release_handle void 1 15 ret 12 -label L2748 -label L2746 +label L2819 +label L2817 load 17 expr_info load 18 expr_tid call 19 types_get_type_info struct:TypeInfo 1 18 @@ -168620,8 +169069,8 @@ call 25 pith_cstring_eq bool 2 22 23 iconst 26 1 sub 24 26 25 call 27 pith_cstring_release void 1 23 -brif 24 L2750 L2751 -label L2750 +brif 24 L2821 L2822 +label L2821 iconst 28 0 iconst 29 1 sub 30 28 29 @@ -168630,22 +169079,22 @@ call 32 pith_struct_release void 1 31 load 33 arg_nodes call 34 pith_list_release_handle void 1 33 ret 30 -label L2751 -label L2749 +label L2822 +label L2820 iconst 35 0 -store __or_35_2755 35 +store __or_35_2826 35 load 36 callee_name call 37 ir_method_tables_ir_is_declared_callable bool 1 36 -store __or_35_2755 37 -brif 37 L2756 L2755 -label L2755 +store __or_35_2826 37 +brif 37 L2827 L2826 +label L2826 load 38 callee_name call 39 ir_emitter_core_ir_is_sync_primitive_name bool 1 38 -store __or_35_2755 39 -label L2756 -load 40 __or_35_2755 -brif 40 L2753 L2754 -label L2753 +store __or_35_2826 39 +label L2827 +load 40 __or_35_2826 +brif 40 L2824 L2825 +label L2824 iconst 41 0 iconst 42 1 sub 43 41 42 @@ -168654,16 +169103,16 @@ call 45 pith_struct_release void 1 44 load 46 arg_nodes call 47 pith_list_release_handle void 1 46 ret 43 -label L2754 -label L2752 +label L2825 +label L2823 load 48 callee_name call 49 ir_emitter_core_ir_lookup_name_type string 1 48 strref 50 m51s872 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 49 call 53 pith_cstring_release void 1 50 -brif 51 L2758 L2759 -label L2758 +brif 51 L2829 L2830 +label L2829 iconst 54 0 iconst 55 1 sub 56 54 55 @@ -168672,15 +169121,15 @@ call 58 pith_struct_release void 1 57 load 59 arg_nodes call 60 pith_list_release_handle void 1 59 ret 56 -label L2759 -label L2757 +label L2830 +label L2828 load 61 node field 62 61 16 list children call 63 pith_list_len int 1 62 iconst 64 0 gt 65 63 64 -brif 65 L2761 L2762 -label L2761 +brif 65 L2832 L2833 +label L2832 load 66 node field 67 66 16 list children iconst 68 0 @@ -168688,24 +169137,24 @@ call 69 pith_list_get_value_strict int 2 67 68 call 70 checker_c_get_expr_type int 1 69 store callee_tid 70 iconst 71 0 -store __and_71_2766 71 +store __and_71_2837 71 load 72 callee_tid iconst 73 0 gte 74 72 73 -store __and_71_2766 74 -brif 74 L2766 L2767 -label L2766 +store __and_71_2837 74 +brif 74 L2837 L2838 +label L2837 load 75 callee_tid call 76 types_get_type_info struct:TypeInfo 1 75 field 77 76 0 string kind strref 78 m51s24 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __and_71_2766 79 -label L2767 -load 81 __and_71_2766 -brif 81 L2764 L2765 -label L2764 +store __and_71_2837 79 +label L2838 +load 81 __and_71_2837 +brif 81 L2835 L2836 +label L2835 iconst 82 0 iconst 83 1 sub 84 82 83 @@ -168714,11 +169163,11 @@ call 86 pith_struct_release void 1 85 load 87 arg_nodes call 88 pith_list_release_handle void 1 87 ret 84 -label L2765 -label L2763 -jmp L2760 -label L2762 -label L2760 +label L2836 +label L2834 +jmp L2831 +label L2833 +label L2831 load 89 arg_nodes call 90 pith_list_new_default list 0 call 91 pith_list_release_handle void 1 89 @@ -168730,12 +169179,12 @@ iconst 95 0 store __for_idx_378 95 store __for_len_378 94 store __for_iter_378 93 -label L2768 +label L2839 load 96 __for_idx_378 load 97 __for_len_378 lt 98 96 97 -brif 98 L2769 L2771 -label L2769 +brif 98 L2840 L2842 +label L2840 load 99 __for_iter_378 load 100 __for_idx_378 call 101 pith_list_get_value unknown 2 99 100 @@ -168745,21 +169194,21 @@ store __loopvar_378_i 102 load 103 __loopvar_378_i iconst 104 0 eq 105 103 104 -brif 105 L2773 L2774 -label L2773 -jmp L2770 -label L2774 -label L2772 +brif 105 L2844 L2845 +label L2844 +jmp L2841 +label L2845 +label L2843 load 106 arg_nodes load 107 __loopvar_378_child call 108 pith_list_push_value void 2 106 107 -label L2770 +label L2841 load 109 __for_idx_378 iconst 110 1 add 111 109 110 store __for_idx_378 111 -jmp L2768 -label L2771 +jmp L2839 +label L2842 load 112 expr_info field 113 112 8 string name load 114 arg_nodes @@ -168783,45 +169232,45 @@ param params param arg_names iconst 3 0 store i 3 -label L2775 +label L2846 load 4 i load 5 params call 6 pith_list_len int 1 5 lt 7 4 6 -brif 7 L2776 L2777 -label L2776 +brif 7 L2847 L2848 +label L2847 iconst 8 0 -store __and_8_2781 8 +store __and_8_2852 8 load 9 params load 10 i call 11 pith_list_get_value_strict string 2 9 10 load 12 base_ftype call 13 pith_cstring_eq bool 2 11 12 -store __and_8_2781 13 -brif 13 L2781 L2782 -label L2781 +store __and_8_2852 13 +brif 13 L2852 L2853 +label L2852 load 14 i load 15 arg_names call 16 pith_list_len int 1 15 lt 17 14 16 -store __and_8_2781 17 -label L2782 -load 18 __and_8_2781 -brif 18 L2779 L2780 -label L2779 +store __and_8_2852 17 +label L2853 +load 18 __and_8_2852 +brif 18 L2850 L2851 +label L2850 load 19 arg_names load 20 i call 21 pith_list_get_value_strict string 2 19 20 call 22 pith_cstring_retain void 1 21 ret 21 -label L2780 -label L2778 +label L2851 +label L2849 load 23 i iconst 24 1 add 25 23 24 store i 25 -jmp L2775 -label L2777 +jmp L2846 +label L2848 load 26 base_ftype call 27 pith_cstring_retain void 1 26 ret 26 @@ -168841,12 +169290,12 @@ call 6 ir_struct_registry_ir_struct_field_count int 1 5 store count 6 iconst 7 0 store i 7 -label L2783 +label L2854 load 8 i load 9 count lt 10 8 9 -brif 10 L2784 L2785 -label L2784 +brif 10 L2855 L2856 +label L2855 load 11 fname load 12 base load 13 i @@ -168869,22 +169318,22 @@ call 27 string_len int 1 25 call 28 pith_cstring_release void 1 25 iconst 29 0 gt 30 27 29 -brif 30 L2787 L2788 -label L2787 +brif 30 L2858 L2859 +label L2858 iconst 31 1 load 32 fname call 33 pith_cstring_release void 1 32 load 34 base_ftype call 35 pith_cstring_release void 1 34 ret 31 -label L2788 -label L2786 +label L2859 +label L2857 load 36 i iconst 37 1 add 38 36 37 store i 38 -jmp L2783 -label L2785 +jmp L2854 +label L2856 iconst 39 0 load 40 fname call 41 pith_cstring_release void 1 40 @@ -168911,30 +169360,30 @@ load 6 callee_name call 7 contains_key bool 2 5 6 iconst 9 1 sub 8 9 7 -brif 8 L2790 L2791 -label L2790 +brif 8 L2861 L2862 +label L2861 load 10 cn call 11 pith_struct_release void 1 10 load 12 arg_kind call 13 pith_cstring_release void 1 12 iconst 14 0 ret 14 -label L2791 -label L2789 +label L2862 +label L2860 load 15 callee_name call 16 checker_has_generic_declaration bool 1 15 iconst 18 1 sub 17 18 16 -brif 17 L2793 L2794 -label L2793 +brif 17 L2864 L2865 +label L2864 load 19 cn call 20 pith_struct_release void 1 19 load 21 arg_kind call 22 pith_cstring_release void 1 21 iconst 23 0 ret 23 -label L2794 -label L2792 +label L2865 +label L2863 iconst 24 0 store reg_i 24 load 25 node @@ -168944,12 +169393,12 @@ iconst 28 0 store __for_idx_379 28 store __for_len_379 27 store __for_iter_379 26 -label L2795 +label L2866 load 29 __for_idx_379 load 30 __for_len_379 lt 31 29 30 -brif 31 L2796 L2798 -label L2796 +brif 31 L2867 L2869 +label L2867 load 32 __for_iter_379 load 33 __for_idx_379 call 34 pith_list_get_value unknown 2 32 33 @@ -168959,25 +169408,25 @@ store __loopvar_379_i 35 load 36 __loopvar_379_i iconst 37 0 eq 38 36 37 -brif 38 L2800 L2801 -label L2800 -jmp L2797 -label L2801 -label L2799 +brif 38 L2871 L2872 +label L2871 +jmp L2868 +label L2872 +label L2870 load 39 reg_i load 40 arg_regs call 41 pith_list_len int 1 40 gte 42 39 41 -brif 42 L2803 L2804 -label L2803 +brif 42 L2874 L2875 +label L2874 load 43 cn call 44 pith_struct_release void 1 43 load 45 arg_kind call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L2804 -label L2802 +label L2875 +label L2873 load 48 __loopvar_379_child store expr_idx 48 load 49 cn @@ -168990,30 +169439,30 @@ field 54 53 0 string kind strref 55 m51s42 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L2806 L2807 -label L2806 +brif 56 L2877 L2878 +label L2877 load 58 cn field 59 58 16 list children call 60 pith_list_len int 1 59 iconst 61 0 eq 62 60 61 -brif 62 L2809 L2810 -label L2809 +brif 62 L2880 L2881 +label L2880 load 63 reg_i iconst 64 1 add 65 63 64 store reg_i 65 -jmp L2797 -label L2810 -label L2808 +jmp L2868 +label L2881 +label L2879 load 66 cn field 67 66 16 list children iconst 68 0 call 69 pith_list_get_value_strict int 2 67 68 store expr_idx 69 -jmp L2805 -label L2807 -label L2805 +jmp L2876 +label L2878 +label L2876 load 70 arg_kind load 71 expr_idx call 72 ir_emitter_core_ir_infer_type string 1 71 @@ -169022,40 +169471,40 @@ call 74 pith_cstring_release void 1 72 call 75 pith_cstring_release void 1 70 store arg_kind 73 iconst 76 0 -store __and_76_2814 76 +store __and_76_2885 76 load 77 arg_kind call 78 string_len int 1 77 iconst 79 0 gt 80 78 79 -store __and_76_2814 80 -brif 80 L2814 L2815 -label L2814 +store __and_76_2885 80 +brif 80 L2885 L2886 +label L2885 load 81 expr_idx call 82 ir_emitter_core_ir_string_expr_is_borrowed bool 1 81 -store __and_76_2814 82 -label L2815 -load 83 __and_76_2814 -brif 83 L2812 L2813 -label L2812 +store __and_76_2885 82 +label L2886 +load 83 __and_76_2885 +brif 83 L2883 L2884 +label L2883 load 84 arg_regs load 85 reg_i call 86 pith_list_get_value_strict int 2 84 85 load 87 arg_kind call 88 ir_ownership_ir_rc_retain_reg void 2 86 87 -jmp L2811 -label L2813 -label L2811 +jmp L2882 +label L2884 +label L2882 load 89 reg_i iconst 90 1 add 91 89 90 store reg_i 91 -label L2797 +label L2868 load 92 __for_idx_379 iconst 93 1 add 94 92 93 store __for_idx_379 94 -jmp L2795 -label L2798 +jmp L2866 +label L2869 load 95 cn call 96 pith_struct_release void 1 95 load 97 arg_kind @@ -169076,8 +169525,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L2817 L2818 -label L2817 +brif 8 L2888 L2889 +label L2888 iconst 9 0 load 10 cn call 11 pith_struct_release void 1 10 @@ -169086,8 +169535,8 @@ call 13 pith_cstring_release void 1 12 load 14 bn call 15 pith_struct_release void 1 14 ret 9 -label L2818 -label L2816 +label L2889 +label L2887 load 16 cn load 17 node field 18 17 16 list children @@ -169105,36 +169554,36 @@ field 27 26 0 string kind strref 28 m51s37 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L2820 L2821 -label L2820 +brif 29 L2891 L2892 +label L2891 load 31 base load 32 cn field 33 32 8 string value call 34 pith_cstring_retain void 1 33 call 35 pith_cstring_release void 1 31 store base 33 -jmp L2819 -label L2821 +jmp L2890 +label L2892 iconst 36 0 -store __and_36_2824 36 +store __and_36_2895 36 load 37 cn field 38 37 0 string kind strref 39 m51s35 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_2824 40 -brif 40 L2824 L2825 -label L2824 +store __and_36_2895 40 +brif 40 L2895 L2896 +label L2895 load 42 cn field 43 42 16 list children call 44 pith_list_len int 1 43 iconst 45 2 gte 46 44 45 -store __and_36_2824 46 -label L2825 -load 47 __and_36_2824 -brif 47 L2822 L2823 -label L2822 +store __and_36_2895 46 +label L2896 +load 47 __and_36_2895 +brif 47 L2893 L2894 +label L2893 load 48 bn load 49 cn field 50 49 16 list children @@ -169148,26 +169597,26 @@ field 56 55 0 string kind strref 57 m51s37 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L2827 L2828 -label L2827 +brif 58 L2898 L2899 +label L2898 load 60 base load 61 bn field 62 61 8 string value call 63 pith_cstring_retain void 1 62 call 64 pith_cstring_release void 1 60 store base 62 -jmp L2826 -label L2828 -label L2826 -jmp L2819 -label L2823 -label L2819 +jmp L2897 +label L2899 +label L2897 +jmp L2890 +label L2894 +label L2890 load 65 base call 66 string_len int 1 65 iconst 67 0 eq 68 66 67 -brif 68 L2830 L2831 -label L2830 +brif 68 L2901 L2902 +label L2901 iconst 69 0 load 70 cn call 71 pith_struct_release void 1 70 @@ -169176,21 +169625,21 @@ call 73 pith_cstring_release void 1 72 load 74 bn call 75 pith_struct_release void 1 74 ret 69 -label L2831 -label L2829 +label L2902 +label L2900 iconst 76 0 -store __and_76_2832 76 +store __and_76_2903 76 load 77 ir_struct_registry_ir_struct_names load 78 base call 79 contains_key bool 2 77 78 -store __and_76_2832 79 -brif 79 L2832 L2833 -label L2832 +store __and_76_2903 79 +brif 79 L2903 L2904 +label L2903 load 80 base call 81 checker_has_generic_declaration bool 1 80 -store __and_76_2832 81 -label L2833 -load 82 __and_76_2832 +store __and_76_2903 81 +label L2904 +load 82 __and_76_2903 load 83 cn call 84 pith_struct_release void 1 83 load 85 base @@ -169237,8 +169686,8 @@ field 18 17 0 string kind strref 19 m51s37 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L2835 L2836 -label L2835 +brif 20 L2906 L2907 +label L2906 load 22 node load 23 callee_node field 24 23 8 string value @@ -169258,10 +169707,10 @@ load 37 sym call 38 pith_cstring_release void 1 37 iconst 39 0 ret 39 -label L2836 -label L2834 +label L2907 +label L2905 iconst 40 0 -store __or_40_2840 40 +store __or_40_2911 40 load 41 callee_node field 42 41 0 string kind strref 43 m51s35 @@ -169269,19 +169718,19 @@ call 45 pith_cstring_eq bool 2 42 43 iconst 46 1 sub 44 46 45 call 47 pith_cstring_release void 1 43 -store __or_40_2840 44 -brif 44 L2841 L2840 -label L2840 +store __or_40_2911 44 +brif 44 L2912 L2911 +label L2911 load 48 callee_node field 49 48 16 list children call 50 pith_list_len int 1 49 iconst 51 2 lt 52 50 51 -store __or_40_2840 52 -label L2841 -load 53 __or_40_2840 -brif 53 L2838 L2839 -label L2838 +store __or_40_2911 52 +label L2912 +load 53 __or_40_2911 +brif 53 L2909 L2910 +label L2909 load 54 callee_node call 55 pith_struct_release void 1 54 load 56 base_node @@ -169296,8 +169745,8 @@ load 64 sym call 65 pith_cstring_release void 1 64 iconst 66 0 ret 66 -label L2839 -label L2837 +label L2910 +label L2908 load 67 base_node load 68 callee_node field 69 68 16 list children @@ -169313,8 +169762,8 @@ call 78 pith_cstring_eq bool 2 75 76 iconst 79 1 sub 77 79 78 call 80 pith_cstring_release void 1 76 -brif 77 L2843 L2844 -label L2843 +brif 77 L2914 L2915 +label L2914 load 81 callee_node call 82 pith_struct_release void 1 81 load 83 base_node @@ -169329,8 +169778,8 @@ load 91 sym call 92 pith_cstring_release void 1 91 iconst 93 0 ret 93 -label L2844 -label L2842 +label L2915 +label L2913 load 94 base load 95 base_node field 96 95 8 string value @@ -169342,8 +169791,8 @@ load 100 base call 101 contains_key bool 2 99 100 iconst 103 1 sub 102 103 101 -brif 102 L2846 L2847 -label L2846 +brif 102 L2917 L2918 +label L2917 load 104 callee_node call 105 pith_struct_release void 1 104 load 106 base_node @@ -169358,14 +169807,14 @@ load 114 sym call 115 pith_cstring_release void 1 114 iconst 116 0 ret 116 -label L2847 -label L2845 +label L2918 +label L2916 load 117 base call 118 checker_has_generic_declaration bool 1 117 iconst 120 1 sub 119 120 118 -brif 119 L2849 L2850 -label L2849 +brif 119 L2920 L2921 +label L2920 load 121 callee_node call 122 pith_struct_release void 1 121 load 123 base_node @@ -169380,8 +169829,8 @@ load 131 sym call 132 pith_cstring_release void 1 131 iconst 133 0 ret 133 -label L2850 -label L2848 +label L2921 +label L2919 load 134 arg_names load 135 callee_node call 136 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 135 @@ -169391,8 +169840,8 @@ load 138 arg_names call 139 pith_list_len int 1 138 iconst 140 0 eq 141 139 140 -brif 141 L2852 L2853 -label L2852 +brif 141 L2923 L2924 +label L2923 load 142 callee_node call 143 pith_struct_release void 1 142 load 144 base_node @@ -169407,8 +169856,8 @@ load 152 sym call 153 pith_cstring_release void 1 152 iconst 154 0 ret 154 -label L2853 -label L2851 +label L2924 +label L2922 load 155 params load 156 base call 157 checker_get_generic_declaration_index int 1 156 @@ -169423,8 +169872,8 @@ load 164 arg_names call 165 ir_emitter_core_ir_generic_instance_needs_dtor bool 3 162 163 164 iconst 167 1 sub 166 167 165 -brif 166 L2855 L2856 -label L2855 +brif 166 L2926 L2927 +label L2926 load 168 callee_node call 169 pith_struct_release void 1 168 load 170 base_node @@ -169439,8 +169888,8 @@ load 178 sym call 179 pith_cstring_release void 1 178 iconst 180 0 ret 180 -label L2856 -label L2854 +label L2927 +label L2925 load 181 node load 182 base load 183 params @@ -169557,12 +170006,12 @@ iconst 13 0 store __for_idx_380 13 store __for_len_380 12 store __for_iter_380 11 -label L2857 +label L2928 load 14 __for_idx_380 load 15 __for_len_380 lt 16 14 15 -brif 16 L2858 L2860 -label L2858 +brif 16 L2929 L2931 +label L2929 load 17 __for_iter_380 load 18 __for_idx_380 call 19 pith_list_get_value unknown 2 17 18 @@ -169572,17 +170021,17 @@ store __loopvar_380_i 20 load 21 __loopvar_380_i iconst 22 0 eq 23 21 22 -brif 23 L2862 L2863 -label L2862 -jmp L2859 -label L2863 -label L2861 +brif 23 L2933 L2934 +label L2933 +jmp L2930 +label L2934 +label L2932 load 24 reg_i load 25 arg_regs call 26 pith_list_len int 1 25 gte 27 24 26 -brif 27 L2865 L2866 -label L2865 +brif 27 L2936 L2937 +label L2936 load 28 cn call 29 pith_struct_release void 1 28 load 30 fname @@ -169593,8 +170042,8 @@ load 34 fkind call 35 pith_cstring_release void 1 34 iconst 36 0 ret 36 -label L2866 -label L2864 +label L2937 +label L2935 load 37 __loopvar_380_child store expr_idx 37 load 38 cn @@ -169607,38 +170056,38 @@ field 43 42 0 string kind strref 44 m51s42 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L2868 L2869 -label L2868 +brif 45 L2939 L2940 +label L2939 load 47 cn field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 eq 51 49 50 -brif 51 L2871 L2872 -label L2871 +brif 51 L2942 L2943 +label L2942 load 52 reg_i iconst 53 1 add 54 52 53 store reg_i 54 -jmp L2859 -label L2872 -label L2870 +jmp L2930 +label L2943 +label L2941 load 55 cn field 56 55 16 list children iconst 57 0 call 58 pith_list_get_value_strict int 2 56 57 store expr_idx 58 -jmp L2867 -label L2869 -label L2867 +jmp L2938 +label L2940 +label L2938 load 59 reg_i store field_pos 59 load 60 field_pos load 61 base call 62 ir_struct_registry_ir_struct_field_count int 1 61 lt 63 60 62 -brif 63 L2874 L2875 -label L2874 +brif 63 L2945 L2946 +label L2945 load 64 fname load 65 base load 66 field_pos @@ -169661,43 +170110,43 @@ call 80 pith_cstring_release void 1 78 call 81 pith_cstring_release void 1 74 store fkind 79 iconst 82 0 -store __and_82_2879 82 +store __and_82_2950 82 load 83 fkind call 84 string_len int 1 83 iconst 85 0 gt 86 84 85 -store __and_82_2879 86 -brif 86 L2879 L2880 -label L2879 +store __and_82_2950 86 +brif 86 L2950 L2951 +label L2950 load 87 expr_idx call 88 ir_emitter_core_ir_string_expr_is_borrowed bool 1 87 -store __and_82_2879 88 -label L2880 -load 89 __and_82_2879 -brif 89 L2877 L2878 -label L2877 +store __and_82_2950 88 +label L2951 +load 89 __and_82_2950 +brif 89 L2948 L2949 +label L2948 load 90 arg_regs load 91 reg_i call 92 pith_list_get_value_strict int 2 90 91 load 93 fkind call 94 ir_ownership_ir_rc_retain_reg void 2 92 93 -jmp L2876 -label L2878 -label L2876 -jmp L2873 -label L2875 -label L2873 +jmp L2947 +label L2949 +label L2947 +jmp L2944 +label L2946 +label L2944 load 95 reg_i iconst 96 1 add 97 95 96 store reg_i 97 -label L2859 +label L2930 load 98 __for_idx_380 iconst 99 1 add 100 98 99 store __for_idx_380 100 -jmp L2857 -label L2860 +jmp L2928 +label L2931 load 101 cn call 102 pith_struct_release void 1 101 load 103 fname @@ -169731,12 +170180,12 @@ iconst 10 0 store __for_idx_381 10 store __for_len_381 9 store __for_iter_381 8 -label L2881 +label L2952 load 11 __for_idx_381 load 12 __for_len_381 lt 13 11 12 -brif 13 L2882 L2884 -label L2882 +brif 13 L2953 L2955 +label L2953 load 14 __for_iter_381 load 15 __for_idx_381 call 16 pith_list_get_value_unchecked string 2 14 15 @@ -169763,8 +170212,8 @@ load 32 args_str call 33 string_len int 1 32 iconst 34 0 gt 35 33 34 -brif 35 L2886 L2887 -label L2886 +brif 35 L2957 L2958 +label L2957 load 36 arg_names load 37 args_str iconst 38 1 @@ -169773,9 +170222,9 @@ call 40 pith_string_split_to_list list_string 2 37 39 call 41 pith_cstring_release void 1 39 call 42 pith_list_release_handle void 1 36 store arg_names 40 -jmp L2885 -label L2887 -label L2885 +jmp L2956 +label L2958 +label L2956 load 43 params load 44 base call 45 checker_get_generic_declaration_index int 1 44 @@ -169815,12 +170264,12 @@ call 76 ir_struct_registry_ir_struct_field_count int 1 75 store count 76 iconst 77 0 store i 77 -label L2888 +label L2959 load 78 i load 79 count lt 80 78 79 -brif 80 L2889 L2890 -label L2889 +brif 80 L2960 L2961 +label L2960 load 81 fname load 82 base load 83 i @@ -169846,8 +170295,8 @@ load 99 fkind call 100 string_len int 1 99 iconst 101 0 gt 102 100 101 -brif 102 L2892 L2893 -label L2892 +brif 102 L2963 L2964 +label L2963 call 103 ir_builder_ir_reg int 0 store fr 103 strref 104 m51s885 @@ -169888,15 +170337,15 @@ call 138 pith_cstring_release void 1 135 load 139 fr load 140 fkind call 141 ir_ownership_ir_rc_release_reg void 2 139 140 -jmp L2891 -label L2893 -label L2891 +jmp L2962 +label L2964 +label L2962 load 142 i iconst 143 1 add 144 142 143 store i 144 -jmp L2888 -label L2890 +jmp L2959 +label L2961 call 145 ir_builder_ir_reg int 0 store zr 145 strref 146 m51s880 @@ -169911,7 +170360,7 @@ call 154 pith_cstring_release void 1 149 call 155 pith_cstring_release void 1 152 call 156 ir_builder_ir_emit void 1 153 call 157 pith_cstring_release void 1 153 -strref 158 m51s897 +strref 158 m51s925 load 159 zr call 160 int_to_string string 1 159 concat 161 158 160 @@ -169919,16 +170368,16 @@ call 162 pith_cstring_release void 1 158 call 163 pith_cstring_release void 1 160 call 164 ir_builder_ir_emit void 1 161 call 165 pith_cstring_release void 1 161 -strref 166 m51s925 +strref 166 m51s924 call 167 ir_builder_ir_emit void 1 166 call 168 pith_cstring_release void 1 166 -label L2883 +label L2954 load 169 __for_idx_381 iconst 170 1 add 171 169 170 store __for_idx_381 171 -jmp L2881 -label L2884 +jmp L2952 +label L2955 load 172 __for_iter_381 call 173 pith_list_release_handle void 1 172 load 174 base @@ -169969,8 +170418,8 @@ load 12 args_str call 13 string_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L2895 L2896 -label L2895 +brif 15 L2966 L2967 +label L2966 load 16 arg_names load 17 args_str iconst 18 1 @@ -169979,9 +170428,9 @@ call 20 pith_string_split_to_list list_string 2 17 19 call 21 pith_cstring_release void 1 19 call 22 pith_list_release_handle void 1 16 store arg_names 20 -jmp L2894 -label L2896 -label L2894 +jmp L2965 +label L2967 +label L2965 load 23 arg_names load 24 args_str call 25 pith_cstring_release void 1 24 @@ -170032,12 +170481,12 @@ call 25 ir_struct_registry_ir_struct_field_count int 1 24 store count 25 iconst 26 0 store i 26 -label L2897 +label L2968 load 27 i load 28 count lt 29 27 28 -brif 29 L2898 L2899 -label L2898 +brif 29 L2969 L2970 +label L2969 load 30 fname load 31 base load 32 i @@ -170060,22 +170509,22 @@ call 46 pith_cstring_release void 1 44 call 47 pith_cstring_release void 1 40 store fkind 45 iconst 48 0 -store __and_48_2903 48 +store __and_48_2974 48 load 49 base load 50 fname call 51 ir_emitter_core_ir_struct_field_is_weak bool 2 49 50 iconst 53 1 sub 52 53 51 -store __and_48_2903 52 -brif 52 L2903 L2904 -label L2903 +store __and_48_2974 52 +brif 52 L2974 L2975 +label L2974 load 54 fkind call 55 ir_emitter_core_ir_trace_kind_enabled bool 1 54 -store __and_48_2903 55 -label L2904 -load 56 __and_48_2903 -brif 56 L2901 L2902 -label L2901 +store __and_48_2974 55 +label L2975 +load 56 __and_48_2974 +brif 56 L2972 L2973 +label L2972 iconst 57 1 load 58 base call 59 pith_cstring_release void 1 58 @@ -170090,14 +170539,14 @@ call 67 pith_cstring_release void 1 66 load 68 fkind call 69 pith_cstring_release void 1 68 ret 57 -label L2902 -label L2900 +label L2973 +label L2971 load 70 i iconst 71 1 add 72 70 71 store i 72 -jmp L2897 -label L2899 +jmp L2968 +label L2970 iconst 73 0 load 74 base call 75 pith_cstring_release void 1 74 @@ -170147,12 +170596,12 @@ iconst 9 0 store __for_idx_382 9 store __for_len_382 8 store __for_iter_382 7 -label L2905 +label L2976 load 10 __for_idx_382 load 11 __for_len_382 lt 12 10 11 -brif 12 L2906 L2908 -label L2906 +brif 12 L2977 L2979 +label L2977 load 13 __for_iter_382 load 14 __for_idx_382 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -170161,11 +170610,11 @@ load 16 __loopvar_382_sym call 17 ir_emitter_core_ir_generic_instance_needs_tracer bool 1 16 iconst 19 1 sub 18 19 17 -brif 18 L2910 L2911 -label L2910 -jmp L2907 -label L2911 -label L2909 +brif 18 L2981 L2982 +label L2981 +jmp L2978 +label L2982 +label L2980 load 20 base load 21 ir_emitter_core_ir_generic_dtor_base load 22 __loopvar_382_sym @@ -170217,12 +170666,12 @@ call 63 ir_struct_registry_ir_struct_field_count int 1 62 store count 63 iconst 64 0 store i 64 -label L2912 +label L2983 load 65 i load 66 count lt 67 65 66 -brif 67 L2913 L2914 -label L2913 +brif 67 L2984 L2985 +label L2984 load 68 fname load 69 base load 70 i @@ -170245,22 +170694,22 @@ call 84 pith_cstring_release void 1 82 call 85 pith_cstring_release void 1 78 store fkind 83 iconst 86 0 -store __and_86_2918 86 +store __and_86_2989 86 load 87 base load 88 fname call 89 ir_emitter_core_ir_struct_field_is_weak bool 2 87 88 iconst 91 1 sub 90 91 89 -store __and_86_2918 90 -brif 90 L2918 L2919 -label L2918 +store __and_86_2989 90 +brif 90 L2989 L2990 +label L2989 load 92 fkind call 93 ir_emitter_core_ir_trace_kind_enabled bool 1 92 -store __and_86_2918 93 -label L2919 -load 94 __and_86_2918 -brif 94 L2916 L2917 -label L2916 +store __and_86_2989 93 +label L2990 +load 94 __and_86_2989 +brif 94 L2987 L2988 +label L2987 call 95 ir_builder_ir_reg int 0 store fr 95 strref 96 m51s885 @@ -170301,15 +170750,15 @@ call 130 pith_cstring_release void 1 127 load 131 fr load 132 fkind call 133 ir_ownership_ir_rc_visit_reg void 2 131 132 -jmp L2915 -label L2917 -label L2915 +jmp L2986 +label L2988 +label L2986 load 134 i iconst 135 1 add 136 134 135 store i 136 -jmp L2912 -label L2914 +jmp L2983 +label L2985 call 137 ir_builder_ir_reg int 0 store zr 137 strref 138 m51s880 @@ -170324,7 +170773,7 @@ call 146 pith_cstring_release void 1 141 call 147 pith_cstring_release void 1 144 call 148 ir_builder_ir_emit void 1 145 call 149 pith_cstring_release void 1 145 -strref 150 m51s897 +strref 150 m51s925 load 151 zr call 152 int_to_string string 1 151 concat 153 150 152 @@ -170332,16 +170781,16 @@ call 154 pith_cstring_release void 1 150 call 155 pith_cstring_release void 1 152 call 156 ir_builder_ir_emit void 1 153 call 157 pith_cstring_release void 1 153 -strref 158 m51s925 +strref 158 m51s924 call 159 ir_builder_ir_emit void 1 158 call 160 pith_cstring_release void 1 158 -label L2907 +label L2978 load 161 __for_idx_382 iconst 162 1 add 163 161 162 store __for_idx_382 163 -jmp L2905 -label L2908 +jmp L2976 +label L2979 load 164 __for_iter_382 call 165 pith_list_release_handle void 1 164 load 166 base @@ -170373,8 +170822,8 @@ field 7 6 0 string name call 8 ir_generics_ir_is_generic_function_name bool 1 7 iconst 10 1 sub 9 10 8 -brif 9 L2921 L2922 -label L2921 +brif 9 L2992 L2993 +label L2992 load 11 callee call 12 pith_struct_retain void 1 11 load 13 generic_ret_type @@ -170382,8 +170831,8 @@ call 14 pith_cstring_release void 1 13 load 15 concrete_types call 16 pith_list_release_handle void 1 15 ret 11 -label L2922 -label L2920 +label L2993 +label L2991 load 17 generic_ret_type load 18 idx call 19 ir_type_helpers_ir_checked_type string 1 18 @@ -170393,16 +170842,16 @@ load 21 generic_ret_type call 22 string_len int 1 21 iconst 23 0 eq 24 22 23 -brif 24 L2924 L2925 -label L2924 +brif 24 L2995 L2996 +label L2995 load 25 generic_ret_type load 26 idx call 27 ir_emitter_core_ir_infer_type string 1 26 call 28 pith_cstring_release void 1 25 store generic_ret_type 27 -jmp L2923 -label L2925 -label L2923 +jmp L2994 +label L2996 +label L2994 load 29 concrete_types load 30 explicit_generic_types call 31 pith_list_retain_handle void 1 30 @@ -170412,8 +170861,8 @@ load 33 concrete_types call 34 pith_list_len int 1 33 iconst 35 0 eq 36 34 35 -brif 36 L2927 L2928 -label L2927 +brif 36 L2998 L2999 +label L2998 load 37 concrete_types load 38 callee field 39 38 0 string name @@ -170421,9 +170870,9 @@ load 40 node call 41 ir_emitter_core_ir_infer_generic_concrete_types list_string 2 39 40 call 42 pith_list_release_handle void 1 37 store concrete_types 41 -jmp L2926 -label L2928 -label L2926 +jmp L2997 +label L2999 +label L2997 load 43 callee field 44 43 0 string name load 45 concrete_types @@ -170504,15 +170953,15 @@ load 37 ret_kind strref 38 m51s869 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L2930 L2931 -label L2930 +brif 39 L3001 L3002 +label L3001 load 41 ret_kind strref 42 m51s712 call 43 pith_cstring_release void 1 41 store ret_kind 42 -jmp L2929 -label L2931 -label L2929 +jmp L3000 +label L3002 +label L3000 call 44 ir_builder_ir_reg int 0 store r 44 load 45 r @@ -170553,24 +171002,24 @@ field 3 2 0 string kind strref 4 m51s37 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L2933 L2934 -label L2933 +brif 5 L3004 L3005 +label L3004 iconst 7 0 ret 7 -label L2934 -label L2932 +label L3005 +label L3003 load 8 callee_idx call 9 checker_c_get_expr_type int 1 8 store callee_tid 9 load 10 callee_tid iconst 11 0 lt 12 10 11 -brif 12 L2936 L2937 -label L2936 +brif 12 L3007 L3008 +label L3007 iconst 13 0 ret 13 -label L2937 -label L2935 +label L3008 +label L3006 load 14 callee_tid call 15 types_get_type_info struct:TypeInfo 1 14 field 16 15 0 string kind @@ -170607,8 +171056,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 gt 16 14 15 -brif 16 L2939 L2940 -label L2939 +brif 16 L3010 L3011 +label L3010 load 17 callee_node load 18 node field 19 18 16 list children @@ -170622,8 +171071,8 @@ field 25 24 0 string kind strref 26 m51s35 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L2942 L2943 -label L2942 +brif 27 L3013 L3014 +label L3013 load 29 idx load 30 node load 31 node @@ -170636,8 +171085,8 @@ store special_r 36 load 37 special_r iconst 38 0 gte 39 37 38 -brif 39 L2945 L2946 -label L2945 +brif 39 L3016 L3017 +label L3016 load 40 special_r load 41 explicit_generic_types call 42 pith_list_release_handle void 1 41 @@ -170654,24 +171103,24 @@ call 52 pith_list_release_handle void 1 51 load 53 ret_type call 54 pith_cstring_release void 1 53 ret 40 -label L2946 -label L2944 +label L3017 +label L3015 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 L2941 -label L2943 -label L2941 +jmp L3012 +label L3014 +label L3012 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 L2948 L2949 -label L2948 +brif 64 L3019 L3020 +label L3019 load 65 idx load 66 node load 67 node @@ -170694,11 +171143,11 @@ call 83 pith_list_release_handle void 1 82 load 84 ret_type call 85 pith_cstring_release void 1 84 ret 71 -label L2949 -label L2947 -jmp L2938 -label L2940 -label L2938 +label L3020 +label L3018 +jmp L3009 +label L3011 +label L3009 load 86 callee strref 87 m51s869 iconst 88 0 @@ -170715,8 +171164,8 @@ field 95 94 16 list children call 96 pith_list_len int 1 95 iconst 97 0 gt 98 96 97 -brif 98 L2951 L2952 -label L2951 +brif 98 L3022 L3023 +label L3022 load 99 callee load 100 node field 101 100 16 list children @@ -170730,8 +171179,8 @@ field 107 106 0 string name call 108 string_len int 1 107 iconst 109 0 eq 110 108 109 -brif 110 L2954 L2955 -label L2954 +brif 110 L3025 L3026 +label L3025 load 111 callee strref 112 m51s869 iconst 113 0 @@ -170743,9 +171192,9 @@ funcref 116 ir_emitter_core___dtor_ResolvedCallee call 117 pith_struct_set_dtor void 2 114 116 call 118 pith_struct_release void 1 111 store callee 114 -jmp L2953 -label L2955 -label L2953 +jmp L3024 +label L3026 +label L3024 load 119 callee_n load 120 node field 121 120 16 list children @@ -170755,25 +171204,25 @@ call 124 ast_get_node struct:Node 1 123 call 125 pith_struct_release void 1 119 store callee_n 124 iconst 126 0 -store __and_126_2959 126 +store __and_126_3030 126 load 127 callee_n field 128 127 0 string kind strref 129 m51s37 call 130 pith_cstring_eq bool 2 128 129 call 131 pith_cstring_release void 1 129 -store __and_126_2959 130 -brif 130 L2959 L2960 -label L2959 +store __and_126_3030 130 +brif 130 L3030 L3031 +label L3030 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_2959 135 -label L2960 -load 137 __and_126_2959 -brif 137 L2957 L2958 -label L2957 +store __and_126_3030 135 +label L3031 +load 137 __and_126_3030 +brif 137 L3028 L3029 +label L3028 load 138 loop_slot load 139 callee field 140 139 0 string name @@ -170784,8 +171233,8 @@ load 143 loop_slot call 144 string_len int 1 143 iconst 145 0 gt 146 144 145 -brif 146 L2962 L2963 -label L2962 +brif 146 L3033 L3034 +label L3033 load 147 callee load 148 loop_slot call 149 pith_cstring_retain void 1 148 @@ -170799,35 +171248,35 @@ funcref 154 ir_emitter_core___dtor_ResolvedCallee call 155 pith_struct_set_dtor void 2 152 154 call 156 pith_struct_release void 1 147 store callee 152 -jmp L2961 -label L2963 -label L2961 -jmp L2956 -label L2958 -label L2956 -jmp L2950 -label L2952 -label L2950 +jmp L3032 +label L3034 +label L3032 +jmp L3027 +label L3029 +label L3027 +jmp L3021 +label L3023 +label L3021 iconst 157 0 -store __and_157_2967 157 +store __and_157_3038 157 load 158 callee field 159 158 0 string name strref 160 m51s1309 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 -store __and_157_2967 161 -brif 161 L2967 L2968 -label L2967 +store __and_157_3038 161 +brif 161 L3038 L3039 +label L3038 load 163 node field 164 163 16 list children call 165 pith_list_len int 1 164 iconst 166 2 gte 167 165 166 -store __and_157_2967 167 -label L2968 -load 168 __and_157_2967 -brif 168 L2965 L2966 -label L2965 +store __and_157_3038 167 +label L3039 +load 168 __and_157_3038 +brif 168 L3036 L3037 +label L3036 load 169 node field 170 169 16 list children iconst 171 1 @@ -170838,8 +171287,8 @@ store byte_r 174 load 175 byte_r iconst 176 0 gte 177 175 176 -brif 177 L2970 L2971 -label L2970 +brif 177 L3041 L3042 +label L3041 load 178 byte_r load 179 explicit_generic_types call 180 pith_list_release_handle void 1 179 @@ -170856,11 +171305,11 @@ call 190 pith_list_release_handle void 1 189 load 191 ret_type call 192 pith_cstring_release void 1 191 ret 178 -label L2971 -label L2969 -jmp L2964 -label L2966 -label L2964 +label L3042 +label L3040 +jmp L3035 +label L3037 +label L3035 load 193 idx load 194 node load 195 callee @@ -170870,8 +171319,8 @@ store higher_order_r 197 load 198 higher_order_r iconst 199 0 gte 200 198 199 -brif 200 L2973 L2974 -label L2973 +brif 200 L3044 L3045 +label L3044 load 201 higher_order_r load 202 explicit_generic_types call 203 pith_list_release_handle void 1 202 @@ -170888,8 +171337,8 @@ call 213 pith_list_release_handle void 1 212 load 214 ret_type call 215 pith_cstring_release void 1 214 ret 201 -label L2974 -label L2972 +label L3045 +label L3043 load 216 idx load 217 node load 218 callee @@ -170899,8 +171348,8 @@ store struct_r 220 load 221 struct_r iconst 222 0 gte 223 221 222 -brif 223 L2976 L2977 -label L2976 +brif 223 L3047 L3048 +label L3047 load 224 struct_r load 225 explicit_generic_types call 226 pith_list_release_handle void 1 225 @@ -170917,8 +171366,8 @@ call 236 pith_list_release_handle void 1 235 load 237 ret_type call 238 pith_cstring_release void 1 237 ret 224 -label L2977 -label L2975 +label L3048 +label L3046 load 239 callee load 240 idx load 241 node @@ -170934,24 +171383,24 @@ call 249 ir_emitter_core_ir_collect_call_arg_regs list 2 247 248 call 250 pith_list_release_handle void 1 246 store arg_regs 249 iconst 251 0 -store __and_251_2981 251 +store __and_251_3052 251 load 252 callee field 253 252 0 string name strref 254 m51s332 call 255 pith_cstring_eq bool 2 253 254 call 256 pith_cstring_release void 1 254 -store __and_251_2981 255 -brif 255 L2981 L2982 -label L2981 +store __and_251_3052 255 +brif 255 L3052 L3053 +label L3052 load 257 arg_regs call 258 pith_list_len int 1 257 iconst 259 0 eq 260 258 259 -store __and_251_2981 260 -label L2982 -load 261 __and_251_2981 -brif 261 L2979 L2980 -label L2979 +store __and_251_3052 260 +label L3053 +load 261 __and_251_3052 +brif 261 L3050 L3051 +label L3050 call 262 ir_builder_ir_reg int 0 store zero_r 262 strref 263 m51s880 @@ -170969,41 +171418,41 @@ 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 L2978 -label L2980 -label L2978 +jmp L3049 +label L3051 +label L3049 iconst 278 0 -store __and_278_2986 278 +store __and_278_3057 278 iconst 279 0 -store __and_279_2986 279 +store __and_279_3057 279 load 280 callee field 281 280 0 string name strref 282 m51s1308 call 283 pith_cstring_eq bool 2 281 282 call 284 pith_cstring_release void 1 282 -store __and_279_2986 283 -brif 283 L2986 L2987 -label L2986 +store __and_279_3057 283 +brif 283 L3057 L3058 +label L3057 load 285 arg_regs call 286 pith_list_len int 1 285 iconst 287 1 gte 288 286 287 -store __and_279_2986 288 -label L2987 -load 289 __and_279_2986 -store __and_278_2986 289 -brif 289 L2988 L2989 -label L2988 +store __and_279_3057 288 +label L3058 +load 289 __and_279_3057 +store __and_278_3057 289 +brif 289 L3059 L3060 +label L3059 strref 290 m51s1308 call 291 ir_method_tables_ir_is_declared_callable bool 1 290 call 292 pith_cstring_release void 1 290 iconst 294 1 sub 293 294 291 -store __and_278_2986 293 -label L2989 -load 295 __and_278_2986 -brif 295 L2984 L2985 -label L2984 +store __and_278_3057 293 +label L3060 +load 295 __and_278_3057 +brif 295 L3055 L3056 +label L3055 load 296 arg_regs call 297 ir_emitter_core_ir_emit_test_assert int 1 296 load 298 explicit_generic_types @@ -171021,40 +171470,40 @@ call 309 pith_list_release_handle void 1 308 load 310 ret_type call 311 pith_cstring_release void 1 310 ret 297 -label L2985 -label L2983 +label L3056 +label L3054 iconst 312 0 -store __and_312_2993 312 +store __and_312_3064 312 iconst 313 0 -store __and_313_2993 313 +store __and_313_3064 313 load 314 callee field 315 314 0 string name strref 316 m51s394 call 317 pith_cstring_eq bool 2 315 316 call 318 pith_cstring_release void 1 316 -store __and_313_2993 317 -brif 317 L2993 L2994 -label L2993 +store __and_313_3064 317 +brif 317 L3064 L3065 +label L3064 load 319 arg_regs call 320 pith_list_len int 1 319 iconst 321 2 gte 322 320 321 -store __and_313_2993 322 -label L2994 -load 323 __and_313_2993 -store __and_312_2993 323 -brif 323 L2995 L2996 -label L2995 +store __and_313_3064 322 +label L3065 +load 323 __and_313_3064 +store __and_312_3064 323 +brif 323 L3066 L3067 +label L3066 strref 324 m51s394 call 325 ir_method_tables_ir_is_declared_callable bool 1 324 call 326 pith_cstring_release void 1 324 iconst 328 1 sub 327 328 325 -store __and_312_2993 327 -label L2996 -load 329 __and_312_2993 -brif 329 L2991 L2992 -label L2991 +store __and_312_3064 327 +label L3067 +load 329 __and_312_3064 +brif 329 L3062 L3063 +label L3062 load 330 node load 331 arg_regs iconst 332 1 @@ -171074,40 +171523,40 @@ call 345 pith_list_release_handle void 1 344 load 346 ret_type call 347 pith_cstring_release void 1 346 ret 333 -label L2992 -label L2990 +label L3063 +label L3061 iconst 348 0 -store __and_348_3000 348 +store __and_348_3071 348 iconst 349 0 -store __and_349_3000 349 +store __and_349_3071 349 load 350 callee field 351 350 0 string name strref 352 m51s393 call 353 pith_cstring_eq bool 2 351 352 call 354 pith_cstring_release void 1 352 -store __and_349_3000 353 -brif 353 L3000 L3001 -label L3000 +store __and_349_3071 353 +brif 353 L3071 L3072 +label L3071 load 355 arg_regs call 356 pith_list_len int 1 355 iconst 357 2 gte 358 356 357 -store __and_349_3000 358 -label L3001 -load 359 __and_349_3000 -store __and_348_3000 359 -brif 359 L3002 L3003 -label L3002 +store __and_349_3071 358 +label L3072 +load 359 __and_349_3071 +store __and_348_3071 359 +brif 359 L3073 L3074 +label L3073 strref 360 m51s393 call 361 ir_method_tables_ir_is_declared_callable bool 1 360 call 362 pith_cstring_release void 1 360 iconst 364 1 sub 363 364 361 -store __and_348_3000 363 -label L3003 -load 365 __and_348_3000 -brif 365 L2998 L2999 -label L2998 +store __and_348_3071 363 +label L3074 +load 365 __and_348_3071 +brif 365 L3069 L3070 +label L3069 load 366 node load 367 arg_regs iconst 368 0 @@ -171127,8 +171576,8 @@ call 381 pith_list_release_handle void 1 380 load 382 ret_type call 383 pith_cstring_release void 1 382 ret 369 -label L2999 -label L2997 +label L3070 +label L3068 call 384 ir_builder_ir_reg int 0 store r 384 load 385 callee @@ -171147,8 +171596,8 @@ load 395 ir_result_abi_ir_result_reg_funcs load 396 callee field 397 396 0 string name call 398 contains_key bool 2 395 397 -brif 398 L3005 L3006 -label L3005 +brif 398 L3076 L3077 +label L3076 load 399 idx store ir_emitter_core_ir_rcall_current_idx 399 load 400 r @@ -171165,8 +171614,8 @@ iconst 409 0 iconst 410 1 sub 411 409 410 store ir_emitter_core_ir_rcall_current_idx 411 -jmp L3004 -label L3006 +jmp L3075 +label L3077 load 412 r load 413 callee field 414 413 0 string name @@ -171177,7 +171626,7 @@ load 418 arg_regs call 419 ir_call_helpers_ir_join_arg_regs string 1 418 call 420 ir_call_emit_ir_emit_call_text void 5 412 414 415 417 419 call 421 pith_cstring_release void 1 419 -label L3004 +label L3075 load 422 node load 423 ret_type load 424 r @@ -171187,65 +171636,65 @@ load 427 node call 428 ir_emitter_core_ir_is_generic_struct_construction_call bool 1 427 iconst 430 1 sub 429 430 428 -brif 429 L3008 L3009 -label L3008 +brif 429 L3079 L3080 +label L3079 load 431 node iconst 432 1 load 433 arg_regs call 434 ir_emitter_core_ir_release_owned_string_args void 3 431 432 433 -jmp L3007 -label L3009 -label L3007 +jmp L3078 +label L3080 +label L3078 iconst 435 0 -store __and_435_3013 435 +store __and_435_3084 435 iconst 436 0 -store __and_436_3013 436 +store __and_436_3084 436 load 437 uses_result_abi -store __and_436_3013 437 -brif 437 L3013 L3014 -label L3013 +store __and_436_3084 437 +brif 437 L3084 L3085 +label L3084 load 438 ret_type strref 439 m51s23 call 441 pith_cstring_eq bool 2 438 439 iconst 442 1 sub 440 442 441 call 443 pith_cstring_release void 1 439 -store __and_436_3013 440 -label L3014 -load 444 __and_436_3013 -store __and_435_3013 444 -brif 444 L3015 L3016 -label L3015 +store __and_436_3084 440 +label L3085 +load 444 __and_436_3084 +store __and_435_3084 444 +brif 444 L3086 L3087 +label L3086 load 445 idx call 446 ir_type_helpers_ir_checked_result_kind string 1 445 strref 447 m51s23 call 448 pith_cstring_eq bool 2 446 447 call 449 pith_cstring_release void 1 446 call 450 pith_cstring_release void 1 447 -store __and_435_3013 448 -label L3016 -load 451 __and_435_3013 -brif 451 L3011 L3012 -label L3011 +store __and_435_3084 448 +label L3087 +load 451 __and_435_3084 +brif 451 L3082 L3083 +label L3082 iconst 452 0 -store __and_452_3020 452 +store __and_452_3091 452 load 453 ret_type strref 454 m51s713 call 456 pith_cstring_eq bool 2 453 454 iconst 457 1 sub 455 457 456 call 458 pith_cstring_release void 1 454 -store __and_452_3020 455 -brif 455 L3020 L3021 -label L3020 +store __and_452_3091 455 +brif 455 L3091 L3092 +label L3091 load 459 idx load 460 ir_emitter_core_ir_rcall_defer_idx eq 461 459 460 -store __and_452_3020 461 -label L3021 -load 462 __and_452_3020 -brif 462 L3018 L3019 -label L3018 +store __and_452_3091 461 +label L3092 +load 462 __and_452_3091 +brif 462 L3089 L3090 +label L3089 load 463 r load 464 ret_type load 465 callee @@ -171266,8 +171715,8 @@ call 479 pith_list_release_handle void 1 478 load 480 ret_type call 481 pith_cstring_release void 1 480 ret 467 -label L3019 -label L3017 +label L3090 +label L3088 load 482 r load 483 ret_type load 484 callee @@ -171288,8 +171737,8 @@ call 498 pith_list_release_handle void 1 497 load 499 ret_type call 500 pith_cstring_release void 1 499 ret 486 -label L3012 -label L3010 +label L3083 +label L3081 load 501 r load 502 explicit_generic_types call 503 pith_list_release_handle void 1 502 @@ -171335,7 +171784,7 @@ store entry_kind 5 iconst 6 0 store kind_store 6 iconst 7 0 -store __or_7_3025 7 +store __or_7_3096 7 load 8 entry field 9 8 0 string kind strref 10 m51s63 @@ -171343,19 +171792,19 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -store __or_7_3025 11 -brif 11 L3026 L3025 -label L3025 +store __or_7_3096 11 +brif 11 L3097 L3096 +label L3096 load 15 entry field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 2 lt 19 17 18 -store __or_7_3025 19 -label L3026 -load 20 __or_7_3025 -brif 20 L3023 L3024 -label L3023 +store __or_7_3096 19 +label L3097 +load 20 __or_7_3096 +brif 20 L3094 L3095 +label L3094 load 21 store_name call 22 pith_cstring_release void 1 21 load 23 entry_kind @@ -171364,8 +171813,8 @@ load 25 kind_store call 26 pith_cstring_release void 1 25 iconst 27 0 ret 27 -label L3024 -label L3022 +label L3095 +label L3093 load 28 entry field 29 28 16 list children iconst 30 0 @@ -171384,15 +171833,15 @@ strref 40 m51s734 call 41 pith_cstring_release void 1 39 store store_name 40 load 42 has_int_keys -brif 42 L3028 L3029 -label L3028 +brif 42 L3099 L3100 +label L3099 load 43 store_name strref 44 m51s735 call 45 pith_cstring_release void 1 43 store store_name 44 -jmp L3027 -label L3029 -label L3027 +jmp L3098 +label L3100 +label L3098 load 46 entry_kind load 47 val_target call 48 ir_struct_registry_ir_rc_kind string 1 47 @@ -171402,8 +171851,8 @@ load 50 val_target call 51 string_len int 1 50 iconst 52 0 eq 53 51 52 -brif 53 L3031 L3032 -label L3031 +brif 53 L3102 L3103 +label L3102 load 54 entry_kind load 55 entry field 56 55 16 list children @@ -171414,9 +171863,9 @@ call 60 ir_struct_registry_ir_rc_kind string 1 59 call 61 pith_cstring_release void 1 59 call 62 pith_cstring_release void 1 54 store entry_kind 60 -jmp L3030 -label L3032 -label L3030 +jmp L3101 +label L3103 +label L3101 load 63 entry field 64 63 16 list children iconst 65 1 @@ -171432,21 +171881,21 @@ call 73 ir_emitter_core_ir_map_kind_store_name string 2 71 72 call 74 pith_cstring_release void 1 70 store kind_store 73 iconst 75 0 -store __and_75_3036 75 +store __and_75_3107 75 load 76 kind_store call 77 string_len int 1 76 iconst 78 0 gt 79 77 78 -store __and_75_3036 79 -brif 79 L3036 L3037 -label L3036 +store __and_75_3107 79 +brif 79 L3107 L3108 +label L3107 load 80 entry_kind call 81 ir_emitter_core_ir_store_learns_kind bool 1 80 -store __and_75_3036 81 -label L3037 -load 82 __and_75_3036 -brif 82 L3034 L3035 -label L3034 +store __and_75_3107 81 +label L3108 +load 82 __and_75_3107 +brif 82 L3105 L3106 +label L3105 load 83 entry_kind call 84 ir_emitter_core_ir_emit_element_tag_const int 1 83 store tag_r 84 @@ -171467,8 +171916,8 @@ load 98 kind_store call 99 pith_cstring_release void 1 98 iconst 100 0 ret 100 -label L3035 -label L3033 +label L3106 +label L3104 call 101 ir_builder_ir_reg int 0 load 102 store_name strref 103 m51s876 @@ -171506,13 +171955,13 @@ strref 10 m51s711 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 9 call 13 pith_cstring_release void 1 10 -brif 11 L3039 L3040 -label L3039 +brif 11 L3110 L3111 +label L3110 iconst 14 1 store has_int_keys 14 -jmp L3038 -label L3040 -label L3038 +jmp L3109 +label L3111 +label L3109 load 15 val_target strref 16 m51s83 call 17 pith_cstring_release void 1 15 @@ -171523,52 +171972,52 @@ store tid 19 load 20 tid iconst 21 0 gte 22 20 21 -brif 22 L3042 L3043 -label L3042 +brif 22 L3113 L3114 +label L3113 load 23 info load 24 tid call 25 types_get_type_info struct:TypeInfo 1 24 call 26 pith_struct_release void 1 23 store info 25 iconst 27 0 -store __and_27_3047 27 +store __and_27_3118 27 load 28 info field 29 28 0 string kind strref 30 m51s19 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __and_27_3047 31 -brif 31 L3047 L3048 -label L3047 +store __and_27_3118 31 +brif 31 L3118 L3119 +label L3118 load 33 info field 34 33 80 int value_type iconst 35 0 gte 36 34 35 -store __and_27_3047 36 -label L3048 -load 37 __and_27_3047 -brif 37 L3045 L3046 -label L3045 +store __and_27_3118 36 +label L3119 +load 37 __and_27_3118 +brif 37 L3116 L3117 +label L3116 load 38 val_target load 39 info field 40 39 80 int value_type call 41 ir_type_helpers_ir_type_from_tid string 1 40 call 42 pith_cstring_release void 1 38 store val_target 41 -jmp L3044 -label L3046 -label L3044 -jmp L3041 -label L3043 -label L3041 +jmp L3115 +label L3117 +label L3115 +jmp L3112 +label L3114 +label L3112 iconst 43 0 store val_is_string 43 load 44 val_target call 45 string_len int 1 44 iconst 46 0 gt 47 45 46 -brif 47 L3050 L3051 -label L3050 +brif 47 L3121 L3122 +label L3121 load 48 val_target call 49 ir_struct_registry_ir_rc_kind string 1 48 strref 50 m51s716 @@ -171576,15 +172025,15 @@ call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 49 call 53 pith_cstring_release void 1 50 store val_is_string 51 -jmp L3049 -label L3051 +jmp L3120 +label L3122 load 54 node field 55 54 16 list children call 56 pith_list_len int 1 55 iconst 57 0 gt 58 56 57 -brif 58 L3052 L3053 -label L3052 +brif 58 L3123 L3124 +label L3123 load 59 entry0 load 60 node field 61 60 16 list children @@ -171594,25 +172043,25 @@ call 64 ast_get_node struct:Node 1 63 call 65 pith_struct_release void 1 59 store entry0 64 iconst 66 0 -store __and_66_3057 66 +store __and_66_3128 66 load 67 entry0 field 68 67 0 string kind strref 69 m51s63 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -store __and_66_3057 70 -brif 70 L3057 L3058 -label L3057 +store __and_66_3128 70 +brif 70 L3128 L3129 +label L3128 load 72 entry0 field 73 72 16 list children call 74 pith_list_len int 1 73 iconst 75 2 gte 76 74 75 -store __and_66_3057 76 -label L3058 -load 77 __and_66_3057 -brif 77 L3055 L3056 -label L3055 +store __and_66_3128 76 +label L3129 +load 77 __and_66_3128 +brif 77 L3126 L3127 +label L3126 load 78 entry0 field 79 78 16 list children iconst 80 1 @@ -171623,53 +172072,53 @@ call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 82 call 86 pith_cstring_release void 1 83 store val_is_string 84 -jmp L3054 -label L3056 -label L3054 -jmp L3049 -label L3053 -label L3049 +jmp L3125 +label L3127 +label L3125 +jmp L3120 +label L3124 +label L3120 load 87 has_int_keys -brif 87 L3060 L3061 -label L3060 +brif 87 L3131 L3132 +label L3131 load 88 val_is_string -brif 88 L3063 L3064 -label L3063 +brif 88 L3134 L3135 +label L3134 load 89 map_r strref 90 m51s787 strref 91 m51s711 call 92 ir_call_emit_ir_emit_call0 void 3 89 90 91 call 93 pith_cstring_release void 1 90 call 94 pith_cstring_release void 1 91 -jmp L3062 -label L3064 +jmp L3133 +label L3135 load 95 map_r strref 96 m51s791 strref 97 m51s711 call 98 ir_call_emit_ir_emit_call0 void 3 95 96 97 call 99 pith_cstring_release void 1 96 call 100 pith_cstring_release void 1 97 -label L3062 -jmp L3059 -label L3061 +label L3133 +jmp L3130 +label L3132 load 101 val_is_string -brif 101 L3065 L3066 -label L3065 +brif 101 L3136 L3137 +label L3136 load 102 map_r strref 103 m51s789 strref 104 m51s19 call 105 ir_call_emit_ir_emit_call0 void 3 102 103 104 call 106 pith_cstring_release void 1 103 call 107 pith_cstring_release void 1 104 -jmp L3059 -label L3066 +jmp L3130 +label L3137 load 108 map_r strref 109 m51s793 strref 110 m51s19 call 111 ir_call_emit_ir_emit_call0 void 3 108 109 110 call 112 pith_cstring_release void 1 109 call 113 pith_cstring_release void 1 110 -label L3059 +label L3130 load 114 node field 115 114 16 list children call 116 pith_auto_len int 1 115 @@ -171677,12 +172126,12 @@ iconst 117 0 store __for_idx_383 117 store __for_len_383 116 store __for_iter_383 115 -label L3067 +label L3138 load 118 __for_idx_383 load 119 __for_len_383 lt 120 118 119 -brif 120 L3068 L3070 -label L3068 +brif 120 L3139 L3141 +label L3139 load 121 __for_iter_383 load 122 __for_idx_383 call 123 pith_list_get_value unknown 2 121 122 @@ -171694,13 +172143,13 @@ call 127 ast_get_node struct:Node 1 126 load 128 val_target call 129 ir_emitter_core_ir_emit_map_entry_insert void 4 124 125 127 128 call 130 pith_struct_release void 1 127 -label L3069 +label L3140 load 131 __for_idx_383 iconst 132 1 add 133 131 132 store __for_idx_383 133 -jmp L3067 -label L3070 +jmp L3138 +label L3141 load 134 map_r load 135 val_target call 136 pith_cstring_release void 1 135 @@ -171740,31 +172189,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_3074 15 +store __or_15_3145 15 load 16 checked strref 17 m51s710 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -store __or_15_3074 18 -brif 18 L3075 L3074 -label L3074 +store __or_15_3145 18 +brif 18 L3146 L3145 +label L3145 load 20 checked strref 21 m51s18 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_15_3074 22 -label L3075 -load 24 __or_15_3074 -brif 24 L3072 L3073 -label L3072 +store __or_15_3145 22 +label L3146 +load 24 __or_15_3145 +brif 24 L3143 L3144 +label L3143 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 L3071 -label L3073 -label L3071 +jmp L3142 +label L3144 +label L3142 load 29 set_r load 30 literal_type call 31 ir_collection_helpers_ir_set_new_name string 1 30 @@ -171778,12 +172227,12 @@ iconst 38 0 store __for_idx_384 38 store __for_len_384 37 store __for_iter_384 36 -label L3076 +label L3147 load 39 __for_idx_384 load 40 __for_len_384 lt 41 39 40 -brif 41 L3077 L3079 -label L3077 +brif 41 L3148 L3150 +label L3148 load 42 __for_iter_384 load 43 __for_idx_384 call 44 pith_list_get_value unknown 2 42 43 @@ -171800,13 +172249,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 L3078 +label L3149 load 56 __for_idx_384 iconst 57 1 add 58 56 57 store __for_idx_384 58 -jmp L3076 -label L3079 +jmp L3147 +label L3150 load 59 set_r load 60 literal_type call 61 pith_cstring_release void 1 60 @@ -171823,71 +172272,71 @@ endfunc func ir_emitter_core_ir_list_kind_store_name 1 string param emit_name iconst 1 0 -store __or_1_3083 1 +store __or_1_3154 1 iconst 2 0 -store __or_2_3083 2 +store __or_2_3154 2 load 3 emit_name strref 4 m51s276 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_3083 5 -brif 5 L3084 L3083 -label L3083 +store __or_2_3154 5 +brif 5 L3155 L3154 +label L3154 load 7 emit_name strref 8 m51s794 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_3083 9 -label L3084 -load 11 __or_2_3083 -store __or_1_3083 11 -brif 11 L3086 L3085 -label L3085 +store __or_2_3154 9 +label L3155 +load 11 __or_2_3154 +store __or_1_3154 11 +brif 11 L3157 L3156 +label L3156 load 12 emit_name strref 13 m51s795 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __or_1_3083 14 -label L3086 -load 16 __or_1_3083 -brif 16 L3081 L3082 -label L3081 +store __or_1_3154 14 +label L3157 +load 16 __or_1_3154 +brif 16 L3152 L3153 +label L3152 strref 17 m51s1307 ret 17 -label L3082 -label L3080 +label L3153 +label L3151 iconst 18 0 -store __or_18_3090 18 +store __or_18_3161 18 load 19 emit_name strref 20 m51s18 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_18_3090 21 -brif 21 L3091 L3090 -label L3090 +store __or_18_3161 21 +brif 21 L3162 L3161 +label L3161 load 23 emit_name strref 24 m51s821 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_18_3090 25 -label L3091 -load 27 __or_18_3090 -brif 27 L3088 L3089 -label L3088 +store __or_18_3161 25 +label L3162 +load 27 __or_18_3161 +brif 27 L3159 L3160 +label L3159 strref 28 m51s1306 ret 28 -label L3089 -label L3087 +label L3160 +label L3158 load 29 emit_name strref 30 m51s752 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L3093 L3094 -label L3093 +brif 31 L3164 L3165 +label L3164 strref 33 m51s1305 ret 33 -label L3094 -label L3092 +label L3165 +label L3163 strref 34 m51s83 ret 34 iconst 35 0 @@ -171899,72 +172348,72 @@ load 1 kind strref 2 m51s716 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3096 L3097 -label L3096 +brif 3 L3167 L3168 +label L3167 iconst 5 1 ret 5 -label L3097 -label L3095 +label L3168 +label L3166 load 6 kind strref 7 m51s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3099 L3100 -label L3099 +brif 8 L3170 L3171 +label L3170 iconst 10 2 ret 10 -label L3100 -label L3098 +label L3171 +label L3169 load 11 kind strref 12 m51s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3102 L3103 -label L3102 +brif 13 L3173 L3174 +label L3173 iconst 15 3 ret 15 -label L3103 -label L3101 +label L3174 +label L3172 load 16 kind strref 17 m51s15 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3105 L3106 -label L3105 +brif 18 L3176 L3177 +label L3176 iconst 20 4 ret 20 -label L3106 -label L3104 +label L3177 +label L3175 load 21 kind strref 22 m51s715 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L3108 L3109 -label L3108 +brif 23 L3179 L3180 +label L3179 iconst 25 5 ret 25 -label L3109 -label L3107 +label L3180 +label L3178 load 26 kind strref 27 m51s872 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3111 L3112 -label L3111 +brif 28 L3182 L3183 +label L3182 iconst 30 6 ret 30 -label L3112 -label L3110 +label L3183 +label L3181 load 31 kind strref 32 m51s18 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3114 L3115 -label L3114 +brif 33 L3185 L3186 +label L3185 iconst 35 7 ret 35 -label L3115 -label L3113 +label L3186 +label L3184 iconst 36 0 ret 36 iconst 37 0 @@ -171973,67 +172422,67 @@ endfunc func ir_emitter_core_ir_store_learns_kind 1 bool param store_kind iconst 1 0 -store __or_1_3119 1 +store __or_1_3190 1 iconst 2 0 -store __or_2_3119 2 +store __or_2_3190 2 load 3 store_kind strref 4 m51s20 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_3119 5 -brif 5 L3120 L3119 -label L3119 +store __or_2_3190 5 +brif 5 L3191 L3190 +label L3190 load 7 store_kind strref 8 m51s19 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_3119 9 -label L3120 -load 11 __or_2_3119 -store __or_1_3119 11 -brif 11 L3122 L3121 -label L3121 +store __or_2_3190 9 +label L3191 +load 11 __or_2_3190 +store __or_1_3190 11 +brif 11 L3193 L3192 +label L3192 load 12 store_kind strref 13 m51s18 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __or_1_3119 14 -label L3122 -load 16 __or_1_3119 -brif 16 L3117 L3118 -label L3117 +store __or_1_3190 14 +label L3193 +load 16 __or_1_3190 +brif 16 L3188 L3189 +label L3188 iconst 17 1 ret 17 -label L3118 -label L3116 +label L3189 +label L3187 iconst 18 0 -store __or_18_3123 18 +store __or_18_3194 18 iconst 19 0 -store __or_19_3123 19 +store __or_19_3194 19 load 20 store_kind strref 21 m51s15 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_19_3123 22 -brif 22 L3124 L3123 -label L3123 +store __or_19_3194 22 +brif 22 L3195 L3194 +label L3194 load 24 store_kind strref 25 m51s715 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_19_3123 26 -label L3124 -load 28 __or_19_3123 -store __or_18_3123 28 -brif 28 L3126 L3125 -label L3125 +store __or_19_3194 26 +label L3195 +load 28 __or_19_3194 +store __or_18_3194 28 +brif 28 L3197 L3196 +label L3196 load 29 store_kind strref 30 m51s872 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_18_3123 31 -label L3126 -load 33 __or_18_3123 +store __or_18_3194 31 +label L3197 +load 33 __or_18_3194 ret 33 iconst 34 0 ret 34 @@ -172069,51 +172518,51 @@ func ir_emitter_core_ir_map_kind_store_name 2 string param emit_name param owned iconst 2 0 -store __or_2_3130 2 +store __or_2_3201 2 load 3 emit_name strref 4 m51s255 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_3130 5 -brif 5 L3131 L3130 -label L3130 +store __or_2_3201 5 +brif 5 L3202 L3201 +label L3201 load 7 emit_name strref 8 m51s734 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_3130 9 -label L3131 -load 11 __or_2_3130 -brif 11 L3128 L3129 -label L3128 +store __or_2_3201 9 +label L3202 +load 11 __or_2_3201 +brif 11 L3199 L3200 +label L3199 load 12 owned -brif 12 L3133 L3134 -label L3133 +brif 12 L3204 L3205 +label L3204 strref 13 m51s1304 ret 13 -label L3134 -label L3132 +label L3205 +label L3203 strref 14 m51s1303 ret 14 -label L3129 -label L3127 +label L3200 +label L3198 load 15 emit_name strref 16 m51s735 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L3136 L3137 -label L3136 +brif 17 L3207 L3208 +label L3207 load 19 owned -brif 19 L3139 L3140 -label L3139 +brif 19 L3210 L3211 +label L3210 strref 20 m51s1302 ret 20 -label L3140 -label L3138 +label L3211 +label L3209 strref 21 m51s1301 ret 21 -label L3137 -label L3135 +label L3208 +label L3206 strref 22 m51s83 ret 22 iconst 23 0 @@ -172123,19 +172572,19 @@ func ir_emitter_core_ir_channel_send_needs_retain 2 bool param emit_name param store_kind iconst 2 0 -store __and_2_3141 2 +store __and_2_3212 2 load 3 emit_name call 4 ir_emitter_core_ir_is_channel_send_name bool 1 3 -store __and_2_3141 4 -brif 4 L3141 L3142 -label L3141 +store __and_2_3212 4 +brif 4 L3212 L3213 +label L3212 load 5 store_kind call 6 string_len int 1 5 iconst 7 0 gt 8 6 7 -store __and_2_3141 8 -label L3142 -load 9 __and_2_3141 +store __and_2_3212 8 +label L3213 +load 9 __and_2_3212 ret 9 iconst 10 0 ret 10 @@ -172143,77 +172592,77 @@ endfunc func ir_emitter_core_ir_container_store_takes_count 1 bool param store_kind iconst 1 0 -store __or_1_3146 1 +store __or_1_3217 1 load 2 store_kind strref 3 m51s716 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_3146 4 -brif 4 L3147 L3146 -label L3146 +store __or_1_3217 4 +brif 4 L3218 L3217 +label L3217 load 6 store_kind strref 7 m51s715 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_3146 8 -label L3147 -load 10 __or_1_3146 -brif 10 L3144 L3145 -label L3144 +store __or_1_3217 8 +label L3218 +load 10 __or_1_3217 +brif 10 L3215 L3216 +label L3215 iconst 11 1 ret 11 -label L3145 -label L3143 +label L3216 +label L3214 load 12 store_kind strref 13 m51s15 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L3149 L3150 -label L3149 +brif 14 L3220 L3221 +label L3220 iconst 16 1 ret 16 -label L3150 -label L3148 +label L3221 +label L3219 iconst 17 0 -store __or_17_3151 17 +store __or_17_3222 17 iconst 18 0 -store __or_18_3151 18 +store __or_18_3222 18 iconst 19 0 -store __or_19_3151 19 +store __or_19_3222 19 load 20 store_kind strref 21 m51s20 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_19_3151 22 -brif 22 L3152 L3151 -label L3151 +store __or_19_3222 22 +brif 22 L3223 L3222 +label L3222 load 24 store_kind strref 25 m51s19 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_19_3151 26 -label L3152 -load 28 __or_19_3151 -store __or_18_3151 28 -brif 28 L3154 L3153 -label L3153 +store __or_19_3222 26 +label L3223 +load 28 __or_19_3222 +store __or_18_3222 28 +brif 28 L3225 L3224 +label L3224 load 29 store_kind strref 30 m51s18 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_18_3151 31 -label L3154 -load 33 __or_18_3151 -store __or_17_3151 33 -brif 33 L3156 L3155 -label L3155 +store __or_18_3222 31 +label L3225 +load 33 __or_18_3222 +store __or_17_3222 33 +brif 33 L3227 L3226 +label L3226 load 34 store_kind strref 35 m51s872 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_17_3151 36 -label L3156 -load 38 __or_17_3151 +store __or_17_3222 36 +label L3227 +load 38 __or_17_3222 ret 38 iconst 39 0 ret 39 @@ -172221,103 +172670,103 @@ endfunc func ir_emitter_core_ir_owned_container_store_name 1 string param emit_name iconst 1 0 -store __or_1_3160 1 +store __or_1_3231 1 iconst 2 0 -store __or_2_3160 2 +store __or_2_3231 2 load 3 emit_name strref 4 m51s276 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_3160 5 -brif 5 L3161 L3160 -label L3160 +store __or_2_3231 5 +brif 5 L3232 L3231 +label L3231 load 7 emit_name strref 8 m51s794 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_3160 9 -label L3161 -load 11 __or_2_3160 -store __or_1_3160 11 -brif 11 L3163 L3162 -label L3162 +store __or_2_3231 9 +label L3232 +load 11 __or_2_3231 +store __or_1_3231 11 +brif 11 L3234 L3233 +label L3233 load 12 emit_name strref 13 m51s795 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __or_1_3160 14 -label L3163 -load 16 __or_1_3160 -brif 16 L3158 L3159 -label L3158 +store __or_1_3231 14 +label L3234 +load 16 __or_1_3231 +brif 16 L3229 L3230 +label L3229 strref 17 m51s1202 ret 17 -label L3159 -label L3157 +label L3230 +label L3228 iconst 18 0 -store __or_18_3167 18 +store __or_18_3238 18 load 19 emit_name strref 20 m51s18 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_18_3167 21 -brif 21 L3168 L3167 -label L3167 +store __or_18_3238 21 +brif 21 L3239 L3238 +label L3238 load 23 emit_name strref 24 m51s821 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_18_3167 25 -label L3168 -load 27 __or_18_3167 -brif 27 L3165 L3166 -label L3165 +store __or_18_3238 25 +label L3239 +load 27 __or_18_3238 +brif 27 L3236 L3237 +label L3236 strref 28 m51s1300 ret 28 -label L3166 -label L3164 +label L3237 +label L3235 iconst 29 0 -store __or_29_3172 29 +store __or_29_3243 29 load 30 emit_name strref 31 m51s255 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_29_3172 32 -brif 32 L3173 L3172 -label L3172 +store __or_29_3243 32 +brif 32 L3244 L3243 +label L3243 load 34 emit_name strref 35 m51s734 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_29_3172 36 -label L3173 -load 38 __or_29_3172 -brif 38 L3170 L3171 -label L3170 +store __or_29_3243 36 +label L3244 +load 38 __or_29_3243 +brif 38 L3241 L3242 +label L3241 strref 39 m51s1299 ret 39 -label L3171 -label L3169 +label L3242 +label L3240 load 40 emit_name strref 41 m51s735 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -brif 42 L3175 L3176 -label L3175 +brif 42 L3246 L3247 +label L3246 strref 44 m51s1298 ret 44 -label L3176 -label L3174 +label L3247 +label L3245 load 45 emit_name strref 46 m51s752 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -brif 47 L3178 L3179 -label L3178 +brif 47 L3249 L3250 +label L3249 strref 49 m51s1297 ret 49 -label L3179 -label L3177 +label L3250 +label L3248 strref 50 m51s83 ret 50 iconst 51 0 @@ -172329,72 +172778,72 @@ load 1 elem_kind strref 2 m51s716 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3181 L3182 -label L3181 +brif 3 L3252 L3253 +label L3252 strref 5 m51s809 ret 5 -label L3182 -label L3180 +label L3253 +label L3251 load 6 elem_kind strref 7 m51s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3184 L3185 -label L3184 +brif 8 L3255 L3256 +label L3255 strref 10 m51s807 ret 10 -label L3185 -label L3183 +label L3256 +label L3254 load 11 elem_kind strref 12 m51s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3187 L3188 -label L3187 +brif 13 L3258 L3259 +label L3258 strref 15 m51s805 ret 15 -label L3188 -label L3186 +label L3259 +label L3257 load 16 elem_kind strref 17 m51s15 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3190 L3191 -label L3190 +brif 18 L3261 L3262 +label L3261 strref 20 m51s803 ret 20 -label L3191 -label L3189 +label L3262 +label L3260 load 21 elem_kind strref 22 m51s715 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L3193 L3194 -label L3193 +brif 23 L3264 L3265 +label L3264 strref 25 m51s801 ret 25 -label L3194 -label L3192 +label L3265 +label L3263 load 26 elem_kind strref 27 m51s872 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3196 L3197 -label L3196 +brif 28 L3267 L3268 +label L3267 strref 30 m51s799 ret 30 -label L3197 -label L3195 +label L3268 +label L3266 load 31 elem_kind strref 32 m51s18 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3199 L3200 -label L3199 +brif 33 L3270 L3271 +label L3270 strref 35 m51s797 ret 35 -label L3200 -label L3198 +label L3271 +label L3269 strref 36 m51s811 ret 36 iconst 37 0 @@ -172425,32 +172874,32 @@ store tid 13 load 14 tid iconst 15 0 gte 16 14 15 -brif 16 L3202 L3203 -label L3202 +brif 16 L3273 L3274 +label L3273 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_3207 21 +store __and_21_3278 21 load 22 info field 23 22 0 string kind strref 24 m51s20 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_3207 25 -brif 25 L3207 L3208 -label L3207 +store __and_21_3278 25 +brif 25 L3278 L3279 +label L3278 load 27 info field 28 27 64 int inner iconst 29 0 gte 30 28 29 -store __and_21_3207 30 -label L3208 -load 31 __and_21_3207 -brif 31 L3205 L3206 -label L3205 +store __and_21_3278 30 +label L3279 +load 31 __and_21_3278 +brif 31 L3276 L3277 +label L3276 load 32 elem_target load 33 info field 34 33 64 int inner @@ -172462,31 +172911,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 L3204 -label L3206 -label L3204 -jmp L3201 -label L3203 -label L3201 +jmp L3275 +label L3277 +label L3275 +jmp L3272 +label L3274 +label L3272 iconst 41 0 -store __and_41_3212 41 +store __and_41_3283 41 load 42 elem_kind call 43 string_len int 1 42 iconst 44 0 eq 45 43 44 -store __and_41_3212 45 -brif 45 L3212 L3213 -label L3212 +store __and_41_3283 45 +brif 45 L3283 L3284 +label L3283 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_3212 50 -label L3213 -load 51 __and_41_3212 -brif 51 L3210 L3211 -label L3210 +store __and_41_3283 50 +label L3284 +load 51 __and_41_3283 +brif 51 L3281 L3282 +label L3281 load 52 elem_kind load 53 node field 54 53 16 list children @@ -172497,9 +172946,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 L3209 -label L3211 -label L3209 +jmp L3280 +label L3282 +label L3280 call 61 ir_builder_ir_reg int 0 store list_r 61 load 62 ctor @@ -172526,12 +172975,12 @@ iconst 80 0 store __for_idx_385 80 store __for_len_385 79 store __for_iter_385 78 -label L3214 +label L3285 load 81 __for_idx_385 load 82 __for_len_385 lt 83 81 82 -brif 83 L3215 L3217 -label L3215 +brif 83 L3286 L3288 +label L3286 load 84 __for_iter_385 load 85 __for_idx_385 call 86 pith_list_get_value unknown 2 84 85 @@ -172549,33 +172998,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_3221 98 +store __and_98_3292 98 load 99 retaining -store __and_98_3221 99 -brif 99 L3221 L3222 -label L3221 +store __and_98_3292 99 +brif 99 L3292 L3293 +label L3292 load 100 __loopvar_385_child call 101 ir_emitter_core_ir_string_expr_is_borrowed bool 1 100 iconst 103 1 sub 102 103 101 -store __and_98_3221 102 -label L3222 -load 104 __and_98_3221 -brif 104 L3219 L3220 -label L3219 +store __and_98_3292 102 +label L3293 +load 104 __and_98_3292 +brif 104 L3290 L3291 +label L3290 load 105 elem_r load 106 elem_kind call 107 ir_ownership_ir_rc_release_reg void 2 105 106 -jmp L3218 -label L3220 -label L3218 -label L3216 +jmp L3289 +label L3291 +label L3289 +label L3287 load 108 __for_idx_385 iconst 109 1 add 110 108 109 store __for_idx_385 110 -jmp L3214 -label L3217 +jmp L3285 +label L3288 load 111 list_r load 112 elem_kind call 113 pith_cstring_release void 1 112 @@ -172609,12 +173058,12 @@ iconst 6 0 store __for_idx_386 6 store __for_len_386 5 store __for_iter_386 4 -label L3223 +label L3294 load 7 __for_idx_386 load 8 __for_len_386 lt 9 7 8 -brif 9 L3224 L3226 -label L3224 +brif 9 L3295 L3297 +label L3295 load 10 __for_iter_386 load 11 __for_idx_386 call 12 pith_list_get_value unknown 2 10 11 @@ -172625,8 +173074,8 @@ load 14 __loopvar_386_i load 15 elem_nodes call 16 pith_list_len int 1 15 lt 17 14 16 -brif 17 L3228 L3229 -label L3228 +brif 17 L3299 L3300 +label L3299 load 18 tuple_kind load 19 elem_nodes load 20 __loopvar_386_i @@ -172637,32 +173086,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_3233 26 +store __and_26_3304 26 load 27 tuple_kind call 28 string_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_26_3233 30 -brif 30 L3233 L3234 -label L3233 +store __and_26_3304 30 +brif 30 L3304 L3305 +label L3304 load 31 elem_nodes load 32 __loopvar_386_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_3233 34 -label L3234 -load 35 __and_26_3233 -brif 35 L3231 L3232 -label L3231 +store __and_26_3304 34 +label L3305 +load 35 __and_26_3304 +brif 35 L3302 L3303 +label L3302 load 36 __loopvar_386_elem_reg load 37 tuple_kind call 38 ir_ownership_ir_rc_retain_reg void 2 36 37 -jmp L3230 -label L3232 -label L3230 -jmp L3227 -label L3229 -label L3227 +jmp L3301 +label L3303 +label L3301 +jmp L3298 +label L3300 +label L3298 strref 39 m51s1094 load 40 tuple_r call 41 int_to_string string 1 40 @@ -172689,13 +173138,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 L3225 +label L3296 load 65 __for_idx_386 iconst 66 1 add 67 65 66 store __for_idx_386 67 -jmp L3223 -label L3226 +jmp L3294 +label L3297 load 68 tuple_kind call 69 pith_cstring_release void 1 68 iconst 70 0 @@ -172707,82 +173156,82 @@ load 1 kind strref 2 m51s716 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3236 L3237 -label L3236 +brif 3 L3307 L3308 +label L3307 strref 5 m51s951 ret 5 -label L3237 -label L3235 +label L3308 +label L3306 load 6 kind strref 7 m51s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3239 L3240 -label L3239 +brif 8 L3310 L3311 +label L3310 strref 10 m51s1296 ret 10 -label L3240 -label L3238 +label L3311 +label L3309 load 11 kind strref 12 m51s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3242 L3243 -label L3242 +brif 13 L3313 L3314 +label L3313 strref 15 m51s1069 ret 15 -label L3243 -label L3241 +label L3314 +label L3312 load 16 kind strref 17 m51s18 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3245 L3246 -label L3245 +brif 18 L3316 L3317 +label L3316 strref 20 m51s1295 ret 20 -label L3246 -label L3244 +label L3317 +label L3315 load 21 kind strref 22 m51s715 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L3248 L3249 -label L3248 +brif 23 L3319 L3320 +label L3319 strref 25 m51s1125 ret 25 -label L3249 -label L3247 +label L3320 +label L3318 load 26 kind strref 27 m51s15 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3251 L3252 -label L3251 +brif 28 L3322 L3323 +label L3322 strref 30 m51s1294 ret 30 -label L3252 -label L3250 +label L3323 +label L3321 load 31 kind strref 32 m51s872 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3254 L3255 -label L3254 +brif 33 L3325 L3326 +label L3325 strref 35 m51s1293 ret 35 -label L3255 -label L3253 +label L3326 +label L3324 load 36 kind strref 37 m51s23 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L3257 L3258 -label L3257 +brif 38 L3328 L3329 +label L3328 strref 40 m51s1292 ret 40 -label L3258 -label L3256 +label L3329 +label L3327 strref 41 m51s185 ret 41 iconst 42 0 @@ -172794,82 +173243,82 @@ load 1 code strref 2 m51s951 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3260 L3261 -label L3260 +brif 3 L3331 L3332 +label L3331 strref 5 m51s716 ret 5 -label L3261 -label L3259 +label L3332 +label L3330 load 6 code strref 7 m51s1296 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3263 L3264 -label L3263 +brif 8 L3334 L3335 +label L3334 strref 10 m51s20 ret 10 -label L3264 -label L3262 +label L3335 +label L3333 load 11 code strref 12 m51s1069 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3266 L3267 -label L3266 +brif 13 L3337 L3338 +label L3337 strref 15 m51s19 ret 15 -label L3267 -label L3265 +label L3338 +label L3336 load 16 code strref 17 m51s1295 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3269 L3270 -label L3269 +brif 18 L3340 L3341 +label L3340 strref 20 m51s18 ret 20 -label L3270 -label L3268 +label L3341 +label L3339 load 21 code strref 22 m51s1125 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L3272 L3273 -label L3272 +brif 23 L3343 L3344 +label L3343 strref 25 m51s715 ret 25 -label L3273 -label L3271 +label L3344 +label L3342 load 26 code strref 27 m51s1294 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3275 L3276 -label L3275 +brif 28 L3346 L3347 +label L3346 strref 30 m51s15 ret 30 -label L3276 -label L3274 +label L3347 +label L3345 load 31 code strref 32 m51s1293 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3278 L3279 -label L3278 +brif 33 L3349 L3350 +label L3349 strref 35 m51s872 ret 35 -label L3279 -label L3277 +label L3350 +label L3348 load 36 code strref 37 m51s1292 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L3281 L3282 -label L3281 +brif 38 L3352 L3353 +label L3352 strref 40 m51s23 ret 40 -label L3282 -label L3280 +label L3353 +label L3351 strref 41 m51s83 ret 41 iconst 42 0 @@ -172889,12 +173338,12 @@ iconst 7 0 store __for_idx_387 7 store __for_len_387 6 store __for_iter_387 5 -label L3283 +label L3354 load 8 __for_idx_387 load 9 __for_len_387 lt 10 8 9 -brif 10 L3284 L3286 -label L3284 +brif 10 L3355 L3357 +label L3355 load 11 __for_iter_387 load 12 __for_idx_387 call 13 pith_list_get_value unknown 2 11 12 @@ -172911,13 +173360,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 L3285 +label L3356 load 25 __for_idx_387 iconst 26 1 add 27 25 26 store __for_idx_387 27 -jmp L3283 -label L3286 +jmp L3354 +label L3357 load 28 sig ret 28 load 29 sig @@ -172948,30 +173397,30 @@ func ir_emitter_core_ir_tuple_sig_has_rc 1 bool param sig iconst 1 0 store i 1 -label L3287 +label L3358 load 2 i load 3 sig call 4 string_len int 1 3 lt 5 2 4 -brif 5 L3288 L3289 -label L3288 +brif 5 L3359 L3360 +label L3359 load 6 sig load 7 i call 8 pith_cstring_byte_at int 2 6 7 iconst 9 48 neq 10 8 9 -brif 10 L3291 L3292 -label L3291 +brif 10 L3362 L3363 +label L3362 iconst 11 1 ret 11 -label L3292 -label L3290 +label L3363 +label L3361 load 12 i iconst 13 1 add 14 12 13 store i 14 -jmp L3287 -label L3289 +jmp L3358 +label L3360 iconst 15 0 ret 15 iconst 16 0 @@ -173000,13 +173449,13 @@ func ir_emitter_core_ir_tuple_sig_has_trace 1 bool param sig iconst 1 0 store i 1 -label L3293 +label L3364 load 2 i load 3 sig call 4 string_len int 1 3 lt 5 2 4 -brif 5 L3294 L3295 -label L3294 +brif 5 L3365 L3366 +label L3365 load 6 sig load 7 i call 8 pith_cstring_char_at_strict string 2 6 7 @@ -173014,18 +173463,18 @@ call 9 ir_emitter_core_ir_tuple_dtor_code_kind string 1 8 call 10 pith_cstring_release void 1 8 call 11 ir_emitter_core_ir_trace_kind_enabled bool 1 9 call 12 pith_cstring_release void 1 9 -brif 11 L3297 L3298 -label L3297 +brif 11 L3368 L3369 +label L3368 iconst 13 1 ret 13 -label L3298 -label L3296 +label L3369 +label L3367 load 14 i iconst 15 1 add 16 14 15 store i 16 -jmp L3293 -label L3295 +jmp L3364 +label L3366 iconst 17 0 ret 17 iconst 18 0 @@ -173045,51 +173494,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 L3300 L3301 -label L3300 +brif 9 L3371 L3372 +label L3371 load 11 sig call 12 pith_cstring_release void 1 11 iconst 13 0 ret 13 -label L3301 -label L3299 +label L3372 +label L3370 load 14 ir_emitter_core_ir_tuple_dtor_sigs load 15 sig iconst 16 -1 -store __list_index_result_L3305 16 +store __list_index_result_L3376 16 iconst 17 0 -store __list_index_i_L3306 17 +store __list_index_i_L3377 17 call 18 pith_list_len int 1 14 -label L3307 -load 19 __list_index_i_L3306 +label L3378 +load 19 __list_index_i_L3377 lt 20 19 18 -brif 20 L3308 L3311 -label L3308 +brif 20 L3379 L3382 +label L3379 call 21 pith_list_get_value string 2 14 19 call 22 pith_cstring_eq bool 2 21 15 -brif 22 L3309 L3310 -label L3309 -store __list_index_result_L3305 19 -jmp L3311 -label L3310 +brif 22 L3380 L3381 +label L3380 +store __list_index_result_L3376 19 +jmp L3382 +label L3381 iconst 23 1 add 24 19 23 -store __list_index_i_L3306 24 -jmp L3307 -label L3311 -load 25 __list_index_result_L3305 +store __list_index_i_L3377 24 +jmp L3378 +label L3382 +load 25 __list_index_result_L3376 iconst 26 0 gte 27 25 26 iconst 29 1 sub 28 29 27 -brif 28 L3303 L3304 -label L3303 +brif 28 L3374 L3375 +label L3374 load 30 ir_emitter_core_ir_tuple_dtor_sigs load 31 sig call 32 pith_list_push_value void 2 30 31 -jmp L3302 -label L3304 -label L3302 +jmp L3373 +label L3375 +label L3373 call 33 ir_builder_ir_reg int 0 store fr 33 strref 34 m51s950 @@ -173160,12 +173609,12 @@ iconst 13 0 store __for_idx_388 13 store __for_len_388 12 store __for_iter_388 11 -label L3312 +label L3383 load 14 __for_idx_388 load 15 __for_len_388 lt 16 14 15 -brif 16 L3313 L3315 -label L3313 +brif 16 L3384 L3386 +label L3384 load 17 __for_iter_388 load 18 __for_idx_388 call 19 pith_list_get_value unknown 2 17 18 @@ -173180,28 +173629,28 @@ field 25 24 0 string kind strref 26 m51s494 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L3317 L3318 -label L3317 +brif 27 L3388 L3389 +label L3388 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 L3316 -label L3318 +jmp L3387 +label L3389 load 32 elem_regs load 33 __loopvar_388_child call 34 ir_emitter_core_ir_expr int 1 33 call 35 pith_list_push_value void 2 32 34 -label L3316 +label L3387 load 36 elem_nodes load 37 __loopvar_388_child call 38 pith_list_push_value void 2 36 37 -label L3314 +label L3385 load 39 __for_idx_388 iconst 40 1 add 41 39 40 store __for_idx_388 41 -jmp L3312 -label L3315 +jmp L3383 +label L3386 call 42 ir_builder_ir_reg int 0 store r 42 call 43 ir_builder_ir_reg int 0 @@ -173280,8 +173729,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 L3320 L3321 -label L3320 +brif 5 L3391 L3392 +label L3391 load 6 ir_struct_registry_ir_enum_variant_lists load 7 enum_name call 8 map_get_strict string 2 6 7 @@ -173293,12 +173742,12 @@ iconst 13 0 store __for_idx_389 13 store __for_len_389 12 store __for_iter_389 10 -label L3322 +label L3393 load 14 __for_idx_389 load 15 __for_len_389 lt 16 14 15 -brif 16 L3323 L3325 -label L3323 +brif 16 L3394 L3396 +label L3394 load 17 __for_iter_389 load 18 __for_idx_389 call 19 pith_list_get_value_unchecked string 2 17 18 @@ -173316,8 +173765,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 L3327 L3328 -label L3327 +brif 31 L3398 L3399 +label L3398 load 32 ir_struct_registry_ir_enum_payload_kinds load 33 vkey call 34 map_get_strict string 2 32 33 @@ -173330,28 +173779,28 @@ store count 38 load 40 count load 41 max_count gt 42 40 41 -brif 42 L3330 L3331 -label L3330 +brif 42 L3401 L3402 +label L3401 load 43 count store max_count 43 -jmp L3329 -label L3331 -label L3329 -jmp L3326 -label L3328 -label L3326 -label L3324 +jmp L3400 +label L3402 +label L3400 +jmp L3397 +label L3399 +label L3397 +label L3395 load 44 __for_idx_389 iconst 45 1 add 46 44 45 store __for_idx_389 46 -jmp L3322 -label L3325 +jmp L3393 +label L3396 load 47 __for_iter_389 call 48 pith_list_release_handle void 1 47 -jmp L3319 -label L3321 -label L3319 +jmp L3390 +label L3392 +label L3390 load 49 max_count load 50 vkey call 51 pith_cstring_release void 1 50 @@ -173371,13 +173820,13 @@ store slots 4 load 5 payload_count load 6 slots gt 7 5 6 -brif 7 L3333 L3334 -label L3333 +brif 7 L3404 L3405 +label L3404 load 8 payload_count store slots 8 -jmp L3332 -label L3334 -label L3332 +jmp L3403 +label L3405 +label L3403 call 9 ir_builder_ir_reg int 0 store count_r 9 strref 10 m51s880 @@ -173471,8 +173920,8 @@ store kinds 7 load 9 ir_struct_registry_ir_enum_payload_kinds load 10 variant_key call 11 contains_key bool 2 9 10 -brif 11 L3336 L3337 -label L3336 +brif 11 L3407 L3408 +label L3407 load 12 kinds load 13 idx call 14 ir_alias_registry_ir_emission_tid int 1 13 @@ -173487,9 +173936,9 @@ call 22 ir_match_emit_ir_resolved_variant_kinds_for_tid list_string 3 14 15 20 call 23 pith_list_release_handle void 1 20 call 24 pith_list_release_handle void 1 12 store kinds 22 -jmp L3335 -label L3337 -label L3335 +jmp L3406 +label L3408 +label L3406 load 25 enum_name load 26 variant_key load 27 kinds @@ -173498,13 +173947,13 @@ call 29 ir_emitter_core_ir_emit_variant_alloc int 3 25 26 28 store r 29 iconst 30 0 store i 30 -label L3338 +label L3409 load 31 i load 32 kinds call 33 pith_list_len int 1 32 lt 34 31 33 -brif 34 L3339 L3340 -label L3339 +brif 34 L3410 L3411 +label L3410 load 35 node load 36 i call 37 ir_emitter_core_ir_method_call_arg_expr int 2 35 36 @@ -173512,8 +173961,8 @@ store arg_idx 37 load 38 arg_idx iconst 39 0 gte 40 38 39 -brif 40 L3342 L3343 -label L3342 +brif 40 L3413 L3414 +label L3413 load 41 arg_idx call 42 ir_emitter_core_ir_expr int 1 41 store arg_r 42 @@ -173525,27 +173974,27 @@ call 47 ir_struct_registry_ir_rc_kind string 1 46 call 48 pith_cstring_release void 1 43 store payload_kind 47 iconst 49 0 -store __and_49_3347 49 +store __and_49_3418 49 load 50 payload_kind call 51 string_len int 1 50 iconst 52 0 gt 53 51 52 -store __and_49_3347 53 -brif 53 L3347 L3348 -label L3347 +store __and_49_3418 53 +brif 53 L3418 L3419 +label L3418 load 54 arg_idx call 55 ir_emitter_core_ir_string_expr_is_borrowed bool 1 54 -store __and_49_3347 55 -label L3348 -load 56 __and_49_3347 -brif 56 L3345 L3346 -label L3345 +store __and_49_3418 55 +label L3419 +load 56 __and_49_3418 +brif 56 L3416 L3417 +label L3416 load 57 arg_r load 58 payload_kind call 59 ir_ownership_ir_rc_retain_reg void 2 57 58 -jmp L3344 -label L3346 -label L3344 +jmp L3415 +label L3417 +label L3415 strref 60 m51s1094 load 61 r call 62 int_to_string string 1 61 @@ -173574,15 +174023,15 @@ call 84 pith_cstring_release void 1 78 call 85 pith_cstring_release void 1 82 call 86 ir_builder_ir_emit void 1 83 call 87 pith_cstring_release void 1 83 -jmp L3341 -label L3343 -label L3341 +jmp L3412 +label L3414 +label L3412 load 88 i iconst 89 1 add 90 88 89 store i 90 -jmp L3338 -label L3340 +jmp L3409 +label L3411 load 91 r load 92 kinds call 93 pith_list_release_handle void 1 92 @@ -173620,8 +174069,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 eq 16 14 15 -brif 16 L3350 L3351 -label L3350 +brif 16 L3421 L3422 +label L3421 call 17 ir_builder_ir_reg int 0 store r 17 strref 18 m51s880 @@ -173648,8 +174097,8 @@ call 38 pith_cstring_release void 1 37 load 39 weak_struct call 40 pith_cstring_release void 1 39 ret 30 -label L3351 -label L3349 +label L3422 +label L3420 load 41 recv_node load 42 node field 43 42 16 list children @@ -173663,8 +174112,8 @@ field 49 48 0 string kind strref 50 m51s37 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L3353 L3354 -label L3353 +brif 51 L3424 L3425 +label L3424 load 53 lookup_key load 54 recv_node field 55 54 8 string value @@ -173679,27 +174128,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 L3356 L3357 -label L3356 +brif 65 L3427 L3428 +label L3427 load 66 ir_struct_registry_ir_struct_field_lookup load 67 lookup_key call 68 contains_key bool 2 66 67 -brif 68 L3359 L3360 -label L3359 +brif 68 L3430 L3431 +label L3430 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 L3362 L3363 -label L3362 +brif 74 L3433 L3434 +label L3433 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 L3365 L3366 -label L3365 +brif 78 L3436 L3437 +label L3436 load 79 recv_node field 80 79 8 string value load 81 lookup_key @@ -173716,8 +174165,8 @@ call 91 pith_cstring_release void 1 90 load 92 weak_struct call 93 pith_cstring_release void 1 92 ret 83 -label L3366 -label L3364 +label L3437 +label L3435 call 94 ir_builder_ir_reg int 0 store r 94 strref 95 m51s880 @@ -173749,17 +174198,17 @@ call 120 pith_cstring_release void 1 119 load 121 weak_struct call 122 pith_cstring_release void 1 121 ret 112 -label L3363 -label L3361 -jmp L3358 -label L3360 -label L3358 -jmp L3355 -label L3357 -label L3355 -jmp L3352 -label L3354 -label L3352 +label L3434 +label L3432 +jmp L3429 +label L3431 +label L3429 +jmp L3426 +label L3428 +label L3426 +jmp L3423 +label L3425 +label L3423 load 123 node field 124 123 16 list children iconst 125 0 @@ -173770,14 +174219,14 @@ store obj_r 127 load 128 obj_r iconst 129 0 lt 130 128 129 -brif 130 L3368 L3369 -label L3368 +brif 130 L3439 L3440 +label L3439 load 131 recv_idx call 132 ir_emitter_core_ir_expr int 1 131 store obj_r 132 -jmp L3367 -label L3369 -label L3367 +jmp L3438 +label L3440 +label L3438 call 133 ir_builder_ir_reg int 0 store r 133 load 134 r @@ -173785,8 +174234,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 L3371 L3372 -label L3371 +brif 138 L3442 L3443 +label L3442 load 139 r load 140 fname call 141 pith_cstring_release void 1 140 @@ -173799,8 +174248,8 @@ call 147 pith_cstring_release void 1 146 load 148 weak_struct call 149 pith_cstring_release void 1 148 ret 139 -label L3372 -label L3370 +label L3443 +label L3441 load 150 lk load 151 recv_idx load 152 fname @@ -173812,8 +174261,8 @@ load 156 lk call 157 contains_key bool 2 155 156 iconst 159 1 sub 158 159 157 -brif 158 L3374 L3375 -label L3374 +brif 158 L3445 L3446 +label L3445 load 160 obj_r load 161 recv_idx load 162 fname @@ -173822,8 +174271,8 @@ store checked_r 163 load 164 checked_r iconst 165 0 gte 166 164 165 -brif 166 L3377 L3378 -label L3377 +brif 166 L3448 L3449 +label L3448 load 167 checked_r load 168 fname call 169 pith_cstring_release void 1 168 @@ -173836,11 +174285,11 @@ call 175 pith_cstring_release void 1 174 load 176 weak_struct call 177 pith_cstring_release void 1 176 ret 167 -label L3378 -label L3376 -jmp L3373 -label L3375 -label L3373 +label L3449 +label L3447 +jmp L3444 +label L3446 +label L3444 load 178 r load 179 obj_r load 180 lk @@ -173857,8 +174306,8 @@ call 190 string_len int 1 189 iconst 191 1 add 192 190 191 gt 193 188 192 -brif 193 L3380 L3381 -label L3380 +brif 193 L3451 L3452 +label L3451 load 194 weak_struct load 195 lk iconst 196 0 @@ -173875,8 +174324,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 L3383 L3384 -label L3383 +brif 208 L3454 L3455 +label L3454 load 209 r call 210 ir_optionals_ir_emit_weak_read int 1 209 load 211 fname @@ -173890,11 +174339,11 @@ call 218 pith_cstring_release void 1 217 load 219 weak_struct call 220 pith_cstring_release void 1 219 ret 210 -label L3384 -label L3382 -jmp L3379 -label L3381 -label L3379 +label L3455 +label L3453 +jmp L3450 +label L3452 +label L3450 load 221 r load 222 fname call 223 pith_cstring_release void 1 222 @@ -174045,25 +174494,25 @@ store value 0 load 1 ir_emitter_core_ir_result_reg_flag iconst 2 0 lt 3 1 2 -brif 3 L3386 L3387 -label L3386 +brif 3 L3457 L3458 +label L3457 load 4 value strref 5 m51s1288 call 6 env_opt tuple 1 5 call 7 pith_cstring_release void 1 5 field 8 6 0 bool is_some -brif 8 L3388 L3389 -label L3388 +brif 8 L3459 L3460 +label L3459 field 9 6 8 string value call 10 pith_cstring_retain void 1 9 -store __unwrap_or_9_3388 9 -jmp L3390 -label L3389 +store __unwrap_or_9_3459 9 +jmp L3461 +label L3460 strref 11 m51s83 -store __unwrap_or_9_3388 11 -label L3390 +store __unwrap_or_9_3459 11 +label L3461 call 12 pith_struct_release void 1 6 -load 13 __unwrap_or_9_3388 +load 13 __unwrap_or_9_3459 call 14 pith_cstring_retain void 1 13 call 15 pith_cstring_release void 1 4 store value 13 @@ -174071,18 +174520,18 @@ load 16 value strref 17 m51s184 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3392 L3393 -label L3392 +brif 18 L3463 L3464 +label L3463 iconst 20 1 store ir_emitter_core_ir_result_reg_flag 20 -jmp L3391 -label L3393 +jmp L3462 +label L3464 iconst 21 0 store ir_emitter_core_ir_result_reg_flag 21 -label L3391 -jmp L3385 -label L3387 -label L3385 +label L3462 +jmp L3456 +label L3458 +label L3456 load 22 ir_emitter_core_ir_result_reg_flag iconst 23 1 eq 24 22 23 @@ -174103,46 +174552,46 @@ store ok_kind 3 call 4 ir_emitter_core_ir_result_reg_enabled bool 0 iconst 6 1 sub 5 6 4 -brif 5 L3395 L3396 -label L3395 +brif 5 L3466 L3467 +label L3466 load 7 ok_kind call 8 pith_cstring_release void 1 7 iconst 9 0 ret 9 -label L3396 -label L3394 +label L3467 +label L3465 load 10 name strref 11 m51s1213 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L3398 L3399 -label L3398 +brif 12 L3469 L3470 +label L3469 load 14 ok_kind call 15 pith_cstring_release void 1 14 iconst 16 0 ret 16 -label L3399 -label L3397 +label L3470 +label L3468 load 17 node call 18 ir_generics_ir_has_generic_params bool 1 17 -brif 18 L3401 L3402 -label L3401 +brif 18 L3472 L3473 +label L3472 load 19 ok_kind call 20 pith_cstring_release void 1 19 iconst 21 0 ret 21 -label L3402 -label L3400 +label L3473 +label L3471 iconst 22 0 -store __or_22_3406 22 +store __or_22_3477 22 load 23 ir_method_tables_ir_func_returns load 24 name call 25 contains_key bool 2 23 24 iconst 27 1 sub 26 27 25 -store __or_22_3406 26 -brif 26 L3407 L3406 -label L3406 +store __or_22_3477 26 +brif 26 L3478 L3477 +label L3477 load 28 ir_method_tables_ir_func_returns load 29 name call 30 map_get_strict string 2 28 29 @@ -174151,30 +174600,30 @@ call 33 pith_cstring_eq bool 2 30 31 iconst 34 1 sub 32 34 33 call 35 pith_cstring_release void 1 31 -store __or_22_3406 32 -label L3407 -load 36 __or_22_3406 -brif 36 L3404 L3405 -label L3404 +store __or_22_3477 32 +label L3478 +load 36 __or_22_3477 +brif 36 L3475 L3476 +label L3475 load 37 ok_kind call 38 pith_cstring_release void 1 37 iconst 39 0 ret 39 -label L3405 -label L3403 +label L3476 +label L3474 load 40 ir_result_abi_ir_func_result_ok_kinds load 41 name call 42 contains_key bool 2 40 41 iconst 44 1 sub 43 44 42 -brif 43 L3409 L3410 -label L3409 +brif 43 L3480 L3481 +label L3480 load 45 ok_kind call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L3410 -label L3408 +label L3481 +label L3479 load 48 ok_kind load 49 ir_result_abi_ir_func_result_ok_kinds load 50 name @@ -174186,14 +174635,14 @@ load 54 ok_kind call 55 ir_emitter_core_ir_result_reg_ok_kind_fits bool 1 54 iconst 57 1 sub 56 57 55 -brif 56 L3412 L3413 -label L3412 +brif 56 L3483 L3484 +label L3483 load 58 ok_kind call 59 pith_cstring_release void 1 58 iconst 60 0 ret 60 -label L3413 -label L3411 +label L3484 +label L3482 load 61 node field 62 61 16 list children call 63 pith_auto_len int 1 62 @@ -174201,33 +174650,33 @@ iconst 64 0 store __for_idx_390 64 store __for_len_390 63 store __for_iter_390 62 -label L3414 +label L3485 load 65 __for_idx_390 load 66 __for_len_390 lt 67 65 66 -brif 67 L3415 L3417 -label L3415 +brif 67 L3486 L3488 +label L3486 load 68 __for_iter_390 load 69 __for_idx_390 call 70 pith_list_get_value unknown 2 68 69 store __loopvar_390_child_idx 70 load 71 __loopvar_390_child_idx call 72 ir_emitter_core_ir_node_contains_lambda_or_spawn bool 1 71 -brif 72 L3419 L3420 -label L3419 +brif 72 L3490 L3491 +label L3490 load 73 ok_kind call 74 pith_cstring_release void 1 73 iconst 75 0 ret 75 -label L3420 -label L3418 -label L3416 +label L3491 +label L3489 +label L3487 load 76 __for_idx_390 iconst 77 1 add 78 76 77 store __for_idx_390 78 -jmp L3414 -label L3417 +jmp L3485 +label L3488 load 79 ir_result_abi_ir_result_reg_funcs load 80 name iconst 81 1 @@ -174258,12 +174707,12 @@ iconst 12 0 store __for_idx_391 12 store __for_len_391 11 store __for_iter_391 10 -label L3421 +label L3492 load 13 __for_idx_391 load 14 __for_len_391 lt 15 13 14 -brif 15 L3422 L3424 -label L3422 +brif 15 L3493 L3495 +label L3493 load 16 __for_iter_391 load 17 __for_idx_391 call 18 pith_list_get_value unknown 2 16 17 @@ -174278,8 +174727,8 @@ field 24 23 0 string kind strref 25 m51s323 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L3426 L3427 -label L3426 +brif 26 L3497 L3498 +label L3497 load 28 cn field 29 28 16 list children call 30 pith_auto_len int 1 29 @@ -174287,12 +174736,12 @@ iconst 31 0 store __for_idx_392 31 store __for_len_392 30 store __for_iter_392 29 -label L3428 +label L3499 load 32 __for_idx_392 load 33 __for_len_392 lt 34 32 33 -brif 34 L3429 L3431 -label L3429 +brif 34 L3500 L3502 +label L3500 load 35 __for_iter_392 load 36 __for_idx_392 call 37 pith_list_get_value unknown 2 35 36 @@ -174303,25 +174752,25 @@ call 40 ast_get_node struct:Node 1 39 call 41 pith_struct_release void 1 38 store rn 40 iconst 42 0 -store __and_42_3435 42 +store __and_42_3506 42 load 43 rn field 44 43 0 string kind strref 45 m51s330 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -store __and_42_3435 46 -brif 46 L3435 L3436 -label L3435 +store __and_42_3506 46 +brif 46 L3506 L3507 +label L3506 load 48 rn field 49 48 16 list children call 50 pith_list_len int 1 49 iconst 51 0 gt 52 50 51 -store __and_42_3435 52 -label L3436 -load 53 __and_42_3435 -brif 53 L3433 L3434 -label L3433 +store __and_42_3506 52 +label L3507 +load 53 __and_42_3506 +brif 53 L3504 L3505 +label L3504 load 54 impl_type load 55 rn field 56 55 16 list children @@ -174339,25 +174788,25 @@ call 67 pith_struct_release void 1 66 load 68 rn call 69 pith_struct_release void 1 68 ret 62 -label L3434 -label L3432 -label L3430 +label L3505 +label L3503 +label L3501 load 70 __for_idx_392 iconst 71 1 add 72 70 71 store __for_idx_392 72 -jmp L3428 -label L3431 -jmp L3425 -label L3427 -label L3425 -label L3423 +jmp L3499 +label L3502 +jmp L3496 +label L3498 +label L3496 +label L3494 load 73 __for_idx_391 iconst 74 1 add 75 73 74 store __for_idx_391 75 -jmp L3421 -label L3424 +jmp L3492 +label L3495 strref 76 m51s83 load 77 node call 78 pith_struct_release void 1 77 @@ -174388,58 +174837,58 @@ store full_name 6 call 7 ir_emitter_core_ir_result_reg_enabled bool 0 iconst 9 1 sub 8 9 7 -brif 8 L3438 L3439 -label L3438 +brif 8 L3509 L3510 +label L3509 load 10 ok_kind call 11 pith_cstring_release void 1 10 load 12 full_name call 13 pith_cstring_release void 1 12 iconst 14 0 ret 14 -label L3439 -label L3437 +label L3510 +label L3508 load 15 impl_node call 16 ir_emitter_core_ir_impl_interface_base string 1 15 call 17 string_len int 1 16 call 18 pith_cstring_release void 1 16 iconst 19 0 gt 20 17 19 -brif 20 L3441 L3442 -label L3441 +brif 20 L3512 L3513 +label L3512 load 21 ok_kind call 22 pith_cstring_release void 1 21 load 23 full_name call 24 pith_cstring_release void 1 23 iconst 25 0 ret 25 -label L3442 -label L3440 +label L3513 +label L3511 load 26 impl_type strref 27 m51s343 call 28 pith_cstring_contains bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L3444 L3445 -label L3444 +brif 28 L3515 L3516 +label L3515 load 30 ok_kind call 31 pith_cstring_release void 1 30 load 32 full_name call 33 pith_cstring_release void 1 32 iconst 34 0 ret 34 -label L3445 -label L3443 +label L3516 +label L3514 load 35 method_node call 36 ir_generics_ir_has_generic_params bool 1 35 -brif 36 L3447 L3448 -label L3447 +brif 36 L3518 L3519 +label L3518 load 37 ok_kind call 38 pith_cstring_release void 1 37 load 39 full_name call 40 pith_cstring_release void 1 39 iconst 41 0 ret 41 -label L3448 -label L3446 +label L3519 +label L3517 load 42 impl_type load 43 method_idx call 44 ir_emitter_core_ir_extract_return_type string 1 43 @@ -174451,16 +174900,16 @@ iconst 50 1 sub 48 50 49 call 51 pith_cstring_release void 1 45 call 52 pith_cstring_release void 1 47 -brif 48 L3450 L3451 -label L3450 +brif 48 L3521 L3522 +label L3521 load 53 ok_kind call 54 pith_cstring_release void 1 53 load 55 full_name call 56 pith_cstring_release void 1 55 iconst 57 0 ret 57 -label L3451 -label L3449 +label L3522 +label L3520 load 58 ok_kind load 59 impl_type load 60 method_idx @@ -174471,16 +174920,16 @@ load 63 ok_kind call 64 ir_emitter_core_ir_result_reg_ok_kind_fits bool 1 63 iconst 66 1 sub 65 66 64 -brif 65 L3453 L3454 -label L3453 +brif 65 L3524 L3525 +label L3524 load 67 ok_kind call 68 pith_cstring_release void 1 67 load 69 full_name call 70 pith_cstring_release void 1 69 iconst 71 0 ret 71 -label L3454 -label L3452 +label L3525 +label L3523 load 72 method_node field 73 72 16 list children call 74 pith_auto_len int 1 73 @@ -174488,35 +174937,35 @@ iconst 75 0 store __for_idx_393 75 store __for_len_393 74 store __for_iter_393 73 -label L3455 +label L3526 load 76 __for_idx_393 load 77 __for_len_393 lt 78 76 77 -brif 78 L3456 L3458 -label L3456 +brif 78 L3527 L3529 +label L3527 load 79 __for_iter_393 load 80 __for_idx_393 call 81 pith_list_get_value unknown 2 79 80 store __loopvar_393_child_idx 81 load 82 __loopvar_393_child_idx call 83 ir_emitter_core_ir_node_contains_lambda_or_spawn bool 1 82 -brif 83 L3460 L3461 -label L3460 +brif 83 L3531 L3532 +label L3531 load 84 ok_kind call 85 pith_cstring_release void 1 84 load 86 full_name call 87 pith_cstring_release void 1 86 iconst 88 0 ret 88 -label L3461 -label L3459 -label L3457 +label L3532 +label L3530 +label L3528 load 89 __for_idx_393 iconst 90 1 add 91 89 90 store __for_idx_393 91 -jmp L3455 -label L3458 +jmp L3526 +label L3529 load 92 full_name load 93 impl_type strref 94 m51s80 @@ -174532,8 +174981,8 @@ load 102 module_path call 103 string_len int 1 102 iconst 104 0 gt 105 103 104 -brif 105 L3463 L3464 -label L3463 +brif 105 L3534 L3535 +label L3534 load 106 full_name load 107 module_path load 108 impl_type @@ -174542,9 +174991,9 @@ field 110 109 8 string value call 111 ir_names_ir_import_impl_method_name string 3 107 108 110 call 112 pith_cstring_release void 1 106 store full_name 111 -jmp L3462 -label L3464 -label L3462 +jmp L3533 +label L3535 +label L3533 load 113 ir_result_abi_ir_result_reg_funcs load 114 full_name iconst 115 1 @@ -174570,31 +175019,31 @@ 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_3468 6 +store __or_6_3539 6 load 7 node field 8 7 0 string kind strref 9 m51s512 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_6_3468 10 -brif 10 L3469 L3468 -label L3468 +store __or_6_3539 10 +brif 10 L3540 L3539 +label L3539 load 12 node field 13 12 0 string kind strref 14 m51s510 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_6_3468 15 -label L3469 -load 17 __or_6_3468 -brif 17 L3466 L3467 -label L3466 +store __or_6_3539 15 +label L3540 +load 17 __or_6_3539 +brif 17 L3537 L3538 +label L3537 iconst 18 1 load 19 node call 20 pith_struct_release void 1 19 ret 18 -label L3467 -label L3465 +label L3538 +label L3536 load 21 node field 22 21 16 list children call 23 pith_auto_len int 1 22 @@ -174602,33 +175051,33 @@ iconst 24 0 store __for_idx_394 24 store __for_len_394 23 store __for_iter_394 22 -label L3470 +label L3541 load 25 __for_idx_394 load 26 __for_len_394 lt 27 25 26 -brif 27 L3471 L3473 -label L3471 +brif 27 L3542 L3544 +label L3542 load 28 __for_iter_394 load 29 __for_idx_394 call 30 pith_list_get_value unknown 2 28 29 store __loopvar_394_child_idx 30 load 31 __loopvar_394_child_idx call 32 ir_emitter_core_ir_node_contains_lambda_or_spawn bool 1 31 -brif 32 L3475 L3476 -label L3475 +brif 32 L3546 L3547 +label L3546 iconst 33 1 load 34 node call 35 pith_struct_release void 1 34 ret 33 -label L3476 -label L3474 -label L3472 +label L3547 +label L3545 +label L3543 load 36 __for_idx_394 iconst 37 1 add 38 36 37 store __for_idx_394 38 -jmp L3470 -label L3473 +jmp L3541 +label L3544 iconst 39 0 load 40 node call 41 pith_struct_release void 1 40 @@ -174641,121 +175090,121 @@ endfunc func ir_emitter_core_ir_result_reg_ok_kind_fits 1 bool param ok_kind iconst 1 0 -store __or_1_3480 1 +store __or_1_3551 1 iconst 2 0 -store __or_2_3480 2 +store __or_2_3551 2 iconst 3 0 -store __or_3_3480 3 +store __or_3_3551 3 load 4 ok_kind strref 5 m51s712 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_3_3480 6 -brif 6 L3481 L3480 -label L3480 +store __or_3_3551 6 +brif 6 L3552 L3551 +label L3551 load 8 ok_kind strref 9 m51s714 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_3_3480 10 -label L3481 -load 12 __or_3_3480 -store __or_2_3480 12 -brif 12 L3483 L3482 -label L3482 +store __or_3_3551 10 +label L3552 +load 12 __or_3_3551 +store __or_2_3551 12 +brif 12 L3554 L3553 +label L3553 load 13 ok_kind strref 14 m51s716 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_2_3480 15 -label L3483 -load 17 __or_2_3480 -store __or_1_3480 17 -brif 17 L3485 L3484 -label L3484 +store __or_2_3551 15 +label L3554 +load 17 __or_2_3551 +store __or_1_3551 17 +brif 17 L3556 L3555 +label L3555 load 18 ok_kind strref 19 m51s715 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_1_3480 20 -label L3485 -load 22 __or_1_3480 -brif 22 L3478 L3479 -label L3478 +store __or_1_3551 20 +label L3556 +load 22 __or_1_3551 +brif 22 L3549 L3550 +label L3549 iconst 23 1 ret 23 -label L3479 -label L3477 +label L3550 +label L3548 iconst 24 0 -store __or_24_3489 24 +store __or_24_3560 24 iconst 25 0 -store __or_25_3489 25 +store __or_25_3560 25 iconst 26 0 -store __or_26_3489 26 +store __or_26_3560 26 iconst 27 0 -store __or_27_3489 27 +store __or_27_3560 27 iconst 28 0 -store __or_28_3489 28 +store __or_28_3560 28 load 29 ok_kind strref 30 m51s20 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_28_3489 31 -brif 31 L3490 L3489 -label L3489 +store __or_28_3560 31 +brif 31 L3561 L3560 +label L3560 load 33 ok_kind strref 34 m51s709 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_28_3489 35 -label L3490 -load 37 __or_28_3489 -store __or_27_3489 37 -brif 37 L3492 L3491 -label L3491 +store __or_28_3560 35 +label L3561 +load 37 __or_28_3560 +store __or_27_3560 37 +brif 37 L3563 L3562 +label L3562 load 38 ok_kind strref 39 m51s19 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_27_3489 40 -label L3492 -load 42 __or_27_3489 -store __or_26_3489 42 -brif 42 L3494 L3493 -label L3493 +store __or_27_3560 40 +label L3563 +load 42 __or_27_3560 +store __or_26_3560 42 +brif 42 L3565 L3564 +label L3564 load 43 ok_kind strref 44 m51s711 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_26_3489 45 -label L3494 -load 47 __or_26_3489 -store __or_25_3489 47 -brif 47 L3496 L3495 -label L3495 +store __or_26_3560 45 +label L3565 +load 47 __or_26_3560 +store __or_25_3560 47 +brif 47 L3567 L3566 +label L3566 load 48 ok_kind strref 49 m51s18 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -store __or_25_3489 50 -label L3496 -load 52 __or_25_3489 -store __or_24_3489 52 -brif 52 L3498 L3497 -label L3497 +store __or_25_3560 50 +label L3567 +load 52 __or_25_3560 +store __or_24_3560 52 +brif 52 L3569 L3568 +label L3568 load 53 ok_kind strref 54 m51s710 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_24_3489 55 -label L3498 -load 57 __or_24_3489 -brif 57 L3487 L3488 -label L3487 +store __or_24_3560 55 +label L3569 +load 57 __or_24_3560 +brif 57 L3558 L3559 +label L3558 iconst 58 1 ret 58 -label L3488 -label L3486 +label L3559 +label L3557 load 59 ok_kind strref 60 m51s931 call 61 pith_cstring_starts_with bool 2 59 60 @@ -174784,8 +175233,8 @@ store payload_kind 9 load 11 ir_result_abi_ir_func_result_ok_kinds load 12 fname call 13 contains_key bool 2 11 12 -brif 13 L3500 L3501 -label L3500 +brif 13 L3571 L3572 +label L3571 load 14 payload_kind load 15 ir_result_abi_ir_func_result_ok_kinds load 16 fname @@ -174793,9 +175242,9 @@ call 17 map_get_strict string 2 15 16 call 18 pith_cstring_retain void 1 17 call 19 pith_cstring_release void 1 14 store payload_kind 17 -jmp L3499 -label L3501 -label L3499 +jmp L3570 +label L3572 +label L3570 load 20 line strref 21 m51s1088 load 22 flag_r @@ -174841,35 +175290,35 @@ load 60 arg_text call 61 string_len int 1 60 iconst 62 0 gt 63 61 62 -brif 63 L3503 L3504 -label L3503 +brif 63 L3574 L3575 +label L3574 load 64 line load 65 line load 66 arg_text concat 67 65 66 call 68 pith_cstring_release void 1 64 store line 67 -jmp L3502 -label L3504 -label L3502 +jmp L3573 +label L3575 +label L3573 load 69 line call 70 ir_builder_ir_emit void 1 69 iconst 71 0 -store __and_71_3508 71 +store __and_71_3579 71 load 72 ir_emitter_core_ir_rcall_current_idx iconst 73 0 gte 74 72 73 -store __and_71_3508 74 -brif 74 L3508 L3509 -label L3508 +store __and_71_3579 74 +brif 74 L3579 L3580 +label L3579 load 75 ir_emitter_core_ir_rcall_current_idx load 76 ir_emitter_core_ir_rcall_defer_idx eq 77 75 76 -store __and_71_3508 77 -label L3509 -load 78 __and_71_3508 -brif 78 L3506 L3507 -label L3506 +store __and_71_3579 77 +label L3580 +load 78 __and_71_3579 +brif 78 L3577 L3578 +label L3577 iconst 79 1 store ir_emitter_core_ir_rcall_pair_ready 79 load 80 flag_r @@ -174882,8 +175331,8 @@ call 84 pith_cstring_release void 1 83 load 85 line call 86 pith_cstring_release void 1 85 ret 82 -label L3507 -label L3505 +label L3578 +label L3576 load 87 flag_r load 88 val_r call 89 ir_emitter_core_ir_emit_result_reg_box int 2 87 88 @@ -175147,30 +175596,30 @@ call 90 ir_call_emit_ir_emit_label void 1 89 load 91 raw_r store ok_r 91 iconst 92 0 -store __or_92_3513 92 +store __or_92_3584 92 load 93 legacy_kind strref 94 m51s853 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -store __or_92_3513 95 -brif 95 L3514 L3513 -label L3513 +store __or_92_3584 95 +brif 95 L3585 L3584 +label L3584 load 97 legacy_kind strref 98 m51s852 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __or_92_3513 99 -label L3514 -load 101 __or_92_3513 -brif 101 L3511 L3512 -label L3511 +store __or_92_3584 99 +label L3585 +load 101 __or_92_3584 +brif 101 L3582 L3583 +label L3582 load 102 raw_r load 103 legacy_kind call 104 ir_result_abi_ir_decode_result_value int 2 102 103 store ok_r 104 -jmp L3510 -label L3512 -label L3510 +jmp L3581 +label L3583 +label L3581 call 105 ir_builder_ir_reg int 0 store one_r 105 strref 106 m51s880 @@ -175363,8 +175812,8 @@ load 17 legacy_kind strref 18 m51s713 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L3516 L3517 -label L3516 +brif 19 L3587 L3588 +label L3587 strref 21 m51s1100 load 22 zero_r call 23 int_to_string string 1 22 @@ -175377,8 +175826,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 L3515 -label L3517 +jmp L3586 +label L3588 strref 33 m51s880 load 34 zero_r call 35 int_to_string string 1 34 @@ -175391,7 +175840,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 L3515 +label L3586 call 45 ir_builder_ir_reg int 0 store cond_r 45 strref 46 m51s1091 @@ -175459,30 +175908,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_3521 106 +store __or_106_3592 106 load 107 legacy_kind strref 108 m51s853 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -store __or_106_3521 109 -brif 109 L3522 L3521 -label L3521 +store __or_106_3592 109 +brif 109 L3593 L3592 +label L3592 load 111 legacy_kind strref 112 m51s852 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -store __or_106_3521 113 -label L3522 -load 115 __or_106_3521 -brif 115 L3519 L3520 -label L3519 +store __or_106_3592 113 +label L3593 +load 115 __or_106_3592 +brif 115 L3590 L3591 +label L3590 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 L3518 -label L3520 -label L3518 +jmp L3589 +label L3591 +label L3589 load 119 ok_r call 120 ir_emitter_core_ir_emit_ok_result_tuple int 1 119 store ok_tuple 120 @@ -175582,8 +176031,8 @@ store obj_tid 7 load 8 obj_tid iconst 9 0 gte 10 8 9 -brif 10 L3524 L3525 -label L3524 +brif 10 L3595 L3596 +label L3595 load 11 obj_info load 12 obj_tid call 13 types_get_type_info struct:TypeInfo 1 12 @@ -175594,14 +176043,14 @@ field 16 15 0 string kind strref 17 m51s22 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3527 L3528 -label L3527 +brif 18 L3598 L3599 +label L3598 load 20 fname strref 21 m51s190 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L3530 L3531 -label L3530 +brif 22 L3601 L3602 +label L3601 load 24 obj_r load 25 obj_tid strref 26 m51s190 @@ -175610,14 +176059,14 @@ call 28 pith_cstring_release void 1 26 load 29 obj_info call 30 pith_struct_release void 1 29 ret 27 -label L3531 -label L3529 +label L3602 +label L3600 load 31 fname strref 32 m51s189 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L3533 L3534 -label L3533 +brif 33 L3604 L3605 +label L3604 load 35 obj_r load 36 obj_tid strref 37 m51s189 @@ -175626,40 +176075,40 @@ call 39 pith_cstring_release void 1 37 load 40 obj_info call 41 pith_struct_release void 1 40 ret 38 -label L3534 -label L3532 +label L3605 +label L3603 iconst 42 0 -store __or_42_3538 42 +store __or_42_3609 42 load 43 fname strref 44 m51s192 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_42_3538 45 -brif 45 L3539 L3538 -label L3538 +store __or_42_3609 45 +brif 45 L3610 L3609 +label L3609 load 47 fname strref 48 m51s191 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_42_3538 49 -label L3539 -load 51 __or_42_3538 -brif 51 L3536 L3537 -label L3536 +store __or_42_3609 49 +label L3610 +load 51 __or_42_3609 +brif 51 L3607 L3608 +label L3607 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 L3537 -label L3535 -jmp L3526 -label L3528 -label L3526 -jmp L3523 -label L3525 -label L3523 +label L3608 +label L3606 +jmp L3597 +label L3599 +label L3597 +jmp L3594 +label L3596 +label L3594 iconst 57 0 iconst 58 1 sub 59 57 58 @@ -175685,16 +176134,16 @@ load 7 node field 8 7 16 list children call 9 pith_list_len int 1 8 gte 10 6 9 -brif 10 L3541 L3542 -label L3541 +brif 10 L3612 L3613 +label L3612 iconst 11 0 iconst 12 1 sub 13 11 12 load 14 cn call 15 pith_struct_release void 1 14 ret 13 -label L3542 -label L3540 +label L3613 +label L3611 load 16 node field 17 16 16 list children load 18 actual_index @@ -175706,25 +176155,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_3546 24 +store __and_24_3617 24 load 25 cn field 26 25 0 string kind strref 27 m51s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __and_24_3546 28 -brif 28 L3546 L3547 -label L3546 +store __and_24_3617 28 +brif 28 L3617 L3618 +label L3617 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_3546 34 -label L3547 -load 35 __and_24_3546 -brif 35 L3544 L3545 -label L3544 +store __and_24_3617 34 +label L3618 +load 35 __and_24_3617 +brif 35 L3615 L3616 +label L3615 load 36 cn field 37 36 16 list children iconst 38 0 @@ -175732,8 +176181,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 L3545 -label L3543 +label L3616 +label L3614 load 42 child load 43 cn call 44 pith_struct_release void 1 43 @@ -175753,25 +176202,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_3551 6 +store __and_6_3622 6 load 7 node field 8 7 0 string kind strref 9 m51s524 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __and_6_3551 10 -brif 10 L3551 L3552 -label L3551 +store __and_6_3622 10 +brif 10 L3622 L3623 +label L3622 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_3551 16 -label L3552 -load 17 __and_6_3551 -brif 17 L3549 L3550 -label L3549 +store __and_6_3622 16 +label L3623 +load 17 __and_6_3622 +brif 17 L3620 L3621 +label L3620 load 18 node field 19 18 16 list children iconst 20 0 @@ -175780,86 +176229,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 L3550 -label L3548 +label L3621 +label L3619 iconst 25 0 -store __or_25_3556 25 +store __or_25_3627 25 iconst 26 0 -store __or_26_3556 26 +store __or_26_3627 26 load 27 node field 28 27 0 string kind strref 29 m51s44 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_26_3556 30 -brif 30 L3557 L3556 -label L3556 +store __or_26_3627 30 +brif 30 L3628 L3627 +label L3627 load 32 node field 33 32 0 string kind strref 34 m51s130 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_26_3556 35 -label L3557 -load 37 __or_26_3556 -store __or_25_3556 37 -brif 37 L3559 L3558 -label L3558 +store __or_26_3627 35 +label L3628 +load 37 __or_26_3627 +store __or_25_3627 37 +brif 37 L3630 L3629 +label L3629 load 38 node field 39 38 0 string kind strref 40 m51s509 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_25_3556 41 -label L3559 -load 43 __or_25_3556 -brif 43 L3554 L3555 -label L3554 +store __or_25_3627 41 +label L3630 +load 43 __or_25_3627 +brif 43 L3625 L3626 +label L3625 strref 44 m51s1284 load 45 node call 46 pith_struct_release void 1 45 ret 44 -label L3555 -label L3553 +label L3626 +label L3624 iconst 47 0 -store __or_47_3563 47 +store __or_47_3634 47 iconst 48 0 -store __or_48_3563 48 +store __or_48_3634 48 load 49 node field 50 49 0 string kind strref 51 m51s37 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_48_3563 52 -brif 52 L3564 L3563 -label L3563 +store __or_48_3634 52 +brif 52 L3635 L3634 +label L3634 load 54 node field 55 54 0 string kind strref 56 m51s36 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -store __or_48_3563 57 -label L3564 -load 59 __or_48_3563 -store __or_47_3563 59 -brif 59 L3566 L3565 -label L3565 +store __or_48_3634 57 +label L3635 +load 59 __or_48_3634 +store __or_47_3634 59 +brif 59 L3637 L3636 +label L3636 load 60 node field 61 60 0 string kind strref 62 m51s35 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __or_47_3563 63 -label L3566 -load 65 __or_47_3563 -brif 65 L3561 L3562 -label L3561 +store __or_47_3634 63 +label L3637 +load 65 __or_47_3634 +brif 65 L3632 L3633 +label L3632 strref 66 m51s1259 load 67 node call 68 pith_struct_release void 1 67 ret 66 -label L3562 -label L3560 +label L3633 +label L3631 strref 69 m51s1283 load 70 node call 71 pith_struct_release void 1 70 @@ -175963,21 +176412,21 @@ load 78 arg_idx call 79 ir_emitter_core_ir_expr int 1 78 store fallback_r 79 iconst 80 0 -store __and_80_3570 80 +store __and_80_3641 80 load 81 idx call 82 ir_emitter_core_ir_string_expr_is_borrowed bool 1 81 iconst 84 1 sub 83 84 82 -store __and_80_3570 83 -brif 83 L3570 L3571 -label L3570 +store __and_80_3641 83 +brif 83 L3641 L3642 +label L3641 load 85 arg_idx call 86 ir_emitter_core_ir_string_expr_is_borrowed bool 1 85 -store __and_80_3570 86 -label L3571 -load 87 __and_80_3570 -brif 87 L3568 L3569 -label L3568 +store __and_80_3641 86 +label L3642 +load 87 __and_80_3641 +brif 87 L3639 L3640 +label L3639 load 88 fallback_r load 89 recv_tid strref 90 m51s190 @@ -175987,9 +176436,9 @@ call 93 ir_struct_registry_ir_rc_kind string 1 91 call 94 pith_cstring_release void 1 91 call 95 ir_ownership_ir_rc_retain_reg void 2 88 93 call 96 pith_cstring_release void 1 93 -jmp L3567 -label L3569 -label L3567 +jmp L3638 +label L3640 +label L3638 load 97 err_kind load 98 recv_tid strref 99 m51s189 @@ -176003,14 +176452,14 @@ load 105 err_kind call 106 string_len int 1 105 iconst 107 0 gt 108 106 107 -brif 108 L3573 L3574 -label L3573 +brif 108 L3644 L3645 +label L3644 load 109 val_r load 110 err_kind call 111 ir_ownership_ir_rc_release_reg void 2 109 110 -jmp L3572 -label L3574 -label L3572 +jmp L3643 +label L3645 +label L3643 strref 112 m51s878 load 113 temp_name concat 114 112 113 @@ -176101,8 +176550,8 @@ store recv_r 17 load 18 saved_defer store ir_emitter_core_ir_rcall_defer_idx 18 load 19 ir_emitter_core_ir_rcall_pair_ready -brif 19 L3576 L3577 -label L3576 +brif 19 L3647 L3648 +label L3647 iconst 20 0 store ir_emitter_core_ir_rcall_pair_ready 20 load 21 idx @@ -176121,8 +176570,8 @@ call 33 pith_cstring_release void 1 32 load 34 merge_l call 35 pith_cstring_release void 1 34 ret 25 -label L3577 -label L3575 +label L3648 +label L3646 load 36 node field 37 36 16 list children iconst 38 0 @@ -176198,14 +176647,14 @@ load 98 operand_class strref 99 m51s1259 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -brif 100 L3579 L3580 -label L3579 +brif 100 L3650 L3651 +label L3650 load 102 idx call 103 ir_emitter_core_ir_string_expr_is_borrowed bool 1 102 iconst 105 1 sub 104 105 103 -brif 104 L3582 L3583 -label L3582 +brif 104 L3653 L3654 +label L3653 load 106 ok_value_r load 107 recv_tid strref 108 m51s190 @@ -176215,11 +176664,11 @@ call 111 ir_struct_registry_ir_rc_kind string 1 109 call 112 pith_cstring_release void 1 109 call 113 ir_ownership_ir_rc_retain_reg void 2 106 111 call 114 pith_cstring_release void 1 111 -jmp L3581 -label L3583 -label L3581 -jmp L3578 -label L3580 +jmp L3652 +label L3654 +label L3652 +jmp L3649 +label L3651 call 115 ir_builder_ir_reg int 0 strref 116 m51s946 strref 117 m51s876 @@ -176227,7 +176676,7 @@ load 118 recv_r call 119 ir_call_emit_ir_emit_call1 void 4 115 116 117 118 call 120 pith_cstring_release void 1 116 call 121 pith_cstring_release void 1 117 -label L3578 +label L3649 strref 122 m51s878 load 123 temp_name concat 124 122 123 @@ -176255,21 +176704,21 @@ load 145 arg_idx call 146 ir_emitter_core_ir_expr int 1 145 store fallback_r 146 iconst 147 0 -store __and_147_3587 147 +store __and_147_3658 147 load 148 idx call 149 ir_emitter_core_ir_string_expr_is_borrowed bool 1 148 iconst 151 1 sub 150 151 149 -store __and_147_3587 150 -brif 150 L3587 L3588 -label L3587 +store __and_147_3658 150 +brif 150 L3658 L3659 +label L3658 load 152 arg_idx call 153 ir_emitter_core_ir_string_expr_is_borrowed bool 1 152 -store __and_147_3587 153 -label L3588 -load 154 __and_147_3587 -brif 154 L3585 L3586 -label L3585 +store __and_147_3658 153 +label L3659 +load 154 __and_147_3658 +brif 154 L3656 L3657 +label L3656 load 155 fallback_r load 156 recv_tid strref 157 m51s190 @@ -176279,17 +176728,17 @@ call 160 ir_struct_registry_ir_rc_kind string 1 158 call 161 pith_cstring_release void 1 158 call 162 ir_ownership_ir_rc_retain_reg void 2 155 160 call 163 pith_cstring_release void 1 160 -jmp L3584 -label L3586 -label L3584 +jmp L3655 +label L3657 +label L3655 load 164 operand_class strref 165 m51s1259 call 167 pith_cstring_eq bool 2 164 165 iconst 168 1 sub 166 168 167 call 169 pith_cstring_release void 1 165 -brif 166 L3590 L3591 -label L3590 +brif 166 L3661 L3662 +label L3661 load 170 recv_r load 171 recv_tid call 172 ir_emitter_core_ir_emit_release_result_error void 2 170 171 @@ -176300,9 +176749,9 @@ load 176 recv_r call 177 ir_call_emit_ir_emit_call1 void 4 173 174 175 176 call 178 pith_cstring_release void 1 174 call 179 pith_cstring_release void 1 175 -jmp L3589 -label L3591 -label L3589 +jmp L3660 +label L3662 +label L3660 strref 180 m51s878 load 181 temp_name concat 182 180 181 @@ -176386,8 +176835,8 @@ store err_tid 12 load 13 recv_tid iconst 14 0 gte 15 13 14 -brif 15 L3593 L3594 -label L3593 +brif 15 L3664 L3665 +label L3664 load 16 recv_info load 17 recv_tid call 18 types_get_type_info struct:TypeInfo 1 17 @@ -176398,20 +176847,20 @@ field 21 20 0 string kind strref 22 m51s22 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L3596 L3597 -label L3596 +brif 23 L3667 L3668 +label L3667 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 L3595 -label L3597 -label L3595 -jmp L3592 -label L3594 -label L3592 +jmp L3666 +label L3668 +label L3666 +jmp L3663 +label L3665 +label L3663 load 29 recv_r strref 30 m51s192 call 31 ir_result_abi_ir_emit_result_flag_field int 2 29 30 @@ -176573,24 +177022,24 @@ load 8 value_type strref 9 m51s716 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L3599 L3600 -label L3599 +brif 10 L3670 L3671 +label L3670 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 L3600 -label L3598 +label L3671 +label L3669 call 17 ir_builder_ir_reg int 0 store out_r 17 load 18 value_type strref 19 m51s714 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L3602 L3603 -label L3602 +brif 20 L3673 L3674 +label L3673 load 22 out_r strref 23 m51s704 strref 24 m51s716 @@ -176604,14 +177053,14 @@ call 31 pith_cstring_release void 1 30 load 32 value_info call 33 pith_struct_release void 1 32 ret 29 -label L3603 -label L3601 +label L3674 +label L3672 load 34 value_type strref 35 m51s713 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -brif 36 L3605 L3606 -label L3605 +brif 36 L3676 L3677 +label L3676 load 38 out_r strref 39 m51s705 strref 40 m51s716 @@ -176625,14 +177074,14 @@ call 47 pith_cstring_release void 1 46 load 48 value_info call 49 pith_struct_release void 1 48 ret 45 -label L3606 -label L3604 +label L3677 +label L3675 load 50 value_type strref 51 m51s712 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L3608 L3609 -label L3608 +brif 52 L3679 L3680 +label L3679 load 54 out_r strref 55 m51s703 strref 56 m51s716 @@ -176646,13 +177095,13 @@ call 63 pith_cstring_release void 1 62 load 64 value_info call 65 pith_struct_release void 1 64 ret 61 -label L3609 -label L3607 +label L3680 +label L3678 load 66 value_tid iconst 67 0 gte 68 66 67 -brif 68 L3611 L3612 -label L3611 +brif 68 L3682 L3683 +label L3682 load 69 value_info load 70 value_tid call 71 types_get_type_info struct:TypeInfo 1 70 @@ -176663,8 +177112,8 @@ field 74 73 0 string kind strref 75 m51s22 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L3614 L3615 -label L3614 +brif 76 L3685 L3686 +label L3685 load 78 value_r load 79 value_tid call 80 ir_emitter_core_ir_emit_result_value_to_string int 2 78 79 @@ -176673,11 +177122,11 @@ call 82 pith_cstring_release void 1 81 load 83 value_info call 84 pith_struct_release void 1 83 ret 80 -label L3615 -label L3613 -jmp L3610 -label L3612 -label L3610 +label L3686 +label L3684 +jmp L3681 +label L3683 +label L3681 load 85 value_r load 86 value_type call 87 pith_cstring_release void 1 86 @@ -176745,46 +177194,46 @@ 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_3619 22 +store __and_22_3690 22 load 23 call_name call 24 string_len int 1 23 iconst 25 0 eq 26 24 25 -store __and_22_3619 26 -brif 26 L3619 L3620 -label L3619 +store __and_22_3690 26 +brif 26 L3690 L3691 +label L3690 load 27 handler_node field 28 27 0 string kind strref 29 m51s37 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __and_22_3619 30 -label L3620 -load 32 __and_22_3619 -brif 32 L3617 L3618 -label L3617 +store __and_22_3690 30 +label L3691 +load 32 __and_22_3690 +brif 32 L3688 L3689 +label L3688 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 L3616 -label L3618 -label L3616 +jmp L3687 +label L3689 +label L3687 load 38 call_name call 39 string_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L3622 L3623 -label L3622 +brif 41 L3693 L3694 +label L3693 call 42 ir_builder_ir_reg int 0 store out_r 42 load 43 ir_result_abi_ir_result_reg_funcs load 44 call_name call 45 contains_key bool 2 43 44 -brif 45 L3625 L3626 -label L3625 +brif 45 L3696 L3697 +label L3696 load 46 out_r load 47 call_name iconst 48 1 @@ -176809,8 +177258,8 @@ call 66 pith_cstring_release void 1 65 load 67 handler_name call 68 pith_cstring_release void 1 67 ret 55 -label L3626 -label L3624 +label L3697 +label L3695 load 69 legacy_kind load 70 call_name call 71 ir_metadata_ir_builtin_result_retkind string 1 70 @@ -176825,16 +177274,16 @@ load 77 legacy_kind call 78 string_len int 1 77 iconst 79 0 gt 80 78 79 -brif 80 L3628 L3629 -label L3628 +brif 80 L3699 L3700 +label L3699 load 81 call_type load 82 legacy_kind call 83 pith_cstring_retain void 1 82 call 84 pith_cstring_release void 1 81 store call_type 82 -jmp L3627 -label L3629 -label L3627 +jmp L3698 +label L3700 +label L3698 load 85 out_r load 86 call_name load 87 call_type @@ -176848,23 +177297,23 @@ call 94 pith_cstring_release void 1 91 call 95 ir_call_emit_ir_emit_call_text void 5 85 86 87 88 92 call 96 pith_cstring_release void 1 92 iconst 97 0 -store __and_97_3633 97 +store __and_97_3704 97 load 98 legacy_kind call 99 string_len int 1 98 iconst 100 0 gt 101 99 100 -store __and_97_3633 101 -brif 101 L3633 L3634 -label L3633 +store __and_97_3704 101 +brif 101 L3704 L3705 +label L3704 load 102 ret_type strref 103 m51s23 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __and_97_3633 104 -label L3634 -load 106 __and_97_3633 -brif 106 L3631 L3632 -label L3631 +store __and_97_3704 104 +label L3705 +load 106 __and_97_3704 +brif 106 L3702 L3703 +label L3702 load 107 out_r load 108 legacy_kind load 109 call_name @@ -176882,8 +177331,8 @@ call 120 pith_cstring_release void 1 119 load 121 handler_name call 122 pith_cstring_release void 1 121 ret 110 -label L3632 -label L3630 +label L3703 +label L3701 load 123 out_r load 124 handler_node call 125 pith_struct_release void 1 124 @@ -176898,8 +177347,8 @@ call 133 pith_cstring_release void 1 132 load 134 handler_name call 135 pith_cstring_release void 1 134 ret 123 -label L3623 -label L3621 +label L3694 +label L3692 load 136 handler_idx call 137 ir_emitter_core_ir_expr int 1 136 store handler_r 137 @@ -177156,7 +177605,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_3638 6 +store __or_6_3709 6 load 7 recv_node field 8 7 0 string kind strref 9 m51s130 @@ -177164,25 +177613,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_3638 10 -brif 10 L3639 L3638 -label L3638 +store __or_6_3709 10 +brif 10 L3710 L3709 +label L3709 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_3638 18 -label L3639 -load 19 __or_6_3638 -brif 19 L3636 L3637 -label L3636 +store __or_6_3709 18 +label L3710 +load 19 __or_6_3709 +brif 19 L3707 L3708 +label L3707 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 L3637 -label L3635 +label L3708 +label L3706 load 23 recv_node field 24 23 16 list children iconst 25 0 @@ -177217,7 +177666,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_3643 6 +store __or_6_3714 6 load 7 send_node field 8 7 0 string kind strref 9 m51s130 @@ -177225,25 +177674,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_3643 10 -brif 10 L3644 L3643 -label L3643 +store __or_6_3714 10 +brif 10 L3715 L3714 +label L3714 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_3643 18 -label L3644 -load 19 __or_6_3643 -brif 19 L3641 L3642 -label L3641 +store __or_6_3714 18 +label L3715 +load 19 __or_6_3714 +brif 19 L3712 L3713 +label L3712 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 L3642 -label L3640 +label L3713 +label L3711 load 23 send_node field 24 23 16 list children iconst 25 0 @@ -177257,14 +177706,14 @@ store arg_idx 30 load 31 arg_idx iconst 32 0 lt 33 31 32 -brif 33 L3646 L3647 -label L3646 +brif 33 L3717 L3718 +label L3717 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 L3647 -label L3645 +label L3718 +label L3716 load 37 arg_idx call 38 ir_emitter_core_ir_expr int 1 37 store val_r 38 @@ -177312,21 +177761,21 @@ load 15 bind_name call 16 string_len int 1 15 iconst 17 0 gt 18 16 17 -brif 18 L3649 L3650 -label L3649 +brif 18 L3720 L3721 +label L3720 load 19 bind_type call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L3652 L3653 -label L3652 +brif 22 L3723 L3724 +label L3723 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 L3651 -label L3653 -label L3651 +jmp L3722 +label L3724 +label L3722 strref 27 m51s878 load 28 bind_name concat 29 27 28 @@ -177342,9 +177791,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 L3648 -label L3650 -label L3648 +jmp L3719 +label L3721 +label L3719 load 42 body_node load 43 body_idx call 44 ast_get_node struct:Node 1 43 @@ -177357,41 +177806,41 @@ field 48 47 0 string kind strref 49 m51s66 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -brif 50 L3655 L3656 -label L3655 +brif 50 L3726 L3727 +label L3726 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 L3658 L3659 -label L3658 +brif 56 L3729 L3730 +label L3729 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 L3657 -label L3659 -label L3657 -jmp L3654 -label L3656 +jmp L3728 +label L3730 +label L3728 +jmp L3725 +label L3727 load 62 body_node field 63 62 0 string kind strref 64 m51s65 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -brif 65 L3660 L3661 -label L3660 +brif 65 L3731 L3732 +label L3731 load 67 body_idx call 68 ir_emitter_core_ir_block int 1 67 -jmp L3654 -label L3661 +jmp L3725 +label L3732 load 69 body_idx call 70 ir_emitter_core_ir_expr int 1 69 store body_r 70 -label L3654 +label L3725 load 71 saved_vars call 72 pith_map_retain_handle void 1 71 store ir_builder_ir_var_regs 71 @@ -177432,12 +177881,12 @@ iconst 9 0 store __for_idx_395 9 store __for_len_395 8 store __for_iter_395 7 -label L3662 +label L3733 load 10 __for_idx_395 load 11 __for_len_395 lt 12 10 11 -brif 12 L3663 L3665 -label L3663 +brif 12 L3734 L3736 +label L3734 load 13 __for_iter_395 load 14 __for_idx_395 call 15 pith_list_get_value unknown 2 13 14 @@ -177448,38 +177897,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_3669 20 +store __or_20_3740 20 load 21 arm_node field 22 21 0 string kind strref 23 m51s139 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __or_20_3669 24 -brif 24 L3670 L3669 -label L3669 +store __or_20_3740 24 +brif 24 L3741 L3740 +label L3740 load 26 arm_node field 27 26 0 string kind strref 28 m51s138 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __or_20_3669 29 -label L3670 -load 31 __or_20_3669 -brif 31 L3667 L3668 -label L3667 +store __or_20_3740 29 +label L3741 +load 31 __or_20_3740 +brif 31 L3738 L3739 +label L3738 load 32 probe_arms load 33 __loopvar_395_arm_idx call 34 pith_list_push_value void 2 32 33 -jmp L3666 -label L3668 -label L3666 -label L3664 +jmp L3737 +label L3739 +label L3737 +label L3735 load 35 __for_idx_395 iconst 36 1 add 37 35 36 store __for_idx_395 37 -jmp L3662 -label L3665 +jmp L3733 +label L3736 load 38 probe_arms load 39 arm_node call 40 pith_struct_release void 1 39 @@ -177510,12 +177959,12 @@ iconst 11 0 store __for_idx_396 11 store __for_len_396 10 store __for_iter_396 9 -label L3671 +label L3742 load 12 __for_idx_396 load 13 __for_len_396 lt 14 12 13 -brif 14 L3672 L3674 -label L3672 +brif 14 L3743 L3745 +label L3743 load 15 __for_iter_396 load 16 __for_idx_396 call 17 pith_list_get_value unknown 2 15 16 @@ -177526,57 +177975,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_3678 22 +store __and_22_3749 22 load 23 arm_node field 24 23 0 string kind strref 25 m51s137 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __and_22_3678 26 -brif 26 L3678 L3679 -label L3678 +store __and_22_3749 26 +brif 26 L3749 L3750 +label L3749 load 28 timeout_idx iconst 29 0 lt 30 28 29 -store __and_22_3678 30 -label L3679 -load 31 __and_22_3678 -brif 31 L3676 L3677 -label L3676 +store __and_22_3749 30 +label L3750 +load 31 __and_22_3749 +brif 31 L3747 L3748 +label L3747 load 32 __loopvar_396_child store timeout_idx 32 -jmp L3675 -label L3677 +jmp L3746 +label L3748 iconst 33 0 -store __and_33_3682 33 +store __and_33_3753 33 load 34 arm_node field 35 34 0 string kind strref 36 m51s136 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __and_33_3682 37 -brif 37 L3682 L3683 -label L3682 +store __and_33_3753 37 +brif 37 L3753 L3754 +label L3753 load 39 default_idx iconst 40 0 lt 41 39 40 -store __and_33_3682 41 -label L3683 -load 42 __and_33_3682 -brif 42 L3680 L3681 -label L3680 +store __and_33_3753 41 +label L3754 +load 42 __and_33_3753 +brif 42 L3751 L3752 +label L3751 load 43 __loopvar_396_child store default_idx 43 -jmp L3675 -label L3681 -label L3675 -label L3673 +jmp L3746 +label L3752 +label L3746 +label L3744 load 44 __for_idx_396 iconst 45 1 add 46 44 45 store __for_idx_396 46 -jmp L3671 -label L3674 +jmp L3742 +label L3745 load 47 node call 48 ir_emitter_core_ir_select_probe_arm_indices list 1 47 load 49 timeout_idx @@ -177612,25 +178061,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_3687 10 +store __and_10_3758 10 load 11 arm_node field 12 11 0 string kind strref 13 m51s139 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __and_10_3687 14 -brif 14 L3687 L3688 -label L3687 +store __and_10_3758 14 +brif 14 L3758 L3759 +label L3758 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_3687 20 -label L3688 -load 21 __and_10_3687 -brif 21 L3685 L3686 -label L3685 +store __and_10_3758 20 +label L3759 +load 21 __and_10_3758 +brif 21 L3756 L3757 +label L3756 load 22 arm_node field 23 22 16 list children iconst 24 0 @@ -177710,28 +178159,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 L3684 -label L3686 +jmp L3755 +label L3757 iconst 96 0 -store __and_96_3691 96 +store __and_96_3762 96 load 97 arm_node field 98 97 0 string kind strref 99 m51s138 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __and_96_3691 100 -brif 100 L3691 L3692 -label L3691 +store __and_96_3762 100 +brif 100 L3762 L3763 +label L3762 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_3691 106 -label L3692 -load 107 __and_96_3691 -brif 107 L3689 L3690 -label L3689 +store __and_96_3762 106 +label L3763 +load 107 __and_96_3762 +brif 107 L3760 L3761 +label L3760 load 108 arm_node field 109 108 16 list children iconst 110 0 @@ -177804,9 +178253,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 L3684 -label L3690 -label L3684 +jmp L3755 +label L3761 +label L3755 load 176 arm_node call 177 pith_struct_release void 1 176 load 178 hit_l @@ -177825,16 +178274,16 @@ store timeout_node 2 load 3 timeout_idx iconst 4 0 lt 5 3 4 -brif 5 L3694 L3695 -label L3694 +brif 5 L3765 L3766 +label L3765 strref 6 m51s83 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 L3695 -label L3693 +label L3766 +label L3764 load 11 deadline_name strref 12 m51s1280 call 13 ir_builder_ir_new_temp_name string 1 12 @@ -177921,14 +178370,14 @@ store offset_name 1 load 2 probe_count iconst 3 1 lte 4 2 3 -brif 4 L3697 L3698 -label L3697 +brif 4 L3768 L3769 +label L3768 strref 5 m51s83 load 6 offset_name call 7 pith_cstring_release void 1 6 ret 5 -label L3698 -label L3696 +label L3769 +label L3767 load 8 offset_name strref 9 m51s1279 call 10 ir_builder_ir_new_temp_name string 1 9 @@ -178022,12 +178471,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 L3699 +label L3770 load 29 i load 30 probe_count lt 31 29 30 -brif 31 L3700 L3701 -label L3700 +brif 31 L3771 L3772 +label L3771 load 32 case_l call 33 ir_builder_ir_label string 0 call 34 pith_cstring_release void 1 32 @@ -178109,12 +178558,12 @@ load 105 case_l call 106 ir_call_emit_ir_emit_label void 1 105 iconst 107 0 store j 107 -label L3702 +label L3773 load 108 j load 109 probe_count lt 110 108 109 -brif 110 L3703 L3704 -label L3703 +brif 110 L3774 L3775 +label L3774 load 111 i load 112 j add 113 111 112 @@ -178131,8 +178580,8 @@ load 122 j iconst 123 1 add 124 122 123 store j 124 -jmp L3702 -label L3704 +jmp L3773 +label L3775 strref 125 m51s881 load 126 probe_done_l concat 127 125 126 @@ -178145,8 +178594,8 @@ load 133 i iconst 134 1 add 135 133 134 store i 135 -jmp L3699 -label L3701 +jmp L3770 +label L3772 load 136 probe_done_l call 137 ir_call_emit_ir_emit_label void 1 136 load 138 probe_done_l @@ -178169,17 +178618,17 @@ store probe_count 5 load 6 probe_count iconst 7 0 eq 8 6 7 -brif 8 L3706 L3707 -label L3706 +brif 8 L3777 L3778 +label L3777 iconst 9 0 ret 9 -label L3707 -label L3705 +label L3778 +label L3776 load 10 probe_count iconst 11 1 eq 12 10 11 -brif 12 L3709 L3710 -label L3709 +brif 12 L3780 L3781 +label L3780 load 13 probe_arms iconst 14 0 call 15 pith_list_get_value_strict int 2 13 14 @@ -178188,8 +178637,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 L3710 -label L3708 +label L3781 +label L3779 load 20 probe_arms load 21 offset_name load 22 result_temp @@ -178207,14 +178656,14 @@ store default_node 3 load 4 default_idx iconst 5 0 lt 6 4 5 -brif 6 L3712 L3713 -label L3712 +brif 6 L3783 L3784 +label L3783 load 7 default_node call 8 pith_struct_release void 1 7 iconst 9 0 ret 9 -label L3713 -label L3711 +label L3784 +label L3782 load 10 default_node load 11 default_idx call 12 ast_get_node struct:Node 1 11 @@ -178225,14 +178674,14 @@ field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -brif 18 L3715 L3716 -label L3715 +brif 18 L3786 L3787 +label L3786 load 19 default_node call 20 pith_struct_release void 1 19 iconst 21 0 ret 21 -label L3716 -label L3714 +label L3787 +label L3785 load 22 default_node field 23 22 16 list children iconst 24 0 @@ -178284,8 +178733,8 @@ store timeout_node 6 load 7 timeout_idx iconst 8 0 lt 9 7 8 -brif 9 L3718 L3719 -label L3718 +brif 9 L3789 L3790 +label L3789 load 10 timeout_l call 11 pith_cstring_release void 1 10 load 12 wait_l @@ -178294,8 +178743,8 @@ load 14 timeout_node call 15 pith_struct_release void 1 14 iconst 16 0 ret 16 -label L3719 -label L3717 +label L3790 +label L3788 call 17 ir_builder_ir_reg int 0 store now_r 17 load 18 now_r @@ -178435,12 +178884,12 @@ param offset_name load 2 probe_count iconst 3 1 lte 4 2 3 -brif 4 L3721 L3722 -label L3721 +brif 4 L3792 L3793 +label L3792 iconst 5 0 ret 5 -label L3722 -label L3720 +label L3793 +label L3791 call 6 ir_builder_ir_reg int 0 store next_offset_r 6 call 7 ir_builder_ir_reg int 0 @@ -178726,43 +179175,43 @@ endfunc func ir_emitter_core_ir_is_channel_send_name 1 bool param emit_name iconst 1 0 -store __or_1_3726 1 +store __or_1_3797 1 load 2 emit_name strref 3 m51s129 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_3726 4 -brif 4 L3727 L3726 -label L3726 +store __or_1_3797 4 +brif 4 L3798 L3797 +label L3797 load 6 emit_name strref 7 m51s699 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_3726 8 -label L3727 -load 10 __or_1_3726 -brif 10 L3724 L3725 -label L3724 +store __or_1_3797 8 +label L3798 +load 10 __or_1_3797 +brif 10 L3795 L3796 +label L3795 iconst 11 1 ret 11 -label L3725 -label L3723 +label L3796 +label L3794 iconst 12 0 -store __or_12_3728 12 +store __or_12_3799 12 load 13 emit_name strref 14 m51s222 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_12_3728 15 -brif 15 L3729 L3728 -label L3728 +store __or_12_3799 15 +brif 15 L3800 L3799 +label L3799 load 17 emit_name strref 18 m51s698 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __or_12_3728 19 -label L3729 -load 21 __or_12_3728 +store __or_12_3799 19 +label L3800 +load 21 __or_12_3799 ret 21 iconst 22 0 ret 22 @@ -178775,36 +179224,36 @@ store variant_r 2 load 3 variant_r iconst 4 0 gte 5 3 4 -brif 5 L3731 L3732 -label L3731 +brif 5 L3802 L3803 +label L3802 load 6 variant_r ret 6 -label L3732 -label L3730 +label L3803 +label L3801 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 L3734 L3735 -label L3734 +brif 11 L3805 L3806 +label L3805 load 12 typed_r ret 12 -label L3735 -label L3733 +label L3806 +label L3804 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 L3737 L3738 -label L3737 +brif 17 L3808 L3809 +label L3808 load 18 alias_r ret 18 -label L3738 -label L3736 +label L3809 +label L3807 load 19 idx call 20 ir_emitter_core_ir_emit_general_method_call int 1 19 ret 20 @@ -178842,8 +179291,8 @@ field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3740 L3741 -label L3740 +brif 21 L3811 L3812 +label L3811 load 22 ctor_recv load 23 node field 24 23 16 list children @@ -178853,24 +179302,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_3745 29 +store __and_29_3816 29 load 30 ctor_recv field 31 30 0 string kind strref 32 m51s37 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -store __and_29_3745 33 -brif 33 L3745 L3746 -label L3745 +store __and_29_3816 33 +brif 33 L3816 L3817 +label L3816 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_3745 38 -label L3746 -load 39 __and_29_3745 -brif 39 L3743 L3744 -label L3743 +store __and_29_3816 38 +label L3817 +load 39 __and_29_3816 +brif 39 L3814 L3815 +label L3814 load 40 ctor_key load 41 ctor_recv field 42 41 8 string value @@ -178885,8 +179334,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 L3748 L3749 -label L3748 +brif 52 L3819 L3820 +label L3819 load 53 idx load 54 node load 55 ctor_recv @@ -178906,31 +179355,31 @@ call 68 pith_struct_release void 1 67 load 69 qual_key call 70 pith_cstring_release void 1 69 ret 58 -label L3749 -label L3747 -jmp L3742 -label L3744 -label L3742 +label L3820 +label L3818 +jmp L3813 +label L3815 +label L3813 iconst 71 0 -store __and_71_3753 71 +store __and_71_3824 71 load 72 ctor_recv field 73 72 0 string kind strref 74 m51s36 call 75 pith_cstring_eq bool 2 73 74 call 76 pith_cstring_release void 1 74 -store __and_71_3753 75 -brif 75 L3753 L3754 -label L3753 +store __and_71_3824 75 +brif 75 L3824 L3825 +label L3824 load 77 ctor_recv field 78 77 16 list children call 79 pith_list_len int 1 78 iconst 80 0 gt 81 79 80 -store __and_71_3753 81 -label L3754 -load 82 __and_71_3753 -brif 82 L3751 L3752 -label L3751 +store __and_71_3824 81 +label L3825 +load 82 __and_71_3824 +brif 82 L3822 L3823 +label L3822 load 83 qual_mod load 84 ctor_recv field 85 84 16 list children @@ -178940,36 +179389,36 @@ call 88 ast_get_node struct:Node 1 87 call 89 pith_struct_release void 1 83 store qual_mod 88 iconst 90 0 -store __and_90_3758 90 +store __and_90_3829 90 iconst 91 0 -store __and_91_3758 91 +store __and_91_3829 91 load 92 qual_mod field 93 92 0 string kind strref 94 m51s37 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -store __and_91_3758 95 -brif 95 L3758 L3759 -label L3758 +store __and_91_3829 95 +brif 95 L3829 L3830 +label L3829 load 97 ir_alias_registry_ir_module_aliases load 98 qual_mod field 99 98 8 string value call 100 contains_key bool 2 97 99 -store __and_91_3758 100 -label L3759 -load 101 __and_91_3758 -store __and_90_3758 101 -brif 101 L3760 L3761 -label L3760 +store __and_91_3829 100 +label L3830 +load 101 __and_91_3829 +store __and_90_3829 101 +brif 101 L3831 L3832 +label L3831 load 102 ir_struct_registry_ir_boxed_enums load 103 ctor_recv field 104 103 8 string value call 105 contains_key bool 2 102 104 -store __and_90_3758 105 -label L3761 -load 106 __and_90_3758 -brif 106 L3756 L3757 -label L3756 +store __and_90_3829 105 +label L3832 +load 106 __and_90_3829 +brif 106 L3827 L3828 +label L3827 load 107 qual_key load 108 ctor_recv field 109 108 8 string value @@ -178984,8 +179433,8 @@ store qual_key 114 load 117 ir_struct_registry_ir_struct_field_index_lookup load 118 qual_key call 119 contains_key bool 2 117 118 -brif 119 L3763 L3764 -label L3763 +brif 119 L3834 L3835 +label L3834 load 120 idx load 121 node load 122 ctor_recv @@ -179005,17 +179454,17 @@ call 135 pith_struct_release void 1 134 load 136 qual_key call 137 pith_cstring_release void 1 136 ret 125 -label L3764 -label L3762 -jmp L3755 -label L3757 -label L3755 -jmp L3750 -label L3752 -label L3750 -jmp L3739 -label L3741 -label L3739 +label L3835 +label L3833 +jmp L3826 +label L3828 +label L3826 +jmp L3821 +label L3823 +label L3821 +jmp L3810 +label L3812 +label L3810 iconst 138 0 iconst 139 1 sub 140 138 139 @@ -179082,8 +179531,8 @@ field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 gt 23 21 22 -brif 23 L3766 L3767 -label L3766 +brif 23 L3837 L3838 +label L3837 load 24 node field 25 24 16 list children iconst 26 0 @@ -179093,91 +179542,91 @@ store recv_tid 28 load 29 recv_tid iconst 30 0 gte 31 29 30 -brif 31 L3769 L3770 -label L3769 +brif 31 L3840 L3841 +label L3840 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_3774 36 +store __and_36_3845 36 load 37 recv_info field 38 37 0 string kind strref 39 m51s508 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_3774 40 -brif 40 L3774 L3775 -label L3774 +store __and_36_3845 40 +brif 40 L3845 L3846 +label L3845 load 42 mname strref 43 m51s278 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __and_36_3774 44 -label L3775 -load 46 __and_36_3774 -brif 46 L3772 L3773 -label L3772 +store __and_36_3845 44 +label L3846 +load 46 __and_36_3845 +brif 46 L3843 L3844 +label L3843 iconst 47 0 -store __or_47_3779 47 +store __or_47_3850 47 iconst 48 0 -store __or_48_3779 48 +store __or_48_3850 48 iconst 49 0 -store __or_49_3779 49 +store __or_49_3850 49 iconst 50 0 -store __or_50_3779 50 +store __or_50_3850 50 load 51 recv_info field 52 51 8 string name strref 53 m51s507 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_50_3779 54 -brif 54 L3780 L3779 -label L3779 +store __or_50_3850 54 +brif 54 L3851 L3850 +label L3850 load 56 recv_info field 57 56 8 string name strref 58 m51s502 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -store __or_50_3779 59 -label L3780 -load 61 __or_50_3779 -store __or_49_3779 61 -brif 61 L3782 L3781 -label L3781 +store __or_50_3850 59 +label L3851 +load 61 __or_50_3850 +store __or_49_3850 61 +brif 61 L3853 L3852 +label L3852 load 62 recv_info field 63 62 8 string name strref 64 m51s501 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __or_49_3779 65 -label L3782 -load 67 __or_49_3779 -store __or_48_3779 67 -brif 67 L3784 L3783 -label L3783 +store __or_49_3850 65 +label L3853 +load 67 __or_49_3850 +store __or_48_3850 67 +brif 67 L3855 L3854 +label L3854 load 68 recv_info field 69 68 8 string name strref 70 m51s500 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 -store __or_48_3779 71 -label L3784 -load 73 __or_48_3779 -store __or_47_3779 73 -brif 73 L3786 L3785 -label L3785 +store __or_48_3850 71 +label L3855 +load 73 __or_48_3850 +store __or_47_3850 73 +brif 73 L3857 L3856 +label L3856 load 74 recv_info field 75 74 8 string name strref 76 m51s499 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_47_3779 77 -label L3786 -load 79 __or_47_3779 -brif 79 L3777 L3778 -label L3777 +store __or_47_3850 77 +label L3857 +load 79 __or_47_3850 +brif 79 L3848 L3849 +label L3848 load 80 node field 81 80 16 list children iconst 82 0 @@ -179211,24 +179660,24 @@ call 107 pith_cstring_release void 1 106 load 108 end_l call 109 pith_cstring_release void 1 108 ret 93 -label L3778 -label L3776 -jmp L3771 -label L3773 -label L3771 +label L3849 +label L3847 +jmp L3842 +label L3844 +label L3842 load 110 recv_info field 111 110 0 string kind strref 112 m51s22 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -brif 113 L3788 L3789 -label L3788 +brif 113 L3859 L3860 +label L3859 load 115 mname strref 116 m51s293 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -brif 117 L3791 L3792 -label L3791 +brif 117 L3862 L3863 +label L3862 load 119 idx load 120 node call 121 ir_emitter_core_ir_emit_result_unwrap_or int 2 119 120 @@ -179249,14 +179698,14 @@ call 135 pith_cstring_release void 1 134 load 136 end_l call 137 pith_cstring_release void 1 136 ret 121 -label L3792 -label L3790 +label L3863 +label L3861 load 138 mname strref 139 m51s291 call 140 pith_cstring_eq bool 2 138 139 call 141 pith_cstring_release void 1 139 -brif 140 L3794 L3795 -label L3794 +brif 140 L3865 L3866 +label L3865 load 142 idx load 143 node call 144 ir_emitter_core_ir_emit_result_or_else int 2 142 143 @@ -179277,14 +179726,14 @@ call 158 pith_cstring_release void 1 157 load 159 end_l call 160 pith_cstring_release void 1 159 ret 144 -label L3795 -label L3793 +label L3866 +label L3864 load 161 mname strref 162 m51s278 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L3797 L3798 -label L3797 +brif 163 L3868 L3869 +label L3868 load 165 node call 166 ir_emitter_core_ir_emit_result_to_string int 1 165 load 167 node @@ -179304,30 +179753,30 @@ call 180 pith_cstring_release void 1 179 load 181 end_l call 182 pith_cstring_release void 1 181 ret 166 -label L3798 -label L3796 -jmp L3787 -label L3789 -label L3787 +label L3869 +label L3867 +jmp L3858 +label L3860 +label L3858 iconst 183 0 -store __and_183_3802 183 +store __and_183_3873 183 load 184 recv_info field 185 184 0 string kind strref 186 m51s21 call 187 pith_cstring_eq bool 2 185 186 call 188 pith_cstring_release void 1 186 -store __and_183_3802 187 -brif 187 L3802 L3803 -label L3802 +store __and_183_3873 187 +brif 187 L3873 L3874 +label L3873 load 189 mname strref 190 m51s6 call 191 pith_cstring_eq bool 2 189 190 call 192 pith_cstring_release void 1 190 -store __and_183_3802 191 -label L3803 -load 193 __and_183_3802 -brif 193 L3800 L3801 -label L3800 +store __and_183_3873 191 +label L3874 +load 193 __and_183_3873 +brif 193 L3871 L3872 +label L3871 load 194 node field 195 194 16 list children iconst 196 0 @@ -179362,27 +179811,27 @@ call 222 pith_cstring_release void 1 221 load 223 end_l call 224 pith_cstring_release void 1 223 ret 208 -label L3801 -label L3799 +label L3872 +label L3870 iconst 225 0 -store __and_225_3807 225 +store __and_225_3878 225 load 226 recv_info field 227 226 0 string kind strref 228 m51s21 call 229 pith_cstring_eq bool 2 227 228 call 230 pith_cstring_release void 1 228 -store __and_225_3807 229 -brif 229 L3807 L3808 -label L3807 +store __and_225_3878 229 +brif 229 L3878 L3879 +label L3878 load 231 mname strref 232 m51s293 call 233 pith_cstring_eq bool 2 231 232 call 234 pith_cstring_release void 1 232 -store __and_225_3807 233 -label L3808 -load 235 __and_225_3807 -brif 235 L3805 L3806 -label L3805 +store __and_225_3878 233 +label L3879 +load 235 __and_225_3878 +brif 235 L3876 L3877 +label L3876 load 236 node field 237 236 16 list children iconst 238 0 @@ -179453,26 +179902,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_3812 296 +store __and_296_3883 296 load 297 inner_kind call 298 string_len int 1 297 iconst 299 0 gt 300 298 299 -store __and_296_3812 300 -brif 300 L3812 L3813 -label L3812 +store __and_296_3883 300 +brif 300 L3883 L3884 +label L3883 load 301 owns_subject -store __and_296_3812 301 -label L3813 -load 302 __and_296_3812 -brif 302 L3810 L3811 -label L3810 +store __and_296_3883 301 +label L3884 +load 302 __and_296_3883 +brif 302 L3881 L3882 +label L3881 load 303 inner_r load 304 inner_kind call 305 ir_ownership_ir_rc_retain_reg void 2 303 304 -jmp L3809 -label L3811 -label L3809 +jmp L3880 +label L3882 +label L3880 strref 306 m51s878 load 307 tmp concat 308 306 307 @@ -179504,39 +179953,39 @@ load 332 default_idx call 333 ir_emitter_core_ir_expr int 1 332 store default_r 333 iconst 334 0 -store __and_334_3817 334 +store __and_334_3888 334 iconst 335 0 -store __and_335_3817 335 +store __and_335_3888 335 load 336 inner_kind call 337 string_len int 1 336 iconst 338 0 gt 339 337 338 -store __and_335_3817 339 -brif 339 L3817 L3818 -label L3817 +store __and_335_3888 339 +brif 339 L3888 L3889 +label L3888 load 340 idx call 341 ir_emitter_core_ir_string_expr_is_borrowed bool 1 340 iconst 343 1 sub 342 343 341 -store __and_335_3817 342 -label L3818 -load 344 __and_335_3817 -store __and_334_3817 344 -brif 344 L3819 L3820 -label L3819 +store __and_335_3888 342 +label L3889 +load 344 __and_335_3888 +store __and_334_3888 344 +brif 344 L3890 L3891 +label L3890 load 345 default_idx call 346 ir_emitter_core_ir_string_expr_is_borrowed bool 1 345 -store __and_334_3817 346 -label L3820 -load 347 __and_334_3817 -brif 347 L3815 L3816 -label L3815 +store __and_334_3888 346 +label L3891 +load 347 __and_334_3888 +brif 347 L3886 L3887 +label L3886 load 348 default_r load 349 inner_kind call 350 ir_ownership_ir_rc_retain_reg void 2 348 349 -jmp L3814 -label L3816 -label L3814 +jmp L3885 +label L3887 +label L3885 strref 351 m51s878 load 352 tmp concat 353 351 352 @@ -179555,8 +180004,8 @@ call 365 pith_cstring_release void 1 361 load 366 end_l call 367 ir_call_emit_ir_emit_label void 1 366 load 368 owns_subject -brif 368 L3822 L3823 -label L3822 +brif 368 L3893 L3894 +label L3893 call 369 ir_builder_ir_reg int 0 strref 370 m51s946 strref 371 m51s876 @@ -179564,9 +180013,9 @@ load 372 obj_r call 373 ir_call_emit_ir_emit_call1 void 4 369 370 371 372 call 374 pith_cstring_release void 1 370 call 375 pith_cstring_release void 1 371 -jmp L3821 -label L3823 -label L3821 +jmp L3892 +label L3894 +label L3892 call 376 ir_builder_ir_reg int 0 store out_r 376 strref 377 m51s877 @@ -179602,45 +180051,45 @@ call 406 pith_cstring_release void 1 405 load 407 end_l call 408 pith_cstring_release void 1 407 ret 392 -label L3806 -label L3804 -jmp L3768 -label L3770 -label L3768 -jmp L3765 -label L3767 -label L3765 +label L3877 +label L3875 +jmp L3839 +label L3841 +label L3839 +jmp L3836 +label L3838 +label L3836 iconst 409 0 -store __and_409_3827 409 +store __and_409_3898 409 iconst 410 0 -store __and_410_3827 410 +store __and_410_3898 410 load 411 mname strref 412 m51s6 call 413 pith_cstring_eq bool 2 411 412 call 414 pith_cstring_release void 1 412 -store __and_410_3827 413 -brif 413 L3827 L3828 -label L3827 +store __and_410_3898 413 +brif 413 L3898 L3899 +label L3898 load 415 ir_emitter_core_ir_current_impl_subst_params call 416 pith_list_len int 1 415 iconst 417 0 gt 418 416 417 -store __and_410_3827 418 -label L3828 -load 419 __and_410_3827 -store __and_409_3827 419 -brif 419 L3829 L3830 -label L3829 +store __and_410_3898 418 +label L3899 +load 419 __and_410_3898 +store __and_409_3898 419 +brif 419 L3900 L3901 +label L3900 load 420 node field 421 420 16 list children call 422 pith_list_len int 1 421 iconst 423 1 eq 424 422 423 -store __and_409_3827 424 -label L3830 -load 425 __and_409_3827 -brif 425 L3825 L3826 -label L3825 +store __and_409_3898 424 +label L3901 +load 425 __and_409_3898 +brif 425 L3896 L3897 +label L3896 load 426 node field 427 426 16 list children iconst 428 0 @@ -179688,8 +180137,8 @@ call 467 pith_cstring_release void 1 466 load 468 end_l call 469 pith_cstring_release void 1 468 ret 453 -label L3826 -label L3824 +label L3897 +label L3895 iconst 470 0 iconst 471 1 sub 472 470 471 @@ -179763,8 +180212,8 @@ load 18 alias_fname call 19 string_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3832 L3833 -label L3832 +brif 21 L3903 L3904 +label L3903 load 22 call_name load 23 alias_fname call 24 pith_cstring_retain void 1 23 @@ -179776,32 +180225,32 @@ store alias_expr_tid 27 load 28 alias_expr_tid iconst 29 0 gte 30 28 29 -brif 30 L3835 L3836 -label L3835 +brif 30 L3906 L3907 +label L3906 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_3840 35 +store __and_35_3911 35 load 36 alias_expr_info field 37 36 0 string kind strref 38 m51s15 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __and_35_3840 39 -brif 39 L3840 L3841 -label L3840 +store __and_35_3911 39 +brif 39 L3911 L3912 +label L3911 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_3840 44 -label L3841 -load 45 __and_35_3840 -brif 45 L3838 L3839 -label L3838 +store __and_35_3911 44 +label L3912 +load 45 __and_35_3911 +brif 45 L3909 L3910 +label L3909 load 46 ctor_args call 47 pith_list_new_default list 0 call 48 pith_list_release_handle void 1 46 @@ -179813,12 +180262,12 @@ iconst 52 0 store __for_idx_397 52 store __for_len_397 51 store __for_iter_397 50 -label L3842 +label L3913 load 53 __for_idx_397 load 54 __for_len_397 lt 55 53 54 -brif 55 L3843 L3845 -label L3843 +brif 55 L3914 L3916 +label L3914 load 56 __for_iter_397 load 57 __for_idx_397 call 58 pith_list_get_value unknown 2 56 57 @@ -179828,21 +180277,21 @@ store __loopvar_397_ci 59 load 60 __loopvar_397_ci iconst 61 0 eq 62 60 61 -brif 62 L3847 L3848 -label L3847 -jmp L3844 -label L3848 -label L3846 +brif 62 L3918 L3919 +label L3918 +jmp L3915 +label L3919 +label L3917 load 63 ctor_args load 64 __loopvar_397_child call 65 pith_list_push_value void 2 63 64 -label L3844 +label L3915 load 66 __for_idx_397 iconst 67 1 add 68 66 67 store __for_idx_397 68 -jmp L3842 -label L3845 +jmp L3913 +label L3916 load 69 call_name load 70 ctor_args load 71 alias_expr_tid @@ -179866,15 +180315,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 L3839 -label L3837 -jmp L3834 -label L3836 -label L3834 +label L3910 +label L3908 +jmp L3905 +label L3907 +label L3905 load 91 call_name call 92 ir_generics_ir_is_generic_function_name bool 1 91 -brif 92 L3850 L3851 -label L3850 +brif 92 L3921 L3922 +label L3921 load 93 generic_ret_type load 94 idx call 95 ir_type_helpers_ir_checked_type string 1 94 @@ -179884,16 +180333,16 @@ load 97 generic_ret_type call 98 string_len int 1 97 iconst 99 0 eq 100 98 99 -brif 100 L3853 L3854 -label L3853 +brif 100 L3924 L3925 +label L3924 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 L3852 -label L3854 -label L3852 +jmp L3923 +label L3925 +label L3923 load 105 mct load 106 call_name load 107 node @@ -179913,9 +180362,9 @@ load 119 generic_ret_type call 120 ir_generics_ir_queue_generic_specialization string 3 117 118 119 call 121 pith_cstring_release void 1 116 store call_name 120 -jmp L3849 -label L3851 -label L3849 +jmp L3920 +label L3922 +label L3920 load 122 arg_regs load 123 node iconst 124 1 @@ -179947,8 +180396,8 @@ store ret_type 142 load 144 ir_result_abi_ir_result_reg_funcs load 145 call_name call 146 contains_key bool 2 144 145 -brif 146 L3856 L3857 -label L3856 +brif 146 L3927 L3928 +label L3927 load 147 idx store ir_emitter_core_ir_rcall_current_idx 147 load 148 r @@ -179964,8 +180413,8 @@ iconst 156 0 iconst 157 1 sub 158 156 157 store ir_emitter_core_ir_rcall_current_idx 158 -jmp L3855 -label L3857 +jmp L3926 +label L3928 load 159 r load 160 call_name load 161 ret_type @@ -179975,61 +180424,61 @@ load 164 arg_regs call 165 ir_call_helpers_ir_join_arg_regs string 1 164 call 166 ir_call_emit_ir_emit_call_text void 5 159 160 161 163 165 call 167 pith_cstring_release void 1 165 -label L3855 +label L3926 load 168 node iconst 169 1 load 170 arg_regs call 171 ir_emitter_core_ir_release_owned_string_args void 3 168 169 170 iconst 172 0 -store __and_172_3861 172 +store __and_172_3932 172 iconst 173 0 -store __and_173_3861 173 +store __and_173_3932 173 load 174 uses_result_abi -store __and_173_3861 174 -brif 174 L3861 L3862 -label L3861 +store __and_173_3932 174 +brif 174 L3932 L3933 +label L3932 load 175 ret_type strref 176 m51s23 call 178 pith_cstring_eq bool 2 175 176 iconst 179 1 sub 177 179 178 call 180 pith_cstring_release void 1 176 -store __and_173_3861 177 -label L3862 -load 181 __and_173_3861 -store __and_172_3861 181 -brif 181 L3863 L3864 -label L3863 +store __and_173_3932 177 +label L3933 +load 181 __and_173_3932 +store __and_172_3932 181 +brif 181 L3934 L3935 +label L3934 load 182 idx call 183 ir_type_helpers_ir_checked_result_kind string 1 182 strref 184 m51s23 call 185 pith_cstring_eq bool 2 183 184 call 186 pith_cstring_release void 1 183 call 187 pith_cstring_release void 1 184 -store __and_172_3861 185 -label L3864 -load 188 __and_172_3861 -brif 188 L3859 L3860 -label L3859 +store __and_172_3932 185 +label L3935 +load 188 __and_172_3932 +brif 188 L3930 L3931 +label L3930 iconst 189 0 -store __and_189_3868 189 +store __and_189_3939 189 load 190 ret_type strref 191 m51s713 call 193 pith_cstring_eq bool 2 190 191 iconst 194 1 sub 192 194 193 call 195 pith_cstring_release void 1 191 -store __and_189_3868 192 -brif 192 L3868 L3869 -label L3868 +store __and_189_3939 192 +brif 192 L3939 L3940 +label L3939 load 196 idx load 197 ir_emitter_core_ir_rcall_defer_idx eq 198 196 197 -store __and_189_3868 198 -label L3869 -load 199 __and_189_3868 -brif 199 L3866 L3867 -label L3866 +store __and_189_3939 198 +label L3940 +load 199 __and_189_3939 +brif 199 L3937 L3938 +label L3937 load 200 r load 201 ret_type load 202 call_name @@ -180053,8 +180502,8 @@ call 219 pith_list_release_handle void 1 218 load 220 ret_type call 221 pith_cstring_release void 1 220 ret 203 -label L3867 -label L3865 +label L3938 +label L3936 load 222 r load 223 ret_type load 224 call_name @@ -180078,8 +180527,8 @@ call 241 pith_list_release_handle void 1 240 load 242 ret_type call 243 pith_cstring_release void 1 242 ret 225 -label L3860 -label L3858 +label L3931 +label L3929 load 244 r load 245 node call 246 pith_struct_release void 1 245 @@ -180100,8 +180549,8 @@ call 260 pith_list_release_handle void 1 259 load 261 ret_type call 262 pith_cstring_release void 1 261 ret 244 -label L3833 -label L3831 +label L3904 +label L3902 iconst 263 0 iconst 264 1 sub 265 263 264 @@ -180211,8 +180660,8 @@ store self_hosted_list_r 38 load 39 self_hosted_list_r iconst 40 0 gte 41 39 40 -brif 41 L3871 L3872 -label L3871 +brif 41 L3942 L3943 +label L3942 load 42 self_hosted_list_r load 43 node call 44 pith_struct_release void 1 43 @@ -180253,8 +180702,8 @@ call 78 pith_cstring_release void 1 77 load 79 recv_kind call 80 pith_cstring_release void 1 79 ret 42 -label L3872 -label L3870 +label L3943 +label L3941 load 81 cf_struct load 82 obj_type call 83 ir_method_tables_ir_strip_type_args string 1 82 @@ -180264,8 +180713,8 @@ load 85 cf_struct call 86 string_len int 1 85 iconst 87 0 gt 88 86 87 -brif 88 L3874 L3875 -label L3874 +brif 88 L3945 L3946 +label L3945 load 89 field_key load 90 cf_struct strref 91 m51s26 @@ -180287,22 +180736,22 @@ call 105 ir_emitter_core_ir_lookup_impl_method_for string 3 102 103 104 call 106 pith_cstring_release void 1 98 store existing_method 105 iconst 107 0 -store __and_107_3879 107 +store __and_107_3950 107 load 108 ir_struct_registry_ir_struct_field_index_lookup load 109 field_key call 110 contains_key bool 2 108 109 -store __and_107_3879 110 -brif 110 L3879 L3880 -label L3879 +store __and_107_3950 110 +brif 110 L3950 L3951 +label L3950 load 111 existing_method call 112 string_len int 1 111 iconst 113 0 eq 114 112 113 -store __and_107_3879 114 -label L3880 -load 115 __and_107_3879 -brif 115 L3877 L3878 -label L3877 +store __and_107_3950 114 +label L3951 +load 115 __and_107_3950 +brif 115 L3948 L3949 +label L3948 load 116 node field 117 116 16 list children iconst 118 0 @@ -180378,7 +180827,7 @@ call 183 pith_list_release_handle void 1 181 store arg_regs 182 iconst 184 0 store ai 184 -label L3881 +label L3952 load 185 ai load 186 node field 187 186 16 list children @@ -180386,8 +180835,8 @@ call 188 pith_list_len int 1 187 iconst 189 1 sub 190 188 189 lt 191 185 190 -brif 191 L3882 L3883 -label L3882 +brif 191 L3953 L3954 +label L3953 load 192 node load 193 ai call 194 ir_emitter_core_ir_method_call_arg_expr int 2 192 193 @@ -180400,8 +180849,8 @@ load 199 ai iconst 200 1 add 201 199 200 store ai 201 -jmp L3881 -label L3883 +jmp L3952 +label L3954 call 202 ir_builder_ir_reg int 0 store r 202 strref 203 m51s1085 @@ -180474,11 +180923,11 @@ call 269 pith_cstring_release void 1 268 load 270 recv_kind call 271 pith_cstring_release void 1 270 ret 233 -label L3878 -label L3876 -jmp L3873 -label L3875 -label L3873 +label L3949 +label L3947 +jmp L3944 +label L3946 +label L3944 load 272 emit_name load 273 mname load 274 obj_type @@ -180486,14 +180935,14 @@ call 275 ir_metadata_ir_method_emit_name string 2 273 274 call 276 pith_cstring_release void 1 272 store emit_name 275 iconst 277 0 -store __and_277_3887 277 +store __and_277_3958 277 load 278 emit_name strref 279 m51s748 call 280 pith_cstring_eq bool 2 278 279 call 281 pith_cstring_release void 1 279 -store __and_277_3887 280 -brif 280 L3887 L3888 -label L3887 +store __and_277_3958 280 +brif 280 L3958 L3959 +label L3958 load 282 node field 283 282 16 list children iconst 284 0 @@ -180503,30 +180952,30 @@ strref 287 m51s712 call 288 pith_cstring_eq bool 2 286 287 call 289 pith_cstring_release void 1 286 call 290 pith_cstring_release void 1 287 -store __and_277_3887 288 -label L3888 -load 291 __and_277_3887 -brif 291 L3885 L3886 -label L3885 +store __and_277_3958 288 +label L3959 +load 291 __and_277_3958 +brif 291 L3956 L3957 +label L3956 load 292 emit_name strref 293 m51s1271 call 294 pith_cstring_release void 1 292 store emit_name 293 -jmp L3884 -label L3886 -label L3884 +jmp L3955 +label L3957 +label L3955 load 295 emit_name call 296 ir_metadata_ir_is_bool_returning_method bool 1 295 -brif 296 L3890 L3891 -label L3890 +brif 296 L3961 L3962 +label L3961 load 297 ir_builder_ir_var_types strref 298 m51s1270 strref 299 m51s714 call 300 pith_map_insert_cstr_owned void 3 297 298 299 call 301 pith_cstring_release void 1 298 -jmp L3889 -label L3891 -label L3889 +jmp L3960 +label L3962 +label L3960 load 302 impl_name load 303 obj_type load 304 mname @@ -180537,8 +180986,8 @@ load 307 impl_name call 308 string_len int 1 307 iconst 309 0 eq 310 308 309 -brif 310 L3893 L3894 -label L3893 +brif 310 L3964 L3965 +label L3964 load 311 impl_name load 312 node field 313 312 16 list children @@ -180549,25 +180998,25 @@ load 317 mname call 318 ir_emitter_core_ir_lookup_impl_method_for string 3 315 316 317 call 319 pith_cstring_release void 1 311 store impl_name 318 -jmp L3892 -label L3894 -label L3892 +jmp L3963 +label L3965 +label L3963 load 320 impl_name call 321 string_len int 1 320 iconst 322 0 gt 323 321 322 store impl_dispatch 323 load 324 impl_dispatch -brif 324 L3896 L3897 -label L3896 +brif 324 L3967 L3968 +label L3967 load 325 emit_name load 326 impl_name call 327 pith_cstring_retain void 1 326 call 328 pith_cstring_release void 1 325 store emit_name 326 -jmp L3895 -label L3897 -label L3895 +jmp L3966 +label L3968 +label L3966 load 329 call_regs load 330 node call 331 ir_emitter_core_ir_collect_method_call_regs list 1 330 @@ -180583,15 +181032,15 @@ call 338 pith_list_release_handle void 1 336 store arg_regs 337 iconst 339 0 store ci 339 -label L3898 +label L3969 load 340 ci iconst 341 1 add 342 340 341 load 343 call_regs call 344 pith_list_len int 1 343 lt 345 342 344 -brif 345 L3899 L3900 -label L3899 +brif 345 L3970 L3971 +label L3970 load 346 arg_regs load 347 call_regs load 348 ci @@ -180603,8 +181052,8 @@ load 353 ci iconst 354 1 add 355 353 354 store ci 355 -jmp L3898 -label L3900 +jmp L3969 +label L3971 call 356 ir_builder_ir_reg int 0 store r 356 load 357 emit_name @@ -180629,134 +181078,134 @@ call 372 pith_cstring_release void 1 367 store ret_type 371 load 373 emit_name call 374 ir_metadata_ir_is_void_method bool 1 373 -brif 374 L3902 L3903 -label L3902 +brif 374 L3973 L3974 +label L3973 load 375 ret_type strref 376 m51s876 call 377 pith_cstring_release void 1 375 store ret_type 376 -jmp L3901 -label L3903 -label L3901 +jmp L3972 +label L3974 +label L3972 iconst 378 0 iconst 379 1 sub 380 378 379 store store_value_pos 380 iconst 381 0 -store __or_381_3907 381 +store __or_381_3978 381 iconst 382 0 -store __or_382_3907 382 +store __or_382_3978 382 iconst 383 0 -store __or_383_3907 383 +store __or_383_3978 383 load 384 emit_name call 385 ir_emitter_core_ir_is_channel_send_name bool 1 384 -store __or_383_3907 385 -brif 385 L3908 L3907 -label L3907 +store __or_383_3978 385 +brif 385 L3979 L3978 +label L3978 load 386 emit_name strref 387 m51s276 call 388 pith_cstring_eq bool 2 386 387 call 389 pith_cstring_release void 1 387 -store __or_383_3907 388 -label L3908 -load 390 __or_383_3907 -store __or_382_3907 390 -brif 390 L3910 L3909 -label L3909 +store __or_383_3978 388 +label L3979 +load 390 __or_383_3978 +store __or_382_3978 390 +brif 390 L3981 L3980 +label L3980 load 391 emit_name strref 392 m51s794 call 393 pith_cstring_eq bool 2 391 392 call 394 pith_cstring_release void 1 392 -store __or_382_3907 393 -label L3910 -load 395 __or_382_3907 -store __or_381_3907 395 -brif 395 L3912 L3911 -label L3911 +store __or_382_3978 393 +label L3981 +load 395 __or_382_3978 +store __or_381_3978 395 +brif 395 L3983 L3982 +label L3982 load 396 emit_name strref 397 m51s795 call 398 pith_cstring_eq bool 2 396 397 call 399 pith_cstring_release void 1 397 -store __or_381_3907 398 -label L3912 -load 400 __or_381_3907 -brif 400 L3905 L3906 -label L3905 +store __or_381_3978 398 +label L3983 +load 400 __or_381_3978 +brif 400 L3976 L3977 +label L3976 iconst 401 0 store store_value_pos 401 -jmp L3904 -label L3906 +jmp L3975 +label L3977 iconst 402 0 -store __or_402_3915 402 +store __or_402_3986 402 iconst 403 0 -store __or_403_3915 403 +store __or_403_3986 403 iconst 404 0 -store __or_404_3915 404 +store __or_404_3986 404 iconst 405 0 -store __or_405_3915 405 +store __or_405_3986 405 iconst 406 0 -store __or_406_3915 406 +store __or_406_3986 406 load 407 emit_name strref 408 m51s255 call 409 pith_cstring_eq bool 2 407 408 call 410 pith_cstring_release void 1 408 -store __or_406_3915 409 -brif 409 L3916 L3915 -label L3915 +store __or_406_3986 409 +brif 409 L3987 L3986 +label L3986 load 411 emit_name strref 412 m51s734 call 413 pith_cstring_eq bool 2 411 412 call 414 pith_cstring_release void 1 412 -store __or_406_3915 413 -label L3916 -load 415 __or_406_3915 -store __or_405_3915 415 -brif 415 L3918 L3917 -label L3917 +store __or_406_3986 413 +label L3987 +load 415 __or_406_3986 +store __or_405_3986 415 +brif 415 L3989 L3988 +label L3988 load 416 emit_name strref 417 m51s735 call 418 pith_cstring_eq bool 2 416 417 call 419 pith_cstring_release void 1 417 -store __or_405_3915 418 -label L3918 -load 420 __or_405_3915 -store __or_404_3915 420 -brif 420 L3920 L3919 -label L3919 +store __or_405_3986 418 +label L3989 +load 420 __or_405_3986 +store __or_404_3986 420 +brif 420 L3991 L3990 +label L3990 load 421 emit_name strref 422 m51s18 call 423 pith_cstring_eq bool 2 421 422 call 424 pith_cstring_release void 1 422 -store __or_404_3915 423 -label L3920 -load 425 __or_404_3915 -store __or_403_3915 425 -brif 425 L3922 L3921 -label L3921 +store __or_404_3986 423 +label L3991 +load 425 __or_404_3986 +store __or_403_3986 425 +brif 425 L3993 L3992 +label L3992 load 426 emit_name strref 427 m51s821 call 428 pith_cstring_eq bool 2 426 427 call 429 pith_cstring_release void 1 427 -store __or_403_3915 428 -label L3922 -load 430 __or_403_3915 -store __or_402_3915 430 -brif 430 L3924 L3923 -label L3923 +store __or_403_3986 428 +label L3993 +load 430 __or_403_3986 +store __or_402_3986 430 +brif 430 L3995 L3994 +label L3994 load 431 emit_name strref 432 m51s752 call 433 pith_cstring_eq bool 2 431 432 call 434 pith_cstring_release void 1 432 -store __or_402_3915 433 -label L3924 -load 435 __or_402_3915 -brif 435 L3913 L3914 -label L3913 +store __or_402_3986 433 +label L3995 +load 435 __or_402_3986 +brif 435 L3984 L3985 +label L3984 iconst 436 1 store store_value_pos 436 -jmp L3904 -label L3914 -label L3904 +jmp L3975 +label L3985 +label L3975 load 437 call_name load 438 emit_name call 439 pith_cstring_retain void 1 438 @@ -180769,25 +181218,25 @@ store store_tag_r 443 load 444 impl_dispatch iconst 446 1 sub 445 446 444 -brif 445 L3926 L3927 -label L3926 +brif 445 L3997 L3998 +label L3997 iconst 447 0 -store __and_447_3931 447 +store __and_447_4002 447 load 448 store_value_pos iconst 449 0 gte 450 448 449 -store __and_447_3931 450 -brif 450 L3931 L3932 -label L3931 +store __and_447_4002 450 +brif 450 L4002 L4003 +label L4002 load 451 store_value_pos load 452 arg_regs call 453 pith_list_len int 1 452 lt 454 451 453 -store __and_447_3931 454 -label L3932 -load 455 __and_447_3931 -brif 455 L3929 L3930 -label L3929 +store __and_447_4002 454 +label L4003 +load 455 __and_447_4002 +brif 455 L4000 L4001 +label L4000 load 456 node load 457 store_value_pos call 458 ir_emitter_core_ir_method_call_arg_expr int 2 456 457 @@ -180795,8 +181244,8 @@ store value_expr 458 load 459 value_expr iconst 460 0 gte 461 459 460 -brif 461 L3934 L3935 -label L3934 +brif 461 L4005 L4006 +label L4005 load 462 store_kind load 463 value_expr call 464 ir_emitter_core_ir_infer_type string 1 463 @@ -180816,44 +181265,44 @@ call 475 ir_emitter_core_ir_map_kind_store_name string 2 471 473 call 476 pith_cstring_release void 1 470 store kind_store 475 iconst 477 0 -store __and_477_3939 477 +store __and_477_4010 477 load 478 kind_store call 479 string_len int 1 478 iconst 480 0 eq 481 479 480 -store __and_477_3939 481 -brif 481 L3939 L3940 -label L3939 +store __and_477_4010 481 +brif 481 L4010 L4011 +label L4010 load 482 borrowed -store __and_477_3939 482 -label L3940 -load 483 __and_477_3939 -brif 483 L3937 L3938 -label L3937 +store __and_477_4010 482 +label L4011 +load 483 __and_477_4010 +brif 483 L4008 L4009 +label L4008 load 484 kind_store load 485 emit_name call 486 ir_emitter_core_ir_list_kind_store_name string 1 485 call 487 pith_cstring_release void 1 484 store kind_store 486 -jmp L3936 -label L3938 -label L3936 +jmp L4007 +label L4009 +label L4007 iconst 488 0 -store __and_488_3944 488 +store __and_488_4015 488 load 489 kind_store call 490 string_len int 1 489 iconst 491 0 gt 492 490 491 -store __and_488_3944 492 -brif 492 L3944 L3945 -label L3944 +store __and_488_4015 492 +brif 492 L4015 L4016 +label L4015 load 493 store_kind call 494 ir_emitter_core_ir_store_learns_kind bool 1 493 -store __and_488_3944 494 -label L3945 -load 495 __and_488_3944 -brif 495 L3942 L3943 -label L3942 +store __and_488_4015 494 +label L4016 +load 495 __and_488_4015 +brif 495 L4013 L4014 +label L4013 load 496 call_name load 497 kind_store call 498 pith_cstring_retain void 1 497 @@ -180862,30 +181311,30 @@ store call_name 497 load 500 store_kind call 501 ir_emitter_core_ir_emit_element_tag_const int 1 500 store store_tag_r 501 -jmp L3941 -label L3943 +jmp L4012 +label L4014 load 502 borrowed -brif 502 L3946 L3947 -label L3946 +brif 502 L4017 L4018 +label L4017 load 503 emit_name load 504 store_kind call 505 ir_emitter_core_ir_channel_send_needs_retain bool 2 503 504 -brif 505 L3949 L3950 -label L3949 +brif 505 L4020 L4021 +label L4020 load 506 arg_regs load 507 store_value_pos call 508 pith_list_get_value_strict int 2 506 507 load 509 store_kind call 510 ir_ownership_ir_rc_retain_reg void 2 508 509 -jmp L3948 -label L3950 -label L3948 -jmp L3941 -label L3947 +jmp L4019 +label L4021 +label L4019 +jmp L4012 +label L4018 load 511 store_kind call 512 ir_emitter_core_ir_container_store_takes_count bool 1 511 -brif 512 L3951 L3952 -label L3951 +brif 512 L4022 L4023 +label L4022 load 513 owned_store load 514 emit_name call 515 ir_emitter_core_ir_owned_container_store_name string 1 514 @@ -180895,51 +181344,51 @@ load 517 owned_store call 518 string_len int 1 517 iconst 519 0 gt 520 518 519 -brif 520 L3954 L3955 -label L3954 +brif 520 L4025 L4026 +label L4025 load 521 call_name load 522 owned_store call 523 pith_cstring_retain void 1 522 call 524 pith_cstring_release void 1 521 store call_name 522 -jmp L3953 -label L3955 -label L3953 -jmp L3941 -label L3952 -label L3941 -jmp L3933 -label L3935 -label L3933 -jmp L3928 -label L3930 -label L3928 -jmp L3925 -label L3927 -label L3925 +jmp L4024 +label L4026 +label L4024 +jmp L4012 +label L4023 +label L4012 +jmp L4004 +label L4006 +label L4004 +jmp L3999 +label L4001 +label L3999 +jmp L3996 +label L3998 +label L3996 iconst 525 0 -store __and_525_3959 525 +store __and_525_4030 525 load 526 impl_dispatch iconst 528 1 sub 527 528 526 -store __and_525_3959 527 -brif 527 L3959 L3960 -label L3959 +store __and_525_4030 527 +brif 527 L4030 L4031 +label L4030 load 529 obj_type call 530 ir_metadata_ir_obj_type_is_primitive bool 1 529 -store __and_525_3959 530 -label L3960 -load 531 __and_525_3959 -brif 531 L3957 L3958 -label L3957 +store __and_525_4030 530 +label L4031 +load 531 __and_525_4030 +brif 531 L4028 L4029 +label L4028 load 532 call_name load 533 call_name call 534 ir_metadata_ir_primitive_method_call_name string 1 533 call 535 pith_cstring_release void 1 532 store call_name 534 -jmp L3956 -label L3958 -label L3956 +jmp L4027 +label L4029 +label L4027 load 536 call_args load 537 obj_r load 538 arg_regs @@ -180947,22 +181396,22 @@ call 539 ir_call_helpers_ir_method_call_arg_regs list 2 537 538 call 540 pith_list_release_handle void 1 536 store call_args 539 iconst 541 0 -store __and_541_3964 541 +store __and_541_4035 541 load 542 emit_name strref 543 m51s702 call 544 pith_cstring_eq bool 2 542 543 call 545 pith_cstring_release void 1 543 -store __and_541_3964 544 -brif 544 L3964 L3965 -label L3964 +store __and_541_4035 544 +brif 544 L4035 L4036 +label L4035 load 546 impl_dispatch iconst 548 1 sub 547 548 546 -store __and_541_3964 547 -label L3965 -load 549 __and_541_3964 -brif 549 L3962 L3963 -label L3962 +store __and_541_4035 547 +label L4036 +load 549 __and_541_4035 +brif 549 L4033 L4034 +label L4033 load 550 obj_r load 551 node call 552 pith_struct_release void 1 551 @@ -181003,8 +181452,8 @@ call 586 pith_cstring_release void 1 585 load 587 recv_kind call 588 pith_cstring_release void 1 587 ret 550 -label L3963 -label L3961 +label L4034 +label L4032 load 589 call_arg_text load 590 call_args call 591 ir_call_helpers_ir_join_arg_regs string 1 590 @@ -181016,8 +181465,8 @@ store call_arg_count 594 load 595 store_tag_r iconst 596 0 gte 597 595 596 -brif 597 L3967 L3968 -label L3967 +brif 597 L4038 L4039 +label L4038 load 598 call_arg_text load 599 call_arg_text strref 600 m51s344 @@ -181034,14 +181483,14 @@ load 609 call_arg_count iconst 610 1 add 611 609 610 store call_arg_count 611 -jmp L3966 -label L3968 -label L3966 +jmp L4037 +label L4039 +label L4037 load 612 ir_result_abi_ir_result_reg_funcs load 613 call_name call 614 contains_key bool 2 612 613 -brif 614 L3970 L3971 -label L3970 +brif 614 L4041 L4042 +label L4041 load 615 idx store ir_emitter_core_ir_rcall_current_idx 615 load 616 r @@ -181054,30 +181503,30 @@ iconst 621 0 iconst 622 1 sub 623 621 622 store ir_emitter_core_ir_rcall_current_idx 623 -jmp L3969 -label L3971 +jmp L4040 +label L4042 load 624 r load 625 call_name load 626 ret_type load 627 call_arg_count load 628 call_arg_text call 629 ir_call_emit_ir_emit_call_text void 5 624 625 626 627 628 -label L3969 +label L4040 iconst 630 0 -store __and_630_3975 630 +store __and_630_4046 630 load 631 impl_dispatch iconst 633 1 sub 632 633 631 -store __and_630_3975 632 -brif 632 L3975 L3976 -label L3975 +store __and_630_4046 632 +brif 632 L4046 L4047 +label L4046 load 634 emit_name call 635 ir_emitter_core_ir_method_result_retains_over_args bool 1 634 -store __and_630_3975 635 -label L3976 -load 636 __and_630_3975 -brif 636 L3973 L3974 -label L3973 +store __and_630_4046 635 +label L4047 +load 636 __and_630_4046 +brif 636 L4044 L4045 +label L4044 load 637 r load 638 idx call 639 ir_emitter_core_ir_infer_type string 1 638 @@ -181085,9 +181534,9 @@ call 640 ir_struct_registry_ir_rc_kind string 1 639 call 641 pith_cstring_release void 1 639 call 642 ir_ownership_ir_rc_retain_reg void 2 637 640 call 643 pith_cstring_release void 1 640 -jmp L3972 -label L3974 -label L3972 +jmp L4043 +label L4045 +label L4043 load 644 node load 645 arg_regs load 646 store_value_pos @@ -181097,8 +181546,8 @@ field 649 648 16 list children call 650 pith_list_len int 1 649 iconst 651 0 gt 652 650 651 -brif 652 L3978 L3979 -label L3978 +brif 652 L4049 L4050 +label L4049 load 653 node field 654 653 16 list children iconst 655 0 @@ -181112,91 +181561,91 @@ call 661 pith_cstring_release void 1 659 call 662 pith_cstring_release void 1 657 store recv_kind 660 iconst 663 0 -store __and_663_3983 663 +store __and_663_4054 663 load 664 recv_kind call 665 string_len int 1 664 iconst 666 0 gt 667 665 666 -store __and_663_3983 667 -brif 667 L3983 L3984 -label L3983 +store __and_663_4054 667 +brif 667 L4054 L4055 +label L4054 load 668 recv_idx call 669 ir_emitter_core_ir_string_expr_is_borrowed bool 1 668 iconst 671 1 sub 670 671 669 -store __and_663_3983 670 -label L3984 -load 672 __and_663_3983 -brif 672 L3981 L3982 -label L3981 +store __and_663_4054 670 +label L4055 +load 672 __and_663_4054 +brif 672 L4052 L4053 +label L4052 load 673 emit_name call 674 ir_metadata_ir_is_void_method bool 1 673 iconst 676 1 sub 675 676 674 -brif 675 L3986 L3987 -label L3986 +brif 675 L4057 L4058 +label L4057 load 677 obj_r load 678 recv_kind call 679 ir_ownership_ir_rc_release_reg void 2 677 678 -jmp L3985 -label L3987 -label L3985 -jmp L3980 -label L3982 -label L3980 -jmp L3977 -label L3979 -label L3977 +jmp L4056 +label L4058 +label L4056 +jmp L4051 +label L4053 +label L4051 +jmp L4048 +label L4050 +label L4048 iconst 680 0 -store __and_680_3991 680 +store __and_680_4062 680 iconst 681 0 -store __and_681_3991 681 +store __and_681_4062 681 load 682 uses_result_abi -store __and_681_3991 682 -brif 682 L3991 L3992 -label L3991 +store __and_681_4062 682 +brif 682 L4062 L4063 +label L4062 load 683 ret_type strref 684 m51s23 call 686 pith_cstring_eq bool 2 683 684 iconst 687 1 sub 685 687 686 call 688 pith_cstring_release void 1 684 -store __and_681_3991 685 -label L3992 -load 689 __and_681_3991 -store __and_680_3991 689 -brif 689 L3993 L3994 -label L3993 +store __and_681_4062 685 +label L4063 +load 689 __and_681_4062 +store __and_680_4062 689 +brif 689 L4064 L4065 +label L4064 load 690 idx call 691 ir_type_helpers_ir_checked_result_kind string 1 690 strref 692 m51s23 call 693 pith_cstring_eq bool 2 691 692 call 694 pith_cstring_release void 1 691 call 695 pith_cstring_release void 1 692 -store __and_680_3991 693 -label L3994 -load 696 __and_680_3991 -brif 696 L3989 L3990 -label L3989 +store __and_680_4062 693 +label L4065 +load 696 __and_680_4062 +brif 696 L4060 L4061 +label L4060 iconst 697 0 -store __and_697_3998 697 +store __and_697_4069 697 load 698 ret_type strref 699 m51s713 call 701 pith_cstring_eq bool 2 698 699 iconst 702 1 sub 700 702 701 call 703 pith_cstring_release void 1 699 -store __and_697_3998 700 -brif 700 L3998 L3999 -label L3998 +store __and_697_4069 700 +brif 700 L4069 L4070 +label L4069 load 704 idx load 705 ir_emitter_core_ir_rcall_defer_idx eq 706 704 705 -store __and_697_3998 706 -label L3999 -load 707 __and_697_3998 -brif 707 L3996 L3997 -label L3996 +store __and_697_4069 706 +label L4070 +load 707 __and_697_4069 +brif 707 L4067 L4068 +label L4067 load 708 r load 709 ret_type load 710 emit_name @@ -181240,8 +181689,8 @@ call 747 pith_cstring_release void 1 746 load 748 recv_kind call 749 pith_cstring_release void 1 748 ret 711 -label L3997 -label L3995 +label L4068 +label L4066 load 750 r load 751 ret_type load 752 emit_name @@ -181285,12 +181734,12 @@ call 789 pith_cstring_release void 1 788 load 790 recv_kind call 791 pith_cstring_release void 1 790 ret 753 -label L3990 -label L3988 +label L4061 +label L4059 load 792 emit_name call 793 ir_metadata_ir_is_void_method bool 1 792 -brif 793 L4001 L4002 -label L4001 +brif 793 L4072 L4073 +label L4072 load 794 obj_r load 795 node call 796 pith_struct_release void 1 795 @@ -181331,8 +181780,8 @@ call 830 pith_cstring_release void 1 829 load 831 recv_kind call 832 pith_cstring_release void 1 831 ret 794 -label L4002 -label L4000 +label L4073 +label L4071 load 833 r load 834 node call 835 pith_struct_release void 1 834 @@ -181430,8 +181879,8 @@ field 8 7 0 string kind strref 9 m51s521 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4004 L4005 -label L4004 +brif 10 L4075 L4076 +label L4075 load 12 si load 13 cn field 14 13 8 string value @@ -181461,15 +181910,15 @@ call 35 pith_struct_release void 1 34 load 36 si call 37 pith_cstring_release void 1 36 ret 33 -label L4005 -label L4003 +label L4076 +label L4074 load 38 cn field 39 38 0 string kind strref 40 m51s522 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -brif 41 L4007 L4008 -label L4007 +brif 41 L4078 L4079 +label L4078 load 43 cn call 44 ir_emitter_core_ir_emit_interp_spec_part int 1 43 load 45 cn @@ -181477,8 +181926,8 @@ call 46 pith_struct_release void 1 45 load 47 si call 48 pith_cstring_release void 1 47 ret 44 -label L4008 -label L4006 +label L4079 +label L4077 load 49 child call 50 ir_emitter_core_ir_string_interp_expr_part int 1 49 load 51 cn @@ -181507,29 +181956,29 @@ field 7 6 0 string kind strref 8 m51s522 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L4010 L4011 -label L4010 +brif 9 L4081 L4082 +label L4081 iconst 11 1 load 12 cn call 13 pith_struct_release void 1 12 ret 11 -label L4011 -label L4009 +label L4082 +label L4080 load 14 cn field 15 14 0 string kind strref 16 m51s521 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L4013 L4014 -label L4013 +brif 17 L4084 L4085 +label L4084 iconst 19 1 load 20 cn call 21 pith_struct_release void 1 20 ret 19 -label L4014 -label L4012 +label L4085 +label L4083 iconst 22 0 -store __or_22_4015 22 +store __or_22_4086 22 load 23 child call 24 ir_emitter_core_ir_infer_type string 1 23 strref 25 m51s716 @@ -181538,16 +181987,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_4015 26 -brif 26 L4016 L4015 -label L4015 +store __or_22_4086 26 +brif 26 L4087 L4086 +label L4086 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_4015 33 -label L4016 -load 35 __or_22_4015 +store __or_22_4086 33 +label L4087 +load 35 __or_22_4086 load 36 cn call 37 pith_struct_release void 1 36 ret 35 @@ -181581,13 +182030,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 L4017 +label L4088 load 17 _fi4 load 18 kids4_children call 19 pith_list_len int 1 18 lt 20 17 19 -brif 20 L4018 L4019 -label L4018 +brif 20 L4089 L4090 +label L4089 load 21 kids4_children load 22 _fi4 call 23 pith_list_get_value_strict int 2 21 22 @@ -181601,14 +182050,14 @@ store part_owned 27 load 28 result_r iconst 29 0 lt 30 28 29 -brif 30 L4021 L4022 -label L4021 +brif 30 L4092 L4093 +label L4092 load 31 part_r store result_r 31 load 32 part_owned store result_owned 32 -jmp L4020 -label L4022 +jmp L4091 +label L4093 call 33 ir_builder_ir_reg int 0 store nr 33 strref 34 m51s1269 @@ -181638,37 +182087,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 L4024 L4025 -label L4024 +brif 60 L4095 L4096 +label L4095 load 61 result_r call 62 ir_ownership_ir_string_release_reg void 1 61 -jmp L4023 -label L4025 -label L4023 +jmp L4094 +label L4096 +label L4094 load 63 part_owned -brif 63 L4027 L4028 -label L4027 +brif 63 L4098 L4099 +label L4098 load 64 part_r call 65 ir_ownership_ir_string_release_reg void 1 64 -jmp L4026 -label L4028 -label L4026 +jmp L4097 +label L4099 +label L4097 load 66 nr store result_r 66 iconst 67 1 store result_owned 67 -label L4020 +label L4091 load 68 _fi4 iconst 69 1 add 70 68 69 store _fi4 70 -jmp L4017 -label L4019 +jmp L4088 +label L4090 load 71 result_r iconst 72 0 lt 73 71 72 -brif 73 L4030 L4031 -label L4030 +brif 73 L4101 L4102 +label L4101 call 74 ir_builder_ir_reg int 0 store result_r 74 strref 75 m51s936 @@ -181691,19 +182140,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 L4029 -label L4031 -label L4029 +jmp L4100 +label L4102 +label L4100 load 94 result_owned iconst 96 1 sub 95 96 94 -brif 95 L4033 L4034 -label L4033 +brif 95 L4104 L4105 +label L4104 load 97 result_r call 98 ir_ownership_ir_string_retain_reg void 1 97 -jmp L4032 -label L4034 -label L4032 +jmp L4103 +label L4105 +label L4103 load 99 result_r load 100 node call 101 pith_struct_release void 1 100 @@ -181735,13 +182184,13 @@ sub 9 7 8 store body_idx 9 iconst 10 0 store i 10 -label L4035 +label L4106 load 11 i load 12 idx call 13 ast_node_child_count int 1 12 lt 14 11 13 -brif 14 L4036 L4037 -label L4036 +brif 14 L4107 L4108 +label L4107 load 15 idx load 16 i call 17 ast_node_child int 2 15 16 @@ -181756,45 +182205,45 @@ field 23 22 0 string kind strref 24 m51s69 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L4039 L4040 -label L4039 +brif 25 L4110 L4111 +label L4110 load 27 params load 28 cn field 29 28 8 string value call 30 pith_list_push_value void 2 27 29 -jmp L4038 -label L4040 +jmp L4109 +label L4111 iconst 31 0 -store __or_31_4043 31 +store __or_31_4114 31 load 32 cn field 33 32 0 string kind strref 34 m51s66 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_31_4043 35 -brif 35 L4044 L4043 -label L4043 +store __or_31_4114 35 +brif 35 L4115 L4114 +label L4114 load 37 cn field 38 37 0 string kind strref 39 m51s65 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_31_4043 40 -label L4044 -load 42 __or_31_4043 -brif 42 L4041 L4042 -label L4041 +store __or_31_4114 40 +label L4115 +load 42 __or_31_4114 +brif 42 L4112 L4113 +label L4112 load 43 child store body_idx 43 -jmp L4038 -label L4042 -label L4038 +jmp L4109 +label L4113 +label L4109 load 44 i iconst 45 1 add 46 44 45 store i 46 -jmp L4035 -label L4037 +jmp L4106 +label L4108 load 47 captures call 48 pith_list_new_cstr list 0 call 49 pith_list_release_handle void 1 47 @@ -181802,17 +182251,17 @@ store captures 48 load 50 body_idx iconst 51 0 gte 52 50 51 -brif 52 L4046 L4047 -label L4046 +brif 52 L4117 L4118 +label L4117 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 L4045 -label L4047 -label L4045 +jmp L4116 +label L4118 +label L4116 load 58 params call 59 pith_list_retain_handle void 1 58 load 60 body_idx @@ -181862,12 +182311,12 @@ iconst 3 0 store __for_idx_398 3 store __for_len_398 2 store __for_iter_398 1 -label L4048 +label L4119 load 4 __for_idx_398 load 5 __for_len_398 lt 6 4 5 -brif 6 L4049 L4051 -label L4049 +brif 6 L4120 L4122 +label L4120 load 7 __for_iter_398 load 8 __for_idx_398 call 9 pith_list_get_value_unchecked string 2 7 8 @@ -181884,13 +182333,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 L4050 +label L4121 load 21 __for_idx_398 iconst 22 1 add 23 21 22 store __for_idx_398 23 -jmp L4048 -label L4051 +jmp L4119 +label L4122 iconst 24 0 ret 24 endfunc @@ -181900,31 +182349,31 @@ load 1 expr_idx call 2 ir_emitter_core_ir_expr int 1 1 store br 2 iconst 3 0 -store __and_3_4055 3 +store __and_3_4126 3 load 4 expr_idx call 5 ir_emitter_core_ir_infer_type string 1 4 strref 6 m51s716 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_4055 7 -brif 7 L4055 L4056 -label L4055 +store __and_3_4126 7 +brif 7 L4126 L4127 +label L4126 load 10 expr_idx call 11 ir_emitter_core_ir_string_expr_is_borrowed bool 1 10 -store __and_3_4055 11 -label L4056 -load 12 __and_3_4055 -brif 12 L4053 L4054 -label L4053 +store __and_3_4126 11 +label L4127 +load 12 __and_3_4126 +brif 12 L4124 L4125 +label L4124 load 13 br strref 14 m51s716 call 15 ir_ownership_ir_rc_retain_reg void 2 13 14 call 16 pith_cstring_release void 1 14 -jmp L4052 -label L4054 -label L4052 -strref 17 m51s897 +jmp L4123 +label L4125 +label L4123 +strref 17 m51s925 load 18 br call 19 int_to_string string 1 18 concat 20 17 19 @@ -181940,54 +182389,54 @@ param body_idx load 1 body_idx iconst 2 0 lt 3 1 2 -brif 3 L4058 L4059 -label L4058 +brif 3 L4129 L4130 +label L4129 iconst 4 0 ret 4 -label L4059 -label L4057 +label L4130 +label L4128 iconst 5 0 -store __and_5_4063 5 +store __and_5_4134 5 load 6 body_idx call 7 ast_node_kind string 1 6 strref 8 m51s66 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_4063 9 -brif 9 L4063 L4064 -label L4063 +store __and_5_4134 9 +brif 9 L4134 L4135 +label L4134 load 12 body_idx call 13 ast_node_child_count int 1 12 iconst 14 0 gt 15 13 14 -store __and_5_4063 15 -label L4064 -load 16 __and_5_4063 -brif 16 L4061 L4062 -label L4061 +store __and_5_4134 15 +label L4135 +load 16 __and_5_4134 +brif 16 L4132 L4133 +label L4132 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 L4062 -label L4060 +label L4133 +label L4131 load 22 body_idx call 23 ast_node_kind string 1 22 strref 24 m51s65 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 L4066 L4067 -label L4066 +brif 25 L4137 L4138 +label L4137 load 28 body_idx call 29 ir_emitter_core_ir_block int 1 28 iconst 30 0 ret 30 -label L4067 -label L4065 +label L4138 +label L4136 load 31 body_idx call 32 ir_emitter_core_ir_emit_lambda_expr_return void 1 31 iconst 33 0 @@ -182008,7 +182457,7 @@ call 9 pith_cstring_release void 1 4 call 10 pith_cstring_release void 1 7 call 11 ir_builder_ir_emit void 1 8 call 12 pith_cstring_release void 1 8 -strref 13 m51s897 +strref 13 m51s925 load 14 dr call 15 int_to_string string 1 14 concat 16 13 15 @@ -182016,7 +182465,7 @@ call 17 pith_cstring_release void 1 13 call 18 pith_cstring_release void 1 15 call 19 ir_builder_ir_emit void 1 16 call 20 pith_cstring_release void 1 16 -strref 21 m51s925 +strref 21 m51s924 call 22 ir_builder_ir_emit void 1 21 call 23 pith_cstring_release void 1 21 iconst 24 0 @@ -182097,33 +182546,33 @@ iconst 36 0 store __for_idx_399 36 store __for_len_399 35 store __for_iter_399 34 -label L4068 +label L4139 load 37 __for_idx_399 load 38 __for_len_399 lt 39 37 38 -brif 39 L4069 L4071 -label L4069 +brif 39 L4140 L4142 +label L4140 load 40 __for_iter_399 load 41 __for_idx_399 call 42 pith_list_get_value_unchecked string 2 40 41 store __loopvar_399_cap 42 load 43 __loopvar_399_cap call 44 ir_emitter_core_ir_name_is_weak_read bool 1 43 -brif 44 L4073 L4074 -label L4073 +brif 44 L4144 L4145 +label L4144 load 45 lambda_weak_caps load 46 __loopvar_399_cap call 47 pith_list_push_value void 2 45 46 -jmp L4072 -label L4074 -label L4072 -label L4070 +jmp L4143 +label L4145 +label L4143 +label L4141 load 48 __for_idx_399 iconst 49 1 add 50 48 49 store __for_idx_399 50 -jmp L4068 -label L4071 +jmp L4139 +label L4142 load 51 saved_builder call 52 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 53 pith_struct_release void 1 51 @@ -182377,8 +182826,8 @@ field 29 28 16 list children call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -brif 32 L4076 L4077 -label L4076 +brif 32 L4147 L4148 +label L4147 load 33 callee load 34 call_node field 35 34 16 list children @@ -182392,8 +182841,8 @@ field 41 40 0 string name call 42 string_len int 1 41 iconst 43 0 eq 44 42 43 -brif 44 L4079 L4080 -label L4079 +brif 44 L4150 L4151 +label L4150 load 45 captures load 46 call_node field 47 46 16 list children @@ -182404,19 +182853,19 @@ call 51 ir_emitter_core_ir_find_free_vars list_string 2 49 50 call 52 pith_list_release_handle void 1 50 call 53 pith_list_release_handle void 1 45 store captures 51 -jmp L4078 -label L4080 -label L4078 +jmp L4149 +label L4151 +label L4149 iconst 54 1 store i 54 -label L4081 +label L4152 load 55 i load 56 call_node field 57 56 16 list children call 58 pith_list_len int 1 57 lt 59 55 58 -brif 59 L4082 L4083 -label L4082 +brif 59 L4153 L4154 +label L4153 load 60 free_in_arg load 61 call_node field 62 61 16 list children @@ -182429,13 +182878,13 @@ call 68 pith_list_release_handle void 1 60 store free_in_arg 66 iconst 69 0 store j 69 -label L4084 +label L4155 load 70 j load 71 free_in_arg call 72 pith_list_len int 1 71 lt 73 70 72 -brif 73 L4085 L4086 -label L4085 +brif 73 L4156 L4157 +label L4156 load 74 captures load 75 free_in_arg load 76 j @@ -182443,31 +182892,31 @@ call 77 pith_list_get_value_strict string 2 75 76 call 78 ir_ast_helpers_ir_list_contains bool 2 74 77 iconst 80 1 sub 79 80 78 -brif 79 L4088 L4089 -label L4088 +brif 79 L4159 L4160 +label L4159 load 81 captures load 82 free_in_arg load 83 j call 84 pith_list_get_value_strict string 2 82 83 call 85 pith_list_push_value void 2 81 84 -jmp L4087 -label L4089 -label L4087 +jmp L4158 +label L4160 +label L4158 load 86 j iconst 87 1 add 88 86 87 store j 88 -jmp L4084 -label L4086 +jmp L4155 +label L4157 load 89 i iconst 90 1 add 91 89 90 store i 91 -jmp L4081 -label L4083 -jmp L4075 -label L4077 -label L4075 +jmp L4152 +label L4154 +jmp L4146 +label L4148 +label L4146 load 92 saved_builder call 93 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 94 pith_struct_release void 1 92 @@ -182496,7 +182945,7 @@ call 112 pith_cstring_release void 1 110 call 113 ir_emitter_core_ir_emit_lambda_hidden_param void 0 load 114 captures call 115 ir_emitter_core_ir_emit_lambda_capture_loads void 1 114 -strref 116 m51s897 +strref 116 m51s925 load 117 call_idx call 118 ir_emitter_core_ir_expr int 1 117 call 119 int_to_string string 1 118 @@ -182579,38 +183028,38 @@ param name load 1 ir_alias_registry_ir_import_renames load 2 name call 3 contains_key bool 2 1 2 -brif 3 L4091 L4092 -label L4091 +brif 3 L4162 L4163 +label L4162 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 L4092 -label L4090 +label L4163 +label L4161 iconst 8 0 -store __and_8_4096 8 +store __and_8_4167 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_4096 12 -brif 12 L4096 L4097 -label L4096 +store __and_8_4167 12 +brif 12 L4167 L4168 +label L4167 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_4096 15 -label L4097 -load 16 __and_8_4096 -brif 16 L4094 L4095 -label L4094 +store __and_8_4167 15 +label L4168 +load 16 __and_8_4167 +brif 16 L4165 L4166 +label L4165 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 L4095 -label L4093 +label L4166 +label L4164 load 20 name call 21 pith_cstring_retain void 1 20 ret 20 @@ -182623,27 +183072,27 @@ param name iconst 2 0 store callee 2 iconst 3 0 -store __or_3_4101 3 +store __or_3_4172 3 load 4 ir_builder_ir_var_regs load 5 name call 6 contains_key bool 2 4 5 -store __or_3_4101 6 -brif 6 L4102 L4101 -label L4101 +store __or_3_4172 6 +brif 6 L4173 L4172 +label L4172 load 7 ir_builder_ir_var_types load 8 name call 9 contains_key bool 2 7 8 -store __or_3_4101 9 -label L4102 -load 10 __or_3_4101 -brif 10 L4099 L4100 -label L4099 +store __or_3_4172 9 +label L4173 +load 10 __or_3_4172 +brif 10 L4170 L4171 +label L4170 iconst 11 0 load 12 callee call 13 pith_struct_release void 1 12 ret 11 -label L4100 -label L4098 +label L4171 +label L4169 load 14 callee load 15 name call 16 ir_emitter_core_ir_ident_callee struct:ResolvedCallee 1 15 @@ -182676,8 +183125,8 @@ field 8 7 0 string kind strref 9 m51s37 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4104 L4105 -label L4104 +brif 10 L4175 L4176 +label L4175 load 12 idx load 13 node field 14 13 8 string value @@ -182687,28 +183136,28 @@ call 17 pith_struct_release void 1 16 load 18 recv_node call 19 pith_struct_release void 1 18 ret 15 -label L4105 -label L4103 +label L4176 +label L4174 iconst 20 0 -store __and_20_4109 20 +store __and_20_4180 20 load 21 node field 22 21 0 string kind strref 23 m51s36 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __and_20_4109 24 -brif 24 L4109 L4110 -label L4109 +store __and_20_4180 24 +brif 24 L4180 L4181 +label L4180 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_4109 30 -label L4110 -load 31 __and_20_4109 -brif 31 L4107 L4108 -label L4107 +store __and_20_4180 30 +label L4181 +load 31 __and_20_4180 +brif 31 L4178 L4179 +label L4178 load 32 recv_node load 33 node field 34 33 16 list children @@ -182718,45 +183167,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_4114 39 +store __and_39_4185 39 load 40 recv_node field 41 40 0 string kind strref 42 m51s37 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -store __and_39_4114 43 -brif 43 L4114 L4115 -label L4114 +store __and_39_4185 43 +brif 43 L4185 L4186 +label L4185 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_4114 48 -label L4115 -load 49 __and_39_4114 +store __and_39_4185 48 +label L4186 +load 49 __and_39_4185 iconst 51 1 sub 50 51 49 -brif 50 L4112 L4113 -label L4112 +brif 50 L4183 L4184 +label L4183 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 L4113 -label L4111 +label L4184 +label L4182 load 57 idx call 58 checker_c_get_expr_type int 1 57 store expr_tid 58 iconst 59 0 -store __or_59_4119 59 +store __or_59_4190 59 load 60 expr_tid iconst 61 0 lt 62 60 61 -store __or_59_4119 62 -brif 62 L4120 L4119 -label L4119 +store __or_59_4190 62 +brif 62 L4191 L4190 +label L4190 load 63 expr_tid call 64 types_get_type_info struct:TypeInfo 1 63 field 65 64 0 string kind @@ -182765,19 +183214,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_4119 67 -label L4120 -load 71 __or_59_4119 -brif 71 L4117 L4118 -label L4117 +store __or_59_4190 67 +label L4191 +load 71 __or_59_4190 +brif 71 L4188 L4189 +label L4188 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 L4118 -label L4116 +label L4189 +label L4187 load 77 idx call 78 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 77 field 79 78 0 string name @@ -182789,8 +183238,8 @@ call 84 pith_struct_release void 1 83 load 85 recv_node call 86 pith_struct_release void 1 85 ret 82 -label L4108 -label L4106 +label L4179 +label L4177 iconst 87 0 load 88 node call 89 pith_struct_release void 1 88 @@ -182830,8 +183279,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 L4122 L4123 -label L4122 +brif 14 L4193 L4194 +label L4193 load 15 ir_emitter_core_ir_named_fn_value_wrappers load 16 target_name call 17 map_get_strict string 2 15 16 @@ -182857,8 +183306,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 L4123 -label L4121 +label L4194 +label L4192 load 39 wrapper_name strref 40 m51s1266 load 41 ir_emitter_core_ir_lambda_count @@ -182889,15 +183338,15 @@ load 60 ret_type call 61 string_len int 1 60 iconst 62 0 eq 63 61 62 -brif 63 L4125 L4126 -label L4125 +brif 63 L4196 L4197 +label L4196 load 64 ret_type strref 65 m51s869 call 66 pith_cstring_release void 1 64 store ret_type 65 -jmp L4124 -label L4126 -label L4124 +jmp L4195 +label L4197 +label L4195 load 67 saved_builder call 68 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 69 pith_struct_release void 1 67 @@ -182925,17 +183374,17 @@ field 85 84 0 string kind strref 86 m51s24 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L4128 L4129 -label L4128 +brif 87 L4199 L4200 +label L4199 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 L4127 -label L4129 -label L4127 +jmp L4198 +label L4200 +label L4198 load 94 wrapper_name load 95 param_count load 96 ret_type @@ -182950,18 +183399,18 @@ field 103 102 0 string kind strref 104 m51s24 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -brif 105 L4131 L4132 -label L4131 +brif 105 L4202 L4203 +label L4202 iconst 107 0 store i 107 -label L4133 +label L4204 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 L4134 L4135 -label L4134 +brif 112 L4205 L4206 +label L4205 load 113 arg_name strref 114 m51s1265 load 115 i @@ -182982,11 +183431,11 @@ load 128 i iconst 129 1 add 130 128 129 store i 130 -jmp L4133 -label L4135 -jmp L4130 -label L4132 -label L4130 +jmp L4204 +label L4206 +jmp L4201 +label L4203 +label L4201 load 131 arg_regs call 132 pith_list_new_default list 0 call 133 pith_list_release_handle void 1 131 @@ -182997,12 +183446,12 @@ iconst 136 0 store __for_idx_400 136 store __for_len_400 135 store __for_iter_400 134 -label L4136 +label L4207 load 137 __for_idx_400 load 138 __for_len_400 lt 139 137 138 -brif 139 L4137 L4139 -label L4137 +brif 139 L4208 L4210 +label L4208 load 140 __for_iter_400 load 141 __for_idx_400 call 142 pith_list_get_value_unchecked string 2 140 141 @@ -183027,19 +183476,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 L4138 +label L4209 load 162 __for_idx_400 iconst 163 1 add 164 162 163 store __for_idx_400 164 -jmp L4136 -label L4139 +jmp L4207 +label L4210 load 165 ret_type strref 166 m51s876 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -brif 167 L4141 L4142 -label L4141 +brif 167 L4212 L4213 +label L4212 call 169 ir_builder_ir_reg int 0 store call_r 169 load 170 call_r @@ -183066,7 +183515,7 @@ call 189 pith_cstring_release void 1 184 call 190 pith_cstring_release void 1 187 call 191 ir_builder_ir_emit void 1 188 call 192 pith_cstring_release void 1 188 -strref 193 m51s897 +strref 193 m51s925 load 194 zero_r call 195 int_to_string string 1 194 concat 196 193 195 @@ -183074,15 +183523,15 @@ 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 L4140 -label L4142 +jmp L4211 +label L4213 call 201 ir_builder_ir_reg int 0 store call_r 201 load 202 ir_result_abi_ir_result_reg_funcs load 203 target_name call 204 contains_key bool 2 202 203 -brif 204 L4144 L4145 -label L4144 +brif 204 L4215 L4216 +label L4215 load 205 call_r load 206 target_name load 207 arg_regs @@ -183092,8 +183541,8 @@ call 210 ir_call_helpers_ir_join_arg_regs string 1 209 call 211 ir_emitter_core_ir_emit_result_reg_call int 4 205 206 208 210 call 212 pith_cstring_release void 1 210 store call_r 211 -jmp L4143 -label L4145 +jmp L4214 +label L4216 load 213 call_r load 214 target_name load 215 ret_type @@ -183103,8 +183552,8 @@ load 218 arg_regs call 219 ir_call_helpers_ir_join_arg_regs string 1 218 call 220 ir_call_emit_ir_emit_call_text void 5 213 214 215 217 219 call 221 pith_cstring_release void 1 219 -label L4143 -strref 222 m51s897 +label L4214 +strref 222 m51s925 load 223 call_r call 224 int_to_string string 1 223 concat 225 222 224 @@ -183112,7 +183561,7 @@ call 226 pith_cstring_release void 1 222 call 227 pith_cstring_release void 1 224 call 228 ir_builder_ir_emit void 1 225 call 229 pith_cstring_release void 1 225 -label L4140 +label L4211 call 230 ir_emitter_core_ir_emit_lambda_default_return void 0 load 231 saved_builder load 232 saved_vars @@ -183180,8 +183629,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 L4147 L4148 -label L4147 +brif 7 L4218 L4219 +label L4218 load 8 callee load 9 name call 10 ir_emitter_core_ir_ident_callee struct:ResolvedCallee 1 9 @@ -183215,15 +183664,15 @@ call 35 pith_struct_release void 1 34 load 36 wrapper_name call 37 pith_cstring_release void 1 36 ret 33 -label L4148 -label L4146 +label L4219 +label L4217 load 38 r load 39 name call 40 ir_emitter_core_ir_emit_name_load void 2 38 39 load 41 name call 42 ir_emitter_core_ir_name_is_weak_read bool 1 41 -brif 42 L4150 L4151 -label L4150 +brif 42 L4221 L4222 +label L4221 load 43 r call 44 ir_optionals_ir_emit_weak_read int 1 43 load 45 callee @@ -183231,8 +183680,8 @@ call 46 pith_struct_release void 1 45 load 47 wrapper_name call 48 pith_cstring_release void 1 47 ret 44 -label L4151 -label L4149 +label L4222 +label L4220 load 49 r load 50 callee call 51 pith_struct_release void 1 50 @@ -183256,12 +183705,12 @@ iconst 4 0 store __for_idx_401 4 store __for_len_401 3 store __for_iter_401 2 -label L4152 +label L4223 load 5 __for_idx_401 load 6 __for_len_401 lt 7 5 6 -brif 7 L4153 L4155 -label L4153 +brif 7 L4224 L4226 +label L4224 load 8 __for_iter_401 load 9 __for_idx_401 call 10 pith_list_get_value unknown 2 8 9 @@ -183272,38 +183721,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_4159 15 +store __and_15_4230 15 load 16 an field 17 16 0 string kind strref 18 m51s42 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __and_15_4159 19 -brif 19 L4159 L4160 -label L4159 +store __and_15_4230 19 +brif 19 L4230 L4231 +label L4230 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_4159 25 -label L4160 -load 26 __and_15_4159 -brif 26 L4157 L4158 -label L4157 +store __and_15_4230 25 +label L4231 +load 26 __and_15_4230 +brif 26 L4228 L4229 +label L4228 iconst 27 1 load 28 an call 29 pith_struct_release void 1 28 ret 27 -label L4158 -label L4156 -label L4154 +label L4229 +label L4227 +label L4225 load 30 __for_idx_401 iconst 31 1 add 32 30 31 store __for_idx_401 32 -jmp L4152 -label L4155 +jmp L4223 +label L4226 iconst 33 0 load 34 an call 35 pith_struct_release void 1 34 @@ -183321,8 +183770,8 @@ store info 2 load 3 tid iconst 4 0 gte 5 3 4 -brif 5 L4162 L4163 -label L4162 +brif 5 L4233 L4234 +label L4233 load 6 info load 7 tid call 8 types_get_type_info struct:TypeInfo 1 7 @@ -183333,19 +183782,19 @@ field 11 10 0 string kind strref 12 m51s15 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L4165 L4166 -label L4165 +brif 13 L4236 L4237 +label L4236 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 L4166 -label L4164 -jmp L4161 -label L4163 -label L4161 +label L4237 +label L4235 +jmp L4232 +label L4234 +label L4232 load 20 sname call 21 ir_struct_registry_ir_struct_field_count int 1 20 load 22 info @@ -183365,44 +183814,44 @@ store info 3 load 4 tid iconst 5 0 gte 6 4 5 -brif 6 L4168 L4169 -label L4168 +brif 6 L4239 L4240 +label L4239 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_4173 11 +store __and_11_4244 11 iconst 12 0 -store __and_12_4173 12 +store __and_12_4244 12 load 13 info field 14 13 0 string kind strref 15 m51s15 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __and_12_4173 16 -brif 16 L4173 L4174 -label L4173 +store __and_12_4244 16 +brif 16 L4244 L4245 +label L4244 load 18 field_index iconst 19 0 gte 20 18 19 -store __and_12_4173 20 -label L4174 -load 21 __and_12_4173 -store __and_11_4173 21 -brif 21 L4175 L4176 -label L4175 +store __and_12_4244 20 +label L4245 +load 21 __and_12_4244 +store __and_11_4244 21 +brif 21 L4246 L4247 +label L4246 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_4173 26 -label L4176 -load 27 __and_11_4173 -brif 27 L4171 L4172 -label L4171 +store __and_11_4244 26 +label L4247 +load 27 __and_11_4244 +brif 27 L4242 L4243 +label L4242 load 28 info field 29 28 16 list_string fields load 30 field_index @@ -183411,11 +183860,11 @@ call 32 pith_cstring_retain void 1 31 load 33 info call 34 pith_struct_release void 1 33 ret 31 -label L4172 -label L4170 -jmp L4167 -label L4169 -label L4167 +label L4243 +label L4241 +jmp L4238 +label L4240 +label L4238 load 35 sname load 36 field_index call 37 ir_struct_registry_ir_struct_field_name_at string 2 35 36 @@ -183436,8 +183885,8 @@ store info 3 load 4 tid iconst 5 0 gte 6 4 5 -brif 6 L4178 L4179 -label L4178 +brif 6 L4249 L4250 +label L4249 load 7 info load 8 tid call 9 types_get_type_info struct:TypeInfo 1 8 @@ -183448,8 +183897,8 @@ field 12 11 0 string kind strref 13 m51s15 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L4181 L4182 -label L4181 +brif 14 L4252 L4253 +label L4252 load 16 info field 17 16 16 list_string fields call 18 pith_auto_len int 1 17 @@ -183457,12 +183906,12 @@ iconst 19 0 store __for_idx_402 19 store __for_len_402 18 store __for_iter_402 17 -label L4183 +label L4254 load 20 __for_idx_402 load 21 __for_len_402 lt 22 20 21 -brif 22 L4184 L4186 -label L4184 +brif 22 L4255 L4257 +label L4255 load 23 __for_iter_402 load 24 __for_idx_402 call 25 pith_list_get_value_unchecked string 2 23 24 @@ -183470,23 +183919,23 @@ store __loopvar_402_name 25 load 26 __for_idx_402 store __loopvar_402_i 26 iconst 27 0 -store __and_27_4190 27 +store __and_27_4261 27 load 28 __loopvar_402_name load 29 field_name call 30 pith_cstring_eq bool 2 28 29 -store __and_27_4190 30 -brif 30 L4190 L4191 -label L4190 +store __and_27_4261 30 +brif 30 L4261 L4262 +label L4261 load 31 __loopvar_402_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_4190 35 -label L4191 -load 36 __and_27_4190 -brif 36 L4188 L4189 -label L4188 +store __and_27_4261 35 +label L4262 +load 36 __and_27_4261 +brif 36 L4259 L4260 +label L4259 load 37 info field 38 37 24 list field_types load 39 __loopvar_402_i @@ -183495,21 +183944,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 L4189 -label L4187 -label L4185 +label L4260 +label L4258 +label L4256 load 44 __for_idx_402 iconst 45 1 add 46 44 45 store __for_idx_402 46 -jmp L4183 -label L4186 -jmp L4180 -label L4182 -label L4180 -jmp L4177 -label L4179 -label L4177 +jmp L4254 +label L4257 +jmp L4251 +label L4253 +label L4251 +jmp L4248 +label L4250 +label L4248 load 47 sname load 48 field_name call 49 ir_struct_registry_ir_struct_field_type_name string 2 47 48 @@ -183545,12 +183994,12 @@ call 13 pith_list_release_handle void 1 11 store field_regs 12 iconst 14 0 store field_idx 14 -label L4192 +label L4263 load 15 field_idx load 16 total_fields lt 17 15 16 -brif 17 L4193 L4194 -label L4193 +brif 17 L4264 L4265 +label L4264 load 18 field_name load 19 sname load 20 tid @@ -183575,12 +184024,12 @@ iconst 35 0 store __for_idx_403 35 store __for_len_403 34 store __for_iter_403 33 -label L4195 +label L4266 load 36 __for_idx_403 load 37 __for_len_403 lt 38 36 37 -brif 38 L4196 L4198 -label L4196 +brif 38 L4267 L4269 +label L4267 load 39 __for_iter_403 load 40 __for_idx_403 call 41 pith_list_get_value unknown 2 39 40 @@ -183591,93 +184040,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_4202 46 +store __and_46_4273 46 iconst 47 0 -store __and_47_4202 47 +store __and_47_4273 47 load 48 an field 49 48 0 string kind strref 50 m51s42 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __and_47_4202 51 -brif 51 L4202 L4203 -label L4202 +store __and_47_4273 51 +brif 51 L4273 L4274 +label L4273 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_4202 56 -label L4203 -load 57 __and_47_4202 -store __and_46_4202 57 -brif 57 L4204 L4205 -label L4204 +store __and_47_4273 56 +label L4274 +load 57 __and_47_4273 +store __and_46_4273 57 +brif 57 L4275 L4276 +label L4275 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_4202 62 -label L4205 -load 63 __and_46_4202 -brif 63 L4200 L4201 -label L4200 +store __and_46_4273 62 +label L4276 +load 63 __and_46_4273 +brif 63 L4271 L4272 +label L4271 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 L4199 -label L4201 -label L4199 -label L4197 +jmp L4270 +label L4272 +label L4270 +label L4268 load 68 __for_idx_403 iconst 69 1 add 70 68 69 store __for_idx_403 70 -jmp L4195 -label L4198 +jmp L4266 +label L4269 load 71 sname load 72 field_name call 73 ir_emitter_core_ir_struct_field_is_weak bool 2 71 72 -brif 73 L4207 L4208 -label L4207 +brif 73 L4278 L4279 +label L4278 load 74 value_node store init_node 74 load 75 init_node iconst 76 0 lt 77 75 76 -brif 77 L4210 L4211 -label L4210 +brif 77 L4281 L4282 +label L4281 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 L4209 -label L4211 -label L4209 +jmp L4280 +label L4282 +label L4280 load 81 init_node iconst 82 0 gte 83 81 82 -brif 83 L4213 L4214 -label L4213 +brif 83 L4284 L4285 +label L4284 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 L4212 -label L4214 +jmp L4283 +label L4285 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 L4212 -jmp L4206 -label L4208 +label L4283 +jmp L4277 +label L4279 load 91 value_node iconst 92 0 gte 93 91 92 -brif 93 L4215 L4216 -label L4215 +brif 93 L4286 L4287 +label L4286 load 94 value_node load 95 field_type call 96 ir_emitter_core_ir_emit_value_for_target int 2 94 95 @@ -183688,46 +184137,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_4220 101 +store __and_101_4291 101 iconst 102 0 -store __and_102_4220 102 +store __and_102_4291 102 load 103 named_field_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -store __and_102_4220 106 -brif 106 L4220 L4221 -label L4220 +store __and_102_4291 106 +brif 106 L4291 L4292 +label L4291 load 107 named_field_kind strref 108 m51s23 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_4220 109 -label L4221 -load 113 __and_102_4220 -store __and_101_4220 113 -brif 113 L4222 L4223 -label L4222 +store __and_102_4291 109 +label L4292 +load 113 __and_102_4291 +store __and_101_4291 113 +brif 113 L4293 L4294 +label L4293 load 114 value_node call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_101_4220 115 -label L4223 -load 116 __and_101_4220 -brif 116 L4218 L4219 -label L4218 +store __and_101_4291 115 +label L4294 +load 116 __and_101_4291 +brif 116 L4289 L4290 +label L4289 load 117 fr load 118 named_field_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L4217 -label L4219 -label L4217 +jmp L4288 +label L4290 +label L4288 load 120 field_regs load 121 fr call 122 pith_list_push_value void 2 120 121 -jmp L4206 -label L4216 +jmp L4277 +label L4287 load 123 sname load 124 field_name call 125 ir_struct_registry_ir_struct_field_default_node int 2 123 124 @@ -183735,26 +184184,26 @@ store default_idx 125 load 126 default_idx iconst 127 0 gte 128 126 127 -brif 128 L4225 L4226 -label L4225 +brif 128 L4296 L4297 +label L4296 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 L4224 -label L4226 +jmp L4295 +label L4297 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 L4224 -label L4206 +label L4295 +label L4277 load 137 field_idx iconst 138 1 add 139 137 138 store field_idx 139 -jmp L4192 -label L4194 +jmp L4263 +label L4265 call 140 ir_builder_ir_reg int 0 store r 140 call 141 ir_builder_ir_reg int 0 @@ -183792,12 +184241,12 @@ iconst 171 0 store __for_idx_404 171 store __for_len_404 170 store __for_iter_404 169 -label L4227 +label L4298 load 172 __for_idx_404 load 173 __for_len_404 lt 174 172 173 -brif 174 L4228 L4230 -label L4228 +brif 174 L4299 L4301 +label L4299 load 175 __for_iter_404 load 176 __for_idx_404 call 177 pith_list_get_value unknown 2 175 176 @@ -183830,13 +184279,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 L4229 +label L4300 load 205 __for_idx_404 iconst 206 1 add 207 205 206 store __for_idx_404 207 -jmp L4227 -label L4230 +jmp L4298 +label L4301 load 208 r load 209 sname call 210 ir_emitter_core_ir_emit_attach_dtor void 2 208 209 @@ -183881,8 +184330,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 L4232 L4233 -label L4232 +brif 9 L4303 L4304 +label L4303 load 10 sname load 11 arg_nodes load 12 tid @@ -183898,21 +184347,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 L4233 -label L4231 +label L4304 +label L4302 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 L4234 +label L4305 load 28 field_idx load 29 arg_nodes call 30 pith_list_len int 1 29 lt 31 28 30 -brif 31 L4235 L4236 -label L4235 +brif 31 L4306 L4307 +label L4306 load 32 arg_nodes load 33 field_idx call 34 pith_list_get_value_strict int 2 32 33 @@ -183939,65 +184388,65 @@ store ftype 49 load 51 child store value_idx 51 iconst 52 0 -store __and_52_4240 52 +store __and_52_4311 52 load 53 cn field 54 53 0 string kind strref 55 m51s1264 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __and_52_4240 56 -brif 56 L4240 L4241 -label L4240 +store __and_52_4311 56 +brif 56 L4311 L4312 +label L4311 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_4240 62 -label L4241 -load 63 __and_52_4240 -brif 63 L4238 L4239 -label L4238 +store __and_52_4311 62 +label L4312 +load 63 __and_52_4311 +brif 63 L4309 L4310 +label L4309 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 L4237 -label L4239 +jmp L4308 +label L4310 iconst 68 0 -store __and_68_4244 68 +store __and_68_4315 68 load 69 cn field 70 69 0 string kind strref 71 m51s42 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __and_68_4244 72 -brif 72 L4244 L4245 -label L4244 +store __and_68_4315 72 +brif 72 L4315 L4316 +label L4315 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_4244 78 -label L4245 -load 79 __and_68_4244 -brif 79 L4242 L4243 -label L4242 +store __and_68_4315 78 +label L4316 +load 79 __and_68_4315 +brif 79 L4313 L4314 +label L4313 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 L4237 -label L4243 -label L4237 +jmp L4308 +label L4314 +label L4308 load 84 sname load 85 field_name call 86 ir_emitter_core_ir_struct_field_is_weak bool 2 84 85 -brif 86 L4247 L4248 -label L4247 +brif 86 L4318 L4319 +label L4318 load 87 field_regs load 88 value_idx call 89 ir_emitter_core_ir_emit_weak_payload int 1 88 @@ -184006,9 +184455,9 @@ load 91 field_idx iconst 92 1 add 93 91 92 store field_idx 93 -jmp L4234 -label L4248 -label L4246 +jmp L4305 +label L4319 +label L4317 load 94 value_idx load 95 ftype call 96 ir_emitter_core_ir_emit_value_for_target int 2 94 95 @@ -184019,41 +184468,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_4252 101 +store __and_101_4323 101 iconst 102 0 -store __and_102_4252 102 +store __and_102_4323 102 load 103 pos_field_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -store __and_102_4252 106 -brif 106 L4252 L4253 -label L4252 +store __and_102_4323 106 +brif 106 L4323 L4324 +label L4323 load 107 pos_field_kind strref 108 m51s23 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_4252 109 -label L4253 -load 113 __and_102_4252 -store __and_101_4252 113 -brif 113 L4254 L4255 -label L4254 +store __and_102_4323 109 +label L4324 +load 113 __and_102_4323 +store __and_101_4323 113 +brif 113 L4325 L4326 +label L4325 load 114 value_idx call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_101_4252 115 -label L4255 -load 116 __and_101_4252 -brif 116 L4250 L4251 -label L4250 +store __and_101_4323 115 +label L4326 +load 116 __and_101_4323 +brif 116 L4321 L4322 +label L4321 load 117 fr load 118 pos_field_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L4249 -label L4251 -label L4249 +jmp L4320 +label L4322 +label L4320 load 120 field_regs load 121 fr call 122 pith_list_push_value void 2 120 121 @@ -184061,18 +184510,18 @@ load 123 field_idx iconst 124 1 add 125 123 124 store field_idx 125 -jmp L4234 -label L4236 +jmp L4305 +label L4307 load 126 sname load 127 tid call 128 ir_emitter_core_ir_ctor_field_count int 2 126 127 store total_fields 128 -label L4256 +label L4327 load 129 field_idx load 130 total_fields lt 131 129 130 -brif 131 L4257 L4258 -label L4257 +brif 131 L4328 L4329 +label L4328 load 132 field_name load 133 sname load 134 tid @@ -184087,8 +184536,8 @@ store default_idx 140 load 141 default_idx iconst 142 0 gte 143 141 142 -brif 143 L4260 L4261 -label L4260 +brif 143 L4331 L4332 +label L4331 load 144 field_regs load 145 default_idx load 146 sname @@ -184098,18 +184547,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 L4259 -label L4261 +jmp L4330 +label L4332 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 L4259 +label L4330 load 156 field_idx iconst 157 1 add 158 156 157 store field_idx 158 -jmp L4256 -label L4258 +jmp L4327 +label L4329 call 159 ir_builder_ir_reg int 0 store r 159 call 160 ir_builder_ir_reg int 0 @@ -184147,12 +184596,12 @@ iconst 190 0 store __for_idx_405 190 store __for_len_405 189 store __for_iter_405 188 -label L4262 +label L4333 load 191 __for_idx_405 load 192 __for_len_405 lt 193 191 192 -brif 193 L4263 L4265 -label L4263 +brif 193 L4334 L4336 +label L4334 load 194 __for_iter_405 load 195 __for_idx_405 call 196 pith_list_get_value unknown 2 194 195 @@ -184185,13 +184634,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 L4264 +label L4335 load 224 __for_idx_405 iconst 225 1 add 226 224 225 store __for_idx_405 226 -jmp L4262 -label L4265 +jmp L4333 +label L4336 load 227 r load 228 sname call 229 ir_emitter_core_ir_emit_attach_dtor void 2 227 228 @@ -184243,8 +184692,8 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 0 gt 6 4 5 -brif 6 L4267 L4268 -label L4267 +brif 6 L4338 L4339 +label L4338 load 7 inner load 8 node field 9 8 16 list children @@ -184258,8 +184707,8 @@ field 15 14 0 string kind strref 16 m51s44 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L4270 L4271 -label L4270 +brif 17 L4341 L4342 +label L4341 load 19 node field 20 19 16 list children iconst 21 0 @@ -184279,11 +184728,11 @@ load 32 r load 33 inner call 34 pith_struct_release void 1 33 ret 32 -label L4271 -label L4269 -jmp L4266 -label L4268 -label L4266 +label L4342 +label L4340 +jmp L4337 +label L4339 +label L4337 call 35 ir_builder_ir_reg int 0 store r 35 strref 36 m51s880 @@ -184326,8 +184775,8 @@ field 8 7 16 list children call 9 pith_list_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L4273 L4274 -label L4273 +brif 11 L4344 L4345 +label L4344 load 12 result_kind load 13 node field 14 13 16 list children @@ -184354,8 +184803,8 @@ store val_r 29 load 30 saved_defer store ir_emitter_core_ir_rcall_defer_idx 30 load 31 ir_emitter_core_ir_rcall_pair_ready -brif 31 L4276 L4277 -label L4276 +brif 31 L4347 L4348 +label L4347 iconst 32 0 store ir_emitter_core_ir_rcall_pair_ready 32 load 33 node @@ -184378,14 +184827,14 @@ call 49 pith_cstring_release void 1 48 load 50 err_kind call 51 pith_cstring_release void 1 50 ret 39 -label L4277 -label L4275 +label L4348 +label L4346 load 52 result_kind strref 53 m51s23 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -brif 54 L4279 L4280 -label L4279 +brif 54 L4350 L4351 +label L4350 load 56 operand_class load 57 node field 58 57 16 list children @@ -184454,8 +184903,8 @@ call 114 pith_cstring_eq bool 2 111 112 iconst 115 1 sub 113 115 114 call 116 pith_cstring_release void 1 112 -brif 113 L4282 L4283 -label L4282 +brif 113 L4353 L4354 +label L4353 call 117 ir_builder_ir_reg int 0 strref 118 m51s946 strref 119 m51s876 @@ -184463,9 +184912,9 @@ load 120 val_r call 121 ir_call_emit_ir_emit_call1 void 4 117 118 119 120 call 122 pith_cstring_release void 1 118 call 123 pith_cstring_release void 1 119 -jmp L4281 -label L4283 -label L4281 +jmp L4352 +label L4354 +label L4352 strref 124 m51s881 load 125 merge_l concat 126 124 125 @@ -184475,26 +184924,26 @@ call 129 pith_cstring_release void 1 126 load 130 err_l call 131 ir_call_emit_ir_emit_label void 1 130 iconst 132 0 -store __and_132_4287 132 +store __and_132_4358 132 load 133 ir_emitter_core_ir_emit_tests -store __and_132_4287 133 -brif 133 L4287 L4288 -label L4287 +store __and_132_4358 133 +brif 133 L4358 L4359 +label L4358 load 134 ir_emitter_core_ir_emitting_test_func -store __and_132_4287 134 -label L4288 -load 135 __and_132_4287 -brif 135 L4285 L4286 -label L4285 +store __and_132_4358 134 +label L4359 +load 135 __and_132_4358 +brif 135 L4356 L4357 +label L4356 call 136 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L4284 -label L4286 +jmp L4355 +label L4357 load 137 operand_class strref 138 m51s1259 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L4289 L4290 -label L4289 +brif 139 L4360 L4361 +label L4360 load 141 err_kind load 142 operand_tid strref 143 m51s189 @@ -184514,20 +184963,20 @@ load 154 err_kind call 155 string_len int 1 154 iconst 156 0 gt 157 155 156 -brif 157 L4292 L4293 -label L4292 +brif 157 L4363 L4364 +label L4363 load 158 err_r load 159 err_kind call 160 ir_ownership_ir_rc_retain_reg void 2 158 159 -jmp L4291 -label L4293 -label L4291 +jmp L4362 +label L4364 +label L4362 load 161 ir_builder_ir_current_func_return_kind strref 162 m51s1234 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L4295 L4296 -label L4295 +brif 163 L4366 L4367 +label L4366 iconst 165 1 call 166 ir_emitter_core_ir_defer_emit_to_function_frame void 1 165 strref 167 m51s83 @@ -184564,8 +185013,8 @@ call 196 pith_cstring_release void 1 190 call 197 pith_cstring_release void 1 194 call 198 ir_builder_ir_emit void 1 195 call 199 pith_cstring_release void 1 195 -jmp L4294 -label L4296 +jmp L4365 +label L4367 load 200 err_r call 201 ir_emitter_core_ir_emit_err_result_tuple int 1 200 store fresh_err_r 201 @@ -184580,7 +185029,7 @@ strref 209 m51s716 call 210 pith_cstring_eq bool 2 208 209 call 211 pith_cstring_release void 1 209 call 212 ir_emitter_core_ir_emit_main_error_report void 2 207 210 -strref 213 m51s897 +strref 213 m51s925 load 214 fresh_err_r call 215 int_to_string string 1 214 concat 216 213 215 @@ -184588,15 +185037,15 @@ call 217 pith_cstring_release void 1 213 call 218 pith_cstring_release void 1 215 call 219 ir_builder_ir_emit void 1 216 call 220 pith_cstring_release void 1 216 -label L4294 -jmp L4284 -label L4290 +label L4365 +jmp L4355 +label L4361 load 221 ir_builder_ir_current_func_return_kind strref 222 m51s1234 call 223 pith_cstring_eq bool 2 221 222 call 224 pith_cstring_release void 1 222 -brif 223 L4297 L4298 -label L4297 +brif 223 L4368 L4369 +label L4368 load 225 val_r load 226 operand_tid strref 227 m51s189 @@ -184646,16 +185095,16 @@ call 268 pith_cstring_release void 1 262 call 269 pith_cstring_release void 1 266 call 270 ir_builder_ir_emit void 1 267 call 271 pith_cstring_release void 1 267 -jmp L4284 -label L4298 +jmp L4355 +label L4369 iconst 272 1 call 273 ir_emitter_core_ir_defer_emit_to_function_frame void 1 272 strref 274 m51s83 call 275 ir_emitter_core_ir_emit_string_cleanup void 1 274 call 276 pith_cstring_release void 1 274 load 277 ir_emitter_core_ir_emitting_main_body -brif 277 L4300 L4301 -label L4300 +brif 277 L4371 L4372 +label L4371 load 278 val_r load 279 operand_tid strref 280 m51s189 @@ -184674,10 +185123,10 @@ call 291 pith_cstring_eq bool 2 288 290 call 292 pith_cstring_release void 1 288 call 293 pith_cstring_release void 1 290 call 294 ir_emitter_core_ir_emit_main_error_report void 2 283 291 -jmp L4299 -label L4301 -label L4299 -strref 295 m51s897 +jmp L4370 +label L4372 +label L4370 +strref 295 m51s925 load 296 val_r call 297 int_to_string string 1 296 concat 298 295 297 @@ -184685,7 +185134,7 @@ call 299 pith_cstring_release void 1 295 call 300 pith_cstring_release void 1 297 call 301 ir_builder_ir_emit void 1 298 call 302 pith_cstring_release void 1 298 -label L4284 +label L4355 load 303 merge_l call 304 ir_call_emit_ir_emit_label void 1 303 load 305 decoded_r @@ -184702,36 +185151,36 @@ call 315 pith_cstring_release void 1 314 load 316 err_kind call 317 pith_cstring_release void 1 316 ret 305 -label L4280 -label L4278 +label L4351 +label L4349 load 318 val_r store cond_r 318 load 319 val_r store decoded_r 319 load 320 result_kind call 321 ir_result_abi_ir_uses_result_abi bool 1 320 -brif 321 L4303 L4304 -label L4303 +brif 321 L4374 L4375 +label L4374 load 322 val_r load 323 result_kind call 324 ir_result_abi_ir_decode_result_value int 2 322 323 store decoded_r 324 -jmp L4302 -label L4304 +jmp L4373 +label L4375 load 325 result_kind call 326 string_len int 1 325 iconst 327 0 gt 328 326 327 -brif 328 L4305 L4306 -label L4305 +brif 328 L4376 L4377 +label L4376 call 329 ir_builder_ir_reg int 0 store zero_cmp 329 load 330 result_kind strref 331 m51s713 call 332 pith_cstring_eq bool 2 330 331 call 333 pith_cstring_release void 1 331 -brif 332 L4308 L4309 -label L4308 +brif 332 L4379 L4380 +label L4379 strref 334 m51s1100 load 335 zero_cmp call 336 int_to_string string 1 335 @@ -184744,8 +185193,8 @@ call 342 pith_cstring_release void 1 337 call 343 pith_cstring_release void 1 340 call 344 ir_builder_ir_emit void 1 341 call 345 pith_cstring_release void 1 341 -jmp L4307 -label L4309 +jmp L4378 +label L4380 strref 346 m51s880 load 347 zero_cmp call 348 int_to_string string 1 347 @@ -184758,7 +185207,7 @@ call 354 pith_cstring_release void 1 349 call 355 pith_cstring_release void 1 352 call 356 ir_builder_ir_emit void 1 353 call 357 pith_cstring_release void 1 353 -label L4307 +label L4378 call 358 ir_builder_ir_reg int 0 store cond_r 358 strref 359 m51s1091 @@ -184787,9 +185236,9 @@ call 381 pith_cstring_release void 1 375 call 382 pith_cstring_release void 1 379 call 383 ir_builder_ir_emit void 1 380 call 384 pith_cstring_release void 1 380 -jmp L4302 -label L4306 -label L4302 +jmp L4373 +label L4377 +label L4373 load 385 ok_l call 386 ir_builder_ir_label string 0 call 387 pith_cstring_release void 1 385 @@ -184835,26 +185284,26 @@ call 423 pith_cstring_release void 1 420 load 424 err_l call 425 ir_call_emit_ir_emit_label void 1 424 iconst 426 0 -store __and_426_4313 426 +store __and_426_4384 426 load 427 ir_emitter_core_ir_emit_tests -store __and_426_4313 427 -brif 427 L4313 L4314 -label L4313 +store __and_426_4384 427 +brif 427 L4384 L4385 +label L4384 load 428 ir_emitter_core_ir_emitting_test_func -store __and_426_4313 428 -label L4314 -load 429 __and_426_4313 -brif 429 L4311 L4312 -label L4311 +store __and_426_4384 428 +label L4385 +load 429 __and_426_4384 +brif 429 L4382 L4383 +label L4382 call 430 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L4310 -label L4312 +jmp L4381 +label L4383 load 431 ir_builder_ir_current_func_return_kind strref 432 m51s1234 call 433 pith_cstring_eq bool 2 431 432 call 434 pith_cstring_release void 1 432 -brif 433 L4315 L4316 -label L4315 +brif 433 L4386 L4387 +label L4386 iconst 435 1 call 436 ir_emitter_core_ir_defer_emit_to_function_frame void 1 435 strref 437 m51s83 @@ -184905,8 +185354,8 @@ 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 L4310 -label L4316 +jmp L4381 +label L4387 iconst 483 1 call 484 ir_emitter_core_ir_defer_emit_to_function_frame void 1 483 strref 485 m51s83 @@ -184926,7 +185375,7 @@ call 497 pith_cstring_release void 1 492 call 498 pith_cstring_release void 1 495 call 499 ir_builder_ir_emit void 1 496 call 500 pith_cstring_release void 1 496 -strref 501 m51s897 +strref 501 m51s925 load 502 zero call 503 int_to_string string 1 502 concat 504 501 503 @@ -184934,7 +185383,7 @@ call 505 pith_cstring_release void 1 501 call 506 pith_cstring_release void 1 503 call 507 ir_builder_ir_emit void 1 504 call 508 pith_cstring_release void 1 504 -label L4310 +label L4381 load 509 merge_l call 510 ir_call_emit_ir_emit_label void 1 509 load 511 decoded_r @@ -184951,8 +185400,8 @@ call 521 pith_cstring_release void 1 520 load 522 err_kind call 523 pith_cstring_release void 1 522 ret 511 -label L4274 -label L4272 +label L4345 +label L4343 call 524 ir_builder_ir_reg int 0 store r 524 strref 525 m51s880 @@ -185054,26 +185503,26 @@ call 46 pith_cstring_release void 1 43 load 47 err_l call 48 ir_call_emit_ir_emit_label void 1 47 iconst 49 0 -store __and_49_4320 49 +store __and_49_4391 49 load 50 ir_emitter_core_ir_emit_tests -store __and_49_4320 50 -brif 50 L4320 L4321 -label L4320 +store __and_49_4391 50 +brif 50 L4391 L4392 +label L4391 load 51 ir_emitter_core_ir_emitting_test_func -store __and_49_4320 51 -label L4321 -load 52 __and_49_4320 -brif 52 L4318 L4319 -label L4318 +store __and_49_4391 51 +label L4392 +load 52 __and_49_4391 +brif 52 L4389 L4390 +label L4389 call 53 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L4317 -label L4319 +jmp L4388 +label L4390 load 54 ir_builder_ir_current_func_return_kind strref 55 m51s1234 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L4322 L4323 -label L4322 +brif 56 L4393 L4394 +label L4393 iconst 58 1 call 59 ir_emitter_core_ir_defer_emit_to_function_frame void 1 58 strref 60 m51s83 @@ -185110,8 +185559,8 @@ call 89 pith_cstring_release void 1 83 call 90 pith_cstring_release void 1 87 call 91 ir_builder_ir_emit void 1 88 call 92 pith_cstring_release void 1 88 -jmp L4317 -label L4323 +jmp L4388 +label L4394 load 93 val_r call 94 ir_emitter_core_ir_emit_err_result_tuple int 1 93 store fresh_err_r 94 @@ -185132,7 +185581,7 @@ call 108 pith_cstring_eq bool 2 105 107 call 109 pith_cstring_release void 1 105 call 110 pith_cstring_release void 1 107 call 111 ir_emitter_core_ir_emit_main_error_report void 2 100 108 -strref 112 m51s897 +strref 112 m51s925 load 113 fresh_err_r call 114 int_to_string string 1 113 concat 115 112 114 @@ -185140,7 +185589,7 @@ call 116 pith_cstring_release void 1 112 call 117 pith_cstring_release void 1 114 call 118 ir_builder_ir_emit void 1 115 call 119 pith_cstring_release void 1 115 -label L4317 +label L4388 load 120 merge_l call 121 ir_call_emit_ir_emit_label void 1 120 load 122 val_r @@ -185168,14 +185617,14 @@ store flag_v 2 load 3 ir_emitter_core_ir_emitting_main_body iconst 5 1 sub 4 5 3 -brif 4 L4325 L4326 -label L4325 +brif 4 L4396 L4397 +label L4396 load 6 flag_v call 7 pith_cstring_release void 1 6 iconst 8 0 ret 8 -label L4326 -label L4324 +label L4397 +label L4395 call 9 ir_builder_ir_reg int 0 store flag_r 9 load 10 flag_v @@ -185183,15 +185632,15 @@ strref 11 m51s185 call 12 pith_cstring_release void 1 10 store flag_v 11 load 13 err_is_string -brif 13 L4328 L4329 -label L4328 +brif 13 L4399 L4400 +label L4399 load 14 flag_v strref 15 m51s184 call 16 pith_cstring_release void 1 14 store flag_v 15 -jmp L4327 -label L4329 -label L4327 +jmp L4398 +label L4400 +label L4398 strref 17 m51s880 load 18 flag_r call 19 int_to_string string 1 18 @@ -185235,8 +185684,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 0 gt 9 7 8 -brif 9 L4331 L4332 -label L4331 +brif 9 L4402 L4403 +label L4402 load 10 node field 11 10 16 list children iconst 12 0 @@ -185269,59 +185718,59 @@ load 34 err_kind call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L4334 L4335 -label L4334 +brif 37 L4405 L4406 +label L4405 iconst 38 0 -store __and_38_4339 38 +store __and_38_4410 38 load 39 expr_node field 40 39 0 string kind strref 41 m51s37 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __and_38_4339 42 -brif 42 L4339 L4340 -label L4339 +store __and_38_4410 42 +brif 42 L4410 L4411 +label L4410 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_4339 48 -label L4340 -load 50 __and_38_4339 -brif 50 L4337 L4338 -label L4337 +store __and_38_4410 48 +label L4411 +load 50 __and_38_4410 +brif 50 L4408 L4409 +label L4408 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 L4336 -label L4338 +jmp L4407 +label L4409 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 L4341 L4342 -label L4341 +brif 60 L4412 L4413 +label L4412 load 61 err_r load 62 err_kind call 63 ir_ownership_ir_rc_retain_reg void 2 61 62 -jmp L4336 -label L4342 -label L4336 -jmp L4333 -label L4335 -label L4333 +jmp L4407 +label L4413 +label L4407 +jmp L4404 +label L4406 +label L4404 load 64 ir_builder_ir_current_func_return_kind strref 65 m51s1234 call 66 pith_cstring_eq bool 2 64 65 call 67 pith_cstring_release void 1 65 -brif 66 L4344 L4345 -label L4344 +brif 66 L4415 L4416 +label L4415 iconst 68 1 call 69 ir_emitter_core_ir_defer_emit_to_function_frame void 1 68 load 70 exclude @@ -185357,8 +185806,8 @@ call 98 pith_cstring_release void 1 92 call 99 pith_cstring_release void 1 96 call 100 ir_builder_ir_emit void 1 97 call 101 pith_cstring_release void 1 97 -jmp L4343 -label L4345 +jmp L4414 +label L4416 load 102 err_r call 103 ir_emitter_core_ir_emit_err_result_tuple int 1 102 store tuple_r 103 @@ -185377,7 +185826,7 @@ call 115 pith_cstring_eq bool 2 113 114 call 116 pith_cstring_release void 1 113 call 117 pith_cstring_release void 1 114 call 118 ir_emitter_core_ir_emit_main_error_report void 2 108 115 -strref 119 m51s897 +strref 119 m51s925 load 120 tuple_r call 121 int_to_string string 1 120 concat 122 119 121 @@ -185385,15 +185834,15 @@ call 123 pith_cstring_release void 1 119 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 -label L4343 -jmp L4330 -label L4332 +label L4414 +jmp L4401 +label L4403 load 127 ir_builder_ir_current_func_return_kind strref 128 m51s1234 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -brif 129 L4346 L4347 -label L4346 +brif 129 L4417 L4418 +label L4417 iconst 131 1 call 132 ir_emitter_core_ir_defer_emit_to_function_frame void 1 131 strref 133 m51s83 @@ -185444,8 +185893,8 @@ call 175 pith_cstring_release void 1 169 call 176 pith_cstring_release void 1 173 call 177 ir_builder_ir_emit void 1 174 call 178 pith_cstring_release void 1 174 -jmp L4330 -label L4347 +jmp L4401 +label L4418 iconst 179 1 call 180 ir_emitter_core_ir_defer_emit_to_function_frame void 1 179 strref 181 m51s83 @@ -185454,7 +185903,7 @@ call 183 pith_cstring_release void 1 181 call 184 ir_result_abi_ir_zero_reg int 0 iconst 185 0 call 186 ir_emitter_core_ir_emit_main_error_report void 2 184 185 -strref 187 m51s897 +strref 187 m51s925 call 188 ir_result_abi_ir_zero_reg int 0 call 189 ir_emitter_core_ir_emit_err_result_tuple int 1 188 call 190 int_to_string string 1 189 @@ -185463,7 +185912,7 @@ call 192 pith_cstring_release void 1 187 call 193 pith_cstring_release void 1 190 call 194 ir_builder_ir_emit void 1 191 call 195 pith_cstring_release void 1 191 -label L4330 +label L4401 load 196 ub call 197 ir_builder_ir_label string 0 call 198 pith_cstring_release void 1 196 @@ -185545,8 +185994,8 @@ load 27 obj_type call 28 string_len int 1 27 iconst 29 0 eq 30 28 29 -brif 30 L4349 L4350 -label L4349 +brif 30 L4420 L4421 +label L4420 load 31 obj_type load 32 node field 33 32 16 list children @@ -185555,15 +186004,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 L4348 -label L4350 -label L4348 +jmp L4419 +label L4421 +label L4419 load 38 value_type call 39 string_len int 1 38 iconst 40 0 eq 41 39 40 -brif 41 L4352 L4353 -label L4352 +brif 41 L4423 L4424 +label L4423 load 42 value_type load 43 node field 44 43 16 list children @@ -185572,36 +186021,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 L4351 -label L4353 -label L4351 +jmp L4422 +label L4424 +label L4422 load 49 value_type call 50 string_len int 1 49 iconst 51 0 eq 52 50 51 -brif 52 L4355 L4356 -label L4355 +brif 52 L4426 L4427 +label L4426 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 L4354 -label L4356 -label L4354 +jmp L4425 +label L4427 +label L4425 iconst 57 0 -store __and_57_4360 57 +store __and_57_4431 57 load 58 ir_emitter_core_ir_current_func_returns_result -store __and_57_4360 58 -brif 58 L4360 L4361 -label L4360 +store __and_57_4431 58 +brif 58 L4431 L4432 +label L4431 load 59 obj_type call 60 ir_emitter_core_ir_index_supports_propagate bool 1 59 -store __and_57_4360 60 -label L4361 -load 61 __and_57_4360 -brif 61 L4358 L4359 -label L4358 +store __and_57_4431 60 +label L4432 +load 61 __and_57_4431 +brif 61 L4429 L4430 +label L4429 load 62 node field 63 62 16 list children iconst 64 1 @@ -185618,8 +186067,8 @@ call 74 pith_cstring_release void 1 73 load 75 call_name call 76 pith_cstring_release void 1 75 ret 70 -label L4359 -label L4357 +label L4430 +label L4428 load 77 call_name load 78 obj_type call 79 ir_collection_helpers_ir_index_get_call_name string 1 78 @@ -185629,8 +186078,8 @@ load 81 obj_type strref 82 m51s716 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L4363 L4364 -label L4363 +brif 83 L4434 L4435 +label L4434 load 85 r load 86 call_name strref 87 m51s716 @@ -185638,14 +186087,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 L4362 -label L4364 +jmp L4433 +label L4435 load 92 obj_type strref 93 m51s715 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -brif 94 L4365 L4366 -label L4365 +brif 94 L4436 L4437 +label L4436 load 96 r load 97 call_name strref 98 m51s712 @@ -185653,47 +186102,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 L4362 -label L4366 +jmp L4433 +label L4437 iconst 103 0 -store __or_103_4369 103 +store __or_103_4440 103 load 104 obj_type strref 105 m51s711 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 -store __or_103_4369 106 -brif 106 L4370 L4369 -label L4369 +store __or_103_4440 106 +brif 106 L4441 L4440 +label L4440 load 108 obj_type strref 109 m51s19 call 110 pith_cstring_eq bool 2 108 109 call 111 pith_cstring_release void 1 109 -store __or_103_4369 110 -label L4370 -load 112 __or_103_4369 -brif 112 L4367 L4368 -label L4367 +store __or_103_4440 110 +label L4441 +load 112 __or_103_4440 +brif 112 L4438 L4439 +label L4438 load 113 value_type call 114 string_len int 1 113 iconst 115 0 eq 116 114 115 -brif 116 L4372 L4373 -label L4372 +brif 116 L4443 L4444 +label L4443 load 117 value_type strref 118 m51s869 call 119 pith_cstring_release void 1 117 store value_type 118 -jmp L4371 -label L4373 -label L4371 +jmp L4442 +label L4444 +label L4442 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 L4362 -label L4368 +jmp L4433 +label L4439 load 126 r load 127 call_name load 128 idx @@ -185702,7 +186151,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 L4362 +label L4433 load 134 node field 135 134 16 list children iconst 136 1 @@ -185744,42 +186193,42 @@ load 1 obj_type strref 2 m51s19 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L4375 L4376 -label L4375 +brif 3 L4446 L4447 +label L4446 iconst 5 1 ret 5 -label L4376 -label L4374 +label L4447 +label L4445 load 6 obj_type strref 7 m51s711 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L4378 L4379 -label L4378 +brif 8 L4449 L4450 +label L4449 iconst 10 1 ret 10 -label L4379 -label L4377 +label L4450 +label L4448 load 11 obj_type strref 12 m51s20 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L4381 L4382 -label L4381 +brif 13 L4452 L4453 +label L4452 iconst 15 1 ret 15 -label L4382 -label L4380 +label L4453 +label L4451 load 16 obj_type strref 17 m51s709 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L4384 L4385 -label L4384 +brif 18 L4455 L4456 +label L4455 iconst 20 1 ret 20 -label L4385 -label L4383 +label L4456 +label L4454 iconst 21 0 ret 21 iconst 22 0 @@ -185868,15 +186317,15 @@ load 65 val_kind call 66 string_len int 1 65 iconst 67 0 eq 68 66 67 -brif 68 L4387 L4388 -label L4387 +brif 68 L4458 L4459 +label L4458 load 69 val_kind strref 70 m51s869 call 71 pith_cstring_release void 1 69 store val_kind 70 -jmp L4386 -label L4388 -label L4386 +jmp L4457 +label L4459 +label L4457 call 72 ir_builder_ir_reg int 0 store unwrapped_r 72 strref 73 m51s885 @@ -185930,20 +186379,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_4392 123 +store __and_123_4463 123 load 124 ir_emitter_core_ir_emit_tests -store __and_123_4392 124 -brif 124 L4392 L4393 -label L4392 +store __and_123_4463 124 +brif 124 L4463 L4464 +label L4463 load 125 ir_emitter_core_ir_emitting_test_func -store __and_123_4392 125 -label L4393 -load 126 __and_123_4392 -brif 126 L4390 L4391 -label L4390 +store __and_123_4463 125 +label L4464 +load 126 __and_123_4463 +brif 126 L4461 L4462 +label L4461 call 127 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L4389 -label L4391 +jmp L4460 +label L4462 iconst 128 1 call 129 ir_emitter_core_ir_defer_emit_to_function_frame void 1 128 strref 130 m51s83 @@ -185977,7 +186426,7 @@ iconst 155 1 call 156 ir_emitter_core_ir_emit_main_error_report void 2 154 155 load 157 err_r call 158 ir_emitter_core_ir_emit_ret_err_value void 1 157 -label L4389 +label L4460 load 159 merge_l call 160 ir_call_emit_ir_emit_label void 1 159 load 161 unwrapped_r @@ -186015,22 +186464,22 @@ load 1 obj_type strref 2 m51s19 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L4395 L4396 -label L4395 +brif 3 L4466 L4467 +label L4466 strref 5 m51s726 ret 5 -label L4396 -label L4394 +label L4467 +label L4465 load 6 obj_type strref 7 m51s711 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L4398 L4399 -label L4398 +brif 8 L4469 L4470 +label L4469 strref 10 m51s727 ret 10 -label L4399 -label L4397 +label L4470 +label L4468 strref 11 m51s745 ret 11 iconst 12 0 @@ -186059,7 +186508,7 @@ call 11 ast_get_node struct:Node 1 10 call 12 pith_struct_release void 1 9 store target 11 iconst 13 0 -store __or_13_4403 13 +store __or_13_4474 13 load 14 target field 15 14 0 string kind strref 16 m51s35 @@ -186067,19 +186516,19 @@ call 18 pith_cstring_eq bool 2 15 16 iconst 19 1 sub 17 19 18 call 20 pith_cstring_release void 1 16 -store __or_13_4403 17 -brif 17 L4404 L4403 -label L4403 +store __or_13_4474 17 +brif 17 L4475 L4474 +label L4474 load 21 target field 22 21 16 list children call 23 pith_list_len int 1 22 iconst 24 2 lt 25 23 24 -store __or_13_4403 25 -label L4404 -load 26 __or_13_4403 -brif 26 L4401 L4402 -label L4401 +store __or_13_4474 25 +label L4475 +load 26 __or_13_4474 +brif 26 L4472 L4473 +label L4472 iconst 27 0 load 28 target call 29 pith_struct_release void 1 28 @@ -186096,8 +186545,8 @@ call 39 pith_cstring_release void 1 38 load 40 owned_store call 41 pith_cstring_release void 1 40 ret 27 -label L4402 -label L4400 +label L4473 +label L4471 load 42 target field 43 42 16 list children iconst 44 0 @@ -186127,8 +186576,8 @@ load 63 obj_type call 64 string_len int 1 63 iconst 65 0 eq 66 64 65 -brif 66 L4406 L4407 -label L4406 +brif 66 L4477 L4478 +label L4477 load 67 obj_type load 68 target field 69 68 16 list children @@ -186137,15 +186586,15 @@ call 71 pith_list_get_value_strict int 2 69 70 call 72 ir_emitter_core_ir_infer_type string 1 71 call 73 pith_cstring_release void 1 67 store obj_type 72 -jmp L4405 -label L4407 -label L4405 +jmp L4476 +label L4478 +label L4476 load 74 value_type call 75 string_len int 1 74 iconst 76 0 eq 77 75 76 -brif 77 L4409 L4410 -label L4409 +brif 77 L4480 L4481 +label L4480 load 78 value_type load 79 target field 80 79 16 list children @@ -186154,23 +186603,23 @@ call 82 pith_list_get_value_strict int 2 80 81 call 83 ir_emitter_core_ir_lookup_map_value_type_for_expr string 1 82 call 84 pith_cstring_release void 1 78 store value_type 83 -jmp L4408 -label L4410 -label L4408 +jmp L4479 +label L4481 +label L4479 load 85 value_type call 86 string_len int 1 85 iconst 87 0 eq 88 86 87 -brif 88 L4412 L4413 -label L4412 +brif 88 L4483 L4484 +label L4483 load 89 value_type load 90 value_idx call 91 ir_emitter_core_ir_infer_type string 1 90 call 92 pith_cstring_release void 1 89 store value_type 91 -jmp L4411 -label L4413 -label L4411 +jmp L4482 +label L4484 +label L4482 load 93 value_idx load 94 value_type call 95 ir_emitter_core_ir_emit_value_for_target int 2 93 94 @@ -186197,44 +186646,44 @@ call 111 ir_emitter_core_ir_map_kind_store_name string 2 107 109 call 112 pith_cstring_release void 1 106 store idx_kind_store 111 iconst 113 0 -store __and_113_4417 113 +store __and_113_4488 113 load 114 idx_kind_store call 115 string_len int 1 114 iconst 116 0 eq 117 115 116 -store __and_113_4417 117 -brif 117 L4417 L4418 -label L4417 +store __and_113_4488 117 +brif 117 L4488 L4489 +label L4488 load 118 idx_borrowed -store __and_113_4417 118 -label L4418 -load 119 __and_113_4417 -brif 119 L4415 L4416 -label L4415 +store __and_113_4488 118 +label L4489 +load 119 __and_113_4488 +brif 119 L4486 L4487 +label L4486 load 120 idx_kind_store load 121 set_name call 122 ir_emitter_core_ir_list_kind_store_name string 1 121 call 123 pith_cstring_release void 1 120 store idx_kind_store 122 -jmp L4414 -label L4416 -label L4414 +jmp L4485 +label L4487 +label L4485 iconst 124 0 -store __and_124_4422 124 +store __and_124_4493 124 load 125 idx_kind_store call 126 string_len int 1 125 iconst 127 0 gt 128 126 127 -store __and_124_4422 128 -brif 128 L4422 L4423 -label L4422 +store __and_124_4493 128 +brif 128 L4493 L4494 +label L4493 load 129 idx_store_kind call 130 ir_emitter_core_ir_store_learns_kind bool 1 129 -store __and_124_4422 130 -label L4423 -load 131 __and_124_4422 -brif 131 L4420 L4421 -label L4420 +store __and_124_4493 130 +label L4494 +load 131 __and_124_4493 +brif 131 L4491 L4492 +label L4491 load 132 idx_store_kind call 133 ir_emitter_core_ir_emit_element_tag_const int 1 132 store tag_r 133 @@ -186269,23 +186718,23 @@ call 161 pith_cstring_release void 1 160 load 162 owned_store call 163 pith_cstring_release void 1 162 ret 149 -label L4421 -label L4419 +label L4492 +label L4490 iconst 164 0 -store __and_164_4427 164 +store __and_164_4498 164 load 165 idx_borrowed iconst 167 1 sub 166 167 165 -store __and_164_4427 166 -brif 166 L4427 L4428 -label L4427 +store __and_164_4498 166 +brif 166 L4498 L4499 +label L4498 load 168 idx_store_kind call 169 ir_emitter_core_ir_container_store_takes_count bool 1 168 -store __and_164_4427 169 -label L4428 -load 170 __and_164_4427 -brif 170 L4425 L4426 -label L4425 +store __and_164_4498 169 +label L4499 +load 170 __and_164_4498 +brif 170 L4496 L4497 +label L4496 load 171 owned_store load 172 set_name call 173 ir_emitter_core_ir_owned_container_store_name string 1 172 @@ -186295,19 +186744,19 @@ load 175 owned_store call 176 string_len int 1 175 iconst 177 0 gt 178 176 177 -brif 178 L4430 L4431 -label L4430 +brif 178 L4501 L4502 +label L4501 load 179 set_name load 180 owned_store call 181 pith_cstring_retain void 1 180 call 182 pith_cstring_release void 1 179 store set_name 180 -jmp L4429 -label L4431 -label L4429 -jmp L4424 -label L4426 -label L4424 +jmp L4500 +label L4502 +label L4500 +jmp L4495 +label L4497 +label L4495 call 183 ir_builder_ir_reg int 0 load 184 set_name strref 185 m51s876 @@ -186365,159 +186814,159 @@ 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_4435 6 +store __or_6_4506 6 iconst 7 0 -store __or_7_4435 7 +store __or_7_4506 7 load 8 node field 9 8 0 string kind strref 10 m51s531 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_7_4435 11 -brif 11 L4436 L4435 -label L4435 +store __or_7_4506 11 +brif 11 L4507 L4506 +label L4506 load 13 node field 14 13 0 string kind strref 15 m51s712 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_7_4435 16 -label L4436 -load 18 __or_7_4435 -store __or_6_4435 18 -brif 18 L4438 L4437 -label L4437 +store __or_7_4506 16 +label L4507 +load 18 __or_7_4506 +store __or_6_4506 18 +brif 18 L4509 L4508 +label L4508 load 19 node field 20 19 0 string kind strref 21 m51s1103 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_6_4435 22 -label L4438 -load 24 __or_6_4435 -brif 24 L4433 L4434 -label L4433 +store __or_6_4506 22 +label L4509 +load 24 __or_6_4506 +brif 24 L4504 L4505 +label L4504 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 L4434 -label L4432 +label L4505 +label L4503 iconst 29 0 -store __or_29_4442 29 +store __or_29_4513 29 iconst 30 0 -store __or_30_4442 30 +store __or_30_4513 30 load 31 node field 32 31 0 string kind strref 33 m51s529 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_30_4442 34 -brif 34 L4443 L4442 -label L4442 +store __or_30_4513 34 +brif 34 L4514 L4513 +label L4513 load 36 node field 37 36 0 string kind strref 38 m51s716 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __or_30_4442 39 -label L4443 -load 41 __or_30_4442 -store __or_29_4442 41 -brif 41 L4445 L4444 -label L4444 +store __or_30_4513 39 +label L4514 +load 41 __or_30_4513 +store __or_29_4513 41 +brif 41 L4516 L4515 +label L4515 load 42 node field 43 42 0 string kind strref 44 m51s1076 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_29_4442 45 -label L4445 -load 47 __or_29_4442 -brif 47 L4440 L4441 -label L4440 +store __or_29_4513 45 +label L4516 +load 47 __or_29_4513 +brif 47 L4511 L4512 +label L4511 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 L4441 -label L4439 +label L4512 +label L4510 iconst 52 0 -store __or_52_4449 52 +store __or_52_4520 52 load 53 node field 54 53 0 string kind strref 55 m51s530 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __or_52_4449 56 -brif 56 L4450 L4449 -label L4449 +store __or_52_4520 56 +brif 56 L4521 L4520 +label L4520 load 58 node field 59 58 0 string kind strref 60 m51s713 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -store __or_52_4449 61 -label L4450 -load 63 __or_52_4449 -brif 63 L4447 L4448 -label L4447 +store __or_52_4520 61 +label L4521 +load 63 __or_52_4520 +brif 63 L4518 L4519 +label L4518 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 L4448 -label L4446 +label L4519 +label L4517 iconst 68 0 -store __or_68_4454 68 +store __or_68_4525 68 load 69 node field 70 69 0 string kind strref 71 m51s714 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_68_4454 72 -brif 72 L4455 L4454 -label L4454 +store __or_68_4525 72 +brif 72 L4526 L4525 +label L4525 load 74 node field 75 74 0 string kind strref 76 m51s528 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_68_4454 77 -label L4455 -load 79 __or_68_4454 -brif 79 L4452 L4453 -label L4452 +store __or_68_4525 77 +label L4526 +load 79 __or_68_4525 +brif 79 L4523 L4524 +label L4523 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 L4453 -label L4451 +label L4524 +label L4522 load 84 node field 85 84 0 string kind strref 86 m51s494 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L4457 L4458 -label L4457 +brif 87 L4528 L4529 +label L4528 call 89 ir_optionals_ir_emit_optional_none_value int 0 load 90 node call 91 pith_struct_release void 1 90 ret 89 -label L4458 -label L4456 +label L4529 +label L4527 load 92 node field 93 92 0 string kind strref 94 m51s37 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -brif 95 L4460 L4461 -label L4460 +brif 95 L4531 L4532 +label L4531 load 97 idx load 98 node field 99 98 8 string value @@ -186525,15 +186974,15 @@ call 100 ir_emitter_core_ir_emit_ident_load int 2 97 99 load 101 node call 102 pith_struct_release void 1 101 ret 100 -label L4461 -label L4459 +label L4532 +label L4530 load 103 node field 104 103 0 string kind strref 105 m51s527 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 -brif 106 L4463 L4464 -label L4463 +brif 106 L4534 L4535 +label L4534 load 108 idx strref 109 m51s527 call 110 ir_emitter_core_ir_emit_ident_load int 2 108 109 @@ -186541,57 +186990,57 @@ call 111 pith_cstring_release void 1 109 load 112 node call 113 pith_struct_release void 1 112 ret 110 -label L4464 -label L4462 +label L4535 +label L4533 load 114 node field 115 114 0 string kind strref 116 m51s525 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -brif 117 L4466 L4467 -label L4466 +brif 117 L4537 L4538 +label L4537 load 119 node call 120 ir_emitter_core_ir_emit_unary_expr int 1 119 load 121 node call 122 pith_struct_release void 1 121 ret 120 -label L4467 -label L4465 +label L4538 +label L4536 load 123 node field 124 123 0 string kind strref 125 m51s526 call 126 pith_cstring_eq bool 2 124 125 call 127 pith_cstring_release void 1 125 -brif 126 L4469 L4470 -label L4469 +brif 126 L4540 L4541 +label L4540 load 128 node call 129 ir_emitter_core_ir_emit_binary_expr int 1 128 load 130 node call 131 pith_struct_release void 1 130 ret 129 -label L4470 -label L4468 +label L4541 +label L4539 load 132 node field 133 132 0 string kind strref 134 m51s44 call 135 pith_cstring_eq bool 2 133 134 call 136 pith_cstring_release void 1 134 -brif 135 L4472 L4473 -label L4472 +brif 135 L4543 L4544 +label L4543 load 137 idx load 138 node call 139 ir_emitter_core_ir_emit_static_call int 2 137 138 load 140 node call 141 pith_struct_release void 1 140 ret 139 -label L4473 +label L4544 load 142 idx load 143 node call 144 ir_emitter_core_ir_expr_complex int 2 142 143 load 145 node call 146 pith_struct_release void 1 145 ret 144 -label L4471 +label L4542 load 147 node call 148 pith_struct_release void 1 147 iconst 149 0 @@ -186646,8 +187095,8 @@ field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 gt 18 16 17 -brif 18 L4475 L4476 -label L4475 +brif 18 L4546 L4547 +label L4546 load 19 recv_node load 20 node field 21 20 16 list children @@ -186657,46 +187106,46 @@ call 24 ast_get_node struct:Node 1 23 call 25 pith_struct_release void 1 19 store recv_node 24 iconst 26 0 -store __and_26_4480 26 +store __and_26_4551 26 load 27 recv_node field 28 27 0 string kind strref 29 m51s37 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __and_26_4480 30 -brif 30 L4480 L4481 -label L4480 +store __and_26_4551 30 +brif 30 L4551 L4552 +label L4551 load 32 ir_alias_registry_ir_module_aliases load 33 recv_node field 34 33 8 string value call 35 contains_key bool 2 32 34 -store __and_26_4480 35 -label L4481 -load 36 __and_26_4480 -brif 36 L4478 L4479 -label L4478 +store __and_26_4551 35 +label L4552 +load 36 __and_26_4551 +brif 36 L4549 L4550 +label L4549 load 37 idx call 38 checker_c_get_expr_type int 1 37 store expr_tid 38 iconst 39 0 -store __and_39_4485 39 +store __and_39_4556 39 load 40 expr_tid iconst 41 0 gte 42 40 41 -store __and_39_4485 42 -brif 42 L4485 L4486 -label L4485 +store __and_39_4556 42 +brif 42 L4556 L4557 +label L4556 load 43 expr_tid call 44 types_get_type_info struct:TypeInfo 1 43 field 45 44 0 string kind strref 46 m51s24 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __and_39_4485 47 -label L4486 -load 49 __and_39_4485 -brif 49 L4483 L4484 -label L4483 +store __and_39_4556 47 +label L4557 +load 49 __and_39_4556 +brif 49 L4554 L4555 +label L4554 load 50 callee load 51 idx call 52 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 51 @@ -186707,8 +187156,8 @@ field 55 54 0 string name call 56 string_len int 1 55 iconst 57 0 gt 58 56 57 -brif 58 L4488 L4489 -label L4488 +brif 58 L4559 L4560 +label L4559 call 59 ir_builder_ir_reg int 0 store r 59 load 60 wrapper @@ -186751,11 +187200,11 @@ call 95 pith_cstring_release void 1 94 load 96 variant_key call 97 pith_cstring_release void 1 96 ret 81 -label L4489 -label L4487 -jmp L4482 -label L4484 -label L4482 +label L4560 +label L4558 +jmp L4553 +label L4555 +label L4553 load 98 module_path load 99 ir_alias_registry_ir_module_aliases load 100 recv_node @@ -186767,8 +187216,8 @@ store module_path 102 load 105 module_path load 106 fname call 107 ir_alias_registry_ir_import_declares_global bool 2 105 106 -brif 107 L4491 L4492 -label L4491 +brif 107 L4562 L4563 +label L4562 call 108 ir_builder_ir_reg int 0 store r 108 strref 109 m51s877 @@ -186807,31 +187256,31 @@ call 141 pith_cstring_release void 1 140 load 142 variant_key call 143 pith_cstring_release void 1 142 ret 127 -label L4492 -label L4490 -jmp L4477 -label L4479 -label L4477 +label L4563 +label L4561 +jmp L4548 +label L4550 +label L4548 iconst 144 0 -store __and_144_4496 144 +store __and_144_4567 144 load 145 recv_node field 146 145 0 string kind strref 147 m51s36 call 148 pith_cstring_eq bool 2 146 147 call 149 pith_cstring_release void 1 147 -store __and_144_4496 148 -brif 148 L4496 L4497 -label L4496 +store __and_144_4567 148 +brif 148 L4567 L4568 +label L4567 load 150 recv_node field 151 150 16 list children call 152 pith_list_len int 1 151 iconst 153 0 gt 154 152 153 -store __and_144_4496 154 -label L4497 -load 155 __and_144_4496 -brif 155 L4494 L4495 -label L4494 +store __and_144_4567 154 +label L4568 +load 155 __and_144_4567 +brif 155 L4565 L4566 +label L4565 load 156 base_node load 157 recv_node field 158 157 16 list children @@ -186841,24 +187290,24 @@ call 161 ast_get_node struct:Node 1 160 call 162 pith_struct_release void 1 156 store base_node 161 iconst 163 0 -store __and_163_4501 163 +store __and_163_4572 163 load 164 base_node field 165 164 0 string kind strref 166 m51s37 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -store __and_163_4501 167 -brif 167 L4501 L4502 -label L4501 +store __and_163_4572 167 +brif 167 L4572 L4573 +label L4572 load 169 ir_alias_registry_ir_module_aliases load 170 base_node field 171 170 8 string value call 172 contains_key bool 2 169 171 -store __and_163_4501 172 -label L4502 -load 173 __and_163_4501 -brif 173 L4499 L4500 -label L4499 +store __and_163_4572 172 +label L4573 +load 173 __and_163_4572 +brif 173 L4570 L4571 +label L4570 load 174 ename load 175 recv_node field 176 175 8 string value @@ -186878,31 +187327,31 @@ store variant_key 185 load 188 ir_struct_registry_ir_struct_field_index_lookup load 189 variant_key call 190 contains_key bool 2 188 189 -brif 190 L4504 L4505 -label L4504 +brif 190 L4575 L4576 +label L4575 iconst 191 0 -store __and_191_4509 191 +store __and_191_4580 191 load 192 ir_struct_registry_ir_struct_field_lookup load 193 variant_key call 194 contains_key bool 2 192 193 -store __and_191_4509 194 -brif 194 L4509 L4510 -label L4509 +store __and_191_4580 194 +brif 194 L4580 L4581 +label L4580 load 195 ir_struct_registry_ir_struct_field_lookup load 196 variant_key call 197 map_get_strict string 2 195 196 load 198 ename call 199 pith_cstring_eq bool 2 197 198 -store __and_191_4509 199 -label L4510 -load 200 __and_191_4509 -brif 200 L4507 L4508 -label L4507 +store __and_191_4580 199 +label L4581 +load 200 __and_191_4580 +brif 200 L4578 L4579 +label L4578 load 201 ir_struct_registry_ir_boxed_enums load 202 ename call 203 contains_key bool 2 201 202 -brif 203 L4512 L4513 -label L4512 +brif 203 L4583 L4584 +label L4583 load 204 ename load 205 variant_key iconst 206 0 @@ -186924,8 +187373,8 @@ call 221 pith_cstring_release void 1 220 load 222 variant_key call 223 pith_cstring_release void 1 222 ret 207 -label L4513 -label L4511 +label L4584 +label L4582 call 224 ir_builder_ir_reg int 0 store r 224 strref 225 m51s880 @@ -186963,17 +187412,17 @@ call 256 pith_cstring_release void 1 255 load 257 variant_key call 258 pith_cstring_release void 1 257 ret 242 -label L4508 -label L4506 -jmp L4503 -label L4505 -label L4503 -jmp L4498 -label L4500 -label L4498 -jmp L4493 -label L4495 -label L4493 +label L4579 +label L4577 +jmp L4574 +label L4576 +label L4574 +jmp L4569 +label L4571 +label L4569 +jmp L4564 +label L4566 +label L4564 load 259 node field 260 259 16 list children iconst 261 0 @@ -186988,8 +187437,8 @@ store result_r 267 load 268 result_r iconst 269 0 gte 270 268 269 -brif 270 L4515 L4516 -label L4515 +brif 270 L4586 L4587 +label L4586 load 271 result_r load 272 fname call 273 pith_cstring_release void 1 272 @@ -187008,8 +187457,8 @@ call 285 pith_cstring_release void 1 284 load 286 variant_key call 287 pith_cstring_release void 1 286 ret 271 -label L4516 -label L4514 +label L4587 +label L4585 load 288 idx load 289 node load 290 obj_r @@ -187031,8 +187480,8 @@ call 305 pith_cstring_release void 1 304 load 306 variant_key call 307 pith_cstring_release void 1 306 ret 291 -label L4476 -label L4474 +label L4547 +label L4545 load 308 idx load 309 node iconst 310 0 @@ -187082,12 +187531,12 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 eq 5 3 4 -brif 5 L4518 L4519 -label L4518 +brif 5 L4589 L4590 +label L4589 call 6 ir_emitter_core_ir_emit_zero_value int 0 ret 6 -label L4519 -label L4517 +label L4590 +label L4588 load 7 node field 8 7 16 list children iconst 9 0 @@ -187126,8 +187575,8 @@ load 11 err_kind call 12 string_len int 1 11 iconst 13 0 gt 14 12 13 -brif 14 L4521 L4522 -label L4521 +brif 14 L4592 L4593 +label L4592 load 15 result_r load 16 result_tid strref 17 m51s189 @@ -187137,9 +187586,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 L4520 -label L4522 -label L4520 +jmp L4591 +label L4593 +label L4591 load 23 err_kind call 24 pith_cstring_release void 1 23 iconst 25 0 @@ -187210,8 +187659,8 @@ load 51 ok_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -brif 54 L4524 L4525 -label L4524 +brif 54 L4595 L4596 +label L4595 load 55 result_r load 56 result_tid strref 57 m51s190 @@ -187221,9 +187670,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 L4523 -label L4525 -label L4523 +jmp L4594 +label L4596 +label L4594 strref 63 m51s881 load 64 done_l concat 65 63 64 @@ -187291,8 +187740,8 @@ store result_r 16 load 17 saved_defer store ir_emitter_core_ir_rcall_defer_idx 17 load 18 ir_emitter_core_ir_rcall_pair_ready -brif 18 L4527 L4528 -label L4527 +brif 18 L4598 L4599 +label L4598 iconst 19 0 store ir_emitter_core_ir_rcall_pair_ready 19 load 20 node @@ -187310,8 +187759,8 @@ call 31 pith_cstring_release void 1 30 load 32 merge_l call 33 pith_cstring_release void 1 32 ret 23 -label L4528 -label L4526 +label L4599 +label L4597 load 34 node field 35 34 16 list children iconst 36 0 @@ -187383,8 +187832,8 @@ load 93 operand_class strref 94 m51s1259 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -brif 95 L4530 L4531 -label L4530 +brif 95 L4601 L4602 +label L4601 load 97 ok_value_r load 98 result_tid strref 99 m51s190 @@ -187394,8 +187843,8 @@ call 102 ir_struct_registry_ir_rc_kind string 1 100 call 103 pith_cstring_release void 1 100 call 104 ir_ownership_ir_rc_retain_reg void 2 97 102 call 105 pith_cstring_release void 1 102 -jmp L4529 -label L4531 +jmp L4600 +label L4602 call 106 ir_builder_ir_reg int 0 strref 107 m51s946 strref 108 m51s876 @@ -187403,7 +187852,7 @@ load 109 result_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 -label L4529 +label L4600 strref 113 m51s878 load 114 temp_name concat 115 113 114 @@ -187433,8 +187882,8 @@ call 139 pith_cstring_eq bool 2 136 137 iconst 140 1 sub 138 140 139 call 141 pith_cstring_release void 1 137 -brif 138 L4533 L4534 -label L4533 +brif 138 L4604 L4605 +label L4604 load 142 result_r load 143 result_tid call 144 ir_emitter_core_ir_emit_release_result_error void 2 142 143 @@ -187445,9 +187894,9 @@ load 148 result_r call 149 ir_call_emit_ir_emit_call1 void 4 145 146 147 148 call 150 pith_cstring_release void 1 146 call 151 pith_cstring_release void 1 147 -jmp L4532 -label L4534 -label L4532 +jmp L4603 +label L4605 +label L4603 load 152 node field 153 152 16 list children iconst 154 1 @@ -187459,8 +187908,8 @@ field 158 157 16 list children iconst 159 1 call 160 pith_list_get_value_strict int 2 158 159 call 161 ir_emitter_core_ir_string_expr_is_borrowed bool 1 160 -brif 161 L4536 L4537 -label L4536 +brif 161 L4607 L4608 +label L4607 load 162 fallback_r load 163 node field 164 163 16 list children @@ -187471,9 +187920,9 @@ call 168 ir_struct_registry_ir_rc_kind string 1 167 call 169 pith_cstring_release void 1 167 call 170 ir_ownership_ir_rc_retain_reg void 2 162 168 call 171 pith_cstring_release void 1 168 -jmp L4535 -label L4537 -label L4535 +jmp L4606 +label L4608 +label L4606 strref 172 m51s878 load 173 temp_name concat 174 172 173 @@ -187631,14 +188080,14 @@ load 82 err_kind call 83 string_len int 1 82 iconst 84 0 gt 85 83 84 -brif 85 L4539 L4540 -label L4539 +brif 85 L4610 L4611 +label L4610 load 86 val_r load 87 err_kind call 88 ir_ownership_ir_rc_release_reg void 2 86 87 -jmp L4538 -label L4540 -label L4538 +jmp L4609 +label L4611 +label L4609 load 89 node field 90 89 16 list children iconst 91 1 @@ -187724,8 +188173,8 @@ store result_r 16 load 17 saved_defer store ir_emitter_core_ir_rcall_defer_idx 17 load 18 ir_emitter_core_ir_rcall_pair_ready -brif 18 L4542 L4543 -label L4542 +brif 18 L4613 L4614 +label L4613 iconst 19 0 store ir_emitter_core_ir_rcall_pair_ready 19 load 20 node @@ -187743,8 +188192,8 @@ call 31 pith_cstring_release void 1 30 load 32 merge_l call 33 pith_cstring_release void 1 32 ret 23 -label L4543 -label L4541 +label L4614 +label L4612 load 34 node field 35 34 16 list children iconst 36 0 @@ -187816,8 +188265,8 @@ load 93 operand_class strref 94 m51s1259 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -brif 95 L4545 L4546 -label L4545 +brif 95 L4616 L4617 +label L4616 load 97 ok_value_r load 98 result_tid strref 99 m51s190 @@ -187827,8 +188276,8 @@ call 102 ir_struct_registry_ir_rc_kind string 1 100 call 103 pith_cstring_release void 1 100 call 104 ir_ownership_ir_rc_retain_reg void 2 97 102 call 105 pith_cstring_release void 1 102 -jmp L4544 -label L4546 +jmp L4615 +label L4617 call 106 ir_builder_ir_reg int 0 strref 107 m51s946 strref 108 m51s876 @@ -187836,7 +188285,7 @@ load 109 result_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 -label L4544 +label L4615 strref 113 m51s878 load 114 temp_name concat 115 113 114 @@ -187866,8 +188315,8 @@ call 139 pith_cstring_eq bool 2 136 137 iconst 140 1 sub 138 140 139 call 141 pith_cstring_release void 1 137 -brif 138 L4548 L4549 -label L4548 +brif 138 L4619 L4620 +label L4619 load 142 result_r load 143 result_tid call 144 ir_emitter_core_ir_emit_release_result_error void 2 142 143 @@ -187878,9 +188327,9 @@ load 148 result_r call 149 ir_call_emit_ir_emit_call1 void 4 145 146 147 148 call 150 pith_cstring_release void 1 146 call 151 pith_cstring_release void 1 147 -jmp L4547 -label L4549 -label L4547 +jmp L4618 +label L4620 +label L4618 load 152 node field 153 152 16 list children iconst 154 1 @@ -187943,16 +188392,16 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 gt 5 3 4 -brif 5 L4551 L4552 -label L4551 +brif 5 L4622 L4623 +label L4622 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 L4552 -label L4550 +label L4623 +label L4621 call 11 ir_emitter_core_ir_emit_zero_value int 0 ret 11 iconst 12 0 @@ -187974,410 +188423,513 @@ load 8 kind strref 9 m51s513 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4554 L4555 -label L4554 +brif 10 L4625 L4626 +label L4625 load 12 idx load 13 ir_match_emit_ir_tail_match_node eq 14 12 13 -brif 14 L4557 L4558 -label L4557 +brif 14 L4628 L4629 +label L4628 load 15 idx load 16 node closure_ref 17 ir_emitter_core___fnval_0 closure_ref 18 ir_emitter_core___fnval_2 -call 19 ir_match_emit_ir_emit_match_return void 4 15 16 17 18 -call 20 pith_closure_release void 1 17 -call 21 pith_closure_release void 1 18 -call 22 ir_emitter_core_ir_emit_zero_value int 0 -load 23 kind -call 24 pith_cstring_release void 1 23 -load 25 checked_lit +closure_ref 19 ir_emitter_core___fnval_3 +call 20 ir_match_emit_ir_emit_match_return void 5 15 16 17 18 19 +call 21 pith_closure_release void 1 17 +call 22 pith_closure_release void 1 18 +call 23 pith_closure_release void 1 19 +call 24 ir_emitter_core_ir_emit_zero_value int 0 +load 25 kind call 26 pith_cstring_release void 1 25 -ret 22 -label L4558 -label L4556 -load 27 idx -load 28 node -closure_ref 29 ir_emitter_core___fnval_0 -closure_ref 30 ir_emitter_core___fnval_2 -call 31 ir_match_emit_ir_emit_match_expr int 4 27 28 29 30 -call 32 pith_closure_release void 1 29 -call 33 pith_closure_release void 1 30 -load 34 kind -call 35 pith_cstring_release void 1 34 -load 36 checked_lit +load 27 checked_lit +call 28 pith_cstring_release void 1 27 +ret 24 +label L4629 +label L4627 +load 29 idx +load 30 node +closure_ref 31 ir_emitter_core___fnval_0 +closure_ref 32 ir_emitter_core___fnval_3 +call 33 ir_match_emit_ir_emit_match_expr int 4 29 30 31 32 +call 34 pith_closure_release void 1 31 +call 35 pith_closure_release void 1 32 +load 36 kind call 37 pith_cstring_release void 1 36 -ret 31 -label L4555 -label L4553 -load 38 kind -strref 39 m51s519 -call 40 pith_cstring_eq bool 2 38 39 -call 41 pith_cstring_release void 1 39 -brif 40 L4560 L4561 -label L4560 -load 42 node -closure_ref 43 ir_emitter_core___fnval_0 -call 44 ir_match_emit_ir_emit_if_expr int 2 42 43 -call 45 pith_closure_release void 1 43 -load 46 kind -call 47 pith_cstring_release void 1 46 -load 48 checked_lit +load 38 checked_lit +call 39 pith_cstring_release void 1 38 +ret 33 +label L4626 +label L4624 +load 40 kind +strref 41 m51s519 +call 42 pith_cstring_eq bool 2 40 41 +call 43 pith_cstring_release void 1 41 +brif 42 L4631 L4632 +label L4631 +load 44 node +closure_ref 45 ir_emitter_core___fnval_0 +call 46 ir_match_emit_ir_emit_if_expr int 2 44 45 +call 47 pith_closure_release void 1 45 +load 48 kind call 49 pith_cstring_release void 1 48 -ret 44 -label L4561 -label L4559 -load 50 kind -strref 51 m51s130 -call 52 pith_cstring_eq bool 2 50 51 -call 53 pith_cstring_release void 1 51 -brif 52 L4563 L4564 -label L4563 -load 54 idx -call 55 ir_emitter_core_ir_emit_method_call int 1 54 -load 56 kind -call 57 pith_cstring_release void 1 56 -load 58 checked_lit +load 50 checked_lit +call 51 pith_cstring_release void 1 50 +ret 46 +label L4632 +label L4630 +load 52 kind +strref 53 m51s130 +call 54 pith_cstring_eq bool 2 52 53 +call 55 pith_cstring_release void 1 53 +brif 54 L4634 L4635 +label L4634 +load 56 idx +call 57 ir_emitter_core_ir_emit_method_call int 1 56 +load 58 kind call 59 pith_cstring_release void 1 58 -ret 55 -label L4564 -label L4562 -load 60 kind -strref 61 m51s523 -call 62 pith_cstring_eq bool 2 60 61 -call 63 pith_cstring_release void 1 61 -brif 62 L4566 L4567 -label L4566 -load 64 idx -call 65 ir_emitter_core_ir_emit_string_interp int 1 64 -load 66 kind -call 67 pith_cstring_release void 1 66 -load 68 checked_lit +load 60 checked_lit +call 61 pith_cstring_release void 1 60 +ret 57 +label L4635 +label L4633 +load 62 kind +strref 63 m51s523 +call 64 pith_cstring_eq bool 2 62 63 +call 65 pith_cstring_release void 1 63 +brif 64 L4637 L4638 +label L4637 +load 66 idx +call 67 ir_emitter_core_ir_emit_string_interp int 1 66 +load 68 kind call 69 pith_cstring_release void 1 68 -ret 65 -label L4567 -label L4565 -load 70 kind -strref 71 m51s19 -call 72 pith_cstring_eq bool 2 70 71 -call 73 pith_cstring_release void 1 71 -brif 72 L4569 L4570 -label L4569 -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_4574 78 -load 79 checked_lit -strref 80 m51s18 -call 81 pith_cstring_eq bool 2 79 80 -call 82 pith_cstring_release void 1 80 -store __or_78_4574 81 -brif 81 L4575 L4574 -label L4574 -load 83 checked_lit -strref 84 m51s710 -call 85 pith_cstring_eq bool 2 83 84 -call 86 pith_cstring_release void 1 84 -store __or_78_4574 85 -label L4575 -load 87 __or_78_4574 -brif 87 L4572 L4573 -label L4572 -load 88 idx -load 89 node -call 90 ir_emitter_core_ir_emit_set_literal int 2 88 89 -load 91 kind -call 92 pith_cstring_release void 1 91 -load 93 checked_lit +load 70 checked_lit +call 71 pith_cstring_release void 1 70 +ret 67 +label L4638 +label L4636 +load 72 kind +strref 73 m51s19 +call 74 pith_cstring_eq bool 2 72 73 +call 75 pith_cstring_release void 1 73 +brif 74 L4640 L4641 +label L4640 +load 76 checked_lit +load 77 idx +call 78 ir_type_helpers_ir_checked_type string 1 77 +call 79 pith_cstring_release void 1 76 +store checked_lit 78 +iconst 80 0 +store __or_80_4645 80 +load 81 checked_lit +strref 82 m51s18 +call 83 pith_cstring_eq bool 2 81 82 +call 84 pith_cstring_release void 1 82 +store __or_80_4645 83 +brif 83 L4646 L4645 +label L4645 +load 85 checked_lit +strref 86 m51s710 +call 87 pith_cstring_eq bool 2 85 86 +call 88 pith_cstring_release void 1 86 +store __or_80_4645 87 +label L4646 +load 89 __or_80_4645 +brif 89 L4643 L4644 +label L4643 +load 90 idx +load 91 node +call 92 ir_emitter_core_ir_emit_set_literal int 2 90 91 +load 93 kind call 94 pith_cstring_release void 1 93 -ret 90 -label L4573 -label L4571 -load 95 idx -load 96 node -call 97 ir_emitter_core_ir_emit_map_literal int 2 95 96 -load 98 kind -call 99 pith_cstring_release void 1 98 -load 100 checked_lit +load 95 checked_lit +call 96 pith_cstring_release void 1 95 +ret 92 +label L4644 +label L4642 +load 97 idx +load 98 node +call 99 ir_emitter_core_ir_emit_map_literal int 2 97 98 +load 100 kind call 101 pith_cstring_release void 1 100 -ret 97 -label L4570 -label L4568 -load 102 kind -strref 103 m51s18 -call 104 pith_cstring_eq bool 2 102 103 -call 105 pith_cstring_release void 1 103 -brif 104 L4577 L4578 -label L4577 -load 106 idx -load 107 node -call 108 ir_emitter_core_ir_emit_set_literal int 2 106 107 -load 109 kind -call 110 pith_cstring_release void 1 109 -load 111 checked_lit +load 102 checked_lit +call 103 pith_cstring_release void 1 102 +ret 99 +label L4641 +label L4639 +load 104 kind +strref 105 m51s18 +call 106 pith_cstring_eq bool 2 104 105 +call 107 pith_cstring_release void 1 105 +brif 106 L4648 L4649 +label L4648 +load 108 idx +load 109 node +call 110 ir_emitter_core_ir_emit_set_literal int 2 108 109 +load 111 kind call 112 pith_cstring_release void 1 111 -ret 108 -label L4578 -label L4576 -load 113 kind -strref 114 m51s20 -call 115 pith_cstring_eq bool 2 113 114 -call 116 pith_cstring_release void 1 114 -brif 115 L4580 L4581 -label L4580 -load 117 idx -load 118 node -call 119 ir_emitter_core_ir_emit_list_literal int 2 117 118 -load 120 kind -call 121 pith_cstring_release void 1 120 -load 122 checked_lit +load 113 checked_lit +call 114 pith_cstring_release void 1 113 +ret 110 +label L4649 +label L4647 +load 115 kind +strref 116 m51s20 +call 117 pith_cstring_eq bool 2 115 116 +call 118 pith_cstring_release void 1 116 +brif 117 L4651 L4652 +label L4651 +load 119 idx +load 120 node +call 121 ir_emitter_core_ir_emit_list_literal int 2 119 120 +load 122 kind call 123 pith_cstring_release void 1 122 -ret 119 -label L4581 -label L4579 -load 124 kind -strref 125 m51s23 -call 126 pith_cstring_eq bool 2 124 125 -call 127 pith_cstring_release void 1 125 -brif 126 L4583 L4584 -label L4583 -load 128 node -call 129 ir_emitter_core_ir_emit_tuple_literal int 1 128 -load 130 kind -call 131 pith_cstring_release void 1 130 -load 132 checked_lit +load 124 checked_lit +call 125 pith_cstring_release void 1 124 +ret 121 +label L4652 +label L4650 +load 126 kind +strref 127 m51s23 +call 128 pith_cstring_eq bool 2 126 127 +call 129 pith_cstring_release void 1 127 +brif 128 L4654 L4655 +label L4654 +load 130 node +call 131 ir_emitter_core_ir_emit_tuple_literal int 1 130 +load 132 kind call 133 pith_cstring_release void 1 132 -ret 129 -label L4584 -label L4582 -load 134 kind -strref 135 m51s511 -call 136 pith_cstring_eq bool 2 134 135 -call 137 pith_cstring_release void 1 135 -brif 136 L4586 L4587 -label L4586 -load 138 idx -load 139 node -call 140 ir_emitter_core_ir_emit_struct_init int 2 138 139 -load 141 kind -call 142 pith_cstring_release void 1 141 -load 143 checked_lit +load 134 checked_lit +call 135 pith_cstring_release void 1 134 +ret 131 +label L4655 +label L4653 +load 136 kind +strref 137 m51s511 +call 138 pith_cstring_eq bool 2 136 137 +call 139 pith_cstring_release void 1 137 +brif 138 L4657 L4658 +label L4657 +load 140 idx +load 141 node +call 142 ir_emitter_core_ir_emit_struct_init int 2 140 141 +load 143 kind call 144 pith_cstring_release void 1 143 -ret 140 -label L4587 -label L4585 -load 145 kind -strref 146 m51s36 -call 147 pith_cstring_eq bool 2 145 146 -call 148 pith_cstring_release void 1 146 -brif 147 L4589 L4590 -label L4589 -load 149 idx -load 150 node -call 151 ir_emitter_core_ir_emit_field_access_expr int 2 149 150 -load 152 kind -call 153 pith_cstring_release void 1 152 -load 154 checked_lit +load 145 checked_lit +call 146 pith_cstring_release void 1 145 +ret 142 +label L4658 +label L4656 +load 147 kind +strref 148 m51s36 +call 149 pith_cstring_eq bool 2 147 148 +call 150 pith_cstring_release void 1 148 +brif 149 L4660 L4661 +label L4660 +load 151 idx +load 152 node +call 153 ir_emitter_core_ir_emit_field_access_expr int 2 151 152 +load 154 kind call 155 pith_cstring_release void 1 154 -ret 151 -label L4590 -label L4588 -load 156 kind -strref 157 m51s512 -call 158 pith_cstring_eq bool 2 156 157 -call 159 pith_cstring_release void 1 157 -brif 158 L4592 L4593 -label L4592 -load 160 idx -call 161 ir_emitter_core_ir_emit_lambda int 1 160 -load 162 kind -call 163 pith_cstring_release void 1 162 -load 164 checked_lit +load 156 checked_lit +call 157 pith_cstring_release void 1 156 +ret 153 +label L4661 +label L4659 +load 158 kind +strref 159 m51s512 +call 160 pith_cstring_eq bool 2 158 159 +call 161 pith_cstring_release void 1 159 +brif 160 L4663 L4664 +label L4663 +load 162 idx +call 163 ir_emitter_core_ir_emit_lambda int 1 162 +load 164 kind call 165 pith_cstring_release void 1 164 -ret 161 -label L4593 -label L4591 -load 166 kind -strref 167 m51s510 -call 168 pith_cstring_eq bool 2 166 167 -call 169 pith_cstring_release void 1 167 -brif 168 L4595 L4596 -label L4595 -load 170 node -call 171 ir_emitter_core_ir_emit_spawn_expr int 1 170 -load 172 kind -call 173 pith_cstring_release void 1 172 -load 174 checked_lit +load 166 checked_lit +call 167 pith_cstring_release void 1 166 +ret 163 +label L4664 +label L4662 +load 168 kind +strref 169 m51s510 +call 170 pith_cstring_eq bool 2 168 169 +call 171 pith_cstring_release void 1 169 +brif 170 L4666 L4667 +label L4666 +load 172 node +call 173 ir_emitter_core_ir_emit_spawn_expr int 1 172 +load 174 kind call 175 pith_cstring_release void 1 174 -ret 171 -label L4596 -label L4594 -load 176 kind -strref 177 m51s509 -call 178 pith_cstring_eq bool 2 176 177 -call 179 pith_cstring_release void 1 177 -brif 178 L4598 L4599 -label L4598 -load 180 node -call 181 ir_emitter_core_ir_emit_await_expr int 1 180 -load 182 kind -call 183 pith_cstring_release void 1 182 -load 184 checked_lit +load 176 checked_lit +call 177 pith_cstring_release void 1 176 +ret 173 +label L4667 +label L4665 +load 178 kind +strref 179 m51s509 +call 180 pith_cstring_eq bool 2 178 179 +call 181 pith_cstring_release void 1 179 +brif 180 L4669 L4670 +label L4669 +load 182 node +call 183 ir_emitter_core_ir_emit_await_expr int 1 182 +load 184 kind call 185 pith_cstring_release void 1 184 -ret 181 -label L4599 -label L4597 -load 186 kind -strref 187 m51s518 -call 188 pith_cstring_eq bool 2 186 187 -call 189 pith_cstring_release void 1 187 -brif 188 L4601 L4602 -label L4601 -load 190 node -call 191 ir_emitter_core_ir_emit_optional_unwrap int 1 190 -load 192 kind -call 193 pith_cstring_release void 1 192 -load 194 checked_lit +load 186 checked_lit +call 187 pith_cstring_release void 1 186 +ret 183 +label L4670 +label L4668 +load 188 kind +strref 189 m51s518 +call 190 pith_cstring_eq bool 2 188 189 +call 191 pith_cstring_release void 1 189 +brif 190 L4672 L4673 +label L4672 +load 192 node +call 193 ir_emitter_core_ir_emit_optional_unwrap int 1 192 +load 194 kind call 195 pith_cstring_release void 1 194 -ret 191 -label L4602 -label L4600 -iconst 196 0 -store __or_196_4606 196 -load 197 kind -strref 198 m51s517 -call 199 pith_cstring_eq bool 2 197 198 -call 200 pith_cstring_release void 1 198 -store __or_196_4606 199 -brif 199 L4607 L4606 -label L4606 -load 201 kind -strref 202 m51s579 -call 203 pith_cstring_eq bool 2 201 202 -call 204 pith_cstring_release void 1 202 -store __or_196_4606 203 -label L4607 -load 205 __or_196_4606 -brif 205 L4604 L4605 -label L4604 -load 206 node -call 207 ir_emitter_core_ir_emit_try_expr int 1 206 -load 208 kind -call 209 pith_cstring_release void 1 208 -load 210 checked_lit +load 196 checked_lit +call 197 pith_cstring_release void 1 196 +ret 193 +label L4673 +label L4671 +iconst 198 0 +store __or_198_4677 198 +load 199 kind +strref 200 m51s517 +call 201 pith_cstring_eq bool 2 199 200 +call 202 pith_cstring_release void 1 200 +store __or_198_4677 201 +brif 201 L4678 L4677 +label L4677 +load 203 kind +strref 204 m51s579 +call 205 pith_cstring_eq bool 2 203 204 +call 206 pith_cstring_release void 1 204 +store __or_198_4677 205 +label L4678 +load 207 __or_198_4677 +brif 207 L4675 L4676 +label L4675 +load 208 node +call 209 ir_emitter_core_ir_emit_try_expr int 1 208 +load 210 kind call 211 pith_cstring_release void 1 210 -ret 207 -label L4605 -label L4603 -load 212 kind -strref 213 m51s516 -call 214 pith_cstring_eq bool 2 212 213 -call 215 pith_cstring_release void 1 213 -brif 214 L4609 L4610 -label L4609 -load 216 node -call 217 ir_emitter_core_ir_emit_catch_expr int 1 216 -load 218 kind -call 219 pith_cstring_release void 1 218 -load 220 checked_lit +load 212 checked_lit +call 213 pith_cstring_release void 1 212 +ret 209 +label L4676 +label L4674 +load 214 kind +strref 215 m51s516 +call 216 pith_cstring_eq bool 2 214 215 +call 217 pith_cstring_release void 1 215 +brif 216 L4680 L4681 +label L4680 +load 218 node +call 219 ir_emitter_core_ir_emit_catch_expr int 1 218 +load 220 kind call 221 pith_cstring_release void 1 220 -ret 217 -label L4610 -label L4608 -load 222 kind -strref 223 m51s515 -call 224 pith_cstring_eq bool 2 222 223 -call 225 pith_cstring_release void 1 223 -brif 224 L4612 L4613 -label L4612 -load 226 node -call 227 ir_emitter_core_ir_emit_catch_block int 1 226 -load 228 kind -call 229 pith_cstring_release void 1 228 -load 230 checked_lit +load 222 checked_lit +call 223 pith_cstring_release void 1 222 +ret 219 +label L4681 +label L4679 +load 224 kind +strref 225 m51s515 +call 226 pith_cstring_eq bool 2 224 225 +call 227 pith_cstring_release void 1 225 +brif 226 L4683 L4684 +label L4683 +load 228 node +call 229 ir_emitter_core_ir_emit_catch_block int 1 228 +load 230 kind call 231 pith_cstring_release void 1 230 -ret 227 -label L4613 -label L4611 -load 232 kind -strref 233 m51s514 -call 234 pith_cstring_eq bool 2 232 233 -call 235 pith_cstring_release void 1 233 -brif 234 L4615 L4616 -label L4615 -load 236 node -call 237 ir_emitter_core_ir_emit_select_expr int 1 236 -load 238 kind -call 239 pith_cstring_release void 1 238 -load 240 checked_lit +load 232 checked_lit +call 233 pith_cstring_release void 1 232 +ret 229 +label L4684 +label L4682 +load 234 kind +strref 235 m51s514 +call 236 pith_cstring_eq bool 2 234 235 +call 237 pith_cstring_release void 1 235 +brif 236 L4686 L4687 +label L4686 +load 238 node +call 239 ir_emitter_core_ir_emit_select_expr int 1 238 +load 240 kind call 241 pith_cstring_release void 1 240 -ret 237 -label L4616 -label L4614 -load 242 kind -strref 243 m51s148 -call 244 pith_cstring_eq bool 2 242 243 -call 245 pith_cstring_release void 1 243 -brif 244 L4618 L4619 -label L4618 -load 246 node -call 247 ir_emitter_core_ir_emit_fail_expr int 1 246 -load 248 kind -call 249 pith_cstring_release void 1 248 -load 250 checked_lit +load 242 checked_lit +call 243 pith_cstring_release void 1 242 +ret 239 +label L4687 +label L4685 +load 244 kind +strref 245 m51s148 +call 246 pith_cstring_eq bool 2 244 245 +call 247 pith_cstring_release void 1 245 +brif 246 L4689 L4690 +label L4689 +load 248 node +call 249 ir_emitter_core_ir_emit_fail_expr int 1 248 +load 250 kind call 251 pith_cstring_release void 1 250 -ret 247 -label L4619 -label L4617 -load 252 kind -strref 253 m51s524 -call 254 pith_cstring_eq bool 2 252 253 -call 255 pith_cstring_release void 1 253 -brif 254 L4621 L4622 -label L4621 -load 256 node -call 257 ir_emitter_core_ir_emit_grouped_expr int 1 256 -load 258 kind -call 259 pith_cstring_release void 1 258 -load 260 checked_lit +load 252 checked_lit +call 253 pith_cstring_release void 1 252 +ret 249 +label L4690 +label L4688 +load 254 kind +strref 255 m51s524 +call 256 pith_cstring_eq bool 2 254 255 +call 257 pith_cstring_release void 1 255 +brif 256 L4692 L4693 +label L4692 +load 258 node +call 259 ir_emitter_core_ir_emit_grouped_expr int 1 258 +load 260 kind call 261 pith_cstring_release void 1 260 -ret 257 -label L4622 -label L4620 -load 262 kind -strref 263 m51s35 -call 264 pith_cstring_eq bool 2 262 263 -call 265 pith_cstring_release void 1 263 -brif 264 L4624 L4625 -label L4624 -load 266 idx -load 267 node -call 268 ir_emitter_core_ir_emit_index_expr int 2 266 267 -load 269 kind -call 270 pith_cstring_release void 1 269 -load 271 checked_lit +load 262 checked_lit +call 263 pith_cstring_release void 1 262 +ret 259 +label L4693 +label L4691 +load 264 kind +strref 265 m51s35 +call 266 pith_cstring_eq bool 2 264 265 +call 267 pith_cstring_release void 1 265 +brif 266 L4695 L4696 +label L4695 +load 268 idx +load 269 node +call 270 ir_emitter_core_ir_emit_index_expr int 2 268 269 +load 271 kind call 272 pith_cstring_release void 1 271 -ret 268 -label L4625 -label L4623 -call 273 ir_emitter_core_ir_emit_zero_value int 0 -load 274 kind -call 275 pith_cstring_release void 1 274 -load 276 checked_lit +load 273 checked_lit +call 274 pith_cstring_release void 1 273 +ret 270 +label L4696 +label L4694 +call 275 ir_emitter_core_ir_emit_zero_value int 0 +load 276 kind call 277 pith_cstring_release void 1 276 -ret 273 -load 278 kind +load 278 checked_lit call 279 pith_cstring_release void 1 278 -load 280 checked_lit +ret 275 +load 280 kind call 281 pith_cstring_release void 1 280 -iconst 282 0 -ret 282 +load 282 checked_lit +call 283 pith_cstring_release void 1 282 +iconst 284 0 +ret 284 +endfunc +func ir_emitter_core_ir_emit_return_stmt 1 void +param node +load 1 node +field 2 1 16 list children +call 3 pith_list_len int 1 2 +iconst 4 0 +gt 5 3 4 +brif 5 L4698 L4699 +label L4698 +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_emit_return_value void 1 9 +jmp L4697 +label L4699 +iconst 11 0 +call 12 ir_emitter_core_ir_defer_emit_to_function_frame void 1 11 +strref 13 m51s83 +call 14 ir_emitter_core_ir_emit_string_cleanup void 1 13 +call 15 pith_cstring_release void 1 13 +call 16 ir_builder_ir_reg int 0 +store r 16 +load 17 ir_builder_ir_current_func_return_kind +strref 18 m51s1234 +call 19 pith_cstring_eq bool 2 17 18 +call 20 pith_cstring_release void 1 18 +brif 19 L4701 L4702 +label L4701 +strref 21 m51s880 +load 22 r +call 23 int_to_string string 1 22 +concat 24 21 23 +call 25 pith_cstring_release void 1 21 +call 26 pith_cstring_release void 1 23 +strref 27 m51s890 +concat 28 24 27 +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 +call 33 ir_builder_ir_reg int 0 +store zero_r 33 +strref 34 m51s880 +load 35 zero_r +call 36 int_to_string string 1 35 +concat 37 34 36 +call 38 pith_cstring_release void 1 34 +call 39 pith_cstring_release void 1 36 +strref 40 m51s879 +concat 41 37 40 +call 42 pith_cstring_release void 1 37 +call 43 pith_cstring_release void 1 40 +call 44 ir_builder_ir_emit void 1 41 +call 45 pith_cstring_release void 1 41 +strref 46 m51s1083 +load 47 r +call 48 int_to_string string 1 47 +concat 49 46 48 +call 50 pith_cstring_release void 1 46 +call 51 pith_cstring_release void 1 48 +strref 52 m51s344 +concat 53 49 52 +call 54 pith_cstring_release void 1 49 +call 55 pith_cstring_release void 1 52 +load 56 zero_r +call 57 int_to_string string 1 56 +concat 58 53 57 +call 59 pith_cstring_release void 1 53 +call 60 pith_cstring_release void 1 57 +call 61 ir_builder_ir_emit void 1 58 +call 62 pith_cstring_release void 1 58 +jmp L4700 +label L4702 +strref 63 m51s880 +load 64 r +call 65 int_to_string string 1 64 +concat 66 63 65 +call 67 pith_cstring_release void 1 63 +call 68 pith_cstring_release void 1 65 +strref 69 m51s879 +concat 70 66 69 +call 71 pith_cstring_release void 1 66 +call 72 pith_cstring_release void 1 69 +call 73 ir_builder_ir_emit void 1 70 +call 74 pith_cstring_release void 1 70 +strref 75 m51s925 +load 76 r +call 77 int_to_string string 1 76 +concat 78 75 77 +call 79 pith_cstring_release void 1 75 +call 80 pith_cstring_release void 1 77 +call 81 ir_builder_ir_emit void 1 78 +call 82 pith_cstring_release void 1 78 +label L4700 +iconst 83 1 +store ir_call_emit_ir_last_was_ret 83 +label L4697 +iconst 84 0 +ret 84 endfunc -func ir_emitter_core_ir_emit_return_stmt 1 void -param node +func ir_emitter_core_ir_emit_return_value 1 void +param expr_child iconst 1 0 store exclude 1 iconst 2 0 @@ -188388,521 +188940,411 @@ iconst 4 0 store result_kind 4 iconst 5 0 store expr_kind 5 -load 6 node -field 7 6 16 list children -call 8 pith_list_len int 1 7 -iconst 9 0 -gt 10 8 9 -brif 10 L4627 L4628 -label L4627 -iconst 11 0 -store r 11 -load 12 node -field 13 12 16 list children -iconst 14 0 -call 15 pith_list_get_value_strict int 2 13 14 -call 16 ast_node_kind string 1 15 -strref 17 m51s494 -call 18 pith_cstring_eq bool 2 16 17 -call 19 pith_cstring_release void 1 16 -call 20 pith_cstring_release void 1 17 -brif 18 L4630 L4631 -label L4630 -call 21 ir_emitter_core_ir_emit_zero_value int 0 -store r 21 -jmp L4629 -label L4631 -load 22 ir_builder_ir_current_func_return_kind -strref 23 m51s1234 -call 24 pith_cstring_eq bool 2 22 23 -call 25 pith_cstring_release void 1 23 -brif 24 L4632 L4633 -label L4632 -load 26 ir_emitter_core_ir_rcall_defer_idx -store saved_defer 26 -load 27 node -field 28 27 16 list children -iconst 29 0 -call 30 pith_list_get_value_strict int 2 28 29 -store ir_emitter_core_ir_rcall_defer_idx 30 -iconst 31 0 -store ir_emitter_core_ir_rcall_pair_ready 31 -load 32 node -field 33 32 16 list children -iconst 34 0 -call 35 pith_list_get_value_strict int 2 33 34 -call 36 ir_emitter_core_ir_expr int 1 35 -store r 36 -load 37 saved_defer -store ir_emitter_core_ir_rcall_defer_idx 37 -load 38 ir_emitter_core_ir_rcall_pair_ready -brif 38 L4635 L4636 -label L4635 -iconst 39 0 -store ir_emitter_core_ir_rcall_pair_ready 39 -iconst 40 0 -call 41 ir_emitter_core_ir_defer_emit_to_function_frame void 1 40 -strref 42 m51s83 -call 43 ir_emitter_core_ir_emit_string_cleanup void 1 42 -call 44 pith_cstring_release void 1 42 -strref 45 m51s1083 -load 46 ir_emitter_core_ir_rcall_flag_reg -call 47 int_to_string string 1 46 -concat 48 45 47 -call 49 pith_cstring_release void 1 45 -call 50 pith_cstring_release void 1 47 -strref 51 m51s344 -concat 52 48 51 -call 53 pith_cstring_release void 1 48 -call 54 pith_cstring_release void 1 51 -load 55 ir_emitter_core_ir_rcall_val_reg -call 56 int_to_string string 1 55 -concat 57 52 56 -call 58 pith_cstring_release void 1 52 -call 59 pith_cstring_release void 1 56 -call 60 ir_builder_ir_emit void 1 57 -call 61 pith_cstring_release void 1 57 -iconst 62 1 -store ir_call_emit_ir_last_was_ret 62 +iconst 6 1 +brif 6 L4704 L4705 +label L4704 +iconst 7 0 +store r 7 +load 8 expr_child +call 9 ast_node_kind string 1 8 +strref 10 m51s494 +call 11 pith_cstring_eq bool 2 9 10 +call 12 pith_cstring_release void 1 9 +call 13 pith_cstring_release void 1 10 +brif 11 L4707 L4708 +label L4707 +call 14 ir_emitter_core_ir_emit_zero_value int 0 +store r 14 +jmp L4706 +label L4708 +load 15 ir_builder_ir_current_func_return_kind +strref 16 m51s1234 +call 17 pith_cstring_eq bool 2 15 16 +call 18 pith_cstring_release void 1 16 +brif 17 L4709 L4710 +label L4709 +load 19 ir_emitter_core_ir_rcall_defer_idx +store saved_defer 19 +load 20 expr_child +store ir_emitter_core_ir_rcall_defer_idx 20 +iconst 21 0 +store ir_emitter_core_ir_rcall_pair_ready 21 +load 22 expr_child +call 23 ir_emitter_core_ir_expr int 1 22 +store r 23 +load 24 saved_defer +store ir_emitter_core_ir_rcall_defer_idx 24 +load 25 ir_emitter_core_ir_rcall_pair_ready +brif 25 L4712 L4713 +label L4712 +iconst 26 0 +store ir_emitter_core_ir_rcall_pair_ready 26 +iconst 27 0 +call 28 ir_emitter_core_ir_defer_emit_to_function_frame void 1 27 +strref 29 m51s83 +call 30 ir_emitter_core_ir_emit_string_cleanup void 1 29 +call 31 pith_cstring_release void 1 29 +strref 32 m51s1083 +load 33 ir_emitter_core_ir_rcall_flag_reg +call 34 int_to_string string 1 33 +concat 35 32 34 +call 36 pith_cstring_release void 1 32 +call 37 pith_cstring_release void 1 34 +strref 38 m51s344 +concat 39 35 38 +call 40 pith_cstring_release void 1 35 +call 41 pith_cstring_release void 1 38 +load 42 ir_emitter_core_ir_rcall_val_reg +call 43 int_to_string string 1 42 +concat 44 39 43 +call 45 pith_cstring_release void 1 39 +call 46 pith_cstring_release void 1 43 +call 47 ir_builder_ir_emit void 1 44 +call 48 pith_cstring_release void 1 44 +iconst 49 1 +store ir_call_emit_ir_last_was_ret 49 +load 50 exclude +call 51 pith_cstring_release void 1 50 +load 52 expr_node +call 53 pith_struct_release void 1 52 +load 54 ret_kind +call 55 pith_cstring_release void 1 54 +load 56 result_kind +call 57 pith_cstring_release void 1 56 +load 58 expr_kind +call 59 pith_cstring_release void 1 58 +iconst 60 0 +ret 60 +label L4713 +label L4711 +jmp L4706 +label L4710 +load 61 expr_child +call 62 ir_emitter_core_ir_expr int 1 61 +store r 62 +label L4706 load 63 exclude -call 64 pith_cstring_release void 1 63 -load 65 expr_node -call 66 pith_struct_release void 1 65 -load 67 ret_kind -call 68 pith_cstring_release void 1 67 -load 69 result_kind -call 70 pith_cstring_release void 1 69 -load 71 expr_kind -call 72 pith_cstring_release void 1 71 -iconst 73 0 -ret 73 -label L4636 -label L4634 -jmp L4629 -label L4633 -load 74 node -field 75 74 16 list children -iconst 76 0 -call 77 pith_list_get_value_strict int 2 75 76 -call 78 ir_emitter_core_ir_expr int 1 77 -store r 78 -label L4629 -load 79 exclude -strref 80 m51s83 -call 81 pith_cstring_release void 1 79 -store exclude 80 -load 82 expr_node -load 83 node -field 84 83 16 list children -iconst 85 0 -call 86 pith_list_get_value_strict int 2 84 85 -call 87 ast_get_node struct:Node 1 86 -call 88 pith_struct_release void 1 82 -store expr_node 87 -iconst 89 0 -store __and_89_4640 89 -load 90 expr_node -field 91 90 0 string kind -strref 92 m51s37 -call 93 pith_cstring_eq bool 2 91 92 -call 94 pith_cstring_release void 1 92 -store __and_89_4640 93 -brif 93 L4640 L4641 -label L4640 -load 95 expr_node -field 96 95 8 string value -call 97 ir_emitter_core_ir_rc_local_kind string 1 96 -call 98 string_len int 1 97 -call 99 pith_cstring_release void 1 97 +strref 64 m51s83 +call 65 pith_cstring_release void 1 63 +store exclude 64 +load 66 expr_node +load 67 expr_child +call 68 ast_get_node struct:Node 1 67 +call 69 pith_struct_release void 1 66 +store expr_node 68 +iconst 70 0 +store __and_70_4717 70 +load 71 expr_node +field 72 71 0 string kind +strref 73 m51s37 +call 74 pith_cstring_eq bool 2 72 73 +call 75 pith_cstring_release void 1 73 +store __and_70_4717 74 +brif 74 L4717 L4718 +label L4717 +load 76 expr_node +field 77 76 8 string value +call 78 ir_emitter_core_ir_rc_local_kind string 1 77 +call 79 string_len int 1 78 +call 80 pith_cstring_release void 1 78 +iconst 81 0 +gt 82 79 81 +store __and_70_4717 82 +label L4718 +load 83 __and_70_4717 +brif 83 L4715 L4716 +label L4715 +load 84 exclude +load 85 expr_node +field 86 85 8 string value +call 87 pith_cstring_retain void 1 86 +call 88 pith_cstring_release void 1 84 +store exclude 86 +jmp L4714 +label L4716 +load 89 ret_kind +load 90 expr_child +call 91 ir_emitter_core_ir_infer_type string 1 90 +call 92 ir_emitter_core_ir_substitute_type_name string 1 91 +call 93 pith_cstring_release void 1 91 +call 94 ir_struct_registry_ir_rc_kind string 1 92 +call 95 pith_cstring_release void 1 92 +call 96 pith_cstring_release void 1 89 +store ret_kind 94 +iconst 97 0 +store __and_97_4722 97 +load 98 ret_kind +call 99 string_len int 1 98 iconst 100 0 -gt 101 98 100 -store __and_89_4640 101 -label L4641 -load 102 __and_89_4640 -brif 102 L4638 L4639 -label L4638 -load 103 exclude -load 104 expr_node -field 105 104 8 string value -call 106 pith_cstring_retain void 1 105 -call 107 pith_cstring_release void 1 103 -store exclude 105 -jmp L4637 -label L4639 -load 108 ret_kind -load 109 node -field 110 109 16 list children -iconst 111 0 -call 112 pith_list_get_value_strict int 2 110 111 -call 113 ir_emitter_core_ir_infer_type string 1 112 -call 114 ir_emitter_core_ir_substitute_type_name string 1 113 -call 115 pith_cstring_release void 1 113 -call 116 ir_struct_registry_ir_rc_kind string 1 114 -call 117 pith_cstring_release void 1 114 -call 118 pith_cstring_release void 1 108 -store ret_kind 116 -iconst 119 0 -store __and_119_4645 119 -load 120 ret_kind -call 121 string_len int 1 120 -iconst 122 0 -gt 123 121 122 -store __and_119_4645 123 -brif 123 L4645 L4646 -label L4645 -load 124 node -field 125 124 16 list children -iconst 126 0 -call 127 pith_list_get_value_strict int 2 125 126 -call 128 ir_emitter_core_ir_string_expr_is_borrowed bool 1 127 -store __and_119_4645 128 -label L4646 -load 129 __and_119_4645 -brif 129 L4643 L4644 -label L4643 -load 130 r -load 131 ret_kind -call 132 ir_ownership_ir_rc_retain_reg void 2 130 131 -jmp L4642 -label L4644 -label L4642 -label L4637 -load 133 result_kind -load 134 node -field 135 134 16 list children -iconst 136 0 -call 137 pith_list_get_value_strict int 2 135 136 -call 138 ir_emitter_core_ir_expr_result_kind string 1 137 -call 139 pith_cstring_release void 1 133 -store result_kind 138 -load 140 node -field 141 140 16 list children -iconst 142 0 -call 143 pith_list_get_value_strict int 2 141 142 -call 144 checker_c_get_expr_type int 1 143 -store expr_tid 144 +gt 101 99 100 +store __and_97_4722 101 +brif 101 L4722 L4723 +label L4722 +load 102 expr_child +call 103 ir_emitter_core_ir_string_expr_is_borrowed bool 1 102 +store __and_97_4722 103 +label L4723 +load 104 __and_97_4722 +brif 104 L4720 L4721 +label L4720 +load 105 r +load 106 ret_kind +call 107 ir_ownership_ir_rc_retain_reg void 2 105 106 +jmp L4719 +label L4721 +label L4719 +label L4714 +load 108 result_kind +load 109 expr_child +call 110 ir_emitter_core_ir_expr_result_kind string 1 109 +call 111 pith_cstring_release void 1 108 +store result_kind 110 +load 112 expr_child +call 113 checker_c_get_expr_type int 1 112 +store expr_tid 113 +load 114 expr_kind +strref 115 m51s83 +call 116 pith_cstring_release void 1 114 +store expr_kind 115 +load 117 expr_tid +iconst 118 0 +gte 119 117 118 +brif 119 L4725 L4726 +label L4725 +load 120 expr_kind +load 121 expr_tid +call 122 types_get_type_info struct:TypeInfo 1 121 +field 123 122 0 string kind +call 124 pith_cstring_retain void 1 123 +call 125 pith_cstring_release void 1 120 +store expr_kind 123 +jmp L4724 +label L4726 +label L4724 +load 126 ir_emitter_core_ir_current_func_optional_inner_kind +call 127 string_len int 1 126 +iconst 128 0 +gt 129 127 128 +brif 129 L4728 L4729 +label L4728 +iconst 130 0 +store __and_130_4730 130 +load 131 expr_node +field 132 131 0 string kind +strref 133 m51s37 +call 134 pith_cstring_eq bool 2 132 133 +call 135 pith_cstring_release void 1 133 +store __and_130_4730 134 +brif 134 L4730 L4731 +label L4730 +load 136 expr_node +field 137 136 8 string value +call 138 ir_emitter_core_ir_rc_local_kind string 1 137 +strref 139 m51s23 +call 140 pith_cstring_eq bool 2 138 139 +call 141 pith_cstring_release void 1 138 +call 142 pith_cstring_release void 1 139 +store __and_130_4730 140 +label L4731 +load 143 __and_130_4730 +store ident_tuple_local 143 +iconst 144 0 +store __or_144_4732 144 load 145 expr_kind -strref 146 m51s83 -call 147 pith_cstring_release void 1 145 -store expr_kind 146 -load 148 expr_tid +strref 146 m51s21 +call 147 pith_cstring_eq bool 2 145 146 +call 148 pith_cstring_release void 1 146 +store __or_144_4732 147 +brif 147 L4733 L4732 +label L4732 iconst 149 0 -gte 150 148 149 -brif 150 L4648 L4649 -label L4648 -load 151 expr_kind -load 152 expr_tid -call 153 types_get_type_info struct:TypeInfo 1 152 -field 154 153 0 string kind -call 155 pith_cstring_retain void 1 154 -call 156 pith_cstring_release void 1 151 -store expr_kind 154 -jmp L4647 -label L4649 -label L4647 +store __and_149_4734 149 +iconst 150 0 +store __or_150_4734 150 +load 151 result_kind +strref 152 m51s23 +call 153 pith_cstring_eq bool 2 151 152 +call 154 pith_cstring_release void 1 152 +store __or_150_4734 153 +brif 153 L4735 L4734 +label L4734 +load 155 ident_tuple_local +store __or_150_4734 155 +label L4735 +load 156 __or_150_4734 +store __and_149_4734 156 +brif 156 L4736 L4737 +label L4736 load 157 ir_emitter_core_ir_current_func_optional_inner_kind -call 158 string_len int 1 157 -iconst 159 0 -gt 160 158 159 -brif 160 L4651 L4652 -label L4651 -iconst 161 0 -store __and_161_4653 161 -load 162 expr_node -field 163 162 0 string kind -strref 164 m51s37 -call 165 pith_cstring_eq bool 2 163 164 -call 166 pith_cstring_release void 1 164 -store __and_161_4653 165 -brif 165 L4653 L4654 -label L4653 -load 167 expr_node -field 168 167 8 string value -call 169 ir_emitter_core_ir_rc_local_kind string 1 168 -strref 170 m51s23 -call 171 pith_cstring_eq bool 2 169 170 -call 172 pith_cstring_release void 1 169 -call 173 pith_cstring_release void 1 170 -store __and_161_4653 171 -label L4654 -load 174 __and_161_4653 -store ident_tuple_local 174 -iconst 175 0 -store __or_175_4655 175 -load 176 expr_kind -strref 177 m51s21 +strref 158 m51s23 +call 160 pith_cstring_eq bool 2 157 158 +iconst 161 1 +sub 159 161 160 +call 162 pith_cstring_release void 1 158 +store __and_149_4734 159 +label L4737 +load 163 __and_149_4734 +store __or_144_4732 163 +label L4733 +load 164 __or_144_4732 +store already_optional 164 +load 165 expr_node +field 166 165 0 string kind +strref 167 m51s494 +call 168 pith_cstring_eq bool 2 166 167 +call 169 pith_cstring_release void 1 167 +brif 168 L4739 L4740 +label L4739 +call 170 ir_optionals_ir_emit_optional_none_value int 0 +store r 170 +jmp L4738 +label L4740 +load 171 already_optional +iconst 172 0 +eq 173 171 172 +brif 173 L4741 L4742 +label L4741 +load 174 r +call 175 ir_optionals_ir_emit_optional_some_value int 1 174 +store r 175 +jmp L4738 +label L4742 +label L4738 +jmp L4727 +label L4729 +load 176 ir_builder_ir_current_func_return_kind +strref 177 m51s23 call 178 pith_cstring_eq bool 2 176 177 call 179 pith_cstring_release void 1 177 -store __or_175_4655 178 -brif 178 L4656 L4655 -label L4655 -iconst 180 0 -store __and_180_4657 180 -iconst 181 0 -store __or_181_4657 181 -load 182 result_kind -strref 183 m51s23 -call 184 pith_cstring_eq bool 2 182 183 -call 185 pith_cstring_release void 1 183 -store __or_181_4657 184 -brif 184 L4658 L4657 -label L4657 -load 186 ident_tuple_local -store __or_181_4657 186 -label L4658 -load 187 __or_181_4657 -store __and_180_4657 187 -brif 187 L4659 L4660 -label L4659 -load 188 ir_emitter_core_ir_current_func_optional_inner_kind -strref 189 m51s23 -call 191 pith_cstring_eq bool 2 188 189 -iconst 192 1 -sub 190 192 191 -call 193 pith_cstring_release void 1 189 -store __and_180_4657 190 -label L4660 -load 194 __and_180_4657 -store __or_175_4655 194 -label L4656 -load 195 __or_175_4655 -store already_optional 195 -load 196 expr_node -field 197 196 0 string kind -strref 198 m51s494 -call 199 pith_cstring_eq bool 2 197 198 -call 200 pith_cstring_release void 1 198 -brif 199 L4662 L4663 -label L4662 -call 201 ir_optionals_ir_emit_optional_none_value int 0 -store r 201 -jmp L4661 -label L4663 -load 202 already_optional -iconst 203 0 -eq 204 202 203 -brif 204 L4664 L4665 -label L4664 -load 205 r -call 206 ir_optionals_ir_emit_optional_some_value int 1 205 -store r 206 -jmp L4661 -label L4665 -label L4661 -jmp L4650 -label L4652 -load 207 ir_builder_ir_current_func_return_kind -strref 208 m51s23 -call 209 pith_cstring_eq bool 2 207 208 -call 210 pith_cstring_release void 1 208 -brif 209 L4666 L4667 -label L4666 -load 211 result_kind -strref 212 m51s23 -call 214 pith_cstring_eq bool 2 211 212 -iconst 215 1 -sub 213 215 214 -call 216 pith_cstring_release void 1 212 -brif 213 L4669 L4670 -label L4669 -load 217 r -call 218 ir_emitter_core_ir_emit_ok_result_tuple int 1 217 -store r 218 -jmp L4668 -label L4670 -label L4668 -jmp L4650 -label L4667 -load 219 ir_builder_ir_current_func_return_kind -strref 220 m51s1234 -call 221 pith_cstring_eq bool 2 219 220 -call 222 pith_cstring_release void 1 220 -brif 221 L4671 L4672 -label L4671 -load 223 result_kind -strref 224 m51s23 -call 225 pith_cstring_eq bool 2 223 224 -call 226 pith_cstring_release void 1 224 -brif 225 L4674 L4675 -label L4674 -load 227 r -load 228 exclude -call 229 ir_emitter_core_ir_emit_return_box_as_pair void 2 227 228 -iconst 230 1 -store ir_call_emit_ir_last_was_ret 230 -load 231 exclude -call 232 pith_cstring_release void 1 231 -load 233 expr_node -call 234 pith_struct_release void 1 233 -load 235 ret_kind -call 236 pith_cstring_release void 1 235 -load 237 result_kind -call 238 pith_cstring_release void 1 237 -load 239 expr_kind -call 240 pith_cstring_release void 1 239 -iconst 241 0 -ret 241 -label L4675 -label L4673 -iconst 242 0 -call 243 ir_emitter_core_ir_defer_emit_to_function_frame void 1 242 -load 244 exclude -call 245 ir_emitter_core_ir_emit_string_cleanup void 1 244 -call 246 ir_builder_ir_reg int 0 -store one_r 246 -strref 247 m51s880 -load 248 one_r -call 249 int_to_string string 1 248 -concat 250 247 249 -call 251 pith_cstring_release void 1 247 -call 252 pith_cstring_release void 1 249 -strref 253 m51s890 -concat 254 250 253 -call 255 pith_cstring_release void 1 250 -call 256 pith_cstring_release void 1 253 -call 257 ir_builder_ir_emit void 1 254 -call 258 pith_cstring_release void 1 254 -strref 259 m51s1083 -load 260 one_r -call 261 int_to_string string 1 260 -concat 262 259 261 -call 263 pith_cstring_release void 1 259 -call 264 pith_cstring_release void 1 261 -strref 265 m51s344 -concat 266 262 265 -call 267 pith_cstring_release void 1 262 -call 268 pith_cstring_release void 1 265 -load 269 r -call 270 int_to_string string 1 269 -concat 271 266 270 -call 272 pith_cstring_release void 1 266 -call 273 pith_cstring_release void 1 270 -call 274 ir_builder_ir_emit void 1 271 -call 275 pith_cstring_release void 1 271 -iconst 276 1 -store ir_call_emit_ir_last_was_ret 276 -load 277 exclude -call 278 pith_cstring_release void 1 277 -load 279 expr_node -call 280 pith_struct_release void 1 279 -load 281 ret_kind -call 282 pith_cstring_release void 1 281 -load 283 result_kind -call 284 pith_cstring_release void 1 283 -load 285 expr_kind -call 286 pith_cstring_release void 1 285 -iconst 287 0 -ret 287 -label L4672 -label L4650 -iconst 288 0 -call 289 ir_emitter_core_ir_defer_emit_to_function_frame void 1 288 -load 290 exclude -call 291 ir_emitter_core_ir_emit_string_cleanup void 1 290 -strref 292 m51s897 -load 293 r -call 294 int_to_string string 1 293 -concat 295 292 294 -call 296 pith_cstring_release void 1 292 -call 297 pith_cstring_release void 1 294 -call 298 ir_builder_ir_emit void 1 295 -call 299 pith_cstring_release void 1 295 -jmp L4626 -label L4628 -iconst 300 0 -call 301 ir_emitter_core_ir_defer_emit_to_function_frame void 1 300 -strref 302 m51s83 -call 303 ir_emitter_core_ir_emit_string_cleanup void 1 302 -call 304 pith_cstring_release void 1 302 -call 305 ir_builder_ir_reg int 0 -store r 305 -load 306 ir_builder_ir_current_func_return_kind -strref 307 m51s1234 -call 308 pith_cstring_eq bool 2 306 307 -call 309 pith_cstring_release void 1 307 -brif 308 L4677 L4678 -label L4677 -strref 310 m51s880 -load 311 r -call 312 int_to_string string 1 311 -concat 313 310 312 -call 314 pith_cstring_release void 1 310 -call 315 pith_cstring_release void 1 312 -strref 316 m51s890 -concat 317 313 316 -call 318 pith_cstring_release void 1 313 -call 319 pith_cstring_release void 1 316 -call 320 ir_builder_ir_emit void 1 317 -call 321 pith_cstring_release void 1 317 -call 322 ir_builder_ir_reg int 0 -store zero_r 322 -strref 323 m51s880 -load 324 zero_r -call 325 int_to_string string 1 324 -concat 326 323 325 -call 327 pith_cstring_release void 1 323 -call 328 pith_cstring_release void 1 325 -strref 329 m51s879 -concat 330 326 329 -call 331 pith_cstring_release void 1 326 -call 332 pith_cstring_release void 1 329 -call 333 ir_builder_ir_emit void 1 330 -call 334 pith_cstring_release void 1 330 -strref 335 m51s1083 -load 336 r -call 337 int_to_string string 1 336 -concat 338 335 337 -call 339 pith_cstring_release void 1 335 -call 340 pith_cstring_release void 1 337 -strref 341 m51s344 -concat 342 338 341 -call 343 pith_cstring_release void 1 338 -call 344 pith_cstring_release void 1 341 -load 345 zero_r -call 346 int_to_string string 1 345 -concat 347 342 346 -call 348 pith_cstring_release void 1 342 -call 349 pith_cstring_release void 1 346 -call 350 ir_builder_ir_emit void 1 347 -call 351 pith_cstring_release void 1 347 -jmp L4676 -label L4678 -strref 352 m51s880 -load 353 r -call 354 int_to_string string 1 353 -concat 355 352 354 -call 356 pith_cstring_release void 1 352 -call 357 pith_cstring_release void 1 354 -strref 358 m51s879 -concat 359 355 358 -call 360 pith_cstring_release void 1 355 -call 361 pith_cstring_release void 1 358 -call 362 ir_builder_ir_emit void 1 359 -call 363 pith_cstring_release void 1 359 -strref 364 m51s897 -load 365 r -call 366 int_to_string string 1 365 -concat 367 364 366 -call 368 pith_cstring_release void 1 364 -call 369 pith_cstring_release void 1 366 -call 370 ir_builder_ir_emit void 1 367 -call 371 pith_cstring_release void 1 367 -label L4676 -label L4626 -iconst 372 1 -store ir_call_emit_ir_last_was_ret 372 -load 373 exclude -call 374 pith_cstring_release void 1 373 -load 375 expr_node -call 376 pith_struct_release void 1 375 -load 377 ret_kind -call 378 pith_cstring_release void 1 377 -load 379 result_kind -call 380 pith_cstring_release void 1 379 -load 381 expr_kind -call 382 pith_cstring_release void 1 381 -iconst 383 0 -ret 383 +brif 178 L4743 L4744 +label L4743 +load 180 result_kind +strref 181 m51s23 +call 183 pith_cstring_eq bool 2 180 181 +iconst 184 1 +sub 182 184 183 +call 185 pith_cstring_release void 1 181 +brif 182 L4746 L4747 +label L4746 +load 186 r +call 187 ir_emitter_core_ir_emit_ok_result_tuple int 1 186 +store r 187 +jmp L4745 +label L4747 +label L4745 +jmp L4727 +label L4744 +load 188 ir_builder_ir_current_func_return_kind +strref 189 m51s1234 +call 190 pith_cstring_eq bool 2 188 189 +call 191 pith_cstring_release void 1 189 +brif 190 L4748 L4749 +label L4748 +load 192 result_kind +strref 193 m51s23 +call 194 pith_cstring_eq bool 2 192 193 +call 195 pith_cstring_release void 1 193 +brif 194 L4751 L4752 +label L4751 +load 196 r +load 197 exclude +call 198 ir_emitter_core_ir_emit_return_box_as_pair void 2 196 197 +iconst 199 1 +store ir_call_emit_ir_last_was_ret 199 +load 200 exclude +call 201 pith_cstring_release void 1 200 +load 202 expr_node +call 203 pith_struct_release void 1 202 +load 204 ret_kind +call 205 pith_cstring_release void 1 204 +load 206 result_kind +call 207 pith_cstring_release void 1 206 +load 208 expr_kind +call 209 pith_cstring_release void 1 208 +iconst 210 0 +ret 210 +label L4752 +label L4750 +iconst 211 0 +call 212 ir_emitter_core_ir_defer_emit_to_function_frame void 1 211 +load 213 exclude +call 214 ir_emitter_core_ir_emit_string_cleanup void 1 213 +call 215 ir_builder_ir_reg int 0 +store one_r 215 +strref 216 m51s880 +load 217 one_r +call 218 int_to_string string 1 217 +concat 219 216 218 +call 220 pith_cstring_release void 1 216 +call 221 pith_cstring_release void 1 218 +strref 222 m51s890 +concat 223 219 222 +call 224 pith_cstring_release void 1 219 +call 225 pith_cstring_release void 1 222 +call 226 ir_builder_ir_emit void 1 223 +call 227 pith_cstring_release void 1 223 +strref 228 m51s1083 +load 229 one_r +call 230 int_to_string string 1 229 +concat 231 228 230 +call 232 pith_cstring_release void 1 228 +call 233 pith_cstring_release void 1 230 +strref 234 m51s344 +concat 235 231 234 +call 236 pith_cstring_release void 1 231 +call 237 pith_cstring_release void 1 234 +load 238 r +call 239 int_to_string string 1 238 +concat 240 235 239 +call 241 pith_cstring_release void 1 235 +call 242 pith_cstring_release void 1 239 +call 243 ir_builder_ir_emit void 1 240 +call 244 pith_cstring_release void 1 240 +iconst 245 1 +store ir_call_emit_ir_last_was_ret 245 +load 246 exclude +call 247 pith_cstring_release void 1 246 +load 248 expr_node +call 249 pith_struct_release void 1 248 +load 250 ret_kind +call 251 pith_cstring_release void 1 250 +load 252 result_kind +call 253 pith_cstring_release void 1 252 +load 254 expr_kind +call 255 pith_cstring_release void 1 254 +iconst 256 0 +ret 256 +label L4749 +label L4727 +iconst 257 0 +call 258 ir_emitter_core_ir_defer_emit_to_function_frame void 1 257 +load 259 exclude +call 260 ir_emitter_core_ir_emit_string_cleanup void 1 259 +strref 261 m51s925 +load 262 r +call 263 int_to_string string 1 262 +concat 264 261 263 +call 265 pith_cstring_release void 1 261 +call 266 pith_cstring_release void 1 263 +call 267 ir_builder_ir_emit void 1 264 +call 268 pith_cstring_release void 1 264 +jmp L4703 +label L4705 +label L4703 +iconst 269 1 +store ir_call_emit_ir_last_was_ret 269 +load 270 exclude +call 271 pith_cstring_release void 1 270 +load 272 expr_node +call 273 pith_struct_release void 1 272 +load 274 ret_kind +call 275 pith_cstring_release void 1 274 +load 276 result_kind +call 277 pith_cstring_release void 1 276 +load 278 expr_kind +call 279 pith_cstring_release void 1 278 +iconst 280 0 +ret 280 endfunc func ir_emitter_core_ir_emit_ret_err_value 1 void param err_r @@ -188910,8 +189352,8 @@ load 1 ir_builder_ir_current_func_return_kind strref 2 m51s1234 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L4680 L4681 -label L4680 +brif 3 L4754 L4755 +label L4754 call 5 ir_builder_ir_reg int 0 store zf 5 strref 6 m51s880 @@ -188943,9 +189385,9 @@ call 31 pith_cstring_release void 1 25 call 32 pith_cstring_release void 1 29 call 33 ir_builder_ir_emit void 1 30 call 34 pith_cstring_release void 1 30 -jmp L4679 -label L4681 -strref 35 m51s897 +jmp L4753 +label L4755 +strref 35 m51s925 load 36 err_r call 37 ir_emitter_core_ir_emit_err_result_tuple int 1 36 call 38 int_to_string string 1 37 @@ -188954,7 +189396,7 @@ call 40 pith_cstring_release void 1 35 call 41 pith_cstring_release void 1 38 call 42 ir_builder_ir_emit void 1 39 call 43 pith_cstring_release void 1 39 -label L4679 +label L4753 iconst 44 0 ret 44 endfunc @@ -189056,14 +189498,14 @@ load 82 err_kind call 83 string_len int 1 82 iconst 84 0 gt 85 83 84 -brif 85 L4683 L4684 -label L4683 +brif 85 L4757 L4758 +label L4757 load 86 val_r load 87 err_kind call 88 ir_ownership_ir_rc_release_reg void 2 86 87 -jmp L4682 -label L4684 -label L4682 +jmp L4756 +label L4758 +label L4756 load 89 node field 90 89 16 list children iconst 91 1 @@ -189075,8 +189517,8 @@ field 95 94 16 list children iconst 96 1 call 97 pith_list_get_value_strict int 2 95 96 call 98 ir_emitter_core_ir_string_expr_is_borrowed bool 1 97 -brif 98 L4686 L4687 -label L4686 +brif 98 L4760 L4761 +label L4760 load 99 fallback_r load 100 node field 101 100 16 list children @@ -189087,9 +189529,9 @@ call 105 ir_struct_registry_ir_rc_kind string 1 104 call 106 pith_cstring_release void 1 104 call 107 ir_ownership_ir_rc_retain_reg void 2 99 105 call 108 pith_cstring_release void 1 105 -jmp L4685 -label L4687 -label L4685 +jmp L4759 +label L4761 +label L4759 strref 109 m51s878 load 110 temp_name concat 111 109 110 @@ -189345,35 +189787,35 @@ store substituted 7 iconst 8 0 store ctor 8 iconst 9 0 -store __or_9_4691 9 +store __or_9_4765 9 iconst 10 0 -store __or_10_4691 10 +store __or_10_4765 10 load 11 bind_target strref 12 m51s20 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_4691 13 -brif 13 L4692 L4691 -label L4691 +store __or_10_4765 13 +brif 13 L4766 L4765 +label L4765 load 17 val_idx iconst 18 0 lt 19 17 18 -store __or_10_4691 19 -label L4692 -load 20 __or_10_4691 -store __or_9_4691 20 -brif 20 L4694 L4693 -label L4693 +store __or_10_4765 19 +label L4766 +load 20 __or_10_4765 +store __or_9_4765 20 +brif 20 L4768 L4767 +label L4767 load 21 type_idx iconst 22 0 lt 23 21 22 -store __or_9_4691 23 -label L4694 -load 24 __or_9_4691 -brif 24 L4689 L4690 -label L4689 +store __or_9_4765 23 +label L4768 +load 24 __or_9_4765 +brif 24 L4763 L4764 +label L4763 strref 25 m51s83 load 26 vn call 27 pith_struct_release void 1 26 @@ -189388,26 +189830,26 @@ call 35 pith_cstring_release void 1 34 load 36 ctor call 37 pith_cstring_release void 1 36 ret 25 -label L4690 -label L4688 +label L4764 +label L4762 iconst 38 0 -store __and_38_4698 38 +store __and_38_4772 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_4698 42 -brif 42 L4698 L4699 -label L4698 +store __and_38_4772 42 +brif 42 L4772 L4773 +label L4772 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_4698 46 -label L4699 -load 47 __and_38_4698 -brif 47 L4696 L4697 -label L4696 +store __and_38_4772 46 +label L4773 +load 47 __and_38_4772 +brif 47 L4770 L4771 +label L4770 strref 48 m51s83 load 49 vn call 50 pith_struct_release void 1 49 @@ -189422,15 +189864,15 @@ call 58 pith_cstring_release void 1 57 load 59 ctor call 60 pith_cstring_release void 1 59 ret 48 -label L4697 -label L4695 +label L4771 +label L4769 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_4703 65 +store __or_65_4777 65 load 66 vn field 67 66 0 string kind strref 68 m51s20 @@ -189438,19 +189880,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_4703 69 -brif 69 L4704 L4703 -label L4703 +store __or_65_4777 69 +brif 69 L4778 L4777 +label L4777 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_4703 77 -label L4704 -load 78 __or_65_4703 -brif 78 L4701 L4702 -label L4701 +store __or_65_4777 77 +label L4778 +load 78 __or_65_4777 +brif 78 L4775 L4776 +label L4775 strref 79 m51s83 load 80 vn call 81 pith_struct_release void 1 80 @@ -189465,17 +189907,17 @@ call 89 pith_cstring_release void 1 88 load 90 ctor call 91 pith_cstring_release void 1 90 ret 79 -label L4702 -label L4700 +label L4776 +label L4774 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_4708 96 +store __or_96_4782 96 iconst 97 0 -store __or_97_4708 97 +store __or_97_4782 97 load 98 tn field 99 98 0 string kind strref 100 m51s336 @@ -189483,9 +189925,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_4708 101 -brif 101 L4709 L4708 -label L4708 +store __or_97_4782 101 +brif 101 L4783 L4782 +label L4782 load 105 tn field 106 105 8 string value strref 107 m51s335 @@ -189493,22 +189935,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_4708 108 -label L4709 -load 112 __or_97_4708 -store __or_96_4708 112 -brif 112 L4711 L4710 -label L4710 +store __or_97_4782 108 +label L4783 +load 112 __or_97_4782 +store __or_96_4782 112 +brif 112 L4785 L4784 +label L4784 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_4708 117 -label L4711 -load 118 __or_96_4708 -brif 118 L4706 L4707 -label L4706 +store __or_96_4782 117 +label L4785 +load 118 __or_96_4782 +brif 118 L4780 L4781 +label L4780 strref 119 m51s83 load 120 vn call 121 pith_struct_release void 1 120 @@ -189523,8 +189965,8 @@ call 129 pith_cstring_release void 1 128 load 130 ctor call 131 pith_cstring_release void 1 130 ret 119 -label L4707 -label L4705 +label L4781 +label L4779 load 132 elem load 133 tn field 134 133 16 list children @@ -189539,8 +189981,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 L4713 L4714 -label L4713 +brif 144 L4787 L4788 +label L4787 load 145 inner load 146 tn field 147 146 16 list children @@ -189554,8 +189996,8 @@ field 153 152 0 string kind strref 154 m51s316 call 155 pith_cstring_eq bool 2 153 154 call 156 pith_cstring_release void 1 154 -brif 155 L4716 L4717 -label L4716 +brif 155 L4790 L4791 +label L4790 load 157 substituted load 158 inner field 159 158 8 string value @@ -189568,22 +190010,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 L4719 L4720 -label L4719 +brif 165 L4793 L4794 +label L4793 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 L4718 -label L4720 -label L4718 -jmp L4715 -label L4717 -label L4715 -jmp L4712 -label L4714 -label L4712 +jmp L4792 +label L4794 +label L4792 +jmp L4789 +label L4791 +label L4789 +jmp L4786 +label L4788 +label L4786 load 172 ctor load 173 elem call 174 ir_struct_registry_ir_rc_kind string 1 173 @@ -189595,8 +190037,8 @@ load 178 ctor strref 179 m51s811 call 180 pith_cstring_eq bool 2 178 179 call 181 pith_cstring_release void 1 179 -brif 180 L4722 L4723 -label L4722 +brif 180 L4796 L4797 +label L4796 strref 182 m51s83 load 183 vn call 184 pith_struct_release void 1 183 @@ -189611,8 +190053,8 @@ call 192 pith_cstring_release void 1 191 load 193 ctor call 194 pith_cstring_release void 1 193 ret 182 -label L4723 -label L4721 +label L4797 +label L4795 load 195 ctor load 196 vn call 197 pith_struct_release void 1 196 @@ -189684,37 +190126,37 @@ load 24 parts field 25 24 16 int type_idx store type_idx 25 iconst 26 0 -store __and_26_4727 26 +store __and_26_4801 26 iconst 27 0 -store __and_27_4727 27 +store __and_27_4801 27 load 28 node field 29 28 8 string value strref 30 m51s576 call 31 pith_cstring_contains bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __and_27_4727 31 -brif 31 L4727 L4728 -label L4727 +store __and_27_4801 31 +brif 31 L4801 L4802 +label L4801 load 33 name call 34 ir_emitter_core_ir_rc_local_kind string 1 33 strref 35 m51s1033 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 34 call 38 pith_cstring_release void 1 35 -store __and_27_4727 36 -label L4728 -load 39 __and_27_4727 -store __and_26_4727 39 -brif 39 L4729 L4730 -label L4729 +store __and_27_4801 36 +label L4802 +load 39 __and_27_4801 +store __and_26_4801 39 +brif 39 L4803 L4804 +label L4803 load 40 val_idx iconst 41 0 gte 42 40 41 -store __and_26_4727 42 -label L4730 -load 43 __and_26_4727 -brif 43 L4725 L4726 -label L4725 +store __and_26_4801 42 +label L4804 +load 43 __and_26_4801 +brif 43 L4799 L4800 +label L4799 call 44 ir_builder_ir_reg int 0 store old_w 44 load 45 old_w @@ -189763,49 +190205,49 @@ load 86 inferred call 87 pith_cstring_release void 1 86 iconst 88 0 ret 88 -label L4726 -label L4724 +label L4800 +label L4798 iconst 89 0 -store __and_89_4734 89 +store __and_89_4808 89 load 90 type_idx iconst 91 0 lt 92 90 91 -store __and_89_4734 92 -brif 92 L4734 L4735 -label L4734 +store __and_89_4808 92 +brif 92 L4808 L4809 +label L4808 load 93 val_idx iconst 94 0 gte 95 93 94 -store __and_89_4734 95 -label L4735 -load 96 __and_89_4734 -brif 96 L4732 L4733 -label L4732 +store __and_89_4808 95 +label L4809 +load 96 __and_89_4808 +brif 96 L4806 L4807 +label L4806 load 97 vn load 98 val_idx call 99 ast_get_node struct:Node 1 98 call 100 pith_struct_release void 1 97 store vn 99 iconst 101 0 -store __and_101_4739 101 +store __and_101_4813 101 load 102 vn field 103 102 0 string kind strref 104 m51s44 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -store __and_101_4739 105 -brif 105 L4739 L4740 -label L4739 +store __and_101_4813 105 +brif 105 L4813 L4814 +label L4813 load 107 vn field 108 107 16 list children call 109 pith_list_len int 1 108 iconst 110 0 gt 111 109 110 -store __and_101_4739 111 -label L4740 -load 112 __and_101_4739 -brif 112 L4737 L4738 -label L4737 +store __and_101_4813 111 +label L4814 +load 112 __and_101_4813 +brif 112 L4811 L4812 +label L4811 load 113 callee_n load 114 vn field 115 114 16 list children @@ -189815,24 +190257,24 @@ call 118 ast_get_node struct:Node 1 117 call 119 pith_struct_release void 1 113 store callee_n 118 iconst 120 0 -store __and_120_4744 120 +store __and_120_4818 120 load 121 callee_n field 122 121 0 string kind strref 123 m51s37 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -store __and_120_4744 124 -brif 124 L4744 L4745 -label L4744 +store __and_120_4818 124 +brif 124 L4818 L4819 +label L4818 load 126 ir_emitter_core_ir_closure_return_kinds load 127 callee_n field 128 127 8 string value call 129 contains_key bool 2 126 128 -store __and_120_4744 129 -label L4745 -load 130 __and_120_4744 -brif 130 L4742 L4743 -label L4742 +store __and_120_4818 129 +label L4819 +load 130 __and_120_4818 +brif 130 L4816 L4817 +label L4816 load 131 ir_builder_ir_var_types load 132 name load 133 ir_emitter_core_ir_closure_return_kinds @@ -189840,43 +190282,43 @@ load 134 callee_n field 135 134 8 string value call 136 map_get_strict string 2 133 135 call 137 map_insert void 3 131 132 136 -jmp L4741 -label L4743 -label L4741 -jmp L4736 -label L4738 +jmp L4815 +label L4817 +label L4815 +jmp L4810 +label L4812 iconst 138 0 -store __and_138_4748 138 +store __and_138_4822 138 iconst 139 0 -store __and_139_4748 139 +store __and_139_4822 139 load 140 vn field 141 140 0 string kind strref 142 m51s36 call 143 pith_cstring_eq bool 2 141 142 call 144 pith_cstring_release void 1 142 -store __and_139_4748 143 -brif 143 L4748 L4749 -label L4748 +store __and_139_4822 143 +brif 143 L4822 L4823 +label L4822 load 145 vn field 146 145 16 list children call 147 pith_list_len int 1 146 iconst 148 0 gt 149 147 148 -store __and_139_4748 149 -label L4749 -load 150 __and_139_4748 -store __and_138_4748 150 -brif 150 L4750 L4751 -label L4750 +store __and_139_4822 149 +label L4823 +load 150 __and_139_4822 +store __and_138_4822 150 +brif 150 L4824 L4825 +label L4824 load 151 ir_emitter_core_ir_current_impl_type call 152 string_len int 1 151 iconst 153 0 gt 154 152 153 -store __and_138_4748 154 -label L4751 -load 155 __and_138_4748 -brif 155 L4746 L4747 -label L4746 +store __and_138_4822 154 +label L4825 +load 155 __and_138_4822 +brif 155 L4820 L4821 +label L4820 load 156 recv load 157 vn field 158 157 16 list children @@ -189890,8 +190332,8 @@ field 164 163 0 string kind strref 165 m51s527 call 166 pith_cstring_eq bool 2 164 165 call 167 pith_cstring_release void 1 165 -brif 166 L4753 L4754 -label L4753 +brif 166 L4827 L4828 +label L4827 load 168 field_kind load 169 ir_emitter_core_ir_current_impl_type call 170 ir_method_tables_ir_strip_type_args string 1 169 @@ -189905,24 +190347,24 @@ load 176 field_kind call 177 string_len int 1 176 iconst 178 0 gt 179 177 178 -brif 179 L4756 L4757 -label L4756 +brif 179 L4830 L4831 +label L4830 load 180 ir_emitter_core_ir_closure_return_kinds load 181 name load 182 field_kind call 183 map_insert void 3 180 181 182 -jmp L4755 -label L4757 -label L4755 -jmp L4752 -label L4754 -label L4752 -jmp L4736 -label L4747 -label L4736 -jmp L4731 -label L4733 -label L4731 +jmp L4829 +label L4831 +label L4829 +jmp L4826 +label L4828 +label L4826 +jmp L4810 +label L4821 +label L4810 +jmp L4805 +label L4807 +label L4805 load 184 target_type strref 185 m51s83 call 186 pith_cstring_release void 1 184 @@ -189930,8 +190372,8 @@ store target_type 185 load 187 type_idx iconst 188 0 gte 189 187 188 -brif 189 L4759 L4760 -label L4759 +brif 189 L4833 L4834 +label L4833 load 190 target_type load 191 type_idx call 192 ir_alias_registry_ir_resolve_type_node string 1 191 @@ -189941,15 +190383,15 @@ load 194 target_type call 195 string_len int 1 194 iconst 196 0 gt 197 195 196 -brif 197 L4762 L4763 -label L4762 +brif 197 L4836 L4837 +label L4836 load 198 ir_builder_ir_var_types load 199 name load 200 target_type call 201 map_insert void 3 198 199 200 -jmp L4761 -label L4763 -label L4761 +jmp L4835 +label L4837 +label L4835 load 202 map_value_type load 203 type_idx call 204 ir_alias_registry_ir_resolve_map_value_type_node string 1 203 @@ -189959,23 +190401,23 @@ load 206 map_value_type call 207 string_len int 1 206 iconst 208 0 gt 209 207 208 -brif 209 L4765 L4766 -label L4765 +brif 209 L4839 L4840 +label L4839 load 210 ir_emitter_core_ir_map_value_types load 211 name load 212 map_value_type call 213 map_insert void 3 210 211 212 -jmp L4764 -label L4766 -label L4764 -jmp L4758 -label L4760 -label L4758 +jmp L4838 +label L4840 +label L4838 +jmp L4832 +label L4834 +label L4832 load 214 val_idx iconst 215 0 gte 216 214 215 -brif 216 L4768 L4769 -label L4768 +brif 216 L4842 L4843 +label L4842 load 217 bind_kind load 218 name call 219 ir_emitter_core_ir_rc_local_kind string 1 218 @@ -189991,26 +190433,26 @@ iconst 226 1 sub 227 225 226 store old_r 227 iconst 228 0 -store __and_228_4773 228 +store __and_228_4847 228 load 229 tracked -store __and_228_4773 229 -brif 229 L4773 L4774 -label L4773 +store __and_228_4847 229 +brif 229 L4847 L4848 +label L4847 load 230 bind_kind call 231 ir_ownership_ir_rc_release_enabled bool 1 230 -store __and_228_4773 231 -label L4774 -load 232 __and_228_4773 -brif 232 L4771 L4772 -label L4771 +store __and_228_4847 231 +label L4848 +load 232 __and_228_4847 +brif 232 L4845 L4846 +label L4845 call 233 ir_builder_ir_reg int 0 store old_r 233 load 234 old_r load 235 name call 236 ir_emitter_core_ir_emit_name_load void 2 234 235 -jmp L4770 -label L4772 -label L4770 +jmp L4844 +label L4846 +label L4844 load 237 bind_target load 238 name load 239 target_type @@ -190032,8 +190474,8 @@ load 251 annot_ctor call 252 string_len int 1 251 iconst 253 0 gt 254 252 253 -brif 254 L4776 L4777 -label L4776 +brif 254 L4850 L4851 +label L4850 call 255 ir_builder_ir_reg int 0 store r 255 load 256 r @@ -190041,66 +190483,66 @@ load 257 annot_ctor strref 258 m51s20 call 259 ir_call_emit_ir_emit_call0 void 3 256 257 258 call 260 pith_cstring_release void 1 258 -jmp L4775 -label L4777 -label L4775 +jmp L4849 +label L4851 +label L4849 load 261 r iconst 262 0 lt 263 261 262 -brif 263 L4779 L4780 -label L4779 +brif 263 L4853 L4854 +label L4853 load 264 val_idx load 265 bind_target call 266 ir_emitter_core_ir_emit_value_for_target int 2 264 265 store r 266 -jmp L4778 -label L4780 -label L4778 +jmp L4852 +label L4854 +label L4852 iconst 267 0 -store __and_267_4784 267 +store __and_267_4858 267 iconst 268 0 -store __and_268_4784 268 +store __and_268_4858 268 load 269 tracked -store __and_268_4784 269 -brif 269 L4784 L4785 -label L4784 +store __and_268_4858 269 +brif 269 L4858 L4859 +label L4858 load 270 bind_target strref 271 m51s23 call 273 pith_cstring_eq bool 2 270 271 iconst 274 1 sub 272 274 273 call 275 pith_cstring_release void 1 271 -store __and_268_4784 272 -label L4785 -load 276 __and_268_4784 -store __and_267_4784 276 -brif 276 L4786 L4787 -label L4786 +store __and_268_4858 272 +label L4859 +load 276 __and_268_4858 +store __and_267_4858 276 +brif 276 L4860 L4861 +label L4860 load 277 val_idx call 278 ir_emitter_core_ir_string_expr_is_borrowed bool 1 277 -store __and_267_4784 278 -label L4787 -load 279 __and_267_4784 -brif 279 L4782 L4783 -label L4782 +store __and_267_4858 278 +label L4861 +load 279 __and_267_4858 +brif 279 L4856 L4857 +label L4856 load 280 r load 281 bind_kind call 282 ir_ownership_ir_rc_retain_reg void 2 280 281 -jmp L4781 -label L4783 -label L4781 +jmp L4855 +label L4857 +label L4855 load 283 old_r iconst 284 0 gte 285 283 284 -brif 285 L4789 L4790 -label L4789 +brif 285 L4863 L4864 +label L4863 load 286 old_r load 287 bind_kind load 288 name call 289 ir_emitter_core_ir_rc_release_local void 3 286 287 288 -jmp L4788 -label L4790 -label L4788 +jmp L4862 +label L4864 +label L4862 load 290 ir_builder_ir_var_regs load 291 name load 292 r @@ -190113,8 +190555,8 @@ load 298 name call 299 contains_key bool 2 297 298 iconst 301 1 sub 300 301 299 -brif 300 L4792 L4793 -label L4792 +brif 300 L4866 L4867 +label L4866 load 302 inferred load 303 val_idx call 304 ir_emitter_core_ir_infer_type string 1 303 @@ -190124,21 +190566,21 @@ load 306 inferred call 307 string_len int 1 306 iconst 308 0 gt 309 307 308 -brif 309 L4795 L4796 -label L4795 +brif 309 L4869 L4870 +label L4869 load 310 ir_builder_ir_var_types load 311 name load 312 inferred call 313 map_insert void 3 310 311 312 -jmp L4794 -label L4796 -label L4794 -jmp L4791 -label L4793 -label L4791 -jmp L4767 -label L4769 -label L4767 +jmp L4868 +label L4870 +label L4868 +jmp L4865 +label L4867 +label L4865 +jmp L4841 +label L4843 +label L4841 load 314 parts call 315 pith_struct_release void 1 314 load 316 name @@ -190185,8 +190627,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 gte 13 11 12 -brif 13 L4798 L4799 -label L4798 +brif 13 L4872 L4873 +label L4872 load 14 node field 15 14 16 list children iconst 16 0 @@ -190196,8 +190638,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 L4801 L4802 -label L4801 +brif 22 L4875 L4876 +label L4875 load 23 name call 24 pith_cstring_release void 1 23 load 25 legacy_kind @@ -190206,18 +190648,18 @@ load 27 legacy_target call 28 pith_cstring_release void 1 27 iconst 29 0 ret 29 -label L4802 -label L4800 -jmp L4797 -label L4799 -label L4797 +label L4876 +label L4874 +jmp L4871 +label L4873 +label L4871 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 L4804 L4805 -label L4804 +brif 34 L4878 L4879 +label L4878 load 35 legacy_kind load 36 name call 37 ir_emitter_core_ir_lookup_name_type string 1 36 @@ -190237,82 +190679,82 @@ iconst 48 1 sub 49 47 48 store old_r 49 iconst 50 0 -store __and_50_4809 50 +store __and_50_4883 50 load 51 legacy_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -store __and_50_4809 54 -brif 54 L4809 L4810 -label L4809 +store __and_50_4883 54 +brif 54 L4883 L4884 +label L4883 load 55 legacy_kind call 56 ir_ownership_ir_rc_release_enabled bool 1 55 -store __and_50_4809 56 -label L4810 -load 57 __and_50_4809 -brif 57 L4807 L4808 -label L4807 +store __and_50_4883 56 +label L4884 +load 57 __and_50_4883 +brif 57 L4881 L4882 +label L4881 iconst 58 0 -store __or_58_4814 58 +store __or_58_4888 58 load 59 tracked -store __or_58_4814 59 -brif 59 L4815 L4814 -label L4814 +store __or_58_4888 59 +brif 59 L4889 L4888 +label L4888 iconst 60 0 -store __and_60_4816 60 +store __and_60_4890 60 load 61 legacy_kind strref 62 m51s716 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __and_60_4816 63 -brif 63 L4816 L4817 -label L4816 +store __and_60_4890 63 +brif 63 L4890 L4891 +label L4890 load 65 ir_alias_registry_ir_global_string_names load 66 name iconst 67 -1 -store __list_index_result_L4818 67 +store __list_index_result_L4892 67 iconst 68 0 -store __list_index_i_L4819 68 +store __list_index_i_L4893 68 call 69 pith_list_len int 1 65 -label L4820 -load 70 __list_index_i_L4819 +label L4894 +load 70 __list_index_i_L4893 lt 71 70 69 -brif 71 L4821 L4824 -label L4821 +brif 71 L4895 L4898 +label L4895 call 72 pith_list_get_value string 2 65 70 call 73 pith_cstring_eq bool 2 72 66 -brif 73 L4822 L4823 -label L4822 -store __list_index_result_L4818 70 -jmp L4824 -label L4823 +brif 73 L4896 L4897 +label L4896 +store __list_index_result_L4892 70 +jmp L4898 +label L4897 iconst 74 1 add 75 70 74 -store __list_index_i_L4819 75 -jmp L4820 -label L4824 -load 76 __list_index_result_L4818 +store __list_index_i_L4893 75 +jmp L4894 +label L4898 +load 76 __list_index_result_L4892 iconst 77 0 gte 78 76 77 -store __and_60_4816 78 -label L4817 -load 79 __and_60_4816 -store __or_58_4814 79 -label L4815 -load 80 __or_58_4814 -brif 80 L4812 L4813 -label L4812 +store __and_60_4890 78 +label L4891 +load 79 __and_60_4890 +store __or_58_4888 79 +label L4889 +load 80 __or_58_4888 +brif 80 L4886 L4887 +label L4886 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 L4811 -label L4813 -label L4811 -jmp L4806 -label L4808 -label L4806 +jmp L4885 +label L4887 +label L4885 +jmp L4880 +label L4882 +label L4880 load 85 legacy_target load 86 name load 87 name @@ -190329,56 +190771,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_4828 98 +store __and_98_4902 98 iconst 99 0 -store __and_99_4828 99 +store __and_99_4902 99 load 100 legacy_kind call 101 string_len int 1 100 iconst 102 0 gt 103 101 102 -store __and_99_4828 103 -brif 103 L4828 L4829 -label L4828 +store __and_99_4902 103 +brif 103 L4902 L4903 +label L4902 load 104 legacy_target strref 105 m51s23 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_4828 106 -label L4829 -load 110 __and_99_4828 -store __and_98_4828 110 -brif 110 L4830 L4831 -label L4830 +store __and_99_4902 106 +label L4903 +load 110 __and_99_4902 +store __and_98_4902 110 +brif 110 L4904 L4905 +label L4904 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_4828 115 -label L4831 -load 116 __and_98_4828 -brif 116 L4826 L4827 -label L4826 +store __and_98_4902 115 +label L4905 +load 116 __and_98_4902 +brif 116 L4900 L4901 +label L4900 load 117 r load 118 legacy_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L4825 -label L4827 -label L4825 +jmp L4899 +label L4901 +label L4899 load 120 old_r iconst 121 0 gte 122 120 121 -brif 122 L4833 L4834 -label L4833 +brif 122 L4907 L4908 +label L4907 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 L4832 -label L4834 -label L4832 +jmp L4906 +label L4908 +label L4906 load 127 ir_builder_ir_var_regs load 128 name load 129 r @@ -190386,9 +190828,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 L4803 -label L4805 -label L4803 +jmp L4877 +label L4879 +label L4877 load 134 name call 135 pith_cstring_release void 1 134 load 136 legacy_kind @@ -190418,8 +190860,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 L4836 L4837 -label L4836 +brif 13 L4910 L4911 +label L4910 load 14 direct load 15 recv_type call 16 pith_cstring_release void 1 15 @@ -190428,8 +190870,8 @@ call 18 pith_cstring_release void 1 17 load 19 base_key call 20 pith_cstring_release void 1 19 ret 14 -label L4837 -label L4835 +label L4911 +label L4909 load 21 recv_type load 22 recv_idx call 23 ir_emitter_core_ir_field_receiver_type string 1 22 @@ -190445,8 +190887,8 @@ load 30 recv_type call 32 pith_cstring_eq bool 2 29 30 iconst 33 1 sub 31 33 32 -brif 31 L4839 L4840 -label L4839 +brif 31 L4913 L4914 +label L4913 load 34 base_key load 35 base strref 36 m51s26 @@ -190460,8 +190902,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 L4842 L4843 -label L4842 +brif 45 L4916 L4917 +label L4916 load 46 base_key load 47 direct call 48 pith_cstring_release void 1 47 @@ -190470,11 +190912,11 @@ call 50 pith_cstring_release void 1 49 load 51 base call 52 pith_cstring_release void 1 51 ret 46 -label L4843 -label L4841 -jmp L4838 -label L4840 -label L4838 +label L4917 +label L4915 +jmp L4912 +label L4914 +label L4912 strref 53 m51s83 load 54 direct call 55 pith_cstring_release void 1 54 @@ -190517,7 +190959,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_4847 12 +store __or_12_4921 12 load 13 target field 14 13 0 string kind strref 15 m51s36 @@ -190525,19 +190967,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_4847 16 -brif 16 L4848 L4847 -label L4847 +store __or_12_4921 16 +brif 16 L4922 L4921 +label L4921 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_4847 24 -label L4848 -load 25 __or_12_4847 -brif 25 L4845 L4846 -label L4845 +store __or_12_4921 24 +label L4922 +load 25 __or_12_4921 +brif 25 L4919 L4920 +label L4919 iconst 26 0 load 27 target call 28 pith_struct_release void 1 27 @@ -190552,8 +190994,8 @@ call 36 pith_cstring_release void 1 35 load 37 weak_struct call 38 pith_cstring_release void 1 37 ret 26 -label L4846 -label L4844 +label L4920 +label L4918 load 39 fname load 40 target_idx call 41 ast_node_value string 1 40 @@ -190574,8 +191016,8 @@ load 52 lookup_key call 53 string_len int 1 52 iconst 54 0 eq 55 53 54 -brif 55 L4850 L4851 -label L4850 +brif 55 L4924 L4925 +label L4924 iconst 56 0 load 57 target call 58 pith_struct_release void 1 57 @@ -190590,8 +191032,8 @@ call 66 pith_cstring_release void 1 65 load 67 weak_struct call 68 pith_cstring_release void 1 67 ret 56 -label L4851 -label L4849 +label L4925 +label L4923 load 69 ir_struct_registry_ir_struct_field_index_lookup load 70 lookup_key call 71 map_get_strict string 2 69 70 @@ -190610,16 +191052,16 @@ load 80 value_type call 81 string_len int 1 80 iconst 82 0 eq 83 81 82 -brif 83 L4853 L4854 -label L4853 +brif 83 L4927 L4928 +label L4927 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 L4852 -label L4854 -label L4852 +jmp L4926 +label L4928 +label L4926 load 88 fassign_kind load 89 value_type call 90 ir_struct_registry_ir_rc_kind string 1 89 @@ -190641,8 +191083,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 L4856 L4857 -label L4856 +brif 106 L4930 L4931 +label L4930 call 107 ir_builder_ir_reg int 0 store old_w 107 load 108 old_w @@ -190713,28 +191155,28 @@ call 170 pith_cstring_release void 1 169 load 171 weak_struct call 172 pith_cstring_release void 1 171 ret 160 -label L4857 -label L4855 +label L4931 +label L4929 iconst 173 0 iconst 174 1 sub 175 173 174 store old_r 175 iconst 176 0 -store __and_176_4861 176 +store __and_176_4935 176 load 177 fassign_kind call 178 string_len int 1 177 iconst 179 0 gt 180 178 179 -store __and_176_4861 180 -brif 180 L4861 L4862 -label L4861 +store __and_176_4935 180 +brif 180 L4935 L4936 +label L4935 load 181 fassign_kind call 182 ir_ownership_ir_rc_release_enabled bool 1 181 -store __and_176_4861 182 -label L4862 -load 183 __and_176_4861 -brif 183 L4859 L4860 -label L4859 +store __and_176_4935 182 +label L4936 +load 183 __and_176_4935 +brif 183 L4933 L4934 +label L4933 call 184 ir_builder_ir_reg int 0 store old_r 184 load 185 old_r @@ -190743,49 +191185,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 L4858 -label L4860 -label L4858 +jmp L4932 +label L4934 +label L4932 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_4866 194 +store __and_194_4940 194 iconst 195 0 -store __and_195_4866 195 +store __and_195_4940 195 load 196 fassign_kind call 197 string_len int 1 196 iconst 198 0 gt 199 197 198 -store __and_195_4866 199 -brif 199 L4866 L4867 -label L4866 +store __and_195_4940 199 +brif 199 L4940 L4941 +label L4940 load 200 fassign_kind strref 201 m51s23 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_4866 202 -label L4867 -load 206 __and_195_4866 -store __and_194_4866 206 -brif 206 L4868 L4869 -label L4868 +store __and_195_4940 202 +label L4941 +load 206 __and_195_4940 +store __and_194_4940 206 +brif 206 L4942 L4943 +label L4942 load 207 value_idx call 208 ir_emitter_core_ir_string_expr_is_borrowed bool 1 207 -store __and_194_4866 208 -label L4869 -load 209 __and_194_4866 -brif 209 L4864 L4865 -label L4864 +store __and_194_4940 208 +label L4943 +load 209 __and_194_4940 +brif 209 L4938 L4939 +label L4938 load 210 value_r load 211 fassign_kind call 212 ir_ownership_ir_rc_retain_reg void 2 210 211 -jmp L4863 -label L4865 -label L4863 +jmp L4937 +label L4939 +label L4937 strref 213 m51s1094 load 214 obj_r call 215 int_to_string string 1 214 @@ -190815,14 +191257,14 @@ call 238 pith_cstring_release void 1 234 load 239 old_r iconst 240 0 gte 241 239 240 -brif 241 L4871 L4872 -label L4871 +brif 241 L4945 L4946 +label L4945 load 242 old_r load 243 fassign_kind call 244 ir_ownership_ir_rc_release_reg void 2 242 243 -jmp L4870 -label L4872 -label L4870 +jmp L4944 +label L4946 +label L4944 iconst 245 1 load 246 target call 247 pith_struct_release void 1 246 @@ -190868,7 +191310,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_4876 10 +store __or_10_4950 10 load 11 target field 12 11 0 string kind strref 13 m51s36 @@ -190876,19 +191318,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_4876 14 -brif 14 L4877 L4876 -label L4876 +store __or_10_4950 14 +brif 14 L4951 L4950 +label L4950 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_4876 22 -label L4877 -load 23 __or_10_4876 -brif 23 L4874 L4875 -label L4874 +store __or_10_4950 22 +label L4951 +load 23 __or_10_4950 +brif 23 L4948 L4949 +label L4948 iconst 24 0 load 25 target call 26 pith_struct_release void 1 25 @@ -190897,8 +191339,8 @@ call 28 pith_cstring_release void 1 27 load 29 lookup_key call 30 pith_cstring_release void 1 29 ret 24 -label L4875 -label L4873 +label L4949 +label L4947 load 31 fname load 32 target_idx call 33 ast_node_value string 1 32 @@ -190919,8 +191361,8 @@ load 44 lookup_key call 45 string_len int 1 44 iconst 46 0 eq 47 45 46 -brif 47 L4879 L4880 -label L4879 +brif 47 L4953 L4954 +label L4953 iconst 48 0 load 49 target call 50 pith_struct_release void 1 49 @@ -190929,8 +191371,8 @@ call 52 pith_cstring_release void 1 51 load 53 lookup_key call 54 pith_cstring_release void 1 53 ret 48 -label L4880 -label L4878 +label L4954 +label L4952 load 55 ir_struct_registry_ir_struct_field_index_lookup load 56 lookup_key call 57 map_get_strict string 2 55 56 @@ -191026,24 +191468,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_4884 13 +store __and_13_4958 13 load 14 op strref 15 m51s562 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __and_13_4884 16 -brif 16 L4884 L4885 -label L4884 +store __and_13_4958 16 +brif 16 L4958 L4959 +label L4958 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_4884 22 -label L4885 -load 23 __and_13_4884 -brif 23 L4882 L4883 -label L4882 +store __and_13_4958 22 +label L4959 +load 23 __and_13_4958 +brif 23 L4956 L4957 +label L4956 load 24 node field 25 24 16 list children iconst 26 0 @@ -191053,8 +191495,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 L4887 L4888 -label L4887 +brif 32 L4961 L4962 +label L4961 load 33 op call 34 pith_cstring_release void 1 33 load 35 tn @@ -191071,8 +191513,8 @@ load 45 compound_op call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L4888 -label L4886 +label L4962 +label L4960 load 48 node field 49 48 16 list children iconst 50 0 @@ -191082,8 +191524,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 L4890 L4891 -label L4890 +brif 56 L4964 L4965 +label L4964 load 57 op call 58 pith_cstring_release void 1 57 load 59 tn @@ -191100,8 +191542,8 @@ load 69 compound_op call 70 pith_cstring_release void 1 69 iconst 71 0 ret 71 -label L4891 -label L4889 +label L4965 +label L4963 load 72 tn load 73 node field 74 73 16 list children @@ -191134,8 +191576,8 @@ load 96 assign_kind call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L4893 L4894 -label L4893 +brif 99 L4967 L4968 +label L4967 load 100 assign_kind load 101 name call 102 ir_emitter_core_ir_lookup_name_type string 1 101 @@ -191143,9 +191585,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 L4892 -label L4894 -label L4892 +jmp L4966 +label L4968 +label L4966 load 106 name call 107 ir_emitter_core_ir_rc_local_kind string 1 106 call 108 string_len int 1 107 @@ -191158,82 +191600,82 @@ iconst 113 1 sub 114 112 113 store old_r 114 iconst 115 0 -store __and_115_4898 115 +store __and_115_4972 115 load 116 assign_kind call 117 string_len int 1 116 iconst 118 0 gt 119 117 118 -store __and_115_4898 119 -brif 119 L4898 L4899 -label L4898 +store __and_115_4972 119 +brif 119 L4972 L4973 +label L4972 load 120 assign_kind call 121 ir_ownership_ir_rc_release_enabled bool 1 120 -store __and_115_4898 121 -label L4899 -load 122 __and_115_4898 -brif 122 L4896 L4897 -label L4896 +store __and_115_4972 121 +label L4973 +load 122 __and_115_4972 +brif 122 L4970 L4971 +label L4970 iconst 123 0 -store __or_123_4903 123 +store __or_123_4977 123 load 124 tracked -store __or_123_4903 124 -brif 124 L4904 L4903 -label L4903 +store __or_123_4977 124 +brif 124 L4978 L4977 +label L4977 iconst 125 0 -store __and_125_4905 125 +store __and_125_4979 125 load 126 assign_kind strref 127 m51s716 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __and_125_4905 128 -brif 128 L4905 L4906 -label L4905 +store __and_125_4979 128 +brif 128 L4979 L4980 +label L4979 load 130 ir_alias_registry_ir_global_string_names load 131 name iconst 132 -1 -store __list_index_result_L4907 132 +store __list_index_result_L4981 132 iconst 133 0 -store __list_index_i_L4908 133 +store __list_index_i_L4982 133 call 134 pith_list_len int 1 130 -label L4909 -load 135 __list_index_i_L4908 +label L4983 +load 135 __list_index_i_L4982 lt 136 135 134 -brif 136 L4910 L4913 -label L4910 +brif 136 L4984 L4987 +label L4984 call 137 pith_list_get_value string 2 130 135 call 138 pith_cstring_eq bool 2 137 131 -brif 138 L4911 L4912 -label L4911 -store __list_index_result_L4907 135 -jmp L4913 -label L4912 +brif 138 L4985 L4986 +label L4985 +store __list_index_result_L4981 135 +jmp L4987 +label L4986 iconst 139 1 add 140 135 139 -store __list_index_i_L4908 140 -jmp L4909 -label L4913 -load 141 __list_index_result_L4907 +store __list_index_i_L4982 140 +jmp L4983 +label L4987 +load 141 __list_index_result_L4981 iconst 142 0 gte 143 141 142 -store __and_125_4905 143 -label L4906 -load 144 __and_125_4905 -store __or_123_4903 144 -label L4904 -load 145 __or_123_4903 -brif 145 L4901 L4902 -label L4901 +store __and_125_4979 143 +label L4980 +load 144 __and_125_4979 +store __or_123_4977 144 +label L4978 +load 145 __or_123_4977 +brif 145 L4975 L4976 +label L4975 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 L4900 -label L4902 -label L4900 -jmp L4895 -label L4897 -label L4895 +jmp L4974 +label L4976 +label L4974 +jmp L4969 +label L4971 +label L4969 load 150 assign_target load 151 name load 152 target_type @@ -191248,55 +191690,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_4917 161 +store __and_161_4991 161 iconst 162 0 -store __and_162_4917 162 +store __and_162_4991 162 load 163 assign_kind call 164 string_len int 1 163 iconst 165 0 gt 166 164 165 -store __and_162_4917 166 -brif 166 L4917 L4918 -label L4917 +store __and_162_4991 166 +brif 166 L4991 L4992 +label L4991 load 167 assign_target strref 168 m51s23 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_4917 169 -label L4918 -load 173 __and_162_4917 -store __and_161_4917 173 -brif 173 L4919 L4920 -label L4919 +store __and_162_4991 169 +label L4992 +load 173 __and_162_4991 +store __and_161_4991 173 +brif 173 L4993 L4994 +label L4993 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_4917 178 -label L4920 -load 179 __and_161_4917 -brif 179 L4915 L4916 -label L4915 +store __and_161_4991 178 +label L4994 +load 179 __and_161_4991 +brif 179 L4989 L4990 +label L4989 load 180 r load 181 assign_kind call 182 ir_ownership_ir_rc_retain_reg void 2 180 181 -jmp L4914 -label L4916 -label L4914 +jmp L4988 +label L4990 +label L4988 load 183 old_r iconst 184 0 gte 185 183 184 -brif 185 L4922 L4923 -label L4922 +brif 185 L4996 L4997 +label L4996 load 186 old_r load 187 assign_kind call 188 ir_ownership_ir_rc_release_reg void 2 186 187 -jmp L4921 -label L4923 -label L4921 +jmp L4995 +label L4997 +label L4995 load 189 name load 190 r call 191 ir_emitter_core_ir_emit_name_store void 2 189 190 @@ -191316,32 +191758,32 @@ load 204 compound_op call 205 pith_cstring_release void 1 204 iconst 206 0 ret 206 -label L4883 -label L4881 +label L4957 +label L4955 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_4927 211 +store __and_211_5001 211 load 212 compound_op call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -store __and_211_4927 215 -brif 215 L4927 L4928 -label L4927 +store __and_211_5001 215 +brif 215 L5001 L5002 +label L5001 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_4927 220 -label L4928 -load 221 __and_211_4927 -brif 221 L4925 L4926 -label L4925 +store __and_211_5001 220 +label L5002 +load 221 __and_211_5001 +brif 221 L4999 L5000 +label L4999 load 222 node field 223 222 16 list children iconst 224 0 @@ -191352,8 +191794,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 L4930 L4931 -label L4930 +brif 231 L5004 L5005 +label L5004 load 232 op call 233 pith_cstring_release void 1 232 load 234 tn @@ -191370,8 +191812,8 @@ load 244 compound_op call 245 pith_cstring_release void 1 244 iconst 246 0 ret 246 -label L4931 -label L4929 +label L5005 +label L5003 load 247 tn load 248 node field 249 248 16 list children @@ -191407,9 +191849,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 L4924 -label L4926 -label L4924 +jmp L4998 +label L5000 +label L4998 load 277 op call 278 pith_cstring_release void 1 277 load 279 tn @@ -191436,8 +191878,8 @@ load 4 branch field 5 4 0 int cond_idx iconst 6 0 gte 7 5 6 -brif 7 L4933 L4934 -label L4933 +brif 7 L5007 L5008 +label L5007 load 8 branch field 9 8 0 int cond_idx call 10 ir_emitter_core_ir_expr int 1 9 @@ -191464,9 +191906,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 L4932 -label L4934 -label L4932 +jmp L5006 +label L5008 +label L5006 load 33 then_label call 34 ir_call_emit_ir_emit_label void 1 33 iconst 35 0 @@ -191475,28 +191917,28 @@ load 36 branch field 37 36 8 int body_idx iconst 38 0 gte 39 37 38 -brif 39 L4936 L4937 -label L4936 +brif 39 L5010 L5011 +label L5010 load 40 branch field 41 40 8 int body_idx call 42 ir_emitter_core_ir_block int 1 41 -jmp L4935 -label L4937 -label L4935 +jmp L5009 +label L5011 +label L5009 load 43 ir_call_emit_ir_last_was_ret iconst 45 1 sub 44 45 43 -brif 44 L4939 L4940 -label L4939 +brif 44 L5013 L5014 +label L5013 strref 46 m51s881 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 L4938 -label L4940 -label L4938 +jmp L5012 +label L5014 +label L5012 load 52 next_label call 53 ir_call_emit_ir_emit_label void 1 52 iconst 54 0 @@ -191570,8 +192012,8 @@ load 58 index_name call 59 string_len int 1 58 iconst 60 0 gt 61 59 60 -brif 61 L4942 L4943 -label L4942 +brif 61 L5016 L5017 +label L5016 call 62 ir_builder_ir_reg int 0 store idx_val 62 strref 63 m51s877 @@ -191596,9 +192038,9 @@ load 81 ir_builder_ir_var_types load 82 index_name strref 83 m51s712 call 84 pith_map_insert_cstr_owned void 3 81 82 83 -jmp L4941 -label L4943 -label L4941 +jmp L5015 +label L5017 +label L5015 load 85 item_ret_kind call 86 pith_cstring_release void 1 85 iconst 87 0 @@ -191627,66 +192069,66 @@ load 13 kind strref 14 m51s583 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L4945 L4946 -label L4945 +brif 15 L5019 L5020 +label L5019 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 L4948 L4949 -label L4948 +brif 21 L5022 L5023 +label L5022 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 L4947 -label L4949 -label L4947 +jmp L5021 +label L5023 +label L5021 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 L4946 -label L4944 +label L5020 +label L5018 load 33 kind strref 34 m51s582 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L4951 L4952 -label L4951 +brif 35 L5025 L5026 +label L5025 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 L4954 L4955 -label L4954 +brif 41 L5028 L5029 +label L5028 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 L4953 -label L4955 -label L4953 +jmp L5027 +label L5029 +label L5027 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 L4952 -label L4950 +label L5026 +label L5024 load 53 kind call 54 ir_control_helpers_ir_stmt_is_expr bool 1 53 -brif 54 L4957 L4958 -label L4957 +brif 54 L5031 L5032 +label L5031 load 55 idx call 56 ir_emitter_core_ir_expr int 1 55 store r 56 @@ -191694,8 +192136,8 @@ load 57 kind strref 58 m51s510 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -brif 59 L4960 L4961 -label L4960 +brif 59 L5034 L5035 +label L5034 call 61 ir_builder_ir_reg int 0 strref 62 m51s692 strref 63 m51s876 @@ -191709,48 +192151,48 @@ load 70 kind call 71 pith_cstring_release void 1 70 iconst 72 0 ret 72 -label L4961 -label L4959 +label L5035 +label L5033 iconst 73 0 -store __or_73_4965 73 +store __or_73_5039 73 load 74 kind strref 75 m51s44 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -store __or_73_4965 76 -brif 76 L4966 L4965 -label L4965 +store __or_73_5039 76 +brif 76 L5040 L5039 +label L5039 load 78 kind strref 79 m51s130 call 80 pith_cstring_eq bool 2 78 79 call 81 pith_cstring_release void 1 79 -store __or_73_4965 80 -label L4966 -load 82 __or_73_4965 -brif 82 L4963 L4964 -label L4963 +store __or_73_5039 80 +label L5040 +load 82 __or_73_5039 +brif 82 L5037 L5038 +label L5037 load 83 idx call 84 checker_c_get_expr_type int 1 83 store stmt_tid 84 iconst 85 0 -store __and_85_4970 85 +store __and_85_5044 85 load 86 stmt_tid iconst 87 0 gte 88 86 87 -store __and_85_4970 88 -brif 88 L4970 L4971 -label L4970 +store __and_85_5044 88 +brif 88 L5044 L5045 +label L5044 load 89 stmt_tid call 90 types_get_type_info struct:TypeInfo 1 89 field 91 90 0 string kind strref 92 m51s22 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -store __and_85_4970 93 -label L4971 -load 95 __and_85_4970 -brif 95 L4968 L4969 -label L4968 +store __and_85_5044 93 +label L5045 +load 95 __and_85_5044 +brif 95 L5042 L5043 +label L5042 load 96 r load 97 stmt_tid call 98 ir_emitter_core_ir_emit_discard_result void 2 96 97 @@ -191760,50 +192202,50 @@ load 101 kind call 102 pith_cstring_release void 1 101 iconst 103 0 ret 103 -label L4969 -label L4967 -jmp L4962 -label L4964 -label L4962 +label L5043 +label L5041 +jmp L5036 +label L5038 +label L5036 iconst 104 0 -store __and_104_4975 104 +store __and_104_5049 104 load 105 idx call 106 ir_emitter_core_ir_infer_type string 1 105 strref 107 m51s716 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_104_4975 108 -brif 108 L4975 L4976 -label L4975 +store __and_104_5049 108 +brif 108 L5049 L5050 +label L5049 load 111 idx call 112 ir_emitter_core_ir_string_expr_is_borrowed bool 1 111 iconst 114 1 sub 113 114 112 -store __and_104_4975 113 -label L4976 -load 115 __and_104_4975 -brif 115 L4973 L4974 -label L4973 +store __and_104_5049 113 +label L5050 +load 115 __and_104_5049 +brif 115 L5047 L5048 +label L5047 load 116 r call 117 ir_ownership_ir_string_release_reg void 1 116 -jmp L4972 -label L4974 -label L4972 +jmp L5046 +label L5048 +label L5046 load 118 node call 119 pith_struct_release void 1 118 load 120 kind call 121 pith_cstring_release void 1 120 iconst 122 0 ret 122 -label L4958 -label L4956 +label L5032 +label L5030 load 123 kind strref 124 m51s65 call 125 pith_cstring_eq bool 2 123 124 call 126 pith_cstring_release void 1 124 -brif 125 L4978 L4979 -label L4978 +brif 125 L5052 L5053 +label L5052 load 127 idx call 128 ir_emitter_core_ir_block int 1 127 load 129 node @@ -191812,14 +192254,14 @@ load 131 kind call 132 pith_cstring_release void 1 131 iconst 133 0 ret 133 -label L4979 -label L4977 +label L5053 +label L5051 load 134 kind strref 135 m51s149 call 136 pith_cstring_eq bool 2 134 135 call 137 pith_cstring_release void 1 135 -brif 136 L4981 L4982 -label L4981 +brif 136 L5055 L5056 +label L5055 load 138 node call 139 ir_emitter_core_ir_emit_return_stmt void 1 138 load 140 node @@ -191828,26 +192270,26 @@ load 142 kind call 143 pith_cstring_release void 1 142 iconst 144 0 ret 144 -label L4982 -label L4980 +label L5056 +label L5054 iconst 145 0 -store __or_145_4986 145 +store __or_145_5060 145 load 146 kind strref 147 m51s580 call 148 pith_cstring_eq bool 2 146 147 call 149 pith_cstring_release void 1 147 -store __or_145_4986 148 -brif 148 L4987 L4986 -label L4986 +store __or_145_5060 148 +brif 148 L5061 L5060 +label L5060 load 150 kind strref 151 m51s581 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -store __or_145_4986 152 -label L4987 -load 154 __or_145_4986 -brif 154 L4984 L4985 -label L4984 +store __or_145_5060 152 +label L5061 +load 154 __or_145_5060 +brif 154 L5058 L5059 +label L5058 load 155 node call 156 ir_emitter_core_ir_emit_bind_stmt void 1 155 load 157 node @@ -191856,14 +192298,14 @@ load 159 kind call 160 pith_cstring_release void 1 159 iconst 161 0 ret 161 -label L4985 -label L4983 +label L5059 +label L5057 load 162 kind strref 163 m51s1256 call 164 pith_cstring_eq bool 2 162 163 call 165 pith_cstring_release void 1 163 -brif 164 L4989 L4990 -label L4989 +brif 164 L5063 L5064 +label L5063 load 166 node call 167 ir_emitter_core_ir_emit_assign_stmt void 1 166 load 168 node @@ -191872,14 +192314,14 @@ load 170 kind call 171 pith_cstring_release void 1 170 iconst 172 0 ret 172 -label L4990 -label L4988 +label L5064 +label L5062 load 173 kind strref 174 m51s599 call 175 pith_cstring_eq bool 2 173 174 call 176 pith_cstring_release void 1 174 -brif 175 L4992 L4993 -label L4992 +brif 175 L5066 L5067 +label L5066 load 177 node call 178 ir_emitter_core_ir_emit_compound_assignment void 1 177 load 179 node @@ -191888,8 +192330,8 @@ load 181 kind call 182 pith_cstring_release void 1 181 iconst 183 0 ret 183 -label L4993 -label L4991 +label L5067 +label L5065 load 184 idx load 185 node call 186 ir_emitter_core_ir_stmt_control void 2 184 185 @@ -191931,12 +192373,12 @@ iconst 17 0 store __for_idx_406 17 store __for_len_406 16 store __for_iter_406 15 -label L4994 +label L5068 load 18 __for_idx_406 load 19 __for_len_406 lt 20 18 19 -brif 20 L4995 L4997 -label L4995 +brif 20 L5069 L5071 +label L5069 load 21 __for_iter_406 load 22 __for_idx_406 call 23 pith_list_get_value unknown 2 21 22 @@ -191951,32 +192393,32 @@ field 29 28 0 string kind strref 30 m51s545 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L4999 L5000 -label L4999 +brif 31 L5073 L5074 +label L5073 load 33 elif_indices load 34 __loopvar_406_child call 35 pith_list_push_value void 2 33 34 -jmp L4998 -label L5000 +jmp L5072 +label L5074 load 36 cn field 37 36 0 string kind strref 38 m51s543 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L5001 L5002 -label L5001 +brif 39 L5075 L5076 +label L5075 load 41 __loopvar_406_child store else_idx 41 -jmp L4998 -label L5002 -label L4998 -label L4996 +jmp L5072 +label L5076 +label L5072 +label L5070 load 42 __for_idx_406 iconst 43 1 add 44 42 43 store __for_idx_406 44 -jmp L4994 -label L4997 +jmp L5068 +label L5071 load 45 main_branch load 46 node call 47 ir_control_helpers_ir_collect_if_branch struct:IrIfBranch 1 46 @@ -192005,12 +192447,12 @@ iconst 65 0 store __for_idx_407 65 store __for_len_407 64 store __for_iter_407 63 -label L5003 +label L5077 load 66 __for_idx_407 load 67 __for_len_407 lt 68 66 67 -brif 68 L5004 L5006 -label L5004 +brif 68 L5078 L5080 +label L5078 load 69 __for_iter_407 load 70 __for_idx_407 call 71 pith_list_get_value unknown 2 69 70 @@ -192029,23 +192471,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 L5005 +label L5079 load 85 __for_idx_407 iconst 86 1 add 87 85 86 store __for_idx_407 87 -jmp L5003 -label L5006 +jmp L5077 +label L5080 load 88 else_idx iconst 89 0 gte 90 88 89 -brif 90 L5008 L5009 -label L5008 +brif 90 L5082 L5083 +label L5082 load 91 else_idx call 92 ir_emitter_core_ir_block int 1 91 -jmp L5007 -label L5009 -label L5007 +jmp L5081 +label L5083 +label L5081 load 93 end_label call 94 ir_call_emit_ir_emit_label void 1 93 load 95 elif_indices @@ -192080,8 +192522,8 @@ field 8 7 0 string kind strref 9 m51s86 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L5011 L5012 -label L5011 +brif 10 L5085 L5086 +label L5085 call 12 ir_builder_ir_reg int 0 store r 12 load 13 r @@ -192093,8 +192535,8 @@ load 18 r load 19 pat call 20 pith_struct_release void 1 19 ret 18 -label L5012 -label L5010 +label L5086 +label L5084 load 21 pat_idx load 22 subj_r call 23 ir_match_emit_ir_emit_match_cond int 2 21 22 @@ -192126,8 +192568,8 @@ field 11 10 0 string kind strref 12 m51s86 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L5014 L5015 -label L5014 +brif 13 L5088 L5089 +label L5088 load 15 subj_idx call 16 ir_alias_registry_ir_emission_tid int 1 15 store subj_tid 16 @@ -192143,32 +192585,32 @@ call 24 map_insert void 3 20 22 23 load 25 subj_tid iconst 26 0 gte 27 25 26 -brif 27 L5017 L5018 -label L5017 +brif 27 L5091 L5092 +label L5091 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_5022 32 +store __and_32_5096 32 load 33 info field 34 33 0 string kind strref 35 m51s21 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __and_32_5022 36 -brif 36 L5022 L5023 -label L5022 +store __and_32_5096 36 +brif 36 L5096 L5097 +label L5096 load 38 info field 39 38 64 int inner iconst 40 0 gte 41 39 40 -store __and_32_5022 41 -label L5023 -load 42 __and_32_5022 -brif 42 L5020 L5021 -label L5020 +store __and_32_5096 41 +label L5097 +load 42 __and_32_5096 +brif 42 L5094 L5095 +label L5094 load 43 inner_kind load 44 info field 45 44 64 int inner @@ -192179,22 +192621,22 @@ load 48 inner_kind call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L5025 L5026 -label L5025 +brif 51 L5099 L5100 +label L5099 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 L5024 -label L5026 -label L5024 -jmp L5019 -label L5021 -label L5019 -jmp L5016 -label L5018 -label L5016 +jmp L5098 +label L5100 +label L5098 +jmp L5093 +label L5095 +label L5093 +jmp L5090 +label L5092 +label L5090 strref 57 m51s878 load 58 pat field 59 58 8 string value @@ -192219,8 +192661,8 @@ load 77 inner_kind call 78 pith_cstring_release void 1 77 iconst 79 0 ret 79 -label L5015 -label L5013 +label L5089 +label L5087 load 80 pat_idx load 81 subj_r strref 82 m51s83 @@ -192240,50 +192682,50 @@ param idx iconst 1 0 store kind 1 iconst 2 0 -store __or_2_5030 2 +store __or_2_5104 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_5030 6 -brif 6 L5031 L5030 -label L5030 +store __or_2_5104 6 +brif 6 L5105 L5104 +label L5104 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_5030 10 -label L5031 -load 11 __or_2_5030 -brif 11 L5028 L5029 -label L5028 +store __or_2_5104 10 +label L5105 +load 11 __or_2_5104 +brif 11 L5102 L5103 +label L5102 iconst 12 0 load 13 kind call 14 pith_cstring_release void 1 13 ret 12 -label L5029 -label L5027 +label L5103 +label L5101 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_5032 19 +store __or_19_5106 19 load 20 kind strref 21 m51s44 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_19_5032 22 -brif 22 L5033 L5032 -label L5032 +store __or_19_5106 22 +brif 22 L5107 L5106 +label L5106 load 24 kind strref 25 m51s130 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_19_5032 26 -label L5033 -load 28 __or_19_5032 +store __or_19_5106 26 +label L5107 +load 28 __or_19_5106 load 29 kind call 30 pith_cstring_release void 1 29 ret 28 @@ -192305,8 +192747,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L5035 L5036 -label L5035 +brif 8 L5109 L5110 +label L5109 load 9 then_l call 10 pith_cstring_release void 1 9 load 11 else_l @@ -192315,8 +192757,8 @@ load 13 end_l call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L5036 -label L5034 +label L5110 +label L5108 load 16 node field 17 16 16 list children iconst 18 1 @@ -192392,17 +192834,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 L5038 L5039 -label L5038 +brif 82 L5112 L5113 +label L5112 strref 84 m51s881 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 L5037 -label L5039 -label L5037 +jmp L5111 +label L5113 +label L5111 load 90 else_l call 91 ir_call_emit_ir_emit_label void 1 90 iconst 92 0 @@ -192412,21 +192854,21 @@ field 94 93 16 list children call 95 pith_list_len int 1 94 iconst 96 3 gt 97 95 96 -brif 97 L5041 L5042 -label L5041 +brif 97 L5115 L5116 +label L5115 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 L5040 -label L5042 -label L5040 +jmp L5114 +label L5116 +label L5114 load 103 end_l call 104 ir_call_emit_ir_emit_label void 1 103 load 105 owns_subject -brif 105 L5044 L5045 -label L5044 +brif 105 L5118 L5119 +label L5118 call 106 ir_builder_ir_reg int 0 strref 107 m51s946 strref 108 m51s876 @@ -192434,9 +192876,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 L5043 -label L5045 -label L5043 +jmp L5117 +label L5119 +label L5117 iconst 113 0 store ir_call_emit_ir_last_was_ret 113 load 114 then_l @@ -192461,8 +192903,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L5047 L5048 -label L5047 +brif 8 L5121 L5122 +label L5121 load 9 head_label call 10 pith_cstring_release void 1 9 load 11 body_label @@ -192471,8 +192913,8 @@ load 13 end_label call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L5048 -label L5046 +label L5122 +label L5120 load 16 head_label call 17 ir_builder_ir_label string 0 call 18 pith_cstring_release void 1 16 @@ -192570,8 +193012,8 @@ iconst 100 1 sub 101 99 100 call 102 remove void 2 97 101 load 103 owns_subject -brif 103 L5050 L5051 -label L5050 +brif 103 L5124 L5125 +label L5124 call 104 ir_builder_ir_reg int 0 strref 105 m51s946 strref 106 m51s876 @@ -192579,9 +193021,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 L5049 -label L5051 -label L5049 +jmp L5123 +label L5125 +label L5123 strref 111 m51s881 load 112 head_label concat 113 111 112 @@ -192591,8 +193033,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 L5053 L5054 -label L5053 +brif 119 L5127 L5128 +label L5127 call 120 ir_builder_ir_reg int 0 strref 121 m51s946 strref 122 m51s876 @@ -192600,9 +193042,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 L5052 -label L5054 -label L5052 +jmp L5126 +label L5128 +label L5126 iconst 127 0 store ir_call_emit_ir_last_was_ret 127 load 128 head_label @@ -192641,8 +193083,8 @@ field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 2 gte 19 17 18 -brif 19 L5056 L5057 -label L5056 +brif 19 L5130 L5131 +label L5130 load 20 node field 21 20 16 list children iconst 22 0 @@ -192706,9 +193148,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 L5055 -label L5057 -label L5055 +jmp L5129 +label L5131 +label L5129 load 80 end_label call 81 ir_call_emit_ir_emit_label void 1 80 load 82 head_label @@ -192740,8 +193182,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 gte 13 11 12 -brif 13 L5059 L5060 -label L5059 +brif 13 L5133 L5134 +label L5133 load 14 node field 15 14 16 list children iconst 16 0 @@ -192751,8 +193193,8 @@ field 19 18 0 string kind strref 20 m51s535 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L5062 L5063 -label L5062 +brif 21 L5136 L5137 +label L5136 load 23 node load 24 names call 25 ir_emitter_core_ir_emit_for_range_stmt void 2 23 24 @@ -192766,8 +193208,8 @@ load 32 next_name call 33 pith_cstring_release void 1 32 iconst 34 0 ret 34 -label L5063 -label L5061 +label L5137 +label L5135 load 35 iter_struct load 36 node field 37 36 16 list children @@ -192777,34 +193219,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_5067 42 +store __and_42_5141 42 load 43 iter_struct call 44 string_len int 1 43 iconst 45 0 gt 46 44 45 -store __and_42_5067 46 -brif 46 L5067 L5068 -label L5067 +store __and_42_5141 46 +brif 46 L5141 L5142 +label L5141 load 47 iter_struct strref 48 m51s343 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_5067 52 -label L5068 -load 53 __and_42_5067 -brif 53 L5065 L5066 -label L5065 +store __and_42_5141 52 +label L5142 +load 53 __and_42_5141 +brif 53 L5139 L5140 +label L5139 iconst 54 0 store gi 54 -label L5069 +label L5143 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 L5070 L5071 -label L5070 +brif 58 L5144 L5145 +label L5144 load 59 concrete load 60 ir_alias_registry_ir_active_generic_concrete_types load 61 gi @@ -192817,8 +193259,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 L5073 L5074 -label L5073 +brif 68 L5147 L5148 +label L5147 load 70 iter_struct load 71 concrete call 72 pith_cstring_retain void 1 71 @@ -192827,18 +193269,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 L5072 -label L5074 -label L5072 +jmp L5146 +label L5148 +label L5146 load 76 gi iconst 77 1 add 78 76 77 store gi 78 -jmp L5069 -label L5071 -jmp L5064 -label L5066 -label L5064 +jmp L5143 +label L5145 +jmp L5138 +label L5140 +label L5138 load 79 next_name load 80 iter_struct strref 81 m51s537 @@ -192850,8 +193292,8 @@ load 85 next_name call 86 string_len int 1 85 iconst 87 0 eq 88 86 87 -brif 88 L5076 L5077 -label L5076 +brif 88 L5150 L5151 +label L5150 load 89 next_name load 90 node field 91 90 16 list children @@ -192863,15 +193305,15 @@ call 96 ir_emitter_core_ir_lookup_impl_method_for string 3 93 94 95 call 97 pith_cstring_release void 1 95 call 98 pith_cstring_release void 1 89 store next_name 96 -jmp L5075 -label L5077 -label L5075 +jmp L5149 +label L5151 +label L5149 load 99 next_name call 100 string_len int 1 99 iconst 101 0 gt 102 100 101 -brif 102 L5079 L5080 -label L5079 +brif 102 L5153 L5154 +label L5153 load 103 node load 104 names load 105 next_name @@ -192886,14 +193328,14 @@ load 113 next_name call 114 pith_cstring_release void 1 113 iconst 115 0 ret 115 -label L5080 -label L5078 +label L5154 +label L5152 load 116 node load 117 names call 118 ir_emitter_core_ir_emit_for_indexed_stmt void 2 116 117 -jmp L5058 -label L5060 -label L5058 +jmp L5132 +label L5134 +label L5132 load 119 names call 120 pith_struct_release void 1 119 load 121 iter_struct @@ -192964,16 +193406,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 L5082 L5083 -label L5082 +brif 39 L5156 L5157 +label L5156 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 L5081 -label L5083 -label L5081 +jmp L5155 +label L5157 +label L5155 load 45 conversion_call load 46 iter_type call 47 ir_collection_helpers_ir_for_iter_conversion_call string 1 46 @@ -192983,8 +193425,8 @@ load 49 conversion_call call 50 string_len int 1 49 iconst 51 0 gt 52 50 51 -brif 52 L5085 L5086 -label L5085 +brif 52 L5159 L5160 +label L5159 call 53 ir_builder_ir_reg int 0 store converted_r 53 load 54 converted_r @@ -192998,14 +193440,14 @@ load 61 iter_release_kind call 62 string_len int 1 61 iconst 63 0 gt 64 62 63 -brif 64 L5088 L5089 -label L5088 +brif 64 L5162 L5163 +label L5162 load 65 iter_r load 66 iter_release_kind call 67 ir_ownership_ir_rc_release_reg void 2 65 66 -jmp L5087 -label L5089 -label L5087 +jmp L5161 +label L5163 +label L5161 load 68 converted_r store iter_r 68 load 69 iter_release_kind @@ -193015,9 +193457,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 L5084 -label L5086 -label L5084 +jmp L5158 +label L5160 +label L5158 load 75 ir_emitter_core_ir_for_count store fid 75 load 76 ir_emitter_core_ir_for_count @@ -193269,8 +193711,8 @@ load 303 iter_release_kind call 304 string_len int 1 303 iconst 305 0 gt 306 304 305 -brif 306 L5091 L5092 -label L5091 +brif 306 L5165 L5166 +label L5165 load 307 ir_emitter_core_ir_loop_iter_vars load 308 ft call 309 pith_list_push_value void 2 307 308 @@ -193279,17 +193721,17 @@ load 311 iter_release_kind call 312 pith_list_push_value void 2 310 311 iconst 313 1 store pushed_iter 313 -jmp L5090 -label L5092 -label L5090 +jmp L5164 +label L5166 +label L5164 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 L5094 L5095 -label L5094 +brif 319 L5168 L5169 +label L5168 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 @@ -193302,9 +193744,9 @@ call 328 pith_list_len int 1 327 iconst 329 1 sub 330 328 329 call 331 remove void 2 326 330 -jmp L5093 -label L5095 -label L5093 +jmp L5167 +label L5169 +label L5167 call 332 ir_emitter_core_ir_defer_loop_exit void 0 load 333 names field 334 333 8 string index_name @@ -193414,8 +193856,8 @@ load 434 iter_release_kind call 435 string_len int 1 434 iconst 436 0 gt 437 435 436 -brif 437 L5097 L5098 -label L5097 +brif 437 L5171 L5172 +label L5171 call 438 ir_builder_ir_reg int 0 store fin_r 438 strref 439 m51s877 @@ -193436,9 +193878,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 L5096 -label L5098 -label L5096 +jmp L5170 +label L5172 +label L5170 load 457 iter_type call 458 pith_cstring_release void 1 457 load 459 item_kind @@ -193589,8 +194031,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 L5100 L5101 -label L5100 +brif 98 L5174 L5175 +label L5174 call 99 ir_builder_ir_reg int 0 store zero_r 99 strref 100 m51s880 @@ -193620,9 +194062,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 L5099 -label L5101 -label L5099 +jmp L5173 +label L5175 +label L5173 load 127 head_l call 128 ir_builder_ir_label string 0 call 129 pith_cstring_release void 1 127 @@ -193682,15 +194124,15 @@ strref 175 m51s475 call 176 pith_cstring_release void 1 174 store cmp_op 175 load 177 inclusive -brif 177 L5103 L5104 -label L5103 +brif 177 L5177 L5178 +label L5177 load 178 cmp_op strref 179 m51s469 call 180 pith_cstring_release void 1 178 store cmp_op 179 -jmp L5102 -label L5104 -label L5102 +jmp L5176 +label L5178 +label L5176 load 181 cmp_op strref 182 m51s344 concat 183 181 182 @@ -193793,8 +194235,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 L5106 L5107 -label L5106 +brif 279 L5180 L5181 +label L5180 call 280 ir_builder_ir_reg int 0 store pos_r 280 strref 281 m51s877 @@ -193821,9 +194263,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 L5105 -label L5107 -label L5105 +jmp L5179 +label L5181 +label L5179 load 305 ir_emitter_core_ir_break_stack load 306 end_l call 307 ir_utils_ir_push_string list_string 2 305 306 @@ -193936,8 +194378,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 L5109 L5110 -label L5109 +brif 411 L5183 L5184 +label L5183 call 412 ir_builder_ir_reg int 0 store p3 412 strref 413 m51s877 @@ -194012,9 +194454,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 L5108 -label L5110 -label L5108 +jmp L5182 +label L5184 +label L5182 strref 483 m51s881 load 484 head_l concat 485 483 484 @@ -194122,8 +194564,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 L5112 L5113 -label L5112 +brif 57 L5186 L5187 +label L5186 call 58 ir_builder_ir_reg int 0 store zero_r 58 strref 59 m51s880 @@ -194153,9 +194595,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 L5111 -label L5113 -label L5111 +jmp L5185 +label L5187 +label L5185 load 86 elem_kind load 87 node field 88 87 16 list children @@ -194171,15 +194613,15 @@ load 96 elem_kind call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L5115 L5116 -label L5115 +brif 99 L5189 L5190 +label L5189 load 100 elem_kind strref 101 m51s869 call 102 pith_cstring_release void 1 100 store elem_kind 101 -jmp L5114 -label L5116 -label L5114 +jmp L5188 +label L5190 +label L5188 load 103 head_l call 104 ir_builder_ir_label string 0 call 105 pith_cstring_release void 1 103 @@ -194330,8 +194772,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 L5118 L5119 -label L5118 +brif 242 L5192 L5193 +label L5192 call 243 ir_builder_ir_reg int 0 store pos_r 243 strref 244 m51s877 @@ -194358,9 +194800,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 L5117 -label L5119 -label L5117 +jmp L5191 +label L5193 +label L5191 load 268 ir_emitter_core_ir_break_stack load 269 end_l call 270 ir_utils_ir_push_string list_string 2 268 269 @@ -194406,8 +194848,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 L5121 L5122 -label L5121 +brif 310 L5195 L5196 +label L5195 call 311 ir_builder_ir_reg int 0 store p3 311 strref 312 m51s877 @@ -194482,9 +194924,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 L5120 -label L5122 -label L5120 +jmp L5194 +label L5196 +label L5194 strref 382 m51s881 load 383 head_l concat 384 382 383 @@ -194525,100 +194967,100 @@ func ir_emitter_core_ir_stmt_control 2 void param idx param node iconst 2 0 -store __or_2_5126 2 +store __or_2_5200 2 load 3 node field 4 3 0 string kind strref 5 m51s1246 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_2_5126 6 -brif 6 L5127 L5126 -label L5126 +store __or_2_5200 6 +brif 6 L5201 L5200 +label L5200 load 8 node field 9 8 0 string kind strref 10 m51s598 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_2_5126 11 -label L5127 -load 13 __or_2_5126 -brif 13 L5124 L5125 -label L5124 +store __or_2_5200 11 +label L5201 +load 13 __or_2_5200 +brif 13 L5198 L5199 +label L5198 load 14 node call 15 ir_emitter_core_ir_emit_if_stmt void 1 14 -jmp L5123 -label L5125 +jmp L5197 +label L5199 load 16 node field 17 16 0 string kind strref 18 m51s596 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L5128 L5129 -label L5128 +brif 19 L5202 L5203 +label L5202 load 21 node call 22 ir_emitter_core_ir_emit_if_let_stmt void 1 21 -jmp L5123 -label L5129 +jmp L5197 +label L5203 load 23 node field 24 23 0 string kind strref 25 m51s595 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L5130 L5131 -label L5130 +brif 26 L5204 L5205 +label L5204 load 28 node call 29 ir_emitter_core_ir_emit_while_let_stmt void 1 28 -jmp L5123 -label L5131 +jmp L5197 +label L5205 iconst 30 0 -store __or_30_5134 30 +store __or_30_5208 30 load 31 node field 32 31 0 string kind strref 33 m51s1245 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_30_5134 34 -brif 34 L5135 L5134 -label L5134 +store __or_30_5208 34 +brif 34 L5209 L5208 +label L5208 load 36 node field 37 36 0 string kind strref 38 m51s597 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __or_30_5134 39 -label L5135 -load 41 __or_30_5134 -brif 41 L5132 L5133 -label L5132 +store __or_30_5208 39 +label L5209 +load 41 __or_30_5208 +brif 41 L5206 L5207 +label L5206 load 42 node call 43 ir_emitter_core_ir_emit_while_stmt void 1 42 -jmp L5123 -label L5133 +jmp L5197 +label L5207 iconst 44 0 -store __or_44_5138 44 +store __or_44_5212 44 load 45 node field 46 45 0 string kind strref 47 m51s1244 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __or_44_5138 48 -brif 48 L5139 L5138 -label L5138 +store __or_44_5212 48 +brif 48 L5213 L5212 +label L5212 load 50 node field 51 50 0 string kind strref 52 m51s594 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __or_44_5138 53 -label L5139 -load 55 __or_44_5138 -brif 55 L5136 L5137 -label L5136 +store __or_44_5212 53 +label L5213 +load 55 __or_44_5212 +brif 55 L5210 L5211 +label L5210 load 56 node call 57 ir_emitter_core_ir_emit_for_stmt void 1 56 -jmp L5123 -label L5137 -label L5123 +jmp L5197 +label L5211 +label L5197 iconst 58 0 ret 58 endfunc @@ -194632,59 +195074,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_5143 6 +store __or_6_5217 6 iconst 7 0 -store __or_7_5143 7 +store __or_7_5217 7 iconst 8 0 -store __or_8_5143 8 +store __or_8_5217 8 load 9 kind strref 10 m51s65 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_8_5143 11 -brif 11 L5144 L5143 -label L5143 +store __or_8_5217 11 +brif 11 L5218 L5217 +label L5217 load 13 kind strref 14 m51s544 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_8_5143 15 -label L5144 -load 17 __or_8_5143 -store __or_7_5143 17 -brif 17 L5146 L5145 -label L5145 +store __or_8_5217 15 +label L5218 +load 17 __or_8_5217 +store __or_7_5217 17 +brif 17 L5220 L5219 +label L5219 load 18 kind strref 19 m51s543 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_7_5143 20 -label L5146 -load 22 __or_7_5143 -store __or_6_5143 22 -brif 22 L5148 L5147 -label L5147 +store __or_7_5217 20 +label L5220 +load 22 __or_7_5217 +store __or_6_5217 22 +brif 22 L5222 L5221 +label L5221 load 23 kind strref 24 m51s66 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_6_5143 25 -label L5148 -load 27 __or_6_5143 -brif 27 L5141 L5142 -label L5141 +store __or_6_5217 25 +label L5222 +load 27 __or_6_5217 +brif 27 L5215 L5216 +label L5215 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 L5149 +label L5223 load 32 i load 33 child_count lt 34 32 33 -brif 34 L5150 L5151 -label L5150 +brif 34 L5224 L5225 +label L5224 load 35 idx load 36 i call 37 ast_node_child int 2 35 36 @@ -194693,23 +195135,23 @@ load 39 i iconst 40 1 add 41 39 40 store i 41 -jmp L5149 -label L5151 +jmp L5223 +label L5225 call 42 ir_emitter_core_ir_defer_pop_scope_emit void 0 -jmp L5140 -label L5142 +jmp L5214 +label L5216 load 43 kind strref 44 m51s146 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L5153 L5154 -label L5153 +brif 45 L5227 L5228 +label L5227 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 L5156 L5157 -label L5156 +brif 50 L5230 L5231 +label L5230 call 51 ir_emitter_core_ir_defer_emit_for_loop_jump void 0 strref 52 m51s881 load 53 ir_emitter_core_ir_break_stack @@ -194724,27 +195166,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 L5155 -label L5157 -label L5155 +jmp L5229 +label L5231 +label L5229 iconst 64 0 load 65 kind call 66 pith_cstring_release void 1 65 ret 64 -label L5154 -label L5152 +label L5228 +label L5226 load 67 kind strref 68 m51s147 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L5159 L5160 -label L5159 +brif 69 L5233 L5234 +label L5233 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 L5162 L5163 -label L5162 +brif 74 L5236 L5237 +label L5236 call 75 ir_emitter_core_ir_defer_emit_for_loop_jump void 0 strref 76 m51s881 load 77 ir_emitter_core_ir_continue_stack @@ -194759,18 +195201,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 L5161 -label L5163 -label L5161 +jmp L5235 +label L5237 +label L5235 iconst 88 0 load 89 kind call 90 pith_cstring_release void 1 89 ret 88 -label L5160 -label L5158 +label L5234 +label L5232 load 91 idx call 92 ir_emitter_core_ir_stmt void 1 91 -label L5140 +label L5214 iconst 93 0 load 94 kind call 95 pith_cstring_release void 1 94 @@ -194790,25 +195232,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_5167 6 +store __and_6_5241 6 load 7 node field 8 7 0 string kind strref 9 m51s69 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __and_6_5167 10 -brif 10 L5167 L5168 -label L5167 +store __and_6_5241 10 +brif 10 L5241 L5242 +label L5241 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_5167 16 -label L5168 -load 17 __and_6_5167 -brif 17 L5165 L5166 -label L5165 +store __and_6_5241 16 +label L5242 +load 17 __and_6_5241 +brif 17 L5239 L5240 +label L5239 load 18 node field 19 18 16 list children iconst 20 0 @@ -194817,8 +195259,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 L5166 -label L5164 +label L5240 +label L5238 strref 25 m51s173 load 26 node call 27 pith_struct_release void 1 26 @@ -194849,13 +195291,13 @@ call 12 pith_list_release_handle void 1 8 store nk 10 iconst 13 0 store i 13 -label L5169 +label L5243 load 14 i load 15 nk call 16 pith_list_len int 1 15 lt 17 14 16 -brif 17 L5170 L5171 -label L5170 +brif 17 L5244 L5245 +label L5244 load 18 cn load 19 nk load 20 i @@ -194868,8 +195310,8 @@ field 25 24 0 string kind strref 26 m51s66 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L5173 L5174 -label L5173 +brif 27 L5247 L5248 +label L5247 load 29 nk load 30 i call 31 pith_list_get_value_strict int 2 29 30 @@ -194880,20 +195322,20 @@ call 35 pith_list_release_handle void 1 34 load 36 cn call 37 pith_struct_release void 1 36 ret 31 -label L5174 -label L5172 +label L5248 +label L5246 load 38 i iconst 39 1 add 40 38 39 store i 40 -jmp L5169 -label L5171 +jmp L5243 +label L5245 load 41 nk call 42 pith_list_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L5176 L5177 -label L5176 +brif 44 L5250 L5251 +label L5250 load 45 nk load 46 nk call 47 pith_list_len int 1 46 @@ -194907,8 +195349,8 @@ call 54 pith_list_release_handle void 1 53 load 55 cn call 56 pith_struct_release void 1 55 ret 50 -label L5177 -label L5175 +label L5251 +label L5249 iconst 57 0 iconst 58 1 sub 59 57 58 @@ -194955,12 +195397,12 @@ iconst 16 0 store __for_idx_408 16 store __for_len_408 15 store __for_iter_408 14 -label L5178 +label L5252 load 17 __for_idx_408 load 18 __for_len_408 lt 19 17 18 -brif 19 L5179 L5181 -label L5179 +brif 19 L5253 L5255 +label L5253 load 20 __for_iter_408 load 21 __for_idx_408 call 22 pith_list_get_value unknown 2 20 21 @@ -194975,22 +195417,22 @@ field 28 27 0 string kind strref 29 m51s69 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L5183 L5184 -label L5183 +brif 30 L5257 L5258 +label L5257 load 32 count iconst 33 1 add 34 32 33 store count 34 -jmp L5182 -label L5184 -label L5182 -label L5180 +jmp L5256 +label L5258 +label L5256 +label L5254 load 35 __for_idx_408 iconst 36 1 add 37 35 36 store __for_idx_408 37 -jmp L5178 -label L5181 +jmp L5252 +label L5255 load 38 count load 39 node call 40 pith_struct_release void 1 39 @@ -195024,7 +195466,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_5188 9 +store __or_9_5262 9 load 10 node field 11 10 0 string kind strref 12 m51s69 @@ -195032,19 +195474,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_5188 13 -brif 13 L5189 L5188 -label L5188 +store __or_9_5262 13 +brif 13 L5263 L5262 +label L5262 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_5188 21 -label L5189 -load 22 __or_9_5188 -brif 22 L5186 L5187 -label L5186 +store __or_9_5262 21 +label L5263 +load 22 __or_9_5262 +brif 22 L5260 L5261 +label L5260 load 23 node call 24 pith_struct_release void 1 23 load 25 tn @@ -195055,8 +195497,8 @@ load 29 ret_kind call 30 pith_cstring_release void 1 29 iconst 31 0 ret 31 -label L5187 -label L5185 +label L5261 +label L5259 load 32 tn load 33 node field 34 33 16 list children @@ -195066,7 +195508,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_5193 39 +store __or_39_5267 39 load 40 tn field 41 40 0 string kind strref 42 m51s328 @@ -195074,19 +195516,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_5193 43 -brif 43 L5194 L5193 -label L5193 +store __or_39_5267 43 +brif 43 L5268 L5267 +label L5267 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_5193 51 -label L5194 -load 52 __or_39_5193 -brif 52 L5191 L5192 -label L5191 +store __or_39_5267 51 +label L5268 +load 52 __or_39_5267 +brif 52 L5265 L5266 +label L5265 load 53 node call 54 pith_struct_release void 1 53 load 55 tn @@ -195097,8 +195539,8 @@ load 59 ret_kind call 60 pith_cstring_release void 1 59 iconst 61 0 ret 61 -label L5192 -label L5190 +label L5266 +label L5264 load 62 last load 63 tn field 64 63 16 list children @@ -195112,7 +195554,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_5198 73 +store __or_73_5272 73 load 74 last field 75 74 0 string kind strref 76 m51s323 @@ -195120,19 +195562,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_5198 77 -brif 77 L5199 L5198 -label L5198 +store __or_73_5272 77 +brif 77 L5273 L5272 +label L5272 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_5198 85 -label L5199 -load 86 __or_73_5198 -brif 86 L5196 L5197 -label L5196 +store __or_73_5272 85 +label L5273 +load 86 __or_73_5272 +brif 86 L5270 L5271 +label L5270 load 87 node call 88 pith_struct_release void 1 87 load 89 tn @@ -195143,8 +195585,8 @@ load 93 ret_kind call 94 pith_cstring_release void 1 93 iconst 95 0 ret 95 -label L5197 -label L5195 +label L5271 +label L5269 load 96 ret_kind load 97 last field 98 97 16 list children @@ -195157,16 +195599,16 @@ load 103 ret_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -brif 106 L5201 L5202 -label L5201 +brif 106 L5275 L5276 +label L5275 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 L5200 -label L5202 -label L5200 +jmp L5274 +label L5276 +label L5274 load 112 node call 113 pith_struct_release void 1 112 load 114 tn @@ -195191,15 +195633,15 @@ load 7 param_type call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L5204 L5205 -label L5204 +brif 10 L5278 L5279 +label L5278 load 11 ir_builder_ir_var_types load 12 name load 13 param_type call 14 map_insert void 3 11 12 13 -jmp L5203 -label L5205 -label L5203 +jmp L5277 +label L5279 +label L5277 strref 15 m51s1243 load 16 name concat 17 15 16 @@ -195236,12 +195678,12 @@ iconst 16 0 store __for_idx_409 16 store __for_len_409 15 store __for_iter_409 14 -label L5206 +label L5280 load 17 __for_idx_409 load 18 __for_len_409 lt 19 17 18 -brif 19 L5207 L5209 -label L5207 +brif 19 L5281 L5283 +label L5281 load 20 __for_iter_409 load 21 __for_idx_409 call 22 pith_list_get_value unknown 2 20 21 @@ -195256,8 +195698,8 @@ field 28 27 0 string kind strref 29 m51s69 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L5211 L5212 -label L5211 +brif 30 L5285 L5286 +label L5285 load 32 ptype load 33 __loopvar_409_child call 34 ir_emitter_core_ir_extract_param_type string 1 33 @@ -195267,33 +195709,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 L5214 L5215 -label L5214 +brif 39 L5288 L5289 +label L5288 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 L5213 -label L5215 -label L5213 +jmp L5287 +label L5289 +label L5287 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_409_child call 50 ir_emitter_core_ir_record_closure_param_return void 1 49 -jmp L5210 -label L5212 -label L5210 -label L5208 +jmp L5284 +label L5286 +label L5284 +label L5282 load 51 __for_idx_409 iconst 52 1 add 53 51 52 store __for_idx_409 53 -jmp L5206 -label L5209 +jmp L5280 +label L5283 load 54 node call 55 pith_struct_release void 1 54 load 56 nk @@ -195325,12 +195767,12 @@ iconst 11 0 store __for_idx_410 11 store __for_len_410 10 store __for_iter_410 9 -label L5216 +label L5290 load 12 __for_idx_410 load 13 __for_len_410 lt 14 12 13 -brif 14 L5217 L5219 -label L5217 +brif 14 L5291 L5293 +label L5291 load 15 __for_iter_410 load 16 __for_idx_410 call 17 pith_list_get_value unknown 2 15 16 @@ -195345,8 +195787,8 @@ field 23 22 0 string kind strref 24 m51s323 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L5221 L5222 -label L5221 +brif 25 L5295 L5296 +label L5295 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -195354,12 +195796,12 @@ iconst 30 0 store __for_idx_411 30 store __for_len_411 29 store __for_iter_411 28 -label L5223 +label L5297 load 31 __for_idx_411 load 32 __for_len_411 lt 33 31 32 -brif 33 L5224 L5226 -label L5224 +brif 33 L5298 L5300 +label L5298 load 34 __for_iter_411 load 35 __for_idx_411 call 36 pith_list_get_value unknown 2 34 35 @@ -195370,51 +195812,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_5230 41 +store __or_41_5304 41 iconst 42 0 -store __or_42_5230 42 +store __or_42_5304 42 iconst 43 0 -store __or_43_5230 43 +store __or_43_5304 43 load 44 rn field 45 44 0 string kind strref 46 m51s316 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __or_43_5230 47 -brif 47 L5231 L5230 -label L5230 +store __or_43_5304 47 +brif 47 L5305 L5304 +label L5304 load 49 rn field 50 49 0 string kind strref 51 m51s336 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_43_5230 52 -label L5231 -load 54 __or_43_5230 -store __or_42_5230 54 -brif 54 L5233 L5232 -label L5232 +store __or_43_5304 52 +label L5305 +load 54 __or_43_5304 +store __or_42_5304 54 +brif 54 L5307 L5306 +label L5306 load 55 rn field 56 55 0 string kind strref 57 m51s330 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -store __or_42_5230 58 -label L5233 -load 60 __or_42_5230 -store __or_41_5230 60 -brif 60 L5235 L5234 -label L5234 +store __or_42_5304 58 +label L5307 +load 60 __or_42_5304 +store __or_41_5304 60 +brif 60 L5309 L5308 +label L5308 load 61 rn field 62 61 0 string kind strref 63 m51s317 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_41_5230 64 -label L5235 -load 66 __or_41_5230 -brif 66 L5228 L5229 -label L5228 +store __or_41_5304 64 +label L5309 +load 66 __or_41_5304 +brif 66 L5302 L5303 +label L5302 load 67 __loopvar_411_returns_child call 68 ir_alias_registry_ir_resolve_type_node string 1 67 load 69 node @@ -195424,25 +195866,25 @@ call 72 pith_struct_release void 1 71 load 73 rn call 74 pith_struct_release void 1 73 ret 68 -label L5229 -label L5227 -label L5225 +label L5303 +label L5301 +label L5299 load 75 __for_idx_411 iconst 76 1 add 77 75 76 store __for_idx_411 77 -jmp L5223 -label L5226 -jmp L5220 -label L5222 -label L5220 -label L5218 +jmp L5297 +label L5300 +jmp L5294 +label L5296 +label L5294 +label L5292 load 78 __for_idx_410 iconst 79 1 add 80 78 79 store __for_idx_410 80 -jmp L5216 -label L5219 +jmp L5290 +label L5293 strref 81 m51s869 load 82 node call 83 pith_struct_release void 1 82 @@ -195480,12 +195922,12 @@ iconst 11 0 store __for_idx_412 11 store __for_len_412 10 store __for_iter_412 9 -label L5236 +label L5310 load 12 __for_idx_412 load 13 __for_len_412 lt 14 12 13 -brif 14 L5237 L5239 -label L5237 +brif 14 L5311 L5313 +label L5311 load 15 __for_iter_412 load 16 __for_idx_412 call 17 pith_list_get_value unknown 2 15 16 @@ -195500,8 +195942,8 @@ field 23 22 0 string kind strref 24 m51s323 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L5241 L5242 -label L5241 +brif 25 L5315 L5316 +label L5315 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -195509,12 +195951,12 @@ iconst 30 0 store __for_idx_413 30 store __for_len_413 29 store __for_iter_413 28 -label L5243 +label L5317 load 31 __for_idx_413 load 32 __for_len_413 lt 33 31 32 -brif 33 L5244 L5246 -label L5244 +brif 33 L5318 L5320 +label L5318 load 34 __for_iter_413 load 35 __for_idx_413 call 36 pith_list_get_value unknown 2 34 35 @@ -195525,25 +195967,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_5250 41 +store __and_41_5324 41 load 42 rn field 43 42 0 string kind strref 44 m51s317 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_41_5250 45 -brif 45 L5250 L5251 -label L5250 +store __and_41_5324 45 +brif 45 L5324 L5325 +label L5324 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_5250 51 -label L5251 -load 52 __and_41_5250 -brif 52 L5248 L5249 -label L5248 +store __and_41_5324 51 +label L5325 +load 52 __and_41_5324 +brif 52 L5322 L5323 +label L5322 load 53 rn field 54 53 16 list children iconst 55 0 @@ -195556,25 +195998,25 @@ call 61 pith_struct_release void 1 60 load 62 rn call 63 pith_struct_release void 1 62 ret 57 -label L5249 -label L5247 -label L5245 +label L5323 +label L5321 +label L5319 load 64 __for_idx_413 iconst 65 1 add 66 64 65 store __for_idx_413 66 -jmp L5243 -label L5246 -jmp L5240 -label L5242 -label L5240 -label L5238 +jmp L5317 +label L5320 +jmp L5314 +label L5316 +label L5314 +label L5312 load 67 __for_idx_412 iconst 68 1 add 69 67 68 store __for_idx_412 69 -jmp L5236 -label L5239 +jmp L5310 +label L5313 strref 70 m51s83 load 71 node call 72 pith_struct_release void 1 71 @@ -195612,12 +196054,12 @@ iconst 11 0 store __for_idx_414 11 store __for_len_414 10 store __for_iter_414 9 -label L5252 +label L5326 load 12 __for_idx_414 load 13 __for_len_414 lt 14 12 13 -brif 14 L5253 L5255 -label L5253 +brif 14 L5327 L5329 +label L5327 load 15 __for_iter_414 load 16 __for_idx_414 call 17 pith_list_get_value unknown 2 15 16 @@ -195632,8 +196074,8 @@ field 23 22 0 string kind strref 24 m51s323 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L5257 L5258 -label L5257 +brif 25 L5331 L5332 +label L5331 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -195641,12 +196083,12 @@ iconst 30 0 store __for_idx_415 30 store __for_len_415 29 store __for_iter_415 28 -label L5259 +label L5333 load 31 __for_idx_415 load 32 __for_len_415 lt 33 31 32 -brif 33 L5260 L5262 -label L5260 +brif 33 L5334 L5336 +label L5334 load 34 __for_iter_415 load 35 __for_idx_415 call 36 pith_list_get_value unknown 2 34 35 @@ -195661,8 +196103,8 @@ field 42 41 0 string kind strref 43 m51s330 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -brif 44 L5264 L5265 -label L5264 +brif 44 L5338 L5339 +label L5338 iconst 46 1 load 47 node call 48 pith_struct_release void 1 47 @@ -195671,25 +196113,25 @@ call 50 pith_struct_release void 1 49 load 51 rn call 52 pith_struct_release void 1 51 ret 46 -label L5265 -label L5263 -label L5261 +label L5339 +label L5337 +label L5335 load 53 __for_idx_415 iconst 54 1 add 55 53 54 store __for_idx_415 55 -jmp L5259 -label L5262 -jmp L5256 -label L5258 -label L5256 -label L5254 +jmp L5333 +label L5336 +jmp L5330 +label L5332 +label L5330 +label L5328 load 56 __for_idx_414 iconst 57 1 add 58 56 57 store __for_idx_414 58 -jmp L5252 -label L5255 +jmp L5326 +label L5329 iconst 59 0 load 60 node call 61 pith_struct_release void 1 60 @@ -195724,8 +196166,8 @@ load 7 type_name call 8 string_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L5267 L5268 -label L5267 +brif 10 L5341 L5342 +label L5341 strref 11 m51s83 load 12 key call 13 pith_cstring_release void 1 12 @@ -195738,8 +196180,8 @@ call 19 pith_cstring_release void 1 18 load 20 base_key call 21 pith_cstring_release void 1 20 ret 11 -label L5268 -label L5266 +label L5342 +label L5340 load 22 key load 23 type_name load 24 method_name @@ -195749,8 +196191,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 L5270 L5271 -label L5270 +brif 29 L5344 L5345 +label L5344 load 30 ir_method_tables_ir_impl_methods load 31 key call 32 map_get_strict string 2 30 31 @@ -195766,8 +196208,8 @@ call 41 pith_cstring_release void 1 40 load 42 base_key call 43 pith_cstring_release void 1 42 ret 32 -label L5271 -label L5269 +label L5345 +label L5343 load 44 resolved load 45 type_name call 46 ir_alias_registry_ir_resolve_type_hint string 1 45 @@ -195778,8 +196220,8 @@ load 49 type_name call 51 pith_cstring_eq bool 2 48 49 iconst 52 1 sub 50 52 51 -brif 50 L5273 L5274 -label L5273 +brif 50 L5347 L5348 +label L5347 load 53 resolved_key load 54 resolved load 55 method_name @@ -195789,8 +196231,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 L5276 L5277 -label L5276 +brif 60 L5350 L5351 +label L5350 load 61 ir_method_tables_ir_impl_methods load 62 resolved_key call 63 map_get_strict string 2 61 62 @@ -195806,17 +196248,17 @@ call 72 pith_cstring_release void 1 71 load 73 base_key call 74 pith_cstring_release void 1 73 ret 63 -label L5277 -label L5275 -jmp L5272 -label L5274 -label L5272 +label L5351 +label L5349 +jmp L5346 +label L5348 +label L5346 load 75 type_name strref 76 m51s343 call 77 pith_cstring_contains bool 2 75 76 call 78 pith_cstring_release void 1 76 -brif 77 L5279 L5280 -label L5279 +brif 77 L5353 L5354 +label L5353 load 79 base load 80 type_name iconst 81 0 @@ -195836,8 +196278,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 L5282 L5283 -label L5282 +brif 95 L5356 L5357 +label L5356 load 96 ir_method_tables_ir_impl_methods load 97 base_key call 98 map_get_strict string 2 96 97 @@ -195853,11 +196295,11 @@ call 107 pith_cstring_release void 1 106 load 108 base_key call 109 pith_cstring_release void 1 108 ret 98 -label L5283 -label L5281 -jmp L5278 -label L5280 -label L5278 +label L5357 +label L5355 +jmp L5352 +label L5354 +label L5352 strref 110 m51s83 load 111 key call 112 pith_cstring_release void 1 111 @@ -195891,71 +196333,71 @@ store info 2 load 3 recv_idx iconst 4 0 lt 5 3 4 -brif 5 L5285 L5286 -label L5285 +brif 5 L5359 L5360 +label L5359 iconst 6 0 iconst 7 1 sub 8 6 7 load 9 info call 10 pith_struct_release void 1 9 ret 8 -label L5286 -label L5284 +label L5360 +label L5358 load 11 recv_idx call 12 checker_c_get_expr_type int 1 11 store tid 12 load 13 tid iconst 14 0 lt 15 13 14 -brif 15 L5288 L5289 -label L5288 +brif 15 L5362 L5363 +label L5362 iconst 16 0 iconst 17 1 sub 18 16 17 load 19 info call 20 pith_struct_release void 1 19 ret 18 -label L5289 -label L5287 +label L5363 +label L5361 load 21 info load 22 tid call 23 types_get_type_info struct:TypeInfo 1 22 call 24 pith_struct_release void 1 21 store info 23 iconst 25 0 -store __or_25_5293 25 +store __or_25_5367 25 load 26 info field 27 26 0 string kind strref 28 m51s21 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __or_25_5293 29 -brif 29 L5294 L5293 -label L5293 +store __or_25_5367 29 +brif 29 L5368 L5367 +label L5367 load 31 info field 32 31 0 string kind strref 33 m51s22 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_25_5293 34 -label L5294 -load 36 __or_25_5293 -brif 36 L5291 L5292 -label L5291 +store __or_25_5367 34 +label L5368 +load 36 __or_25_5367 +brif 36 L5365 L5366 +label L5365 load 37 info field 38 37 64 int inner iconst 39 0 lt 40 38 39 -brif 40 L5296 L5297 -label L5296 +brif 40 L5370 L5371 +label L5370 iconst 41 0 iconst 42 1 sub 43 41 42 load 44 info call 45 pith_struct_release void 1 44 ret 43 -label L5297 -label L5295 +label L5371 +label L5369 load 46 info field 47 46 64 int inner store tid 47 @@ -195964,11 +196406,11 @@ load 49 tid call 50 types_get_type_info struct:TypeInfo 1 49 call 51 pith_struct_release void 1 48 store info 50 -jmp L5290 -label L5292 -label L5290 +jmp L5364 +label L5366 +label L5364 iconst 52 0 -store __and_52_5301 52 +store __and_52_5375 52 load 53 info field 54 53 0 string kind strref 55 m51s15 @@ -195976,9 +196418,9 @@ call 57 pith_cstring_eq bool 2 54 55 iconst 58 1 sub 56 58 57 call 59 pith_cstring_release void 1 55 -store __and_52_5301 56 -brif 56 L5301 L5302 -label L5301 +store __and_52_5375 56 +brif 56 L5375 L5376 +label L5375 load 60 info field 61 60 0 string kind strref 62 m51s14 @@ -195986,35 +196428,35 @@ call 64 pith_cstring_eq bool 2 61 62 iconst 65 1 sub 63 65 64 call 66 pith_cstring_release void 1 62 -store __and_52_5301 63 -label L5302 -load 67 __and_52_5301 -brif 67 L5299 L5300 -label L5299 +store __and_52_5375 63 +label L5376 +load 67 __and_52_5375 +brif 67 L5373 L5374 +label L5373 iconst 68 0 iconst 69 1 sub 70 68 69 load 71 info call 72 pith_struct_release void 1 71 ret 70 -label L5300 -label L5298 +label L5374 +label L5372 load 73 info field 74 73 8 string name load 75 type_name call 77 pith_cstring_eq bool 2 74 75 iconst 78 1 sub 76 78 77 -brif 76 L5304 L5305 -label L5304 +brif 76 L5378 L5379 +label L5378 iconst 79 0 iconst 80 1 sub 81 79 80 load 82 info call 83 pith_struct_release void 1 82 ret 81 -label L5305 -label L5303 +label L5379 +label L5377 load 84 tid load 85 info call 86 pith_struct_release void 1 85 @@ -196039,8 +196481,8 @@ store tid 7 load 8 tid iconst 9 0 gte 10 8 9 -brif 10 L5307 L5308 -label L5307 +brif 10 L5381 L5382 +label L5381 load 11 tid_key load 12 tid load 13 method_name @@ -196050,8 +196492,8 @@ store tid_key 14 load 16 ir_method_tables_ir_impl_methods load 17 tid_key call 18 contains_key bool 2 16 17 -brif 18 L5310 L5311 -label L5310 +brif 18 L5384 L5385 +label L5384 load 19 ir_method_tables_ir_impl_methods load 20 tid_key call 21 map_get_strict string 2 19 20 @@ -196061,8 +196503,8 @@ call 24 pith_cstring_release void 1 23 load 25 name_key call 26 pith_cstring_release void 1 25 ret 21 -label L5311 -label L5309 +label L5385 +label L5383 load 27 name_key load 28 type_name load 29 method_name @@ -196072,29 +196514,29 @@ store name_key 30 load 32 ir_method_tables_ir_impl_method_owner load 33 name_key call 34 contains_key bool 2 32 33 -brif 34 L5313 L5314 -label L5313 +brif 34 L5387 L5388 +label L5387 load 35 ir_method_tables_ir_impl_method_owner load 36 name_key call 37 map_get_strict int 2 35 36 load 38 tid neq 39 37 38 -brif 39 L5316 L5317 -label L5316 +brif 39 L5390 L5391 +label L5390 strref 40 m51s83 load 41 tid_key call 42 pith_cstring_release void 1 41 load 43 name_key call 44 pith_cstring_release void 1 43 ret 40 -label L5317 -label L5315 -jmp L5312 -label L5314 -label L5312 -jmp L5306 -label L5308 -label L5306 +label L5391 +label L5389 +jmp L5386 +label L5388 +label L5386 +jmp L5380 +label L5382 +label L5380 load 45 type_name load 46 method_name call 47 ir_emitter_core_ir_lookup_impl_method_name string 2 45 46 @@ -196122,12 +196564,12 @@ iconst 6 0 store __for_idx_416 6 store __for_len_416 5 store __for_iter_416 4 -label L5318 +label L5392 load 7 __for_idx_416 load 8 __for_len_416 lt 9 7 8 -brif 9 L5319 L5321 -label L5319 +brif 9 L5393 L5395 +label L5393 load 10 __for_iter_416 load 11 __for_idx_416 call 12 pith_list_get_value unknown 2 10 11 @@ -196142,21 +196584,21 @@ field 18 17 0 string kind strref 19 m51s613 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L5323 L5324 -label L5323 +brif 20 L5397 L5398 +label L5397 load 22 node load 23 module_path call 24 ir_emitter_core_ir_collect_impl_method_signatures void 2 22 23 -jmp L5322 -label L5324 -label L5322 -label L5320 +jmp L5396 +label L5398 +label L5396 +label L5394 load 25 __for_idx_416 iconst 26 1 add 27 25 26 store __for_idx_416 27 -jmp L5318 -label L5321 +jmp L5392 +label L5395 load 28 __for_iter_416 call 29 pith_list_release_handle void 1 28 load 30 node @@ -196176,12 +196618,12 @@ iconst 6 0 store __for_idx_417 6 store __for_len_417 5 store __for_iter_417 4 -label L5325 +label L5399 load 7 __for_idx_417 load 8 __for_len_417 lt 9 7 8 -brif 9 L5326 L5328 -label L5326 +brif 9 L5400 L5402 +label L5400 load 10 __for_iter_417 load 11 __for_idx_417 call 12 pith_list_get_value unknown 2 10 11 @@ -196192,34 +196634,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_5332 17 +store __and_17_5406 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_5332 20 -brif 20 L5332 L5333 -label L5332 +store __and_17_5406 20 +brif 20 L5406 L5407 +label L5406 load 21 node call 22 ir_generics_ir_has_generic_params bool 1 21 -store __and_17_5332 22 -label L5333 -load 23 __and_17_5332 -brif 23 L5330 L5331 -label L5330 +store __and_17_5406 22 +label L5407 +load 23 __and_17_5406 +brif 23 L5404 L5405 +label L5404 load 24 __loopvar_417_item_idx load 25 node load 26 module_path call 27 ir_generics_ir_record_generic_function_decl void 3 24 25 26 -jmp L5329 -label L5331 -label L5329 -label L5327 +jmp L5403 +label L5405 +label L5403 +label L5401 load 28 __for_idx_417 iconst 29 1 add 30 28 29 store __for_idx_417 30 -jmp L5325 -label L5328 +jmp L5399 +label L5402 load 31 __for_iter_417 call 32 pith_list_release_handle void 1 31 load 33 node @@ -196237,15 +196679,15 @@ load 4 name call 5 contains_key bool 2 3 4 iconst 7 1 sub 6 7 5 -brif 6 L5335 L5336 -label L5335 +brif 6 L5409 L5410 +label L5409 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 L5336 -label L5334 +label L5410 +label L5408 load 12 inferred load 13 name load 14 node @@ -196284,12 +196726,12 @@ iconst 11 0 store __for_idx_418 11 store __for_len_418 10 store __for_iter_418 9 -label L5337 +label L5411 load 12 __for_idx_418 load 13 __for_len_418 lt 14 12 13 -brif 14 L5338 L5340 -label L5338 +brif 14 L5412 L5414 +label L5412 load 15 __for_iter_418 load 16 __for_idx_418 call 17 pith_list_get_value unknown 2 15 16 @@ -196300,37 +196742,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_5344 22 +store __and_22_5418 22 iconst 23 0 -store __and_23_5344 23 +store __and_23_5418 23 load 24 cn field 25 24 0 string kind strref 26 m51s69 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_5344 27 -brif 27 L5344 L5345 -label L5344 +store __and_23_5418 27 +brif 27 L5418 L5419 +label L5418 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_5344 32 -label L5345 -load 33 __and_23_5344 -store __and_22_5344 33 -brif 33 L5346 L5347 -label L5346 +store __and_23_5418 32 +label L5419 +load 33 __and_23_5418 +store __and_22_5418 33 +brif 33 L5420 L5421 +label L5420 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_5344 38 -label L5347 -load 39 __and_22_5344 -brif 39 L5342 L5343 -label L5342 +store __and_22_5418 38 +label L5421 +load 39 __and_22_5418 +brif 39 L5416 L5417 +label L5416 load 40 cn field 41 40 16 list children iconst 42 0 @@ -196340,15 +196782,15 @@ call 45 pith_struct_release void 1 44 load 46 cn call 47 pith_struct_release void 1 46 ret 43 -label L5343 -label L5341 -label L5339 +label L5417 +label L5415 +label L5413 load 48 __for_idx_418 iconst 49 1 add 50 48 49 store __for_idx_418 50 -jmp L5337 -label L5340 +jmp L5411 +label L5414 iconst 51 0 iconst 52 1 sub 53 51 52 @@ -196380,21 +196822,21 @@ store ccn 7 iconst 8 0 store acn 8 iconst 9 0 -store __or_9_5351 9 +store __or_9_5425 9 load 10 callee_idx iconst 11 0 lt 12 10 11 -store __or_9_5351 12 -brif 12 L5352 L5351 -label L5351 +store __or_9_5425 12 +brif 12 L5426 L5425 +label L5425 load 13 caller_idx iconst 14 0 lt 15 13 14 -store __or_9_5351 15 -label L5352 -load 16 __or_9_5351 -brif 16 L5349 L5350 -label L5349 +store __or_9_5425 15 +label L5426 +load 16 __or_9_5425 +brif 16 L5423 L5424 +label L5423 load 17 cn call 18 pith_struct_release void 1 17 load 19 an @@ -196407,8 +196849,8 @@ load 25 acn call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L5350 -label L5348 +label L5424 +label L5422 load 28 cn load 29 callee_idx call 30 ast_get_node struct:Node 1 29 @@ -196424,40 +196866,40 @@ field 37 36 0 string kind strref 38 m51s316 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L5354 L5355 -label L5354 +brif 39 L5428 L5429 +label L5428 load 41 callee_params load 42 cn field 43 42 8 string value iconst 44 -1 -store __list_index_result_L5359 44 +store __list_index_result_L5433 44 iconst 45 0 -store __list_index_i_L5360 45 +store __list_index_i_L5434 45 call 46 pith_list_len int 1 41 -label L5361 -load 47 __list_index_i_L5360 +label L5435 +load 47 __list_index_i_L5434 lt 48 47 46 -brif 48 L5362 L5365 -label L5362 +brif 48 L5436 L5439 +label L5436 call 49 pith_list_get_value string 2 41 47 call 50 pith_cstring_eq bool 2 49 43 -brif 50 L5363 L5364 -label L5363 -store __list_index_result_L5359 47 -jmp L5365 -label L5364 +brif 50 L5437 L5438 +label L5437 +store __list_index_result_L5433 47 +jmp L5439 +label L5438 iconst 51 1 add 52 47 51 -store __list_index_i_L5360 52 -jmp L5361 -label L5365 -load 53 __list_index_result_L5359 +store __list_index_i_L5434 52 +jmp L5435 +label L5439 +load 53 __list_index_result_L5433 iconst 54 0 gte 55 53 54 iconst 57 1 sub 56 57 55 -brif 56 L5357 L5358 -label L5357 +brif 56 L5431 L5432 +label L5431 load 58 cn call 59 pith_struct_release void 1 58 load 60 an @@ -196470,8 +196912,8 @@ load 66 acn call 67 pith_struct_release void 1 66 iconst 68 0 ret 68 -label L5358 -label L5356 +label L5432 +label L5430 load 69 an field 70 69 0 string kind strref 71 m51s316 @@ -196479,8 +196921,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 L5367 L5368 -label L5367 +brif 72 L5441 L5442 +label L5441 load 76 cn call 77 pith_struct_release void 1 76 load 78 an @@ -196493,8 +196935,8 @@ load 84 acn call 85 pith_struct_release void 1 84 iconst 86 0 ret 86 -label L5368 -label L5366 +label L5442 +label L5440 load 87 resolved load 88 an field 89 88 8 string value @@ -196506,32 +196948,32 @@ store resolved 92 load 94 ir_alias_registry_ir_active_generic_params load 95 resolved iconst 96 -1 -store __list_index_result_L5372 96 +store __list_index_result_L5446 96 iconst 97 0 -store __list_index_i_L5373 97 +store __list_index_i_L5447 97 call 98 pith_list_len int 1 94 -label L5374 -load 99 __list_index_i_L5373 +label L5448 +load 99 __list_index_i_L5447 lt 100 99 98 -brif 100 L5375 L5378 -label L5375 +brif 100 L5449 L5452 +label L5449 call 101 pith_list_get_value string 2 94 99 call 102 pith_cstring_eq bool 2 101 95 -brif 102 L5376 L5377 -label L5376 -store __list_index_result_L5372 99 -jmp L5378 -label L5377 +brif 102 L5450 L5451 +label L5450 +store __list_index_result_L5446 99 +jmp L5452 +label L5451 iconst 103 1 add 104 99 103 -store __list_index_i_L5373 104 -jmp L5374 -label L5378 -load 105 __list_index_result_L5372 +store __list_index_i_L5447 104 +jmp L5448 +label L5452 +load 105 __list_index_result_L5446 iconst 106 0 gte 107 105 106 -brif 107 L5370 L5371 -label L5370 +brif 107 L5444 L5445 +label L5444 load 108 cn call 109 pith_struct_release void 1 108 load 110 an @@ -196544,24 +196986,24 @@ load 116 acn call 117 pith_struct_release void 1 116 iconst 118 0 ret 118 -label L5371 -label L5369 +label L5445 +label L5443 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 L5380 L5381 -label L5380 +brif 123 L5454 L5455 +label L5454 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 L5379 -label L5381 -label L5379 +jmp L5453 +label L5455 +label L5453 load 130 cn call 131 pith_struct_release void 1 130 load 132 an @@ -196574,64 +197016,64 @@ load 138 acn call 139 pith_struct_release void 1 138 iconst 140 0 ret 140 -label L5355 -label L5353 +label L5429 +label L5427 iconst 141 0 -store __and_141_5385 141 +store __and_141_5459 141 iconst 142 0 -store __and_142_5385 142 +store __and_142_5459 142 load 143 cn field 144 143 0 string kind strref 145 m51s336 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 -store __and_142_5385 146 -brif 146 L5385 L5386 -label L5385 +store __and_142_5459 146 +brif 146 L5459 L5460 +label L5459 load 148 an field 149 148 0 string kind strref 150 m51s336 call 151 pith_cstring_eq bool 2 149 150 call 152 pith_cstring_release void 1 150 -store __and_142_5385 151 -label L5386 -load 153 __and_142_5385 -store __and_141_5385 153 -brif 153 L5387 L5388 -label L5387 +store __and_142_5459 151 +label L5460 +load 153 __and_142_5459 +store __and_141_5459 153 +brif 153 L5461 L5462 +label L5461 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_5385 158 -label L5388 -load 159 __and_141_5385 -brif 159 L5383 L5384 -label L5383 +store __and_141_5459 158 +label L5462 +load 159 __and_141_5459 +brif 159 L5457 L5458 +label L5457 iconst 160 0 store i 160 -label L5389 +label L5463 iconst 161 0 -store __and_161_5392 161 +store __and_161_5466 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_5392 166 -brif 166 L5392 L5393 -label L5392 +store __and_161_5466 166 +brif 166 L5466 L5467 +label L5466 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_5392 171 -label L5393 -load 172 __and_161_5392 -brif 172 L5390 L5391 -label L5390 +store __and_161_5466 171 +label L5467 +load 172 __and_161_5466 +brif 172 L5464 L5465 +label L5464 load 173 cn field 174 173 16 list children load 175 i @@ -196647,8 +197089,8 @@ load 184 i iconst 185 1 add 186 184 185 store i 186 -jmp L5389 -label L5391 +jmp L5463 +label L5465 load 187 cn call 188 pith_struct_release void 1 187 load 189 an @@ -196661,40 +197103,40 @@ load 195 acn call 196 pith_struct_release void 1 195 iconst 197 0 ret 197 -label L5384 -label L5382 +label L5458 +label L5456 iconst 198 0 -store __and_198_5397 198 +store __and_198_5471 198 load 199 cn field 200 199 0 string kind strref 201 m51s328 call 202 pith_cstring_eq bool 2 200 201 call 203 pith_cstring_release void 1 201 -store __and_198_5397 202 -brif 202 L5397 L5398 -label L5397 +store __and_198_5471 202 +brif 202 L5471 L5472 +label L5471 load 204 an field 205 204 0 string kind strref 206 m51s328 call 207 pith_cstring_eq bool 2 205 206 call 208 pith_cstring_release void 1 206 -store __and_198_5397 207 -label L5398 -load 209 __and_198_5397 -brif 209 L5395 L5396 -label L5395 +store __and_198_5471 207 +label L5472 +load 209 __and_198_5471 +brif 209 L5469 L5470 +label L5469 iconst 210 0 store ci 210 iconst 211 0 store ai 211 -label L5399 +label L5473 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 L5400 L5401 -label L5400 +brif 216 L5474 L5475 +label L5474 load 217 ccn load 218 cn field 219 218 16 list children @@ -196703,17 +197145,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 L5402 +label L5476 iconst 224 0 -store __and_224_5405 224 +store __and_224_5479 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_5405 229 -brif 229 L5405 L5406 -label L5405 +store __and_224_5479 229 +brif 229 L5479 L5480 +label L5479 load 230 an field 231 230 16 list children load 232 ai @@ -196725,44 +197167,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_5405 238 -label L5406 -load 241 __and_224_5405 -brif 241 L5403 L5404 -label L5403 +store __and_224_5479 238 +label L5480 +load 241 __and_224_5479 +brif 241 L5477 L5478 +label L5477 load 242 ai iconst 243 1 add 244 242 243 store ai 244 -jmp L5402 -label L5404 +jmp L5476 +label L5478 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 L5408 L5409 -label L5408 +brif 249 L5482 L5483 +label L5482 iconst 250 0 -store __and_250_5413 250 +store __and_250_5487 250 load 251 ccn field 252 251 0 string kind strref 253 m51s69 call 254 pith_cstring_eq bool 2 252 253 call 255 pith_cstring_release void 1 253 -store __and_250_5413 254 -brif 254 L5413 L5414 -label L5413 +store __and_250_5487 254 +brif 254 L5487 L5488 +label L5487 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_5413 260 -label L5414 -load 261 __and_250_5413 -brif 261 L5411 L5412 -label L5411 +store __and_250_5487 260 +label L5488 +load 261 __and_250_5487 +brif 261 L5485 L5486 +label L5485 load 262 acn load 263 an field 264 263 16 list children @@ -196776,8 +197218,8 @@ field 270 269 16 list children call 271 pith_list_len int 1 270 iconst 272 0 gt 273 271 272 -brif 273 L5416 L5417 -label L5416 +brif 273 L5490 L5491 +label L5490 load 274 ccn field 275 274 16 list children iconst 276 0 @@ -196789,31 +197231,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 L5415 -label L5417 -label L5415 -jmp L5410 -label L5412 +jmp L5489 +label L5491 +label L5489 +jmp L5484 +label L5486 iconst 285 0 -store __and_285_5420 285 +store __and_285_5494 285 load 286 ccn field 287 286 0 string kind strref 288 m51s323 call 289 pith_cstring_eq bool 2 287 288 call 290 pith_cstring_release void 1 288 -store __and_285_5420 289 -brif 289 L5420 L5421 -label L5420 +store __and_285_5494 289 +brif 289 L5494 L5495 +label L5494 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_5420 295 -label L5421 -load 296 __and_285_5420 -brif 296 L5418 L5419 -label L5418 +store __and_285_5494 295 +label L5495 +load 296 __and_285_5494 +brif 296 L5492 L5493 +label L5492 load 297 acn load 298 an field 299 298 16 list children @@ -196827,8 +197269,8 @@ field 305 304 16 list children call 306 pith_list_len int 1 305 iconst 307 0 gt 308 306 307 -brif 308 L5423 L5424 -label L5423 +brif 308 L5497 L5498 +label L5497 load 309 ccn field 310 309 16 list children iconst 311 0 @@ -196840,28 +197282,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 L5422 -label L5424 -label L5422 -jmp L5410 -label L5419 -label L5410 +jmp L5496 +label L5498 +label L5496 +jmp L5484 +label L5493 +label L5484 load 320 ai iconst 321 1 add 322 320 321 store ai 322 -jmp L5407 -label L5409 -label L5407 +jmp L5481 +label L5483 +label L5481 load 323 ci iconst 324 1 add 325 323 324 store ci 325 -jmp L5399 -label L5401 -jmp L5394 -label L5396 -label L5394 +jmp L5473 +label L5475 +jmp L5468 +label L5470 +label L5468 load 326 cn call 327 pith_struct_release void 1 326 load 328 an @@ -196896,34 +197338,34 @@ store filled 9 load 10 inferred strref 11 m51s869 iconst 12 -1 -store __list_index_result_L5428 12 +store __list_index_result_L5502 12 iconst 13 0 -store __list_index_i_L5429 13 +store __list_index_i_L5503 13 call 14 pith_list_len int 1 10 -label L5430 -load 15 __list_index_i_L5429 +label L5504 +load 15 __list_index_i_L5503 lt 16 15 14 -brif 16 L5431 L5434 -label L5431 +brif 16 L5505 L5508 +label L5505 call 17 pith_list_get_value string 2 10 15 call 18 pith_cstring_eq bool 2 17 11 -brif 18 L5432 L5433 -label L5432 -store __list_index_result_L5428 15 -jmp L5434 -label L5433 +brif 18 L5506 L5507 +label L5506 +store __list_index_result_L5502 15 +jmp L5508 +label L5507 iconst 19 1 add 20 15 19 -store __list_index_i_L5429 20 -jmp L5430 -label L5434 -load 21 __list_index_result_L5428 +store __list_index_i_L5503 20 +jmp L5504 +label L5508 +load 21 __list_index_result_L5502 iconst 22 0 gte 23 21 22 iconst 25 1 sub 24 25 23 -brif 24 L5426 L5427 -label L5426 +brif 24 L5500 L5501 +label L5500 load 26 inferred call 27 pith_list_retain_handle void 1 26 load 28 callee_params @@ -196941,25 +197383,25 @@ call 39 pith_cstring_release void 1 38 load 40 filled call 41 pith_list_release_handle void 1 40 ret 26 -label L5427 -label L5425 +label L5501 +label L5499 iconst 42 0 -store __or_42_5438 42 +store __or_42_5512 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_5438 46 -brif 46 L5439 L5438 -label L5438 +store __or_42_5512 46 +brif 46 L5513 L5512 +label L5512 load 47 ir_alias_registry_ir_active_generic_decl_idx iconst 48 0 lt 49 47 48 -store __or_42_5438 49 -label L5439 -load 50 __or_42_5438 -brif 50 L5436 L5437 -label L5436 +store __or_42_5512 49 +label L5513 +load 50 __or_42_5512 +brif 50 L5510 L5511 +label L5510 load 51 inferred call 52 pith_list_retain_handle void 1 51 load 53 callee_params @@ -196977,8 +197419,8 @@ call 64 pith_cstring_release void 1 63 load 65 filled call 66 pith_list_release_handle void 1 65 ret 51 -label L5437 -label L5435 +label L5511 +label L5509 load 67 ir_generics_ir_generic_decl_indices load 68 name call 69 map_get_strict int 2 67 68 @@ -197003,12 +197445,12 @@ iconst 83 0 store __for_idx_419 83 store __for_len_419 82 store __for_iter_419 81 -label L5440 +label L5514 load 84 __for_idx_419 load 85 __for_len_419 lt 86 84 85 -brif 86 L5441 L5443 -label L5441 +brif 86 L5515 L5517 +label L5515 load 87 __for_iter_419 load 88 __for_idx_419 call 89 pith_list_get_value unknown 2 87 88 @@ -197018,11 +197460,11 @@ store __loopvar_419_i 90 load 91 __loopvar_419_i iconst 92 0 eq 93 91 92 -brif 93 L5445 L5446 -label L5445 -jmp L5442 -label L5446 -label L5444 +brif 93 L5519 L5520 +label L5519 +jmp L5516 +label L5520 +label L5518 load 94 __loopvar_419_child store expr_idx 94 load 95 cn @@ -197035,26 +197477,26 @@ field 100 99 0 string kind strref 101 m51s42 call 102 pith_cstring_eq bool 2 100 101 call 103 pith_cstring_release void 1 101 -brif 102 L5448 L5449 -label L5448 +brif 102 L5522 L5523 +label L5522 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 L5451 L5452 -label L5451 -jmp L5442 -label L5452 -label L5450 +brif 108 L5525 L5526 +label L5525 +jmp L5516 +label L5526 +label L5524 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 L5447 -label L5449 -label L5447 +jmp L5521 +label L5523 +label L5521 load 113 en load 114 expr_idx call 115 ast_get_node struct:Node 1 114 @@ -197065,8 +197507,8 @@ field 118 117 0 string kind strref 119 m51s37 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -brif 120 L5454 L5455 -label L5454 +brif 120 L5528 L5529 +label L5528 load 122 ir_alias_registry_ir_active_generic_decl_idx load 123 en field 124 123 8 string value @@ -197075,8 +197517,8 @@ store caller_type_idx 125 load 126 caller_type_idx iconst 127 0 gte 128 126 127 -brif 128 L5457 L5458 -label L5457 +brif 128 L5531 L5532 +label L5531 load 129 declared load 130 caller_type_idx call 131 ir_alias_registry_ir_resolve_type_node string 1 130 @@ -197089,22 +197531,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_5462 138 +store __or_138_5536 138 load 139 tracked call 140 string_len int 1 139 iconst 141 0 eq 142 140 141 -store __or_138_5462 142 -brif 142 L5463 L5462 -label L5462 +store __or_138_5536 142 +brif 142 L5537 L5536 +label L5536 load 143 tracked load 144 declared call 145 pith_cstring_eq bool 2 143 144 -store __or_138_5462 145 -label L5463 -load 146 __or_138_5462 -brif 146 L5460 L5461 -label L5460 +store __or_138_5536 145 +label L5537 +load 146 __or_138_5536 +brif 146 L5534 L5535 +label L5534 load 147 callee_decl load 148 callee_decl load 149 arg_pos @@ -197117,26 +197559,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 L5459 -label L5461 -label L5459 -jmp L5456 -label L5458 -label L5456 -jmp L5453 -label L5455 -label L5453 +jmp L5533 +label L5535 +label L5533 +jmp L5530 +label L5532 +label L5530 +jmp L5527 +label L5529 +label L5527 load 158 arg_pos iconst 159 1 add 160 158 159 store arg_pos 160 -label L5442 +label L5516 load 161 __for_idx_419 iconst 162 1 add 163 161 162 store __for_idx_419 163 -jmp L5440 -label L5443 +jmp L5514 +label L5517 load 164 filled call 165 pith_list_new_cstr list 0 call 166 pith_list_release_handle void 1 164 @@ -197147,12 +197589,12 @@ iconst 169 0 store __for_idx_420 169 store __for_len_420 168 store __for_iter_420 167 -label L5464 +label L5538 load 170 __for_idx_420 load 171 __for_len_420 lt 172 170 171 -brif 172 L5465 L5467 -label L5465 +brif 172 L5539 L5541 +label L5539 load 173 __for_iter_420 load 174 __for_idx_420 call 175 pith_list_get_value_unchecked string 2 173 174 @@ -197160,36 +197602,36 @@ store __loopvar_420_concrete 175 load 176 __for_idx_420 store __loopvar_420_i 176 iconst 177 0 -store __and_177_5471 177 +store __and_177_5545 177 iconst 178 0 -store __and_178_5471 178 +store __and_178_5545 178 load 179 __loopvar_420_concrete strref 180 m51s869 call 181 pith_cstring_eq bool 2 179 180 call 182 pith_cstring_release void 1 180 -store __and_178_5471 181 -brif 181 L5471 L5472 -label L5471 +store __and_178_5545 181 +brif 181 L5545 L5546 +label L5545 load 183 __loopvar_420_i load 184 callee_params call 185 pith_list_len int 1 184 lt 186 183 185 -store __and_178_5471 186 -label L5472 -load 187 __and_178_5471 -store __and_177_5471 187 -brif 187 L5473 L5474 -label L5473 +store __and_178_5545 186 +label L5546 +load 187 __and_178_5545 +store __and_177_5545 187 +brif 187 L5547 L5548 +label L5547 load 188 bindings load 189 callee_params load 190 __loopvar_420_i call 191 pith_list_get_value_strict string 2 189 190 call 192 contains_key bool 2 188 191 -store __and_177_5471 192 -label L5474 -load 193 __and_177_5471 -brif 193 L5469 L5470 -label L5469 +store __and_177_5545 192 +label L5548 +load 193 __and_177_5545 +brif 193 L5543 L5544 +label L5543 load 194 filled load 195 bindings load 196 callee_params @@ -197197,19 +197639,19 @@ load 197 __loopvar_420_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 L5468 -label L5470 +jmp L5542 +label L5544 load 201 filled load 202 __loopvar_420_concrete call 203 pith_list_push_value void 2 201 202 -label L5468 -label L5466 +label L5542 +label L5540 load 204 __for_idx_420 iconst 205 1 add 206 204 205 store __for_idx_420 206 -jmp L5464 -label L5467 +jmp L5538 +label L5541 load 207 filled load 208 callee_params call 209 pith_list_release_handle void 1 208 @@ -197257,8 +197699,8 @@ field 8 7 0 string kind strref 9 m51s37 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L5476 L5477 -label L5476 +brif 10 L5550 L5551 +label L5550 load 12 resolved load 13 type_node field 14 13 8 string value @@ -197271,14 +197713,14 @@ load 19 resolved call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L5479 L5480 -label L5479 +brif 22 L5553 L5554 +label L5553 load 23 resolved load 24 type_node call 25 pith_struct_release void 1 24 ret 23 -label L5480 -label L5478 +label L5554 +label L5552 load 26 type_node field 27 26 8 string value call 28 ir_alias_registry_ir_resolve_type_hint string 1 27 @@ -197287,8 +197729,8 @@ call 30 pith_struct_release void 1 29 load 31 resolved call 32 pith_cstring_release void 1 31 ret 28 -label L5477 -label L5475 +label L5551 +label L5549 load 33 type_idx load 34 ir_alias_registry_ir_active_generic_params load 35 ir_alias_registry_ir_active_generic_concrete_types @@ -197315,14 +197757,14 @@ call 4 pith_list_release_handle void 1 2 store concrete_types 3 iconst 5 1 store i 5 -label L5481 +label L5555 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 L5482 L5483 -label L5482 +brif 10 L5556 L5557 +label L5556 load 11 concrete_types load 12 index_node field 13 12 16 list children @@ -197334,8 +197776,8 @@ load 18 i iconst 19 1 add 20 18 19 store i 20 -jmp L5481 -label L5483 +jmp L5555 +label L5557 load 21 concrete_types ret 21 load 22 concrete_types @@ -197366,12 +197808,12 @@ iconst 13 0 store __for_idx_421 13 store __for_len_421 12 store __for_iter_421 11 -label L5484 +label L5558 load 14 __for_idx_421 load 15 __for_len_421 lt 16 14 15 -brif 16 L5485 L5487 -label L5485 +brif 16 L5559 L5561 +label L5559 load 17 __for_iter_421 load 18 __for_idx_421 call 19 pith_list_get_value unknown 2 17 18 @@ -197386,8 +197828,8 @@ field 25 24 0 string kind strref 26 m51s69 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L5489 L5490 -label L5489 +brif 27 L5563 L5564 +label L5563 load 29 param_type strref 30 m51s83 call 31 pith_cstring_release void 1 29 @@ -197396,8 +197838,8 @@ load 32 param_idx load 33 param_types call 34 pith_list_len int 1 33 lt 35 32 34 -brif 35 L5492 L5493 -label L5492 +brif 35 L5566 L5567 +label L5566 load 36 param_type load 37 param_types load 38 param_idx @@ -197405,9 +197847,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 L5491 -label L5493 -label L5491 +jmp L5565 +label L5567 +label L5565 load 42 cn field 43 42 8 string value load 44 param_type @@ -197418,16 +197860,16 @@ load 48 param_idx iconst 49 1 add 50 48 49 store param_idx 50 -jmp L5488 -label L5490 -label L5488 -label L5486 +jmp L5562 +label L5564 +label L5562 +label L5560 load 51 __for_idx_421 iconst 52 1 add 53 51 52 store __for_idx_421 53 -jmp L5484 -label L5487 +jmp L5558 +label L5561 load 54 node call 55 pith_struct_release void 1 54 load 56 cn @@ -197458,12 +197900,12 @@ iconst 11 0 store __for_idx_422 11 store __for_len_422 10 store __for_iter_422 9 -label L5494 +label L5568 load 12 __for_idx_422 load 13 __for_len_422 lt 14 12 13 -brif 14 L5495 L5497 -label L5495 +brif 14 L5569 L5571 +label L5569 load 15 __for_iter_422 load 16 __for_idx_422 call 17 pith_list_get_value unknown 2 15 16 @@ -197473,11 +197915,11 @@ store __loopvar_422_i 18 load 19 __loopvar_422_i iconst 20 0 eq 21 19 20 -brif 21 L5499 L5500 -label L5499 -jmp L5496 -label L5500 -label L5498 +brif 21 L5573 L5574 +label L5573 +jmp L5570 +label L5574 +label L5572 load 22 child_kind load 23 __loopvar_422_child call 24 ast_node_kind string 1 23 @@ -197489,8 +197931,8 @@ load 27 child_kind strref 28 m51s42 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L5502 L5503 -label L5502 +brif 29 L5576 L5577 +label L5576 load 31 cn load 32 __loopvar_422_child call 33 ast_get_node struct:Node 1 32 @@ -197501,19 +197943,19 @@ field 36 35 16 list children call 37 pith_list_len int 1 36 iconst 38 0 gt 39 37 38 -brif 39 L5505 L5506 -label L5505 +brif 39 L5579 L5580 +label L5579 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 L5504 -label L5506 -label L5504 -jmp L5501 -label L5503 -label L5501 +jmp L5578 +label L5580 +label L5578 +jmp L5575 +label L5577 +label L5575 load 44 checked load 45 expr_idx call 46 ir_type_helpers_ir_checked_type string 1 45 @@ -197523,25 +197965,25 @@ load 48 checked call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L5508 L5509 -label L5508 +brif 51 L5582 L5583 +label L5582 load 52 arg_types load 53 checked call 54 pith_list_push_value void 2 52 53 -jmp L5507 -label L5509 +jmp L5581 +label L5583 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 L5507 -label L5496 +label L5581 +label L5570 load 59 __for_idx_422 iconst 60 1 add 61 59 60 store __for_idx_422 61 -jmp L5494 -label L5497 +jmp L5568 +label L5571 load 62 arg_types load 63 child_kind call 64 pith_cstring_release void 1 63 @@ -197580,12 +198022,12 @@ iconst 10 0 store __for_idx_423 10 store __for_len_423 9 store __for_iter_423 8 -label L5510 +label L5584 load 11 __for_idx_423 load 12 __for_len_423 lt 13 11 12 -brif 13 L5511 L5513 -label L5511 +brif 13 L5585 L5587 +label L5585 load 14 __for_iter_423 load 15 __for_idx_423 call 16 pith_list_get_value unknown 2 14 15 @@ -197595,11 +198037,11 @@ store __loopvar_423_i 17 load 18 __loopvar_423_i iconst 19 0 eq 20 18 19 -brif 20 L5515 L5516 -label L5515 -jmp L5512 -label L5516 -label L5514 +brif 20 L5589 L5590 +label L5589 +jmp L5586 +label L5590 +label L5588 load 21 child_kind load 22 __loopvar_423_child call 23 ast_node_kind string 1 22 @@ -197611,8 +198053,8 @@ load 26 child_kind strref 27 m51s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L5518 L5519 -label L5518 +brif 28 L5592 L5593 +label L5592 load 30 cn load 31 __loopvar_423_child call 32 ast_get_node struct:Node 1 31 @@ -197623,30 +198065,30 @@ field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -brif 38 L5521 L5522 -label L5521 +brif 38 L5595 L5596 +label L5595 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 L5520 -label L5522 -label L5520 -jmp L5517 -label L5519 -label L5517 +jmp L5594 +label L5596 +label L5594 +jmp L5591 +label L5593 +label L5591 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 L5512 +label L5586 load 47 __for_idx_423 iconst 48 1 add 49 47 48 store __for_idx_423 49 -jmp L5510 -label L5513 +jmp L5584 +label L5587 load 50 arg_tids load 51 child_kind call 52 pith_cstring_release void 1 51 @@ -197676,8 +198118,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 L5524 L5525 -label L5524 +brif 10 L5598 L5599 +label L5598 load 11 type_name call 12 pith_cstring_retain void 1 11 load 13 parts @@ -197685,8 +198127,8 @@ call 14 pith_list_release_handle void 1 13 load 15 akey call 16 pith_cstring_release void 1 15 ret 11 -label L5525 -label L5523 +label L5599 +label L5597 load 17 parts load 18 type_name strref 19 m51s26 @@ -197698,8 +198140,8 @@ load 23 parts call 24 pith_list_len int 1 23 iconst 25 2 neq 26 24 25 -brif 26 L5527 L5528 -label L5527 +brif 26 L5601 L5602 +label L5601 load 27 type_name call 28 pith_cstring_retain void 1 27 load 29 parts @@ -197707,8 +198149,8 @@ call 30 pith_list_release_handle void 1 29 load 31 akey call 32 pith_cstring_release void 1 31 ret 27 -label L5528 -label L5526 +label L5602 +label L5600 iconst 33 0 store i 33 load 34 params @@ -197717,35 +198159,35 @@ iconst 36 0 store __for_idx_424 36 store __for_len_424 35 store __for_iter_424 34 -label L5529 +label L5603 load 37 __for_idx_424 load 38 __for_len_424 lt 39 37 38 -brif 39 L5530 L5532 -label L5530 +brif 39 L5604 L5606 +label L5604 load 40 __for_iter_424 load 41 __for_idx_424 call 42 pith_list_get_value_unchecked string 2 40 41 store __loopvar_424_p 42 iconst 43 0 -store __and_43_5536 43 +store __and_43_5610 43 load 44 __loopvar_424_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_5536 48 -brif 48 L5536 L5537 -label L5536 +store __and_43_5610 48 +brif 48 L5610 L5611 +label L5610 load 49 i load 50 concrete call 51 pith_list_len int 1 50 lt 52 49 51 -store __and_43_5536 52 -label L5537 -load 53 __and_43_5536 -brif 53 L5534 L5535 -label L5534 +store __and_43_5610 52 +label L5611 +load 53 __and_43_5610 +brif 53 L5608 L5609 +label L5608 load 54 akey load 55 concrete load 56 i @@ -197765,8 +198207,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 L5539 L5540 -label L5539 +brif 71 L5613 L5614 +label L5613 load 72 ir_method_tables_ir_assoc_bindings load 73 akey call 74 map_get_strict string 2 72 73 @@ -197776,22 +198218,22 @@ call 77 pith_list_release_handle void 1 76 load 78 akey call 79 pith_cstring_release void 1 78 ret 74 -label L5540 -label L5538 -jmp L5533 -label L5535 -label L5533 +label L5614 +label L5612 +jmp L5607 +label L5609 +label L5607 load 80 i iconst 81 1 add 82 80 81 store i 82 -label L5531 +label L5605 load 83 __for_idx_424 iconst 84 1 add 85 83 84 store __for_idx_424 85 -jmp L5529 -label L5532 +jmp L5603 +label L5606 load 86 type_name call 87 pith_cstring_retain void 1 86 load 88 parts @@ -197839,8 +198281,8 @@ load 15 key call 16 contains_key bool 2 14 15 iconst 18 1 sub 17 18 16 -brif 17 L5542 L5543 -label L5542 +brif 17 L5616 L5617 +label L5616 load 19 base_name call 20 pith_cstring_release void 1 19 load 21 decl_node @@ -197869,8 +198311,8 @@ load 43 spec_poisoned call 44 pith_list_release_handle void 1 43 iconst 45 0 ret 45 -label L5543 -label L5541 +label L5617 +label L5615 load 46 base_name load 47 key iconst 48 9 @@ -197887,8 +198329,8 @@ load 57 base_name call 58 contains_key bool 2 56 57 iconst 60 1 sub 59 60 58 -brif 59 L5545 L5546 -label L5545 +brif 59 L5619 L5620 +label L5619 load 61 base_name call 62 pith_cstring_release void 1 61 load 63 decl_node @@ -197917,8 +198359,8 @@ load 85 spec_poisoned call 86 pith_list_release_handle void 1 85 iconst 87 0 ret 87 -label L5546 -label L5544 +label L5620 +label L5618 load 88 ir_generics_ir_generic_decl_indices load 89 base_name call 90 map_get_strict int 2 88 89 @@ -197981,12 +198423,12 @@ iconst 136 0 store __for_idx_425 136 store __for_len_425 135 store __for_iter_425 134 -label L5547 +label L5621 load 137 __for_idx_425 load 138 __for_len_425 lt 139 137 138 -brif 139 L5548 L5550 -label L5548 +brif 139 L5622 L5624 +label L5622 load 140 __for_iter_425 load 141 __for_idx_425 call 142 pith_list_get_value_unchecked string 2 140 141 @@ -197997,13 +198439,13 @@ load 145 generic_params load 146 concrete_types call 147 ir_emitter_core_ir_resolve_assoc_in_generic string 3 144 145 146 call 148 pith_list_push_value_owned void 2 143 147 -label L5549 +label L5623 load 149 __for_idx_425 iconst 150 1 add 151 149 150 store __for_idx_425 151 -jmp L5547 -label L5550 +jmp L5621 +label L5624 load 152 param_types load 153 resolved_param_types call 154 pith_list_retain_handle void 1 153 @@ -198046,18 +198488,18 @@ store ir_alias_registry_ir_active_param_optional_tids 180 load 181 ir_generics_ir_generic_decl_module_paths load 182 base_name call 183 contains_key bool 2 181 182 -brif 183 L5552 L5553 -label L5552 +brif 183 L5626 L5627 +label L5626 load 184 ir_generics_ir_generic_decl_module_paths load 185 base_name call 186 map_get_strict string 2 184 185 call 187 pith_cstring_retain void 1 186 store ir_alias_registry_ir_active_generic_module_path 186 -jmp L5551 -label L5553 +jmp L5625 +label L5627 strref 188 m51s83 store ir_alias_registry_ir_active_generic_module_path 188 -label L5551 +label L5625 load 189 ret_type call 190 ir_emitter_core_ir_prepare_func_emission void 1 189 load 191 ir_emitter_core_ir_current_func_optional_inner_kind @@ -198086,118 +198528,118 @@ load 211 spec_name load 212 ret_type call 213 map_insert void 3 210 211 212 iconst 214 0 -store __and_214_5557 214 +store __and_214_5631 214 load 215 concrete_types call 216 pith_list_len int 1 215 iconst 217 1 eq 218 216 217 -store __and_214_5557 218 -brif 218 L5557 L5558 -label L5557 +store __and_214_5631 218 +brif 218 L5631 L5632 +label L5631 load 219 base_name iconst 220 0 load 221 ir_alias_registry_ir_active_generic_module_path load 222 decl_idx call 223 ir_decode_calls_ir_is_config_decode_specialization bool 4 219 220 221 222 -store __and_214_5557 223 -label L5558 -load 224 __and_214_5557 -brif 224 L5555 L5556 -label L5555 +store __and_214_5631 223 +label L5632 +load 224 __and_214_5631 +brif 224 L5629 L5630 +label L5629 load 225 concrete_types iconst 226 0 call 227 pith_list_get_value_strict string 2 225 226 iconst 228 0 closure_ref 229 ir_emitter_core___fnval_0 closure_ref 230 ir_emitter_core___fnval_1 -closure_ref 231 ir_emitter_core___fnval_3 +closure_ref 231 ir_emitter_core___fnval_4 call 232 ir_decode_emit_ir_emit_config_decode_specialization_body void 5 227 228 229 230 231 call 233 pith_closure_release void 1 229 call 234 pith_closure_release void 1 230 call 235 pith_closure_release void 1 231 -jmp L5554 -label L5556 +jmp L5628 +label L5630 iconst 236 0 -store __and_236_5561 236 +store __and_236_5635 236 load 237 concrete_types call 238 pith_list_len int 1 237 iconst 239 1 eq 240 238 239 -store __and_236_5561 240 -brif 240 L5561 L5562 -label L5561 +store __and_236_5635 240 +brif 240 L5635 L5636 +label L5635 load 241 base_name iconst 242 1 load 243 ir_alias_registry_ir_active_generic_module_path load 244 decl_idx call 245 ir_decode_calls_ir_is_config_decode_specialization bool 4 241 242 243 244 -store __and_236_5561 245 -label L5562 -load 246 __and_236_5561 -brif 246 L5559 L5560 -label L5559 +store __and_236_5635 245 +label L5636 +load 246 __and_236_5635 +brif 246 L5633 L5634 +label L5633 load 247 concrete_types iconst 248 0 call 249 pith_list_get_value_strict string 2 247 248 iconst 250 1 closure_ref 251 ir_emitter_core___fnval_0 closure_ref 252 ir_emitter_core___fnval_1 -closure_ref 253 ir_emitter_core___fnval_3 +closure_ref 253 ir_emitter_core___fnval_4 call 254 ir_decode_emit_ir_emit_config_decode_specialization_body void 5 249 250 251 252 253 call 255 pith_closure_release void 1 251 call 256 pith_closure_release void 1 252 call 257 pith_closure_release void 1 253 -jmp L5554 -label L5560 +jmp L5628 +label L5634 iconst 258 0 -store __and_258_5565 258 +store __and_258_5639 258 load 259 concrete_types call 260 pith_list_len int 1 259 iconst 261 1 eq 262 260 261 -store __and_258_5565 262 -brif 262 L5565 L5566 -label L5565 +store __and_258_5639 262 +brif 262 L5639 L5640 +label L5639 load 263 base_name load 264 ir_alias_registry_ir_active_generic_module_path load 265 decl_idx call 266 ir_decode_calls_ir_is_handle_decode_specialization bool 3 263 264 265 -store __and_258_5565 266 -label L5566 -load 267 __and_258_5565 -brif 267 L5563 L5564 -label L5563 +store __and_258_5639 266 +label L5640 +load 267 __and_258_5639 +brif 267 L5637 L5638 +label L5637 load 268 concrete_types iconst 269 0 call 270 pith_list_get_value_strict string 2 268 269 load 271 ir_alias_registry_ir_active_generic_module_path closure_ref 272 ir_emitter_core___fnval_0 closure_ref 273 ir_emitter_core___fnval_1 -closure_ref 274 ir_emitter_core___fnval_3 +closure_ref 274 ir_emitter_core___fnval_4 call 275 ir_decode_emit_ir_emit_handle_decode_specialization_body void 5 270 271 272 273 274 call 276 pith_closure_release void 1 272 call 277 pith_closure_release void 1 273 call 278 pith_closure_release void 1 274 -jmp L5554 -label L5564 +jmp L5628 +label L5638 iconst 279 0 -store __and_279_5569 279 +store __and_279_5643 279 load 280 concrete_types call 281 pith_list_len int 1 280 iconst 282 1 eq 283 281 282 -store __and_279_5569 283 -brif 283 L5569 L5570 -label L5569 +store __and_279_5643 283 +brif 283 L5643 L5644 +label L5643 load 284 base_name load 285 ir_alias_registry_ir_active_generic_module_path load 286 decl_idx call 287 ir_decode_calls_ir_is_handle_decode_text_specialization bool 3 284 285 286 -store __and_279_5569 287 -label L5570 -load 288 __and_279_5569 -brif 288 L5567 L5568 -label L5567 +store __and_279_5643 287 +label L5644 +load 288 __and_279_5643 +brif 288 L5641 L5642 +label L5641 load 289 concrete_types iconst 290 0 call 291 pith_list_get_value_strict string 2 289 290 @@ -198205,57 +198647,57 @@ load 292 ir_alias_registry_ir_active_generic_module_path load 293 concrete_types load 294 ret_type call 295 ir_decode_emit_ir_emit_handle_decode_text_specialization_body void 4 291 292 293 294 -jmp L5554 -label L5568 +jmp L5628 +label L5642 iconst 296 0 -store __and_296_5573 296 +store __and_296_5647 296 load 297 concrete_types call 298 pith_list_len int 1 297 iconst 299 1 eq 300 298 299 -store __and_296_5573 300 -brif 300 L5573 L5574 -label L5573 +store __and_296_5647 300 +brif 300 L5647 L5648 +label L5647 load 301 base_name load 302 ir_alias_registry_ir_active_generic_module_path load 303 decl_idx call 304 ir_decode_calls_ir_is_handle_decode_path_specialization bool 3 301 302 303 -store __and_296_5573 304 -label L5574 -load 305 __and_296_5573 -brif 305 L5571 L5572 -label L5571 +store __and_296_5647 304 +label L5648 +load 305 __and_296_5647 +brif 305 L5645 L5646 +label L5645 load 306 concrete_types iconst 307 0 call 308 pith_list_get_value_strict string 2 306 307 load 309 ir_alias_registry_ir_active_generic_module_path closure_ref 310 ir_emitter_core___fnval_0 closure_ref 311 ir_emitter_core___fnval_1 -closure_ref 312 ir_emitter_core___fnval_3 +closure_ref 312 ir_emitter_core___fnval_4 call 313 ir_decode_emit_ir_emit_handle_decode_path_specialization_body void 5 308 309 310 311 312 call 314 pith_closure_release void 1 310 call 315 pith_closure_release void 1 311 call 316 pith_closure_release void 1 312 -jmp L5554 -label L5572 +jmp L5628 +label L5646 iconst 317 0 -store __and_317_5577 317 +store __and_317_5651 317 load 318 concrete_types call 319 pith_list_len int 1 318 iconst 320 1 eq 321 319 320 -store __and_317_5577 321 -brif 321 L5577 L5578 -label L5577 +store __and_317_5651 321 +brif 321 L5651 L5652 +label L5651 load 322 base_name load 323 ir_alias_registry_ir_active_generic_module_path load 324 decl_idx call 325 ir_decode_calls_ir_is_handle_decode_text_path_specialization bool 3 322 323 324 -store __and_317_5577 325 -label L5578 -load 326 __and_317_5577 -brif 326 L5575 L5576 -label L5575 +store __and_317_5651 325 +label L5652 +load 326 __and_317_5651 +brif 326 L5649 L5650 +label L5649 load 327 concrete_types iconst 328 0 call 329 pith_list_get_value_strict string 2 327 328 @@ -198263,128 +198705,128 @@ load 330 ir_alias_registry_ir_active_generic_module_path load 331 concrete_types load 332 ret_type call 333 ir_decode_emit_ir_emit_handle_decode_text_path_specialization_body void 4 329 330 331 332 -jmp L5554 -label L5576 +jmp L5628 +label L5650 iconst 334 0 -store __and_334_5581 334 +store __and_334_5655 334 load 335 concrete_types call 336 pith_list_len int 1 335 iconst 337 1 eq 338 336 337 -store __and_334_5581 338 -brif 338 L5581 L5582 -label L5581 +store __and_334_5655 338 +brif 338 L5655 L5656 +label L5655 load 339 base_name load 340 ir_alias_registry_ir_active_generic_module_path load 341 decl_idx iconst 342 0 call 343 ir_decode_calls_ir_is_json_decode_specialization bool 4 339 340 341 342 -store __and_334_5581 343 -label L5582 -load 344 __and_334_5581 -brif 344 L5579 L5580 -label L5579 +store __and_334_5655 343 +label L5656 +load 344 __and_334_5655 +brif 344 L5653 L5654 +label L5653 load 345 concrete_types iconst 346 0 call 347 pith_list_get_value_strict string 2 345 346 load 348 ir_alias_registry_ir_active_generic_module_path iconst 349 0 closure_ref 350 ir_emitter_core___fnval_1 -closure_ref 351 ir_emitter_core___fnval_3 +closure_ref 351 ir_emitter_core___fnval_4 call 352 ir_decode_emit_ir_emit_json_decode_specialization_body void 5 347 348 349 350 351 call 353 pith_closure_release void 1 350 call 354 pith_closure_release void 1 351 -jmp L5554 -label L5580 +jmp L5628 +label L5654 iconst 355 0 -store __and_355_5585 355 +store __and_355_5659 355 load 356 concrete_types call 357 pith_list_len int 1 356 iconst 358 1 eq 359 357 358 -store __and_355_5585 359 -brif 359 L5585 L5586 -label L5585 +store __and_355_5659 359 +brif 359 L5659 L5660 +label L5659 load 360 base_name load 361 ir_alias_registry_ir_active_generic_module_path load 362 decl_idx iconst 363 1 call 364 ir_decode_calls_ir_is_json_decode_specialization bool 4 360 361 362 363 -store __and_355_5585 364 -label L5586 -load 365 __and_355_5585 -brif 365 L5583 L5584 -label L5583 +store __and_355_5659 364 +label L5660 +load 365 __and_355_5659 +brif 365 L5657 L5658 +label L5657 load 366 concrete_types iconst 367 0 call 368 pith_list_get_value_strict string 2 366 367 load 369 ir_alias_registry_ir_active_generic_module_path iconst 370 1 closure_ref 371 ir_emitter_core___fnval_1 -closure_ref 372 ir_emitter_core___fnval_3 +closure_ref 372 ir_emitter_core___fnval_4 call 373 ir_decode_emit_ir_emit_json_decode_specialization_body void 5 368 369 370 371 372 call 374 pith_closure_release void 1 371 call 375 pith_closure_release void 1 372 -jmp L5554 -label L5584 +jmp L5628 +label L5658 iconst 376 0 -store __and_376_5589 376 +store __and_376_5663 376 load 377 concrete_types call 378 pith_list_len int 1 377 iconst 379 1 eq 380 378 379 -store __and_376_5589 380 -brif 380 L5589 L5590 -label L5589 +store __and_376_5663 380 +brif 380 L5663 L5664 +label L5663 load 381 base_name load 382 ir_alias_registry_ir_active_generic_module_path load 383 decl_idx call 384 ir_decode_calls_ir_is_json_decode_object_specialization bool 3 381 382 383 -store __and_376_5589 384 -label L5590 -load 385 __and_376_5589 -brif 385 L5587 L5588 -label L5587 +store __and_376_5663 384 +label L5664 +load 385 __and_376_5663 +brif 385 L5661 L5662 +label L5661 load 386 concrete_types iconst 387 0 call 388 pith_list_get_value_strict string 2 386 387 load 389 ir_alias_registry_ir_active_generic_module_path closure_ref 390 ir_emitter_core___fnval_1 -closure_ref 391 ir_emitter_core___fnval_3 +closure_ref 391 ir_emitter_core___fnval_4 call 392 ir_decode_emit_ir_emit_json_decode_object_specialization_body void 4 388 389 390 391 call 393 pith_closure_release void 1 390 call 394 pith_closure_release void 1 391 -jmp L5554 -label L5588 +jmp L5628 +label L5662 iconst 395 0 -store __and_395_5593 395 +store __and_395_5667 395 load 396 concrete_types call 397 pith_list_len int 1 396 iconst 398 1 eq 399 397 398 -store __and_395_5593 399 -brif 399 L5593 L5594 -label L5593 +store __and_395_5667 399 +brif 399 L5667 L5668 +label L5667 load 400 base_name load 401 ir_alias_registry_ir_active_generic_module_path load 402 decl_idx call 403 ir_decode_calls_ir_is_json_decode_path_specialization bool 3 400 401 402 -store __and_395_5593 403 -label L5594 -load 404 __and_395_5593 -brif 404 L5591 L5592 -label L5591 +store __and_395_5667 403 +label L5668 +load 404 __and_395_5667 +brif 404 L5665 L5666 +label L5665 load 405 concrete_types iconst 406 0 call 407 pith_list_get_value_strict string 2 405 406 load 408 ir_alias_registry_ir_active_generic_module_path closure_ref 409 ir_emitter_core___fnval_1 -closure_ref 410 ir_emitter_core___fnval_3 +closure_ref 410 ir_emitter_core___fnval_4 call 411 ir_decode_emit_ir_emit_json_decode_path_specialization_body void 4 407 408 409 410 call 412 pith_closure_release void 1 409 call 413 pith_closure_release void 1 410 -jmp L5554 -label L5592 +jmp L5628 +label L5666 load 414 spec_poisoned call 415 pith_list_new_cstr list 0 call 416 pith_list_release_handle void 1 414 @@ -198399,12 +198841,12 @@ iconst 423 0 store __for_idx_426 423 store __for_len_426 422 store __for_iter_426 421 -label L5595 +label L5669 load 424 __for_idx_426 load 425 __for_len_426 lt 426 424 425 -brif 426 L5596 L5598 -label L5596 +brif 426 L5670 L5672 +label L5670 load 427 __for_iter_426 load 428 __for_idx_426 call 429 pith_list_get_value_unchecked string 2 427 428 @@ -198412,59 +198854,59 @@ store __loopvar_426_bn 429 load 430 ir_builder_ir_untracked_rc_binds load 431 __loopvar_426_bn iconst 432 -1 -store __list_index_result_L5602 432 +store __list_index_result_L5676 432 iconst 433 0 -store __list_index_i_L5603 433 +store __list_index_i_L5677 433 call 434 pith_list_len int 1 430 -label L5604 -load 435 __list_index_i_L5603 +label L5678 +load 435 __list_index_i_L5677 lt 436 435 434 -brif 436 L5605 L5608 -label L5605 +brif 436 L5679 L5682 +label L5679 call 437 pith_list_get_value string 2 430 435 call 438 pith_cstring_eq bool 2 437 431 -brif 438 L5606 L5607 -label L5606 -store __list_index_result_L5602 435 -jmp L5608 -label L5607 +brif 438 L5680 L5681 +label L5680 +store __list_index_result_L5676 435 +jmp L5682 +label L5681 iconst 439 1 add 440 435 439 -store __list_index_i_L5603 440 -jmp L5604 -label L5608 -load 441 __list_index_result_L5602 +store __list_index_i_L5677 440 +jmp L5678 +label L5682 +load 441 __list_index_result_L5676 iconst 442 0 gte 443 441 442 iconst 445 1 sub 444 445 443 -brif 444 L5600 L5601 -label L5600 +brif 444 L5674 L5675 +label L5674 load 446 ir_builder_ir_untracked_rc_binds load 447 __loopvar_426_bn call 448 pith_list_push_value void 2 446 447 -jmp L5599 -label L5601 -label L5599 -label L5597 +jmp L5673 +label L5675 +label L5673 +label L5671 load 449 __for_idx_426 iconst 450 1 add 451 449 450 store __for_idx_426 451 -jmp L5595 -label L5598 +jmp L5669 +label L5672 load 452 spec_poisoned call 453 pith_auto_len int 1 452 iconst 454 0 store __for_idx_427 454 store __for_len_427 453 store __for_iter_427 452 -label L5609 +label L5683 load 455 __for_idx_427 load 456 __for_len_427 lt 457 455 456 -brif 457 L5610 L5612 -label L5610 +brif 457 L5684 L5686 +label L5684 load 458 __for_iter_427 load 459 __for_idx_427 call 460 pith_list_get_value_unchecked string 2 458 459 @@ -198472,54 +198914,54 @@ store __loopvar_427_pn 460 load 461 ir_builder_ir_untracked_rc_binds load 462 __loopvar_427_pn iconst 463 -1 -store __list_index_result_L5616 463 +store __list_index_result_L5690 463 iconst 464 0 -store __list_index_i_L5617 464 +store __list_index_i_L5691 464 call 465 pith_list_len int 1 461 -label L5618 -load 466 __list_index_i_L5617 +label L5692 +load 466 __list_index_i_L5691 lt 467 466 465 -brif 467 L5619 L5622 -label L5619 +brif 467 L5693 L5696 +label L5693 call 468 pith_list_get_value string 2 461 466 call 469 pith_cstring_eq bool 2 468 462 -brif 469 L5620 L5621 -label L5620 -store __list_index_result_L5616 466 -jmp L5622 -label L5621 +brif 469 L5694 L5695 +label L5694 +store __list_index_result_L5690 466 +jmp L5696 +label L5695 iconst 470 1 add 471 466 470 -store __list_index_i_L5617 471 -jmp L5618 -label L5622 -load 472 __list_index_result_L5616 +store __list_index_i_L5691 471 +jmp L5692 +label L5696 +load 472 __list_index_result_L5690 iconst 473 0 gte 474 472 473 iconst 476 1 sub 475 476 474 -brif 475 L5614 L5615 -label L5614 +brif 475 L5688 L5689 +label L5688 load 477 ir_builder_ir_untracked_rc_binds load 478 __loopvar_427_pn call 479 pith_list_push_value void 2 477 478 -jmp L5613 -label L5615 -label L5613 -label L5611 +jmp L5687 +label L5689 +label L5687 +label L5685 load 480 __for_idx_427 iconst 481 1 add 482 480 481 store __for_idx_427 482 -jmp L5609 -label L5612 +jmp L5683 +label L5686 call 483 pith_list_new_cstr list 0 store ir_emitter_core_ir_string_locals 483 call 484 pith_list_new_cstr list 0 store ir_emitter_core_ir_rc_local_kinds 484 load 485 body_idx call 486 ir_emitter_core_ir_finish_func_emission void 1 485 -label L5554 +label L5628 load 487 saved_params call 488 pith_list_retain_handle void 1 487 store ir_alias_registry_ir_active_generic_params 487 @@ -198571,62 +199013,62 @@ store direct 2 load 3 direct iconst 4 0 gte 5 3 4 -brif 5 L5624 L5625 -label L5624 +brif 5 L5698 L5699 +label L5698 load 6 direct ret 6 -label L5625 -label L5623 +label L5699 +label L5697 load 7 name strref 8 m51s712 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L5627 L5628 -label L5627 +brif 9 L5701 L5702 +label L5701 load 11 types_TID_INT ret 11 -label L5628 -label L5626 +label L5702 +label L5700 load 12 name strref 13 m51s713 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L5630 L5631 -label L5630 +brif 14 L5704 L5705 +label L5704 load 16 types_TID_FLOAT ret 16 -label L5631 -label L5629 +label L5705 +label L5703 load 17 name strref 18 m51s714 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L5633 L5634 -label L5633 +brif 19 L5707 L5708 +label L5707 load 21 types_TID_BOOL ret 21 -label L5634 -label L5632 +label L5708 +label L5706 load 22 name strref 23 m51s716 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L5636 L5637 -label L5636 +brif 24 L5710 L5711 +label L5710 load 26 types_TID_STRING ret 26 -label L5637 -label L5635 +label L5711 +label L5709 load 27 name strref 28 m51s715 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L5639 L5640 -label L5639 +brif 29 L5713 L5714 +label L5713 load 31 types_TID_BYTES ret 31 -label L5640 -label L5638 +label L5714 +label L5712 iconst 32 1 iconst 34 0 sub 33 34 32 @@ -198652,8 +199094,8 @@ field 9 8 0 string kind strref 10 m51s316 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L5642 L5643 -label L5642 +brif 11 L5716 L5717 +label L5716 load 13 name load 14 tn field 15 14 8 string value @@ -198666,12 +199108,12 @@ iconst 20 0 store __for_idx_428 20 store __for_len_428 19 store __for_iter_428 18 -label L5644 +label L5718 load 21 __for_idx_428 load 22 __for_len_428 lt 23 21 22 -brif 23 L5645 L5647 -label L5645 +brif 23 L5719 L5721 +label L5719 load 24 __for_iter_428 load 25 __for_idx_428 call 26 pith_list_get_value_unchecked string 2 24 25 @@ -198679,22 +199121,22 @@ store __loopvar_428_generic_param 26 load 27 __for_idx_428 store __loopvar_428_i 27 iconst 28 0 -store __and_28_5651 28 +store __and_28_5725 28 load 29 __loopvar_428_generic_param load 30 name call 31 pith_cstring_eq bool 2 29 30 -store __and_28_5651 31 -brif 31 L5651 L5652 -label L5651 +store __and_28_5725 31 +brif 31 L5725 L5726 +label L5725 load 32 __loopvar_428_i load 33 ir_alias_registry_ir_active_generic_concrete_types call 34 pith_list_len int 1 33 lt 35 32 34 -store __and_28_5651 35 -label L5652 -load 36 __and_28_5651 -brif 36 L5649 L5650 -label L5649 +store __and_28_5725 35 +label L5726 +load 36 __and_28_5725 +brif 36 L5723 L5724 +label L5723 load 37 name load 38 ir_alias_registry_ir_active_generic_concrete_types load 39 __loopvar_428_i @@ -198702,16 +199144,16 @@ call 40 pith_list_get_value_strict string 2 38 39 call 41 pith_cstring_retain void 1 40 call 42 pith_cstring_release void 1 37 store name 40 -jmp L5648 -label L5650 -label L5648 -label L5646 +jmp L5722 +label L5724 +label L5722 +label L5720 load 43 __for_idx_428 iconst 44 1 add 45 43 44 store __for_idx_428 45 -jmp L5644 -label L5647 +jmp L5718 +label L5721 load 46 name call 47 ir_emitter_core_ir_tid_for_declared_type_name int 1 46 load 48 tn @@ -198721,35 +199163,35 @@ call 51 pith_cstring_release void 1 50 load 52 element_tids call 53 pith_list_release_handle void 1 52 ret 47 -label L5643 -label L5641 +label L5717 +label L5715 load 54 tn field 55 54 0 string kind strref 56 m51s336 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -brif 57 L5654 L5655 -label L5654 +brif 57 L5728 L5729 +label L5728 iconst 59 0 -store __and_59_5659 59 +store __and_59_5733 59 load 60 tn field 61 60 8 string value strref 62 m51s335 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __and_59_5659 63 -brif 63 L5659 L5660 -label L5659 +store __and_59_5733 63 +brif 63 L5733 L5734 +label L5733 load 65 tn field 66 65 16 list children call 67 pith_list_len int 1 66 iconst 68 1 eq 69 67 68 -store __and_59_5659 69 -label L5660 -load 70 __and_59_5659 -brif 70 L5657 L5658 -label L5657 +store __and_59_5733 69 +label L5734 +load 70 __and_59_5733 +brif 70 L5731 L5732 +label L5731 load 71 tn field 72 71 16 list children iconst 73 0 @@ -198759,8 +199201,8 @@ store elem 75 load 76 elem iconst 77 0 lt 78 76 77 -brif 78 L5662 L5663 -label L5662 +brif 78 L5736 L5737 +label L5736 iconst 79 1 iconst 81 0 sub 80 81 79 @@ -198771,8 +199213,8 @@ call 85 pith_cstring_release void 1 84 load 86 element_tids call 87 pith_list_release_handle void 1 86 ret 80 -label L5663 -label L5661 +label L5737 +label L5735 load 88 elem call 89 types_ti_list struct:TypeInfo 1 88 call 90 types_add_type_info int 1 89 @@ -198784,28 +199226,28 @@ call 95 pith_cstring_release void 1 94 load 96 element_tids call 97 pith_list_release_handle void 1 96 ret 90 -label L5658 -label L5656 +label L5732 +label L5730 iconst 98 0 -store __and_98_5667 98 +store __and_98_5741 98 load 99 tn field 100 99 8 string value strref 101 m51s334 call 102 pith_cstring_eq bool 2 100 101 call 103 pith_cstring_release void 1 101 -store __and_98_5667 102 -brif 102 L5667 L5668 -label L5667 +store __and_98_5741 102 +brif 102 L5741 L5742 +label L5741 load 104 tn field 105 104 16 list children call 106 pith_list_len int 1 105 iconst 107 1 eq 108 106 107 -store __and_98_5667 108 -label L5668 -load 109 __and_98_5667 -brif 109 L5665 L5666 -label L5665 +store __and_98_5741 108 +label L5742 +load 109 __and_98_5741 +brif 109 L5739 L5740 +label L5739 load 110 tn field 111 110 16 list children iconst 112 0 @@ -198815,8 +199257,8 @@ store elem 114 load 115 elem iconst 116 0 lt 117 115 116 -brif 117 L5670 L5671 -label L5670 +brif 117 L5744 L5745 +label L5744 iconst 118 1 iconst 120 0 sub 119 120 118 @@ -198827,8 +199269,8 @@ call 124 pith_cstring_release void 1 123 load 125 element_tids call 126 pith_list_release_handle void 1 125 ret 119 -label L5671 -label L5669 +label L5745 +label L5743 load 127 elem call 128 types_ti_set struct:TypeInfo 1 127 call 129 types_add_type_info int 1 128 @@ -198840,28 +199282,28 @@ call 134 pith_cstring_release void 1 133 load 135 element_tids call 136 pith_list_release_handle void 1 135 ret 129 -label L5666 -label L5664 +label L5740 +label L5738 iconst 137 0 -store __and_137_5675 137 +store __and_137_5749 137 load 138 tn field 139 138 8 string value strref 140 m51s331 call 141 pith_cstring_eq bool 2 139 140 call 142 pith_cstring_release void 1 140 -store __and_137_5675 141 -brif 141 L5675 L5676 -label L5675 +store __and_137_5749 141 +brif 141 L5749 L5750 +label L5749 load 143 tn field 144 143 16 list children call 145 pith_list_len int 1 144 iconst 146 2 eq 147 145 146 -store __and_137_5675 147 -label L5676 -load 148 __and_137_5675 -brif 148 L5673 L5674 -label L5673 +store __and_137_5749 147 +label L5750 +load 148 __and_137_5749 +brif 148 L5747 L5748 +label L5747 load 149 tn field 150 149 16 list children iconst 151 0 @@ -198875,21 +199317,21 @@ call 157 pith_list_get_value_strict int 2 155 156 call 158 ir_emitter_core_ir_declared_type_node_tid int 1 157 store val 158 iconst 159 0 -store __or_159_5680 159 +store __or_159_5754 159 load 160 key iconst 161 0 lt 162 160 161 -store __or_159_5680 162 -brif 162 L5681 L5680 -label L5680 +store __or_159_5754 162 +brif 162 L5755 L5754 +label L5754 load 163 val iconst 164 0 lt 165 163 164 -store __or_159_5680 165 -label L5681 -load 166 __or_159_5680 -brif 166 L5678 L5679 -label L5678 +store __or_159_5754 165 +label L5755 +load 166 __or_159_5754 +brif 166 L5752 L5753 +label L5752 iconst 167 1 iconst 169 0 sub 168 169 167 @@ -198900,8 +199342,8 @@ call 173 pith_cstring_release void 1 172 load 174 element_tids call 175 pith_list_release_handle void 1 174 ret 168 -label L5679 -label L5677 +label L5753 +label L5751 load 176 key load 177 val call 178 types_ti_map struct:TypeInfo 2 176 177 @@ -198914,8 +199356,8 @@ call 184 pith_cstring_release void 1 183 load 185 element_tids call 186 pith_list_release_handle void 1 185 ret 179 -label L5674 -label L5672 +label L5748 +label L5746 load 187 tn field 188 187 8 string value call 189 ir_emitter_core_ir_tid_for_declared_type_name int 1 188 @@ -198926,15 +199368,15 @@ call 193 pith_cstring_release void 1 192 load 194 element_tids call 195 pith_list_release_handle void 1 194 ret 189 -label L5655 -label L5653 +label L5729 +label L5727 load 196 tn field 197 196 0 string kind strref 198 m51s329 call 199 pith_cstring_eq bool 2 197 198 call 200 pith_cstring_release void 1 198 -brif 199 L5683 L5684 -label L5683 +brif 199 L5757 L5758 +label L5757 load 201 element_tids call 202 pith_list_new_default list 0 call 203 pith_list_release_handle void 1 201 @@ -198946,12 +199388,12 @@ iconst 207 0 store __for_idx_429 207 store __for_len_429 206 store __for_iter_429 205 -label L5685 +label L5759 load 208 __for_idx_429 load 209 __for_len_429 lt 210 208 209 -brif 210 L5686 L5688 -label L5686 +brif 210 L5760 L5762 +label L5760 load 211 __for_iter_429 load 212 __for_idx_429 call 213 pith_list_get_value unknown 2 211 212 @@ -198962,8 +199404,8 @@ store element_tid 215 load 216 element_tid iconst 217 0 lt 218 216 217 -brif 218 L5690 L5691 -label L5690 +brif 218 L5764 L5765 +label L5764 iconst 219 1 iconst 221 0 sub 220 221 219 @@ -198974,18 +199416,18 @@ call 225 pith_cstring_release void 1 224 load 226 element_tids call 227 pith_list_release_handle void 1 226 ret 220 -label L5691 -label L5689 +label L5765 +label L5763 load 228 element_tids load 229 element_tid call 230 pith_list_push_value void 2 228 229 -label L5687 +label L5761 load 231 __for_idx_429 iconst 232 1 add 233 231 232 store __for_idx_429 233 -jmp L5685 -label L5688 +jmp L5759 +label L5762 load 234 element_tids call 235 types_ti_tuple struct:TypeInfo 1 234 call 236 types_add_type_info int 1 235 @@ -198997,8 +199439,8 @@ call 241 pith_cstring_release void 1 240 load 242 element_tids call 243 pith_list_release_handle void 1 242 ret 236 -label L5684 -label L5682 +label L5758 +label L5756 iconst 244 1 iconst 246 0 sub 245 246 244 @@ -199027,16 +199469,16 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 0 eq 6 4 5 -brif 6 L5693 L5694 -label L5693 +brif 6 L5767 L5768 +label L5767 iconst 7 1 iconst 9 0 sub 8 9 7 load 10 tn call 11 pith_struct_release void 1 10 ret 8 -label L5694 -label L5692 +label L5768 +label L5766 load 12 tn load 13 param_node field 14 13 16 list children @@ -199046,7 +199488,7 @@ call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 12 store tn 17 iconst 19 0 -store __or_19_5698 19 +store __or_19_5772 19 load 20 tn field 21 20 0 string kind strref 22 m51s317 @@ -199054,27 +199496,27 @@ call 24 pith_cstring_eq bool 2 21 22 iconst 25 1 sub 23 25 24 call 26 pith_cstring_release void 1 22 -store __or_19_5698 23 -brif 23 L5699 L5698 -label L5698 +store __or_19_5772 23 +brif 23 L5773 L5772 +label L5772 load 27 tn field 28 27 16 list children call 29 pith_list_len int 1 28 iconst 30 0 eq 31 29 30 -store __or_19_5698 31 -label L5699 -load 32 __or_19_5698 -brif 32 L5696 L5697 -label L5696 +store __or_19_5772 31 +label L5773 +load 32 __or_19_5772 +brif 32 L5770 L5771 +label L5770 iconst 33 1 iconst 35 0 sub 34 35 33 load 36 tn call 37 pith_struct_release void 1 36 ret 34 -label L5697 -label L5695 +label L5771 +label L5769 load 38 tn field 39 38 16 list children iconst 40 0 @@ -199084,16 +199526,16 @@ store inner_tid 42 load 43 inner_tid iconst 44 0 lt 45 43 44 -brif 45 L5701 L5702 -label L5701 +brif 45 L5775 L5776 +label L5775 iconst 46 1 iconst 48 0 sub 47 48 46 load 49 tn call 50 pith_struct_release void 1 49 ret 47 -label L5702 -label L5700 +label L5776 +label L5774 load 51 inner_tid call 52 types_ti_optional struct:TypeInfo 1 51 call 53 types_add_type_info int 1 52 @@ -199140,12 +199582,12 @@ iconst 21 0 store __for_idx_430 21 store __for_len_430 20 store __for_iter_430 19 -label L5703 +label L5777 load 22 __for_idx_430 load 23 __for_len_430 lt 24 22 23 -brif 24 L5704 L5706 -label L5704 +brif 24 L5778 L5780 +label L5778 load 25 __for_iter_430 load 26 __for_idx_430 call 27 pith_list_get_value unknown 2 25 26 @@ -199160,8 +199602,8 @@ field 33 32 0 string kind strref 34 m51s69 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L5708 L5709 -label L5708 +brif 35 L5782 L5783 +label L5782 iconst 37 0 iconst 38 1 sub 39 37 38 @@ -199170,77 +199612,77 @@ load 40 param_idx load 41 arg_tids call 42 pith_list_len int 1 41 lt 43 40 42 -brif 43 L5711 L5712 -label L5711 +brif 43 L5785 L5786 +label L5785 load 44 arg_tids load 45 param_idx call 46 pith_list_get_value_strict int 2 44 45 store arg_tid 46 iconst 47 0 -store __and_47_5716 47 +store __and_47_5790 47 load 48 arg_tid iconst 49 0 gte 50 48 49 -store __and_47_5716 50 -brif 50 L5716 L5717 -label L5716 +store __and_47_5790 50 +brif 50 L5790 L5791 +label L5790 load 51 arg_tid call 52 types_get_type_info struct:TypeInfo 1 51 field 53 52 0 string kind strref 54 m51s21 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __and_47_5716 55 -label L5717 -load 57 __and_47_5716 -brif 57 L5714 L5715 -label L5714 +store __and_47_5790 55 +label L5791 +load 57 __and_47_5790 +brif 57 L5788 L5789 +label L5788 load 58 arg_tid store tid 58 -jmp L5713 -label L5715 -label L5713 -jmp L5710 -label L5712 -label L5710 +jmp L5787 +label L5789 +label L5787 +jmp L5784 +label L5786 +label L5784 load 59 tid iconst 60 0 lt 61 59 60 -brif 61 L5719 L5720 -label L5719 +brif 61 L5793 L5794 +label L5793 load 62 cn call 63 ir_emitter_core_ir_declared_param_optional_tid int 1 62 store tid 63 -jmp L5718 -label L5720 -label L5718 +jmp L5792 +label L5794 +label L5792 load 64 tid iconst 65 0 gte 66 64 65 -brif 66 L5722 L5723 -label L5722 +brif 66 L5796 L5797 +label L5796 load 67 result load 68 cn field 69 68 8 string value load 70 tid call 71 map_insert void 3 67 69 70 -jmp L5721 -label L5723 -label L5721 +jmp L5795 +label L5797 +label L5795 load 72 param_idx iconst 73 1 add 74 72 73 store param_idx 74 -jmp L5707 -label L5709 -label L5707 -label L5705 +jmp L5781 +label L5783 +label L5781 +label L5779 load 75 __for_idx_430 iconst 76 1 add 77 75 76 store __for_idx_430 77 -jmp L5703 -label L5706 +jmp L5777 +label L5780 load 78 result load 79 arg_tids call 80 pith_list_release_handle void 1 79 @@ -199265,13 +199707,13 @@ iconst 0 0 store key 0 iconst 1 0 store i 1 -label L5724 +label L5798 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 L5725 L5726 -label L5725 +brif 5 L5799 L5800 +label L5799 load 6 key load 7 ir_generics_ir_generic_specialization_keys load 8 i @@ -199284,23 +199726,23 @@ load 13 key call 14 contains_key bool 2 12 13 iconst 16 1 sub 15 16 14 -brif 15 L5728 L5729 -label L5728 +brif 15 L5802 L5803 +label L5802 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 L5727 -label L5729 -label L5727 +jmp L5801 +label L5803 +label L5801 load 23 i iconst 24 1 add 25 23 24 store i 25 -jmp L5724 -label L5726 +jmp L5798 +label L5800 load 26 key call 27 pith_cstring_release void 1 26 iconst 28 0 @@ -199322,16 +199764,16 @@ load 8 impl_type call 9 string_len int 1 8 iconst 10 0 eq 11 9 10 -brif 11 L5731 L5732 -label L5731 +brif 11 L5805 L5806 +label L5805 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 L5732 -label L5730 +label L5806 +label L5804 load 17 node field 18 17 16 list children call 19 pith_auto_len int 1 18 @@ -199339,12 +199781,12 @@ iconst 20 0 store __for_idx_431 20 store __for_len_431 19 store __for_iter_431 18 -label L5733 +label L5807 load 21 __for_idx_431 load 22 __for_len_431 lt 23 21 22 -brif 23 L5734 L5736 -label L5734 +brif 23 L5808 L5810 +label L5808 load 24 __for_iter_431 load 25 __for_idx_431 call 26 pith_list_get_value unknown 2 24 25 @@ -199360,8 +199802,8 @@ 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 L5738 L5739 -label L5738 +brif 35 L5812 L5813 +label L5812 load 36 impl_type load 37 method_idx load 38 method_node @@ -199373,16 +199815,16 @@ load 43 method_idx load 44 method_node load 45 module_path call 46 ir_emitter_core_ir_maybe_register_result_reg_method void 5 41 42 43 44 45 -jmp L5737 -label L5739 -label L5737 -label L5735 +jmp L5811 +label L5813 +label L5811 +label L5809 load 47 __for_idx_431 iconst 48 1 add 49 47 48 store __for_idx_431 49 -jmp L5733 -label L5736 +jmp L5807 +label L5810 load 50 node call 51 ir_emitter_core_ir_inherited_default_indices list 1 50 call 52 pith_auto_len int 1 51 @@ -199390,12 +199832,12 @@ iconst 53 0 store __for_idx_432 53 store __for_len_432 52 store __for_iter_432 51 -label L5740 +label L5814 load 54 __for_idx_432 load 55 __for_len_432 lt 56 54 55 -brif 56 L5741 L5743 -label L5741 +brif 56 L5815 L5817 +label L5815 load 57 __for_iter_432 load 58 __for_idx_432 call 59 pith_list_get_value unknown 2 57 58 @@ -199407,13 +199849,13 @@ call 63 ast_get_node struct:Node 1 62 load 64 module_path call 65 ir_emitter_core_ir_record_impl_method_signature void 4 60 61 63 64 call 66 pith_struct_release void 1 63 -label L5742 +label L5816 load 67 __for_idx_432 iconst 68 1 add 69 67 68 store __for_idx_432 69 -jmp L5740 -label L5743 +jmp L5814 +label L5817 load 70 __for_iter_432 call 71 pith_list_release_handle void 1 70 load 72 impl_type @@ -199432,16 +199874,16 @@ load 3 impl_type strref 4 m51s343 call 5 pith_cstring_contains bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L5745 L5746 -label L5745 +brif 5 L5819 L5820 +label L5819 iconst 7 0 iconst 8 1 sub 9 7 8 load 10 path call 11 pith_cstring_release void 1 10 ret 9 -label L5746 -label L5744 +label L5820 +label L5818 load 12 path load 13 module_path call 14 pith_cstring_retain void 1 13 @@ -199451,22 +199893,22 @@ load 16 path call 17 string_len int 1 16 iconst 18 0 eq 19 17 18 -brif 19 L5748 L5749 -label L5748 +brif 19 L5822 L5823 +label L5822 load 20 path load 21 ir_emitter_core_ir_current_module_path call 22 pith_cstring_retain void 1 21 call 23 pith_cstring_release void 1 20 store path 21 -jmp L5747 -label L5749 -label L5747 +jmp L5821 +label L5823 +label L5821 load 24 path call 25 string_len int 1 24 iconst 26 0 gt 27 25 26 -brif 27 L5751 L5752 -label L5751 +brif 27 L5825 L5826 +label L5825 load 28 path load 29 impl_type call 30 types_lookup_qualified_type_id int 2 28 29 @@ -199474,17 +199916,17 @@ store qualified 30 load 31 qualified iconst 32 0 gte 33 31 32 -brif 33 L5754 L5755 -label L5754 +brif 33 L5828 L5829 +label L5828 load 34 qualified load 35 path call 36 pith_cstring_release void 1 35 ret 34 -label L5755 -label L5753 -jmp L5750 -label L5752 -label L5750 +label L5829 +label L5827 +jmp L5824 +label L5826 +label L5824 load 37 impl_type call 38 types_lookup_type_id int 1 37 load 39 path @@ -199519,8 +199961,8 @@ store owner_tid 16 load 17 owner_tid iconst 18 0 gte 19 17 18 -brif 19 L5757 L5758 -label L5757 +brif 19 L5831 L5832 +label L5831 load 20 ir_method_tables_ir_impl_methods load 21 owner_tid load 22 method_name @@ -199532,19 +199974,19 @@ load 27 ir_method_tables_ir_impl_method_owner load 28 key load 29 owner_tid call 30 map_insert void 3 27 28 29 -jmp L5756 -label L5758 +jmp L5830 +label L5832 load 31 ir_method_tables_ir_impl_method_owner load 32 key call 33 contains_key bool 2 31 32 -brif 33 L5759 L5760 -label L5759 +brif 33 L5833 L5834 +label L5833 load 34 ir_method_tables_ir_impl_method_owner load 35 key call 36 map_remove void 2 34 35 -jmp L5756 -label L5760 -label L5756 +jmp L5830 +label L5834 +label L5830 load 37 key call 38 pith_cstring_release void 1 37 iconst 39 0 @@ -199583,8 +200025,8 @@ load 22 module_path call 23 string_len int 1 22 iconst 24 0 gt 25 23 24 -brif 25 L5762 L5763 -label L5762 +brif 25 L5836 L5837 +label L5836 load 26 full_name load 27 module_path load 28 impl_type @@ -199592,9 +200034,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 L5761 -label L5763 -label L5761 +jmp L5835 +label L5837 +label L5835 load 32 key load 33 impl_type load 34 method_name @@ -199657,8 +200099,8 @@ load 18 ir_builder_ir_current_func_return_kind strref 19 m51s1234 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L5765 L5766 -label L5765 +brif 20 L5839 L5840 +label L5839 call 22 ir_builder_ir_reg int 0 store dr2 22 strref 23 m51s880 @@ -199690,9 +200132,9 @@ call 48 pith_cstring_release void 1 42 call 49 pith_cstring_release void 1 46 call 50 ir_builder_ir_emit void 1 47 call 51 pith_cstring_release void 1 47 -jmp L5764 -label L5766 -strref 52 m51s897 +jmp L5838 +label L5840 +strref 52 m51s925 load 53 dr call 54 int_to_string string 1 53 concat 55 52 54 @@ -199700,8 +200142,8 @@ call 56 pith_cstring_release void 1 52 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 -label L5764 -strref 60 m51s925 +label L5838 +strref 60 m51s924 call 61 ir_builder_ir_emit void 1 60 call 62 pith_cstring_release void 1 60 iconst 63 0 @@ -199767,8 +200209,8 @@ param body_idx load 1 body_idx iconst 2 0 gte 3 1 2 -brif 3 L5768 L5769 -label L5768 +brif 3 L5842 L5843 +label L5842 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 @@ -199778,9 +200220,9 @@ iconst 8 0 iconst 9 1 sub 10 8 9 store ir_match_emit_ir_tail_match_node 10 -jmp L5767 -label L5769 -label L5767 +jmp L5841 +label L5843 +label L5841 call 11 ir_emitter_core_ir_emit_default_return int 0 iconst 12 0 ret 12 @@ -199800,12 +200242,12 @@ iconst 8 0 store __for_idx_433 8 store __for_len_433 7 store __for_iter_433 6 -label L5770 +label L5844 load 9 __for_idx_433 load 10 __for_len_433 lt 11 9 10 -brif 11 L5771 L5773 -label L5771 +brif 11 L5845 L5847 +label L5845 load 12 __for_iter_433 load 13 __for_idx_433 call 14 pith_list_get_value unknown 2 12 13 @@ -199816,21 +200258,21 @@ field 17 16 0 string kind strref 18 m51s612 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L5775 L5776 -label L5775 +brif 19 L5849 L5850 +label L5849 load 21 tests load 22 __loopvar_433_item_idx call 23 pith_list_push_value void 2 21 22 -jmp L5774 -label L5776 -label L5774 -label L5772 +jmp L5848 +label L5850 +label L5848 +label L5846 load 24 __for_idx_433 iconst 25 1 add 26 24 25 store __for_idx_433 26 -jmp L5770 -label L5773 +jmp L5844 +label L5847 load 27 __for_iter_433 call 28 pith_list_release_handle void 1 27 load 29 tests @@ -199892,8 +200334,8 @@ load 10 tests call 11 pith_list_len int 1 10 iconst 12 0 eq 13 11 12 -brif 13 L5778 L5779 -label L5778 +brif 13 L5852 L5853 +label L5852 load 14 tests call 15 pith_list_release_handle void 1 14 load 16 run_l @@ -199906,8 +200348,8 @@ load 22 child_l call 23 pith_cstring_release void 1 22 iconst 24 0 ret 24 -label L5779 -label L5777 +label L5853 +label L5851 strref 25 m51s712 call 26 ir_emitter_core_ir_prepare_func_emission void 1 25 call 27 pith_cstring_release void 1 25 @@ -199929,12 +200371,12 @@ iconst 42 0 store __for_idx_434 42 store __for_len_434 41 store __for_iter_434 40 -label L5780 +label L5854 load 43 __for_idx_434 load 44 __for_len_434 lt 45 43 44 -brif 45 L5781 L5783 -label L5781 +brif 45 L5855 L5857 +label L5855 load 46 __for_iter_434 load 47 __for_idx_434 call 48 pith_list_get_value unknown 2 46 47 @@ -200081,7 +200523,7 @@ call 178 pith_cstring_release void 1 173 call 179 pith_cstring_release void 1 176 call 180 ir_builder_ir_emit void 1 177 call 181 pith_cstring_release void 1 177 -strref 182 m51s897 +strref 182 m51s925 load 183 term_r call 184 int_to_string string 1 183 concat 185 182 184 @@ -200107,13 +200549,13 @@ call 204 ir_builder_ir_emit void 1 202 call 205 pith_cstring_release void 1 202 load 206 skip_l call 207 ir_call_emit_ir_emit_label void 1 206 -label L5782 +label L5856 load 208 __for_idx_434 iconst 209 1 add 210 208 209 store __for_idx_434 210 -jmp L5780 -label L5783 +jmp L5854 +label L5857 call 211 ir_builder_ir_reg int 0 store summary_r 211 load 212 summary_r @@ -200143,7 +200585,7 @@ call 234 pith_cstring_release void 1 229 call 235 pith_cstring_release void 1 232 call 236 ir_builder_ir_emit void 1 233 call 237 pith_cstring_release void 1 233 -strref 238 m51s897 +strref 238 m51s925 load 239 zero_r call 240 int_to_string string 1 239 concat 241 238 240 @@ -200151,7 +200593,7 @@ call 242 pith_cstring_release void 1 238 call 243 pith_cstring_release void 1 240 call 244 ir_builder_ir_emit void 1 241 call 245 pith_cstring_release void 1 241 -strref 246 m51s925 +strref 246 m51s924 call 247 ir_builder_ir_emit void 1 246 call 248 pith_cstring_release void 1 246 load 249 tests @@ -200208,15 +200650,15 @@ store ret_type 25 load 27 ir_result_abi_ir_result_reg_funcs load 28 name call 29 contains_key bool 2 27 28 -brif 29 L5785 L5786 -label L5785 +brif 29 L5859 L5860 +label L5859 load 30 ret_type strref 31 m51s1234 call 32 pith_cstring_release void 1 30 store ret_type 31 -jmp L5784 -label L5786 -label L5784 +jmp L5858 +label L5860 +label L5858 load 33 ret_type call 34 ir_emitter_core_ir_prepare_func_emission void 1 33 load 35 ir_emitter_core_ir_current_arc_func @@ -200244,17 +200686,17 @@ call 52 ir_emitter_core_ir_emit_func_header void 3 49 50 51 load 53 idx call 54 ir_emitter_core_ir_emit_fn_params void 1 53 load 55 ir_emitter_core_ir_emitting_main_body -brif 55 L5788 L5789 -label L5788 +brif 55 L5862 L5863 +label L5862 call 56 ir_builder_ir_reg int 0 call 57 ir_emitter_core_ir_cc_register_fn_name string 0 strref 58 m51s712 call 59 ir_call_emit_ir_emit_call0 void 3 56 57 58 call 60 pith_cstring_release void 1 57 call 61 pith_cstring_release void 1 58 -jmp L5787 -label L5789 -label L5787 +jmp L5861 +label L5863 +label L5861 load 62 body_idx call 63 ir_emitter_core_ir_emit_string_prologue void 1 62 load 64 body_idx @@ -200344,15 +200786,15 @@ store emit_ret 51 load 54 ir_result_abi_ir_result_reg_funcs load 55 full_name call 56 contains_key bool 2 54 55 -brif 56 L5791 L5792 -label L5791 +brif 56 L5865 L5866 +label L5865 load 57 emit_ret strref 58 m51s1234 call 59 pith_cstring_release void 1 57 store emit_ret 58 -jmp L5790 -label L5792 -label L5790 +jmp L5864 +label L5866 +label L5864 load 60 emit_ret call 61 ir_emitter_core_ir_prepare_func_emission void 1 60 load 62 ir_emitter_core_ir_current_func_optional_inner_kind @@ -200425,12 +200867,12 @@ iconst 5 0 store __for_idx_435 5 store __for_len_435 4 store __for_iter_435 3 -label L5793 +label L5867 load 6 __for_idx_435 load 7 __for_len_435 lt 8 6 7 -brif 8 L5794 L5796 -label L5794 +brif 8 L5868 L5870 +label L5868 load 9 __for_iter_435 load 10 __for_idx_435 call 11 pith_list_get_value unknown 2 9 10 @@ -200445,23 +200887,23 @@ field 17 16 0 string kind strref 18 m51s316 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L5798 L5799 -label L5798 +brif 19 L5872 L5873 +label L5872 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 L5799 -label L5797 -label L5795 +label L5873 +label L5871 +label L5869 load 26 __for_idx_435 iconst 27 1 add 28 26 27 store __for_idx_435 28 -jmp L5793 -label L5796 +jmp L5867 +label L5870 strref 29 m51s83 load 30 tn call 31 pith_struct_release void 1 30 @@ -200478,26 +200920,26 @@ field 2 1 0 string kind strref 3 m51s615 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -brif 4 L5801 L5802 -label L5801 +brif 4 L5875 L5876 +label L5875 load 6 node field 7 6 8 string value call 8 ir_alias_registry_ir_register_import_alias void 1 7 -jmp L5800 -label L5802 +jmp L5874 +label L5876 load 9 node field 10 9 0 string kind strref 11 m51s616 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L5803 L5804 -label L5803 +brif 12 L5877 L5878 +label L5877 load 14 node field 15 14 8 string value call 16 ir_alias_registry_ir_collect_from_import_renames void 1 15 -jmp L5800 -label L5804 -label L5800 +jmp L5874 +label L5878 +label L5874 iconst 17 0 ret 17 endfunc @@ -200516,12 +200958,12 @@ iconst 7 0 store __for_idx_436 7 store __for_len_436 6 store __for_iter_436 5 -label L5805 +label L5879 load 8 __for_idx_436 load 9 __for_len_436 lt 10 8 9 -brif 10 L5806 L5808 -label L5806 +brif 10 L5880 L5882 +label L5880 load 11 __for_iter_436 load 12 __for_idx_436 call 13 pith_list_get_value unknown 2 11 12 @@ -200536,8 +200978,8 @@ field 19 18 0 string kind strref 20 m51s633 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L5810 L5811 -label L5810 +brif 21 L5884 L5885 +label L5884 load 23 aname load 24 cn field 25 24 8 string value @@ -200547,8 +200989,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 L5813 L5814 -label L5813 +brif 30 L5887 L5888 +label L5887 load 31 target load 32 ir_alias_registry_ir_type_aliases load 33 aname @@ -200559,8 +201001,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 L5816 L5817 -label L5816 +brif 39 L5890 L5891 +label L5890 load 40 ir_struct_registry_ir_struct_names load 41 aname load 42 ir_struct_registry_ir_struct_names @@ -200580,22 +201022,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 L5815 -label L5817 -label L5815 -jmp L5812 -label L5814 -label L5812 -jmp L5809 -label L5811 -label L5809 -label L5807 +jmp L5889 +label L5891 +label L5889 +jmp L5886 +label L5888 +label L5886 +jmp L5883 +label L5885 +label L5883 +label L5881 load 59 __for_idx_436 iconst 60 1 add 61 59 60 store __for_idx_436 61 -jmp L5805 -label L5808 +jmp L5879 +label L5882 load 62 __for_iter_436 call 63 pith_list_release_handle void 1 62 load 64 cn @@ -200620,12 +201062,12 @@ iconst 6 0 store __for_idx_437 6 store __for_len_437 5 store __for_iter_437 4 -label L5818 +label L5892 load 7 __for_idx_437 load 8 __for_len_437 lt 9 7 8 -brif 9 L5819 L5821 -label L5819 +brif 9 L5893 L5895 +label L5893 load 10 __for_iter_437 load 11 __for_idx_437 call 12 pith_list_get_value unknown 2 10 11 @@ -200640,37 +201082,37 @@ field 18 17 0 string kind strref 19 m51s323 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L5823 L5824 -label L5823 +brif 20 L5897 L5898 +label L5897 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 L5822 -label L5824 -label L5822 -label L5820 +jmp L5896 +label L5898 +label L5896 +label L5894 load 27 __for_idx_437 iconst 28 1 add 29 27 28 store __for_idx_437 29 -jmp L5818 -label L5821 +jmp L5892 +label L5895 load 30 has_returns iconst 32 1 sub 31 32 30 -brif 31 L5826 L5827 -label L5826 +brif 31 L5900 L5901 +label L5900 load 33 ir_method_tables_ir_func_returns load 34 node field 35 34 8 string value strref 36 m51s876 call 37 pith_map_insert_cstr_owned void 3 33 35 36 -jmp L5825 -label L5827 -label L5825 +jmp L5899 +label L5901 +label L5899 load 38 node field 39 38 8 string value load 40 node @@ -200696,12 +201138,12 @@ iconst 8 0 store __for_idx_438 8 store __for_len_438 7 store __for_iter_438 6 -label L5828 +label L5902 load 9 __for_idx_438 load 10 __for_len_438 lt 11 9 10 -brif 11 L5829 L5831 -label L5829 +brif 11 L5903 L5905 +label L5903 load 12 __for_iter_438 load 13 __for_idx_438 call 14 pith_list_get_value unknown 2 12 13 @@ -200716,35 +201158,35 @@ field 20 19 0 string kind strref 21 m51s323 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L5833 L5834 -label L5833 +brif 22 L5907 L5908 +label L5907 load 24 name load 25 returns_node call 26 ir_emitter_core_ir_record_returns_clause void 2 24 25 iconst 27 1 store has_returns 27 -jmp L5832 -label L5834 -label L5832 -label L5830 +jmp L5906 +label L5908 +label L5906 +label L5904 load 28 __for_idx_438 iconst 29 1 add 30 28 29 store __for_idx_438 30 -jmp L5828 -label L5831 +jmp L5902 +label L5905 load 31 has_returns iconst 33 1 sub 32 33 31 -brif 32 L5836 L5837 -label L5836 +brif 32 L5910 L5911 +label L5910 load 34 ir_method_tables_ir_func_returns load 35 name strref 36 m51s876 call 37 pith_map_insert_cstr_owned void 3 34 35 36 -jmp L5835 -label L5837 -label L5835 +jmp L5909 +label L5911 +label L5909 load 38 name load 39 node load 40 home_module @@ -200766,12 +201208,12 @@ iconst 6 0 store __for_idx_439 6 store __for_len_439 5 store __for_iter_439 4 -label L5838 +label L5912 load 7 __for_idx_439 load 8 __for_len_439 lt 9 7 8 -brif 9 L5839 L5841 -label L5839 +brif 9 L5913 L5915 +label L5913 load 10 __for_iter_439 load 11 __for_idx_439 call 12 pith_list_get_value unknown 2 10 11 @@ -200782,99 +201224,99 @@ 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_5845 17 +store __or_17_5919 17 iconst 18 0 -store __or_18_5845 18 +store __or_18_5919 18 iconst 19 0 -store __or_19_5845 19 +store __or_19_5919 19 iconst 20 0 -store __or_20_5845 20 +store __or_20_5919 20 load 21 type_node field 22 21 0 string kind strref 23 m51s316 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __or_20_5845 24 -brif 24 L5846 L5845 -label L5845 +store __or_20_5919 24 +brif 24 L5920 L5919 +label L5919 load 26 type_node field 27 26 0 string kind strref 28 m51s336 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __or_20_5845 29 -label L5846 -load 31 __or_20_5845 -store __or_19_5845 31 -brif 31 L5848 L5847 -label L5847 +store __or_20_5919 29 +label L5920 +load 31 __or_20_5919 +store __or_19_5919 31 +brif 31 L5922 L5921 +label L5921 load 32 type_node field 33 32 0 string kind strref 34 m51s330 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_19_5845 35 -label L5848 -load 37 __or_19_5845 -store __or_18_5845 37 -brif 37 L5850 L5849 -label L5849 +store __or_19_5919 35 +label L5922 +load 37 __or_19_5919 +store __or_18_5919 37 +brif 37 L5924 L5923 +label L5923 load 38 type_node field 39 38 0 string kind strref 40 m51s317 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_18_5845 41 -label L5850 -load 43 __or_18_5845 -store __or_17_5845 43 -brif 43 L5852 L5851 -label L5851 +store __or_18_5919 41 +label L5924 +load 43 __or_18_5919 +store __or_17_5919 43 +brif 43 L5926 L5925 +label L5925 load 44 type_node field 45 44 0 string kind strref 46 m51s328 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __or_17_5845 47 -label L5852 -load 49 __or_17_5845 -brif 49 L5843 L5844 -label L5843 +store __or_17_5919 47 +label L5926 +load 49 __or_17_5919 +brif 49 L5917 L5918 +label L5917 load 50 ir_method_tables_ir_func_returns load 51 name load 52 __loopvar_439_type_idx call 53 ir_alias_registry_ir_resolve_type_node string 1 52 call 54 pith_map_insert_cstr_owned void 3 50 51 53 -jmp L5842 -label L5844 -label L5842 +jmp L5916 +label L5918 +label L5916 iconst 55 0 -store __or_55_5856 55 +store __or_55_5930 55 load 56 type_node field 57 56 0 string kind strref 58 m51s22 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -store __or_55_5856 59 -brif 59 L5857 L5856 -label L5856 +store __or_55_5930 59 +brif 59 L5931 L5930 +label L5930 load 61 type_node field 62 61 0 string kind strref 63 m51s330 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_55_5856 64 -label L5857 -load 66 __or_55_5856 -brif 66 L5854 L5855 -label L5854 +store __or_55_5930 64 +label L5931 +load 66 __or_55_5930 +brif 66 L5928 L5929 +label L5928 load 67 type_node field 68 67 16 list children call 69 pith_list_len int 1 68 iconst 70 0 gt 71 69 70 -brif 71 L5859 L5860 -label L5859 +brif 71 L5933 L5934 +label L5933 load 72 ir_result_abi_ir_func_result_ok_kinds load 73 name load 74 type_node @@ -200885,19 +201327,19 @@ call 78 ir_alias_registry_ir_resolve_type_node string 1 77 call 79 ir_alias_registry_ir_retkind string 1 78 call 80 pith_cstring_release void 1 78 call 81 pith_map_insert_cstr_owned void 3 72 73 79 -jmp L5858 -label L5860 -label L5858 -jmp L5853 -label L5855 -label L5853 -label L5840 +jmp L5932 +label L5934 +label L5932 +jmp L5927 +label L5929 +label L5927 +label L5914 load 82 __for_idx_439 iconst 83 1 add 84 82 83 store __for_idx_439 84 -jmp L5838 -label L5841 +jmp L5912 +label L5915 load 85 type_node call 86 pith_struct_release void 1 85 iconst 87 0 @@ -200942,12 +201384,12 @@ iconst 24 0 store __for_idx_440 24 store __for_len_440 23 store __for_iter_440 22 -label L5861 +label L5935 load 25 __for_idx_440 load 26 __for_len_440 lt 27 25 26 -brif 27 L5862 L5864 -label L5862 +brif 27 L5936 L5938 +label L5936 load 28 __for_iter_440 load 29 __for_idx_440 call 30 pith_list_get_value unknown 2 28 29 @@ -200958,38 +201400,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_5868 35 +store __or_35_5942 35 iconst 36 0 -store __or_36_5868 36 +store __or_36_5942 36 load 37 gcn field 38 37 0 string kind strref 39 m51s316 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_36_5868 40 -brif 40 L5869 L5868 -label L5868 +store __or_36_5942 40 +brif 40 L5943 L5942 +label L5942 load 42 gcn field 43 42 0 string kind strref 44 m51s336 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_36_5868 45 -label L5869 -load 47 __or_36_5868 -store __or_35_5868 47 -brif 47 L5871 L5870 -label L5870 +store __or_36_5942 45 +label L5943 +load 47 __or_36_5942 +store __or_35_5942 47 +brif 47 L5945 L5944 +label L5944 load 48 gcn field 49 48 0 string kind strref 50 m51s317 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __or_35_5868 51 -label L5871 -load 53 __or_35_5868 -brif 53 L5866 L5867 -label L5866 +store __or_35_5942 51 +label L5945 +load 53 __or_35_5942 +brif 53 L5940 L5941 +label L5940 load 54 global_type load 55 __loopvar_440_gc call 56 ir_alias_registry_ir_resolve_type_node string 1 55 @@ -200999,25 +201441,25 @@ load 58 global_map_value_type call 59 string_len int 1 58 iconst 60 0 eq 61 59 60 -brif 61 L5873 L5874 -label L5873 +brif 61 L5947 L5948 +label L5947 load 62 global_map_value_type load 63 __loopvar_440_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 L5872 -label L5874 -label L5872 -jmp L5865 -label L5867 +jmp L5946 +label L5948 +label L5946 +jmp L5939 +label L5941 load 66 gcn field 67 66 0 string kind strref 68 m51s531 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L5875 L5876 -label L5875 +brif 69 L5949 L5950 +label L5949 load 71 init_val load 72 gcn field 73 72 8 string value @@ -201028,24 +201470,24 @@ load 76 global_type call 77 string_len int 1 76 iconst 78 0 eq 79 77 78 -brif 79 L5878 L5879 -label L5878 +brif 79 L5952 L5953 +label L5952 load 80 global_type strref 81 m51s712 call 82 pith_cstring_release void 1 80 store global_type 81 -jmp L5877 -label L5879 -label L5877 -jmp L5865 -label L5876 +jmp L5951 +label L5953 +label L5951 +jmp L5939 +label L5950 load 83 gcn field 84 83 0 string kind strref 85 m51s529 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -brif 86 L5880 L5881 -label L5880 +brif 86 L5954 L5955 +label L5954 load 88 si load 89 gcn field 90 89 8 string value @@ -201063,24 +201505,24 @@ load 99 global_type call 100 string_len int 1 99 iconst 101 0 eq 102 100 101 -brif 102 L5883 L5884 -label L5883 +brif 102 L5957 L5958 +label L5957 load 103 global_type strref 104 m51s716 call 105 pith_cstring_release void 1 103 store global_type 104 -jmp L5882 -label L5884 -label L5882 -jmp L5865 -label L5881 +jmp L5956 +label L5958 +label L5956 +jmp L5939 +label L5955 load 106 gcn field 107 106 0 string kind strref 108 m51s20 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L5885 L5886 -label L5885 +brif 109 L5959 L5960 +label L5959 load 111 init_val strref 112 m51s20 call 113 pith_cstring_release void 1 111 @@ -201089,24 +201531,24 @@ load 114 global_type call 115 string_len int 1 114 iconst 116 0 eq 117 115 116 -brif 117 L5888 L5889 -label L5888 +brif 117 L5962 L5963 +label L5962 load 118 global_type strref 119 m51s20 call 120 pith_cstring_release void 1 118 store global_type 119 -jmp L5887 -label L5889 -label L5887 -jmp L5865 -label L5886 +jmp L5961 +label L5963 +label L5961 +jmp L5939 +label L5960 load 121 gcn field 122 121 0 string kind strref 123 m51s19 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -brif 124 L5890 L5891 -label L5890 +brif 124 L5964 L5965 +label L5964 load 126 init_val strref 127 m51s19 call 128 pith_cstring_release void 1 126 @@ -201115,24 +201557,24 @@ load 129 global_type call 130 string_len int 1 129 iconst 131 0 eq 132 130 131 -brif 132 L5893 L5894 -label L5893 +brif 132 L5967 L5968 +label L5967 load 133 global_type strref 134 m51s19 call 135 pith_cstring_release void 1 133 store global_type 134 -jmp L5892 -label L5894 -label L5892 -jmp L5865 -label L5891 +jmp L5966 +label L5968 +label L5966 +jmp L5939 +label L5965 load 136 gcn field 137 136 0 string kind strref 138 m51s18 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L5895 L5896 -label L5895 +brif 139 L5969 L5970 +label L5969 load 141 init_val load 142 __loopvar_440_gc call 143 ir_type_helpers_ir_checked_type string 1 142 @@ -201142,128 +201584,128 @@ load 145 init_val call 146 string_len int 1 145 iconst 147 0 eq 148 146 147 -brif 148 L5898 L5899 -label L5898 +brif 148 L5972 L5973 +label L5972 load 149 init_val load 150 __loopvar_440_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 L5897 -label L5899 -label L5897 +jmp L5971 +label L5973 +label L5971 load 153 init_val call 154 string_len int 1 153 iconst 155 0 eq 156 154 155 -brif 156 L5901 L5902 -label L5901 +brif 156 L5975 L5976 +label L5975 load 157 init_val strref 158 m51s18 call 159 pith_cstring_release void 1 157 store init_val 158 -jmp L5900 -label L5902 -label L5900 +jmp L5974 +label L5976 +label L5974 load 160 global_type call 161 string_len int 1 160 iconst 162 0 eq 163 161 162 -brif 163 L5904 L5905 -label L5904 +brif 163 L5978 L5979 +label L5978 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 L5903 -label L5905 -label L5903 -jmp L5865 -label L5896 +jmp L5977 +label L5979 +label L5977 +jmp L5939 +label L5970 load 168 gcn field 169 168 0 string kind strref 170 m51s528 call 171 pith_cstring_eq bool 2 169 170 call 172 pith_cstring_release void 1 170 -brif 171 L5906 L5907 -label L5906 +brif 171 L5980 L5981 +label L5980 load 173 gcn field 174 173 8 string value strref 175 m51s76 call 176 pith_cstring_eq bool 2 174 175 call 177 pith_cstring_release void 1 175 -brif 176 L5909 L5910 -label L5909 +brif 176 L5983 L5984 +label L5983 load 178 init_val strref 179 m51s184 call 180 pith_cstring_release void 1 178 store init_val 179 -jmp L5908 -label L5910 +jmp L5982 +label L5984 load 181 init_val strref 182 m51s185 call 183 pith_cstring_release void 1 181 store init_val 182 -label L5908 +label L5982 load 184 global_type call 185 string_len int 1 184 iconst 186 0 eq 187 185 186 -brif 187 L5912 L5913 -label L5912 +brif 187 L5986 L5987 +label L5986 load 188 global_type strref 189 m51s714 call 190 pith_cstring_release void 1 188 store global_type 189 -jmp L5911 -label L5913 -label L5911 -jmp L5865 -label L5907 -label L5865 -label L5863 +jmp L5985 +label L5987 +label L5985 +jmp L5939 +label L5981 +label L5939 +label L5937 load 191 __for_idx_440 iconst 192 1 add 193 191 192 store __for_idx_440 193 -jmp L5861 -label L5864 +jmp L5935 +label L5938 load 194 global_type call 195 string_len int 1 194 iconst 196 0 gt 197 195 196 -brif 197 L5915 L5916 -label L5915 +brif 197 L5989 L5990 +label L5989 load 198 gname load 199 global_type call 200 ir_alias_registry_ir_record_global_type void 2 198 199 -jmp L5914 -label L5916 -label L5914 +jmp L5988 +label L5990 +label L5988 load 201 global_map_value_type call 202 string_len int 1 201 iconst 203 0 gt 204 202 203 -brif 204 L5918 L5919 -label L5918 +brif 204 L5992 L5993 +label L5992 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 L5917 -label L5919 -label L5917 +jmp L5991 +label L5993 +label L5991 load 209 is_threadlocal -brif 209 L5921 L5922 -label L5921 +brif 209 L5995 L5996 +label L5995 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 L5924 L5925 -label L5924 +brif 213 L5998 L5999 +label L5998 load 215 ir_emitter_core_ir_threadlocal_slots load 216 gname load 217 ir_emitter_core_ir_next_tls_slot @@ -201272,9 +201714,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 L5923 -label L5925 -label L5923 +jmp L5997 +label L5999 +label L5997 load 222 ir_emitter_core_ir_threadlocal_kinds load 223 gname load 224 global_type @@ -201293,8 +201735,8 @@ load 236 si call 237 pith_cstring_release void 1 236 iconst 238 0 ret 238 -label L5922 -label L5920 +label L5996 +label L5994 strref 239 m51s1231 load 240 gname concat 241 239 240 @@ -201346,12 +201788,12 @@ iconst 11 0 store __for_idx_441 11 store __for_len_441 10 store __for_iter_441 9 -label L5926 +label L6000 load 12 __for_idx_441 load 13 __for_len_441 lt 14 12 13 -brif 14 L5927 L5929 -label L5927 +brif 14 L6001 L6003 +label L6001 load 15 __for_iter_441 load 16 __for_idx_441 call 17 pith_list_get_value unknown 2 15 16 @@ -201368,11 +201810,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 L5931 L5932 -label L5931 -jmp L5928 -label L5932 -label L5930 +brif 25 L6005 L6006 +label L6005 +jmp L6002 +label L6006 +label L6004 load 29 binding load 30 cn field 31 30 16 list children @@ -201386,11 +201828,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 L5934 L5935 -label L5934 -jmp L5928 -label L5935 -label L5933 +brif 39 L6008 L6009 +label L6008 +jmp L6002 +label L6009 +label L6007 load 41 gname load 42 binding call 43 ir_ast_helpers_ir_binding_name string 1 42 @@ -201409,32 +201851,32 @@ load 52 parts field 53 52 16 int type_idx iconst 54 0 gte 55 53 54 -brif 55 L5937 L5938 -label L5937 +brif 55 L6011 L6012 +label L6011 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 L5936 -label L5938 -label L5936 +jmp L6010 +label L6012 +label L6010 load 61 target call 62 string_len int 1 61 iconst 63 0 eq 64 62 63 -brif 64 L5940 L5941 -label L5940 +brif 64 L6014 L6015 +label L6014 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 L5939 -label L5941 -label L5939 +jmp L6013 +label L6015 +label L6013 load 70 target call 71 ir_emitter_core_ir_prepare_func_emission void 1 70 strref 72 m51s1230 @@ -201462,43 +201904,43 @@ 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_5945 93 +store __and_93_6019 93 iconst 94 0 -store __and_94_5945 94 +store __and_94_6019 94 load 95 gkind call 96 string_len int 1 95 iconst 97 0 gt 98 96 97 -store __and_94_5945 98 -brif 98 L5945 L5946 -label L5945 +store __and_94_6019 98 +brif 98 L6019 L6020 +label L6019 load 99 gtarget strref 100 m51s23 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_5945 101 -label L5946 -load 105 __and_94_5945 -store __and_93_5945 105 -brif 105 L5947 L5948 -label L5947 +store __and_94_6019 101 +label L6020 +load 105 __and_94_6019 +store __and_93_6019 105 +brif 105 L6021 L6022 +label L6021 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_5945 108 -label L5948 -load 109 __and_93_5945 -brif 109 L5943 L5944 -label L5943 +store __and_93_6019 108 +label L6022 +load 109 __and_93_6019 +brif 109 L6017 L6018 +label L6017 load 110 r load 111 gkind call 112 ir_ownership_ir_rc_retain_reg void 2 110 111 -jmp L5942 -label L5944 -label L5942 -strref 113 m51s897 +jmp L6016 +label L6018 +label L6016 +strref 113 m51s925 load 114 r call 115 int_to_string string 1 114 concat 116 113 115 @@ -201506,16 +201948,16 @@ call 117 pith_cstring_release void 1 113 call 118 pith_cstring_release void 1 115 call 119 ir_builder_ir_emit void 1 116 call 120 pith_cstring_release void 1 116 -strref 121 m51s925 +strref 121 m51s924 call 122 ir_builder_ir_emit void 1 121 call 123 pith_cstring_release void 1 121 -label L5928 +label L6002 load 124 __for_idx_441 iconst 125 1 add 126 124 125 store __for_idx_441 126 -jmp L5926 -label L5929 +jmp L6000 +label L6003 load 127 cn call 128 pith_struct_release void 1 127 load 129 binding @@ -201668,21 +202110,21 @@ endfunc func ir_emitter_core_ir_name_is_threadlocal 1 bool param name iconst 1 0 -store __and_1_5949 1 +store __and_1_6023 1 load 2 ir_emitter_core_ir_threadlocal_slots load 3 name call 4 contains_key bool 2 2 3 -store __and_1_5949 4 -brif 4 L5949 L5950 -label L5949 +store __and_1_6023 4 +brif 4 L6023 L6024 +label L6023 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_5949 8 -label L5950 -load 10 __and_1_5949 +store __and_1_6023 8 +label L6024 +load 10 __and_1_6023 ret 10 iconst 11 0 ret 11 @@ -201701,8 +202143,8 @@ load 7 loop_slot call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L5952 L5953 -label L5952 +brif 10 L6026 L6027 +label L6026 strref 11 m51s877 load 12 dest_r call 13 int_to_string string 1 12 @@ -201718,17 +202160,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 L5951 -label L5953 +jmp L6025 +label L6027 load 26 name call 27 ir_emitter_core_ir_name_is_threadlocal bool 1 26 -brif 27 L5954 L5955 -label L5954 +brif 27 L6028 L6029 +label L6028 load 28 dest_r load 29 name call 30 ir_emitter_core_ir_emit_tls_load void 2 28 29 -jmp L5951 -label L5955 +jmp L6025 +label L6029 strref 31 m51s877 load 32 dest_r call 33 int_to_string string 1 32 @@ -201746,7 +202188,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 L5951 +label L6025 load 48 loop_slot call 49 pith_cstring_release void 1 48 iconst 50 0 @@ -201766,8 +202208,8 @@ load 7 loop_slot call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L5957 L5958 -label L5957 +brif 10 L6031 L6032 +label L6031 strref 11 m51s878 load 12 loop_slot concat 13 11 12 @@ -201783,17 +202225,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 L5956 -label L5958 +jmp L6030 +label L6032 load 26 name call 27 ir_emitter_core_ir_name_is_threadlocal bool 1 26 -brif 27 L5959 L5960 -label L5959 +brif 27 L6033 L6034 +label L6033 load 28 name load 29 val_r call 30 ir_emitter_core_ir_emit_tls_store void 2 28 29 -jmp L5956 -label L5960 +jmp L6030 +label L6034 strref 31 m51s878 load 32 name call 33 ir_emitter_core_ir_resolve_storage_name string 1 32 @@ -201811,7 +202253,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 L5956 +label L6030 load 48 loop_slot call 49 pith_cstring_release void 1 48 iconst 50 0 @@ -201822,13 +202264,13 @@ param dest_r param name load 2 name call 3 ir_emitter_core_ir_name_is_threadlocal bool 1 2 -brif 3 L5962 L5963 -label L5962 +brif 3 L6036 L6037 +label L6036 load 4 dest_r load 5 name call 6 ir_emitter_core_ir_emit_tls_load void 2 4 5 -jmp L5961 -label L5963 +jmp L6035 +label L6037 strref 7 m51s877 load 8 dest_r call 9 int_to_string string 1 8 @@ -201846,7 +202288,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 L5961 +label L6035 iconst 24 0 ret 24 endfunc @@ -201863,12 +202305,12 @@ iconst 6 0 store __for_idx_442 6 store __for_len_442 5 store __for_iter_442 4 -label L5964 +label L6038 load 7 __for_idx_442 load 8 __for_len_442 lt 9 7 8 -brif 9 L5965 L5967 -label L5965 +brif 9 L6039 L6041 +label L6039 load 10 __for_iter_442 load 11 __for_idx_442 call 12 pith_list_get_value unknown 2 10 11 @@ -201883,8 +202325,8 @@ field 18 17 0 string kind strref 19 m51s614 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L5969 L5970 -label L5969 +brif 20 L6043 L6044 +label L6043 load 22 inner load 23 cn field 24 23 16 list children @@ -201896,34 +202338,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 L5972 L5973 -label L5972 +brif 31 L6046 L6047 +label L6046 load 32 inner iconst 33 1 call 34 ir_emitter_core_ir_emit_global_binding void 2 32 33 -jmp L5971 -label L5973 -label L5971 -jmp L5968 -label L5970 +jmp L6045 +label L6047 +label L6045 +jmp L6042 +label L6044 load 35 cn field 36 35 0 string kind call 37 ir_ast_helpers_ir_is_binding_kind bool 1 36 -brif 37 L5974 L5975 -label L5974 +brif 37 L6048 L6049 +label L6048 load 38 cn iconst 39 0 call 40 ir_emitter_core_ir_emit_global_binding void 2 38 39 -jmp L5968 -label L5975 -label L5968 -label L5966 +jmp L6042 +label L6049 +label L6042 +label L6040 load 41 __for_idx_442 iconst 42 1 add 43 41 42 store __for_idx_442 43 -jmp L5964 -label L5967 +jmp L6038 +label L6041 load 44 cn call 45 pith_struct_release void 1 44 load 46 inner @@ -201940,14 +202382,14 @@ load 3 raw_name call 4 ir_struct_registry_ir_struct_needs_dtor bool 1 3 iconst 6 1 sub 5 6 4 -brif 5 L5977 L5978 -label L5977 +brif 5 L6051 L6052 +label L6051 load 7 sname call 8 pith_cstring_release void 1 7 iconst 9 0 ret 9 -label L5978 -label L5976 +label L6052 +label L6050 load 10 sname load 11 raw_name call 12 ir_struct_registry_ir_struct_base_name string 1 11 @@ -202029,12 +202471,12 @@ iconst 24 0 store __for_idx_443 24 store __for_len_443 23 store __for_iter_443 22 -label L5979 +label L6053 load 25 __for_idx_443 load 26 __for_len_443 lt 27 25 26 -brif 27 L5980 L5982 -label L5980 +brif 27 L6054 L6056 +label L6054 load 28 __for_iter_443 load 29 __for_idx_443 call 30 pith_list_get_value_unchecked string 2 28 29 @@ -202105,7 +202547,7 @@ call 90 pith_cstring_release void 1 85 call 91 pith_cstring_release void 1 88 call 92 ir_builder_ir_emit void 1 89 call 93 pith_cstring_release void 1 89 -strref 94 m51s897 +strref 94 m51s925 load 95 zr call 96 int_to_string string 1 95 concat 97 94 96 @@ -202113,16 +202555,16 @@ call 98 pith_cstring_release void 1 94 call 99 pith_cstring_release void 1 96 call 100 ir_builder_ir_emit void 1 97 call 101 pith_cstring_release void 1 97 -strref 102 m51s925 +strref 102 m51s924 call 103 ir_builder_ir_emit void 1 102 call 104 pith_cstring_release void 1 102 -label L5981 +label L6055 load 105 __for_idx_443 iconst 106 1 add 107 105 106 store __for_idx_443 107 -jmp L5979 -label L5982 +jmp L6053 +label L6056 load 108 kinds call 109 pith_list_release_handle void 1 108 iconst 110 0 @@ -202142,12 +202584,12 @@ iconst 6 0 store __for_idx_444 6 store __for_len_444 5 store __for_iter_444 4 -label L5983 +label L6057 load 7 __for_idx_444 load 8 __for_len_444 lt 9 7 8 -brif 9 L5984 L5986 -label L5984 +brif 9 L6058 L6060 +label L6058 load 10 __for_iter_444 load 11 __for_idx_444 call 12 pith_list_get_value_unchecked string 2 10 11 @@ -202158,28 +202600,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 L5988 L5989 -label L5988 -jmp L5985 -label L5989 -label L5987 +brif 18 L6062 L6063 +label L6062 +jmp L6059 +label L6063 +label L6061 load 19 ir_struct_registry_ir_boxed_enums load 20 __loopvar_444_sname call 21 contains_key bool 2 19 20 -brif 21 L5991 L5992 -label L5991 -jmp L5985 -label L5992 -label L5990 +brif 21 L6065 L6066 +label L6065 +jmp L6059 +label L6066 +label L6064 load 22 __loopvar_444_sname call 23 ir_struct_registry_ir_struct_needs_dtor bool 1 22 iconst 25 1 sub 24 25 23 -brif 24 L5994 L5995 -label L5994 -jmp L5985 -label L5995 -label L5993 +brif 24 L6068 L6069 +label L6068 +jmp L6059 +label L6069 +label L6067 strref 26 m51s1207 load 27 __loopvar_444_sname concat 28 26 27 @@ -202211,12 +202653,12 @@ call 52 ir_struct_registry_ir_struct_field_count int 1 51 store count 52 iconst 53 0 store i 53 -label L5996 +label L6070 load 54 i load 55 count lt 56 54 55 -brif 56 L5997 L5998 -label L5997 +brif 56 L6071 L6072 +label L6071 load 57 fname load 58 __loopvar_444_sname load 59 i @@ -202237,8 +202679,8 @@ store fkind 69 load 71 __loopvar_444_sname load 72 fname call 73 ir_emitter_core_ir_struct_field_is_weak bool 2 71 72 -brif 73 L6000 L6001 -label L6000 +brif 73 L6074 L6075 +label L6074 call 74 ir_builder_ir_reg int 0 store fr 74 strref 75 m51s885 @@ -202295,14 +202737,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 L5999 -label L6001 +jmp L6073 +label L6075 load 128 fkind call 129 string_len int 1 128 iconst 130 0 gt 131 129 130 -brif 131 L6002 L6003 -label L6002 +brif 131 L6076 L6077 +label L6076 call 132 ir_builder_ir_reg int 0 store fr 132 strref 133 m51s885 @@ -202343,15 +202785,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 L5999 -label L6003 -label L5999 +jmp L6073 +label L6077 +label L6073 load 171 i iconst 172 1 add 173 171 172 store i 173 -jmp L5996 -label L5998 +jmp L6070 +label L6072 call 174 ir_builder_ir_reg int 0 store zr 174 strref 175 m51s880 @@ -202366,7 +202808,7 @@ call 183 pith_cstring_release void 1 178 call 184 pith_cstring_release void 1 181 call 185 ir_builder_ir_emit void 1 182 call 186 pith_cstring_release void 1 182 -strref 187 m51s897 +strref 187 m51s925 load 188 zr call 189 int_to_string string 1 188 concat 190 187 189 @@ -202374,16 +202816,16 @@ call 191 pith_cstring_release void 1 187 call 192 pith_cstring_release void 1 189 call 193 ir_builder_ir_emit void 1 190 call 194 pith_cstring_release void 1 190 -strref 195 m51s925 +strref 195 m51s924 call 196 ir_builder_ir_emit void 1 195 call 197 pith_cstring_release void 1 195 -label L5985 +label L6059 load 198 __for_idx_444 iconst 199 1 add 200 198 199 store __for_idx_444 200 -jmp L5983 -label L5986 +jmp L6057 +label L6060 load 201 __for_iter_444 call 202 pith_list_release_handle void 1 201 load 203 fname @@ -202415,12 +202857,12 @@ iconst 9 0 store __for_idx_445 9 store __for_len_445 8 store __for_iter_445 7 -label L6004 +label L6078 load 10 __for_idx_445 load 11 __for_len_445 lt 12 10 11 -brif 12 L6005 L6007 -label L6005 +brif 12 L6079 L6081 +label L6079 load 13 __for_iter_445 load 14 __for_idx_445 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -202429,21 +202871,21 @@ load 16 __loopvar_445_ename call 17 ir_struct_registry_ir_enum_needs_dtor bool 1 16 iconst 19 1 sub 18 19 17 -brif 18 L6009 L6010 -label L6009 -jmp L6006 -label L6010 -label L6008 +brif 18 L6083 L6084 +label L6083 +jmp L6080 +label L6084 +label L6082 load 20 ir_struct_registry_ir_enum_variant_lists load 21 __loopvar_445_ename call 22 contains_key bool 2 20 21 iconst 24 1 sub 23 24 22 -brif 23 L6012 L6013 -label L6012 -jmp L6006 -label L6013 -label L6011 +brif 23 L6086 L6087 +label L6086 +jmp L6080 +label L6087 +label L6085 strref 25 m51s1207 load 26 __loopvar_445_ename concat 27 25 26 @@ -202504,13 +202946,13 @@ call 79 pith_list_release_handle void 1 72 store variants 77 iconst 80 0 store vi 80 -label L6014 +label L6088 load 81 vi load 82 variants call 83 pith_list_len int 1 82 lt 84 81 83 -brif 84 L6015 L6016 -label L6015 +brif 84 L6089 L6090 +label L6089 load 85 vkey load 86 __loopvar_445_ename strref 87 m51s26 @@ -202526,8 +202968,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 L6018 L6019 -label L6018 +brif 98 L6092 L6093 +label L6092 load 99 kinds load 100 ir_struct_registry_ir_enum_payload_kinds load 101 vkey @@ -202541,13 +202983,13 @@ iconst 107 0 store has_rc 107 iconst 108 0 store c 108 -label L6020 +label L6094 load 109 c load 110 kinds call 111 pith_list_len int 1 110 lt 112 109 111 -brif 112 L6021 L6022 -label L6021 +brif 112 L6095 L6096 +label L6095 load 113 kinds load 114 c call 115 pith_list_get_value_strict string 2 113 114 @@ -202556,22 +202998,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 L6024 L6025 -label L6024 +brif 120 L6098 L6099 +label L6098 iconst 121 1 store has_rc 121 -jmp L6023 -label L6025 -label L6023 +jmp L6097 +label L6099 +label L6097 load 122 c iconst 123 1 add 124 122 123 store c 124 -jmp L6020 -label L6022 +jmp L6094 +label L6096 load 125 has_rc -brif 125 L6027 L6028 -label L6027 +brif 125 L6101 L6102 +label L6101 call 126 ir_builder_ir_reg int 0 store vtag 126 strref 127 m51s880 @@ -202653,13 +203095,13 @@ load 199 hit_l call 200 ir_call_emit_ir_emit_label void 1 199 iconst 201 0 store s 201 -label L6029 +label L6103 load 202 s load 203 kinds call 204 pith_list_len int 1 203 lt 205 202 204 -brif 205 L6030 L6031 -label L6030 +brif 205 L6104 L6105 +label L6104 load 206 rk load 207 kinds load 208 s @@ -202671,8 +203113,8 @@ load 212 rk call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -brif 215 L6033 L6034 -label L6033 +brif 215 L6107 L6108 +label L6107 call 216 ir_builder_ir_reg int 0 store slot_r 216 strref 217 m51s885 @@ -202717,29 +203159,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 L6032 -label L6034 -label L6032 +jmp L6106 +label L6108 +label L6106 load 259 s iconst 260 1 add 261 259 260 store s 261 -jmp L6029 -label L6031 +jmp L6103 +label L6105 load 262 skip_l call 263 ir_call_emit_ir_emit_label void 1 262 -jmp L6026 -label L6028 -label L6026 -jmp L6017 -label L6019 -label L6017 +jmp L6100 +label L6102 +label L6100 +jmp L6091 +label L6093 +label L6091 load 264 vi iconst 265 1 add 266 264 265 store vi 266 -jmp L6014 -label L6016 +jmp L6088 +label L6090 call 267 ir_builder_ir_reg int 0 store zr 267 strref 268 m51s880 @@ -202754,7 +203196,7 @@ call 276 pith_cstring_release void 1 271 call 277 pith_cstring_release void 1 274 call 278 ir_builder_ir_emit void 1 275 call 279 pith_cstring_release void 1 275 -strref 280 m51s897 +strref 280 m51s925 load 281 zr call 282 int_to_string string 1 281 concat 283 280 282 @@ -202762,16 +203204,16 @@ call 284 pith_cstring_release void 1 280 call 285 pith_cstring_release void 1 282 call 286 ir_builder_ir_emit void 1 283 call 287 pith_cstring_release void 1 283 -strref 288 m51s925 +strref 288 m51s924 call 289 ir_builder_ir_emit void 1 288 call 290 pith_cstring_release void 1 288 -label L6006 +label L6080 load 291 __for_idx_445 iconst 292 1 add 293 291 292 store __for_idx_445 293 -jmp L6004 -label L6007 +jmp L6078 +label L6081 load 294 __for_iter_445 call 295 pith_list_release_handle void 1 294 load 296 variants @@ -202817,12 +203259,12 @@ iconst 21 0 store __for_idx_446 21 store __for_len_446 20 store __for_iter_446 19 -label L6035 +label L6109 load 22 __for_idx_446 load 23 __for_len_446 lt 24 22 23 -brif 24 L6036 L6038 -label L6036 +brif 24 L6110 L6112 +label L6110 load 25 __for_iter_446 load 26 __for_idx_446 call 27 pith_list_get_value_unchecked string 2 25 26 @@ -202893,7 +203335,7 @@ call 87 pith_cstring_release void 1 82 call 88 pith_cstring_release void 1 85 call 89 ir_builder_ir_emit void 1 86 call 90 pith_cstring_release void 1 86 -strref 91 m51s897 +strref 91 m51s925 load 92 zr call 93 int_to_string string 1 92 concat 94 91 93 @@ -202901,16 +203343,16 @@ call 95 pith_cstring_release void 1 91 call 96 pith_cstring_release void 1 93 call 97 ir_builder_ir_emit void 1 94 call 98 pith_cstring_release void 1 94 -strref 99 m51s925 +strref 99 m51s924 call 100 ir_builder_ir_emit void 1 99 call 101 pith_cstring_release void 1 99 -label L6037 +label L6111 load 102 __for_idx_446 iconst 103 1 add 104 102 103 store __for_idx_446 104 -jmp L6035 -label L6038 +jmp L6109 +label L6112 load 105 kinds call 106 pith_list_release_handle void 1 105 iconst 107 0 @@ -202930,12 +203372,12 @@ iconst 6 0 store __for_idx_447 6 store __for_len_447 5 store __for_iter_447 4 -label L6039 +label L6113 load 7 __for_idx_447 load 8 __for_len_447 lt 9 7 8 -brif 9 L6040 L6042 -label L6040 +brif 9 L6114 L6116 +label L6114 load 10 __for_iter_447 load 11 __for_idx_447 call 12 pith_list_get_value_unchecked string 2 10 11 @@ -202946,37 +203388,37 @@ 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 L6044 L6045 -label L6044 -jmp L6041 -label L6045 -label L6043 +brif 18 L6118 L6119 +label L6118 +jmp L6115 +label L6119 +label L6117 load 19 ir_struct_registry_ir_boxed_enums load 20 __loopvar_447_sname call 21 contains_key bool 2 19 20 -brif 21 L6047 L6048 -label L6047 -jmp L6041 -label L6048 -label L6046 +brif 21 L6121 L6122 +label L6121 +jmp L6115 +label L6122 +label L6120 load 22 __loopvar_447_sname call 23 ir_struct_registry_ir_struct_needs_dtor bool 1 22 iconst 25 1 sub 24 25 23 -brif 24 L6050 L6051 -label L6050 -jmp L6041 -label L6051 -label L6049 +brif 24 L6124 L6125 +label L6124 +jmp L6115 +label L6125 +label L6123 load 26 __loopvar_447_sname call 27 ir_emitter_core_ir_struct_needs_tracer bool 1 26 iconst 29 1 sub 28 29 27 -brif 28 L6053 L6054 -label L6053 -jmp L6041 -label L6054 -label L6052 +brif 28 L6127 L6128 +label L6127 +jmp L6115 +label L6128 +label L6126 strref 30 m51s1206 load 31 __loopvar_447_sname concat 32 30 31 @@ -203008,12 +203450,12 @@ call 56 ir_struct_registry_ir_struct_field_count int 1 55 store count 56 iconst 57 0 store i 57 -label L6055 +label L6129 load 58 i load 59 count lt 60 58 59 -brif 60 L6056 L6057 -label L6056 +brif 60 L6130 L6131 +label L6130 load 61 fname load 62 __loopvar_447_sname load 63 i @@ -203032,22 +203474,22 @@ call 73 ir_struct_registry_ir_rc_field_kind string 1 72 call 74 pith_cstring_release void 1 71 store fkind 73 iconst 75 0 -store __and_75_6061 75 +store __and_75_6135 75 load 76 __loopvar_447_sname load 77 fname call 78 ir_emitter_core_ir_struct_field_is_weak bool 2 76 77 iconst 80 1 sub 79 80 78 -store __and_75_6061 79 -brif 79 L6061 L6062 -label L6061 +store __and_75_6135 79 +brif 79 L6135 L6136 +label L6135 load 81 fkind call 82 ir_emitter_core_ir_trace_kind_enabled bool 1 81 -store __and_75_6061 82 -label L6062 -load 83 __and_75_6061 -brif 83 L6059 L6060 -label L6059 +store __and_75_6135 82 +label L6136 +load 83 __and_75_6135 +brif 83 L6133 L6134 +label L6133 call 84 ir_builder_ir_reg int 0 store fr 84 strref 85 m51s885 @@ -203088,15 +203530,15 @@ call 119 pith_cstring_release void 1 116 load 120 fr load 121 fkind call 122 ir_ownership_ir_rc_visit_reg void 2 120 121 -jmp L6058 -label L6060 -label L6058 +jmp L6132 +label L6134 +label L6132 load 123 i iconst 124 1 add 125 123 124 store i 125 -jmp L6055 -label L6057 +jmp L6129 +label L6131 call 126 ir_builder_ir_reg int 0 store zr 126 strref 127 m51s880 @@ -203111,7 +203553,7 @@ call 135 pith_cstring_release void 1 130 call 136 pith_cstring_release void 1 133 call 137 ir_builder_ir_emit void 1 134 call 138 pith_cstring_release void 1 134 -strref 139 m51s897 +strref 139 m51s925 load 140 zr call 141 int_to_string string 1 140 concat 142 139 141 @@ -203119,16 +203561,16 @@ call 143 pith_cstring_release void 1 139 call 144 pith_cstring_release void 1 141 call 145 ir_builder_ir_emit void 1 142 call 146 pith_cstring_release void 1 142 -strref 147 m51s925 +strref 147 m51s924 call 148 ir_builder_ir_emit void 1 147 call 149 pith_cstring_release void 1 147 -label L6041 +label L6115 load 150 __for_idx_447 iconst 151 1 add 152 150 151 store __for_idx_447 152 -jmp L6039 -label L6042 +jmp L6113 +label L6116 load 153 __for_iter_447 call 154 pith_list_release_handle void 1 153 load 155 fname @@ -203160,12 +203602,12 @@ iconst 9 0 store __for_idx_448 9 store __for_len_448 8 store __for_iter_448 7 -label L6063 +label L6137 load 10 __for_idx_448 load 11 __for_len_448 lt 12 10 11 -brif 12 L6064 L6066 -label L6064 +brif 12 L6138 L6140 +label L6138 load 13 __for_iter_448 load 14 __for_idx_448 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -203174,21 +203616,21 @@ load 16 __loopvar_448_ename call 17 ir_emitter_core_ir_enum_needs_tracer bool 1 16 iconst 19 1 sub 18 19 17 -brif 18 L6068 L6069 -label L6068 -jmp L6065 -label L6069 -label L6067 +brif 18 L6142 L6143 +label L6142 +jmp L6139 +label L6143 +label L6141 load 20 ir_struct_registry_ir_enum_variant_lists load 21 __loopvar_448_ename call 22 contains_key bool 2 20 21 iconst 24 1 sub 23 24 22 -brif 23 L6071 L6072 -label L6071 -jmp L6065 -label L6072 -label L6070 +brif 23 L6145 L6146 +label L6145 +jmp L6139 +label L6146 +label L6144 strref 25 m51s1206 load 26 __loopvar_448_ename concat 27 25 26 @@ -203249,13 +203691,13 @@ call 79 pith_list_release_handle void 1 72 store variants 77 iconst 80 0 store vi 80 -label L6073 +label L6147 load 81 vi load 82 variants call 83 pith_list_len int 1 82 lt 84 81 83 -brif 84 L6074 L6075 -label L6074 +brif 84 L6148 L6149 +label L6148 load 85 vkey load 86 __loopvar_448_ename strref 87 m51s26 @@ -203271,8 +203713,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 L6077 L6078 -label L6077 +brif 98 L6151 L6152 +label L6151 load 99 kinds load 100 ir_struct_registry_ir_enum_payload_kinds load 101 vkey @@ -203286,35 +203728,35 @@ iconst 107 0 store has_trace 107 iconst 108 0 store c 108 -label L6079 +label L6153 load 109 c load 110 kinds call 111 pith_list_len int 1 110 lt 112 109 111 -brif 112 L6080 L6081 -label L6080 +brif 112 L6154 L6155 +label L6154 load 113 kinds load 114 c call 115 pith_list_get_value_strict string 2 113 114 call 116 ir_struct_registry_ir_rc_field_kind string 1 115 call 117 ir_emitter_core_ir_trace_kind_enabled bool 1 116 call 118 pith_cstring_release void 1 116 -brif 117 L6083 L6084 -label L6083 +brif 117 L6157 L6158 +label L6157 iconst 119 1 store has_trace 119 -jmp L6082 -label L6084 -label L6082 +jmp L6156 +label L6158 +label L6156 load 120 c iconst 121 1 add 122 120 121 store c 122 -jmp L6079 -label L6081 +jmp L6153 +label L6155 load 123 has_trace -brif 123 L6086 L6087 -label L6086 +brif 123 L6160 L6161 +label L6160 call 124 ir_builder_ir_reg int 0 store vtag 124 strref 125 m51s880 @@ -203396,13 +203838,13 @@ load 197 hit_l call 198 ir_call_emit_ir_emit_label void 1 197 iconst 199 0 store s 199 -label L6088 +label L6162 load 200 s load 201 kinds call 202 pith_list_len int 1 201 lt 203 200 202 -brif 203 L6089 L6090 -label L6089 +brif 203 L6163 L6164 +label L6163 load 204 rk load 205 kinds load 206 s @@ -203412,8 +203854,8 @@ call 209 pith_cstring_release void 1 204 store rk 208 load 210 rk call 211 ir_emitter_core_ir_trace_kind_enabled bool 1 210 -brif 211 L6092 L6093 -label L6092 +brif 211 L6166 L6167 +label L6166 call 212 ir_builder_ir_reg int 0 store slot_r 212 strref 213 m51s885 @@ -203458,29 +203900,29 @@ call 251 pith_cstring_release void 1 247 load 252 slot_r load 253 rk call 254 ir_ownership_ir_rc_visit_reg void 2 252 253 -jmp L6091 -label L6093 -label L6091 +jmp L6165 +label L6167 +label L6165 load 255 s iconst 256 1 add 257 255 256 store s 257 -jmp L6088 -label L6090 +jmp L6162 +label L6164 load 258 skip_l call 259 ir_call_emit_ir_emit_label void 1 258 -jmp L6085 -label L6087 -label L6085 -jmp L6076 -label L6078 -label L6076 +jmp L6159 +label L6161 +label L6159 +jmp L6150 +label L6152 +label L6150 load 260 vi iconst 261 1 add 262 260 261 store vi 262 -jmp L6073 -label L6075 +jmp L6147 +label L6149 call 263 ir_builder_ir_reg int 0 store zr 263 strref 264 m51s880 @@ -203495,7 +203937,7 @@ call 272 pith_cstring_release void 1 267 call 273 pith_cstring_release void 1 270 call 274 ir_builder_ir_emit void 1 271 call 275 pith_cstring_release void 1 271 -strref 276 m51s897 +strref 276 m51s925 load 277 zr call 278 int_to_string string 1 277 concat 279 276 278 @@ -203503,16 +203945,16 @@ call 280 pith_cstring_release void 1 276 call 281 pith_cstring_release void 1 278 call 282 ir_builder_ir_emit void 1 279 call 283 pith_cstring_release void 1 279 -strref 284 m51s925 +strref 284 m51s924 call 285 ir_builder_ir_emit void 1 284 call 286 pith_cstring_release void 1 284 -label L6065 +label L6139 load 287 __for_idx_448 iconst 288 1 add 289 287 288 store __for_idx_448 289 -jmp L6063 -label L6066 +jmp L6137 +label L6140 load 290 __for_iter_448 call 291 pith_list_release_handle void 1 290 load 292 variants @@ -203539,12 +203981,12 @@ iconst 3 0 store __for_idx_449 3 store __for_len_449 2 store __for_iter_449 1 -label L6094 +label L6168 load 4 __for_idx_449 load 5 __for_len_449 lt 6 4 5 -brif 6 L6095 L6097 -label L6095 +brif 6 L6169 L6171 +label L6169 load 7 __for_iter_449 load 8 __for_idx_449 call 9 pith_list_get_value_unchecked string 2 7 8 @@ -203575,13 +204017,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 L6098 +label L6172 load 34 i load 35 __loopvar_449_sig call 36 string_len int 1 35 lt 37 34 36 -brif 37 L6099 L6100 -label L6099 +brif 37 L6173 L6174 +label L6173 load 38 kind load 39 __loopvar_449_sig load 40 i @@ -203594,8 +204036,8 @@ load 45 kind call 46 string_len int 1 45 iconst 47 0 gt 48 46 47 -brif 48 L6102 L6103 -label L6102 +brif 48 L6176 L6177 +label L6176 call 49 ir_builder_ir_reg int 0 store fr 49 strref 50 m51s885 @@ -203638,15 +204080,15 @@ call 86 pith_cstring_release void 1 82 load 87 fr load 88 kind call 89 ir_ownership_ir_rc_release_reg void 2 87 88 -jmp L6101 -label L6103 -label L6101 +jmp L6175 +label L6177 +label L6175 load 90 i iconst 91 1 add 92 90 91 store i 92 -jmp L6098 -label L6100 +jmp L6172 +label L6174 call 93 ir_builder_ir_reg int 0 store zr 93 strref 94 m51s880 @@ -203661,7 +204103,7 @@ call 102 pith_cstring_release void 1 97 call 103 pith_cstring_release void 1 100 call 104 ir_builder_ir_emit void 1 101 call 105 pith_cstring_release void 1 101 -strref 106 m51s897 +strref 106 m51s925 load 107 zr call 108 int_to_string string 1 107 concat 109 106 108 @@ -203669,16 +204111,16 @@ call 110 pith_cstring_release void 1 106 call 111 pith_cstring_release void 1 108 call 112 ir_builder_ir_emit void 1 109 call 113 pith_cstring_release void 1 109 -strref 114 m51s925 +strref 114 m51s924 call 115 ir_builder_ir_emit void 1 114 call 116 pith_cstring_release void 1 114 -label L6096 +label L6170 load 117 __for_idx_449 iconst 118 1 add 119 117 118 store __for_idx_449 119 -jmp L6094 -label L6097 +jmp L6168 +label L6171 load 120 kind call 121 pith_cstring_release void 1 120 iconst 122 0 @@ -203693,12 +204135,12 @@ iconst 3 0 store __for_idx_450 3 store __for_len_450 2 store __for_iter_450 1 -label L6104 +label L6178 load 4 __for_idx_450 load 5 __for_len_450 lt 6 4 5 -brif 6 L6105 L6107 -label L6105 +brif 6 L6179 L6181 +label L6179 load 7 __for_iter_450 load 8 __for_idx_450 call 9 pith_list_get_value_unchecked string 2 7 8 @@ -203707,11 +204149,11 @@ load 10 __loopvar_450_sig call 11 ir_emitter_core_ir_tuple_sig_has_trace bool 1 10 iconst 13 1 sub 12 13 11 -brif 12 L6109 L6110 -label L6109 -jmp L6106 -label L6110 -label L6108 +brif 12 L6183 L6184 +label L6183 +jmp L6180 +label L6184 +label L6182 load 14 __loopvar_450_sig call 15 ir_emitter_core_ir_tuple_tracer_name string 1 14 iconst 16 1 @@ -203738,13 +204180,13 @@ call 35 ir_builder_ir_emit void 1 32 call 36 pith_cstring_release void 1 32 iconst 37 0 store i 37 -label L6111 +label L6185 load 38 i load 39 __loopvar_450_sig call 40 string_len int 1 39 lt 41 38 40 -brif 41 L6112 L6113 -label L6112 +brif 41 L6186 L6187 +label L6186 load 42 kind load 43 __loopvar_450_sig load 44 i @@ -203755,8 +204197,8 @@ call 48 pith_cstring_release void 1 42 store kind 46 load 49 kind call 50 ir_emitter_core_ir_trace_kind_enabled bool 1 49 -brif 50 L6115 L6116 -label L6115 +brif 50 L6189 L6190 +label L6189 call 51 ir_builder_ir_reg int 0 store fr 51 strref 52 m51s885 @@ -203799,15 +204241,15 @@ call 88 pith_cstring_release void 1 84 load 89 fr load 90 kind call 91 ir_ownership_ir_rc_visit_reg void 2 89 90 -jmp L6114 -label L6116 -label L6114 +jmp L6188 +label L6190 +label L6188 load 92 i iconst 93 1 add 94 92 93 store i 94 -jmp L6111 -label L6113 +jmp L6185 +label L6187 call 95 ir_builder_ir_reg int 0 store zr 95 strref 96 m51s880 @@ -203822,7 +204264,7 @@ call 104 pith_cstring_release void 1 99 call 105 pith_cstring_release void 1 102 call 106 ir_builder_ir_emit void 1 103 call 107 pith_cstring_release void 1 103 -strref 108 m51s897 +strref 108 m51s925 load 109 zr call 110 int_to_string string 1 109 concat 111 108 110 @@ -203830,16 +204272,16 @@ call 112 pith_cstring_release void 1 108 call 113 pith_cstring_release void 1 110 call 114 ir_builder_ir_emit void 1 111 call 115 pith_cstring_release void 1 111 -strref 116 m51s925 +strref 116 m51s924 call 117 ir_builder_ir_emit void 1 116 call 118 pith_cstring_release void 1 116 -label L6106 +label L6180 load 119 __for_idx_450 iconst 120 1 add 121 119 120 store __for_idx_450 121 -jmp L6104 -label L6107 +jmp L6178 +label L6181 load 122 kind call 123 pith_cstring_release void 1 122 iconst 124 0 @@ -203871,12 +204313,12 @@ iconst 12 0 store __for_idx_451 12 store __for_len_451 11 store __for_iter_451 10 -label L6117 +label L6191 load 13 __for_idx_451 load 14 __for_len_451 lt 15 13 14 -brif 15 L6118 L6120 -label L6118 +brif 15 L6192 L6194 +label L6192 load 16 __for_iter_451 load 17 __for_idx_451 call 18 pith_list_get_value_unchecked string 2 16 17 @@ -203886,11 +204328,11 @@ load 20 __loopvar_451_ename call 21 contains_key bool 2 19 20 iconst 23 1 sub 22 23 21 -brif 22 L6122 L6123 -label L6122 -jmp L6119 -label L6123 -label L6121 +brif 22 L6196 L6197 +label L6196 +jmp L6193 +label L6197 +label L6195 strref 24 m51s1215 load 25 __loopvar_451_ename concat 26 24 25 @@ -204109,13 +204551,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 L6124 +label L6198 load 230 vi load 231 variants call 232 pith_list_len int 1 231 lt 233 230 232 -brif 233 L6125 L6126 -label L6125 +brif 233 L6199 L6200 +label L6199 load 234 vkey load 235 __loopvar_451_ename strref 236 m51s26 @@ -204131,8 +204573,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 L6128 L6129 -label L6128 +brif 247 L6202 L6203 +label L6202 load 248 chain_l call 249 ir_call_emit_ir_emit_label void 1 248 load 250 chain_l @@ -204225,13 +204667,13 @@ call 332 pith_list_release_handle void 1 325 store kinds 330 iconst 333 0 store k 333 -label L6130 +label L6204 load 334 k load 335 kinds call 336 pith_list_len int 1 335 lt 337 334 336 -brif 337 L6131 L6132 -label L6131 +brif 337 L6205 L6206 +label L6205 call 338 ir_builder_ir_reg int 0 store fa 338 strref 339 m51s885 @@ -204322,8 +204764,8 @@ call 421 pith_list_get_value_strict string 2 419 420 strref 422 m51s716 call 423 pith_cstring_eq bool 2 421 422 call 424 pith_cstring_release void 1 422 -brif 423 L6134 L6135 -label L6134 +brif 423 L6208 L6209 +label L6208 load 425 cmp_r strref 426 m51s767 strref 427 m51s714 @@ -204332,15 +204774,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 L6133 -label L6135 +jmp L6207 +label L6209 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 L6136 L6137 -label L6136 +brif 437 L6210 L6211 +label L6210 load 438 cmp_r strref 439 m51s1215 load 440 kinds @@ -204354,8 +204796,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 L6133 -label L6137 +jmp L6207 +label L6211 strref 451 m51s887 load 452 cmp_r call 453 int_to_string string 1 452 @@ -204382,7 +204824,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 L6133 +label L6207 load 477 next_slot_l call 478 ir_builder_ir_label string 0 call 479 pith_cstring_release void 1 477 @@ -204415,23 +204857,23 @@ load 504 k iconst 505 1 add 506 504 505 store k 506 -jmp L6130 -label L6132 +jmp L6204 +label L6206 strref 507 m51s881 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 L6127 -label L6129 -label L6127 +jmp L6201 +label L6203 +label L6201 load 513 vi iconst 514 1 add 515 513 514 store vi 515 -jmp L6124 -label L6126 +jmp L6198 +label L6200 load 516 chain_l call 517 ir_call_emit_ir_emit_label void 1 516 strref 518 m51s881 @@ -204456,7 +204898,7 @@ call 535 pith_cstring_release void 1 530 call 536 pith_cstring_release void 1 533 call 537 ir_builder_ir_emit void 1 534 call 538 pith_cstring_release void 1 534 -strref 539 m51s897 +strref 539 m51s925 load 540 f_r call 541 int_to_string string 1 540 concat 542 539 541 @@ -204480,7 +204922,7 @@ call 558 pith_cstring_release void 1 553 call 559 pith_cstring_release void 1 556 call 560 ir_builder_ir_emit void 1 557 call 561 pith_cstring_release void 1 557 -strref 562 m51s897 +strref 562 m51s925 load 563 t_r call 564 int_to_string string 1 563 concat 565 562 564 @@ -204488,16 +204930,16 @@ call 566 pith_cstring_release void 1 562 call 567 pith_cstring_release void 1 564 call 568 ir_builder_ir_emit void 1 565 call 569 pith_cstring_release void 1 565 -strref 570 m51s925 +strref 570 m51s924 call 571 ir_builder_ir_emit void 1 570 call 572 pith_cstring_release void 1 570 -label L6119 +label L6193 load 573 __for_idx_451 iconst 574 1 add 575 573 574 store __for_idx_451 575 -jmp L6117 -label L6120 +jmp L6191 +label L6194 load 576 __for_iter_451 call 577 pith_list_release_handle void 1 576 load 578 true_l @@ -204536,16 +204978,16 @@ load 7 parts field 8 7 8 int val_idx iconst 9 0 lt 10 8 9 -brif 10 L6139 L6140 -label L6139 +brif 10 L6213 L6214 +label L6213 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 L6140 -label L6138 +label L6214 +label L6212 load 16 vk load 17 parts field 18 17 8 int val_idx @@ -204555,93 +204997,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_6144 23 +store __or_23_6218 23 iconst 24 0 -store __or_24_6144 24 +store __or_24_6218 24 iconst 25 0 -store __or_25_6144 25 +store __or_25_6218 25 load 26 vk strref 27 m51s531 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __or_25_6144 28 -brif 28 L6145 L6144 -label L6144 +store __or_25_6218 28 +brif 28 L6219 L6218 +label L6218 load 30 vk strref 31 m51s528 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_25_6144 32 -label L6145 -load 34 __or_25_6144 -store __or_24_6144 34 -brif 34 L6147 L6146 -label L6146 +store __or_25_6218 32 +label L6219 +load 34 __or_25_6218 +store __or_24_6218 34 +brif 34 L6221 L6220 +label L6220 load 35 vk strref 36 m51s76 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_24_6144 37 -label L6147 -load 39 __or_24_6144 -store __or_23_6144 39 -brif 39 L6149 L6148 -label L6148 +store __or_24_6218 37 +label L6221 +load 39 __or_24_6218 +store __or_23_6218 39 +brif 39 L6223 L6222 +label L6222 load 40 vk strref 41 m51s75 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_23_6144 42 -label L6149 -load 44 __or_23_6144 -brif 44 L6142 L6143 -label L6142 +store __or_23_6218 42 +label L6223 +load 44 __or_23_6218 +brif 44 L6216 L6217 +label L6216 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 L6143 -label L6141 +label L6217 +label L6215 iconst 50 0 -store __or_50_6153 50 +store __or_50_6227 50 iconst 51 0 -store __or_51_6153 51 +store __or_51_6227 51 load 52 vk strref 53 m51s529 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_51_6153 54 -brif 54 L6154 L6153 -label L6153 +store __or_51_6227 54 +brif 54 L6228 L6227 +label L6227 load 56 vk strref 57 m51s716 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -store __or_51_6153 58 -label L6154 -load 60 __or_51_6153 -store __or_50_6153 60 -brif 60 L6156 L6155 -label L6155 +store __or_51_6227 58 +label L6228 +load 60 __or_51_6227 +store __or_50_6227 60 +brif 60 L6230 L6229 +label L6229 load 61 vk strref 62 m51s1076 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __or_50_6153 63 -label L6156 -load 65 __or_50_6153 -brif 65 L6151 L6152 -label L6151 +store __or_50_6227 63 +label L6230 +load 65 __or_50_6227 +brif 65 L6225 L6226 +label L6225 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 L6152 -label L6150 +label L6226 +label L6224 iconst 71 1 load 72 parts call 73 pith_struct_release void 1 72 @@ -204678,12 +205120,12 @@ iconst 11 0 store __for_idx_452 11 store __for_len_452 10 store __for_iter_452 9 -label L6157 +label L6231 load 12 __for_idx_452 load 13 __for_len_452 lt 14 12 13 -brif 14 L6158 L6160 -label L6158 +brif 14 L6232 L6234 +label L6232 load 15 __for_iter_452 load 16 __for_idx_452 call 17 pith_list_get_value unknown 2 15 16 @@ -204694,37 +205136,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_6164 22 +store __and_22_6238 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_6164 25 -brif 25 L6164 L6165 -label L6164 +store __and_22_6238 25 +brif 25 L6238 L6239 +label L6238 load 26 cn call 27 ir_emitter_core_ir_global_needs_runtime_init bool 1 26 -store __and_22_6164 27 -label L6165 -load 28 __and_22_6164 -brif 28 L6162 L6163 -label L6162 +store __and_22_6238 27 +label L6239 +load 28 __and_22_6238 +brif 28 L6236 L6237 +label L6236 iconst 29 1 store has_runtime_inits 29 -jmp L6161 -label L6163 -label L6161 -label L6159 +jmp L6235 +label L6237 +label L6235 +label L6233 load 30 __for_idx_452 iconst 31 1 add 32 30 31 store __for_idx_452 32 -jmp L6157 -label L6160 +jmp L6231 +label L6234 load 33 has_runtime_inits iconst 35 1 sub 34 35 33 -brif 34 L6167 L6168 -label L6167 +brif 34 L6241 L6242 +label L6241 load 36 cn call 37 pith_struct_release void 1 36 load 38 gname @@ -204739,8 +205181,8 @@ load 46 gkind call 47 pith_cstring_release void 1 46 iconst 48 0 ret 48 -label L6168 -label L6166 +label L6242 +label L6240 strref 49 m51s1214 iconst 50 0 strref 51 m51s712 @@ -204754,12 +205196,12 @@ iconst 58 0 store __for_idx_453 58 store __for_len_453 57 store __for_iter_453 56 -label L6169 +label L6243 load 59 __for_idx_453 load 60 __for_len_453 lt 61 59 60 -brif 61 L6170 L6172 -label L6170 +brif 61 L6244 L6246 +label L6244 load 62 __for_iter_453 load 63 __for_idx_453 call 64 pith_list_get_value unknown 2 62 63 @@ -204770,20 +205212,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_6176 69 +store __and_69_6250 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_6176 72 -brif 72 L6176 L6177 -label L6176 +store __and_69_6250 72 +brif 72 L6250 L6251 +label L6250 load 73 cn call 74 ir_emitter_core_ir_global_needs_runtime_init bool 1 73 -store __and_69_6176 74 -label L6177 -load 75 __and_69_6176 -brif 75 L6174 L6175 -label L6174 +store __and_69_6250 74 +label L6251 +load 75 __and_69_6250 +brif 75 L6248 L6249 +label L6248 load 76 gname load 77 cn call 78 ir_ast_helpers_ir_binding_name string 1 77 @@ -204802,32 +205244,32 @@ load 87 parts field 88 87 16 int type_idx iconst 89 0 gte 90 88 89 -brif 90 L6179 L6180 -label L6179 +brif 90 L6253 L6254 +label L6253 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 L6178 -label L6180 -label L6178 +jmp L6252 +label L6254 +label L6252 load 96 target call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L6182 L6183 -label L6182 +brif 99 L6256 L6257 +label L6256 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 L6181 -label L6183 -label L6181 +jmp L6255 +label L6257 +label L6255 load 105 gtarget load 106 gname load 107 target @@ -204845,42 +205287,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_6187 118 +store __and_118_6261 118 iconst 119 0 -store __and_119_6187 119 +store __and_119_6261 119 load 120 gkind call 121 string_len int 1 120 iconst 122 0 gt 123 121 122 -store __and_119_6187 123 -brif 123 L6187 L6188 -label L6187 +store __and_119_6261 123 +brif 123 L6261 L6262 +label L6261 load 124 gtarget strref 125 m51s23 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_6187 126 -label L6188 -load 130 __and_119_6187 -store __and_118_6187 130 -brif 130 L6189 L6190 -label L6189 +store __and_119_6261 126 +label L6262 +load 130 __and_119_6261 +store __and_118_6261 130 +brif 130 L6263 L6264 +label L6263 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_6187 133 -label L6190 -load 134 __and_118_6187 -brif 134 L6185 L6186 -label L6185 +store __and_118_6261 133 +label L6264 +load 134 __and_118_6261 +brif 134 L6259 L6260 +label L6259 load 135 r load 136 gkind call 137 ir_ownership_ir_rc_retain_reg void 2 135 136 -jmp L6184 -label L6186 -label L6184 +jmp L6258 +label L6260 +label L6258 strref 138 m51s878 load 139 gname concat 140 138 139 @@ -204896,16 +205338,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 L6173 -label L6175 -label L6173 -label L6171 +jmp L6247 +label L6249 +label L6247 +label L6245 load 153 __for_idx_453 iconst 154 1 add 155 153 154 store __for_idx_453 155 -jmp L6169 -label L6172 +jmp L6243 +label L6246 call 156 ir_builder_ir_reg int 0 store dr 156 strref 157 m51s880 @@ -204920,7 +205362,7 @@ call 165 pith_cstring_release void 1 160 call 166 pith_cstring_release void 1 163 call 167 ir_builder_ir_emit void 1 164 call 168 pith_cstring_release void 1 164 -strref 169 m51s897 +strref 169 m51s925 load 170 dr call 171 int_to_string string 1 170 concat 172 169 171 @@ -204928,7 +205370,7 @@ call 173 pith_cstring_release void 1 169 call 174 pith_cstring_release void 1 171 call 175 ir_builder_ir_emit void 1 172 call 176 pith_cstring_release void 1 172 -strref 177 m51s925 +strref 177 m51s924 call 178 ir_builder_ir_emit void 1 177 call 179 pith_cstring_release void 1 177 load 180 cn @@ -204962,12 +205404,12 @@ iconst 8 0 store __for_idx_454 8 store __for_len_454 7 store __for_iter_454 6 -label L6191 +label L6265 load 9 __for_idx_454 load 10 __for_len_454 lt 11 9 10 -brif 11 L6192 L6194 -label L6192 +brif 11 L6266 L6268 +label L6266 load 12 __for_iter_454 load 13 __for_idx_454 call 14 pith_list_get_value unknown 2 12 13 @@ -204978,67 +205420,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_6198 19 +store __or_19_6272 19 load 20 actual_node field 21 20 0 string kind strref 22 m51s649 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __or_19_6198 23 -brif 23 L6199 L6198 -label L6198 +store __or_19_6272 23 +brif 23 L6273 L6272 +label L6272 load 25 actual_node field 26 25 0 string kind strref 27 m51s601 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __or_19_6198 28 -label L6199 -load 30 __or_19_6198 -brif 30 L6196 L6197 -label L6196 +store __or_19_6272 28 +label L6273 +load 30 __or_19_6272 +brif 30 L6270 L6271 +label L6270 load 31 actual_node call 32 ir_generics_ir_has_generic_params bool 1 31 -brif 32 L6201 L6202 -label L6201 -jmp L6193 -label L6202 -label L6200 +brif 32 L6275 L6276 +label L6275 +jmp L6267 +label L6276 +label L6274 iconst 33 0 -store __and_33_6206 33 +store __and_33_6280 33 load 34 ir_emitter_core_ir_emit_tests -store __and_33_6206 34 -brif 34 L6206 L6207 -label L6206 +store __and_33_6280 34 +brif 34 L6280 L6281 +label L6280 load 35 actual_node field 36 35 8 string value strref 37 m51s1213 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __and_33_6206 38 -label L6207 -load 40 __and_33_6206 +store __and_33_6280 38 +label L6281 +load 40 __and_33_6280 iconst 42 1 sub 41 42 40 -brif 41 L6204 L6205 -label L6204 +brif 41 L6278 L6279 +label L6278 load 43 __loopvar_454_item_idx call 44 ir_emitter_core_ir_func void 1 43 -jmp L6203 -label L6205 -label L6203 -jmp L6195 -label L6197 +jmp L6277 +label L6279 +label L6277 +jmp L6269 +label L6271 load 45 actual_node field 46 45 0 string kind strref 47 m51s612 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -brif 48 L6208 L6209 -label L6208 +brif 48 L6282 L6283 +label L6282 load 50 ir_emitter_core_ir_emit_tests -brif 50 L6211 L6212 -label L6211 +brif 50 L6285 L6286 +label L6285 load 51 __loopvar_454_item_idx load 52 test_ord call 53 ir_emitter_core_ir_emit_test_func void 2 51 52 @@ -205046,18 +205488,18 @@ load 54 test_ord iconst 55 1 add 56 54 55 store test_ord 56 -jmp L6210 -label L6212 -label L6210 -jmp L6195 -label L6209 +jmp L6284 +label L6286 +label L6284 +jmp L6269 +label L6283 load 57 actual_node field 58 57 0 string kind strref 59 m51s613 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L6213 L6214 -label L6213 +brif 60 L6287 L6288 +label L6287 load 62 impl_type load 63 actual_node call 64 ir_emitter_core_ir_impl_target_type string 1 63 @@ -205066,26 +205508,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 L6195 -label L6214 -label L6195 -label L6193 +jmp L6269 +label L6288 +label L6269 +label L6267 load 69 __for_idx_454 iconst 70 1 add 71 69 70 store __for_idx_454 71 -jmp L6191 -label L6194 +jmp L6265 +label L6268 load 72 __for_iter_454 call 73 pith_list_release_handle void 1 72 load 74 ir_emitter_core_ir_emit_tests -brif 74 L6216 L6217 -label L6216 +brif 74 L6290 L6291 +label L6290 load 75 root_idx call 76 ir_emitter_core_ir_emit_test_main void 1 75 -jmp L6215 -label L6217 -label L6215 +jmp L6289 +label L6291 +label L6289 load 77 actual_node call 78 pith_struct_release void 1 77 load 79 impl_type @@ -205125,12 +205567,12 @@ iconst 10 0 store __for_idx_455 10 store __for_len_455 9 store __for_iter_455 8 -label L6218 +label L6292 load 11 __for_idx_455 load 12 __for_len_455 lt 13 11 12 -brif 13 L6219 L6221 -label L6219 +brif 13 L6293 L6295 +label L6293 load 14 __for_iter_455 load 15 __for_idx_455 call 16 pith_list_get_value_unchecked string 2 14 15 @@ -205142,13 +205584,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 L6220 +label L6294 load 24 __for_idx_455 iconst 25 1 add 26 24 25 store __for_idx_455 26 -jmp L6218 -label L6221 +jmp L6292 +label L6295 load 27 builtin_names call 28 pith_list_release_handle void 1 27 iconst 29 0 @@ -205168,12 +205610,12 @@ iconst 6 0 store __for_idx_456 6 store __for_len_456 5 store __for_iter_456 4 -label L6222 +label L6296 load 7 __for_idx_456 load 8 __for_len_456 lt 9 7 8 -brif 9 L6223 L6225 -label L6223 +brif 9 L6297 L6299 +label L6297 load 10 __for_iter_456 load 11 __for_idx_456 call 12 pith_list_get_value unknown 2 10 11 @@ -205185,13 +205627,13 @@ load 15 ir_emitter_core_ir_preloaded_import_paths load 16 __loopvar_456_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 L6224 +label L6298 load 19 __for_idx_456 iconst 20 1 add 21 19 20 store __for_idx_456 21 -jmp L6222 -label L6225 +jmp L6296 +label L6299 iconst 22 0 ret 22 endfunc @@ -205217,12 +205659,12 @@ iconst 11 0 store __for_idx_457 11 store __for_len_457 10 store __for_iter_457 9 -label L6226 +label L6300 load 12 __for_idx_457 load 13 __for_len_457 lt 14 12 13 -brif 14 L6227 L6229 -label L6227 +brif 14 L6301 L6303 +label L6301 load 15 __for_iter_457 load 16 __for_idx_457 call 17 pith_list_get_value unknown 2 15 16 @@ -205237,8 +205679,8 @@ load 22 __loopvar_457_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 L6231 L6232 -label L6231 +brif 25 L6305 L6306 +label L6305 load 26 module_path load 27 ir_emitter_core_ir_preloaded_import_paths load 28 __loopvar_457_preload_i @@ -205246,9 +205688,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 L6230 -label L6232 -label L6230 +jmp L6304 +label L6306 +label L6304 load 32 __loopvar_457_root call 33 ir_tree_cache_ir_root_items list 1 32 call 34 pith_auto_len int 1 33 @@ -205256,12 +205698,12 @@ iconst 35 0 store __for_idx_458 35 store __for_len_458 34 store __for_iter_458 33 -label L6233 +label L6307 load 36 __for_idx_458 load 37 __for_len_458 lt 38 36 37 -brif 38 L6234 L6236 -label L6234 +brif 38 L6308 L6310 +label L6308 load 39 __for_iter_458 load 40 __for_idx_458 call 41 pith_list_get_value unknown 2 39 40 @@ -205274,8 +205716,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 L6238 L6239 -label L6238 +brif 48 L6312 L6313 +label L6312 load 49 module_path load 50 node field 51 50 8 string value @@ -205284,28 +205726,28 @@ load 53 node load 54 module_path call 55 ir_emitter_core_ir_record_function_return_as void 3 52 53 54 call 56 pith_cstring_release void 1 52 -jmp L6237 -label L6239 -label L6237 -label L6235 +jmp L6311 +label L6313 +label L6311 +label L6309 load 57 __for_idx_458 iconst 58 1 add 59 57 58 store __for_idx_458 59 -jmp L6233 -label L6236 +jmp L6307 +label L6310 load 60 __for_iter_458 call 61 pith_list_release_handle void 1 60 load 62 __loopvar_457_root load 63 module_path call 64 ir_emitter_core_ir_collect_generic_function_decls_from_root void 2 62 63 -label L6228 +label L6302 load 65 __for_idx_457 iconst 66 1 add 67 65 66 store __for_idx_457 67 -jmp L6226 -label L6229 +jmp L6300 +label L6303 load 68 root_idx call 69 ir_tree_cache_ir_root_items list 1 68 call 70 pith_auto_len int 1 69 @@ -205313,12 +205755,12 @@ iconst 71 0 store __for_idx_459 71 store __for_len_459 70 store __for_iter_459 69 -label L6240 +label L6314 load 72 __for_idx_459 load 73 __for_len_459 lt 74 72 73 -brif 74 L6241 L6243 -label L6241 +brif 74 L6315 L6317 +label L6315 load 75 __for_iter_459 load 76 __for_idx_459 call 77 pith_list_get_value unknown 2 75 76 @@ -205335,8 +205777,8 @@ field 85 84 0 string kind strref 86 m51s633 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L6245 L6246 -label L6245 +brif 87 L6319 L6320 +label L6319 load 89 target load 90 node call 91 ir_emitter_core_ir_type_alias_target string 1 90 @@ -205346,47 +205788,47 @@ load 93 target call 94 string_len int 1 93 iconst 95 0 gt 96 94 95 -brif 96 L6248 L6249 -label L6248 +brif 96 L6322 L6323 +label L6322 load 97 ir_alias_registry_ir_type_aliases load 98 node field 99 98 8 string value load 100 target call 101 map_insert void 3 97 99 100 -jmp L6247 -label L6249 -label L6247 -jmp L6244 -label L6246 +jmp L6321 +label L6323 +label L6321 +jmp L6318 +label L6320 load 102 node field 103 102 0 string kind call 104 ir_generics_ir_is_fn_decl_kind bool 1 103 -brif 104 L6250 L6251 -label L6250 +brif 104 L6324 L6325 +label L6324 load 105 node call 106 ir_emitter_core_ir_record_function_return void 1 105 load 107 node call 108 ir_generics_ir_has_generic_params bool 1 107 -brif 108 L6253 L6254 -label L6253 +brif 108 L6327 L6328 +label L6327 load 109 __loopvar_459_item_idx load 110 node strref 111 m51s83 call 112 ir_generics_ir_record_generic_function_decl void 3 109 110 111 call 113 pith_cstring_release void 1 111 -jmp L6252 -label L6254 -label L6252 -jmp L6244 -label L6251 -label L6244 -label L6242 +jmp L6326 +label L6328 +label L6326 +jmp L6318 +label L6325 +label L6318 +label L6316 load 114 __for_idx_459 iconst 115 1 add 116 114 115 store __for_idx_459 116 -jmp L6240 -label L6243 +jmp L6314 +label L6317 load 117 __for_iter_459 call 118 pith_list_release_handle void 1 117 load 119 module_path @@ -205444,8 +205886,8 @@ load 34 method_roots call 35 pith_list_len int 1 34 iconst 36 0 eq 37 35 36 -brif 37 L6256 L6257 -label L6256 +brif 37 L6330 L6331 +label L6330 load 38 method_roots load 39 ir_emitter_core_ir_preloaded_import_roots call 40 pith_list_retain_handle void 1 39 @@ -205456,18 +205898,18 @@ load 43 ir_emitter_core_ir_preloaded_import_paths call 44 pith_list_retain_handle void 1 43 call 45 pith_list_release_handle void 1 42 store method_paths 43 -jmp L6255 -label L6257 -label L6255 +jmp L6329 +label L6331 +label L6329 iconst 46 0 store iface_i 46 -label L6258 +label L6332 load 47 iface_i load 48 method_roots call 49 pith_list_len int 1 48 lt 50 47 49 -brif 50 L6259 L6260 -label L6259 +brif 50 L6333 L6334 +label L6333 load 51 method_roots load 52 iface_i call 53 pith_list_get_value_strict int 2 51 52 @@ -205480,21 +205922,21 @@ load 59 iface_i iconst 60 1 add 61 59 60 store iface_i 61 -jmp L6258 -label L6260 +jmp L6332 +label L6334 load 62 root_idx call 63 ir_emitter_core_ir_index_interfaces_in_root void 1 62 load 64 root_idx call 65 ir_emitter_core_ir_collect_assoc_bindings_in_root void 1 64 iconst 66 0 store preload_i 66 -label L6261 +label L6335 load 67 preload_i load 68 ir_emitter_core_ir_preloaded_import_roots call 69 pith_list_len int 1 68 lt 70 67 69 -brif 70 L6262 L6263 -label L6262 +brif 70 L6336 L6337 +label L6336 load 71 ir_emitter_core_ir_preloaded_import_roots load 72 preload_i call 73 pith_list_get_value_strict int 2 71 72 @@ -205504,17 +205946,17 @@ load 76 preload_i iconst 77 1 add 78 76 77 store preload_i 78 -jmp L6261 -label L6263 +jmp L6335 +label L6337 iconst 79 0 store impl_i 79 -label L6264 +label L6338 load 80 impl_i load 81 method_roots call 82 pith_list_len int 1 81 lt 83 80 82 -brif 83 L6265 L6266 -label L6265 +brif 83 L6339 L6340 +label L6339 load 84 method_roots load 85 impl_i call 86 pith_list_get_value_strict int 2 84 85 @@ -205526,8 +205968,8 @@ load 91 impl_i iconst 92 1 add 93 91 92 store impl_i 93 -jmp L6264 -label L6266 +jmp L6338 +label L6340 load 94 root_idx call 95 ir_tree_cache_ir_root_items list 1 94 call 96 pith_auto_len int 1 95 @@ -205535,12 +205977,12 @@ iconst 97 0 store __for_idx_460 97 store __for_len_460 96 store __for_iter_460 95 -label L6267 +label L6341 load 98 __for_idx_460 load 99 __for_len_460 lt 100 98 99 -brif 100 L6268 L6270 -label L6268 +brif 100 L6342 L6344 +label L6342 load 101 __for_iter_460 load 102 __for_idx_460 call 103 pith_list_get_value unknown 2 101 102 @@ -205551,77 +205993,77 @@ call 106 ast_get_node struct:Node 1 105 call 107 pith_struct_release void 1 104 store node 106 iconst 108 0 -store __or_108_6274 108 +store __or_108_6348 108 load 109 node field 110 109 0 string kind strref 111 m51s31 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -store __or_108_6274 112 -brif 112 L6275 L6274 -label L6274 +store __or_108_6348 112 +brif 112 L6349 L6348 +label L6348 load 114 node field 115 114 0 string kind strref 116 m51s15 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -store __or_108_6274 117 -label L6275 -load 119 __or_108_6274 -brif 119 L6272 L6273 -label L6272 +store __or_108_6348 117 +label L6349 +load 119 __or_108_6348 +brif 119 L6346 L6347 +label L6346 load 120 __loopvar_460_item_idx load 121 node iconst 122 1 call 123 ir_emitter_core_ir_collect_struct_decl void 3 120 121 122 -jmp L6271 -label L6273 +jmp L6345 +label L6347 iconst 124 0 -store __or_124_6278 124 +store __or_124_6352 124 load 125 node field 126 125 0 string kind strref 127 m51s30 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __or_124_6278 128 -brif 128 L6279 L6278 -label L6278 +store __or_124_6352 128 +brif 128 L6353 L6352 +label L6352 load 130 node field 131 130 0 string kind strref 132 m51s14 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -store __or_124_6278 133 -label L6279 -load 135 __or_124_6278 -brif 135 L6276 L6277 -label L6276 +store __or_124_6352 133 +label L6353 +load 135 __or_124_6352 +brif 135 L6350 L6351 +label L6350 load 136 node iconst 137 1 call 138 ir_emitter_core_ir_collect_enum_decl void 2 136 137 -jmp L6271 -label L6277 +jmp L6345 +label L6351 load 139 node field 140 139 0 string kind strref 141 m51s613 call 142 pith_cstring_eq bool 2 140 141 call 143 pith_cstring_release void 1 141 -brif 142 L6280 L6281 -label L6280 +brif 142 L6354 L6355 +label L6354 load 144 node strref 145 m51s83 call 146 ir_emitter_core_ir_collect_impl_method_signatures void 2 144 145 call 147 pith_cstring_release void 1 145 -jmp L6271 -label L6281 -label L6271 -label L6269 +jmp L6345 +label L6355 +label L6345 +label L6343 load 148 __for_idx_460 iconst 149 1 add 150 148 149 store __for_idx_460 150 -jmp L6267 -label L6270 +jmp L6341 +label L6344 load 151 __for_iter_460 call 152 pith_list_release_handle void 1 151 load 153 root_idx @@ -205728,12 +206170,12 @@ iconst 27 0 store __for_idx_461 27 store __for_len_461 26 store __for_iter_461 25 -label L6282 +label L6356 load 28 __for_idx_461 load 29 __for_len_461 lt 30 28 29 -brif 30 L6283 L6285 -label L6283 +brif 30 L6357 L6359 +label L6357 load 31 __for_iter_461 load 32 __for_idx_461 call 33 pith_list_get_value_unchecked string 2 31 32 @@ -205749,13 +206191,13 @@ call 41 pith_cstring_release void 1 38 call 42 ir_emitter_core_ir_emit_cc_register_pair void 2 36 40 call 43 pith_cstring_release void 1 36 call 44 pith_cstring_release void 1 40 -label L6284 +label L6358 load 45 __for_idx_461 iconst 46 1 add 47 45 46 store __for_idx_461 47 -jmp L6282 -label L6285 +jmp L6356 +label L6359 load 48 ir_struct_registry_ir_struct_names call 49 map_keys list_string 1 48 call 50 pith_auto_len int 1 49 @@ -205763,12 +206205,12 @@ iconst 51 0 store __for_idx_462 51 store __for_len_462 50 store __for_iter_462 49 -label L6286 +label L6360 load 52 __for_idx_462 load 53 __for_len_462 lt 54 52 53 -brif 54 L6287 L6289 -label L6287 +brif 54 L6361 L6363 +label L6361 load 55 __for_iter_462 load 56 __for_idx_462 call 57 pith_list_get_value_unchecked string 2 55 56 @@ -205779,37 +206221,37 @@ call 60 pith_cstring_index_of int 2 58 59 call 61 pith_cstring_release void 1 59 iconst 62 0 gte 63 60 62 -brif 63 L6291 L6292 -label L6291 -jmp L6288 -label L6292 -label L6290 +brif 63 L6365 L6366 +label L6365 +jmp L6362 +label L6366 +label L6364 load 64 ir_struct_registry_ir_boxed_enums load 65 __loopvar_462_sname call 66 contains_key bool 2 64 65 -brif 66 L6294 L6295 -label L6294 -jmp L6288 -label L6295 -label L6293 +brif 66 L6368 L6369 +label L6368 +jmp L6362 +label L6369 +label L6367 load 67 __loopvar_462_sname call 68 ir_struct_registry_ir_struct_needs_dtor bool 1 67 iconst 70 1 sub 69 70 68 -brif 69 L6297 L6298 -label L6297 -jmp L6288 -label L6298 -label L6296 +brif 69 L6371 L6372 +label L6371 +jmp L6362 +label L6372 +label L6370 load 71 __loopvar_462_sname call 72 ir_emitter_core_ir_struct_needs_tracer bool 1 71 iconst 74 1 sub 73 74 72 -brif 73 L6300 L6301 -label L6300 -jmp L6288 -label L6301 -label L6299 +brif 73 L6374 L6375 +label L6374 +jmp L6362 +label L6375 +label L6373 strref 75 m51s1207 load 76 __loopvar_462_sname concat 77 75 76 @@ -205821,13 +206263,13 @@ call 82 pith_cstring_release void 1 79 call 83 ir_emitter_core_ir_emit_cc_register_pair void 2 77 81 call 84 pith_cstring_release void 1 77 call 85 pith_cstring_release void 1 81 -label L6288 +label L6362 load 86 __for_idx_462 iconst 87 1 add 88 86 87 store __for_idx_462 88 -jmp L6286 -label L6289 +jmp L6360 +label L6363 load 89 __for_iter_462 call 90 pith_list_release_handle void 1 89 load 91 ir_struct_registry_ir_boxed_enums @@ -205837,12 +206279,12 @@ iconst 94 0 store __for_idx_463 94 store __for_len_463 93 store __for_iter_463 92 -label L6302 +label L6376 load 95 __for_idx_463 load 96 __for_len_463 lt 97 95 96 -brif 97 L6303 L6305 -label L6303 +brif 97 L6377 L6379 +label L6377 load 98 __for_iter_463 load 99 __for_idx_463 call 100 pith_list_get_value_unchecked string 2 98 99 @@ -205851,21 +206293,21 @@ load 101 __loopvar_463_ename call 102 ir_emitter_core_ir_enum_needs_tracer bool 1 101 iconst 104 1 sub 103 104 102 -brif 103 L6307 L6308 -label L6307 -jmp L6304 -label L6308 -label L6306 +brif 103 L6381 L6382 +label L6381 +jmp L6378 +label L6382 +label L6380 load 105 ir_struct_registry_ir_enum_variant_lists load 106 __loopvar_463_ename call 107 contains_key bool 2 105 106 iconst 109 1 sub 108 109 107 -brif 108 L6310 L6311 -label L6310 -jmp L6304 -label L6311 -label L6309 +brif 108 L6384 L6385 +label L6384 +jmp L6378 +label L6385 +label L6383 strref 110 m51s1207 load 111 __loopvar_463_ename concat 112 110 111 @@ -205877,13 +206319,13 @@ call 117 pith_cstring_release void 1 114 call 118 ir_emitter_core_ir_emit_cc_register_pair void 2 112 116 call 119 pith_cstring_release void 1 112 call 120 pith_cstring_release void 1 116 -label L6304 +label L6378 load 121 __for_idx_463 iconst 122 1 add 123 121 122 store __for_idx_463 123 -jmp L6302 -label L6305 +jmp L6376 +label L6379 load 124 __for_iter_463 call 125 pith_list_release_handle void 1 124 load 126 ir_emitter_core_ir_tuple_dtor_sigs @@ -205892,12 +206334,12 @@ iconst 128 0 store __for_idx_464 128 store __for_len_464 127 store __for_iter_464 126 -label L6312 +label L6386 load 129 __for_idx_464 load 130 __for_len_464 lt 131 129 130 -brif 131 L6313 L6315 -label L6313 +brif 131 L6387 L6389 +label L6387 load 132 __for_iter_464 load 133 __for_idx_464 call 134 pith_list_get_value_unchecked string 2 132 133 @@ -205906,11 +206348,11 @@ load 135 __loopvar_464_sig call 136 ir_emitter_core_ir_tuple_sig_has_trace bool 1 135 iconst 138 1 sub 137 138 136 -brif 137 L6317 L6318 -label L6317 -jmp L6314 -label L6318 -label L6316 +brif 137 L6391 L6392 +label L6391 +jmp L6388 +label L6392 +label L6390 load 139 __loopvar_464_sig call 140 ir_emitter_core_ir_tuple_dtor_name string 1 139 load 141 __loopvar_464_sig @@ -205918,13 +206360,13 @@ call 142 ir_emitter_core_ir_tuple_tracer_name string 1 141 call 143 ir_emitter_core_ir_emit_cc_register_pair void 2 140 142 call 144 pith_cstring_release void 1 140 call 145 pith_cstring_release void 1 142 -label L6314 +label L6388 load 146 __for_idx_464 iconst 147 1 add 148 146 147 store __for_idx_464 148 -jmp L6312 -label L6315 +jmp L6386 +label L6389 load 149 ir_emitter_core_ir_generic_dtor_base call 150 map_keys list_string 1 149 call 151 pith_auto_len int 1 150 @@ -205932,12 +206374,12 @@ iconst 152 0 store __for_idx_465 152 store __for_len_465 151 store __for_iter_465 150 -label L6319 +label L6393 load 153 __for_idx_465 load 154 __for_len_465 lt 155 153 154 -brif 155 L6320 L6322 -label L6320 +brif 155 L6394 L6396 +label L6394 load 156 __for_iter_465 load 157 __for_idx_465 call 158 pith_list_get_value_unchecked string 2 156 157 @@ -205946,11 +206388,11 @@ load 159 __loopvar_465_sym call 160 ir_emitter_core_ir_generic_instance_needs_tracer bool 1 159 iconst 162 1 sub 161 162 160 -brif 161 L6324 L6325 -label L6324 -jmp L6321 -label L6325 -label L6323 +brif 161 L6398 L6399 +label L6398 +jmp L6395 +label L6399 +label L6397 strref 163 m51s1207 load 164 __loopvar_465_sym concat 165 163 164 @@ -205962,13 +206404,13 @@ call 170 pith_cstring_release void 1 167 call 171 ir_emitter_core_ir_emit_cc_register_pair void 2 165 169 call 172 pith_cstring_release void 1 165 call 173 pith_cstring_release void 1 169 -label L6321 +label L6395 load 174 __for_idx_465 iconst 175 1 add 176 174 175 store __for_idx_465 176 -jmp L6319 -label L6322 +jmp L6393 +label L6396 load 177 __for_iter_465 call 178 pith_list_release_handle void 1 177 call 179 ir_builder_ir_reg int 0 @@ -205985,7 +206427,7 @@ call 188 pith_cstring_release void 1 183 call 189 pith_cstring_release void 1 186 call 190 ir_builder_ir_emit void 1 187 call 191 pith_cstring_release void 1 187 -strref 192 m51s897 +strref 192 m51s925 load 193 zr call 194 int_to_string string 1 193 concat 195 192 194 @@ -205993,7 +206435,7 @@ call 196 pith_cstring_release void 1 192 call 197 pith_cstring_release void 1 194 call 198 ir_builder_ir_emit void 1 195 call 199 pith_cstring_release void 1 195 -strref 200 m51s925 +strref 200 m51s924 call 201 ir_builder_ir_emit void 1 200 call 202 pith_cstring_release void 1 200 load 203 opt_kinds @@ -206052,12 +206494,12 @@ iconst 7 0 store __for_idx_466 7 store __for_len_466 6 store __for_iter_466 5 -label L6326 +label L6400 load 8 __for_idx_466 load 9 __for_len_466 lt 10 8 9 -brif 10 L6327 L6329 -label L6327 +brif 10 L6401 L6403 +label L6401 load 11 __for_iter_466 load 12 __for_idx_466 call 13 pith_list_get_value unknown 2 11 12 @@ -206074,24 +206516,24 @@ field 20 19 0 string kind strref 21 m51s602 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L6331 L6332 -label L6331 +brif 22 L6405 L6406 +label L6405 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 L6330 -label L6332 -label L6330 +jmp L6404 +label L6406 +label L6404 load 29 actual_node field 30 29 0 string kind strref 31 m51s613 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L6334 L6335 -label L6334 +brif 32 L6408 L6409 +label L6408 load 34 impl_type load 35 actual_node call 36 ir_emitter_core_ir_impl_target_type string 1 35 @@ -206101,24 +206543,24 @@ load 38 impl_type call 39 string_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L6337 L6338 -label L6337 +brif 41 L6411 L6412 +label L6411 load 42 actual_node load 43 impl_type call 44 ir_emitter_core_ir_register_impl_method_specialization_names void 2 42 43 -jmp L6336 -label L6338 -label L6336 -jmp L6333 -label L6335 -label L6333 -label L6328 +jmp L6410 +label L6412 +label L6410 +jmp L6407 +label L6409 +label L6407 +label L6402 load 45 __for_idx_466 iconst 46 1 add 47 45 46 store __for_idx_466 47 -jmp L6326 -label L6329 +jmp L6400 +label L6403 load 48 __for_iter_466 call 49 pith_list_release_handle void 1 48 load 50 node @@ -206149,8 +206591,8 @@ load 9 impl_type call 10 checker_has_generic_declaration bool 1 9 iconst 12 1 sub 11 12 10 -brif 11 L6340 L6341 -label L6340 +brif 11 L6414 L6415 +label L6414 load 13 sdecl call 14 pith_struct_release void 1 13 load 15 struct_params @@ -206167,8 +206609,8 @@ load 25 child_node call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L6341 -label L6339 +label L6415 +label L6413 load 28 sdecl load 29 impl_type call 30 checker_get_generic_declaration_index int 1 29 @@ -206184,8 +206626,8 @@ load 37 struct_params call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L6343 L6344 -label L6343 +brif 40 L6417 L6418 +label L6417 load 41 sdecl call 42 pith_struct_release void 1 41 load 43 struct_params @@ -206202,8 +206644,8 @@ load 53 child_node call 54 pith_struct_release void 1 53 iconst 55 0 ret 55 -label L6344 -label L6342 +label L6418 +label L6416 load 56 instance_tids load 57 checker_struct_instance_tids call 58 pith_list_retain_handle void 1 57 @@ -206215,12 +206657,12 @@ iconst 62 0 store __for_idx_467 62 store __for_len_467 61 store __for_iter_467 60 -label L6345 +label L6419 load 63 __for_idx_467 load 64 __for_len_467 lt 65 63 64 -brif 65 L6346 L6348 -label L6346 +brif 65 L6420 L6422 +label L6420 load 66 __for_iter_467 load 67 __for_idx_467 call 68 pith_list_get_value unknown 2 66 67 @@ -206232,21 +206674,21 @@ load 72 impl_type call 74 pith_cstring_eq bool 2 71 72 iconst 75 1 sub 73 75 74 -brif 73 L6350 L6351 -label L6350 -jmp L6347 -label L6351 -label L6349 +brif 73 L6424 L6425 +label L6424 +jmp L6421 +label L6425 +label L6423 load 76 checker_struct_instance_type_args load 77 __loopvar_467_inst_tid call 78 map_contains_ikey bool 2 76 77 iconst 80 1 sub 79 80 78 -brif 79 L6353 L6354 -label L6353 -jmp L6347 -label L6354 -label L6352 +brif 79 L6427 L6428 +label L6427 +jmp L6421 +label L6428 +label L6426 load 81 arg_tids load 82 checker_struct_instance_type_args load 83 __loopvar_467_inst_tid @@ -206264,12 +206706,12 @@ iconst 92 0 store __for_idx_468 92 store __for_len_468 91 store __for_iter_468 90 -label L6355 +label L6429 load 93 __for_idx_468 load 94 __for_len_468 lt 95 93 94 -brif 95 L6356 L6358 -label L6356 +brif 95 L6430 L6432 +label L6430 load 96 __for_iter_468 load 97 __for_idx_468 call 98 pith_list_get_value unknown 2 96 97 @@ -206278,13 +206720,13 @@ load 99 arg_names load 100 __loopvar_468_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 L6357 +label L6431 load 103 __for_idx_468 iconst 104 1 add 105 103 104 store __for_idx_468 105 -jmp L6355 -label L6358 +jmp L6429 +label L6432 load 106 instance_type_name load 107 __loopvar_467_inst_tid call 108 types_get_type_name string 1 107 @@ -206297,12 +206739,12 @@ iconst 113 0 store __for_idx_469 113 store __for_len_469 112 store __for_iter_469 111 -label L6359 +label L6433 load 114 __for_idx_469 load 115 __for_len_469 lt 116 114 115 -brif 116 L6360 L6362 -label L6360 +brif 116 L6434 L6436 +label L6434 load 117 __for_iter_469 load 118 __for_idx_469 call 119 pith_list_get_value unknown 2 117 118 @@ -206317,30 +206759,30 @@ field 125 124 0 string kind strref 126 m51s601 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -brif 127 L6364 L6365 -label L6364 +brif 127 L6438 L6439 +label L6438 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 L6363 -label L6365 -label L6363 -label L6361 +jmp L6437 +label L6439 +label L6437 +label L6435 load 134 __for_idx_469 iconst 135 1 add 136 134 135 store __for_idx_469 136 -jmp L6359 -label L6362 -label L6347 +jmp L6433 +label L6436 +label L6421 load 137 __for_idx_467 iconst 138 1 add 139 137 138 store __for_idx_467 139 -jmp L6345 -label L6348 +jmp L6419 +label L6422 load 140 sdecl call 141 pith_struct_release void 1 140 load 142 struct_params @@ -206392,13 +206834,13 @@ call 9 pith_struct_release void 1 6 store root 8 iconst 10 0 store preload_i 10 -label L6366 +label L6440 load 11 preload_i load 12 ir_emitter_core_ir_preloaded_import_roots call 13 pith_list_len int 1 12 lt 14 11 13 -brif 14 L6367 L6368 -label L6367 +brif 14 L6441 L6442 +label L6441 load 15 ir_emitter_core_ir_preloaded_import_roots load 16 preload_i call 17 pith_list_get_value_strict int 2 15 16 @@ -206411,16 +206853,16 @@ load 23 preload_i iconst 24 1 add 25 23 24 store preload_i 25 -jmp L6366 -label L6368 +jmp L6440 +label L6442 load 26 root_idx call 27 ir_emitter_core_ir_collect_strings void 1 26 load 28 root_idx call 29 ir_emitter_core_ir_collect_struct_field_strings void 1 28 call 30 ir_emitter_core_ir_preseed_result_error_strings void 0 load 31 ir_emitter_core_ir_emit_tests -brif 31 L6370 L6371 -label L6370 +brif 31 L6444 L6445 +label L6444 load 32 root_idx call 33 ir_emitter_core_ir_collect_test_decls list 1 32 call 34 pith_auto_len int 1 33 @@ -206428,12 +206870,12 @@ iconst 35 0 store __for_idx_470 35 store __for_len_470 34 store __for_iter_470 33 -label L6372 +label L6446 load 36 __for_idx_470 load 37 __for_len_470 lt 38 36 37 -brif 38 L6373 L6375 -label L6373 +brif 38 L6447 L6449 +label L6447 load 39 __for_iter_470 load 40 __for_idx_470 call 41 pith_list_get_value unknown 2 39 40 @@ -206445,18 +206887,18 @@ field 45 44 8 string value call 46 ir_builder_ir_str string 1 45 call 47 pith_cstring_release void 1 42 store _name_id 46 -label L6374 +label L6448 load 48 __for_idx_470 iconst 49 1 add 50 48 49 store __for_idx_470 50 -jmp L6372 -label L6375 +jmp L6446 +label L6449 load 51 __for_iter_470 call 52 pith_list_release_handle void 1 51 -jmp L6369 -label L6371 -label L6369 +jmp L6443 +label L6445 +label L6443 call 53 ir_builder_ir_emit_string_table void 0 load 54 root_idx call 55 ir_emitter_core_ir_collect_root_import_metadata void 1 54 @@ -206517,7 +206959,17 @@ ret 5 iconst 6 0 ret 6 endfunc -func ir_emitter_core___fnval_2 2 int +func ir_emitter_core___fnval_2 2 void +param __closure +param __arg_0 +load 2 __arg_0 +call 3 ir_emitter_core_ir_emit_return_value void 1 2 +iconst 4 0 +ret 4 +iconst 5 0 +ret 5 +endfunc +func ir_emitter_core___fnval_3 2 int param __closure param __arg_0 load 2 __arg_0 @@ -206526,7 +206978,7 @@ ret 3 iconst 4 0 ret 4 endfunc -func ir_emitter_core___fnval_3 1 int +func ir_emitter_core___fnval_4 1 int param __closure call 1 ir_emitter_core_ir_emit_default_return int 0 ret 1 diff --git a/self-host/ir_emitter_core.pith b/self-host/ir_emitter_core.pith index 966ce4d8..f782541f 100644 --- a/self-host/ir_emitter_core.pith +++ b/self-host/ir_emitter_core.pith @@ -1220,6 +1220,21 @@ fn ir_tuple_uses_all_safe(idx: Int, name: String, is_result: Bool) -> Bool: # generic loop below would hand ir_tuple_use_is_whitelisted. if node.kind == "call" and node.children.len() > 0: return ir_tuple_call_uses_safe(node, name, is_result) + # a match on an OPTIONAL local reads the shell's flag, and its payload + # binding owns its own retained count (taken at bind, tracked by the + # prepass, released by the exit cleanup) — so the local stays the last + # owner of the count the shell arrived with, the same contract as a + # `.ok` read. arm bodies are judged by the ordinary rules. a RESULT + # match stays disqualifying: its binding path takes no count. + if not is_result and node.kind == "match_expr" and node.children.len() > 1: + subj := get_node(node.children[0]) + if subj.kind == "ident" and subj.value == name: + mut mi := 1 + while mi < node.children.len(): + if not ir_tuple_uses_all_safe(node.children[mi], name, is_result): + return false + mi = mi + 1 + return true for child_idx in node.children: child := get_node(child_idx) if child.kind == "ident" and child.value == name: @@ -1475,6 +1490,30 @@ fn ir_collect_string_bind_names(idx: Int, names: List[String], poisoned: List[St elif not poisoned.contains(parts.name): # bound with a non-rc (or unknown) type somewhere: same rule. poisoned.push(parts.name) + # a match on an OPTIONAL subject binds the unwrapped payload, and + # ir_match_emit retains an rc payload so the binding owns its own count + # (the subject's shell or cascade can die at scope exit while the + # binding lives on). track each such binding for the exit cleanup, + # under the same name-conflict poisoning as every other owned local. + if node.kind == "match_expr" and node.children.len() > 1: + subj_tid := ir_emission_tid(node.children[0]) + if subj_tid >= 0 and get_type_info(subj_tid).kind == "optional": + payload_kind := ir_rc_kind(ir_type_from_tid(get_type_info(subj_tid).inner)) + mut ai := 1 + while ai < node.children.len(): + arm := get_node(node.children[ai]) + if arm.children.len() > 0: + pn := get_node(arm.children[0]) + if pn.kind == "pat_binding": + if payload_kind.len() > 0: + if names.contains(pn.value): + if ir_rc_local_kind(pn.value) != payload_kind and not poisoned.contains(pn.value): + poisoned.push(pn.value) + else: + ir_rc_track_local(pn.value, payload_kind) + elif not poisoned.contains(pn.value): + poisoned.push(pn.value) + ai = ai + 1 # a match arm's payload bindings are owned locals too: ir_match_emit # retains each rc payload, so track them here for the exit cleanup to # release (or transfer on escape), same as any other owned local. @@ -6810,7 +6849,7 @@ fn ir_expr_complex(idx: Int, node: Node) -> Int: kind := node_kind(idx) if kind == "match_expr": if idx == ir_tail_match_node: - ir_emit_match_return(idx, node, ir_expr, ir_block) + ir_emit_match_return(idx, node, ir_expr, ir_emit_return_value, ir_block) return ir_emit_zero_value() return ir_emit_match_expr(idx, node, ir_expr, ir_block) if kind == "if_expr": @@ -6882,12 +6921,36 @@ fn ir_expr_complex(idx: Int, node: Node) -> Int: fn ir_emit_return_stmt(node: Node): if node.children.len() > 0: + ir_emit_return_value(node.children[0]) + else: + ir_defer_emit_to_function_frame(false) + ir_emit_string_cleanup("") + r := ir_reg() + if ir_current_func_return_kind == "result_reg": + ir_emit("iconst " + r.to_string() + " 1") + zero_r := ir_reg() + ir_emit("iconst " + zero_r.to_string() + " 0") + ir_emit("ret2 " + r.to_string() + " " + zero_r.to_string()) + else: + ir_emit("iconst " + r.to_string() + " 0") + ir_emit("ret " + r.to_string()) + ir_last_was_ret = true + +# return one expression as the current function's value, with the full +# return contract: borrow retain, optional/result wrapping from the +# function's declared kind, defers, and the tracked-local cleanup (with the +# returned local excluded so its count transfers to the caller). split out +# of ir_emit_return_stmt so a tail-match arm's expression body returns +# through the same machinery — the bare `ret` it used to emit skipped the +# cleanup, so every count an arm binding had retained leaked per call. +pub fn ir_emit_return_value(expr_child: Int): + if true: # `return none` builds its optional below, from the function's own # return kind. going through ir_expr for it would build one optional # tuple here and a second one there, and strand the first — every # `return none` in the tree leaked an optional per call. mut r := 0 - if node_kind(node.children[0]) == "none_lit": + if node_kind(expr_child) == "none_lit": r = ir_emit_zero_value() elif ir_current_func_return_kind == "result_reg": # forwarding handshake: a direct pair-returning call (an rcall or @@ -6895,9 +6958,9 @@ fn ir_emit_return_stmt(node: Node): # straight to this return, so no box is built only to be unpacked # again below. saved_defer := ir_rcall_defer_idx - ir_rcall_defer_idx = node.children[0] + ir_rcall_defer_idx = expr_child ir_rcall_pair_ready = false - r = ir_expr(node.children[0]) + r = ir_expr(expr_child) ir_rcall_defer_idx = saved_defer if ir_rcall_pair_ready: ir_rcall_pair_ready = false @@ -6907,12 +6970,12 @@ fn ir_emit_return_stmt(node: Node): ir_last_was_ret = true return else: - r = ir_expr(node.children[0]) + r = ir_expr(expr_child) # hand the returned string's count to the caller: a returned local # transfers its count (skip it in cleanup), a returned borrow gets # a fresh count. fresh results already arrive owned. mut exclude := "" - expr_node := get_node(node.children[0]) + expr_node := get_node(expr_child) # a returned tracked local transfers its count to the caller, so it # must be skipped in the exit cleanup. trust the tracked kind directly: # in a generic body the inferred type can miss (a tuple-lowered @@ -6925,11 +6988,11 @@ fn ir_emit_return_stmt(node: Node): # impl method returning a borrowed T still retains it. without this # the inferred type stays "T", rc_kind reads empty, no retain fires, # and the caller's arg release frees the value the method handed back. - ret_kind := ir_rc_kind(ir_substitute_type_name(ir_infer_type(node.children[0]))) - if ret_kind.len() > 0 and ir_string_expr_is_borrowed(node.children[0]): + ret_kind := ir_rc_kind(ir_substitute_type_name(ir_infer_type(expr_child))) + if ret_kind.len() > 0 and ir_string_expr_is_borrowed(expr_child): ir_rc_retain_reg(r, ret_kind) - result_kind := ir_expr_result_kind(node.children[0]) - expr_tid := c_get_expr_type(node.children[0]) + result_kind := ir_expr_result_kind(expr_child) + expr_tid := c_get_expr_type(expr_child) mut expr_kind := "" if expr_tid >= 0: expr_kind = get_type_info(expr_tid).kind @@ -6973,18 +7036,6 @@ fn ir_emit_return_stmt(node: Node): ir_defer_emit_to_function_frame(false) ir_emit_string_cleanup(exclude) ir_emit("ret " + r.to_string()) - else: - ir_defer_emit_to_function_frame(false) - ir_emit_string_cleanup("") - r := ir_reg() - if ir_current_func_return_kind == "result_reg": - ir_emit("iconst " + r.to_string() + " 1") - zero_r := ir_reg() - ir_emit("iconst " + zero_r.to_string() + " 0") - ir_emit("ret2 " + r.to_string() + " " + zero_r.to_string()) - else: - ir_emit("iconst " + r.to_string() + " 0") - ir_emit("ret " + r.to_string()) ir_last_was_ret = true # propagate `err_r` out of the current function as its error return: the diff --git a/self-host/ir_match_emit.pith b/self-host/ir_match_emit.pith index f4d84a0c..175c18d7 100644 --- a/self-host/ir_match_emit.pith +++ b/self-host/ir_match_emit.pith @@ -22,8 +22,13 @@ pub mut ir_match_subject_tid := 0 - 1 pub mut ir_tail_match_node := 0 - 1 -## emit one arm's body as the function's return value. -pub fn ir_emit_match_arm_return(body_idx: Int, emit_expr: fn(Int) -> Int, emit_block: fn(Int) -> Int): +## emit one arm's body as the function's return value. an expression body +## goes through the full return contract (emit_ret is the emitter core's +## ir_emit_return_value): the bare `ret` this used to emit skipped the +## defers, the borrow retain, the optional/result wrap, and the tracked +## local cleanup — so every count an arm's payload binding had retained +## leaked once per call, and a borrowed return could dangle. +pub fn ir_emit_match_arm_return(body_idx: Int, emit_ret: fn(Int), emit_block: fn(Int) -> Int): body := get_node(body_idx) if body.kind == "block": emit_block(body_idx) @@ -31,15 +36,14 @@ pub fn ir_emit_match_arm_return(body_idx: Int, emit_expr: fn(Int) -> Int, emit_b mut expr_idx := body_idx if body.kind == "body" and body.children.len() > 0: expr_idx = body.children[0] - val_r := emit_expr(expr_idx) - ir_emit("ret " + val_r.to_string()) + emit_ret(expr_idx) ir_last_was_ret = true # Lower a tail-position match: each matching arm returns its value. A no-match # fall-through lands on the function's default return. ## lower a function-tail match directly into returns. -pub fn ir_emit_match_return(idx: Int, node: Node, emit_expr: fn(Int) -> Int, emit_block: fn(Int) -> Int): +pub fn ir_emit_match_return(idx: Int, node: Node, emit_expr: fn(Int) -> Int, emit_ret: fn(Int), emit_block: fn(Int) -> Int): subj_r := emit_expr(node.children[0]) subj_type := ir_checked_type(node.children[0]) ir_match_subject_tid = ir_emission_tid(node.children[0]) @@ -69,7 +73,7 @@ pub fn ir_emit_match_return(idx: Int, node: Node, emit_expr: fn(Int) -> Int, emi body_l := ir_label() ir_emit("brif " + g_r.to_string() + " " + body_l + " " + next_l) ir_emit_label(body_l) - ir_emit_match_arm_return(body_idx, emit_expr, emit_block) + ir_emit_match_arm_return(body_idx, emit_ret, emit_block) ir_emit_label(next_l) i = i + 1 @@ -371,6 +375,18 @@ pub fn ir_emit_match_bindings(pat_idx: Int, subj_r: Int, subj_type: String): inner_kind := ir_type_from_tid(subj_info.inner) if inner_kind.len() > 0: ir_var_types.insert(pat.value, inner_kind) + # an rc payload is retained so the binding owns its own count — + # the subject's shell (or its cascade-released payload) can die at + # scope exit while the binding lives on. the prepass tracks the + # name, so exit cleanup releases it or a return transfers it, + # the same contract as an enum arm's payload binding below. + rc_kind := ir_rc_kind(inner_kind) + if rc_kind.len() > 0: + if not ir_untracked_rc_binds.contains(pat.value): + old_r := ir_reg() + ir_emit("load " + old_r.to_string() + " " + pat.value) + ir_rc_release_reg(old_r, rc_kind) + ir_rc_retain_reg(inner_r, rc_kind) ir_emit("store " + pat.value + " " + inner_r.to_string()) return ir_var_regs.insert(pat.value, subj_r) diff --git a/tests/cases/test_optional_match_ownership.pith b/tests/cases/test_optional_match_ownership.pith new file mode 100644 index 00000000..590ca48b --- /dev/null +++ b/tests/cases/test_optional_match_ownership.pith @@ -0,0 +1,40 @@ +# a match on an rc-payload optional, in every position that used to leak or +# misbehave: same-function match, match on a local passed to a callee that +# matches its parameter, a tail match whose arm returns the binding's field, +# and an arm that returns the binding WHOLE (the transfer case — the tail +# return must exclude it from cleanup, not release it under the caller). +struct Node: + pub val: Int + pub tag: String + +fn mk(i: Int) -> Node?: + return Node(val: i, tag: "node " + i.to_string()) + +fn val_of(box: Node?) -> Int: + match box: + none => 0 + v => v.val + +fn tag_of(box: Node?) -> String: + match box: + none => "empty" + v => v.tag + +fn take_whole(box: Node?) -> Node: + match box: + none => Node(val: 0 - 1, tag: "missing") + v => v + +fn main(): + o := mk(7) + r := match o: + none => 0 + v => v.val + print("{r}") + print("{val_of(o)}") + print(tag_of(o)) + print(tag_of(none)) + w := take_whole(mk(9)) + print("{w.val} {w.tag}") + n: Node? := none + print("{val_of(n)}") diff --git a/tests/expected/test_optional_match_ownership.txt b/tests/expected/test_optional_match_ownership.txt new file mode 100644 index 00000000..0821938e --- /dev/null +++ b/tests/expected/test_optional_match_ownership.txt @@ -0,0 +1,6 @@ +7 +7 +node 7 +empty +9 node 9 +0 diff --git a/tests/leaks/leak_optional_match_payload.pith b/tests/leaks/leak_optional_match_payload.pith new file mode 100644 index 00000000..c1f2e024 --- /dev/null +++ b/tests/leaks/leak_optional_match_payload.pith @@ -0,0 +1,39 @@ +# churn a match on an rc-payload optional, in the three shapes that used to +# leak the payload (~110-170 bytes per round): a same-function match, a +# callee that matches its optional parameter, and the call-produced variant +# where the fresh optional is matched straight from argument position. the +# arm binding now retains its own count and the exit cleanup releases it, +# match is a whitelisted use in the payload-release cascade, and a tail +# match's expression arm returns through the full return contract. +import leakprobe as probe + +struct Node: + pub val: Int + pub tag: String + +fn mk(i: Int) -> Node?: + return Node(val: i, tag: "node " + i.to_string()) + +fn val_of(box: Node?) -> Int: + match box: + none => 0 + v => v.val + +fn round(i: Int) -> Int: + o := mk(i) + here := match o: + none => 0 + v => v.val + return here + val_of(o) + val_of(mk(i + 1)) + +fn main(): + n := probe.rounds() + mut i := 0 + mut checksum := 0 + while i < n: + checksum = checksum + round(i) + i = i + 1 + if checksum == 0 - 999: + print("impossible") + kb := probe.peak_kb() + print("{kb}") diff --git a/tooling/leak_check.sh b/tooling/leak_check.sh index 5bcd2cfc..99d666dc 100755 --- a/tooling/leak_check.sh +++ b/tooling/leak_check.sh @@ -54,6 +54,7 @@ cases=( tests/leaks/leak_weak_capture_cycle tests/leaks/leak_closure_captured_optional tests/leaks/leak_optional_plain_compare + tests/leaks/leak_optional_match_payload tests/leaks/leak_tls_client_config tests/leaks/leak_http_string_head_flood "tests/leaks/leak_unmarked_cycle PITH_CYCLE_GC=1"