From f5c924117cac6d19eb3c9096d07be7c042e80804 Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Wed, 29 Jul 2026 21:26:56 +0000 Subject: [PATCH 1/4] release a result local's payload when its only other uses are extractions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit unwrap_or, catch, and ! on a named result local all leave the shell holding the count it was built with: the ok arm retains a fresh count for the value it hands out, and the err arm keeps the error in place. the local's exit cleanup was supposed to release that count, but any of those uses disqualified the local from the payload cascade, so cleanup freed only the three-slot shell and one heap payload (or one heap error string) leaked per extraction — about 110 bytes a round for a small bytes payload, linear forever. the fix whitelists the three extraction forms in the cascade scan, gated to result-typed locals: the optional unwrap_or transfers a borrowed subject's count out instead of retaining a new one, so cascading an optional local would release a count it no longer holds. a mention of the name inside the fallback argument still disqualifies. a rebind of one name to results of different payload types stays shell-only (the recorded tid conflicts), which remains a documented safe under-fix. --- self-host/ir_emitter_core.pith | 46 +++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/self-host/ir_emitter_core.pith b/self-host/ir_emitter_core.pith index 32d330cf..800f0941 100644 --- a/self-host/ir_emitter_core.pith +++ b/self-host/ir_emitter_core.pith @@ -874,7 +874,39 @@ fn ir_tuple_record_tid(name: String, val_idx: Int): # tests/cases/test_http2_tls_roundtrip fail valgrind. that turned out to be a # separate ownership bug the leak had been hiding — a channel `try_send` handed # its value to another task without taking a count — and is fixed. -fn ir_tuple_use_is_whitelisted(parent: Node, name: String) -> Bool: +# +# for a RESULT local the extraction forms qualify too. `name.unwrap_or(d)`, +# `name catch d`, and `name!` all classify a named operand as borrowed and +# leave the shell holding the count it was built with: the ok arm hands the +# consumer a freshly retained count (or, for a string payload, a borrow the +# escape site retains), and the err arm keeps the error in the shell. so the +# cleanup path is still the payload's sole owner, exactly like a `.ok` read. +# without these entries an extraction disqualified the local from the cascade +# and the count the shell holds was never released — one heap payload leaked +# per extraction. `is_result` gates them because the OPTIONAL unwrap_or moves +# a borrowed subject's count out to the extracted value instead of retaining +# a new one; cascading such a local would release a count it no longer holds. +fn ir_tuple_use_is_whitelisted(parent: Node, name: String, is_result: Bool) -> Bool: + if is_result and parent.kind == "method_call" and parent.children.len() > 0: + recv := get_node(parent.children[0]) + if recv.kind == "ident" and recv.value == name and ir_plain_method_name(parent.value) == "unwrap_or": + # only the receiver position is safe; the name appearing inside + # the fallback argument is a use the walk must judge on its own + mut ai := 1 + mut arg_mentions := false + while ai < parent.children.len(): + if ir_subtree_mentions_ident(parent.children[ai], name): + arg_mentions = true + ai = ai + 1 + return not arg_mentions + if is_result and parent.kind == "catch_expr" and parent.children.len() > 1: + operand := get_node(parent.children[0]) + if operand.kind == "ident" and operand.value == name: + return not ir_subtree_mentions_ident(parent.children[1], name) + if is_result and parent.kind == "try" and parent.children.len() > 0: + operand := get_node(parent.children[0]) + if operand.kind == "ident" and operand.value == name: + return true if parent.kind == "field_access": # the ident must be the receiver, and the field a flag or payload read if parent.children.len() == 0: @@ -915,7 +947,7 @@ fn ir_subtree_mentions_ident(idx: Int, name: String) -> Bool: # walk the subtree: every occurrence of ident `name` must appear as the child of # a whitelisted parent. any other appearance (bound, returned, passed, unwrapped, # matched, iterated, ...) makes cascade unsafe and returns false. -fn ir_tuple_uses_all_safe(idx: Int, name: String) -> Bool: +fn ir_tuple_uses_all_safe(idx: Int, name: String, is_result: Bool) -> Bool: node := get_node(idx) # a lambda that mentions the local captures the three-slot shell and retains # only that, never the payload behind it. the closure can outlive this @@ -934,12 +966,12 @@ fn ir_tuple_uses_all_safe(idx: Int, name: String) -> Bool: for child_idx in node.children: child := get_node(child_idx) if child.kind == "ident" and child.value == name: - if not ir_tuple_use_is_whitelisted(node, name): + if not ir_tuple_use_is_whitelisted(node, name, is_result): return false # a whitelisted parent consumes this ident safely; its sibling # children are still visited by the loop below else: - if not ir_tuple_uses_all_safe(child_idx, name): + if not ir_tuple_uses_all_safe(child_idx, name, is_result): return false return true @@ -961,8 +993,10 @@ fn ir_tuple_cascade_scan(body_idx: Int): # already in ir_var_regs, which at this point holds exactly the params. if kind == "tuple" and ir_tuple_local_tid.contains_key(name) and not ir_var_regs.contains_key(name): tid := ir_tuple_local_tid[name] - if tid >= 0 and ir_tuple_local_has_rc_payload(tid) and ir_tuple_uses_all_safe(body_idx, name): - ir_tuple_cascade_names.push(name) + if tid >= 0 and ir_tuple_local_has_rc_payload(tid): + is_result := get_type_info(tid).kind == "result" + if ir_tuple_uses_all_safe(body_idx, name, is_result): + ir_tuple_cascade_names.push(name) i = i + 1 # true when a result/optional type holds an rc payload worth cascading: either From bae81ce64750661076722260ad731c1ebdfcc823 Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Wed, 29 Jul 2026 21:27:19 +0000 Subject: [PATCH 2/4] retain a borrowed unwrap_or fallback before handing it out the fallback arm of unwrap_or (result err, optional none) stored the default straight into the value it hands its consumer. the consumer treats a heap-kind unwrap_or value as owned and releases it, so a default read from a named local was handed out without a count of its own: the release stripped the owner's count and the owner's next use read freed memory. valgrind catches it with the struct freelist off; with the freelist on the recycled block makes the numbers come out right, which is how it stayed hidden. both arms now retain a borrowed heap default before the store, the same compensation the catch fallback has always made. string defaults stay on the borrowed classification (the escape site retains), so they are excluded. the new regression churns both the result and the optional shape and joins the curated memcheck list. --- Makefile | 1 + self-host/ir_emitter_core.pith | 17 +++++++ .../test_unwrap_or_borrowed_fallback.pith | 45 +++++++++++++++++++ .../test_unwrap_or_borrowed_fallback.txt | 1 + 4 files changed, 64 insertions(+) create mode 100644 tests/cases/test_unwrap_or_borrowed_fallback.pith create mode 100644 tests/expected/test_unwrap_or_borrowed_fallback.txt diff --git a/Makefile b/Makefile index b77bdbc0..07984f27 100644 --- a/Makefile +++ b/Makefile @@ -1123,6 +1123,7 @@ MEMCHECK_CASES := \ tests/cases/test_list_transform_ownership \ tests/cases/test_result_unwrap_or_fallback_leak \ tests/cases/test_borrowed_operand_extraction \ + tests/cases/test_unwrap_or_borrowed_fallback \ tests/cases/test_task_result_payloads \ tests/cases/test_struct_closure_field tests/cases/test_generic_struct_field_dtor \ tests/cases/test_iterator_drain tests/cases/test_method_fresh_string_return \ diff --git a/self-host/ir_emitter_core.pith b/self-host/ir_emitter_core.pith index 800f0941..bf7ac501 100644 --- a/self-host/ir_emitter_core.pith +++ b/self-host/ir_emitter_core.pith @@ -3959,6 +3959,14 @@ fn ir_emit_result_unwrap_or(idx: Int, node: Node) -> Int: # (`r.unwrap_or(bytes.empty())`) every ok iteration. this mirrors the # optional unwrap_or, which already defers its default into the none arm. fallback_r := ir_expr(arg_idx) + # consumers treat a heap-kind unwrap_or value as owned and release it, so + # a fallback that arrives borrowed (a named local, a field) needs a count + # of its own here — without one that release strips the owner's count and + # the owner's next use reads freed memory. a string fallback is excluded + # because a string unwrap_or stays classified borrowed (the escape site + # retains), mirroring the ok arm. + if not ir_string_expr_is_borrowed(idx) and ir_string_expr_is_borrowed(arg_idx): + ir_rc_retain_reg(fallback_r, ir_rc_kind(ir_result_field_kind(recv_tid, "ok"))) if operand_class != "borrowed": ir_emit_release_result_error(recv_r, recv_tid) ir_emit_call1(ir_reg(), "pith_struct_release", "void", recv_r) @@ -4411,6 +4419,15 @@ fn ir_emit_typed_receiver_method(idx: Int) -> Int: ir_emit_label(none_l) default_idx := ir_method_call_arg_expr(node, 0) default_r := ir_expr(default_idx) + # consumers treat a heap-kind unwrap_or value as owned and + # release it, so a default that arrives borrowed (a named + # local, a field) needs its own count here — without one that + # release strips the owner's count and the owner's next use + # reads freed memory. strings stay on the borrowed + # classification (the escape site retains), so they are + # excluded. mirrors the result unwrap_or's fallback arm. + if inner_kind.len() > 0 and not ir_string_expr_is_borrowed(idx) and ir_string_expr_is_borrowed(default_idx): + ir_rc_retain_reg(default_r, inner_kind) ir_emit("store " + tmp + " " + default_r.to_string()) ir_emit_label(end_l) if owns_subject: diff --git a/tests/cases/test_unwrap_or_borrowed_fallback.pith b/tests/cases/test_unwrap_or_borrowed_fallback.pith new file mode 100644 index 00000000..2837f5a4 --- /dev/null +++ b/tests/cases/test_unwrap_or_borrowed_fallback.pith @@ -0,0 +1,45 @@ +# `unwrap_or` with a fallback read from a named local. the consumer treats +# a heap-kind unwrap_or value as owned and releases it, so when the err arm +# (or the none arm, for an optional) hands out a borrowed fallback it must +# retain first — without that the consumer's release strips the owner's +# count and the owner's next use reads freed memory. +# +# valgrind-gated in MEMCHECK_CASES with the struct freelist disabled: the +# recycled block makes the totals come out right even after the over-release, +# so only valgrind sees the use-after-free. + +import std.bytes as bytes + +fn make(i: Int) -> Bytes!: + if i % 2 == 1: + fail "odd-" + i.to_string() + return bytes.from_string_utf8("ok-payload-" + i.to_string()) + +fn find(i: Int) -> Bytes?: + if i % 2 == 0: + return none + return bytes.from_string_utf8("found-" + i.to_string()) + +fn result_round(i: Int) -> Int: + fb := bytes.from_string_utf8("result-fallback") + r := make(i) + b := r.unwrap_or(fb) + # the fallback local must still be alive and intact after the + # extraction released its own copy of the value + return b.len() + fb.len() + +fn optional_round(i: Int) -> Int: + fb := bytes.from_string_utf8("optional-fallback") + o := find(i) + b := o.unwrap_or(fb) + return b.len() + fb.len() + +fn main() -> Int: + mut total := 0 + mut i := 0 + while i < 400: + total = total + result_round(i) + total = total + optional_round(i) + i = i + 1 + print("total " + total.to_string()) + return 0 diff --git a/tests/expected/test_unwrap_or_borrowed_fallback.txt b/tests/expected/test_unwrap_or_borrowed_fallback.txt new file mode 100644 index 00000000..3f0e5db6 --- /dev/null +++ b/tests/expected/test_unwrap_or_borrowed_fallback.txt @@ -0,0 +1 @@ +total 23690 From 0329b84354955e66e440c68b7ab14d9037242189 Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Wed, 29 Jul 2026 21:27:24 +0000 Subject: [PATCH 3/4] gate borrowed-operand extraction ownership with a leak case the new case churns unwrap_or, catch, and ! on a named result local, ok and err arms both, and joins the growth gate. before the cascade covered extraction uses it grew by about 147 mb across the gate's two round counts; flat now. the ownership doc's result-local bullet moves the extraction forms to the released side and names the remaining shape that still leaks: rebinding one name to results of different payload types. --- docs/ownership.md | 21 +++++++----- tests/leaks/leak_result_extraction.pith | 43 +++++++++++++++++++++++++ tooling/leak_check.sh | 1 + 3 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 tests/leaks/leak_result_extraction.pith diff --git a/docs/ownership.md b/docs/ownership.md index 84404689..85e370cd 100644 --- a/docs/ownership.md +++ b/docs/ownership.md @@ -206,14 +206,19 @@ gaps, all bounded leaks rather than dangling pointers: - **a result or optional bound to a name can leak its payload.** `T!` and `T?` lower to a three-slot value, and releasing one frees those slots without dropping the payload they own. a local whose every use is a - probe (`.is_ok`, `.is_err`, `== none`) or a payload read (`.ok`, `.err`) - now releases its payload: a probe never touches it, and a read borrows, - taking a fresh count only where the value escapes. either way the local - is still the last owner. any other use leaks as before — passed to a - call, returned whole, consumed by `catch` or `unwrap_or`, bound by - `if let`, or captured by a closure, which takes the shell and not the - payload. writing `x := call()!` avoids the whole question — `!` hands - the count to you rather than leaving it in the tuple. + probe (`.is_ok`, `.is_err`, `== none`), a payload read (`.ok`, `.err`), + or — for a result — an extraction (`r.unwrap_or(d)`, `r catch d`, `r!`) + releases its payload: a probe never touches it, a read borrows, and an + extraction hands its consumer a freshly retained count, so in every + case the local is still the last owner of the count the shell arrived + with. any other use leaks as before — passed to a call, returned + whole, bound by `if let`, or captured by a closure, which takes the + shell and not the payload. one more shape stays on the leak side: + rebinding one name to results of different payload types (`r := + await ta` then `r := await tb` where the two tasks return different + `T!`s) — the cleanup path is keyed by name and cannot pick one payload + shape, so it frees only the shell. bind results of different types to + different names. none of these produce a dangling pointer; the discipline trades a bounded leak for that guarantee. diff --git a/tests/leaks/leak_result_extraction.pith b/tests/leaks/leak_result_extraction.pith new file mode 100644 index 00000000..dd387d81 --- /dev/null +++ b/tests/leaks/leak_result_extraction.pith @@ -0,0 +1,43 @@ +# extracting from a result held in a named local. `r.unwrap_or(d)`, +# `r catch d`, and `r!` all classify a named operand as borrowed: the ok +# arm hands the consumer a freshly retained count and leaves the shell +# holding the count it was built with, for the local's cleanup to release. +# these uses must therefore keep the local cascade-eligible — before they +# did, cleanup freed only the three-slot shell and one heap payload (or, +# on the err arm, one heap error string) leaked per extraction. +import std.bytes as bytes +import leakprobe as probe + +fn make_payload(i: Int) -> Bytes!: + if i % 4 == 3: + fail "err-{i}" + return bytes.from_string_utf8("heap-payload-{i}") + +fn via_unwrap_or(i: Int) -> Int: + r := make_payload(i) + b := r.unwrap_or(bytes.empty()) + return b.len() + +fn via_catch(i: Int) -> Int: + r := make_payload(i) + b := r catch bytes.empty() + return b.len() + +fn via_try(i: Int) -> Int!: + r := make_payload(i) + b := r! + return b.len() + +fn churn_round(i: Int): + mut total := via_unwrap_or(i) + total = total + via_catch(i) + total = total + (via_try(i) catch 0) + +fn main(): + n := probe.rounds() + mut i := 0 + while i < n: + churn_round(i) + i = i + 1 + kb := probe.peak_kb() + print("{kb}") diff --git a/tooling/leak_check.sh b/tooling/leak_check.sh index 47285c85..e4543290 100755 --- a/tooling/leak_check.sh +++ b/tooling/leak_check.sh @@ -34,6 +34,7 @@ cases=( tests/leaks/leak_list_transform tests/leaks/leak_fn_value tests/leaks/leak_task_result_payload + tests/leaks/leak_result_extraction ) echo "--- leak growth (${low_rounds} vs ${high_rounds} rounds, limit ${limit_kb}kb) ---" From f432c5de422d82488703aaf9aa3977fb3991fa35 Mon Sep 17 00:00:00 2001 From: Kacy Fortner Date: Wed, 29 Jul 2026 23:40:47 +0000 Subject: [PATCH 4/4] refresh the bootstrap ir seed for the extraction ownership changes --- self-host/bootstrap/ir_driver.ir | 19597 +++++++++++++++-------------- 1 file changed, 9980 insertions(+), 9617 deletions(-) diff --git a/self-host/bootstrap/ir_driver.ir b/self-host/bootstrap/ir_driver.ir index b3fca411..24a0baa0 100644 --- a/self-host/bootstrap/ir_driver.ir +++ b/self-host/bootstrap/ir_driver.ir @@ -126218,372 +126218,665 @@ call 26 map_insert void 3 23 24 25 iconst 27 0 ret 27 endfunc -func ir_emitter_core_ir_tuple_use_is_whitelisted 2 bool +func ir_emitter_core_ir_tuple_use_is_whitelisted 3 bool param parent param name -iconst 2 0 -store recv 2 +param is_result iconst 3 0 -store f 3 +store recv 3 iconst 4 0 -store a 4 +store operand 4 iconst 5 0 -store b 5 -load 6 parent -field 7 6 0 string kind -strref 8 m46s36 -call 9 pith_cstring_eq bool 2 7 8 -call 10 pith_cstring_release void 1 8 -brif 9 L478 L479 -label L478 +store f 5 +iconst 6 0 +store a 6 +iconst 7 0 +store b 7 +iconst 8 0 +store __and_8_480 8 +iconst 9 0 +store __and_9_480 9 +load 10 is_result +store __and_9_480 10 +brif 10 L480 L481 +label L480 load 11 parent -field 12 11 16 list children -call 13 pith_list_len int 1 12 -iconst 14 0 -eq 15 13 14 -brif 15 L481 L482 +field 12 11 0 string kind +strref 13 m46s129 +call 14 pith_cstring_eq bool 2 12 13 +call 15 pith_cstring_release void 1 13 +store __and_9_480 14 label L481 -iconst 16 0 -load 17 recv -call 18 pith_struct_release void 1 17 -load 19 f -call 20 pith_cstring_release void 1 19 -load 21 a -call 22 pith_struct_release void 1 21 -load 23 b -call 24 pith_struct_release void 1 23 -ret 16 +load 16 __and_9_480 +store __and_8_480 16 +brif 16 L482 L483 label L482 -label L480 -load 25 recv -load 26 parent -field 27 26 16 list children -iconst 28 0 -call 29 pith_list_get_value_strict int 2 27 28 -call 30 ast_get_node struct:Node 1 29 -call 31 pith_struct_release void 1 25 -store recv 30 -iconst 32 0 -store __and_32_486 32 -load 33 recv -field 34 33 0 string kind -strref 35 m46s37 -call 36 pith_cstring_eq bool 2 34 35 -call 37 pith_cstring_release void 1 35 -store __and_32_486 36 -brif 36 L486 L487 -label L486 -load 38 recv -field 39 38 8 string value -load 40 name -call 41 pith_cstring_eq bool 2 39 40 -store __and_32_486 41 +load 17 parent +field 18 17 16 list children +call 19 pith_list_len int 1 18 +iconst 20 0 +gt 21 19 20 +store __and_8_480 21 +label L483 +load 22 __and_8_480 +brif 22 L478 L479 +label L478 +load 23 recv +load 24 parent +field 25 24 16 list children +iconst 26 0 +call 27 pith_list_get_value_strict int 2 25 26 +call 28 ast_get_node struct:Node 1 27 +call 29 pith_struct_release void 1 23 +store recv 28 +iconst 30 0 +store __and_30_487 30 +iconst 31 0 +store __and_31_487 31 +load 32 recv +field 33 32 0 string kind +strref 34 m46s37 +call 35 pith_cstring_eq bool 2 33 34 +call 36 pith_cstring_release void 1 34 +store __and_31_487 35 +brif 35 L487 L488 label L487 -load 42 __and_32_486 -iconst 44 1 -sub 43 44 42 -brif 43 L484 L485 -label L484 -iconst 45 0 -load 46 recv -call 47 pith_struct_release void 1 46 -load 48 f -call 49 pith_cstring_release void 1 48 -load 50 a -call 51 pith_struct_release void 1 50 -load 52 b -call 53 pith_struct_release void 1 52 -ret 45 +load 37 recv +field 38 37 8 string value +load 39 name +call 40 pith_cstring_eq bool 2 38 39 +store __and_31_487 40 +label L488 +load 41 __and_31_487 +store __and_30_487 41 +brif 41 L489 L490 +label L489 +load 42 parent +field 43 42 8 string value +call 44 ir_callees_ir_plain_method_name string 1 43 +strref 45 m46s285 +call 46 pith_cstring_eq bool 2 44 45 +call 47 pith_cstring_release void 1 44 +call 48 pith_cstring_release void 1 45 +store __and_30_487 46 +label L490 +load 49 __and_30_487 +brif 49 L485 L486 label L485 -label L483 -load 54 f -load 55 parent -field 56 55 8 string value -call 57 pith_cstring_retain void 1 56 -call 58 pith_cstring_release void 1 54 -store f 56 -iconst 59 0 -store __or_59_491 59 -load 60 f -strref 61 m46s182 -call 62 pith_cstring_eq bool 2 60 61 -call 63 pith_cstring_release void 1 61 -store __or_59_491 62 -brif 62 L492 L491 +iconst 50 1 +store ai 50 +iconst 51 0 +store arg_mentions 51 label L491 -load 64 f -strref 65 m46s181 -call 66 pith_cstring_eq bool 2 64 65 -call 67 pith_cstring_release void 1 65 -store __or_59_491 66 +load 52 ai +load 53 parent +field 54 53 16 list children +call 55 pith_list_len int 1 54 +lt 56 52 55 +brif 56 L492 L493 label L492 -load 68 __or_59_491 -brif 68 L489 L490 -label L489 +load 57 parent +field 58 57 16 list children +load 59 ai +call 60 pith_list_get_value_strict int 2 58 59 +load 61 name +call 62 ir_emitter_core_ir_subtree_mentions_ident bool 2 60 61 +brif 62 L495 L496 +label L495 +iconst 63 1 +store arg_mentions 63 +jmp L494 +label L496 +label L494 +load 64 ai +iconst 65 1 +add 66 64 65 +store ai 66 +jmp L491 +label L493 +load 67 arg_mentions iconst 69 1 +sub 68 69 67 load 70 recv call 71 pith_struct_release void 1 70 -load 72 f -call 73 pith_cstring_release void 1 72 -load 74 a -call 75 pith_struct_release void 1 74 -load 76 b +load 72 operand +call 73 pith_struct_release void 1 72 +load 74 f +call 75 pith_cstring_release void 1 74 +load 76 a call 77 pith_struct_release void 1 76 -ret 69 -label L490 -label L488 -iconst 78 0 -store __or_78_493 78 -iconst 79 0 -store __or_79_493 79 -iconst 80 0 -store __or_80_493 80 -load 81 f -strref 82 m46s184 -call 83 pith_cstring_eq bool 2 81 82 -call 84 pith_cstring_release void 1 82 -store __or_80_493 83 -brif 83 L494 L493 -label L493 -load 85 f -strref 86 m46s183 -call 87 pith_cstring_eq bool 2 85 86 -call 88 pith_cstring_release void 1 86 -store __or_80_493 87 -label L494 -load 89 __or_80_493 -store __or_79_493 89 -brif 89 L496 L495 -label L495 -load 90 f -strref 91 m46s1296 -call 92 pith_cstring_eq bool 2 90 91 -call 93 pith_cstring_release void 1 91 -store __or_79_493 92 -label L496 -load 94 __or_79_493 -store __or_78_493 94 -brif 94 L498 L497 -label L497 -load 95 f -strref 96 m46s1295 -call 97 pith_cstring_eq bool 2 95 96 -call 98 pith_cstring_release void 1 96 -store __or_78_493 97 -label L498 -load 99 __or_78_493 -load 100 recv -call 101 pith_struct_release void 1 100 -load 102 f -call 103 pith_cstring_release void 1 102 -load 104 a -call 105 pith_struct_release void 1 104 -load 106 b -call 107 pith_struct_release void 1 106 -ret 99 +load 78 b +call 79 pith_struct_release void 1 78 +ret 68 +label L486 +label L484 +jmp L477 label L479 label L477 -iconst 108 0 -store __and_108_502 108 -load 109 parent -field 110 109 0 string kind -strref 111 m46s514 -call 112 pith_cstring_eq bool 2 110 111 -call 113 pith_cstring_release void 1 111 -store __and_108_502 112 -brif 112 L502 L503 +iconst 80 0 +store __and_80_500 80 +iconst 81 0 +store __and_81_500 81 +load 82 is_result +store __and_81_500 82 +brif 82 L500 L501 +label L500 +load 83 parent +field 84 83 0 string kind +strref 85 m46s504 +call 86 pith_cstring_eq bool 2 84 85 +call 87 pith_cstring_release void 1 85 +store __and_81_500 86 +label L501 +load 88 __and_81_500 +store __and_80_500 88 +brif 88 L502 L503 label L502 -iconst 114 0 -store __or_114_504 114 -load 115 parent -field 116 115 8 string value -strref 117 m46s469 -call 118 pith_cstring_eq bool 2 116 117 -call 119 pith_cstring_release void 1 117 -store __or_114_504 118 -brif 118 L505 L504 -label L504 -load 120 parent -field 121 120 8 string value -strref 122 m46s467 -call 123 pith_cstring_eq bool 2 121 122 -call 124 pith_cstring_release void 1 122 -store __or_114_504 123 -label L505 -load 125 __or_114_504 -store __and_108_502 125 +load 89 parent +field 90 89 16 list children +call 91 pith_list_len int 1 90 +iconst 92 1 +gt 93 91 92 +store __and_80_500 93 label L503 -load 126 __and_108_502 -brif 126 L500 L501 -label L500 -load 127 parent -field 128 127 16 list children -call 129 pith_list_len int 1 128 -iconst 130 2 -lt 131 129 130 -brif 131 L507 L508 +load 94 __and_80_500 +brif 94 L498 L499 +label L498 +load 95 operand +load 96 parent +field 97 96 16 list children +iconst 98 0 +call 99 pith_list_get_value_strict int 2 97 98 +call 100 ast_get_node struct:Node 1 99 +call 101 pith_struct_release void 1 95 +store operand 100 +iconst 102 0 +store __and_102_507 102 +load 103 operand +field 104 103 0 string kind +strref 105 m46s37 +call 106 pith_cstring_eq bool 2 104 105 +call 107 pith_cstring_release void 1 105 +store __and_102_507 106 +brif 106 L507 L508 label L507 -iconst 132 0 -load 133 recv -call 134 pith_struct_release void 1 133 -load 135 f -call 136 pith_cstring_release void 1 135 -load 137 a -call 138 pith_struct_release void 1 137 -load 139 b -call 140 pith_struct_release void 1 139 -ret 132 +load 108 operand +field 109 108 8 string value +load 110 name +call 111 pith_cstring_eq bool 2 109 110 +store __and_102_507 111 label L508 +load 112 __and_102_507 +brif 112 L505 L506 +label L505 +load 113 parent +field 114 113 16 list children +iconst 115 1 +call 116 pith_list_get_value_strict int 2 114 115 +load 117 name +call 118 ir_emitter_core_ir_subtree_mentions_ident bool 2 116 117 +iconst 120 1 +sub 119 120 118 +load 121 recv +call 122 pith_struct_release void 1 121 +load 123 operand +call 124 pith_struct_release void 1 123 +load 125 f +call 126 pith_cstring_release void 1 125 +load 127 a +call 128 pith_struct_release void 1 127 +load 129 b +call 130 pith_struct_release void 1 129 +ret 119 label L506 -load 141 a -load 142 parent -field 143 142 16 list children -iconst 144 0 -call 145 pith_list_get_value_strict int 2 143 144 -call 146 ast_get_node struct:Node 1 145 -call 147 pith_struct_release void 1 141 -store a 146 -load 148 b -load 149 parent -field 150 149 16 list children -iconst 151 1 -call 152 pith_list_get_value_strict int 2 150 151 -call 153 ast_get_node struct:Node 1 152 -call 154 pith_struct_release void 1 148 -store b 153 -iconst 155 0 -store __and_155_509 155 -load 156 a -field 157 156 0 string kind -strref 158 m46s37 -call 159 pith_cstring_eq bool 2 157 158 -call 160 pith_cstring_release void 1 158 -store __and_155_509 159 -brif 159 L509 L510 -label L509 -load 161 a -field 162 161 8 string value -load 163 name -call 164 pith_cstring_eq bool 2 162 163 -store __and_155_509 164 -label L510 -load 165 __and_155_509 -store a_is_name 165 -iconst 166 0 -store __and_166_511 166 -load 167 b -field 168 167 0 string kind -strref 169 m46s37 -call 170 pith_cstring_eq bool 2 168 169 -call 171 pith_cstring_release void 1 169 -store __and_166_511 170 -brif 170 L511 L512 -label L511 -load 172 b -field 173 172 8 string value -load 174 name -call 175 pith_cstring_eq bool 2 173 174 -store __and_166_511 175 +label L504 +jmp L497 +label L499 +label L497 +iconst 131 0 +store __and_131_512 131 +iconst 132 0 +store __and_132_512 132 +load 133 is_result +store __and_132_512 133 +brif 133 L512 L513 label L512 -load 176 __and_166_511 -store b_is_name 176 -iconst 177 0 -store __or_177_513 177 -load 178 a -field 179 178 0 string kind -strref 180 m46s56 -call 181 pith_cstring_eq bool 2 179 180 -call 182 pith_cstring_release void 1 180 -store __or_177_513 181 -brif 181 L514 L513 +load 134 parent +field 135 134 0 string kind +strref 136 m46s505 +call 137 pith_cstring_eq bool 2 135 136 +call 138 pith_cstring_release void 1 136 +store __and_132_512 137 label L513 -load 183 a -field 184 183 0 string kind -strref 185 m46s1294 -call 186 pith_cstring_eq bool 2 184 185 -call 187 pith_cstring_release void 1 185 -store __or_177_513 186 +load 139 __and_132_512 +store __and_131_512 139 +brif 139 L514 L515 label L514 -load 188 __or_177_513 -store a_is_none 188 -iconst 189 0 -store __or_189_515 189 -load 190 b -field 191 190 0 string kind -strref 192 m46s56 -call 193 pith_cstring_eq bool 2 191 192 -call 194 pith_cstring_release void 1 192 -store __or_189_515 193 -brif 193 L516 L515 +load 140 parent +field 141 140 16 list children +call 142 pith_list_len int 1 141 +iconst 143 0 +gt 144 142 143 +store __and_131_512 144 label L515 -load 195 b -field 196 195 0 string kind -strref 197 m46s1294 -call 198 pith_cstring_eq bool 2 196 197 -call 199 pith_cstring_release void 1 197 -store __or_189_515 198 -label L516 -load 200 __or_189_515 -store b_is_none 200 -iconst 201 0 -store __or_201_517 201 -iconst 202 0 -store __and_202_517 202 -load 203 a_is_name -store __and_202_517 203 -brif 203 L517 L518 +load 145 __and_131_512 +brif 145 L510 L511 +label L510 +load 146 operand +load 147 parent +field 148 147 16 list children +iconst 149 0 +call 150 pith_list_get_value_strict int 2 148 149 +call 151 ast_get_node struct:Node 1 150 +call 152 pith_struct_release void 1 146 +store operand 151 +iconst 153 0 +store __and_153_519 153 +load 154 operand +field 155 154 0 string kind +strref 156 m46s37 +call 157 pith_cstring_eq bool 2 155 156 +call 158 pith_cstring_release void 1 156 +store __and_153_519 157 +brif 157 L519 L520 +label L519 +load 159 operand +field 160 159 8 string value +load 161 name +call 162 pith_cstring_eq bool 2 160 161 +store __and_153_519 162 +label L520 +load 163 __and_153_519 +brif 163 L517 L518 label L517 -load 204 b_is_none -store __and_202_517 204 +iconst 164 1 +load 165 recv +call 166 pith_struct_release void 1 165 +load 167 operand +call 168 pith_struct_release void 1 167 +load 169 f +call 170 pith_cstring_release void 1 169 +load 171 a +call 172 pith_struct_release void 1 171 +load 173 b +call 174 pith_struct_release void 1 173 +ret 164 label L518 -load 205 __and_202_517 -store __or_201_517 205 -brif 205 L520 L519 -label L519 -iconst 206 0 -store __and_206_521 206 -load 207 b_is_name -store __and_206_521 207 -brif 207 L521 L522 -label L521 -load 208 a_is_none -store __and_206_521 208 +label L516 +jmp L509 +label L511 +label L509 +load 175 parent +field 176 175 0 string kind +strref 177 m46s36 +call 178 pith_cstring_eq bool 2 176 177 +call 179 pith_cstring_release void 1 177 +brif 178 L522 L523 label L522 -load 209 __and_206_521 -store __or_201_517 209 -label L520 -load 210 __or_201_517 -load 211 recv -call 212 pith_struct_release void 1 211 -load 213 f -call 214 pith_cstring_release void 1 213 -load 215 a -call 216 pith_struct_release void 1 215 -load 217 b +load 180 parent +field 181 180 16 list children +call 182 pith_list_len int 1 181 +iconst 183 0 +eq 184 182 183 +brif 184 L525 L526 +label L525 +iconst 185 0 +load 186 recv +call 187 pith_struct_release void 1 186 +load 188 operand +call 189 pith_struct_release void 1 188 +load 190 f +call 191 pith_cstring_release void 1 190 +load 192 a +call 193 pith_struct_release void 1 192 +load 194 b +call 195 pith_struct_release void 1 194 +ret 185 +label L526 +label L524 +load 196 recv +load 197 parent +field 198 197 16 list children +iconst 199 0 +call 200 pith_list_get_value_strict int 2 198 199 +call 201 ast_get_node struct:Node 1 200 +call 202 pith_struct_release void 1 196 +store recv 201 +iconst 203 0 +store __and_203_530 203 +load 204 recv +field 205 204 0 string kind +strref 206 m46s37 +call 207 pith_cstring_eq bool 2 205 206 +call 208 pith_cstring_release void 1 206 +store __and_203_530 207 +brif 207 L530 L531 +label L530 +load 209 recv +field 210 209 8 string value +load 211 name +call 212 pith_cstring_eq bool 2 210 211 +store __and_203_530 212 +label L531 +load 213 __and_203_530 +iconst 215 1 +sub 214 215 213 +brif 214 L528 L529 +label L528 +iconst 216 0 +load 217 recv call 218 pith_struct_release void 1 217 -ret 210 -label L501 -label L499 -iconst 219 0 -load 220 recv -call 221 pith_struct_release void 1 220 -load 222 f -call 223 pith_cstring_release void 1 222 -load 224 a -call 225 pith_struct_release void 1 224 -load 226 b -call 227 pith_struct_release void 1 226 -ret 219 -load 228 recv -call 229 pith_struct_release void 1 228 -load 230 f -call 231 pith_cstring_release void 1 230 -load 232 a -call 233 pith_struct_release void 1 232 -load 234 b -call 235 pith_struct_release void 1 234 -iconst 236 0 -ret 236 +load 219 operand +call 220 pith_struct_release void 1 219 +load 221 f +call 222 pith_cstring_release void 1 221 +load 223 a +call 224 pith_struct_release void 1 223 +load 225 b +call 226 pith_struct_release void 1 225 +ret 216 +label L529 +label L527 +load 227 f +load 228 parent +field 229 228 8 string value +call 230 pith_cstring_retain void 1 229 +call 231 pith_cstring_release void 1 227 +store f 229 +iconst 232 0 +store __or_232_535 232 +load 233 f +strref 234 m46s182 +call 235 pith_cstring_eq bool 2 233 234 +call 236 pith_cstring_release void 1 234 +store __or_232_535 235 +brif 235 L536 L535 +label L535 +load 237 f +strref 238 m46s181 +call 239 pith_cstring_eq bool 2 237 238 +call 240 pith_cstring_release void 1 238 +store __or_232_535 239 +label L536 +load 241 __or_232_535 +brif 241 L533 L534 +label L533 +iconst 242 1 +load 243 recv +call 244 pith_struct_release void 1 243 +load 245 operand +call 246 pith_struct_release void 1 245 +load 247 f +call 248 pith_cstring_release void 1 247 +load 249 a +call 250 pith_struct_release void 1 249 +load 251 b +call 252 pith_struct_release void 1 251 +ret 242 +label L534 +label L532 +iconst 253 0 +store __or_253_537 253 +iconst 254 0 +store __or_254_537 254 +iconst 255 0 +store __or_255_537 255 +load 256 f +strref 257 m46s184 +call 258 pith_cstring_eq bool 2 256 257 +call 259 pith_cstring_release void 1 257 +store __or_255_537 258 +brif 258 L538 L537 +label L537 +load 260 f +strref 261 m46s183 +call 262 pith_cstring_eq bool 2 260 261 +call 263 pith_cstring_release void 1 261 +store __or_255_537 262 +label L538 +load 264 __or_255_537 +store __or_254_537 264 +brif 264 L540 L539 +label L539 +load 265 f +strref 266 m46s1296 +call 267 pith_cstring_eq bool 2 265 266 +call 268 pith_cstring_release void 1 266 +store __or_254_537 267 +label L540 +load 269 __or_254_537 +store __or_253_537 269 +brif 269 L542 L541 +label L541 +load 270 f +strref 271 m46s1295 +call 272 pith_cstring_eq bool 2 270 271 +call 273 pith_cstring_release void 1 271 +store __or_253_537 272 +label L542 +load 274 __or_253_537 +load 275 recv +call 276 pith_struct_release void 1 275 +load 277 operand +call 278 pith_struct_release void 1 277 +load 279 f +call 280 pith_cstring_release void 1 279 +load 281 a +call 282 pith_struct_release void 1 281 +load 283 b +call 284 pith_struct_release void 1 283 +ret 274 +label L523 +label L521 +iconst 285 0 +store __and_285_546 285 +load 286 parent +field 287 286 0 string kind +strref 288 m46s514 +call 289 pith_cstring_eq bool 2 287 288 +call 290 pith_cstring_release void 1 288 +store __and_285_546 289 +brif 289 L546 L547 +label L546 +iconst 291 0 +store __or_291_548 291 +load 292 parent +field 293 292 8 string value +strref 294 m46s469 +call 295 pith_cstring_eq bool 2 293 294 +call 296 pith_cstring_release void 1 294 +store __or_291_548 295 +brif 295 L549 L548 +label L548 +load 297 parent +field 298 297 8 string value +strref 299 m46s467 +call 300 pith_cstring_eq bool 2 298 299 +call 301 pith_cstring_release void 1 299 +store __or_291_548 300 +label L549 +load 302 __or_291_548 +store __and_285_546 302 +label L547 +load 303 __and_285_546 +brif 303 L544 L545 +label L544 +load 304 parent +field 305 304 16 list children +call 306 pith_list_len int 1 305 +iconst 307 2 +lt 308 306 307 +brif 308 L551 L552 +label L551 +iconst 309 0 +load 310 recv +call 311 pith_struct_release void 1 310 +load 312 operand +call 313 pith_struct_release void 1 312 +load 314 f +call 315 pith_cstring_release void 1 314 +load 316 a +call 317 pith_struct_release void 1 316 +load 318 b +call 319 pith_struct_release void 1 318 +ret 309 +label L552 +label L550 +load 320 a +load 321 parent +field 322 321 16 list children +iconst 323 0 +call 324 pith_list_get_value_strict int 2 322 323 +call 325 ast_get_node struct:Node 1 324 +call 326 pith_struct_release void 1 320 +store a 325 +load 327 b +load 328 parent +field 329 328 16 list children +iconst 330 1 +call 331 pith_list_get_value_strict int 2 329 330 +call 332 ast_get_node struct:Node 1 331 +call 333 pith_struct_release void 1 327 +store b 332 +iconst 334 0 +store __and_334_553 334 +load 335 a +field 336 335 0 string kind +strref 337 m46s37 +call 338 pith_cstring_eq bool 2 336 337 +call 339 pith_cstring_release void 1 337 +store __and_334_553 338 +brif 338 L553 L554 +label L553 +load 340 a +field 341 340 8 string value +load 342 name +call 343 pith_cstring_eq bool 2 341 342 +store __and_334_553 343 +label L554 +load 344 __and_334_553 +store a_is_name 344 +iconst 345 0 +store __and_345_555 345 +load 346 b +field 347 346 0 string kind +strref 348 m46s37 +call 349 pith_cstring_eq bool 2 347 348 +call 350 pith_cstring_release void 1 348 +store __and_345_555 349 +brif 349 L555 L556 +label L555 +load 351 b +field 352 351 8 string value +load 353 name +call 354 pith_cstring_eq bool 2 352 353 +store __and_345_555 354 +label L556 +load 355 __and_345_555 +store b_is_name 355 +iconst 356 0 +store __or_356_557 356 +load 357 a +field 358 357 0 string kind +strref 359 m46s56 +call 360 pith_cstring_eq bool 2 358 359 +call 361 pith_cstring_release void 1 359 +store __or_356_557 360 +brif 360 L558 L557 +label L557 +load 362 a +field 363 362 0 string kind +strref 364 m46s1294 +call 365 pith_cstring_eq bool 2 363 364 +call 366 pith_cstring_release void 1 364 +store __or_356_557 365 +label L558 +load 367 __or_356_557 +store a_is_none 367 +iconst 368 0 +store __or_368_559 368 +load 369 b +field 370 369 0 string kind +strref 371 m46s56 +call 372 pith_cstring_eq bool 2 370 371 +call 373 pith_cstring_release void 1 371 +store __or_368_559 372 +brif 372 L560 L559 +label L559 +load 374 b +field 375 374 0 string kind +strref 376 m46s1294 +call 377 pith_cstring_eq bool 2 375 376 +call 378 pith_cstring_release void 1 376 +store __or_368_559 377 +label L560 +load 379 __or_368_559 +store b_is_none 379 +iconst 380 0 +store __or_380_561 380 +iconst 381 0 +store __and_381_561 381 +load 382 a_is_name +store __and_381_561 382 +brif 382 L561 L562 +label L561 +load 383 b_is_none +store __and_381_561 383 +label L562 +load 384 __and_381_561 +store __or_380_561 384 +brif 384 L564 L563 +label L563 +iconst 385 0 +store __and_385_565 385 +load 386 b_is_name +store __and_385_565 386 +brif 386 L565 L566 +label L565 +load 387 a_is_none +store __and_385_565 387 +label L566 +load 388 __and_385_565 +store __or_380_561 388 +label L564 +load 389 __or_380_561 +load 390 recv +call 391 pith_struct_release void 1 390 +load 392 operand +call 393 pith_struct_release void 1 392 +load 394 f +call 395 pith_cstring_release void 1 394 +load 396 a +call 397 pith_struct_release void 1 396 +load 398 b +call 399 pith_struct_release void 1 398 +ret 389 +label L545 +label L543 +iconst 400 0 +load 401 recv +call 402 pith_struct_release void 1 401 +load 403 operand +call 404 pith_struct_release void 1 403 +load 405 f +call 406 pith_cstring_release void 1 405 +load 407 a +call 408 pith_struct_release void 1 407 +load 409 b +call 410 pith_struct_release void 1 409 +ret 400 +load 411 recv +call 412 pith_struct_release void 1 411 +load 413 operand +call 414 pith_struct_release void 1 413 +load 415 f +call 416 pith_cstring_release void 1 415 +load 417 a +call 418 pith_struct_release void 1 417 +load 419 b +call 420 pith_struct_release void 1 419 +iconst 421 0 +ret 421 endfunc func ir_emitter_core_ir_subtree_mentions_ident 2 bool param idx @@ -126596,30 +126889,30 @@ call 5 ast_get_node struct:Node 1 4 call 6 pith_struct_release void 1 3 store node 5 iconst 7 0 -store __and_7_526 7 +store __and_7_570 7 load 8 node field 9 8 0 string kind strref 10 m46s37 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __and_7_526 11 -brif 11 L526 L527 -label L526 +store __and_7_570 11 +brif 11 L570 L571 +label L570 load 13 node field 14 13 8 string value load 15 name call 16 pith_cstring_eq bool 2 14 15 -store __and_7_526 16 -label L527 -load 17 __and_7_526 -brif 17 L524 L525 -label L524 +store __and_7_570 16 +label L571 +load 17 __and_7_570 +brif 17 L568 L569 +label L568 iconst 18 1 load 19 node call 20 pith_struct_release void 1 19 ret 18 -label L525 -label L523 +label L569 +label L567 load 21 node field 22 21 16 list children call 23 pith_auto_len int 1 22 @@ -126627,12 +126920,12 @@ iconst 24 0 store __for_idx_288 24 store __for_len_288 23 store __for_iter_288 22 -label L528 +label L572 load 25 __for_idx_288 load 26 __for_len_288 lt 27 25 26 -brif 27 L529 L531 -label L529 +brif 27 L573 L575 +label L573 load 28 __for_iter_288 load 29 __for_idx_288 call 30 pith_list_get_value unknown 2 28 29 @@ -126640,21 +126933,21 @@ store __loopvar_288_child_idx 30 load 31 __loopvar_288_child_idx load 32 name call 33 ir_emitter_core_ir_subtree_mentions_ident bool 2 31 32 -brif 33 L533 L534 -label L533 +brif 33 L577 L578 +label L577 iconst 34 1 load 35 node call 36 pith_struct_release void 1 35 ret 34 -label L534 -label L532 -label L530 +label L578 +label L576 +label L574 load 37 __for_idx_288 iconst 38 1 add 39 37 38 store __for_idx_288 39 -jmp L528 -label L531 +jmp L572 +label L575 iconst 40 0 load 41 node call 42 pith_struct_release void 1 41 @@ -126664,169 +126957,172 @@ call 44 pith_struct_release void 1 43 iconst 45 0 ret 45 endfunc -func ir_emitter_core_ir_tuple_uses_all_safe 2 bool +func ir_emitter_core_ir_tuple_uses_all_safe 3 bool param idx param name -iconst 2 0 -store node 2 +param is_result iconst 3 0 -store child 3 -load 4 node -load 5 idx -call 6 ast_get_node struct:Node 1 5 -call 7 pith_struct_release void 1 4 -store node 6 -load 8 node -field 9 8 0 string kind -strref 10 m46s501 -call 11 pith_cstring_eq bool 2 9 10 -call 12 pith_cstring_release void 1 10 -brif 11 L536 L537 -label L536 -load 13 idx -load 14 name -call 15 ir_emitter_core_ir_subtree_mentions_ident bool 2 13 14 -iconst 17 1 -sub 16 17 15 -load 18 node -call 19 pith_struct_release void 1 18 -load 20 child -call 21 pith_struct_release void 1 20 -ret 16 -label L537 -label L535 -iconst 22 0 -store __and_22_541 22 -load 23 node -field 24 23 0 string kind -strref 25 m46s574 -call 26 pith_cstring_eq bool 2 24 25 -call 27 pith_cstring_release void 1 25 -store __and_22_541 26 -brif 26 L541 L542 -label L541 -load 28 node -field 29 28 16 list children -call 30 pith_list_len int 1 29 -iconst 31 0 -gt 32 30 31 -store __and_22_541 32 -label L542 -load 33 __and_22_541 -brif 33 L539 L540 -label L539 -load 34 node -field 35 34 16 list children -iconst 36 0 -call 37 pith_list_get_value_strict int 2 35 36 -load 38 name -call 39 ir_emitter_core_ir_subtree_mentions_ident bool 2 37 38 -brif 39 L544 L545 -label L544 -iconst 40 0 -load 41 node -call 42 pith_struct_release void 1 41 -load 43 child -call 44 pith_struct_release void 1 43 -ret 40 -label L545 -label L543 -jmp L538 -label L540 -label L538 -load 45 node -field 46 45 16 list children -call 47 pith_auto_len int 1 46 -iconst 48 0 -store __for_idx_289 48 -store __for_len_289 47 -store __for_iter_289 46 -label L546 -load 49 __for_idx_289 -load 50 __for_len_289 -lt 51 49 50 -brif 51 L547 L549 -label L547 -load 52 __for_iter_289 -load 53 __for_idx_289 -call 54 pith_list_get_value unknown 2 52 53 -store __loopvar_289_child_idx 54 -load 55 child -load 56 __loopvar_289_child_idx -call 57 ast_get_node struct:Node 1 56 -call 58 pith_struct_release void 1 55 -store child 57 -iconst 59 0 -store __and_59_553 59 -load 60 child -field 61 60 0 string kind -strref 62 m46s37 -call 63 pith_cstring_eq bool 2 61 62 -call 64 pith_cstring_release void 1 62 -store __and_59_553 63 -brif 63 L553 L554 -label L553 -load 65 child -field 66 65 8 string value -load 67 name -call 68 pith_cstring_eq bool 2 66 67 -store __and_59_553 68 -label L554 -load 69 __and_59_553 -brif 69 L551 L552 -label L551 -load 70 node -load 71 name -call 72 ir_emitter_core_ir_tuple_use_is_whitelisted bool 2 70 71 -iconst 74 1 -sub 73 74 72 -brif 73 L556 L557 -label L556 -iconst 75 0 -load 76 node -call 77 pith_struct_release void 1 76 -load 78 child +store node 3 +iconst 4 0 +store child 4 +load 5 node +load 6 idx +call 7 ast_get_node struct:Node 1 6 +call 8 pith_struct_release void 1 5 +store node 7 +load 9 node +field 10 9 0 string kind +strref 11 m46s501 +call 12 pith_cstring_eq bool 2 10 11 +call 13 pith_cstring_release void 1 11 +brif 12 L580 L581 +label L580 +load 14 idx +load 15 name +call 16 ir_emitter_core_ir_subtree_mentions_ident bool 2 14 15 +iconst 18 1 +sub 17 18 16 +load 19 node +call 20 pith_struct_release void 1 19 +load 21 child +call 22 pith_struct_release void 1 21 +ret 17 +label L581 +label L579 +iconst 23 0 +store __and_23_585 23 +load 24 node +field 25 24 0 string kind +strref 26 m46s574 +call 27 pith_cstring_eq bool 2 25 26 +call 28 pith_cstring_release void 1 26 +store __and_23_585 27 +brif 27 L585 L586 +label L585 +load 29 node +field 30 29 16 list children +call 31 pith_list_len int 1 30 +iconst 32 0 +gt 33 31 32 +store __and_23_585 33 +label L586 +load 34 __and_23_585 +brif 34 L583 L584 +label L583 +load 35 node +field 36 35 16 list children +iconst 37 0 +call 38 pith_list_get_value_strict int 2 36 37 +load 39 name +call 40 ir_emitter_core_ir_subtree_mentions_ident bool 2 38 39 +brif 40 L588 L589 +label L588 +iconst 41 0 +load 42 node +call 43 pith_struct_release void 1 42 +load 44 child +call 45 pith_struct_release void 1 44 +ret 41 +label L589 +label L587 +jmp L582 +label L584 +label L582 +load 46 node +field 47 46 16 list children +call 48 pith_auto_len int 1 47 +iconst 49 0 +store __for_idx_289 49 +store __for_len_289 48 +store __for_iter_289 47 +label L590 +load 50 __for_idx_289 +load 51 __for_len_289 +lt 52 50 51 +brif 52 L591 L593 +label L591 +load 53 __for_iter_289 +load 54 __for_idx_289 +call 55 pith_list_get_value unknown 2 53 54 +store __loopvar_289_child_idx 55 +load 56 child +load 57 __loopvar_289_child_idx +call 58 ast_get_node struct:Node 1 57 +call 59 pith_struct_release void 1 56 +store child 58 +iconst 60 0 +store __and_60_597 60 +load 61 child +field 62 61 0 string kind +strref 63 m46s37 +call 64 pith_cstring_eq bool 2 62 63 +call 65 pith_cstring_release void 1 63 +store __and_60_597 64 +brif 64 L597 L598 +label L597 +load 66 child +field 67 66 8 string value +load 68 name +call 69 pith_cstring_eq bool 2 67 68 +store __and_60_597 69 +label L598 +load 70 __and_60_597 +brif 70 L595 L596 +label L595 +load 71 node +load 72 name +load 73 is_result +call 74 ir_emitter_core_ir_tuple_use_is_whitelisted bool 3 71 72 73 +iconst 76 1 +sub 75 76 74 +brif 75 L600 L601 +label L600 +iconst 77 0 +load 78 node call 79 pith_struct_release void 1 78 -ret 75 -label L557 -label L555 -jmp L550 -label L552 -load 80 __loopvar_289_child_idx -load 81 name -call 82 ir_emitter_core_ir_tuple_uses_all_safe bool 2 80 81 -iconst 84 1 -sub 83 84 82 -brif 83 L559 L560 -label L559 -iconst 85 0 -load 86 node -call 87 pith_struct_release void 1 86 -load 88 child -call 89 pith_struct_release void 1 88 -ret 85 -label L560 -label L558 -label L550 -label L548 -load 90 __for_idx_289 -iconst 91 1 -add 92 90 91 -store __for_idx_289 92 -jmp L546 -label L549 -iconst 93 1 -load 94 node -call 95 pith_struct_release void 1 94 -load 96 child -call 97 pith_struct_release void 1 96 -ret 93 -load 98 node -call 99 pith_struct_release void 1 98 -load 100 child -call 101 pith_struct_release void 1 100 -iconst 102 0 -ret 102 +load 80 child +call 81 pith_struct_release void 1 80 +ret 77 +label L601 +label L599 +jmp L594 +label L596 +load 82 __loopvar_289_child_idx +load 83 name +load 84 is_result +call 85 ir_emitter_core_ir_tuple_uses_all_safe bool 3 82 83 84 +iconst 87 1 +sub 86 87 85 +brif 86 L603 L604 +label L603 +iconst 88 0 +load 89 node +call 90 pith_struct_release void 1 89 +load 91 child +call 92 pith_struct_release void 1 91 +ret 88 +label L604 +label L602 +label L594 +label L592 +load 93 __for_idx_289 +iconst 94 1 +add 95 93 94 +store __for_idx_289 95 +jmp L590 +label L593 +iconst 96 1 +load 97 node +call 98 pith_struct_release void 1 97 +load 99 child +call 100 pith_struct_release void 1 99 +ret 96 +load 101 node +call 102 pith_struct_release void 1 101 +load 103 child +call 104 pith_struct_release void 1 103 +iconst 105 0 +ret 105 endfunc func ir_emitter_core_ir_tuple_cascade_scan 1 void param body_idx @@ -126839,25 +127135,25 @@ store ir_emitter_core_ir_tuple_cascade_names 3 load 4 body_idx iconst 5 0 lt 6 4 5 -brif 6 L562 L563 -label L562 +brif 6 L606 L607 +label L606 load 7 name call 8 pith_cstring_release void 1 7 load 9 kind call 10 pith_cstring_release void 1 9 iconst 11 0 ret 11 -label L563 -label L561 +label L607 +label L605 iconst 12 0 store i 12 -label L564 +label L608 load 13 i load 14 ir_emitter_core_ir_string_locals call 15 pith_list_len int 1 14 lt 16 13 15 -brif 16 L565 L566 -label L565 +brif 16 L609 L610 +label L609 load 17 name load 18 ir_emitter_core_ir_string_locals load 19 i @@ -126873,8 +127169,8 @@ load 26 i load 27 ir_emitter_core_ir_rc_local_kinds call 28 pith_list_len int 1 27 lt 29 26 28 -brif 29 L568 L569 -label L568 +brif 29 L612 L613 +label L612 load 30 kind load 31 ir_emitter_core_ir_rc_local_kinds load 32 i @@ -126882,90 +127178,95 @@ call 33 pith_list_get_value_strict string 2 31 32 call 34 pith_cstring_retain void 1 33 call 35 pith_cstring_release void 1 30 store kind 33 -jmp L567 -label L569 -label L567 +jmp L611 +label L613 +label L611 iconst 36 0 -store __and_36_573 36 +store __and_36_617 36 iconst 37 0 -store __and_37_573 37 +store __and_37_617 37 load 38 kind strref 39 m46s23 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_37_573 40 -brif 40 L573 L574 -label L573 +store __and_37_617 40 +brif 40 L617 L618 +label L617 load 42 ir_emitter_core_ir_tuple_local_tid load 43 name call 44 contains_key bool 2 42 43 -store __and_37_573 44 -label L574 -load 45 __and_37_573 -store __and_36_573 45 -brif 45 L575 L576 -label L575 +store __and_37_617 44 +label L618 +load 45 __and_37_617 +store __and_36_617 45 +brif 45 L619 L620 +label L619 load 46 ir_builder_ir_var_regs load 47 name call 48 contains_key bool 2 46 47 iconst 50 1 sub 49 50 48 -store __and_36_573 49 -label L576 -load 51 __and_36_573 -brif 51 L571 L572 -label L571 +store __and_36_617 49 +label L620 +load 51 __and_36_617 +brif 51 L615 L616 +label L615 load 52 ir_emitter_core_ir_tuple_local_tid load 53 name call 54 map_get_strict int 2 52 53 store tid 54 iconst 55 0 -store __and_55_580 55 -iconst 56 0 -store __and_56_580 56 -load 57 tid -iconst 58 0 -gte 59 57 58 -store __and_56_580 59 -brif 59 L580 L581 -label L580 -load 60 tid -call 61 ir_emitter_core_ir_tuple_local_has_rc_payload bool 1 60 -store __and_56_580 61 -label L581 -load 62 __and_56_580 -store __and_55_580 62 -brif 62 L582 L583 -label L582 -load 63 body_idx -load 64 name -call 65 ir_emitter_core_ir_tuple_uses_all_safe bool 2 63 64 -store __and_55_580 65 -label L583 -load 66 __and_55_580 -brif 66 L578 L579 -label L578 -load 67 ir_emitter_core_ir_tuple_cascade_names -load 68 name -call 69 pith_list_push_value void 2 67 68 -jmp L577 -label L579 -label L577 -jmp L570 -label L572 -label L570 -load 70 i -iconst 71 1 -add 72 70 71 -store i 72 -jmp L564 -label L566 +store __and_55_624 55 +load 56 tid +iconst 57 0 +gte 58 56 57 +store __and_55_624 58 +brif 58 L624 L625 +label L624 +load 59 tid +call 60 ir_emitter_core_ir_tuple_local_has_rc_payload bool 1 59 +store __and_55_624 60 +label L625 +load 61 __and_55_624 +brif 61 L622 L623 +label L622 +load 62 tid +call 63 types_get_type_info struct:TypeInfo 1 62 +field 64 63 0 string kind +strref 65 m46s22 +call 66 pith_cstring_eq bool 2 64 65 +call 67 pith_cstring_release void 1 65 +store is_result 66 +load 68 body_idx +load 69 name +load 70 is_result +call 71 ir_emitter_core_ir_tuple_uses_all_safe bool 3 68 69 70 +brif 71 L627 L628 +label L627 +load 72 ir_emitter_core_ir_tuple_cascade_names load 73 name -call 74 pith_cstring_release void 1 73 -load 75 kind -call 76 pith_cstring_release void 1 75 -iconst 77 0 -ret 77 +call 74 pith_list_push_value void 2 72 73 +jmp L626 +label L628 +label L626 +jmp L621 +label L623 +label L621 +jmp L614 +label L616 +label L614 +load 75 i +iconst 76 1 +add 77 75 76 +store i 77 +jmp L608 +label L610 +load 78 name +call 79 pith_cstring_release void 1 78 +load 80 kind +call 81 pith_cstring_release void 1 80 +iconst 82 0 +ret 82 endfunc func ir_emitter_core_ir_tuple_local_has_rc_payload 1 bool param tid @@ -126981,8 +127282,8 @@ field 7 6 0 string kind strref 8 m46s22 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L585 L586 -label L585 +brif 9 L630 L631 +label L630 load 11 tid strref 12 m46s182 call 13 ir_result_abi_ir_result_field_kind string 2 11 12 @@ -126993,14 +127294,14 @@ call 17 string_len int 1 15 call 18 pith_cstring_release void 1 15 iconst 19 0 gt 20 17 19 -brif 20 L588 L589 -label L588 +brif 20 L633 L634 +label L633 iconst 21 1 load 22 info call 23 pith_struct_release void 1 22 ret 21 -label L589 -label L587 +label L634 +label L632 load 24 tid strref 25 m46s181 call 26 ir_result_abi_ir_result_field_kind string 2 24 25 @@ -127014,27 +127315,27 @@ gt 33 30 32 load 34 info call 35 pith_struct_release void 1 34 ret 33 -label L586 -label L584 +label L631 +label L629 iconst 36 0 -store __and_36_593 36 +store __and_36_638 36 load 37 info field 38 37 0 string kind strref 39 m46s21 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_593 40 -brif 40 L593 L594 -label L593 +store __and_36_638 40 +brif 40 L638 L639 +label L638 load 42 info field 43 42 64 int inner iconst 44 0 gte 45 43 44 -store __and_36_593 45 -label L594 -load 46 __and_36_593 -brif 46 L591 L592 -label L591 +store __and_36_638 45 +label L639 +load 46 __and_36_638 +brif 46 L636 L637 +label L636 load 47 info field 48 47 64 int inner call 49 ir_type_helpers_ir_type_from_tid string 1 48 @@ -127047,8 +127348,8 @@ gt 55 52 54 load 56 info call 57 pith_struct_release void 1 56 ret 55 -label L592 -label L590 +label L637 +label L635 iconst 58 0 load 59 info call 60 pith_struct_release void 1 59 @@ -127076,8 +127377,8 @@ field 9 8 0 string kind strref 10 m46s22 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -brif 11 L596 L597 -label L596 +brif 11 L641 L642 +label L641 load 13 ok_code load 14 tid strref 15 m46s182 @@ -127110,27 +127411,27 @@ call 39 pith_cstring_release void 1 38 load 40 err_code call 41 pith_cstring_release void 1 40 ret 35 -label L597 -label L595 +label L642 +label L640 iconst 42 0 -store __and_42_601 42 +store __and_42_646 42 load 43 info field 44 43 0 string kind strref 45 m46s21 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -store __and_42_601 46 -brif 46 L601 L602 -label L601 +store __and_42_646 46 +brif 46 L646 L647 +label L646 load 48 info field 49 48 64 int inner iconst 50 0 gte 51 49 50 -store __and_42_601 51 -label L602 -load 52 __and_42_601 -brif 52 L599 L600 -label L599 +store __and_42_646 51 +label L647 +load 52 __and_42_646 +brif 52 L644 L645 +label L644 load 53 info field 54 53 64 int inner call 55 ir_type_helpers_ir_type_from_tid string 1 54 @@ -127149,8 +127450,8 @@ call 67 pith_cstring_release void 1 66 load 68 err_code call 69 pith_cstring_release void 1 68 ret 61 -label L600 -label L598 +label L645 +label L643 strref 70 m46s1293 load 71 info call 72 pith_struct_release void 1 71 @@ -127196,46 +127497,46 @@ store info 3 iconst 4 0 store sig 4 iconst 5 0 -store __and_5_606 5 +store __and_5_651 5 load 6 kind strref 7 m46s23 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __and_5_606 8 -brif 8 L606 L607 -label L606 +store __and_5_651 8 +brif 8 L651 L652 +label L651 load 10 ir_emitter_core_ir_tuple_cascade_names load 11 name iconst 12 -1 -store __list_index_result_L608 12 +store __list_index_result_L653 12 iconst 13 0 -store __list_index_i_L609 13 +store __list_index_i_L654 13 call 14 pith_list_len int 1 10 -label L610 -load 15 __list_index_i_L609 +label L655 +load 15 __list_index_i_L654 lt 16 15 14 -brif 16 L611 L614 -label L611 +brif 16 L656 L659 +label L656 call 17 pith_list_get_value string 2 10 15 call 18 pith_cstring_eq bool 2 17 11 -brif 18 L612 L613 -label L612 -store __list_index_result_L608 15 -jmp L614 -label L613 +brif 18 L657 L658 +label L657 +store __list_index_result_L653 15 +jmp L659 +label L658 iconst 19 1 add 20 15 19 -store __list_index_i_L609 20 -jmp L610 -label L614 -load 21 __list_index_result_L608 +store __list_index_i_L654 20 +jmp L655 +label L659 +load 21 __list_index_result_L653 iconst 22 0 gte 23 21 22 -store __and_5_606 23 -label L607 -load 24 __and_5_606 -brif 24 L604 L605 -label L604 +store __and_5_651 23 +label L652 +load 24 __and_5_651 +brif 24 L649 L650 +label L649 load 25 ir_emitter_core_ir_tuple_local_tid load 26 name call 27 map_get_strict int 2 25 26 @@ -127246,25 +127547,25 @@ call 30 types_get_type_info struct:TypeInfo 1 29 call 31 pith_struct_release void 1 28 store info 30 iconst 32 0 -store __or_32_618 32 +store __or_32_663 32 load 33 info field 34 33 0 string kind strref 35 m46s22 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_32_618 36 -brif 36 L619 L618 -label L618 +store __or_32_663 36 +brif 36 L664 L663 +label L663 load 38 info field 39 38 0 string kind strref 40 m46s21 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_32_618 41 -label L619 -load 43 __or_32_618 -brif 43 L616 L617 -label L616 +store __or_32_663 41 +label L664 +load 43 __or_32_663 +brif 43 L661 L662 +label L661 load 44 sig load 45 tid call 46 ir_emitter_core_ir_tuple_cascade_signature string 1 45 @@ -127273,40 +127574,40 @@ store sig 46 load 48 ir_emitter_core_ir_tuple_cascade_sigs load 49 sig iconst 50 -1 -store __list_index_result_L623 50 +store __list_index_result_L668 50 iconst 51 0 -store __list_index_i_L624 51 +store __list_index_i_L669 51 call 52 pith_list_len int 1 48 -label L625 -load 53 __list_index_i_L624 +label L670 +load 53 __list_index_i_L669 lt 54 53 52 -brif 54 L626 L629 -label L626 +brif 54 L671 L674 +label L671 call 55 pith_list_get_value string 2 48 53 call 56 pith_cstring_eq bool 2 55 49 -brif 56 L627 L628 -label L627 -store __list_index_result_L623 53 -jmp L629 -label L628 +brif 56 L672 L673 +label L672 +store __list_index_result_L668 53 +jmp L674 +label L673 iconst 57 1 add 58 53 57 -store __list_index_i_L624 58 -jmp L625 -label L629 -load 59 __list_index_result_L623 +store __list_index_i_L669 58 +jmp L670 +label L674 +load 59 __list_index_result_L668 iconst 60 0 gte 61 59 60 iconst 63 1 sub 62 63 61 -brif 62 L621 L622 -label L621 +brif 62 L666 L667 +label L666 load 64 ir_emitter_core_ir_tuple_cascade_sigs load 65 sig call 66 pith_list_push_value void 2 64 65 -jmp L620 -label L622 -label L620 +jmp L665 +label L667 +label L665 call 67 ir_builder_ir_reg int 0 load 68 sig call 69 ir_emitter_core_ir_tuple_cascade_helper_name string 1 68 @@ -127321,11 +127622,11 @@ load 77 sig call 78 pith_cstring_release void 1 77 iconst 79 0 ret 79 -label L617 -label L615 -jmp L603 -label L605 -label L603 +label L662 +label L660 +jmp L648 +label L650 +label L648 load 80 r load 81 kind call 82 ir_ownership_ir_rc_release_reg void 2 80 81 @@ -127357,12 +127658,12 @@ iconst 9 0 store __for_idx_290 9 store __for_len_290 8 store __for_iter_290 7 -label L630 +label L675 load 10 __for_idx_290 load 11 __for_len_290 lt 12 10 11 -brif 12 L631 L633 -label L631 +brif 12 L676 L678 +label L676 load 13 __for_iter_290 load 14 __for_idx_290 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -127546,8 +127847,8 @@ load 180 ok_kind call 181 string_len int 1 180 iconst 182 0 gt 183 181 182 -brif 183 L635 L636 -label L635 +brif 183 L680 L681 +label L680 call 184 ir_builder_ir_reg int 0 store ok_r 184 strref 185 m46s837 @@ -127574,9 +127875,9 @@ call 205 pith_cstring_release void 1 201 load 206 ok_r load 207 ok_kind call 208 ir_ownership_ir_rc_release_reg void 2 206 207 -jmp L634 -label L636 -label L634 +jmp L679 +label L681 +label L679 strref 209 m46s833 load 210 rel_l concat 211 209 210 @@ -127589,8 +127890,8 @@ load 217 err_kind call 218 string_len int 1 217 iconst 219 0 gt 220 218 219 -brif 220 L638 L639 -label L638 +brif 220 L683 L684 +label L683 call 221 ir_builder_ir_reg int 0 store err_r 221 strref 222 m46s837 @@ -127617,9 +127918,9 @@ call 242 pith_cstring_release void 1 238 load 243 err_r load 244 err_kind call 245 ir_ownership_ir_rc_release_reg void 2 243 244 -jmp L637 -label L639 -label L637 +jmp L682 +label L684 +label L682 strref 246 m46s833 load 247 rel_l concat 248 246 247 @@ -127668,13 +127969,13 @@ call 289 pith_cstring_release void 1 285 strref 290 m46s877 call 291 ir_builder_ir_emit void 1 290 call 292 pith_cstring_release void 1 290 -label L632 +label L677 load 293 __for_idx_290 iconst 294 1 add 295 293 294 store __for_idx_290 295 -jmp L630 -label L633 +jmp L675 +label L678 load 296 ok_kind call 297 pith_cstring_release void 1 296 load 298 err_kind @@ -127700,13 +128001,13 @@ iconst 2 0 store kind 2 iconst 3 0 store i 3 -label L640 +label L685 load 4 i load 5 ir_emitter_core_ir_string_locals call 6 pith_list_len int 1 5 lt 7 4 6 -brif 7 L641 L642 -label L641 +brif 7 L686 L687 +label L686 load 8 name load 9 ir_emitter_core_ir_string_locals load 10 i @@ -127722,8 +128023,8 @@ load 17 i load 18 ir_emitter_core_ir_rc_local_kinds call 19 pith_list_len int 1 18 lt 20 17 19 -brif 20 L644 L645 -label L644 +brif 20 L689 L690 +label L689 load 21 kind load 22 ir_emitter_core_ir_rc_local_kinds load 23 i @@ -127731,26 +128032,26 @@ call 24 pith_list_get_value_strict string 2 22 23 call 25 pith_cstring_retain void 1 24 call 26 pith_cstring_release void 1 21 store kind 24 -jmp L643 -label L645 -label L643 +jmp L688 +label L690 +label L688 iconst 27 0 -store __and_27_649 27 +store __and_27_694 27 load 28 name load 29 exclude call 31 pith_cstring_eq bool 2 28 29 iconst 32 1 sub 30 32 31 -store __and_27_649 30 -brif 30 L649 L650 -label L649 +store __and_27_694 30 +brif 30 L694 L695 +label L694 load 33 kind call 34 ir_ownership_ir_rc_release_enabled bool 1 33 -store __and_27_649 34 -label L650 -load 35 __and_27_649 -brif 35 L647 L648 -label L647 +store __and_27_694 34 +label L695 +load 35 __and_27_694 +brif 35 L692 L693 +label L692 call 36 ir_builder_ir_reg int 0 store r 36 load 37 r @@ -127760,15 +128061,15 @@ load 40 r load 41 kind load 42 name call 43 ir_emitter_core_ir_rc_release_local void 3 40 41 42 -jmp L646 -label L648 -label L646 +jmp L691 +label L693 +label L691 load 44 i iconst 45 1 add 46 44 45 store i 46 -jmp L640 -label L642 +jmp L685 +label L687 load 47 name call 48 pith_cstring_release void 1 47 load 49 kind @@ -127797,35 +128098,35 @@ load 10 parts field 11 10 16 int type_idx iconst 12 0 gte 13 11 12 -brif 13 L652 L653 -label L652 +brif 13 L697 L698 +label L697 load 14 bind_type load 15 parts field 16 15 16 int type_idx call 17 ir_alias_registry_ir_resolve_type_node string 1 16 call 18 pith_cstring_release void 1 14 store bind_type 17 -jmp L651 -label L653 -label L651 +jmp L696 +label L698 +label L696 iconst 19 0 -store __and_19_657 19 +store __and_19_702 19 load 20 bind_type call 21 string_len int 1 20 iconst 22 0 eq 23 21 22 -store __and_19_657 23 -brif 23 L657 L658 -label L657 +store __and_19_702 23 +brif 23 L702 L703 +label L702 load 24 parts field 25 24 8 int val_idx iconst 26 0 gte 27 25 26 -store __and_19_657 27 -label L658 -load 28 __and_19_657 -brif 28 L655 L656 -label L655 +store __and_19_702 27 +label L703 +load 28 __and_19_702 +brif 28 L700 L701 +label L700 load 29 val_node load 30 parts field 31 30 8 int val_idx @@ -127833,56 +128134,56 @@ call 32 ast_get_node struct:Node 1 31 call 33 pith_struct_release void 1 29 store val_node 32 iconst 34 0 -store __and_34_662 34 +store __and_34_707 34 load 35 val_node field 36 35 0 string kind strref 37 m46s37 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __and_34_662 38 -brif 38 L662 L663 -label L662 +store __and_34_707 38 +brif 38 L707 L708 +label L707 load 40 names load 41 val_node field 42 41 8 string value iconst 43 -1 -store __list_index_result_L664 43 +store __list_index_result_L709 43 iconst 44 0 -store __list_index_i_L665 44 +store __list_index_i_L710 44 call 45 pith_list_len int 1 40 -label L666 -load 46 __list_index_i_L665 +label L711 +load 46 __list_index_i_L710 lt 47 46 45 -brif 47 L667 L670 -label L667 +brif 47 L712 L715 +label L712 call 48 pith_list_get_value string 2 40 46 call 49 pith_cstring_eq bool 2 48 42 -brif 49 L668 L669 -label L668 -store __list_index_result_L664 46 -jmp L670 -label L669 +brif 49 L713 L714 +label L713 +store __list_index_result_L709 46 +jmp L715 +label L714 iconst 50 1 add 51 46 50 -store __list_index_i_L665 51 -jmp L666 -label L670 -load 52 __list_index_result_L664 +store __list_index_i_L710 51 +jmp L711 +label L715 +load 52 __list_index_result_L709 iconst 53 0 gte 54 52 53 -store __and_34_662 54 -label L663 -load 55 __and_34_662 -brif 55 L660 L661 -label L660 +store __and_34_707 54 +label L708 +load 55 __and_34_707 +brif 55 L705 L706 +label L705 load 56 bind_type load 57 val_node field 58 57 8 string value call 59 ir_emitter_core_ir_rc_local_kind string 1 58 call 60 pith_cstring_release void 1 56 store bind_type 59 -jmp L659 -label L661 +jmp L704 +label L706 load 61 bind_type load 62 parts field 63 62 8 int val_idx @@ -127893,80 +128194,80 @@ load 66 bind_type call 67 string_len int 1 66 iconst 68 0 eq 69 67 68 -brif 69 L672 L673 -label L672 +brif 69 L717 L718 +label L717 load 70 bind_type load 71 parts field 72 71 8 int val_idx call 73 ir_emitter_core_ir_infer_type string 1 72 call 74 pith_cstring_release void 1 70 store bind_type 73 -jmp L671 -label L673 -label L671 +jmp L716 +label L718 +label L716 iconst 75 0 -store __and_75_677 75 +store __and_75_722 75 load 76 bind_type call 77 ir_struct_registry_ir_rc_kind string 1 76 call 78 string_len int 1 77 call 79 pith_cstring_release void 1 77 iconst 80 0 eq 81 78 80 -store __and_75_677 81 -brif 81 L677 L678 -label L677 +store __and_75_722 81 +brif 81 L722 L723 +label L722 iconst 82 0 -store __or_82_679 82 +store __or_82_724 82 load 83 val_node field 84 83 0 string kind strref 85 m46s129 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -store __or_82_679 86 -brif 86 L680 L679 -label L679 +store __or_82_724 86 +brif 86 L725 L724 +label L724 load 88 val_node field 89 88 0 string kind strref 90 m46s44 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -store __or_82_679 91 -label L680 -load 93 __or_82_679 -store __and_75_677 93 -label L678 -load 94 __and_75_677 -brif 94 L675 L676 -label L675 +store __or_82_724 91 +label L725 +load 93 __or_82_724 +store __and_75_722 93 +label L723 +load 94 __and_75_722 +brif 94 L720 L721 +label L720 load 95 bind_type load 96 parts field 97 96 8 int val_idx call 98 ir_emitter_core_ir_expr_result_kind string 1 97 call 99 pith_cstring_release void 1 95 store bind_type 98 -jmp L674 -label L676 -label L674 +jmp L719 +label L721 +label L719 iconst 100 0 -store __and_100_684 100 +store __and_100_729 100 load 101 val_node field 102 101 0 string kind strref 103 m46s504 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __and_100_684 104 -brif 104 L684 L685 -label L684 +store __and_100_729 104 +brif 104 L729 L730 +label L729 load 106 val_node field 107 106 16 list children call 108 pith_list_len int 1 107 iconst 109 0 gt 110 108 109 -store __and_100_684 110 -label L685 -load 111 __and_100_684 -brif 111 L682 L683 -label L682 +store __and_100_729 110 +label L730 +load 111 __and_100_729 +brif 111 L727 L728 +label L727 load 112 catch_ok load 113 val_node field 114 113 16 list children @@ -127981,25 +128282,25 @@ call 121 string_len int 1 120 call 122 pith_cstring_release void 1 120 iconst 123 0 gt 124 121 123 -brif 124 L687 L688 -label L687 +brif 124 L732 L733 +label L732 load 125 bind_type load 126 catch_ok call 127 pith_cstring_retain void 1 126 call 128 pith_cstring_release void 1 125 store bind_type 126 -jmp L686 -label L688 -label L686 -jmp L681 -label L683 -label L681 +jmp L731 +label L733 +label L731 +jmp L726 +label L728 +label L726 iconst 129 0 -store __and_129_692 129 +store __and_129_737 129 iconst 130 0 -store __and_130_692 130 +store __and_130_737 130 iconst 131 0 -store __and_131_692 131 +store __and_131_737 131 load 132 bind_type call 133 ir_emitter_core_ir_substitute_type_name string 1 132 call 134 ir_struct_registry_ir_rc_kind string 1 133 @@ -128008,40 +128309,40 @@ call 136 string_len int 1 134 call 137 pith_cstring_release void 1 134 iconst 138 0 eq 139 136 138 -store __and_131_692 139 -brif 139 L692 L693 -label L692 +store __and_131_737 139 +brif 139 L737 L738 +label L737 load 140 val_node field 141 140 0 string kind strref 142 m46s35 call 143 pith_cstring_eq bool 2 141 142 call 144 pith_cstring_release void 1 142 -store __and_131_692 143 -label L693 -load 145 __and_131_692 -store __and_130_692 145 -brif 145 L694 L695 -label L694 +store __and_131_737 143 +label L738 +load 145 __and_131_737 +store __and_130_737 145 +brif 145 L739 L740 +label L739 load 146 val_node field 147 146 16 list children call 148 pith_list_len int 1 147 iconst 149 0 gt 150 148 149 -store __and_130_692 150 -label L695 -load 151 __and_130_692 -store __and_129_692 151 -brif 151 L696 L697 -label L696 +store __and_130_737 150 +label L740 +load 151 __and_130_737 +store __and_129_737 151 +brif 151 L741 L742 +label L741 load 152 ir_emitter_core_ir_current_impl_type call 153 string_len int 1 152 iconst 154 0 gt 155 153 154 -store __and_129_692 155 -label L697 -load 156 __and_129_692 -brif 156 L690 L691 -label L690 +store __and_129_737 155 +label L742 +load 156 __and_129_737 +brif 156 L735 L736 +label L735 load 157 list_node load 158 val_node field 159 158 16 list children @@ -128055,8 +128356,8 @@ field 165 164 0 string kind strref 166 m46s36 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -brif 167 L699 L700 -label L699 +brif 167 L744 L745 +label L744 load 169 elem load 170 list_node field 171 170 8 string value @@ -128067,26 +128368,26 @@ load 174 elem call 175 string_len int 1 174 iconst 176 0 gt 177 175 176 -brif 177 L702 L703 -label L702 +brif 177 L747 L748 +label L747 load 178 bind_type load 179 elem call 180 pith_cstring_retain void 1 179 call 181 pith_cstring_release void 1 178 store bind_type 179 -jmp L701 -label L703 +jmp L746 +label L748 +label L746 +jmp L743 +label L745 +label L743 +jmp L734 +label L736 +label L734 +label L704 +jmp L699 label L701 -jmp L698 -label L700 -label L698 -jmp L689 -label L691 -label L689 -label L659 -jmp L654 -label L656 -label L654 +label L699 load 182 bind_type load 183 val_node call 184 pith_struct_release void 1 183 @@ -128124,8 +128425,8 @@ load 5 ir_emitter_core_ir_current_impl_type call 6 string_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L705 L706 -label L705 +brif 8 L750 L751 +label L750 strref 9 m46s82 load 10 base call 11 pith_cstring_release void 1 10 @@ -128136,8 +128437,8 @@ call 15 pith_struct_release void 1 14 load 16 tnode call 17 pith_struct_release void 1 16 ret 9 -label L706 -label L704 +label L751 +label L749 load 18 base load 19 ir_emitter_core_ir_current_impl_type call 20 ir_method_tables_ir_strip_type_args string 1 19 @@ -128148,8 +128449,8 @@ load 23 base call 24 contains_key bool 2 22 23 iconst 26 1 sub 25 26 24 -brif 25 L708 L709 -label L708 +brif 25 L753 L754 +label L753 strref 27 m46s82 load 28 base call 29 pith_cstring_release void 1 28 @@ -128160,8 +128461,8 @@ call 33 pith_struct_release void 1 32 load 34 tnode call 35 pith_struct_release void 1 34 ret 27 -label L709 -label L707 +label L754 +label L752 load 36 decl load 37 ir_struct_registry_ir_struct_decl_nodes load 38 base @@ -128176,12 +128477,12 @@ iconst 45 0 store __for_idx_291 45 store __for_len_291 44 store __for_iter_291 43 -label L710 +label L755 load 46 __for_idx_291 load 47 __for_len_291 lt 48 46 47 -brif 48 L711 L713 -label L711 +brif 48 L756 L758 +label L756 load 49 __for_iter_291 load 50 __for_idx_291 call 51 pith_list_get_value unknown 2 49 50 @@ -128192,32 +128493,32 @@ call 54 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 53 call 55 pith_struct_release void 1 52 store fnode 54 iconst 56 0 -store __and_56_717 56 +store __and_56_762 56 load 57 fnode field 58 57 0 string kind strref 59 m46s29 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -store __and_56_717 60 -brif 60 L717 L718 -label L717 +store __and_56_762 60 +brif 60 L762 L763 +label L762 load 62 fnode call 63 ir_emitter_core_ir_struct_field_name string 1 62 load 64 field_name call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 63 -store __and_56_717 65 -label L718 -load 67 __and_56_717 -brif 67 L715 L716 -label L715 +store __and_56_762 65 +label L763 +load 67 __and_56_762 +brif 67 L760 L761 +label L760 load 68 fnode field 69 68 16 list children call 70 pith_list_len int 1 69 iconst 71 0 gt 72 70 71 -brif 72 L720 L721 -label L720 +brif 72 L765 L766 +label L765 load 73 tnode load 74 fnode field 75 74 16 list children @@ -128227,38 +128528,38 @@ call 78 ast_get_node struct:Node 1 77 call 79 pith_struct_release void 1 73 store tnode 78 iconst 80 0 -store __and_80_725 80 +store __and_80_770 80 iconst 81 0 -store __and_81_725 81 +store __and_81_770 81 load 82 tnode field 83 82 0 string kind strref 84 m46s327 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __and_81_725 85 -brif 85 L725 L726 -label L725 +store __and_81_770 85 +brif 85 L770 L771 +label L770 load 87 tnode field 88 87 8 string value strref 89 m46s326 call 90 pith_cstring_eq bool 2 88 89 call 91 pith_cstring_release void 1 89 -store __and_81_725 90 -label L726 -load 92 __and_81_725 -store __and_80_725 92 -brif 92 L727 L728 -label L727 +store __and_81_770 90 +label L771 +load 92 __and_81_770 +store __and_80_770 92 +brif 92 L772 L773 +label L772 load 93 tnode field 94 93 16 list children call 95 pith_list_len int 1 94 iconst 96 0 gt 97 95 96 -store __and_80_725 97 -label L728 -load 98 __and_80_725 -brif 98 L723 L724 -label L723 +store __and_80_770 97 +label L773 +load 98 __and_80_770 +brif 98 L768 L769 +label L768 load 99 tnode field 100 99 16 list children iconst 101 0 @@ -128275,21 +128576,21 @@ call 111 pith_struct_release void 1 110 load 112 tnode call 113 pith_struct_release void 1 112 ret 104 -label L724 -label L722 -jmp L719 -label L721 -label L719 -jmp L714 -label L716 -label L714 -label L712 +label L769 +label L767 +jmp L764 +label L766 +label L764 +jmp L759 +label L761 +label L759 +label L757 load 114 __for_idx_291 iconst 115 1 add 116 114 115 store __for_idx_291 116 -jmp L710 -label L713 +jmp L755 +label L758 strref 117 m46s82 load 118 base call 119 pith_cstring_release void 1 118 @@ -128335,8 +128636,8 @@ store node 11 load 13 node field 14 13 0 string kind call 15 ir_ast_helpers_ir_is_binding_kind bool 1 14 -brif 15 L730 L731 -label L730 +brif 15 L775 L776 +label L775 load 16 parts load 17 node call 18 ir_control_helpers_ir_collect_bind_parts struct:IrBindParts 1 17 @@ -128347,8 +128648,8 @@ field 21 20 0 string name call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -brif 24 L733 L734 -label L733 +brif 24 L778 L779 +label L778 load 25 kind load 26 parts load 27 names @@ -128363,40 +128664,40 @@ load 34 kind call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L736 L737 -label L736 +brif 37 L781 L782 +label L781 load 38 names load 39 parts field 40 39 0 string name iconst 41 -1 -store __list_index_result_L741 41 +store __list_index_result_L786 41 iconst 42 0 -store __list_index_i_L742 42 +store __list_index_i_L787 42 call 43 pith_list_len int 1 38 -label L743 -load 44 __list_index_i_L742 +label L788 +load 44 __list_index_i_L787 lt 45 44 43 -brif 45 L744 L747 -label L744 +brif 45 L789 L792 +label L789 call 46 pith_list_get_value string 2 38 44 call 47 pith_cstring_eq bool 2 46 40 -brif 47 L745 L746 -label L745 -store __list_index_result_L741 44 -jmp L747 -label L746 +brif 47 L790 L791 +label L790 +store __list_index_result_L786 44 +jmp L792 +label L791 iconst 48 1 add 49 44 48 -store __list_index_i_L742 49 -jmp L743 -label L747 -load 50 __list_index_result_L741 +store __list_index_i_L787 49 +jmp L788 +label L792 +load 50 __list_index_result_L786 iconst 51 0 gte 52 50 51 -brif 52 L739 L740 -label L739 +brif 52 L784 L785 +label L784 iconst 53 0 -store __and_53_751 53 +store __and_53_796 53 load 54 parts field 55 54 0 string name call 56 ir_emitter_core_ir_rc_local_kind string 1 55 @@ -128405,151 +128706,151 @@ call 59 pith_cstring_eq bool 2 56 57 iconst 60 1 sub 58 60 59 call 61 pith_cstring_release void 1 56 -store __and_53_751 58 -brif 58 L751 L752 -label L751 +store __and_53_796 58 +brif 58 L796 L797 +label L796 load 62 poisoned load 63 parts field 64 63 0 string name iconst 65 -1 -store __list_index_result_L753 65 +store __list_index_result_L798 65 iconst 66 0 -store __list_index_i_L754 66 +store __list_index_i_L799 66 call 67 pith_list_len int 1 62 -label L755 -load 68 __list_index_i_L754 +label L800 +load 68 __list_index_i_L799 lt 69 68 67 -brif 69 L756 L759 -label L756 +brif 69 L801 L804 +label L801 call 70 pith_list_get_value string 2 62 68 call 71 pith_cstring_eq bool 2 70 64 -brif 71 L757 L758 -label L757 -store __list_index_result_L753 68 -jmp L759 -label L758 +brif 71 L802 L803 +label L802 +store __list_index_result_L798 68 +jmp L804 +label L803 iconst 72 1 add 73 68 72 -store __list_index_i_L754 73 -jmp L755 -label L759 -load 74 __list_index_result_L753 +store __list_index_i_L799 73 +jmp L800 +label L804 +load 74 __list_index_result_L798 iconst 75 0 gte 76 74 75 iconst 78 1 sub 77 78 76 -store __and_53_751 77 -label L752 -load 79 __and_53_751 -brif 79 L749 L750 -label L749 +store __and_53_796 77 +label L797 +load 79 __and_53_796 +brif 79 L794 L795 +label L794 load 80 poisoned load 81 parts field 82 81 0 string name call 83 pith_list_push_value void 2 80 82 -jmp L748 -label L750 -label L748 -jmp L738 -label L740 +jmp L793 +label L795 +label L793 +jmp L783 +label L785 load 84 parts field 85 84 0 string name load 86 kind call 87 ir_emitter_core_ir_rc_track_local void 2 85 86 -label L738 +label L783 iconst 88 0 -store __and_88_763 88 +store __and_88_808 88 load 89 kind strref 90 m46s23 call 91 pith_cstring_eq bool 2 89 90 call 92 pith_cstring_release void 1 90 -store __and_88_763 91 -brif 91 L763 L764 -label L763 +store __and_88_808 91 +brif 91 L808 L809 +label L808 load 93 parts field 94 93 8 int val_idx iconst 95 0 gte 96 94 95 -store __and_88_763 96 -label L764 -load 97 __and_88_763 -brif 97 L761 L762 -label L761 +store __and_88_808 96 +label L809 +load 97 __and_88_808 +brif 97 L806 L807 +label L806 load 98 parts field 99 98 0 string name load 100 parts field 101 100 8 int val_idx call 102 ir_emitter_core_ir_tuple_record_tid void 2 99 101 -jmp L760 -label L762 -label L760 -jmp L735 -label L737 +jmp L805 +label L807 +label L805 +jmp L780 +label L782 load 103 poisoned load 104 parts field 105 104 0 string name iconst 106 -1 -store __list_index_result_L767 106 +store __list_index_result_L812 106 iconst 107 0 -store __list_index_i_L768 107 +store __list_index_i_L813 107 call 108 pith_list_len int 1 103 -label L769 -load 109 __list_index_i_L768 +label L814 +load 109 __list_index_i_L813 lt 110 109 108 -brif 110 L770 L773 -label L770 +brif 110 L815 L818 +label L815 call 111 pith_list_get_value string 2 103 109 call 112 pith_cstring_eq bool 2 111 105 -brif 112 L771 L772 -label L771 -store __list_index_result_L767 109 -jmp L773 -label L772 +brif 112 L816 L817 +label L816 +store __list_index_result_L812 109 +jmp L818 +label L817 iconst 113 1 add 114 109 113 -store __list_index_i_L768 114 -jmp L769 -label L773 -load 115 __list_index_result_L767 +store __list_index_i_L813 114 +jmp L814 +label L818 +load 115 __list_index_result_L812 iconst 116 0 gte 117 115 116 iconst 119 1 sub 118 119 117 -brif 118 L765 L766 -label L765 +brif 118 L810 L811 +label L810 load 120 poisoned load 121 parts field 122 121 0 string name call 123 pith_list_push_value void 2 120 122 -jmp L735 -label L766 -label L735 -jmp L732 -label L734 -label L732 -jmp L729 -label L731 -label L729 +jmp L780 +label L811 +label L780 +jmp L777 +label L779 +label L777 +jmp L774 +label L776 +label L774 iconst 124 0 -store __and_124_777 124 +store __and_124_822 124 load 125 node field 126 125 0 string kind strref 127 m46s89 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __and_124_777 128 -brif 128 L777 L778 -label L777 +store __and_124_822 128 +brif 128 L822 L823 +label L822 load 130 node field 131 130 16 list children call 132 pith_list_len int 1 131 iconst 133 0 gt 134 132 133 -store __and_124_777 134 -label L778 -load 135 __and_124_777 -brif 135 L775 L776 -label L775 +store __and_124_822 134 +label L823 +load 135 __and_124_822 +brif 135 L820 L821 +label L820 load 136 variant_kinds call 137 pith_list_new_cstr list 0 call 138 pith_list_release_handle void 1 136 @@ -128558,8 +128859,8 @@ load 139 ir_struct_registry_ir_enum_payload_kinds load 140 node field 141 140 8 string value call 142 contains_key bool 2 139 141 -brif 142 L780 L781 -label L780 +brif 142 L825 L826 +label L825 load 143 variant_kinds load 144 ir_struct_registry_ir_enum_payload_kinds load 145 node @@ -128570,9 +128871,9 @@ call 149 pith_string_split_to_list list_string 2 147 148 call 150 pith_cstring_release void 1 148 call 151 pith_list_release_handle void 1 143 store variant_kinds 149 -jmp L779 -label L781 -label L779 +jmp L824 +label L826 +label L824 load 152 node field 153 152 16 list children call 154 pith_auto_len int 1 153 @@ -128580,12 +128881,12 @@ iconst 155 0 store __for_idx_292 155 store __for_len_292 154 store __for_iter_292 153 -label L782 +label L827 load 156 __for_idx_292 load 157 __for_len_292 lt 158 156 157 -brif 158 L783 L785 -label L783 +brif 158 L828 L830 +label L828 load 159 __for_iter_292 load 160 __for_idx_292 call 161 pith_list_get_value unknown 2 159 160 @@ -128602,8 +128903,8 @@ field 168 167 0 string kind strref 169 m46s85 call 170 pith_cstring_eq bool 2 168 169 call 171 pith_cstring_release void 1 169 -brif 170 L787 L788 -label L787 +brif 170 L832 L833 +label L832 load 172 payload_kind strref 173 m46s82 call 174 pith_cstring_release void 1 172 @@ -128612,8 +128913,8 @@ load 175 __loopvar_292_pi load 176 variant_kinds call 177 pith_list_len int 1 176 lt 178 175 177 -brif 178 L790 L791 -label L790 +brif 178 L835 L836 +label L835 load 179 payload_kind load 180 variant_kinds load 181 __loopvar_292_pi @@ -128621,47 +128922,47 @@ call 182 pith_list_get_value_strict string 2 180 181 call 183 ir_struct_registry_ir_rc_kind string 1 182 call 184 pith_cstring_release void 1 179 store payload_kind 183 -jmp L789 -label L791 -label L789 +jmp L834 +label L836 +label L834 load 185 payload_kind call 186 string_len int 1 185 iconst 187 0 gt 188 186 187 -brif 188 L793 L794 -label L793 +brif 188 L838 L839 +label L838 load 189 names load 190 sub field 191 190 8 string value iconst 192 -1 -store __list_index_result_L798 192 +store __list_index_result_L843 192 iconst 193 0 -store __list_index_i_L799 193 +store __list_index_i_L844 193 call 194 pith_list_len int 1 189 -label L800 -load 195 __list_index_i_L799 +label L845 +load 195 __list_index_i_L844 lt 196 195 194 -brif 196 L801 L804 -label L801 +brif 196 L846 L849 +label L846 call 197 pith_list_get_value string 2 189 195 call 198 pith_cstring_eq bool 2 197 191 -brif 198 L802 L803 -label L802 -store __list_index_result_L798 195 -jmp L804 -label L803 +brif 198 L847 L848 +label L847 +store __list_index_result_L843 195 +jmp L849 +label L848 iconst 199 1 add 200 195 199 -store __list_index_i_L799 200 -jmp L800 -label L804 -load 201 __list_index_result_L798 +store __list_index_i_L844 200 +jmp L845 +label L849 +load 201 __list_index_result_L843 iconst 202 0 gte 203 201 202 -brif 203 L796 L797 -label L796 +brif 203 L841 L842 +label L841 iconst 204 0 -store __and_204_808 204 +store __and_204_853 204 load 205 sub field 206 205 8 string value call 207 ir_emitter_core_ir_rc_local_kind string 1 206 @@ -128670,74 +128971,74 @@ call 210 pith_cstring_eq bool 2 207 208 iconst 211 1 sub 209 211 210 call 212 pith_cstring_release void 1 207 -store __and_204_808 209 -brif 209 L808 L809 -label L808 +store __and_204_853 209 +brif 209 L853 L854 +label L853 load 213 poisoned load 214 sub field 215 214 8 string value iconst 216 -1 -store __list_index_result_L810 216 +store __list_index_result_L855 216 iconst 217 0 -store __list_index_i_L811 217 +store __list_index_i_L856 217 call 218 pith_list_len int 1 213 -label L812 -load 219 __list_index_i_L811 +label L857 +load 219 __list_index_i_L856 lt 220 219 218 -brif 220 L813 L816 -label L813 +brif 220 L858 L861 +label L858 call 221 pith_list_get_value string 2 213 219 call 222 pith_cstring_eq bool 2 221 215 -brif 222 L814 L815 -label L814 -store __list_index_result_L810 219 -jmp L816 -label L815 +brif 222 L859 L860 +label L859 +store __list_index_result_L855 219 +jmp L861 +label L860 iconst 223 1 add 224 219 223 -store __list_index_i_L811 224 -jmp L812 -label L816 -load 225 __list_index_result_L810 +store __list_index_i_L856 224 +jmp L857 +label L861 +load 225 __list_index_result_L855 iconst 226 0 gte 227 225 226 iconst 229 1 sub 228 229 227 -store __and_204_808 228 -label L809 -load 230 __and_204_808 -brif 230 L806 L807 -label L806 +store __and_204_853 228 +label L854 +load 230 __and_204_853 +brif 230 L851 L852 +label L851 load 231 poisoned load 232 sub field 233 232 8 string value call 234 pith_list_push_value void 2 231 233 -jmp L805 -label L807 -label L805 -jmp L795 -label L797 +jmp L850 +label L852 +label L850 +jmp L840 +label L842 load 235 sub field 236 235 8 string value load 237 payload_kind call 238 ir_emitter_core_ir_rc_track_local void 2 236 237 -label L795 -jmp L792 -label L794 -label L792 -jmp L786 -label L788 -label L786 -label L784 +label L840 +jmp L837 +label L839 +label L837 +jmp L831 +label L833 +label L831 +label L829 load 239 __for_idx_292 iconst 240 1 add 241 239 240 store __for_idx_292 241 -jmp L782 -label L785 -jmp L774 -label L776 -label L774 +jmp L827 +label L830 +jmp L819 +label L821 +label L819 load 242 node field 243 242 16 list children call 244 pith_auto_len int 1 243 @@ -128745,12 +129046,12 @@ iconst 245 0 store __for_idx_293 245 store __for_len_293 244 store __for_iter_293 243 -label L817 +label L862 load 246 __for_idx_293 load 247 __for_len_293 lt 248 246 247 -brif 248 L818 L820 -label L818 +brif 248 L863 L865 +label L863 load 249 __for_iter_293 load 250 __for_idx_293 call 251 pith_list_get_value unknown 2 249 250 @@ -128759,13 +129060,13 @@ load 252 __loopvar_293_child load 253 names load 254 poisoned call 255 ir_emitter_core_ir_collect_string_bind_names void 3 252 253 254 -label L819 +label L864 load 256 __for_idx_293 iconst 257 1 add 258 256 257 store __for_idx_293 258 -jmp L817 -label L820 +jmp L862 +label L865 load 259 node call 260 pith_struct_release void 1 259 load 261 parts @@ -128806,36 +129107,36 @@ field 14 13 0 string kind strref 15 m46s1201 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -brif 16 L822 L823 -label L822 +brif 16 L867 L868 +label L867 load 18 target load 19 node field 20 19 8 string value call 21 pith_cstring_retain void 1 20 call 22 pith_cstring_release void 1 18 store target 20 -jmp L821 -label L823 +jmp L866 +label L868 iconst 23 0 -store __and_23_826 23 +store __and_23_871 23 load 24 node field 25 24 0 string kind strref 26 m46s574 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_826 27 -brif 27 L826 L827 -label L826 +store __and_23_871 27 +brif 27 L871 L872 +label L871 load 29 node field 30 29 16 list children call 31 pith_list_len int 1 30 iconst 32 0 gt 33 31 32 -store __and_23_826 33 -label L827 -load 34 __and_23_826 -brif 34 L824 L825 -label L824 +store __and_23_871 33 +label L872 +load 34 __and_23_871 +brif 34 L869 L870 +label L869 load 35 tn load 36 node field 37 36 16 list children @@ -128849,68 +129150,68 @@ field 43 42 0 string kind strref 44 m46s37 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L829 L830 -label L829 +brif 45 L874 L875 +label L874 load 47 target load 48 tn field 49 48 8 string value call 50 pith_cstring_retain void 1 49 call 51 pith_cstring_release void 1 47 store target 49 -jmp L828 -label L830 -label L828 -jmp L821 -label L825 -label L821 +jmp L873 +label L875 +label L873 +jmp L866 +label L870 +label L866 iconst 52 0 -store __and_52_834 52 +store __and_52_879 52 load 53 target call 54 string_len int 1 53 iconst 55 0 gt 56 54 55 -store __and_52_834 56 -brif 56 L834 L835 -label L834 +store __and_52_879 56 +brif 56 L879 L880 +label L879 load 57 names load 58 target iconst 59 -1 -store __list_index_result_L836 59 +store __list_index_result_L881 59 iconst 60 0 -store __list_index_i_L837 60 +store __list_index_i_L882 60 call 61 pith_list_len int 1 57 -label L838 -load 62 __list_index_i_L837 +label L883 +load 62 __list_index_i_L882 lt 63 62 61 -brif 63 L839 L842 -label L839 +brif 63 L884 L887 +label L884 call 64 pith_list_get_value string 2 57 62 call 65 pith_cstring_eq bool 2 64 58 -brif 65 L840 L841 -label L840 -store __list_index_result_L836 62 -jmp L842 -label L841 +brif 65 L885 L886 +label L885 +store __list_index_result_L881 62 +jmp L887 +label L886 iconst 66 1 add 67 62 66 -store __list_index_i_L837 67 -jmp L838 -label L842 -load 68 __list_index_result_L836 +store __list_index_i_L882 67 +jmp L883 +label L887 +load 68 __list_index_result_L881 iconst 69 0 gte 70 68 69 iconst 72 1 sub 71 72 70 -store __and_52_834 71 -label L835 -load 73 __and_52_834 -brif 73 L832 L833 -label L832 +store __and_52_879 71 +label L880 +load 73 __and_52_879 +brif 73 L877 L878 +label L877 load 74 ir_builder_ir_var_regs load 75 target call 76 contains_key bool 2 74 75 -brif 76 L844 L845 -label L844 +brif 76 L889 L890 +label L889 load 77 kind load 78 target call 79 ir_emitter_core_ir_lookup_name_type string 1 78 @@ -128922,20 +129223,20 @@ load 83 kind call 84 string_len int 1 83 iconst 85 0 gt 86 84 85 -brif 86 L847 L848 -label L847 +brif 86 L892 L893 +label L892 load 87 target load 88 kind call 89 ir_emitter_core_ir_rc_track_local void 2 87 88 -jmp L846 -label L848 -label L846 -jmp L843 -label L845 -label L843 -jmp L831 -label L833 -label L831 +jmp L891 +label L893 +label L891 +jmp L888 +label L890 +label L888 +jmp L876 +label L878 +label L876 load 90 node field 91 90 16 list children call 92 pith_auto_len int 1 91 @@ -128943,12 +129244,12 @@ iconst 93 0 store __for_idx_294 93 store __for_len_294 92 store __for_iter_294 91 -label L849 +label L894 load 94 __for_idx_294 load 95 __for_len_294 lt 96 94 95 -brif 96 L850 L852 -label L850 +brif 96 L895 L897 +label L895 load 97 __for_iter_294 load 98 __for_idx_294 call 99 pith_list_get_value unknown 2 97 98 @@ -128956,13 +129257,13 @@ store __loopvar_294_child 99 load 100 __loopvar_294_child load 101 names call 102 ir_emitter_core_ir_collect_reassigned_string_params void 2 100 101 -label L851 +label L896 load 103 __for_idx_294 iconst 104 1 add 105 103 104 store __for_idx_294 105 -jmp L849 -label L852 +jmp L894 +label L897 load 106 node call 107 pith_struct_release void 1 106 load 108 target @@ -128991,8 +129292,8 @@ store poisoned 6 load 8 body_idx iconst 9 0 gte 10 8 9 -brif 10 L854 L855 -label L854 +brif 10 L899 L900 +label L899 load 11 body_idx load 12 ir_emitter_core_ir_string_locals call 13 ir_emitter_core_ir_collect_reassigned_string_params void 2 11 12 @@ -129000,15 +129301,15 @@ load 14 body_idx load 15 ir_emitter_core_ir_string_locals load 16 poisoned call 17 ir_emitter_core_ir_collect_string_bind_names void 3 14 15 16 -jmp L853 -label L855 -label L853 +jmp L898 +label L900 +label L898 load 18 poisoned call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L857 L858 -label L857 +brif 21 L902 L903 +label L902 load 22 kept call 23 pith_list_new_cstr list 0 call 24 pith_list_release_handle void 1 22 @@ -129019,46 +129320,46 @@ call 27 pith_list_release_handle void 1 25 store kept_kinds 26 iconst 28 0 store pi 28 -label L859 +label L904 load 29 pi load 30 ir_emitter_core_ir_string_locals call 31 pith_list_len int 1 30 lt 32 29 31 -brif 32 L860 L861 -label L860 +brif 32 L905 L906 +label L905 load 33 poisoned load 34 ir_emitter_core_ir_string_locals load 35 pi call 36 pith_list_get_value_strict string 2 34 35 iconst 37 -1 -store __list_index_result_L865 37 +store __list_index_result_L910 37 iconst 38 0 -store __list_index_i_L866 38 +store __list_index_i_L911 38 call 39 pith_list_len int 1 33 -label L867 -load 40 __list_index_i_L866 +label L912 +load 40 __list_index_i_L911 lt 41 40 39 -brif 41 L868 L871 -label L868 +brif 41 L913 L916 +label L913 call 42 pith_list_get_value string 2 33 40 call 43 pith_cstring_eq bool 2 42 36 -brif 43 L869 L870 -label L869 -store __list_index_result_L865 40 -jmp L871 -label L870 +brif 43 L914 L915 +label L914 +store __list_index_result_L910 40 +jmp L916 +label L915 iconst 44 1 add 45 40 44 -store __list_index_i_L866 45 -jmp L867 -label L871 -load 46 __list_index_result_L865 +store __list_index_i_L911 45 +jmp L912 +label L916 +load 46 __list_index_result_L910 iconst 47 0 gte 48 46 47 iconst 50 1 sub 49 50 48 -brif 49 L863 L864 -label L863 +brif 49 L908 L909 +label L908 load 51 kept load 52 ir_emitter_core_ir_string_locals load 53 pi @@ -129068,28 +129369,28 @@ load 56 pi load 57 ir_emitter_core_ir_rc_local_kinds call 58 pith_list_len int 1 57 lt 59 56 58 -brif 59 L873 L874 -label L873 +brif 59 L918 L919 +label L918 load 60 kept_kinds load 61 ir_emitter_core_ir_rc_local_kinds load 62 pi call 63 pith_list_get_value_strict string 2 61 62 call 64 pith_list_push_value void 2 60 63 -jmp L872 -label L874 +jmp L917 +label L919 load 65 kept_kinds strref 66 m46s675 call 67 pith_list_push_value_owned void 2 65 66 -label L872 -jmp L862 -label L864 -label L862 +label L917 +jmp L907 +label L909 +label L907 load 68 pi iconst 69 1 add 70 68 69 store pi 70 -jmp L859 -label L861 +jmp L904 +label L906 load 71 kept call 72 pith_list_retain_handle void 1 71 store ir_emitter_core_ir_string_locals 71 @@ -129099,20 +129400,20 @@ store ir_emitter_core_ir_rc_local_kinds 73 load 75 poisoned call 76 pith_list_retain_handle void 1 75 store ir_builder_ir_untracked_rc_binds 75 -jmp L856 -label L858 -label L856 +jmp L901 +label L903 +label L901 load 77 body_idx call 78 ir_emitter_core_ir_tuple_cascade_scan void 1 77 iconst 79 0 store i 79 -label L875 +label L920 load 80 i load 81 ir_emitter_core_ir_string_locals call 82 pith_list_len int 1 81 lt 83 80 82 -brif 83 L876 L877 -label L876 +brif 83 L921 L922 +label L921 load 84 name load 85 ir_emitter_core_ir_string_locals load 86 i @@ -129123,8 +129424,8 @@ store name 87 load 90 ir_builder_ir_var_regs load 91 name call 92 contains_key bool 2 90 91 -brif 92 L879 L880 -label L879 +brif 92 L924 L925 +label L924 call 93 ir_builder_ir_reg int 0 store r 93 load 94 r @@ -129135,8 +129436,8 @@ load 98 name call 99 ir_emitter_core_ir_rc_local_kind string 1 98 call 100 ir_ownership_ir_rc_retain_reg void 2 97 99 call 101 pith_cstring_release void 1 99 -jmp L878 -label L880 +jmp L923 +label L925 call 102 ir_builder_ir_reg int 0 store z 102 strref 103 m46s832 @@ -129154,13 +129455,13 @@ call 114 pith_cstring_release void 1 110 load 115 name load 116 z call 117 ir_emitter_core_ir_emit_name_store void 2 115 116 -label L878 +label L923 load 118 i iconst 119 1 add 120 118 119 store i 120 -jmp L875 -label L877 +jmp L920 +label L922 load 121 poisoned call 122 pith_list_release_handle void 1 121 load 123 kept @@ -129210,7 +129511,7 @@ call 7 ast_get_node struct:Node 1 6 call 8 pith_struct_release void 1 5 store index_node 7 iconst 9 0 -store __or_9_884 9 +store __or_9_929 9 load 10 index_node field 11 10 0 string kind strref 12 m46s35 @@ -129218,27 +129519,27 @@ call 14 pith_cstring_eq bool 2 11 12 iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 12 -store __or_9_884 13 -brif 13 L885 L884 -label L884 +store __or_9_929 13 +brif 13 L930 L929 +label L929 load 17 index_node field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 2 lt 21 19 20 -store __or_9_884 21 -label L885 -load 22 __or_9_884 -brif 22 L882 L883 -label L882 +store __or_9_929 21 +label L930 +load 22 __or_9_929 +brif 22 L927 L928 +label L927 iconst 23 0 load 24 index_node call 25 pith_struct_release void 1 24 load 26 base_node call 27 pith_struct_release void 1 26 ret 23 -label L883 -label L881 +label L928 +label L926 load 28 base_node load 29 index_node field 30 29 16 list children @@ -129248,7 +129549,7 @@ call 33 ast_get_node struct:Node 1 32 call 34 pith_struct_release void 1 28 store base_node 33 iconst 35 0 -store __or_35_889 35 +store __or_35_934 35 load 36 base_node field 37 36 0 string kind strref 38 m46s37 @@ -129256,43 +129557,43 @@ call 40 pith_cstring_eq bool 2 37 38 iconst 41 1 sub 39 41 40 call 42 pith_cstring_release void 1 38 -store __or_35_889 39 -brif 39 L890 L889 -label L889 +store __or_35_934 39 +brif 39 L935 L934 +label L934 load 43 base_node field 44 43 8 string value load 45 member_name call 47 pith_cstring_eq bool 2 44 45 iconst 48 1 sub 46 48 47 -store __or_35_889 46 -label L890 -load 49 __or_35_889 -brif 49 L887 L888 -label L887 +store __or_35_934 46 +label L935 +load 49 __or_35_934 +brif 49 L932 L933 +label L932 iconst 50 0 load 51 index_node call 52 pith_struct_release void 1 51 load 53 base_node call 54 pith_struct_release void 1 53 ret 50 -label L888 -label L886 +label L933 +label L931 load 55 ir_generics_ir_generic_decl_indices load 56 member_name call 57 contains_key bool 2 55 56 iconst 59 1 sub 58 59 57 -brif 58 L892 L893 -label L892 +brif 58 L937 L938 +label L937 iconst 60 0 load 61 index_node call 62 pith_struct_release void 1 61 load 63 base_node call 64 pith_struct_release void 1 63 ret 60 -label L893 -label L891 +label L938 +label L936 load 65 ir_generics_ir_generic_decl_indices load 66 member_name call 67 map_get_strict int 2 65 66 @@ -129325,41 +129626,41 @@ call 6 ir_method_tables_ir_declared_callable_ir_retkind string 1 5 call 7 pith_cstring_release void 1 3 store raw_kind 6 iconst 8 0 -store __or_8_897 8 +store __or_8_942 8 iconst 9 0 -store __or_9_897 9 +store __or_9_942 9 load 10 raw_kind strref 11 m46s23 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_897 12 -brif 12 L898 L897 -label L897 +store __or_9_942 12 +brif 12 L943 L942 +label L942 load 14 raw_kind strref 15 m46s806 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_897 16 -label L898 -load 18 __or_9_897 -store __or_8_897 18 -brif 18 L900 L899 -label L899 +store __or_9_942 16 +label L943 +load 18 __or_9_942 +store __or_8_942 18 +brif 18 L945 L944 +label L944 load 19 raw_kind strref 20 m46s805 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_897 21 -label L900 -load 23 __or_8_897 -brif 23 L895 L896 -label L895 +store __or_8_942 21 +label L945 +load 23 __or_8_942 +brif 23 L940 L941 +label L940 iconst 24 1 load 25 raw_kind call 26 pith_cstring_release void 1 25 ret 24 -label L896 -label L894 +label L941 +label L939 load 27 callee field 28 27 0 string name call 29 ir_metadata_ir_builtin_result_retkind string 1 28 @@ -129409,12 +129710,12 @@ iconst 11 0 store __for_idx_295 11 store __for_len_295 10 store __for_iter_295 9 -label L901 +label L946 load 12 __for_idx_295 load 13 __for_len_295 lt 14 12 13 -brif 14 L902 L904 -label L902 +brif 14 L947 L949 +label L947 load 15 __for_iter_295 load 16 __for_idx_295 call 17 pith_list_get_value unknown 2 15 16 @@ -129424,11 +129725,11 @@ store __loopvar_295_i 18 load 19 __loopvar_295_i load 20 start_idx lt 21 19 20 -brif 21 L906 L907 -label L906 -jmp L903 -label L907 -label L905 +brif 21 L951 L952 +label L951 +jmp L948 +label L952 +label L950 load 22 child_kind load 23 __loopvar_295_child call 24 ast_node_kind string 1 23 @@ -129438,8 +129739,8 @@ load 26 child_kind strref 27 m46s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L909 L910 -label L909 +brif 28 L954 L955 +label L954 load 30 cn load 31 __loopvar_295_child call 32 ast_get_node struct:Node 1 31 @@ -129450,8 +129751,8 @@ field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -brif 38 L912 L913 -label L912 +brif 38 L957 L958 +label L957 load 39 arg_regs load 40 cn field 41 40 16 list children @@ -129459,23 +129760,23 @@ iconst 42 0 call 43 pith_list_get_value_strict int 2 41 42 call 44 ir_emitter_core_ir_expr int 1 43 call 45 pith_list_push_value void 2 39 44 -jmp L911 -label L913 -label L911 -jmp L908 -label L910 +jmp L956 +label L958 +label L956 +jmp L953 +label L955 load 46 arg_regs load 47 __loopvar_295_child call 48 ir_emitter_core_ir_expr int 1 47 call 49 pith_list_push_value void 2 46 48 -label L908 -label L903 +label L953 +label L948 load 50 __for_idx_295 iconst 51 1 add 52 50 51 store __for_idx_295 52 -jmp L901 -label L904 +jmp L946 +label L949 load 53 arg_regs load 54 child_kind call 55 pith_cstring_release void 1 54 @@ -129501,12 +129802,12 @@ iconst 5 0 store __for_idx_296 5 store __for_len_296 4 store __for_iter_296 3 -label L914 +label L959 load 6 __for_idx_296 load 7 __for_len_296 lt 8 6 7 -brif 8 L915 L917 -label L915 +brif 8 L960 L962 +label L960 load 9 __for_iter_296 load 10 __for_idx_296 call 11 pith_list_get_value unknown 2 9 10 @@ -129516,11 +129817,11 @@ store __loopvar_296_i 12 load 13 __loopvar_296_i load 14 skip_pos eq 15 13 14 -brif 15 L919 L920 -label L919 -jmp L916 -label L920 -label L918 +brif 15 L964 L965 +label L964 +jmp L961 +label L965 +label L963 load 16 node load 17 __loopvar_296_i call 18 ir_emitter_core_ir_method_call_arg_expr int 2 16 17 @@ -129528,24 +129829,24 @@ store expr_idx 18 load 19 expr_idx iconst 20 0 gte 21 19 20 -brif 21 L922 L923 -label L922 +brif 21 L967 L968 +label L967 load 22 expr_idx load 23 __loopvar_296_reg load 24 expr_idx call 25 ir_emitter_core_ir_infer_type string 1 24 call 26 ir_emitter_core_ir_release_owned_string_operand void 3 22 23 25 call 27 pith_cstring_release void 1 25 -jmp L921 -label L923 -label L921 -label L916 +jmp L966 +label L968 +label L966 +label L961 load 28 __for_idx_296 iconst 29 1 add 30 28 29 store __for_idx_296 30 -jmp L914 -label L917 +jmp L959 +label L962 iconst 31 0 ret 31 endfunc @@ -129564,12 +129865,12 @@ iconst 8 0 store __for_idx_297 8 store __for_len_297 7 store __for_iter_297 6 -label L924 +label L969 load 9 __for_idx_297 load 10 __for_len_297 lt 11 9 10 -brif 11 L925 L927 -label L925 +brif 11 L970 L972 +label L970 load 12 __for_iter_297 load 13 __for_idx_297 call 14 pith_list_get_value unknown 2 12 13 @@ -129579,23 +129880,23 @@ store __loopvar_297_i 15 load 16 __loopvar_297_i load 17 start_idx lt 18 16 17 -brif 18 L929 L930 -label L929 -jmp L926 -label L930 -label L928 +brif 18 L974 L975 +label L974 +jmp L971 +label L975 +label L973 load 19 reg_i load 20 arg_regs call 21 pith_list_len int 1 20 gte 22 19 21 -brif 22 L932 L933 -label L932 +brif 22 L977 L978 +label L977 load 23 cn call 24 pith_struct_release void 1 23 iconst 25 0 ret 25 -label L933 -label L931 +label L978 +label L976 load 26 __loopvar_297_child store expr_idx 26 load 27 cn @@ -129608,26 +129909,26 @@ field 32 31 0 string kind strref 33 m46s42 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L935 L936 -label L935 +brif 34 L980 L981 +label L980 load 36 cn field 37 36 16 list children call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L938 L939 -label L938 -jmp L926 -label L939 -label L937 +brif 40 L983 L984 +label L983 +jmp L971 +label L984 +label L982 load 41 cn field 42 41 16 list children iconst 43 0 call 44 pith_list_get_value_strict int 2 42 43 store expr_idx 44 -jmp L934 -label L936 -label L934 +jmp L979 +label L981 +label L979 load 45 expr_idx load 46 arg_regs load 47 reg_i @@ -129640,13 +129941,13 @@ load 53 reg_i iconst 54 1 add 55 53 54 store reg_i 55 -label L926 +label L971 load 56 __for_idx_297 iconst 57 1 add 58 56 57 store __for_idx_297 58 -jmp L924 -label L927 +jmp L969 +label L972 load 59 cn call 60 pith_struct_release void 1 59 iconst 61 0 @@ -129659,24 +129960,24 @@ param field_types load 3 ir_struct_registry_ir_struct_names load 4 name call 5 contains_key bool 2 3 4 -brif 5 L941 L942 -label L941 +brif 5 L986 L987 +label L986 iconst 6 0 ret 6 -label L942 -label L940 +label L987 +label L985 load 7 field_names call 8 pith_auto_len int 1 7 iconst 9 0 store __for_idx_298 9 store __for_len_298 8 store __for_iter_298 7 -label L943 +label L988 load 10 __for_idx_298 load 11 __for_len_298 lt 12 10 11 -brif 12 L944 L946 -label L944 +brif 12 L989 L991 +label L989 load 13 __for_iter_298 load 14 __for_idx_298 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -129708,13 +130009,13 @@ load 38 __loopvar_298_i call 39 int_to_string string 1 38 call 40 pith_map_insert_cstr_owned void 3 30 36 39 call 41 pith_cstring_release void 1 36 -label L945 +label L990 load 42 __for_idx_298 iconst 43 1 add 44 42 43 store __for_idx_298 44 -jmp L943 -label L946 +jmp L988 +label L991 load 45 ir_struct_registry_ir_struct_names load 46 name load 47 field_names @@ -129723,40 +130024,40 @@ call 49 map_insert void 3 45 46 48 load 50 ir_emitter_core_ir_local_struct_names load 51 name iconst 52 -1 -store __list_index_result_L950 52 +store __list_index_result_L995 52 iconst 53 0 -store __list_index_i_L951 53 +store __list_index_i_L996 53 call 54 pith_list_len int 1 50 -label L952 -load 55 __list_index_i_L951 +label L997 +load 55 __list_index_i_L996 lt 56 55 54 -brif 56 L953 L956 -label L953 +brif 56 L998 L1001 +label L998 call 57 pith_list_get_value string 2 50 55 call 58 pith_cstring_eq bool 2 57 51 -brif 58 L954 L955 -label L954 -store __list_index_result_L950 55 -jmp L956 -label L955 +brif 58 L999 L1000 +label L999 +store __list_index_result_L995 55 +jmp L1001 +label L1000 iconst 59 1 add 60 55 59 -store __list_index_i_L951 60 -jmp L952 -label L956 -load 61 __list_index_result_L950 +store __list_index_i_L996 60 +jmp L997 +label L1001 +load 61 __list_index_result_L995 iconst 62 0 gte 63 61 62 iconst 65 1 sub 64 65 63 -brif 64 L948 L949 -label L948 +brif 64 L993 L994 +label L993 load 66 ir_emitter_core_ir_local_struct_names load 67 name call 68 pith_list_push_value void 2 66 67 -jmp L947 -label L949 -label L947 +jmp L992 +label L994 +label L992 strref 69 m46s1289 load 70 name concat 71 69 70 @@ -129781,45 +130082,45 @@ func ir_emitter_core_ir_substitute_type_name 1 string param name iconst 1 0 store i 1 -label L957 +label L1002 load 2 i load 3 ir_emitter_core_ir_current_impl_subst_params call 4 pith_list_len int 1 3 lt 5 2 4 -brif 5 L958 L959 -label L958 +brif 5 L1003 L1004 +label L1003 iconst 6 0 -store __and_6_963 6 +store __and_6_1008 6 load 7 ir_emitter_core_ir_current_impl_subst_params load 8 i call 9 pith_list_get_value_strict string 2 7 8 load 10 name call 11 pith_cstring_eq bool 2 9 10 -store __and_6_963 11 -brif 11 L963 L964 -label L963 +store __and_6_1008 11 +brif 11 L1008 L1009 +label L1008 load 12 i load 13 ir_emitter_core_ir_current_impl_subst_args call 14 pith_list_len int 1 13 lt 15 12 14 -store __and_6_963 15 -label L964 -load 16 __and_6_963 -brif 16 L961 L962 -label L961 +store __and_6_1008 15 +label L1009 +load 16 __and_6_1008 +brif 16 L1006 L1007 +label L1006 load 17 ir_emitter_core_ir_current_impl_subst_args load 18 i call 19 pith_list_get_value_strict string 2 17 18 call 20 pith_cstring_retain void 1 19 ret 19 -label L962 -label L960 +label L1007 +label L1005 load 21 i iconst 22 1 add 23 21 22 store i 23 -jmp L957 -label L959 +jmp L1002 +label L1004 load 24 name call 25 pith_cstring_retain void 1 24 ret 24 @@ -129845,12 +130146,12 @@ iconst 10 0 store __for_idx_299 10 store __for_len_299 9 store __for_iter_299 8 -label L965 +label L1010 load 11 __for_idx_299 load 12 __for_len_299 lt 13 11 12 -brif 13 L966 L968 -label L966 +brif 13 L1011 L1013 +label L1011 load 14 __for_iter_299 load 15 __for_idx_299 call 16 pith_list_get_value unknown 2 14 15 @@ -129865,23 +130166,23 @@ field 22 21 0 string kind strref 23 m46s328 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -brif 24 L970 L971 -label L970 +brif 24 L1015 L1016 +label L1015 load 26 impl_type load 27 child_node field 28 27 8 string value call 29 pith_cstring_retain void 1 28 call 30 pith_cstring_release void 1 26 store impl_type 28 -jmp L969 -label L971 +jmp L1014 +label L1016 load 31 child_node field 32 31 0 string kind strref 33 m46s586 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L972 L973 -label L972 +brif 34 L1017 L1018 +label L1017 load 36 child_node field 37 36 16 list children call 38 pith_auto_len int 1 37 @@ -129889,12 +130190,12 @@ iconst 39 0 store __for_idx_300 39 store __for_len_300 38 store __for_iter_300 37 -label L974 +label L1019 load 40 __for_idx_300 load 41 __for_len_300 lt 42 40 41 -brif 42 L975 L977 -label L975 +brif 42 L1020 L1022 +label L1020 load 43 __for_iter_300 load 44 __for_idx_300 call 45 pith_list_get_value unknown 2 43 44 @@ -129909,61 +130210,61 @@ field 51 50 0 string kind strref 52 m46s328 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -brif 53 L979 L980 -label L979 +brif 53 L1024 L1025 +label L1024 load 55 impl_type load 56 type_child field 57 56 8 string value call 58 pith_cstring_retain void 1 57 call 59 pith_cstring_release void 1 55 store impl_type 57 -jmp L978 -label L980 -label L978 -label L976 +jmp L1023 +label L1025 +label L1023 +label L1021 load 60 __for_idx_300 iconst 61 1 add 62 60 61 store __for_idx_300 62 -jmp L974 -label L977 -jmp L969 -label L973 +jmp L1019 +label L1022 +jmp L1014 +label L1018 iconst 63 0 -store __and_63_983 63 +store __and_63_1028 63 load 64 child_node field 65 64 0 string kind strref 66 m46s327 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __and_63_983 67 -brif 67 L983 L984 -label L983 +store __and_63_1028 67 +brif 67 L1028 L1029 +label L1028 load 69 impl_type strref 70 m46s82 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 -store __and_63_983 71 -label L984 -load 73 __and_63_983 -brif 73 L981 L982 -label L981 +store __and_63_1028 71 +label L1029 +load 73 __and_63_1028 +brif 73 L1026 L1027 +label L1026 load 74 impl_type load 75 child_node field 76 75 8 string value call 77 pith_cstring_retain void 1 76 call 78 pith_cstring_release void 1 74 store impl_type 76 -jmp L969 -label L982 -label L969 -label L967 +jmp L1014 +label L1027 +label L1014 +label L1012 load 79 __for_idx_299 iconst 80 1 add 81 79 80 store __for_idx_299 81 -jmp L965 -label L968 +jmp L1010 +label L1013 load 82 impl_type load 83 child_node call 84 pith_struct_release void 1 83 @@ -129998,12 +130299,12 @@ iconst 10 0 store __for_idx_301 10 store __for_len_301 9 store __for_iter_301 8 -label L985 +label L1030 load 11 __for_idx_301 load 12 __for_len_301 lt 13 11 12 -brif 13 L986 L988 -label L986 +brif 13 L1031 L1033 +label L1031 load 14 __for_iter_301 load 15 __for_idx_301 call 16 pith_list_get_value unknown 2 14 15 @@ -130014,91 +130315,91 @@ call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 17 store cn 19 iconst 21 0 -store __and_21_992 21 +store __and_21_1037 21 load 22 cn field 23 22 0 string kind strref 24 m46s328 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_992 25 -brif 25 L992 L993 -label L992 +store __and_21_1037 25 +brif 25 L1037 L1038 +label L1037 load 27 first_type strref 28 m46s82 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __and_21_992 29 -label L993 -load 31 __and_21_992 -brif 31 L990 L991 -label L990 +store __and_21_1037 29 +label L1038 +load 31 __and_21_1037 +brif 31 L1035 L1036 +label L1035 load 32 first_type load 33 cn field 34 33 8 string value call 35 pith_cstring_retain void 1 34 call 36 pith_cstring_release void 1 32 store first_type 34 -jmp L989 -label L991 +jmp L1034 +label L1036 iconst 37 0 -store __and_37_996 37 +store __and_37_1041 37 load 38 cn field 39 38 0 string kind strref 40 m46s327 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __and_37_996 41 -brif 41 L996 L997 -label L996 +store __and_37_1041 41 +brif 41 L1041 L1042 +label L1041 load 43 first_type strref 44 m46s82 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_37_996 45 -label L997 -load 47 __and_37_996 -brif 47 L994 L995 -label L994 +store __and_37_1041 45 +label L1042 +load 47 __and_37_1041 +brif 47 L1039 L1040 +label L1039 load 48 first_type load 49 cn field 50 49 8 string value call 51 pith_cstring_retain void 1 50 call 52 pith_cstring_release void 1 48 store first_type 50 -jmp L989 -label L995 +jmp L1034 +label L1040 load 53 cn field 54 53 0 string kind strref 55 m46s586 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L998 L999 -label L998 +brif 56 L1043 L1044 +label L1043 iconst 58 1 store has_for 58 -jmp L989 -label L999 -label L989 -label L987 +jmp L1034 +label L1044 +label L1034 +label L1032 load 59 __for_idx_301 iconst 60 1 add 61 59 60 store __for_idx_301 61 -jmp L985 -label L988 +jmp L1030 +label L1033 load 62 has_for iconst 63 0 eq 64 62 63 -brif 64 L1001 L1002 -label L1001 +brif 64 L1046 L1047 +label L1046 strref 65 m46s82 load 66 first_type call 67 pith_cstring_release void 1 66 load 68 cn call 69 pith_struct_release void 1 68 ret 65 -label L1002 -label L1000 +label L1047 +label L1045 load 70 first_type call 71 ir_method_tables_ir_strip_type_args string 1 70 load 72 first_type @@ -130125,12 +130426,12 @@ iconst 6 0 store __for_idx_302 6 store __for_len_302 5 store __for_iter_302 4 -label L1003 +label L1048 load 7 __for_idx_302 load 8 __for_len_302 lt 9 7 8 -brif 9 L1004 L1006 -label L1004 +brif 9 L1049 L1051 +label L1049 load 10 __for_iter_302 load 11 __for_idx_302 call 12 pith_list_get_value unknown 2 10 11 @@ -130142,35 +130443,35 @@ call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 13 store mn 16 iconst 18 0 -store __and_18_1010 18 +store __and_18_1055 18 load 19 mn field 20 19 0 string kind call 21 ir_generics_ir_is_fn_decl_kind bool 1 20 -store __and_18_1010 21 -brif 21 L1010 L1011 -label L1010 +store __and_18_1055 21 +brif 21 L1055 L1056 +label L1055 load 22 mn field 23 22 8 string value load 24 method_name call 25 pith_cstring_eq bool 2 23 24 -store __and_18_1010 25 -label L1011 -load 26 __and_18_1010 -brif 26 L1008 L1009 -label L1008 +store __and_18_1055 25 +label L1056 +load 26 __and_18_1055 +brif 26 L1053 L1054 +label L1053 iconst 27 1 load 28 mn call 29 pith_struct_release void 1 28 ret 27 -label L1009 -label L1007 -label L1005 +label L1054 +label L1052 +label L1050 load 30 __for_idx_302 iconst 31 1 add 32 30 31 store __for_idx_302 32 -jmp L1003 -label L1006 +jmp L1048 +label L1051 iconst 33 0 load 34 mn call 35 pith_struct_release void 1 34 @@ -130203,8 +130504,8 @@ load 12 iface_base call 13 string_len int 1 12 iconst 14 0 eq 15 13 14 -brif 15 L1013 L1014 -label L1013 +brif 15 L1058 L1059 +label L1058 load 16 result load 17 iface_base call 18 pith_cstring_release void 1 17 @@ -130213,15 +130514,15 @@ call 20 pith_struct_release void 1 19 load 21 mn call 22 pith_struct_release void 1 21 ret 16 -label L1014 -label L1012 +label L1059 +label L1057 load 23 ir_method_tables_ir_interface_decl_index load 24 iface_base call 25 contains_key bool 2 23 24 iconst 26 0 eq 27 25 26 -brif 27 L1016 L1017 -label L1016 +brif 27 L1061 L1062 +label L1061 load 28 result load 29 iface_base call 30 pith_cstring_release void 1 29 @@ -130230,8 +130531,8 @@ call 32 pith_struct_release void 1 31 load 33 mn call 34 pith_struct_release void 1 33 ret 28 -label L1017 -label L1015 +label L1062 +label L1060 load 35 iface_node load 36 ir_method_tables_ir_interface_decl_index load 37 iface_base @@ -130246,12 +130547,12 @@ iconst 44 0 store __for_idx_303 44 store __for_len_303 43 store __for_iter_303 42 -label L1018 +label L1063 load 45 __for_idx_303 load 46 __for_len_303 lt 47 45 46 -brif 47 L1019 L1021 -label L1019 +brif 47 L1064 L1066 +label L1064 load 48 __for_iter_303 load 49 __for_idx_303 call 50 pith_list_get_value unknown 2 48 49 @@ -130264,32 +130565,32 @@ store mn 53 load 55 mn field 56 55 0 string kind call 57 ir_generics_ir_is_fn_decl_kind bool 1 56 -brif 57 L1023 L1024 -label L1023 +brif 57 L1068 L1069 +label L1068 load 58 node load 59 mn field 60 59 8 string value call 61 ir_emitter_core_ir_impl_defines_method bool 2 58 60 iconst 62 0 eq 63 61 62 -brif 63 L1026 L1027 -label L1026 +brif 63 L1071 L1072 +label L1071 load 64 result load 65 __loopvar_303_member call 66 pith_list_push_value void 2 64 65 -jmp L1025 -label L1027 -label L1025 -jmp L1022 -label L1024 -label L1022 -label L1020 +jmp L1070 +label L1072 +label L1070 +jmp L1067 +label L1069 +label L1067 +label L1065 load 67 __for_idx_303 iconst 68 1 add 69 67 68 store __for_idx_303 69 -jmp L1018 -label L1021 +jmp L1063 +label L1066 load 70 result load 71 iface_base call 72 pith_cstring_release void 1 71 @@ -130326,12 +130627,12 @@ iconst 8 0 store __for_idx_304 8 store __for_len_304 7 store __for_iter_304 6 -label L1028 +label L1073 load 9 __for_idx_304 load 10 __for_len_304 lt 11 9 10 -brif 11 L1029 L1031 -label L1029 +brif 11 L1074 L1076 +label L1074 load 12 __for_iter_304 load 13 __for_idx_304 call 14 pith_list_get_value unknown 2 12 13 @@ -130348,24 +130649,24 @@ field 21 20 0 string kind strref 22 m46s577 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L1033 L1034 -label L1033 +brif 23 L1078 L1079 +label L1078 load 25 node field 26 25 16 list children iconst 27 0 call 28 pith_list_get_value_strict int 2 26 27 call 29 ast_get_node struct:Node 1 28 store actual 29 -jmp L1032 -label L1034 -label L1032 +jmp L1077 +label L1079 +label L1077 load 30 actual field 31 30 0 string kind strref 32 m46s588 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L1036 L1037 -label L1036 +brif 33 L1081 L1082 +label L1081 load 35 impl_type load 36 actual call 37 ir_emitter_core_ir_impl_target_type string 1 36 @@ -130375,8 +130676,8 @@ load 39 impl_type call 40 string_len int 1 39 iconst 41 0 gt 42 40 41 -brif 42 L1039 L1040 -label L1039 +brif 42 L1084 L1085 +label L1084 load 43 names call 44 pith_list_new_cstr list 0 call 45 pith_list_release_handle void 1 43 @@ -130388,12 +130689,12 @@ iconst 49 0 store __for_idx_305 49 store __for_len_305 48 store __for_iter_305 47 -label L1041 +label L1086 load 50 __for_idx_305 load 51 __for_len_305 lt 52 50 51 -brif 52 L1042 L1044 -label L1042 +brif 52 L1087 L1089 +label L1087 load 53 __for_iter_305 load 54 __for_idx_305 call 55 pith_list_get_value unknown 2 53 54 @@ -130408,8 +130709,8 @@ field 61 60 0 string kind strref 62 m46s585 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L1046 L1047 -label L1046 +brif 63 L1091 L1092 +label L1091 load 65 ir_method_tables_ir_assoc_bindings load 66 impl_type strref 67 m46s26 @@ -130430,22 +130731,22 @@ load 81 names load 82 cn field 83 82 8 string value call 84 pith_list_push_value void 2 81 83 -jmp L1045 -label L1047 -label L1045 -label L1043 +jmp L1090 +label L1092 +label L1090 +label L1088 load 85 __for_idx_305 iconst 86 1 add 87 85 86 store __for_idx_305 87 -jmp L1041 -label L1044 +jmp L1086 +label L1089 load 88 names call 89 pith_list_len int 1 88 iconst 90 0 gt 91 89 90 -brif 91 L1049 L1050 -label L1049 +brif 91 L1094 L1095 +label L1094 load 92 ir_method_tables_ir_type_assoc_names load 93 impl_type load 94 names @@ -130453,22 +130754,22 @@ strref 95 m46s307 call 96 list_join string 2 94 95 call 97 pith_cstring_release void 1 95 call 98 pith_map_insert_cstr_owned void 3 92 93 96 -jmp L1048 -label L1050 -label L1048 -jmp L1038 -label L1040 -label L1038 -jmp L1035 -label L1037 -label L1035 -label L1030 +jmp L1093 +label L1095 +label L1093 +jmp L1083 +label L1085 +label L1083 +jmp L1080 +label L1082 +label L1080 +label L1075 load 99 __for_idx_304 iconst 100 1 add 101 99 100 store __for_idx_304 101 -jmp L1028 -label L1031 +jmp L1073 +label L1076 load 102 __for_iter_304 call 103 pith_list_release_handle void 1 102 load 104 node @@ -130495,12 +130796,12 @@ iconst 6 0 store __for_idx_306 6 store __for_len_306 5 store __for_iter_306 4 -label L1051 +label L1096 load 7 __for_idx_306 load 8 __for_len_306 lt 9 7 8 -brif 9 L1052 L1054 -label L1052 +brif 9 L1097 L1099 +label L1097 load 10 __for_iter_306 load 11 __for_idx_306 call 12 pith_list_get_value unknown 2 10 11 @@ -130517,16 +130818,16 @@ field 19 18 0 string kind strref 20 m46s577 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L1056 L1057 -label L1056 +brif 21 L1101 L1102 +label L1101 load 23 node field 24 23 16 list children iconst 25 0 call 26 pith_list_get_value_strict int 2 24 25 store actual_idx 26 -jmp L1055 -label L1057 -label L1055 +jmp L1100 +label L1102 +label L1100 load 27 actual load 28 actual_idx call 29 ast_get_node struct:Node 1 28 @@ -130537,23 +130838,23 @@ field 32 31 0 string kind strref 33 m46s604 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1059 L1060 -label L1059 +brif 34 L1104 L1105 +label L1104 load 36 ir_method_tables_ir_interface_decl_index load 37 actual field 38 37 8 string value load 39 actual_idx call 40 map_insert void 3 36 38 39 -jmp L1058 -label L1060 -label L1058 -label L1053 +jmp L1103 +label L1105 +label L1103 +label L1098 load 41 __for_idx_306 iconst 42 1 add 43 41 42 store __for_idx_306 43 -jmp L1051 -label L1054 +jmp L1096 +label L1099 load 44 __for_iter_306 call 45 pith_list_release_handle void 1 44 load 46 node @@ -130578,12 +130879,12 @@ iconst 9 0 store __for_idx_307 9 store __for_len_307 8 store __for_iter_307 7 -label L1061 +label L1106 load 10 __for_idx_307 load 11 __for_len_307 lt 12 10 11 -brif 12 L1062 L1064 -label L1062 +brif 12 L1107 L1109 +label L1107 load 13 __for_iter_307 load 14 __for_idx_307 call 15 pith_list_get_value unknown 2 13 14 @@ -130601,21 +130902,21 @@ field 23 22 0 string kind strref 24 m46s576 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L1066 L1067 -label L1066 +brif 25 L1111 L1112 +label L1111 load 27 method_idx load 28 impl_type call 29 ir_emitter_core_ir_impl_func void 2 27 28 -jmp L1065 -label L1067 -label L1065 -label L1063 +jmp L1110 +label L1112 +label L1110 +label L1108 load 30 __for_idx_307 iconst 31 1 add 32 30 31 store __for_idx_307 32 -jmp L1061 -label L1064 +jmp L1106 +label L1109 load 33 node call 34 ir_emitter_core_ir_inherited_default_indices list 1 33 call 35 pith_auto_len int 1 34 @@ -130623,12 +130924,12 @@ iconst 36 0 store __for_idx_308 36 store __for_len_308 35 store __for_iter_308 34 -label L1068 +label L1113 load 37 __for_idx_308 load 38 __for_len_308 lt 39 37 38 -brif 39 L1069 L1071 -label L1069 +brif 39 L1114 L1116 +label L1114 load 40 __for_iter_308 load 41 __for_idx_308 call 42 pith_list_get_value unknown 2 40 41 @@ -130636,13 +130937,13 @@ store __loopvar_308_default_idx 42 load 43 __loopvar_308_default_idx load 44 impl_type call 45 ir_emitter_core_ir_impl_func void 2 43 44 -label L1070 +label L1115 load 46 __for_idx_308 iconst 47 1 add 48 46 47 store __for_idx_308 48 -jmp L1068 -label L1071 +jmp L1113 +label L1116 load 49 __for_iter_308 call 50 pith_list_release_handle void 1 49 load 51 child_node @@ -130671,8 +130972,8 @@ load 9 impl_type call 10 checker_has_generic_declaration bool 1 9 iconst 12 1 sub 11 12 10 -brif 11 L1073 L1074 -label L1073 +brif 11 L1118 L1119 +label L1118 load 13 sdecl call 14 pith_struct_release void 1 13 load 15 struct_params @@ -130689,8 +130990,8 @@ load 25 child_node call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L1074 -label L1072 +label L1119 +label L1117 load 28 sdecl load 29 impl_type call 30 checker_get_generic_declaration_index int 1 29 @@ -130706,8 +131007,8 @@ load 37 struct_params call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L1076 L1077 -label L1076 +brif 40 L1121 L1122 +label L1121 load 41 sdecl call 42 pith_struct_release void 1 41 load 43 struct_params @@ -130724,8 +131025,8 @@ load 53 child_node call 54 pith_struct_release void 1 53 iconst 55 0 ret 55 -label L1077 -label L1075 +label L1122 +label L1120 load 56 instance_tids load 57 checker_struct_instance_tids call 58 pith_list_retain_handle void 1 57 @@ -130737,12 +131038,12 @@ iconst 62 0 store __for_idx_309 62 store __for_len_309 61 store __for_iter_309 60 -label L1078 +label L1123 load 63 __for_idx_309 load 64 __for_len_309 lt 65 63 64 -brif 65 L1079 L1081 -label L1079 +brif 65 L1124 L1126 +label L1124 load 66 __for_iter_309 load 67 __for_idx_309 call 68 pith_list_get_value unknown 2 66 67 @@ -130754,21 +131055,21 @@ load 72 impl_type call 74 pith_cstring_eq bool 2 71 72 iconst 75 1 sub 73 75 74 -brif 73 L1083 L1084 -label L1083 -jmp L1080 -label L1084 -label L1082 +brif 73 L1128 L1129 +label L1128 +jmp L1125 +label L1129 +label L1127 load 76 checker_struct_instance_type_args load 77 __loopvar_309_inst_tid call 78 map_contains_ikey bool 2 76 77 iconst 80 1 sub 79 80 78 -brif 79 L1086 L1087 -label L1086 -jmp L1080 -label L1087 -label L1085 +brif 79 L1131 L1132 +label L1131 +jmp L1125 +label L1132 +label L1130 load 81 arg_tids load 82 checker_struct_instance_type_args load 83 __loopvar_309_inst_tid @@ -130786,12 +131087,12 @@ iconst 92 0 store __for_idx_310 92 store __for_len_310 91 store __for_iter_310 90 -label L1088 +label L1133 load 93 __for_idx_310 load 94 __for_len_310 lt 95 93 94 -brif 95 L1089 L1091 -label L1089 +brif 95 L1134 L1136 +label L1134 load 96 __for_iter_310 load 97 __for_idx_310 call 98 pith_list_get_value unknown 2 96 97 @@ -130800,13 +131101,13 @@ load 99 arg_names load 100 __loopvar_310_at call 101 ir_type_helpers_ir_type_from_tid string 1 100 call 102 pith_list_push_value_owned void 2 99 101 -label L1090 +label L1135 load 103 __for_idx_310 iconst 104 1 add 105 103 104 store __for_idx_310 105 -jmp L1088 -label L1091 +jmp L1133 +label L1136 load 106 instance_type_name load 107 __loopvar_309_inst_tid call 108 types_get_type_name string 1 107 @@ -130819,12 +131120,12 @@ iconst 113 0 store __for_idx_311 113 store __for_len_311 112 store __for_iter_311 111 -label L1092 +label L1137 load 114 __for_idx_311 load 115 __for_len_311 lt 116 114 115 -brif 116 L1093 L1095 -label L1093 +brif 116 L1138 L1140 +label L1138 load 117 __for_iter_311 load 118 __for_idx_311 call 119 pith_list_get_value unknown 2 117 118 @@ -130842,31 +131143,31 @@ field 127 126 0 string kind strref 128 m46s576 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -brif 129 L1097 L1098 -label L1097 +brif 129 L1142 L1143 +label L1142 load 131 method_idx load 132 impl_type load 133 instance_type_name load 134 struct_params load 135 arg_names call 136 ir_emitter_core_ir_impl_func_specialized void 5 131 132 133 134 135 -jmp L1096 -label L1098 -label L1096 -label L1094 +jmp L1141 +label L1143 +label L1141 +label L1139 load 137 __for_idx_311 iconst 138 1 add 139 137 138 store __for_idx_311 139 -jmp L1092 -label L1095 -label L1080 +jmp L1137 +label L1140 +label L1125 load 140 __for_idx_309 iconst 141 1 add 142 140 141 store __for_idx_309 142 -jmp L1078 -label L1081 +jmp L1123 +label L1126 load 143 sdecl call 144 pith_struct_release void 1 143 load 145 struct_params @@ -130931,12 +131232,12 @@ iconst 29 0 store __for_idx_312 29 store __for_len_312 28 store __for_iter_312 27 -label L1099 +label L1144 load 30 __for_idx_312 load 31 __for_len_312 lt 32 30 31 -brif 32 L1100 L1102 -label L1100 +brif 32 L1145 L1147 +label L1145 load 33 __for_iter_312 load 34 __for_idx_312 call 35 pith_list_get_value_unchecked string 2 33 34 @@ -130953,13 +131254,13 @@ call 44 pith_cstring_release void 1 39 call 45 pith_cstring_release void 1 42 call 46 pith_cstring_release void 1 36 store suffix 43 -label L1101 +label L1146 load 47 __for_idx_312 iconst 48 1 add 49 47 48 store __for_idx_312 49 -jmp L1099 -label L1102 +jmp L1144 +label L1147 load 50 full_name load 51 base_impl_type load 52 suffix @@ -130982,8 +131283,8 @@ store method_key 65 load 67 ir_method_tables_ir_impl_methods load 68 method_key call 69 contains_key bool 2 67 68 -brif 69 L1104 L1105 -label L1104 +brif 69 L1149 L1150 +label L1149 load 70 node call 71 pith_struct_release void 1 70 load 72 orig_name @@ -131006,8 +131307,8 @@ load 88 ret_type call 89 pith_cstring_release void 1 88 iconst 90 0 ret 90 -label L1105 -label L1103 +label L1150 +label L1148 load 91 ir_method_tables_ir_impl_methods load 92 method_key load 93 full_name @@ -131036,8 +131337,8 @@ store prefixed_full 110 load 113 ir_method_tables_ir_impl_methods load 114 base_key call 115 contains_key bool 2 113 114 -brif 115 L1107 L1108 -label L1107 +brif 115 L1152 L1153 +label L1152 load 116 base_sym load 117 ir_method_tables_ir_impl_methods load 118 base_key @@ -131046,23 +131347,23 @@ call 120 pith_cstring_retain void 1 119 call 121 pith_cstring_release void 1 116 store base_sym 119 iconst 122 0 -store __and_122_1112 122 +store __and_122_1157 122 load 123 base_sym call 124 string_len int 1 123 load 125 expected_base_sym call 126 string_len int 1 125 gt 127 124 126 -store __and_122_1112 127 -brif 127 L1112 L1113 -label L1112 +store __and_122_1157 127 +brif 127 L1157 L1158 +label L1157 load 128 base_sym load 129 expected_base_sym call 130 pith_cstring_ends_with bool 2 128 129 -store __and_122_1112 130 -label L1113 -load 131 __and_122_1112 -brif 131 L1110 L1111 -label L1110 +store __and_122_1157 130 +label L1158 +load 131 __and_122_1157 +brif 131 L1155 L1156 +label L1155 load 132 base_sym call 133 string_len int 1 132 load 134 expected_base_sym @@ -131079,12 +131380,12 @@ concat 143 141 142 call 144 pith_cstring_release void 1 141 call 145 pith_cstring_release void 1 137 store prefixed_full 143 -jmp L1109 -label L1111 -label L1109 -jmp L1106 -label L1108 -label L1106 +jmp L1154 +label L1156 +label L1154 +jmp L1151 +label L1153 +label L1151 load 146 ir_method_tables_ir_impl_method_specializations load 147 method_key load 148 prefixed_full @@ -131183,8 +131484,8 @@ field 2 1 8 string value strref 3 m46s335 call 4 pith_cstring_contains bool 2 2 3 call 5 pith_cstring_release void 1 3 -brif 4 L1115 L1116 -label L1115 +brif 4 L1160 L1161 +label L1160 load 6 node field 7 6 8 string value iconst 8 0 @@ -131195,8 +131496,8 @@ call 12 pith_cstring_index_of int 2 10 11 call 13 pith_cstring_release void 1 11 call 14 pith_cstring_substring string 3 7 8 12 ret 14 -label L1116 -label L1114 +label L1161 +label L1159 load 15 node field 16 15 8 string value call 17 pith_cstring_retain void 1 16 @@ -131235,8 +131536,8 @@ field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 gt 23 21 22 -brif 23 L1118 L1119 -label L1118 +brif 23 L1163 L1164 +label L1163 load 24 type_node load 25 field_node field 26 25 16 list children @@ -131246,51 +131547,51 @@ call 29 ast_get_node struct:Node 1 28 call 30 pith_struct_release void 1 24 store type_node 29 iconst 31 0 -store __or_31_1123 31 +store __or_31_1168 31 iconst 32 0 -store __or_32_1123 32 +store __or_32_1168 32 iconst 33 0 -store __or_33_1123 33 +store __or_33_1168 33 load 34 type_node field 35 34 0 string kind strref 36 m46s328 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_33_1123 37 -brif 37 L1124 L1123 -label L1123 +store __or_33_1168 37 +brif 37 L1169 L1168 +label L1168 load 39 type_node field 40 39 0 string kind strref 41 m46s327 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_33_1123 42 -label L1124 -load 44 __or_33_1123 -store __or_32_1123 44 -brif 44 L1126 L1125 -label L1125 +store __or_33_1168 42 +label L1169 +load 44 __or_33_1168 +store __or_32_1168 44 +brif 44 L1171 L1170 +label L1170 load 45 type_node field 46 45 0 string kind strref 47 m46s321 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __or_32_1123 48 -label L1126 -load 50 __or_32_1123 -store __or_31_1123 50 -brif 50 L1128 L1127 -label L1127 +store __or_32_1168 48 +label L1171 +load 50 __or_32_1168 +store __or_31_1168 50 +brif 50 L1173 L1172 +label L1172 load 51 type_node field 52 51 0 string kind strref 53 m46s318 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_31_1123 54 -label L1128 -load 56 __or_31_1123 -brif 56 L1121 L1122 -label L1121 +store __or_31_1168 54 +label L1173 +load 56 __or_31_1168 +brif 56 L1166 L1167 +label L1166 load 57 ir_struct_registry_ir_struct_field_lookup load 58 struct_name strref 59 m46s26 @@ -131306,16 +131607,16 @@ call 68 pith_list_get_value_strict int 2 66 67 call 69 ir_alias_registry_ir_resolve_type_node string 1 68 call 70 pith_map_insert_cstr_owned void 3 57 63 69 call 71 pith_cstring_release void 1 63 -jmp L1120 -label L1122 -label L1120 +jmp L1165 +label L1167 +label L1165 load 72 field_node field 73 72 16 list children call 74 pith_list_len int 1 73 iconst 75 1 gt 76 74 75 -brif 76 L1130 L1131 -label L1130 +brif 76 L1175 L1176 +label L1175 load 77 ir_struct_registry_ir_struct_field_default_nodes load 78 struct_name strref 79 m46s26 @@ -131330,12 +131631,12 @@ iconst 87 1 call 88 pith_list_get_value_strict int 2 86 87 call 89 map_insert void 3 77 83 88 call 90 pith_cstring_release void 1 83 -jmp L1129 -label L1131 -label L1129 -jmp L1117 -label L1119 -label L1117 +jmp L1174 +label L1176 +label L1174 +jmp L1162 +label L1164 +label L1162 load 91 ir_struct_registry_ir_struct_field_index_lookup load 92 struct_name strref 93 m46s26 @@ -131393,12 +131694,12 @@ iconst 20 0 store __for_idx_313 20 store __for_len_313 19 store __for_iter_313 18 -label L1132 +label L1177 load 21 __for_idx_313 load 22 __for_len_313 lt 23 21 22 -brif 23 L1133 L1135 -label L1133 +brif 23 L1178 L1180 +label L1178 load 24 __for_iter_313 load 25 __for_idx_313 call 26 pith_list_get_value unknown 2 24 25 @@ -131413,8 +131714,8 @@ field 32 31 0 string kind strref 33 m46s29 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1137 L1138 -label L1137 +brif 34 L1182 L1183 +label L1182 load 36 field_names load 37 sname load 38 field_names @@ -131422,61 +131723,61 @@ load 39 field_node call 40 ir_emitter_core_ir_record_struct_field list_string 3 37 38 39 call 41 pith_list_release_handle void 1 36 store field_names 40 -jmp L1136 -label L1138 -label L1136 -label L1134 +jmp L1181 +label L1183 +label L1181 +label L1179 load 42 __for_idx_313 iconst 43 1 add 44 42 43 store __for_idx_313 44 -jmp L1132 -label L1135 +jmp L1177 +label L1180 load 45 ir_struct_registry_ir_struct_names load 46 sname load 47 field_names call 48 pith_list_len int 1 47 call 49 map_insert void 3 45 46 48 load 50 emit_decl -brif 50 L1140 L1141 -label L1140 +brif 50 L1185 L1186 +label L1185 load 51 ir_emitter_core_ir_local_struct_names load 52 sname iconst 53 -1 -store __list_index_result_L1145 53 +store __list_index_result_L1190 53 iconst 54 0 -store __list_index_i_L1146 54 +store __list_index_i_L1191 54 call 55 pith_list_len int 1 51 -label L1147 -load 56 __list_index_i_L1146 +label L1192 +load 56 __list_index_i_L1191 lt 57 56 55 -brif 57 L1148 L1151 -label L1148 +brif 57 L1193 L1196 +label L1193 call 58 pith_list_get_value string 2 51 56 call 59 pith_cstring_eq bool 2 58 52 -brif 59 L1149 L1150 -label L1149 -store __list_index_result_L1145 56 -jmp L1151 -label L1150 +brif 59 L1194 L1195 +label L1194 +store __list_index_result_L1190 56 +jmp L1196 +label L1195 iconst 60 1 add 61 56 60 -store __list_index_i_L1146 61 -jmp L1147 -label L1151 -load 62 __list_index_result_L1145 +store __list_index_i_L1191 61 +jmp L1192 +label L1196 +load 62 __list_index_result_L1190 iconst 63 0 gte 64 62 63 iconst 66 1 sub 65 66 64 -brif 65 L1143 L1144 -label L1143 +brif 65 L1188 L1189 +label L1188 load 67 ir_emitter_core_ir_local_struct_names load 68 sname call 69 pith_list_push_value void 2 67 68 -jmp L1142 -label L1144 -label L1142 +jmp L1187 +label L1189 +label L1187 strref 70 m46s1289 load 71 sname concat 72 70 71 @@ -131494,9 +131795,9 @@ call 83 pith_cstring_release void 1 75 call 84 pith_cstring_release void 1 80 call 85 ir_builder_ir_emit void 1 82 call 86 pith_cstring_release void 1 82 -jmp L1139 -label L1141 -label L1139 +jmp L1184 +label L1186 +label L1184 load 87 sname call 88 pith_cstring_release void 1 87 load 89 field_names @@ -131536,12 +131837,12 @@ iconst 18 0 store __for_idx_314 18 store __for_len_314 17 store __for_iter_314 16 -label L1152 +label L1197 load 19 __for_idx_314 load 20 __for_len_314 lt 21 19 20 -brif 21 L1153 L1155 -label L1153 +brif 21 L1198 L1200 +label L1198 load 22 __for_iter_314 load 23 __for_idx_314 call 24 pith_list_get_value unknown 2 22 23 @@ -131556,8 +131857,8 @@ field 30 29 0 string kind strref 31 m46s25 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L1157 L1158 -label L1157 +brif 32 L1202 L1203 +label L1202 load 34 variant_names call 35 pith_list_len int 1 34 store variant_index 35 @@ -131595,8 +131896,8 @@ field 66 65 16 list children call 67 pith_list_len int 1 66 iconst 68 0 gt 69 67 68 -brif 69 L1160 L1161 -label L1160 +brif 69 L1205 L1206 +label L1205 load 70 kinds call 71 pith_list_new_cstr list 0 call 72 pith_list_release_handle void 1 70 @@ -131608,12 +131909,12 @@ iconst 76 0 store __for_idx_315 76 store __for_len_315 75 store __for_iter_315 74 -label L1162 +label L1207 load 77 __for_idx_315 load 78 __for_len_315 lt 79 77 78 -brif 79 L1163 L1165 -label L1163 +brif 79 L1208 L1210 +label L1208 load 80 __for_iter_315 load 81 __for_idx_315 call 82 pith_list_get_value unknown 2 80 81 @@ -131627,25 +131928,25 @@ load 87 kind call 88 string_len int 1 87 iconst 89 0 eq 90 88 89 -brif 90 L1167 L1168 -label L1167 +brif 90 L1212 L1213 +label L1212 load 91 kind strref 92 m46s822 call 93 pith_cstring_release void 1 91 store kind 92 -jmp L1166 -label L1168 -label L1166 +jmp L1211 +label L1213 +label L1211 load 94 kinds load 95 kind call 96 pith_list_push_value void 2 94 95 -label L1164 +label L1209 load 97 __for_idx_315 iconst 98 1 add 99 97 98 store __for_idx_315 99 -jmp L1162 -label L1165 +jmp L1207 +label L1210 load 100 ir_struct_registry_ir_enum_payload_kinds load 101 sname strref 102 m46s26 @@ -131665,19 +131966,19 @@ load 115 ir_struct_registry_ir_boxed_enums load 116 sname iconst 117 1 call 118 map_insert void 3 115 116 117 -jmp L1159 -label L1161 -label L1159 -jmp L1156 -label L1158 -label L1156 -label L1154 +jmp L1204 +label L1206 +label L1204 +jmp L1201 +label L1203 +label L1201 +label L1199 load 119 __for_idx_314 iconst 120 1 add 121 119 120 store __for_idx_314 121 -jmp L1152 -label L1155 +jmp L1197 +label L1200 load 122 ir_struct_registry_ir_enum_variant_lists load 123 sname load 124 variant_names @@ -131691,8 +131992,8 @@ load 131 variant_names call 132 pith_list_len int 1 131 call 133 map_insert void 3 129 130 132 load 134 emit_decl -brif 134 L1170 L1171 -label L1170 +brif 134 L1215 L1216 +label L1215 strref 135 m46s1289 load 136 sname concat 137 135 136 @@ -131710,9 +132011,9 @@ call 148 pith_cstring_release void 1 140 call 149 pith_cstring_release void 1 145 call 150 ir_builder_ir_emit void 1 147 call 151 pith_cstring_release void 1 147 -jmp L1169 -label L1171 -label L1169 +jmp L1214 +label L1216 +label L1214 load 152 sname call 153 pith_cstring_release void 1 152 load 154 variant_names @@ -131738,12 +132039,12 @@ iconst 6 0 store __for_idx_316 6 store __for_len_316 5 store __for_iter_316 4 -label L1172 +label L1217 load 7 __for_idx_316 load 8 __for_len_316 lt 9 7 8 -brif 9 L1173 L1175 -label L1173 +brif 9 L1218 L1220 +label L1218 load 10 __for_iter_316 load 11 __for_idx_316 call 12 pith_list_get_value unknown 2 10 11 @@ -131754,64 +132055,64 @@ call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store cn 15 iconst 17 0 -store __or_17_1179 17 +store __or_17_1224 17 load 18 cn field 19 18 0 string kind strref 20 m46s31 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_17_1179 21 -brif 21 L1180 L1179 -label L1179 +store __or_17_1224 21 +brif 21 L1225 L1224 +label L1224 load 23 cn field 24 23 0 string kind strref 25 m46s15 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_17_1179 26 -label L1180 -load 28 __or_17_1179 -brif 28 L1177 L1178 -label L1177 +store __or_17_1224 26 +label L1225 +load 28 __or_17_1224 +brif 28 L1222 L1223 +label L1222 load 29 __loopvar_316_item_idx load 30 cn load 31 emit_decl call 32 ir_emitter_core_ir_collect_struct_decl void 3 29 30 31 -jmp L1176 -label L1178 +jmp L1221 +label L1223 iconst 33 0 -store __or_33_1183 33 +store __or_33_1228 33 load 34 cn field 35 34 0 string kind strref 36 m46s30 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_33_1183 37 -brif 37 L1184 L1183 -label L1183 +store __or_33_1228 37 +brif 37 L1229 L1228 +label L1228 load 39 cn field 40 39 0 string kind strref 41 m46s14 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_33_1183 42 -label L1184 -load 44 __or_33_1183 -brif 44 L1181 L1182 -label L1181 +store __or_33_1228 42 +label L1229 +load 44 __or_33_1228 +brif 44 L1226 L1227 +label L1226 load 45 cn load 46 emit_decl call 47 ir_emitter_core_ir_collect_enum_decl void 2 45 46 -jmp L1176 -label L1182 -label L1176 -label L1174 +jmp L1221 +label L1227 +label L1221 +label L1219 load 48 __for_idx_316 iconst 49 1 add 50 48 49 store __for_idx_316 50 -jmp L1172 -label L1175 +jmp L1217 +label L1220 load 51 __for_iter_316 call 52 pith_list_release_handle void 1 51 load 53 cn @@ -131826,12 +132127,12 @@ iconst 2 0 store __for_idx_317 2 store __for_len_317 1 store __for_iter_317 0 -label L1185 +label L1230 load 3 __for_idx_317 load 4 __for_len_317 lt 5 3 4 -brif 5 L1186 L1188 -label L1186 +brif 5 L1231 L1233 +label L1231 load 6 __for_iter_317 load 7 __for_idx_317 call 8 pith_list_get_value_unchecked string 2 6 7 @@ -131840,25 +132141,25 @@ load 9 ir_builder_ir_var_types load 10 __loopvar_317_name strref 11 m46s671 call 12 pith_map_insert_cstr_owned void 3 9 10 11 -label L1187 +label L1232 load 13 __for_idx_317 iconst 14 1 add 15 13 14 store __for_idx_317 15 -jmp L1185 -label L1188 +jmp L1230 +label L1233 load 16 ir_alias_registry_ir_global_string_names call 17 pith_auto_len int 1 16 iconst 18 0 store __for_idx_318 18 store __for_len_318 17 store __for_iter_318 16 -label L1189 +label L1234 load 19 __for_idx_318 load 20 __for_len_318 lt 21 19 20 -brif 21 L1190 L1192 -label L1190 +brif 21 L1235 L1237 +label L1235 load 22 __for_iter_318 load 23 __for_idx_318 call 24 pith_list_get_value_unchecked string 2 22 23 @@ -131867,25 +132168,25 @@ load 25 ir_builder_ir_var_types load 26 __loopvar_318_name strref 27 m46s675 call 28 pith_map_insert_cstr_owned void 3 25 26 27 -label L1191 +label L1236 load 29 __for_idx_318 iconst 30 1 add 31 29 30 store __for_idx_318 31 -jmp L1189 -label L1192 +jmp L1234 +label L1237 load 32 ir_alias_registry_ir_global_list_string_names call 33 pith_auto_len int 1 32 iconst 34 0 store __for_idx_319 34 store __for_len_319 33 store __for_iter_319 32 -label L1193 +label L1238 load 35 __for_idx_319 load 36 __for_len_319 lt 37 35 36 -brif 37 L1194 L1196 -label L1194 +brif 37 L1239 L1241 +label L1239 load 38 __for_iter_319 load 39 __for_idx_319 call 40 pith_list_get_value_unchecked string 2 38 39 @@ -131894,25 +132195,25 @@ load 41 ir_builder_ir_var_types load 42 __loopvar_319_name strref 43 m46s668 call 44 pith_map_insert_cstr_owned void 3 41 42 43 -label L1195 +label L1240 load 45 __for_idx_319 iconst 46 1 add 47 45 46 store __for_idx_319 47 -jmp L1193 -label L1196 +jmp L1238 +label L1241 load 48 ir_alias_registry_ir_global_list_names call 49 pith_auto_len int 1 48 iconst 50 0 store __for_idx_320 50 store __for_len_320 49 store __for_iter_320 48 -label L1197 +label L1242 load 51 __for_idx_320 load 52 __for_len_320 lt 53 51 52 -brif 53 L1198 L1200 -label L1198 +brif 53 L1243 L1245 +label L1243 load 54 __for_iter_320 load 55 __for_idx_320 call 56 pith_list_get_value_unchecked string 2 54 55 @@ -131921,25 +132222,25 @@ load 57 ir_builder_ir_var_types load 58 __loopvar_320_name strref 59 m46s20 call 60 pith_map_insert_cstr_owned void 3 57 58 59 -label L1199 +label L1244 load 61 __for_idx_320 iconst 62 1 add 63 61 62 store __for_idx_320 63 -jmp L1197 -label L1200 +jmp L1242 +label L1245 load 64 ir_alias_registry_ir_global_map_int_names call 65 pith_auto_len int 1 64 iconst 66 0 store __for_idx_321 66 store __for_len_321 65 store __for_iter_321 64 -label L1201 +label L1246 load 67 __for_idx_321 load 68 __for_len_321 lt 69 67 68 -brif 69 L1202 L1204 -label L1202 +brif 69 L1247 L1249 +label L1247 load 70 __for_iter_321 load 71 __for_idx_321 call 72 pith_list_get_value_unchecked string 2 70 71 @@ -131948,25 +132249,25 @@ load 73 ir_builder_ir_var_types load 74 __loopvar_321_name strref 75 m46s670 call 76 pith_map_insert_cstr_owned void 3 73 74 75 -label L1203 +label L1248 load 77 __for_idx_321 iconst 78 1 add 79 77 78 store __for_idx_321 79 -jmp L1201 -label L1204 +jmp L1246 +label L1249 load 80 ir_alias_registry_ir_global_map_names call 81 pith_auto_len int 1 80 iconst 82 0 store __for_idx_322 82 store __for_len_322 81 store __for_iter_322 80 -label L1205 +label L1250 load 83 __for_idx_322 load 84 __for_len_322 lt 85 83 84 -brif 85 L1206 L1208 -label L1206 +brif 85 L1251 L1253 +label L1251 load 86 __for_iter_322 load 87 __for_idx_322 call 88 pith_list_get_value_unchecked string 2 86 87 @@ -131975,25 +132276,25 @@ load 89 ir_builder_ir_var_types load 90 __loopvar_322_name strref 91 m46s19 call 92 pith_map_insert_cstr_owned void 3 89 90 91 -label L1207 +label L1252 load 93 __for_idx_322 iconst 94 1 add 95 93 94 store __for_idx_322 95 -jmp L1205 -label L1208 +jmp L1250 +label L1253 load 96 ir_alias_registry_ir_global_set_int_names call 97 pith_auto_len int 1 96 iconst 98 0 store __for_idx_323 98 store __for_len_323 97 store __for_iter_323 96 -label L1209 +label L1254 load 99 __for_idx_323 load 100 __for_len_323 lt 101 99 100 -brif 101 L1210 L1212 -label L1210 +brif 101 L1255 L1257 +label L1255 load 102 __for_iter_323 load 103 __for_idx_323 call 104 pith_list_get_value_unchecked string 2 102 103 @@ -132002,25 +132303,25 @@ load 105 ir_builder_ir_var_types load 106 __loopvar_323_name strref 107 m46s669 call 108 pith_map_insert_cstr_owned void 3 105 106 107 -label L1211 +label L1256 load 109 __for_idx_323 iconst 110 1 add 111 109 110 store __for_idx_323 111 -jmp L1209 -label L1212 +jmp L1254 +label L1257 load 112 ir_alias_registry_ir_global_set_names call 113 pith_auto_len int 1 112 iconst 114 0 store __for_idx_324 114 store __for_len_324 113 store __for_iter_324 112 -label L1213 +label L1258 load 115 __for_idx_324 load 116 __for_len_324 lt 117 115 116 -brif 117 L1214 L1216 -label L1214 +brif 117 L1259 L1261 +label L1259 load 118 __for_iter_324 load 119 __for_idx_324 call 120 pith_list_get_value_unchecked string 2 118 119 @@ -132029,25 +132330,25 @@ load 121 ir_builder_ir_var_types load 122 __loopvar_324_name strref 123 m46s18 call 124 pith_map_insert_cstr_owned void 3 121 122 123 -label L1215 +label L1260 load 125 __for_idx_324 iconst 126 1 add 127 125 126 store __for_idx_324 127 -jmp L1213 -label L1216 +jmp L1258 +label L1261 load 128 ir_alias_registry_ir_global_bool_names call 129 pith_auto_len int 1 128 iconst 130 0 store __for_idx_325 130 store __for_len_325 129 store __for_iter_325 128 -label L1217 +label L1262 load 131 __for_idx_325 load 132 __for_len_325 lt 133 131 132 -brif 133 L1218 L1220 -label L1218 +brif 133 L1263 L1265 +label L1263 load 134 __for_iter_325 load 135 __for_idx_325 call 136 pith_list_get_value_unchecked string 2 134 135 @@ -132056,13 +132357,13 @@ load 137 ir_builder_ir_var_types load 138 __loopvar_325_name strref 139 m46s673 call 140 pith_map_insert_cstr_owned void 3 137 138 139 -label L1219 +label L1264 load 141 __for_idx_325 iconst 142 1 add 143 141 142 store __for_idx_325 143 -jmp L1217 -label L1220 +jmp L1262 +label L1265 load 144 ir_alias_registry_ir_global_map_value_types call 145 map_keys list_string 1 144 call 146 pith_auto_len int 1 145 @@ -132070,12 +132371,12 @@ iconst 147 0 store __for_idx_326 147 store __for_len_326 146 store __for_iter_326 145 -label L1221 +label L1266 load 148 __for_idx_326 load 149 __for_len_326 lt 150 148 149 -brif 150 L1222 L1224 -label L1222 +brif 150 L1267 L1269 +label L1267 load 151 __for_iter_326 load 152 __for_idx_326 call 153 pith_list_get_value_unchecked string 2 151 152 @@ -132086,13 +132387,13 @@ load 156 ir_alias_registry_ir_global_map_value_types load 157 __loopvar_326_name call 158 map_get_strict string 2 156 157 call 159 map_insert void 3 154 155 158 -label L1223 +label L1268 load 160 __for_idx_326 iconst 161 1 add 162 160 161 store __for_idx_326 162 -jmp L1221 -label L1224 +jmp L1266 +label L1269 load 163 __for_iter_326 call 164 pith_list_release_handle void 1 163 iconst 165 0 @@ -132320,25 +132621,25 @@ call 8 ast_get_node struct:Node 1 7 call 9 pith_struct_release void 1 6 store node 8 iconst 10 0 -store __and_10_1228 10 +store __and_10_1273 10 load 11 node field 12 11 0 string kind strref 13 m46s44 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __and_10_1228 14 -brif 14 L1228 L1229 -label L1228 +store __and_10_1273 14 +brif 14 L1273 L1274 +label L1273 load 16 node field 17 16 16 list children call 18 pith_list_len int 1 17 iconst 19 0 gt 20 18 19 -store __and_10_1228 20 -label L1229 -load 21 __and_10_1228 -brif 21 L1226 L1227 -label L1226 +store __and_10_1273 20 +label L1274 +load 21 __and_10_1273 +brif 21 L1271 L1272 +label L1271 load 22 callee load 23 node field 24 23 16 list children @@ -132354,8 +132655,8 @@ call 32 string_len int 1 31 call 33 pith_cstring_release void 1 31 iconst 34 0 gt 35 32 34 -brif 35 L1231 L1232 -label L1231 +brif 35 L1276 L1277 +label L1276 strref 36 m46s82 load 37 node call 38 pith_struct_release void 1 37 @@ -132368,8 +132669,8 @@ call 44 pith_cstring_release void 1 43 load 45 emit_name call 46 pith_cstring_release void 1 45 ret 36 -label L1232 -label L1230 +label L1277 +label L1275 load 47 callee field 48 47 0 string name call 49 ir_metadata_ir_builtin_result_retkind string 1 48 @@ -132384,15 +132685,15 @@ call 57 pith_cstring_release void 1 56 load 58 emit_name call 59 pith_cstring_release void 1 58 ret 49 -label L1227 -label L1225 +label L1272 +label L1270 load 60 node field 61 60 0 string kind strref 62 m46s129 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -brif 63 L1234 L1235 -label L1234 +brif 63 L1279 L1280 +label L1279 load 65 alias_name load 66 idx call 67 ir_alias_registry_ir_resolve_module_alias_method_call_name string 1 66 @@ -132402,16 +132703,16 @@ load 69 alias_name call 70 string_len int 1 69 iconst 71 0 gt 72 70 71 -brif 72 L1237 L1238 -label L1237 +brif 72 L1282 L1283 +label L1282 load 73 alias_name call 74 ir_method_tables_ir_declared_callable_ir_retkind string 1 73 call 75 string_len int 1 74 call 76 pith_cstring_release void 1 74 iconst 77 0 gt 78 75 77 -brif 78 L1240 L1241 -label L1240 +brif 78 L1285 L1286 +label L1285 strref 79 m46s82 load 80 node call 81 pith_struct_release void 1 80 @@ -132424,8 +132725,8 @@ call 87 pith_cstring_release void 1 86 load 88 emit_name call 89 pith_cstring_release void 1 88 ret 79 -label L1241 -label L1239 +label L1286 +label L1284 load 90 alias_name call 91 ir_metadata_ir_builtin_result_retkind string 1 90 load 92 node @@ -132439,8 +132740,8 @@ call 99 pith_cstring_release void 1 98 load 100 emit_name call 101 pith_cstring_release void 1 100 ret 91 -label L1238 -label L1236 +label L1283 +label L1281 load 102 obj_type load 103 node call 104 ir_emitter_core_ir_method_receiver_type string 1 103 @@ -132461,8 +132762,8 @@ call 116 string_len int 1 115 call 117 pith_cstring_release void 1 115 iconst 118 0 gt 119 116 118 -brif 119 L1243 L1244 -label L1243 +brif 119 L1288 L1289 +label L1288 strref 120 m46s82 load 121 node call 122 pith_struct_release void 1 121 @@ -132475,8 +132776,8 @@ call 128 pith_cstring_release void 1 127 load 129 emit_name call 130 pith_cstring_release void 1 129 ret 120 -label L1244 -label L1242 +label L1289 +label L1287 load 131 emit_name call 132 ir_metadata_ir_builtin_result_retkind string 1 131 load 133 node @@ -132490,8 +132791,8 @@ call 140 pith_cstring_release void 1 139 load 141 emit_name call 142 pith_cstring_release void 1 141 ret 132 -label L1235 -label L1233 +label L1280 +label L1278 strref 143 m46s82 load 144 node call 145 pith_struct_release void 1 144 @@ -132541,33 +132842,33 @@ store legacy_kind 10 iconst 11 0 store result_kind 11 load 12 uses_result_abi -brif 12 L1246 L1247 -label L1246 +brif 12 L1291 L1292 +label L1291 load 13 node load 14 idx call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 iconst 17 0 -store __and_17_1251 17 +store __and_17_1296 17 load 18 node field 19 18 0 string kind strref 20 m46s44 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __and_17_1251 21 -brif 21 L1251 L1252 -label L1251 +store __and_17_1296 21 +brif 21 L1296 L1297 +label L1296 load 23 node field 24 23 16 list children call 25 pith_list_len int 1 24 iconst 26 0 gt 27 25 26 -store __and_17_1251 27 -label L1252 -load 28 __and_17_1251 -brif 28 L1249 L1250 -label L1249 +store __and_17_1296 27 +label L1297 +load 28 __and_17_1296 +brif 28 L1294 L1295 +label L1294 load 29 callee load 30 node field 31 30 16 list children @@ -132586,8 +132887,8 @@ load 41 declared_kind call 42 string_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L1254 L1255 -label L1254 +brif 44 L1299 L1300 +label L1299 load 45 declared_kind load 46 node call 47 pith_struct_release void 1 46 @@ -132608,18 +132909,18 @@ call 61 pith_cstring_release void 1 60 load 62 result_kind call 63 pith_cstring_release void 1 62 ret 45 -label L1255 -label L1253 -jmp L1248 -label L1250 -label L1248 +label L1300 +label L1298 +jmp L1293 +label L1295 +label L1293 load 64 node field 65 64 0 string kind strref 66 m46s129 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L1257 L1258 -label L1257 +brif 67 L1302 L1303 +label L1302 load 69 alias_name load 70 idx call 71 ir_alias_registry_ir_resolve_module_alias_method_call_name string 1 70 @@ -132629,8 +132930,8 @@ load 73 alias_name call 74 string_len int 1 73 iconst 75 0 gt 76 74 75 -brif 76 L1260 L1261 -label L1260 +brif 76 L1305 L1306 +label L1305 load 77 declared_kind load 78 alias_name call 79 ir_method_tables_ir_declared_callable_ir_retkind string 1 78 @@ -132640,8 +132941,8 @@ load 81 declared_kind call 82 string_len int 1 81 iconst 83 0 gt 84 82 83 -brif 84 L1263 L1264 -label L1263 +brif 84 L1308 L1309 +label L1308 load 85 declared_kind load 86 node call 87 pith_struct_release void 1 86 @@ -132662,11 +132963,11 @@ call 101 pith_cstring_release void 1 100 load 102 result_kind call 103 pith_cstring_release void 1 102 ret 85 -label L1264 -label L1262 -jmp L1259 -label L1261 -label L1259 +label L1309 +label L1307 +jmp L1304 +label L1306 +label L1304 load 104 obj_type load 105 node call 106 ir_emitter_core_ir_method_receiver_type string 1 105 @@ -132688,8 +132989,8 @@ load 118 impl_name call 119 string_len int 1 118 iconst 120 0 gt 121 119 120 -brif 121 L1266 L1267 -label L1266 +brif 121 L1311 L1312 +label L1311 load 122 declared_kind load 123 impl_name call 124 ir_method_tables_ir_declared_callable_ir_retkind string 1 123 @@ -132699,8 +133000,8 @@ load 126 declared_kind call 127 string_len int 1 126 iconst 128 0 gt 129 127 128 -brif 129 L1269 L1270 -label L1269 +brif 129 L1314 L1315 +label L1314 load 130 declared_kind load 131 node call 132 pith_struct_release void 1 131 @@ -132721,11 +133022,11 @@ call 146 pith_cstring_release void 1 145 load 147 result_kind call 148 pith_cstring_release void 1 147 ret 130 -label L1270 -label L1268 -jmp L1265 -label L1267 -label L1265 +label L1315 +label L1313 +jmp L1310 +label L1312 +label L1310 load 149 emit_name load 150 method_name load 151 obj_type @@ -132741,8 +133042,8 @@ load 158 declared_kind call 159 string_len int 1 158 iconst 160 0 gt 161 159 160 -brif 161 L1272 L1273 -label L1272 +brif 161 L1317 L1318 +label L1317 load 162 declared_kind load 163 node call 164 pith_struct_release void 1 163 @@ -132763,11 +133064,11 @@ call 178 pith_cstring_release void 1 177 load 179 result_kind call 180 pith_cstring_release void 1 179 ret 162 -label L1273 -label L1271 -jmp L1256 -label L1258 -label L1256 +label L1318 +label L1316 +jmp L1301 +label L1303 +label L1301 load 181 legacy_kind load 182 idx call 183 ir_emitter_core_ir_expr_legacy_result_kind string 1 182 @@ -132777,8 +133078,8 @@ load 185 legacy_kind call 186 string_len int 1 185 iconst 187 0 gt 188 186 187 -brif 188 L1275 L1276 -label L1275 +brif 188 L1320 L1321 +label L1320 load 189 legacy_kind load 190 node call 191 pith_struct_release void 1 190 @@ -132799,8 +133100,8 @@ call 205 pith_cstring_release void 1 204 load 206 result_kind call 207 pith_cstring_release void 1 206 ret 189 -label L1276 -label L1274 +label L1321 +label L1319 load 208 result_kind load 209 idx call 210 ir_type_helpers_ir_checked_result_kind string 1 209 @@ -132810,8 +133111,8 @@ load 212 result_kind call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -brif 215 L1278 L1279 -label L1278 +brif 215 L1323 L1324 +label L1323 load 216 result_kind load 217 node call 218 pith_struct_release void 1 217 @@ -132832,11 +133133,11 @@ call 232 pith_cstring_release void 1 231 load 233 legacy_kind call 234 pith_cstring_release void 1 233 ret 216 -label L1279 -label L1277 -jmp L1245 -label L1247 -label L1245 +label L1324 +label L1322 +jmp L1290 +label L1292 +label L1290 load 235 idx call 236 ir_emitter_core_ir_infer_type string 1 235 load 237 node @@ -132890,8 +133191,8 @@ param callee_name iconst 3 0 store declared_kind 3 load 4 uses_result_abi -brif 4 L1281 L1282 -label L1281 +brif 4 L1326 L1327 +label L1326 load 5 declared_kind load 6 callee_name call 7 ir_method_tables_ir_declared_callable_ir_retkind string 1 6 @@ -132901,15 +133202,15 @@ load 9 declared_kind call 10 string_len int 1 9 iconst 11 0 gt 12 10 11 -brif 12 L1284 L1285 -label L1284 +brif 12 L1329 L1330 +label L1329 load 13 declared_kind ret 13 -label L1285 -label L1283 -jmp L1280 -label L1282 -label L1280 +label L1330 +label L1328 +jmp L1325 +label L1327 +label L1325 load 14 idx load 15 uses_result_abi call 16 ir_emitter_core_ir_call_retkind string 2 14 15 @@ -132938,16 +133239,16 @@ load 8 struct_type call 9 string_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L1287 L1288 -label L1287 +brif 11 L1332 L1333 +label L1332 load 12 struct_type load 13 scalar_type call 14 pith_cstring_release void 1 13 load 15 collection_type call 16 pith_cstring_release void 1 15 ret 12 -label L1288 -label L1286 +label L1333 +label L1331 load 17 scalar_type load 18 fname call 19 ir_type_helpers_ir_known_scalar_return_type string 1 18 @@ -132957,16 +133258,16 @@ load 21 scalar_type call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -brif 24 L1290 L1291 -label L1290 +brif 24 L1335 L1336 +label L1335 load 25 scalar_type load 26 struct_type call 27 pith_cstring_release void 1 26 load 28 collection_type call 29 pith_cstring_release void 1 28 ret 25 -label L1291 -label L1289 +label L1336 +label L1334 load 30 collection_type load 31 fname call 32 ir_type_helpers_ir_known_collection_return_type string 1 31 @@ -132976,16 +133277,16 @@ load 34 collection_type call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L1293 L1294 -label L1293 +brif 37 L1338 L1339 +label L1338 load 38 collection_type load 39 struct_type call 40 pith_cstring_release void 1 39 load 41 scalar_type call 42 pith_cstring_release void 1 41 ret 38 -label L1294 -label L1292 +label L1339 +label L1337 load 43 fname call 44 ir_alias_registry_ir_declared_callable_return_type string 1 43 load 45 struct_type @@ -133021,8 +133322,8 @@ load 8 obj_type strref 9 m46s335 call 10 pith_cstring_contains bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L1296 L1297 -label L1296 +brif 10 L1341 L1342 +label L1341 load 12 base load 13 obj_type iconst 14 0 @@ -133036,87 +133337,87 @@ store base 19 load 21 ir_struct_registry_ir_struct_names load 22 base call 23 contains_key bool 2 21 22 -brif 23 L1299 L1300 -label L1299 +brif 23 L1344 L1345 +label L1344 load 24 obj_type load 25 base call 26 pith_cstring_retain void 1 25 call 27 pith_cstring_release void 1 24 store obj_type 25 -jmp L1298 -label L1300 -label L1298 -jmp L1295 -label L1297 -label L1295 +jmp L1343 +label L1345 +label L1343 +jmp L1340 +label L1342 +label L1340 load 28 obj_type call 29 string_len int 1 28 iconst 30 0 eq 31 29 30 -brif 31 L1302 L1303 -label L1302 +brif 31 L1347 L1348 +label L1347 load 32 recv load 33 recv_idx call 34 ast_get_node struct:Node 1 33 call 35 pith_struct_release void 1 32 store recv 34 iconst 36 0 -store __and_36_1307 36 +store __and_36_1352 36 load 37 recv field 38 37 0 string kind strref 39 m46s37 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_1307 40 -brif 40 L1307 L1308 -label L1307 +store __and_36_1352 40 +brif 40 L1352 L1353 +label L1352 load 42 ir_struct_registry_ir_struct_names load 43 recv field 44 43 8 string value call 45 contains_key bool 2 42 44 -store __and_36_1307 45 -label L1308 -load 46 __and_36_1307 -brif 46 L1305 L1306 -label L1305 +store __and_36_1352 45 +label L1353 +load 46 __and_36_1352 +brif 46 L1350 L1351 +label L1350 load 47 obj_type load 48 recv field 49 48 8 string value call 50 pith_cstring_retain void 1 49 call 51 pith_cstring_release void 1 47 store obj_type 49 -jmp L1304 -label L1306 +jmp L1349 +label L1351 iconst 52 0 -store __and_52_1311 52 +store __and_52_1356 52 load 53 recv field 54 53 0 string kind strref 55 m46s515 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __and_52_1311 56 -brif 56 L1311 L1312 -label L1311 +store __and_52_1356 56 +brif 56 L1356 L1357 +label L1356 load 58 ir_emitter_core_ir_current_impl_type call 59 string_len int 1 58 iconst 60 0 gt 61 59 60 -store __and_52_1311 61 -label L1312 -load 62 __and_52_1311 -brif 62 L1309 L1310 -label L1309 +store __and_52_1356 61 +label L1357 +load 62 __and_52_1356 +brif 62 L1354 L1355 +label L1354 load 63 obj_type load 64 ir_emitter_core_ir_current_impl_type call 65 pith_cstring_retain void 1 64 call 66 pith_cstring_release void 1 63 store obj_type 64 -jmp L1304 -label L1310 -label L1304 -jmp L1301 -label L1303 -label L1301 +jmp L1349 +label L1355 +label L1349 +jmp L1346 +label L1348 +label L1346 load 67 obj_type load 68 base call 69 pith_cstring_release void 1 68 @@ -133146,8 +133447,8 @@ store recv_tid 6 load 7 recv_tid iconst 8 0 lt 9 7 8 -brif 9 L1314 L1315 -label L1314 +brif 9 L1359 L1360 +label L1359 iconst 10 0 iconst 11 1 sub 12 10 11 @@ -133156,8 +133457,8 @@ call 14 pith_struct_release void 1 13 load 15 field_kind call 16 pith_cstring_release void 1 15 ret 12 -label L1315 -label L1313 +label L1360 +label L1358 load 17 recv_info load 18 recv_tid call 19 types_get_type_info struct:TypeInfo 1 18 @@ -133170,8 +133471,8 @@ call 25 pith_cstring_eq bool 2 22 23 iconst 26 1 sub 24 26 25 call 27 pith_cstring_release void 1 23 -brif 24 L1317 L1318 -label L1317 +brif 24 L1362 L1363 +label L1362 iconst 28 0 iconst 29 1 sub 30 28 29 @@ -133180,8 +133481,8 @@ call 32 pith_struct_release void 1 31 load 33 field_kind call 34 pith_cstring_release void 1 33 ret 30 -label L1318 -label L1316 +label L1363 +label L1361 iconst 35 0 iconst 36 1 sub 37 35 36 @@ -133193,12 +133494,12 @@ iconst 41 0 store __for_idx_327 41 store __for_len_327 40 store __for_iter_327 39 -label L1319 +label L1364 load 42 __for_idx_327 load 43 __for_len_327 lt 44 42 43 -brif 44 L1320 L1322 -label L1320 +brif 44 L1365 L1367 +label L1365 load 45 __for_iter_327 load 46 __for_idx_327 call 47 pith_list_get_value_unchecked string 2 45 46 @@ -133208,38 +133509,38 @@ store __loopvar_327_i 48 load 49 __loopvar_327_name load 50 field_name call 51 pith_cstring_eq bool 2 49 50 -brif 51 L1324 L1325 -label L1324 +brif 51 L1369 L1370 +label L1369 load 52 __loopvar_327_i store field_index 52 -jmp L1323 -label L1325 -label L1323 -label L1321 +jmp L1368 +label L1370 +label L1368 +label L1366 load 53 __for_idx_327 iconst 54 1 add 55 53 54 store __for_idx_327 55 -jmp L1319 -label L1322 +jmp L1364 +label L1367 iconst 56 0 -store __or_56_1329 56 +store __or_56_1374 56 load 57 field_index iconst 58 0 lt 59 57 58 -store __or_56_1329 59 -brif 59 L1330 L1329 -label L1329 +store __or_56_1374 59 +brif 59 L1375 L1374 +label L1374 load 60 field_index load 61 recv_info field 62 61 24 list field_types call 63 pith_list_len int 1 62 gte 64 60 63 -store __or_56_1329 64 -label L1330 -load 65 __or_56_1329 -brif 65 L1327 L1328 -label L1327 +store __or_56_1374 64 +label L1375 +load 65 __or_56_1374 +brif 65 L1372 L1373 +label L1372 iconst 66 0 iconst 67 1 sub 68 66 67 @@ -133248,14 +133549,14 @@ call 70 pith_struct_release void 1 69 load 71 field_kind call 72 pith_cstring_release void 1 71 ret 68 -label L1328 -label L1326 +label L1373 +label L1371 load 73 recv_info field 74 73 8 string name load 75 field_name call 76 ir_emitter_core_ir_struct_field_is_weak bool 2 74 75 -brif 76 L1332 L1333 -label L1332 +brif 76 L1377 L1378 +label L1377 iconst 77 0 iconst 78 1 sub 79 77 78 @@ -133264,8 +133565,8 @@ call 81 pith_struct_release void 1 80 load 82 field_kind call 83 pith_cstring_release void 1 82 ret 79 -label L1333 -label L1331 +label L1378 +label L1376 load 84 field_index iconst 85 8 mul 86 84 85 @@ -133354,8 +133655,8 @@ load 11 impl_name call 12 string_len int 1 11 iconst 13 0 gt 14 12 13 -brif 14 L1335 L1336 -label L1335 +brif 14 L1380 L1381 +label L1380 load 15 declared load 16 impl_name call 17 ir_alias_registry_ir_declared_callable_return_type string 1 16 @@ -133365,8 +133666,8 @@ load 19 declared call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L1338 L1339 -label L1338 +brif 22 L1383 L1384 +label L1383 load 23 declared load 24 impl_name call 25 pith_cstring_release void 1 24 @@ -133375,15 +133676,15 @@ call 27 pith_cstring_release void 1 26 load 28 collection_type call 29 pith_cstring_release void 1 28 ret 23 -label L1339 -label L1337 -jmp L1334 -label L1336 -label L1334 +label L1384 +label L1382 +jmp L1379 +label L1381 +label L1379 load 30 meth call 31 ir_metadata_ir_is_bool_returning_method bool 1 30 -brif 31 L1341 L1342 -label L1341 +brif 31 L1386 L1387 +label L1386 strref 32 m46s673 load 33 impl_name call 34 pith_cstring_release void 1 33 @@ -133394,8 +133695,8 @@ call 38 pith_cstring_release void 1 37 load 39 collection_type call 40 pith_cstring_release void 1 39 ret 32 -label L1342 -label L1340 +label L1387 +label L1385 load 41 string_type load 42 meth call 43 ir_type_helpers_ir_known_string_method_return_type string 1 42 @@ -133405,8 +133706,8 @@ load 45 string_type call 46 string_len int 1 45 iconst 47 0 gt 48 46 47 -brif 48 L1344 L1345 -label L1344 +brif 48 L1389 L1390 +label L1389 load 49 string_type load 50 impl_name call 51 pith_cstring_release void 1 50 @@ -133415,14 +133716,14 @@ call 53 pith_cstring_release void 1 52 load 54 collection_type call 55 pith_cstring_release void 1 54 ret 49 -label L1345 -label L1343 +label L1390 +label L1388 load 56 meth strref 57 m46s274 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L1347 L1348 -label L1347 +brif 58 L1392 L1393 +label L1392 strref 60 m46s672 load 61 impl_name call 62 pith_cstring_release void 1 61 @@ -133433,26 +133734,26 @@ call 66 pith_cstring_release void 1 65 load 67 collection_type call 68 pith_cstring_release void 1 67 ret 60 -label L1348 -label L1346 +label L1393 +label L1391 iconst 69 0 -store __or_69_1352 69 +store __or_69_1397 69 load 70 meth strref 71 m46s206 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_69_1352 72 -brif 72 L1353 L1352 -label L1352 +store __or_69_1397 72 +brif 72 L1398 L1397 +label L1397 load 74 meth strref 75 m46s204 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -store __or_69_1352 76 -label L1353 -load 78 __or_69_1352 -brif 78 L1350 L1351 -label L1350 +store __or_69_1397 76 +label L1398 +load 78 __or_69_1397 +brif 78 L1395 L1396 +label L1395 strref 79 m46s671 load 80 impl_name call 81 pith_cstring_release void 1 80 @@ -133463,38 +133764,38 @@ call 85 pith_cstring_release void 1 84 load 86 collection_type call 87 pith_cstring_release void 1 86 ret 79 -label L1351 -label L1349 +label L1396 +label L1394 iconst 88 0 -store __and_88_1357 88 +store __and_88_1402 88 iconst 89 0 -store __or_89_1357 89 +store __or_89_1402 89 load 90 meth strref 91 m46s261 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 91 -store __or_89_1357 92 -brif 92 L1358 L1357 -label L1357 +store __or_89_1402 92 +brif 92 L1403 L1402 +label L1402 load 94 meth strref 95 m46s289 call 96 pith_cstring_eq bool 2 94 95 call 97 pith_cstring_release void 1 95 -store __or_89_1357 96 -label L1358 -load 98 __or_89_1357 -store __and_88_1357 98 -brif 98 L1359 L1360 -label L1359 +store __or_89_1402 96 +label L1403 +load 98 __or_89_1402 +store __and_88_1402 98 +brif 98 L1404 L1405 +label L1404 load 99 obj_type strref 100 m46s674 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __and_88_1357 101 -label L1360 -load 103 __and_88_1357 -brif 103 L1355 L1356 -label L1355 +store __and_88_1402 101 +label L1405 +load 103 __and_88_1402 +brif 103 L1400 L1401 +label L1400 strref 104 m46s674 load 105 impl_name call 106 pith_cstring_release void 1 105 @@ -133505,8 +133806,8 @@ call 110 pith_cstring_release void 1 109 load 111 collection_type call 112 pith_cstring_release void 1 111 ret 104 -label L1356 -label L1354 +label L1401 +label L1399 load 113 collection_type load 114 obj_type load 115 meth @@ -133517,8 +133818,8 @@ load 118 collection_type call 119 string_len int 1 118 iconst 120 0 gt 121 119 120 -brif 121 L1362 L1363 -label L1362 +brif 121 L1407 L1408 +label L1407 load 122 collection_type load 123 impl_name call 124 pith_cstring_release void 1 123 @@ -133527,8 +133828,8 @@ call 126 pith_cstring_release void 1 125 load 127 string_type call 128 pith_cstring_release void 1 127 ret 122 -label L1363 -label L1361 +label L1408 +label L1406 strref 129 m46s82 load 130 impl_name call 131 pith_cstring_release void 1 130 @@ -133565,95 +133866,95 @@ call 7 pith_cstring_retain void 1 6 call 8 pith_cstring_release void 1 4 store op 6 iconst 9 0 -store __or_9_1367 9 +store __or_9_1412 9 iconst 10 0 -store __or_10_1367 10 +store __or_10_1412 10 iconst 11 0 -store __or_11_1367 11 +store __or_11_1412 11 iconst 12 0 -store __or_12_1367 12 +store __or_12_1412 12 iconst 13 0 -store __or_13_1367 13 +store __or_13_1412 13 iconst 14 0 -store __or_14_1367 14 +store __or_14_1412 14 iconst 15 0 -store __or_15_1367 15 +store __or_15_1412 15 load 16 op strref 17 m46s469 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -store __or_15_1367 18 -brif 18 L1368 L1367 -label L1367 +store __or_15_1412 18 +brif 18 L1413 L1412 +label L1412 load 20 op strref 21 m46s467 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_15_1367 22 -label L1368 -load 24 __or_15_1367 -store __or_14_1367 24 -brif 24 L1370 L1369 -label L1369 +store __or_15_1412 22 +label L1413 +load 24 __or_15_1412 +store __or_14_1412 24 +brif 24 L1415 L1414 +label L1414 load 25 op strref 26 m46s465 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_14_1367 27 -label L1370 -load 29 __or_14_1367 -store __or_13_1367 29 -brif 29 L1372 L1371 -label L1371 +store __or_14_1412 27 +label L1415 +load 29 __or_14_1412 +store __or_13_1412 29 +brif 29 L1417 L1416 +label L1416 load 30 op strref 31 m46s462 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_13_1367 32 -label L1372 -load 34 __or_13_1367 -store __or_12_1367 34 -brif 34 L1374 L1373 -label L1373 +store __or_13_1412 32 +label L1417 +load 34 __or_13_1412 +store __or_12_1412 34 +brif 34 L1419 L1418 +label L1418 load 35 op strref 36 m46s459 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_12_1367 37 -label L1374 -load 39 __or_12_1367 -store __or_11_1367 39 -brif 39 L1376 L1375 -label L1375 +store __or_12_1412 37 +label L1419 +load 39 __or_12_1412 +store __or_11_1412 39 +brif 39 L1421 L1420 +label L1420 load 40 op strref 41 m46s456 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_11_1367 42 -label L1376 -load 44 __or_11_1367 -store __or_10_1367 44 -brif 44 L1378 L1377 -label L1377 +store __or_11_1412 42 +label L1421 +load 44 __or_11_1412 +store __or_10_1412 44 +brif 44 L1423 L1422 +label L1422 load 45 op strref 46 m46s453 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __or_10_1367 47 -label L1378 -load 49 __or_10_1367 -store __or_9_1367 49 -brif 49 L1380 L1379 -label L1379 +store __or_10_1412 47 +label L1423 +load 49 __or_10_1412 +store __or_9_1412 49 +brif 49 L1425 L1424 +label L1424 load 50 op strref 51 m46s451 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_9_1367 52 -label L1380 -load 54 __or_9_1367 -brif 54 L1365 L1366 -label L1365 +store __or_9_1412 52 +label L1425 +load 54 __or_9_1412 +brif 54 L1410 L1411 +label L1410 strref 55 m46s673 load 56 op call 57 pith_cstring_release void 1 56 @@ -133662,69 +133963,69 @@ call 59 pith_cstring_release void 1 58 load 60 rt call 61 pith_cstring_release void 1 60 ret 55 -label L1366 -label L1364 +label L1411 +label L1409 iconst 62 0 -store __or_62_1384 62 +store __or_62_1429 62 iconst 63 0 -store __or_63_1384 63 +store __or_63_1429 63 iconst 64 0 -store __or_64_1384 64 +store __or_64_1429 64 iconst 65 0 -store __or_65_1384 65 +store __or_65_1429 65 load 66 op strref 67 m46s234 call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 67 -store __or_65_1384 68 -brif 68 L1385 L1384 -label L1384 +store __or_65_1429 68 +brif 68 L1430 L1429 +label L1429 load 70 op strref 71 m46s481 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_65_1384 72 -label L1385 -load 74 __or_65_1384 -store __or_64_1384 74 -brif 74 L1387 L1386 -label L1386 +store __or_65_1429 72 +label L1430 +load 74 __or_65_1429 +store __or_64_1429 74 +brif 74 L1432 L1431 +label L1431 load 75 op strref 76 m46s478 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_64_1384 77 -label L1387 -load 79 __or_64_1384 -store __or_63_1384 79 -brif 79 L1389 L1388 -label L1388 +store __or_64_1429 77 +label L1432 +load 79 __or_64_1429 +store __or_63_1429 79 +brif 79 L1434 L1433 +label L1433 load 80 op strref 81 m46s475 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -store __or_63_1384 82 -label L1389 -load 84 __or_63_1384 -store __or_62_1384 84 -brif 84 L1391 L1390 -label L1390 +store __or_63_1429 82 +label L1434 +load 84 __or_63_1429 +store __or_62_1429 84 +brif 84 L1436 L1435 +label L1435 load 85 op strref 86 m46s472 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -store __or_62_1384 87 -label L1391 -load 89 __or_62_1384 -brif 89 L1382 L1383 -label L1382 +store __or_62_1429 87 +label L1436 +load 89 __or_62_1429 +brif 89 L1427 L1428 +label L1427 load 90 node field 91 90 16 list children call 92 pith_list_len int 1 91 iconst 93 2 gte 94 92 93 -brif 94 L1393 L1394 -label L1393 +brif 94 L1438 L1439 +label L1438 load 95 lt load 96 node field 97 96 16 list children @@ -133742,23 +134043,23 @@ call 107 ir_emitter_core_ir_infer_type string 1 106 call 108 pith_cstring_release void 1 102 store rt 107 iconst 109 0 -store __or_109_1398 109 +store __or_109_1443 109 load 110 lt strref 111 m46s672 call 112 pith_cstring_eq bool 2 110 111 call 113 pith_cstring_release void 1 111 -store __or_109_1398 112 -brif 112 L1399 L1398 -label L1398 +store __or_109_1443 112 +brif 112 L1444 L1443 +label L1443 load 114 rt strref 115 m46s672 call 116 pith_cstring_eq bool 2 114 115 call 117 pith_cstring_release void 1 115 -store __or_109_1398 116 -label L1399 -load 118 __or_109_1398 -brif 118 L1396 L1397 -label L1396 +store __or_109_1443 116 +label L1444 +load 118 __or_109_1443 +brif 118 L1441 L1442 +label L1441 strref 119 m46s672 load 120 op call 121 pith_cstring_release void 1 120 @@ -133767,26 +134068,26 @@ call 123 pith_cstring_release void 1 122 load 124 rt call 125 pith_cstring_release void 1 124 ret 119 -label L1397 -label L1395 +label L1442 +label L1440 iconst 126 0 -store __or_126_1403 126 +store __or_126_1448 126 load 127 lt strref 128 m46s675 call 129 pith_cstring_eq bool 2 127 128 call 130 pith_cstring_release void 1 128 -store __or_126_1403 129 -brif 129 L1404 L1403 -label L1403 +store __or_126_1448 129 +brif 129 L1449 L1448 +label L1448 load 131 rt strref 132 m46s675 call 133 pith_cstring_eq bool 2 131 132 call 134 pith_cstring_release void 1 132 -store __or_126_1403 133 -label L1404 -load 135 __or_126_1403 -brif 135 L1401 L1402 -label L1401 +store __or_126_1448 133 +label L1449 +load 135 __or_126_1448 +brif 135 L1446 L1447 +label L1446 strref 136 m46s675 load 137 op call 138 pith_cstring_release void 1 137 @@ -133795,11 +134096,11 @@ call 140 pith_cstring_release void 1 139 load 141 rt call 142 pith_cstring_release void 1 141 ret 136 -label L1402 -label L1400 -jmp L1392 -label L1394 -label L1392 +label L1447 +label L1445 +jmp L1437 +label L1439 +label L1437 strref 143 m46s671 load 144 op call 145 pith_cstring_release void 1 144 @@ -133808,8 +134109,8 @@ call 147 pith_cstring_release void 1 146 load 148 rt call 149 pith_cstring_release void 1 148 ret 143 -label L1383 -label L1381 +label L1428 +label L1426 strref 150 m46s671 load 151 op call 152 pith_cstring_release void 1 151 @@ -133843,29 +134144,29 @@ load 8 checked_index call 9 string_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L1406 L1407 -label L1406 +brif 11 L1451 L1452 +label L1451 load 12 checked_index load 13 coll_type call 14 pith_cstring_release void 1 13 ret 12 -label L1407 -label L1405 +label L1452 +label L1450 load 15 node field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 0 eq 19 17 18 -brif 19 L1409 L1410 -label L1409 +brif 19 L1454 L1455 +label L1454 strref 20 m46s82 load 21 checked_index call 22 pith_cstring_release void 1 21 load 23 coll_type call 24 pith_cstring_release void 1 23 ret 20 -label L1410 -label L1408 +label L1455 +label L1453 load 25 coll_type load 26 node field 27 26 16 list children @@ -133878,62 +134179,62 @@ load 32 coll_type strref 33 m46s675 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -brif 34 L1412 L1413 -label L1412 +brif 34 L1457 L1458 +label L1457 strref 36 m46s675 load 37 checked_index call 38 pith_cstring_release void 1 37 load 39 coll_type call 40 pith_cstring_release void 1 39 ret 36 -label L1413 -label L1411 +label L1458 +label L1456 load 41 coll_type strref 42 m46s674 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -brif 43 L1415 L1416 -label L1415 +brif 43 L1460 L1461 +label L1460 strref 45 m46s671 load 46 checked_index call 47 pith_cstring_release void 1 46 load 48 coll_type call 49 pith_cstring_release void 1 48 ret 45 -label L1416 -label L1414 +label L1461 +label L1459 load 50 coll_type strref 51 m46s668 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L1418 L1419 -label L1418 +brif 52 L1463 L1464 +label L1463 strref 54 m46s675 load 55 checked_index call 56 pith_cstring_release void 1 55 load 57 coll_type call 58 pith_cstring_release void 1 57 ret 54 -label L1419 -label L1417 +label L1464 +label L1462 iconst 59 0 -store __or_59_1423 59 +store __or_59_1468 59 load 60 coll_type strref 61 m46s19 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __or_59_1423 62 -brif 62 L1424 L1423 -label L1423 +store __or_59_1468 62 +brif 62 L1469 L1468 +label L1468 load 64 coll_type strref 65 m46s670 call 66 pith_cstring_eq bool 2 64 65 call 67 pith_cstring_release void 1 65 -store __or_59_1423 66 -label L1424 -load 68 __or_59_1423 -brif 68 L1421 L1422 -label L1421 +store __or_59_1468 66 +label L1469 +load 68 __or_59_1468 +brif 68 L1466 L1467 +label L1466 load 69 node field 70 69 16 list children iconst 71 0 @@ -133944,8 +134245,8 @@ call 75 pith_cstring_release void 1 74 load 76 coll_type call 77 pith_cstring_release void 1 76 ret 73 -label L1422 -label L1420 +label L1467 +label L1465 strref 78 m46s82 load 79 checked_index call 80 pith_cstring_release void 1 79 @@ -133971,16 +134272,16 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L1426 L1427 -label L1426 +brif 8 L1471 L1472 +label L1471 strref 9 m46s82 load 10 callee_node call 11 pith_struct_release void 1 10 load 12 callee call 13 pith_struct_release void 1 12 ret 9 -label L1427 -label L1425 +label L1472 +label L1470 load 14 callee_node load 15 node field 16 15 16 list children @@ -133990,24 +134291,24 @@ call 19 ast_get_node struct:Node 1 18 call 20 pith_struct_release void 1 14 store callee_node 19 iconst 21 0 -store __and_21_1431 21 +store __and_21_1476 21 load 22 callee_node field 23 22 0 string kind strref 24 m46s37 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_1431 25 -brif 25 L1431 L1432 -label L1431 +store __and_21_1476 25 +brif 25 L1476 L1477 +label L1476 load 27 ir_emitter_core_ir_closure_return_kinds load 28 callee_node field 29 28 8 string value call 30 contains_key bool 2 27 29 -store __and_21_1431 30 -label L1432 -load 31 __and_21_1431 -brif 31 L1429 L1430 -label L1429 +store __and_21_1476 30 +label L1477 +load 31 __and_21_1476 +brif 31 L1474 L1475 +label L1474 load 32 ir_emitter_core_ir_closure_return_kinds load 33 callee_node field 34 33 8 string value @@ -134018,8 +134319,8 @@ call 38 pith_struct_release void 1 37 load 39 callee call 40 pith_struct_release void 1 39 ret 35 -label L1430 -label L1428 +label L1475 +label L1473 load 41 callee load 42 node field 43 42 16 list children @@ -134033,16 +134334,16 @@ field 49 48 0 string name call 50 string_len int 1 49 iconst 51 0 eq 52 50 51 -brif 52 L1434 L1435 -label L1434 +brif 52 L1479 L1480 +label L1479 strref 53 m46s82 load 54 callee_node call 55 pith_struct_release void 1 54 load 56 callee call 57 pith_struct_release void 1 56 ret 53 -label L1435 -label L1433 +label L1480 +label L1478 load 58 callee field 59 58 0 string name call 60 ir_emitter_core_ir_known_callable_return_type string 1 59 @@ -134074,8 +134375,8 @@ load 8 alias_fname call 9 string_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L1437 L1438 -label L1437 +brif 11 L1482 L1483 +label L1482 load 12 alias_fname call 13 ir_emitter_core_ir_known_callable_return_type string 1 12 load 14 alias_fname @@ -134083,8 +134384,8 @@ call 15 pith_cstring_release void 1 14 load 16 obj_type call 17 pith_cstring_release void 1 16 ret 13 -label L1438 -label L1436 +label L1483 +label L1481 load 18 obj_type strref 19 m46s82 call 20 pith_cstring_release void 1 18 @@ -134094,8 +134395,8 @@ field 22 21 16 list children call 23 pith_list_len int 1 22 iconst 24 0 gt 25 23 24 -brif 25 L1440 L1441 -label L1440 +brif 25 L1485 L1486 +label L1485 load 26 obj_type load 27 node field 28 27 16 list children @@ -134104,9 +134405,9 @@ call 30 pith_list_get_value_strict int 2 28 29 call 31 ir_emitter_core_ir_infer_type string 1 30 call 32 pith_cstring_release void 1 26 store obj_type 31 -jmp L1439 -label L1441 -label L1439 +jmp L1484 +label L1486 +label L1484 load 33 obj_type load 34 idx call 35 ast_node_value string 1 34 @@ -134137,14 +134438,14 @@ store recv_tid 4 load 5 recv_tid iconst 6 0 lt 7 5 6 -brif 7 L1443 L1444 -label L1443 +brif 7 L1488 L1489 +label L1488 strref 8 m46s82 load 9 recv_info call 10 pith_struct_release void 1 9 ret 8 -label L1444 -label L1442 +label L1489 +label L1487 load 11 recv_info load 12 recv_tid call 13 types_get_type_info struct:TypeInfo 1 12 @@ -134157,14 +134458,14 @@ call 19 pith_cstring_eq bool 2 16 17 iconst 20 1 sub 18 20 19 call 21 pith_cstring_release void 1 17 -brif 18 L1446 L1447 -label L1446 +brif 18 L1491 L1492 +label L1491 strref 22 m46s82 load 23 recv_info call 24 pith_struct_release void 1 23 ret 22 -label L1447 -label L1445 +label L1492 +label L1490 load 25 recv_info field 26 25 16 list_string fields call 27 pith_auto_len int 1 26 @@ -134172,12 +134473,12 @@ iconst 28 0 store __for_idx_328 28 store __for_len_328 27 store __for_iter_328 26 -label L1448 +label L1493 load 29 __for_idx_328 load 30 __for_len_328 lt 31 29 30 -brif 31 L1449 L1451 -label L1449 +brif 31 L1494 L1496 +label L1494 load 32 __for_iter_328 load 33 __for_idx_328 call 34 pith_list_get_value_unchecked string 2 32 33 @@ -134185,23 +134486,23 @@ store __loopvar_328_name 34 load 35 __for_idx_328 store __loopvar_328_i 35 iconst 36 0 -store __and_36_1455 36 +store __and_36_1500 36 load 37 __loopvar_328_name load 38 field_name call 39 pith_cstring_eq bool 2 37 38 -store __and_36_1455 39 -brif 39 L1455 L1456 -label L1455 +store __and_36_1500 39 +brif 39 L1500 L1501 +label L1500 load 40 __loopvar_328_i load 41 recv_info field 42 41 24 list field_types call 43 pith_list_len int 1 42 lt 44 40 43 -store __and_36_1455 44 -label L1456 -load 45 __and_36_1455 -brif 45 L1453 L1454 -label L1453 +store __and_36_1500 44 +label L1501 +load 45 __and_36_1500 +brif 45 L1498 L1499 +label L1498 load 46 recv_info field 47 46 24 list field_types load 48 __loopvar_328_i @@ -134210,15 +134511,15 @@ call 50 ir_type_helpers_ir_type_from_tid string 1 49 load 51 recv_info call 52 pith_struct_release void 1 51 ret 50 -label L1454 -label L1452 -label L1450 +label L1499 +label L1497 +label L1495 load 53 __for_idx_328 iconst 54 1 add 55 53 54 store __for_idx_328 55 -jmp L1448 -label L1451 +jmp L1493 +label L1496 strref 56 m46s82 load 57 recv_info call 58 pith_struct_release void 1 57 @@ -134245,8 +134546,8 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L1458 L1459 -label L1458 +brif 10 L1503 L1504 +label L1503 strref 11 m46s82 load 12 fname call 13 pith_cstring_release void 1 12 @@ -134259,8 +134560,8 @@ call 19 pith_cstring_release void 1 18 load 20 lookup_key call 21 pith_cstring_release void 1 20 ret 11 -label L1459 -label L1457 +label L1504 +label L1502 load 22 fname load 23 node field 24 23 8 string value @@ -134268,23 +134569,23 @@ call 25 pith_cstring_retain void 1 24 call 26 pith_cstring_release void 1 22 store fname 24 iconst 27 0 -store __or_27_1463 27 +store __or_27_1508 27 load 28 fname strref 29 m46s184 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_27_1463 30 -brif 30 L1464 L1463 -label L1463 +store __or_27_1508 30 +brif 30 L1509 L1508 +label L1508 load 32 fname strref 33 m46s183 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_27_1463 34 -label L1464 -load 36 __or_27_1463 -brif 36 L1461 L1462 -label L1461 +store __or_27_1508 34 +label L1509 +load 36 __or_27_1508 +brif 36 L1506 L1507 +label L1506 strref 37 m46s673 load 38 fname call 39 pith_cstring_release void 1 38 @@ -134297,14 +134598,14 @@ call 45 pith_cstring_release void 1 44 load 46 lookup_key call 47 pith_cstring_release void 1 46 ret 37 -label L1462 -label L1460 +label L1507 +label L1505 load 48 fname strref 49 m46s182 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -brif 50 L1466 L1467 -label L1466 +brif 50 L1511 L1512 +label L1511 load 52 node field 53 52 16 list children iconst 54 0 @@ -134314,8 +134615,8 @@ store obj_tid 56 load 57 obj_tid iconst 58 0 gte 59 57 58 -brif 59 L1469 L1470 -label L1469 +brif 59 L1514 L1515 +label L1514 load 60 obj_info load 61 obj_tid call 62 types_get_type_info struct:TypeInfo 1 61 @@ -134326,8 +134627,8 @@ field 65 64 0 string kind strref 66 m46s22 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L1472 L1473 -label L1472 +brif 67 L1517 L1518 +label L1517 load 69 obj_info field 70 69 64 int inner call 71 ir_type_helpers_ir_type_from_tid string 1 70 @@ -134342,20 +134643,20 @@ call 79 pith_cstring_release void 1 78 load 80 lookup_key call 81 pith_cstring_release void 1 80 ret 71 -label L1473 -label L1471 -jmp L1468 -label L1470 -label L1468 -jmp L1465 -label L1467 -label L1465 +label L1518 +label L1516 +jmp L1513 +label L1515 +label L1513 +jmp L1510 +label L1512 +label L1510 load 82 fname strref 83 m46s181 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 83 -brif 84 L1475 L1476 -label L1475 +brif 84 L1520 L1521 +label L1520 load 86 node field 87 86 16 list children iconst 88 0 @@ -134365,8 +134666,8 @@ store obj_tid 90 load 91 obj_tid iconst 92 0 gte 93 91 92 -brif 93 L1478 L1479 -label L1478 +brif 93 L1523 L1524 +label L1523 load 94 obj_info load 95 obj_tid call 96 types_get_type_info struct:TypeInfo 1 95 @@ -134377,8 +134678,8 @@ field 99 98 0 string kind strref 100 m46s22 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -brif 101 L1481 L1482 -label L1481 +brif 101 L1526 L1527 +label L1526 load 103 obj_info field 104 103 80 int value_type call 105 ir_type_helpers_ir_type_from_tid string 1 104 @@ -134393,14 +134694,14 @@ call 113 pith_cstring_release void 1 112 load 114 lookup_key call 115 pith_cstring_release void 1 114 ret 105 -label L1482 -label L1480 -jmp L1477 -label L1479 -label L1477 -jmp L1474 -label L1476 -label L1474 +label L1527 +label L1525 +jmp L1522 +label L1524 +label L1522 +jmp L1519 +label L1521 +label L1519 load 116 concrete_field_type load 117 node field 118 117 16 list children @@ -134414,8 +134715,8 @@ load 124 concrete_field_type call 125 string_len int 1 124 iconst 126 0 gt 127 125 126 -brif 127 L1484 L1485 -label L1484 +brif 127 L1529 L1530 +label L1529 load 128 concrete_field_type load 129 fname call 130 pith_cstring_release void 1 129 @@ -134426,8 +134727,8 @@ call 134 pith_cstring_release void 1 133 load 135 lookup_key call 136 pith_cstring_release void 1 135 ret 128 -label L1485 -label L1483 +label L1530 +label L1528 load 137 obj_type load 138 node field 139 138 16 list children @@ -134440,8 +134741,8 @@ load 144 obj_type call 145 string_len int 1 144 iconst 146 0 eq 147 145 146 -brif 147 L1487 L1488 -label L1487 +brif 147 L1532 L1533 +label L1532 strref 148 m46s82 load 149 fname call 150 pith_cstring_release void 1 149 @@ -134454,8 +134755,8 @@ call 156 pith_cstring_release void 1 155 load 157 lookup_key call 158 pith_cstring_release void 1 157 ret 148 -label L1488 -label L1486 +label L1533 +label L1531 load 159 lookup_key load 160 obj_type strref 161 m46s26 @@ -134469,8 +134770,8 @@ store lookup_key 165 load 168 ir_struct_registry_ir_struct_field_lookup load 169 lookup_key call 170 contains_key bool 2 168 169 -brif 170 L1490 L1491 -label L1490 +brif 170 L1535 L1536 +label L1535 load 171 ir_struct_registry_ir_struct_field_lookup load 172 lookup_key call 173 map_get_strict string 2 171 172 @@ -134486,8 +134787,8 @@ call 182 pith_cstring_release void 1 181 load 183 lookup_key call 184 pith_cstring_release void 1 183 ret 173 -label L1491 -label L1489 +label L1536 +label L1534 strref 185 m46s82 load 186 fname call 187 pith_cstring_release void 1 186 @@ -134526,8 +134827,8 @@ store literal_type 4 load 5 idx iconst 6 0 lt 7 5 6 -brif 7 L1493 L1494 -label L1493 +brif 7 L1538 L1539 +label L1538 strref 8 m46s82 load 9 checked call 10 pith_cstring_release void 1 9 @@ -134538,8 +134839,8 @@ call 14 pith_cstring_release void 1 13 load 15 literal_type call 16 pith_cstring_release void 1 15 ret 8 -label L1494 -label L1492 +label L1539 +label L1537 load 17 checked load 18 idx call 19 ir_type_helpers_ir_checked_type string 1 18 @@ -134549,8 +134850,8 @@ load 21 checked call 22 string_len int 1 21 iconst 23 0 gt 24 22 23 -brif 24 L1496 L1497 -label L1496 +brif 24 L1541 L1542 +label L1541 load 25 checked load 26 node call 27 pith_struct_release void 1 26 @@ -134559,8 +134860,8 @@ call 29 pith_cstring_release void 1 28 load 30 literal_type call 31 pith_cstring_release void 1 30 ret 25 -label L1497 -label L1495 +label L1542 +label L1540 load 32 node load 33 idx call 34 ast_get_node struct:Node 1 33 @@ -134581,8 +134882,8 @@ load 45 literal_type call 46 string_len int 1 45 iconst 47 0 gt 48 46 47 -brif 48 L1499 L1500 -label L1499 +brif 48 L1544 L1545 +label L1544 load 49 literal_type load 50 checked call 51 pith_cstring_release void 1 50 @@ -134591,14 +134892,14 @@ call 53 pith_struct_release void 1 52 load 54 kind call 55 pith_cstring_release void 1 54 ret 49 -label L1500 -label L1498 +label L1545 +label L1543 load 56 kind strref 57 m46s37 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L1502 L1503 -label L1502 +brif 58 L1547 L1548 +label L1547 load 60 node field 61 60 8 string value call 62 ir_emitter_core_ir_lookup_name_type string 1 61 @@ -134611,20 +134912,20 @@ call 68 pith_cstring_release void 1 67 load 69 literal_type call 70 pith_cstring_release void 1 69 ret 62 -label L1503 -label L1501 +label L1548 +label L1546 load 71 kind strref 72 m46s515 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -brif 73 L1505 L1506 -label L1505 +brif 73 L1550 L1551 +label L1550 load 75 ir_emitter_core_ir_current_impl_type call 76 string_len int 1 75 iconst 77 0 gt 78 76 77 -brif 78 L1508 L1509 -label L1508 +brif 78 L1553 L1554 +label L1553 load 79 ir_emitter_core_ir_current_impl_type call 80 pith_cstring_retain void 1 79 load 81 checked @@ -134636,8 +134937,8 @@ call 86 pith_cstring_release void 1 85 load 87 literal_type call 88 pith_cstring_release void 1 87 ret 79 -label L1509 -label L1507 +label L1554 +label L1552 strref 89 m46s15 load 90 checked call 91 pith_cstring_release void 1 90 @@ -134648,27 +134949,27 @@ call 95 pith_cstring_release void 1 94 load 96 literal_type call 97 pith_cstring_release void 1 96 ret 89 -label L1506 -label L1504 +label L1551 +label L1549 iconst 98 0 -store __and_98_1513 98 +store __and_98_1558 98 load 99 kind strref 100 m46s512 call 101 pith_cstring_eq bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __and_98_1513 101 -brif 101 L1513 L1514 -label L1513 +store __and_98_1558 101 +brif 101 L1558 L1559 +label L1558 load 103 node field 104 103 16 list children call 105 pith_list_len int 1 104 iconst 106 0 gt 107 105 106 -store __and_98_1513 107 -label L1514 -load 108 __and_98_1513 -brif 108 L1511 L1512 -label L1511 +store __and_98_1558 107 +label L1559 +load 108 __and_98_1558 +brif 108 L1556 L1557 +label L1556 load 109 node field 110 109 16 list children iconst 111 0 @@ -134683,14 +134984,14 @@ call 119 pith_cstring_release void 1 118 load 120 literal_type call 121 pith_cstring_release void 1 120 ret 113 -label L1512 -label L1510 +label L1557 +label L1555 load 122 kind strref 123 m46s514 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -brif 124 L1516 L1517 -label L1516 +brif 124 L1561 L1562 +label L1561 load 126 node call 127 ir_emitter_core_ir_binary_expr_type string 1 126 load 128 checked @@ -134702,14 +135003,14 @@ call 133 pith_cstring_release void 1 132 load 134 literal_type call 135 pith_cstring_release void 1 134 ret 127 -label L1517 -label L1515 +label L1562 +label L1560 load 136 kind strref 137 m46s513 call 138 pith_cstring_eq bool 2 136 137 call 139 pith_cstring_release void 1 137 -brif 138 L1519 L1520 -label L1519 +brif 138 L1564 L1565 +label L1564 load 140 node call 141 ir_type_helpers_ir_unary_expr_type string 1 140 load 142 checked @@ -134721,14 +135022,14 @@ call 147 pith_cstring_release void 1 146 load 148 literal_type call 149 pith_cstring_release void 1 148 ret 141 -label L1520 -label L1518 +label L1565 +label L1563 load 150 kind strref 151 m46s44 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -brif 152 L1522 L1523 -label L1522 +brif 152 L1567 L1568 +label L1567 load 154 idx load 155 node call 156 ir_emitter_core_ir_call_expr_type string 2 154 155 @@ -134741,14 +135042,14 @@ call 162 pith_cstring_release void 1 161 load 163 literal_type call 164 pith_cstring_release void 1 163 ret 156 -label L1523 -label L1521 +label L1568 +label L1566 load 165 kind strref 166 m46s129 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -brif 167 L1525 L1526 -label L1525 +brif 167 L1570 L1571 +label L1570 load 169 idx load 170 node call 171 ir_emitter_core_ir_method_expr_type string 2 169 170 @@ -134761,14 +135062,14 @@ call 177 pith_cstring_release void 1 176 load 178 literal_type call 179 pith_cstring_release void 1 178 ret 171 -label L1526 -label L1524 +label L1571 +label L1569 load 180 kind strref 181 m46s36 call 182 pith_cstring_eq bool 2 180 181 call 183 pith_cstring_release void 1 181 -brif 182 L1528 L1529 -label L1528 +brif 182 L1573 L1574 +label L1573 load 184 node call 185 ir_emitter_core_ir_field_expr_type string 1 184 load 186 checked @@ -134780,14 +135081,14 @@ call 191 pith_cstring_release void 1 190 load 192 literal_type call 193 pith_cstring_release void 1 192 ret 185 -label L1529 -label L1527 +label L1574 +label L1572 load 194 kind strref 195 m46s500 call 196 pith_cstring_eq bool 2 194 195 call 197 pith_cstring_release void 1 195 -brif 196 L1531 L1532 -label L1531 +brif 196 L1576 L1577 +label L1576 load 198 node field 199 198 8 string value call 200 ir_alias_registry_ir_resolve_type_hint string 1 199 @@ -134800,27 +135101,27 @@ call 206 pith_cstring_release void 1 205 load 207 literal_type call 208 pith_cstring_release void 1 207 ret 200 -label L1532 -label L1530 +label L1577 +label L1575 iconst 209 0 -store __and_209_1536 209 +store __and_209_1581 209 load 210 kind strref 211 m46s35 call 212 pith_cstring_eq bool 2 210 211 call 213 pith_cstring_release void 1 211 -store __and_209_1536 212 -brif 212 L1536 L1537 -label L1536 +store __and_209_1581 212 +brif 212 L1581 L1582 +label L1581 load 214 node field 215 214 16 list children call 216 pith_list_len int 1 215 iconst 217 0 gt 218 216 217 -store __and_209_1536 218 -label L1537 -load 219 __and_209_1536 -brif 219 L1534 L1535 -label L1534 +store __and_209_1581 218 +label L1582 +load 219 __and_209_1581 +brif 219 L1579 L1580 +label L1579 load 220 idx load 221 node call 222 ir_emitter_core_ir_index_expr_type string 2 220 221 @@ -134833,8 +135134,8 @@ call 228 pith_cstring_release void 1 227 load 229 literal_type call 230 pith_cstring_release void 1 229 ret 222 -label L1535 -label L1533 +label L1580 +label L1578 strref 231 m46s82 load 232 checked call 233 pith_cstring_release void 1 232 @@ -134894,15 +135195,15 @@ load 10 target_type strref 11 m46s23 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L1539 L1540 -label L1539 +brif 12 L1584 L1585 +label L1584 load 14 vn field 15 14 0 string kind strref 16 m46s56 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L1542 L1543 -label L1542 +brif 17 L1587 L1588 +label L1587 call 19 ir_optionals_ir_emit_optional_none_value int 0 load 20 vn call 21 pith_struct_release void 1 20 @@ -134913,8 +135214,8 @@ call 25 pith_cstring_release void 1 24 load 26 empty_init_call call 27 pith_cstring_release void 1 26 ret 19 -label L1543 -label L1541 +label L1588 +label L1586 load 28 val_idx call 29 ir_emitter_core_ir_expr int 1 28 store value_r 29 @@ -134924,57 +135225,57 @@ store actual_tid 31 load 32 actual_tid iconst 33 0 gte 34 32 33 -brif 34 L1545 L1546 -label L1545 +brif 34 L1590 L1591 +label L1590 load 35 actual_info load 36 actual_tid call 37 types_get_type_info struct:TypeInfo 1 36 call 38 pith_struct_release void 1 35 store actual_info 37 iconst 39 0 -store __or_39_1550 39 +store __or_39_1595 39 iconst 40 0 -store __or_40_1550 40 +store __or_40_1595 40 load 41 actual_info field 42 41 0 string kind strref 43 m46s21 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __or_40_1550 44 -brif 44 L1551 L1550 -label L1550 +store __or_40_1595 44 +brif 44 L1596 L1595 +label L1595 load 46 actual_info field 47 46 0 string kind strref 48 m46s22 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_40_1550 49 -label L1551 -load 51 __or_40_1550 -store __or_39_1550 51 -brif 51 L1553 L1552 -label L1552 +store __or_40_1595 49 +label L1596 +load 51 __or_40_1595 +store __or_39_1595 51 +brif 51 L1598 L1597 +label L1597 load 52 actual_info field 53 52 0 string kind strref 54 m46s23 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_39_1550 55 -label L1553 -load 57 __or_39_1550 -brif 57 L1548 L1549 -label L1548 +store __or_39_1595 55 +label L1598 +load 57 __or_39_1595 +brif 57 L1593 L1594 +label L1593 load 58 val_idx call 59 ir_emitter_core_ir_string_expr_is_borrowed bool 1 58 -brif 59 L1555 L1556 -label L1555 +brif 59 L1600 L1601 +label L1600 load 60 value_r strref 61 m46s23 call 62 ir_ownership_ir_rc_retain_reg void 2 60 61 call 63 pith_cstring_release void 1 61 -jmp L1554 -label L1556 -label L1554 +jmp L1599 +label L1601 +label L1599 load 64 value_r load 65 vn call 66 pith_struct_release void 1 65 @@ -134985,43 +135286,43 @@ call 70 pith_cstring_release void 1 69 load 71 empty_init_call call 72 pith_cstring_release void 1 71 ret 64 -label L1549 -label L1547 -jmp L1544 -label L1546 -label L1544 +label L1594 +label L1592 +jmp L1589 +label L1591 +label L1589 iconst 73 0 -store __and_73_1560 73 +store __and_73_1605 73 load 74 ir_emitter_core_ir_current_impl_subst_params call 75 pith_list_len int 1 74 iconst 76 0 gt 77 75 76 -store __and_73_1560 77 -brif 77 L1560 L1561 -label L1560 +store __and_73_1605 77 +brif 77 L1605 L1606 +label L1605 iconst 78 0 -store __or_78_1562 78 +store __or_78_1607 78 load 79 vn field 80 79 0 string kind strref 81 m46s129 call 82 pith_cstring_eq bool 2 80 81 call 83 pith_cstring_release void 1 81 -store __or_78_1562 82 -brif 82 L1563 L1562 -label L1562 +store __or_78_1607 82 +brif 82 L1608 L1607 +label L1607 load 84 vn field 85 84 0 string kind strref 86 m46s44 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -store __or_78_1562 87 -label L1563 -load 89 __or_78_1562 -store __and_73_1560 89 -label L1561 -load 90 __and_73_1560 -brif 90 L1558 L1559 -label L1558 +store __or_78_1607 87 +label L1608 +load 89 __or_78_1607 +store __and_73_1605 89 +label L1606 +load 90 __and_73_1605 +brif 90 L1603 L1604 +label L1603 load 91 value_r load 92 vn call 93 pith_struct_release void 1 92 @@ -135032,8 +135333,8 @@ call 97 pith_cstring_release void 1 96 load 98 empty_init_call call 99 pith_cstring_release void 1 98 ret 91 -label L1559 -label L1557 +label L1604 +label L1602 load 100 payload_kind load 101 val_idx call 102 ir_emitter_core_ir_infer_type string 1 101 @@ -135042,81 +135343,81 @@ call 104 pith_cstring_release void 1 102 call 105 pith_cstring_release void 1 100 store payload_kind 103 iconst 106 0 -store __or_106_1567 106 +store __or_106_1612 106 iconst 107 0 -store __or_107_1567 107 +store __or_107_1612 107 iconst 108 0 -store __or_108_1567 108 +store __or_108_1612 108 iconst 109 0 -store __or_109_1567 109 +store __or_109_1612 109 iconst 110 0 -store __or_110_1567 110 +store __or_110_1612 110 load 111 payload_kind strref 112 m46s15 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -store __or_110_1567 113 -brif 113 L1568 L1567 -label L1567 +store __or_110_1612 113 +brif 113 L1613 L1612 +label L1612 load 115 payload_kind strref 116 m46s20 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -store __or_110_1567 117 -label L1568 -load 119 __or_110_1567 -store __or_109_1567 119 -brif 119 L1570 L1569 -label L1569 +store __or_110_1612 117 +label L1613 +load 119 __or_110_1612 +store __or_109_1612 119 +brif 119 L1615 L1614 +label L1614 load 120 payload_kind strref 121 m46s19 call 122 pith_cstring_eq bool 2 120 121 call 123 pith_cstring_release void 1 121 -store __or_109_1567 122 -label L1570 -load 124 __or_109_1567 -store __or_108_1567 124 -brif 124 L1572 L1571 -label L1571 +store __or_109_1612 122 +label L1615 +load 124 __or_109_1612 +store __or_108_1612 124 +brif 124 L1617 L1616 +label L1616 load 125 payload_kind strref 126 m46s18 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -store __or_108_1567 127 -label L1572 -load 129 __or_108_1567 -store __or_107_1567 129 -brif 129 L1574 L1573 -label L1573 +store __or_108_1612 127 +label L1617 +load 129 __or_108_1612 +store __or_107_1612 129 +brif 129 L1619 L1618 +label L1618 load 130 payload_kind strref 131 m46s674 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 -store __or_107_1567 132 -label L1574 -load 134 __or_107_1567 -store __or_106_1567 134 -brif 134 L1576 L1575 -label L1575 +store __or_107_1612 132 +label L1619 +load 134 __or_107_1612 +store __or_106_1612 134 +brif 134 L1621 L1620 +label L1620 load 135 payload_kind strref 136 m46s824 call 137 pith_cstring_eq bool 2 135 136 call 138 pith_cstring_release void 1 136 -store __or_106_1567 137 -label L1576 -load 139 __or_106_1567 -brif 139 L1565 L1566 -label L1565 +store __or_106_1612 137 +label L1621 +load 139 __or_106_1612 +brif 139 L1610 L1611 +label L1610 load 140 val_idx call 141 ir_emitter_core_ir_string_expr_is_borrowed bool 1 140 -brif 141 L1578 L1579 -label L1578 +brif 141 L1623 L1624 +label L1623 load 142 value_r load 143 payload_kind call 144 ir_ownership_ir_rc_retain_reg void 2 142 143 -jmp L1577 -label L1579 -label L1577 +jmp L1622 +label L1624 +label L1622 load 145 value_r load 146 payload_kind call 147 ir_optionals_ir_emit_optional_owned_some int 2 145 146 @@ -135129,8 +135430,8 @@ call 153 pith_cstring_release void 1 152 load 154 empty_init_call call 155 pith_cstring_release void 1 154 ret 147 -label L1566 -label L1564 +label L1611 +label L1609 load 156 value_r call 157 ir_optionals_ir_emit_optional_some_value int 1 156 load 158 vn @@ -135142,36 +135443,36 @@ call 163 pith_cstring_release void 1 162 load 164 empty_init_call call 165 pith_cstring_release void 1 164 ret 157 -label L1540 -label L1538 +label L1585 +label L1583 iconst 166 0 -store __and_166_1583 166 +store __and_166_1628 166 load 167 vn field 168 167 0 string kind strref 169 m46s20 call 170 pith_cstring_eq bool 2 168 169 call 171 pith_cstring_release void 1 169 -store __and_166_1583 170 -brif 170 L1583 L1584 -label L1583 +store __and_166_1628 170 +brif 170 L1628 L1629 +label L1628 load 172 vn field 173 172 16 list children call 174 pith_list_len int 1 173 iconst 175 0 eq 176 174 175 -store __and_166_1583 176 -label L1584 -load 177 __and_166_1583 -brif 177 L1581 L1582 -label L1581 +store __and_166_1628 176 +label L1629 +load 177 __and_166_1628 +brif 177 L1626 L1627 +label L1626 load 178 val_idx call 179 ir_type_helpers_ir_checked_type string 1 178 strref 180 m46s20 call 181 pith_cstring_starts_with bool 2 179 180 call 182 pith_cstring_release void 1 180 call 183 pith_cstring_release void 1 179 -brif 181 L1586 L1587 -label L1586 +brif 181 L1631 L1632 +label L1631 load 184 val_idx call 185 ir_emitter_core_ir_expr int 1 184 load 186 vn @@ -135183,11 +135484,11 @@ call 191 pith_cstring_release void 1 190 load 192 empty_init_call call 193 pith_cstring_release void 1 192 ret 185 -label L1587 -label L1585 -jmp L1580 -label L1582 -label L1580 +label L1632 +label L1630 +jmp L1625 +label L1627 +label L1625 load 194 empty_init_call load 195 vn field 196 195 0 string kind @@ -135202,8 +135503,8 @@ load 203 empty_init_call call 204 string_len int 1 203 iconst 205 0 gt 206 204 205 -brif 206 L1589 L1590 -label L1589 +brif 206 L1634 L1635 +label L1634 call 207 ir_builder_ir_reg int 0 store r 207 load 208 r @@ -135222,8 +135523,8 @@ call 220 pith_cstring_release void 1 219 load 221 empty_init_call call 222 pith_cstring_release void 1 221 ret 214 -label L1590 -label L1588 +label L1635 +label L1633 load 223 val_idx call 224 ir_emitter_core_ir_expr int 1 223 load 225 vn @@ -135260,25 +135561,25 @@ load 7 checked call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L1592 L1593 -label L1592 +brif 10 L1637 L1638 +label L1637 load 11 checked ret 11 -label L1593 -label L1591 +label L1638 +label L1636 load 12 fallback_name call 13 string_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L1595 L1596 -label L1595 +brif 15 L1640 L1641 +label L1640 load 16 fallback_name call 17 ir_emitter_core_ir_lookup_name_type string 1 16 load 18 checked call 19 pith_cstring_release void 1 18 ret 17 -label L1596 -label L1594 +label L1641 +label L1639 strref 20 m46s82 load 21 checked call 22 pith_cstring_release void 1 21 @@ -135315,8 +135616,8 @@ field 12 11 16 list children call 13 pith_list_len int 1 12 iconst 14 0 eq 15 13 14 -brif 15 L1598 L1599 -label L1598 +brif 15 L1643 L1644 +label L1643 strref 16 m46s82 load 17 recv0 call 18 pith_struct_release void 1 17 @@ -135339,8 +135640,8 @@ call 34 pith_cstring_release void 1 33 load 35 field_key call 36 pith_cstring_release void 1 35 ret 16 -label L1599 -label L1597 +label L1644 +label L1642 load 37 recv0 load 38 node field 39 38 16 list children @@ -135350,24 +135651,24 @@ call 42 ast_get_node struct:Node 1 41 call 43 pith_struct_release void 1 37 store recv0 42 iconst 44 0 -store __and_44_1603 44 +store __and_44_1648 44 load 45 recv0 field 46 45 0 string kind strref 47 m46s515 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __and_44_1603 48 -brif 48 L1603 L1604 -label L1603 +store __and_44_1648 48 +brif 48 L1648 L1649 +label L1648 load 50 ir_emitter_core_ir_current_impl_type call 51 string_len int 1 50 iconst 52 0 gt 53 51 52 -store __and_44_1603 53 -label L1604 -load 54 __and_44_1603 -brif 54 L1601 L1602 -label L1601 +store __and_44_1648 53 +label L1649 +load 54 __and_44_1648 +brif 54 L1646 L1647 +label L1646 load 55 ir_emitter_core_ir_current_impl_type call 56 pith_cstring_retain void 1 55 load 57 recv0 @@ -135391,8 +135692,8 @@ call 74 pith_cstring_release void 1 73 load 75 field_key call 76 pith_cstring_release void 1 75 ret 55 -label L1602 -label L1600 +label L1647 +label L1645 load 77 node field 78 77 16 list children iconst 79 0 @@ -135402,32 +135703,32 @@ store recv_tid 81 load 82 recv_tid iconst 83 0 gte 84 82 83 -brif 84 L1606 L1607 -label L1606 +brif 84 L1651 L1652 +label L1651 load 85 recv_info load 86 recv_tid call 87 types_get_type_info struct:TypeInfo 1 86 call 88 pith_struct_release void 1 85 store recv_info 87 iconst 89 0 -store __and_89_1611 89 +store __and_89_1656 89 load 90 recv_info field 91 90 0 string kind strref 92 m46s16 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -store __and_89_1611 93 -brif 93 L1611 L1612 -label L1611 +store __and_89_1656 93 +brif 93 L1656 L1657 +label L1656 load 95 recv_info field 96 95 64 int inner iconst 97 0 gte 98 96 97 -store __and_89_1611 98 -label L1612 -load 99 __and_89_1611 -brif 99 L1609 L1610 -label L1609 +store __and_89_1656 98 +label L1657 +load 99 __and_89_1656 +brif 99 L1654 L1655 +label L1654 strref 100 m46s666 load 101 recv_info field 102 101 64 int inner @@ -135456,27 +135757,27 @@ call 124 pith_cstring_release void 1 123 load 125 field_key call 126 pith_cstring_release void 1 125 ret 104 -label L1610 -label L1608 +label L1655 +label L1653 iconst 127 0 -store __and_127_1616 127 +store __and_127_1661 127 load 128 recv_info field 129 128 0 string kind strref 130 m46s17 call 131 pith_cstring_eq bool 2 129 130 call 132 pith_cstring_release void 1 130 -store __and_127_1616 131 -brif 131 L1616 L1617 -label L1616 +store __and_127_1661 131 +brif 131 L1661 L1662 +label L1661 load 133 recv_info field 134 133 64 int inner iconst 135 0 gte 136 134 135 -store __and_127_1616 136 -label L1617 -load 137 __and_127_1616 -brif 137 L1614 L1615 -label L1614 +store __and_127_1661 136 +label L1662 +load 137 __and_127_1661 +brif 137 L1659 L1660 +label L1659 strref 138 m46s665 load 139 recv_info field 140 139 64 int inner @@ -135505,8 +135806,8 @@ call 162 pith_cstring_release void 1 161 load 163 field_key call 164 pith_cstring_release void 1 163 ret 142 -label L1615 -label L1613 +label L1660 +label L1658 load 165 known load 166 recv_tid call 167 ir_type_helpers_ir_type_from_tid string 1 166 @@ -135516,8 +135817,8 @@ load 169 known call 170 string_len int 1 169 iconst 171 0 gt 172 170 171 -brif 172 L1619 L1620 -label L1619 +brif 172 L1664 L1665 +label L1664 load 173 known call 174 ir_emitter_core_ir_substitute_type_name string 1 173 load 175 recv0 @@ -135541,11 +135842,11 @@ call 192 pith_cstring_release void 1 191 load 193 field_key call 194 pith_cstring_release void 1 193 ret 174 -label L1620 -label L1618 -jmp L1605 -label L1607 -label L1605 +label L1665 +label L1663 +jmp L1650 +label L1652 +label L1650 load 195 checked load 196 node field 197 196 16 list children @@ -135558,8 +135859,8 @@ load 202 checked call 203 string_len int 1 202 iconst 204 0 gt 205 203 204 -brif 205 L1622 L1623 -label L1622 +brif 205 L1667 L1668 +label L1667 load 206 checked call 207 ir_emitter_core_ir_substitute_type_name string 1 206 load 208 recv0 @@ -135583,8 +135884,8 @@ call 225 pith_cstring_release void 1 224 load 226 field_key call 227 pith_cstring_release void 1 226 ret 207 -label L1623 -label L1621 +label L1668 +label L1666 load 228 inferred load 229 node field 230 229 16 list children @@ -135597,8 +135898,8 @@ load 235 inferred call 236 string_len int 1 235 iconst 237 0 gt 238 236 237 -brif 238 L1625 L1626 -label L1625 +brif 238 L1670 L1671 +label L1670 load 239 inferred call 240 ir_emitter_core_ir_substitute_type_name string 1 239 load 241 recv0 @@ -135622,8 +135923,8 @@ call 258 pith_cstring_release void 1 257 load 259 field_key call 260 pith_cstring_release void 1 259 ret 240 -label L1626 -label L1624 +label L1671 +label L1669 load 261 recv_node load 262 node field 263 262 16 list children @@ -135633,37 +135934,37 @@ call 266 ast_get_node struct:Node 1 265 call 267 pith_struct_release void 1 261 store recv_node 266 iconst 268 0 -store __and_268_1630 268 +store __and_268_1675 268 iconst 269 0 -store __and_269_1630 269 +store __and_269_1675 269 load 270 recv_node field 271 270 0 string kind strref 272 m46s36 call 273 pith_cstring_eq bool 2 271 272 call 274 pith_cstring_release void 1 272 -store __and_269_1630 273 -brif 273 L1630 L1631 -label L1630 +store __and_269_1675 273 +brif 273 L1675 L1676 +label L1675 load 275 recv_node field 276 275 16 list children call 277 pith_list_len int 1 276 iconst 278 0 gt 279 277 278 -store __and_269_1630 279 -label L1631 -load 280 __and_269_1630 -store __and_268_1630 280 -brif 280 L1632 L1633 -label L1632 +store __and_269_1675 279 +label L1676 +load 280 __and_269_1675 +store __and_268_1675 280 +brif 280 L1677 L1678 +label L1677 load 281 ir_emitter_core_ir_current_impl_type call 282 string_len int 1 281 iconst 283 0 gt 284 282 283 -store __and_268_1630 284 -label L1633 -load 285 __and_268_1630 -brif 285 L1628 L1629 -label L1628 +store __and_268_1675 284 +label L1678 +load 285 __and_268_1675 +brif 285 L1673 L1674 +label L1673 load 286 inner load 287 recv_node field 288 287 16 list children @@ -135677,8 +135978,8 @@ field 294 293 0 string kind strref 295 m46s515 call 296 pith_cstring_eq bool 2 294 295 call 297 pith_cstring_release void 1 295 -brif 296 L1635 L1636 -label L1635 +brif 296 L1680 L1681 +label L1680 load 298 fname load 299 node field 300 299 16 list children @@ -135705,8 +136006,8 @@ store field_key 315 load 318 ir_struct_registry_ir_struct_field_lookup load 319 field_key call 320 contains_key bool 2 318 319 -brif 320 L1638 L1639 -label L1638 +brif 320 L1683 L1684 +label L1683 load 321 ir_struct_registry_ir_struct_field_lookup load 322 field_key call 323 map_get_strict string 2 321 322 @@ -135732,14 +136033,14 @@ call 342 pith_cstring_release void 1 341 load 343 field_key call 344 pith_cstring_release void 1 343 ret 324 -label L1639 -label L1637 -jmp L1634 -label L1636 -label L1634 -jmp L1627 -label L1629 -label L1627 +label L1684 +label L1682 +jmp L1679 +label L1681 +label L1679 +jmp L1672 +label L1674 +label L1672 strref 345 m46s82 load 346 recv0 call 347 pith_struct_release void 1 346 @@ -135803,31 +136104,31 @@ call 11 pith_cstring_eq bool 2 8 9 iconst 12 1 sub 10 12 11 call 13 pith_cstring_release void 1 9 -brif 10 L1641 L1642 -label L1641 +brif 10 L1686 L1687 +label L1686 iconst 14 0 load 15 node call 16 pith_struct_release void 1 15 load 17 recv_info call 18 pith_struct_release void 1 17 ret 14 -label L1642 -label L1640 +label L1687 +label L1685 load 19 node field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 eq 23 21 22 -brif 23 L1644 L1645 -label L1644 +brif 23 L1689 L1690 +label L1689 iconst 24 0 load 25 node call 26 pith_struct_release void 1 25 load 27 recv_info call 28 pith_struct_release void 1 27 ret 24 -label L1645 -label L1643 +label L1690 +label L1688 load 29 node field 30 29 16 list children iconst 31 0 @@ -135837,16 +136138,16 @@ store recv_tid 33 load 34 recv_tid iconst 35 0 lt 36 34 35 -brif 36 L1647 L1648 -label L1647 +brif 36 L1692 L1693 +label L1692 iconst 37 0 load 38 node call 39 pith_struct_release void 1 38 load 40 recv_info call 41 pith_struct_release void 1 40 ret 37 -label L1648 -label L1646 +label L1693 +label L1691 load 42 recv_info load 43 recv_tid call 44 types_get_type_info struct:TypeInfo 1 43 @@ -135859,16 +136160,16 @@ call 50 pith_cstring_eq bool 2 47 48 iconst 51 1 sub 49 51 50 call 52 pith_cstring_release void 1 48 -brif 49 L1650 L1651 -label L1650 +brif 49 L1695 L1696 +label L1695 iconst 53 0 load 54 node call 55 pith_struct_release void 1 54 load 56 recv_info call 57 pith_struct_release void 1 56 ret 53 -label L1651 -label L1649 +label L1696 +label L1694 load 58 recv_info field 59 58 8 string name load 60 idx @@ -135892,8 +136193,8 @@ param operand_idx param shell_r load 2 operand_idx call 3 ir_emitter_core_ir_node_is_weak_field_read bool 1 2 -brif 3 L1653 L1654 -label L1653 +brif 3 L1698 L1699 +label L1698 call 4 ir_builder_ir_reg int 0 strref 5 m46s898 strref 6 m46s828 @@ -135901,9 +136202,9 @@ load 7 shell_r call 8 ir_call_emit_ir_emit_call1 void 4 4 5 6 7 call 9 pith_cstring_release void 1 5 call 10 pith_cstring_release void 1 6 -jmp L1652 -label L1654 -label L1652 +jmp L1697 +label L1699 +label L1697 iconst 11 0 ret 11 endfunc @@ -135979,8 +136280,8 @@ load 56 opt_tid call 57 ir_optionals_ir_optional_value_field int 2 55 56 store decoded_r 57 load 58 weak_shell -brif 58 L1656 L1657 -label L1656 +brif 58 L1701 L1702 +label L1701 call 59 ir_builder_ir_reg int 0 strref 60 m46s898 strref 61 m46s828 @@ -135988,9 +136289,9 @@ load 62 recv_r call 63 ir_call_emit_ir_emit_call1 void 4 59 60 61 62 call 64 pith_cstring_release void 1 60 call 65 pith_cstring_release void 1 61 -jmp L1655 -label L1657 -label L1655 +jmp L1700 +label L1702 +label L1700 strref 66 m46s833 load 67 merge_l concat 68 66 67 @@ -136000,8 +136301,8 @@ call 71 pith_cstring_release void 1 68 load 72 none_l call 73 ir_call_emit_ir_emit_label void 1 72 load 74 weak_shell -brif 74 L1659 L1660 -label L1659 +brif 74 L1704 L1705 +label L1704 call 75 ir_builder_ir_reg int 0 strref 76 m46s898 strref 77 m46s828 @@ -136009,24 +136310,24 @@ load 78 recv_r call 79 ir_call_emit_ir_emit_call1 void 4 75 76 77 78 call 80 pith_cstring_release void 1 76 call 81 pith_cstring_release void 1 77 -jmp L1658 -label L1660 -label L1658 +jmp L1703 +label L1705 +label L1703 iconst 82 0 -store __and_82_1664 82 +store __and_82_1709 82 load 83 ir_emitter_core_ir_emit_tests -store __and_82_1664 83 -brif 83 L1664 L1665 -label L1664 +store __and_82_1709 83 +brif 83 L1709 L1710 +label L1709 load 84 ir_emitter_core_ir_emitting_test_func -store __and_82_1664 84 -label L1665 -load 85 __and_82_1664 -brif 85 L1662 L1663 -label L1662 +store __and_82_1709 84 +label L1710 +load 85 __and_82_1709 +brif 85 L1707 L1708 +label L1707 call 86 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L1661 -label L1663 +jmp L1706 +label L1708 iconst 87 1 call 88 ir_emitter_core_ir_defer_emit_to_function_frame void 1 87 strref 89 m46s82 @@ -136064,7 +136365,7 @@ call 118 pith_cstring_release void 1 113 call 119 pith_cstring_release void 1 116 call 120 ir_builder_ir_emit void 1 117 call 121 pith_cstring_release void 1 117 -label L1661 +label L1706 load 122 merge_l call 123 ir_call_emit_ir_emit_label void 1 122 load 124 decoded_r @@ -136107,12 +136408,12 @@ iconst 10 0 store __for_idx_329 10 store __for_len_329 9 store __for_iter_329 8 -label L1666 +label L1711 load 11 __for_idx_329 load 12 __for_len_329 lt 13 11 12 -brif 13 L1667 L1669 -label L1667 +brif 13 L1712 L1714 +label L1712 load 14 __for_iter_329 load 15 __for_idx_329 call 16 pith_list_get_value unknown 2 14 15 @@ -136122,14 +136423,14 @@ store __loopvar_329_i 17 load 18 __loopvar_329_i iconst 19 0 eq 20 18 19 -brif 20 L1671 L1672 -label L1671 +brif 20 L1716 L1717 +label L1716 load 21 regs load 22 __loopvar_329_child call 23 ir_emitter_core_ir_expr int 1 22 call 24 pith_list_push_value void 2 21 23 -jmp L1670 -label L1672 +jmp L1715 +label L1717 load 25 child_kind load 26 __loopvar_329_child call 27 ast_node_kind string 1 26 @@ -136139,8 +136440,8 @@ load 29 child_kind strref 30 m46s42 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L1674 L1675 -label L1674 +brif 31 L1719 L1720 +label L1719 load 33 cn load 34 __loopvar_329_child call 35 ast_get_node struct:Node 1 34 @@ -136151,8 +136452,8 @@ field 38 37 16 list children call 39 pith_list_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L1677 L1678 -label L1677 +brif 41 L1722 L1723 +label L1722 load 42 regs load 43 cn field 44 43 16 list children @@ -136160,24 +136461,24 @@ iconst 45 0 call 46 pith_list_get_value_strict int 2 44 45 call 47 ir_emitter_core_ir_expr int 1 46 call 48 pith_list_push_value void 2 42 47 -jmp L1676 -label L1678 -label L1676 -jmp L1673 -label L1675 +jmp L1721 +label L1723 +label L1721 +jmp L1718 +label L1720 load 49 regs load 50 __loopvar_329_child call 51 ir_emitter_core_ir_expr int 1 50 call 52 pith_list_push_value void 2 49 51 -label L1673 -label L1670 -label L1668 +label L1718 +label L1715 +label L1713 load 53 __for_idx_329 iconst 54 1 add 55 53 54 store __for_idx_329 55 -jmp L1666 -label L1669 +jmp L1711 +label L1714 load 56 regs load 57 child_kind call 58 pith_cstring_release void 1 57 @@ -136206,90 +136507,90 @@ call 6 pith_cstring_char_at_strict string 2 4 5 call 7 pith_cstring_release void 1 3 store c0 6 iconst 8 0 -store __or_8_1682 8 +store __or_8_1727 8 iconst 9 0 -store __or_9_1682 9 +store __or_9_1727 9 load 10 c0 strref 11 m46s1279 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_1682 12 -brif 12 L1683 L1682 -label L1682 +store __or_9_1727 12 +brif 12 L1728 L1727 +label L1727 load 14 c0 strref 15 m46s1278 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_1682 16 -label L1683 -load 18 __or_9_1682 -store __or_8_1682 18 -brif 18 L1685 L1684 -label L1684 +store __or_9_1727 16 +label L1728 +load 18 __or_9_1727 +store __or_8_1727 18 +brif 18 L1730 L1729 +label L1729 load 19 c0 strref 20 m46s1277 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_1682 21 -label L1685 -load 23 __or_8_1682 -brif 23 L1680 L1681 -label L1680 +store __or_8_1727 21 +label L1730 +load 23 __or_8_1727 +brif 23 L1725 L1726 +label L1725 iconst 24 1 store i 24 -jmp L1679 -label L1681 -label L1679 +jmp L1724 +label L1726 +label L1724 iconst 25 0 -store __and_25_1689 25 +store __and_25_1734 25 load 26 i load 27 spec call 28 string_len int 1 27 lt 29 26 28 -store __and_25_1689 29 -brif 29 L1689 L1690 -label L1689 +store __and_25_1734 29 +brif 29 L1734 L1735 +label L1734 load 30 spec load 31 i call 32 byte_at int 2 30 31 iconst 33 48 eq 34 32 33 -store __and_25_1689 34 -label L1690 -load 35 __and_25_1689 -brif 35 L1687 L1688 -label L1687 +store __and_25_1734 34 +label L1735 +load 35 __and_25_1734 +brif 35 L1732 L1733 +label L1732 load 36 i iconst 37 1 add 38 36 37 store i 38 -jmp L1686 -label L1688 -label L1686 +jmp L1731 +label L1733 +label L1731 iconst 39 0 store w 39 iconst 40 0 store saw 40 -label L1691 +label L1736 iconst 41 0 -store __and_41_1694 41 +store __and_41_1739 41 load 42 i load 43 spec call 44 string_len int 1 43 lt 45 42 44 -store __and_41_1694 45 -brif 45 L1694 L1695 -label L1694 +store __and_41_1739 45 +brif 45 L1739 L1740 +label L1739 load 46 spec load 47 i call 48 byte_at int 2 46 47 iconst 49 46 neq 50 48 49 -store __and_41_1694 50 -label L1695 -load 51 __and_41_1694 -brif 51 L1692 L1693 -label L1692 +store __and_41_1739 50 +label L1740 +load 51 __and_41_1739 +brif 51 L1737 L1738 +label L1737 load 52 w iconst 53 10 mul 54 52 53 @@ -136306,21 +136607,21 @@ load 62 i iconst 63 1 add 64 62 63 store i 64 -jmp L1691 -label L1693 +jmp L1736 +label L1738 load 65 saw iconst 67 1 sub 66 67 65 -brif 66 L1697 L1698 -label L1697 +brif 66 L1742 L1743 +label L1742 iconst 68 0 iconst 69 1 sub 70 68 69 load 71 c0 call 72 pith_cstring_release void 1 71 ret 70 -label L1698 -label L1696 +label L1743 +label L1741 load 73 w load 74 c0 call 75 pith_cstring_release void 1 74 @@ -136340,27 +136641,27 @@ store dot 3 load 5 dot iconst 6 0 lt 7 5 6 -brif 7 L1700 L1701 -label L1700 +brif 7 L1745 L1746 +label L1745 iconst 8 0 iconst 9 1 sub 10 8 9 ret 10 -label L1701 -label L1699 +label L1746 +label L1744 iconst 11 0 store p 11 load 12 dot iconst 13 1 add 14 12 13 store i 14 -label L1702 +label L1747 load 15 i load 16 spec call 17 string_len int 1 16 lt 18 15 17 -brif 18 L1703 L1704 -label L1703 +brif 18 L1748 L1749 +label L1748 load 19 p iconst 20 10 mul 21 19 20 @@ -136375,8 +136676,8 @@ load 28 i iconst 29 1 add 30 28 29 store i 30 -jmp L1702 -label L1704 +jmp L1747 +label L1749 load 31 p ret 31 iconst 32 0 @@ -136396,26 +136697,26 @@ load 7 c0 strref 8 m46s1279 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L1706 L1707 -label L1706 +brif 9 L1751 L1752 +label L1751 load 11 ir_emitter_core_ALIGN_LEFT_BYTE load 12 c0 call 13 pith_cstring_release void 1 12 ret 11 -label L1707 -label L1705 +label L1752 +label L1750 load 14 c0 strref 15 m46s1277 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -brif 16 L1709 L1710 -label L1709 +brif 16 L1754 L1755 +label L1754 load 18 ir_emitter_core_ALIGN_CENTER_BYTE load 19 c0 call 20 pith_cstring_release void 1 19 ret 18 -label L1710 -label L1708 +label L1755 +label L1753 load 21 ir_emitter_core_ALIGN_RIGHT_BYTE load 22 c0 call 23 pith_cstring_release void 1 22 @@ -136438,65 +136739,65 @@ call 6 pith_cstring_char_at_strict string 2 4 5 call 7 pith_cstring_release void 1 3 store c0 6 iconst 8 0 -store __or_8_1714 8 +store __or_8_1759 8 iconst 9 0 -store __or_9_1714 9 +store __or_9_1759 9 load 10 c0 strref 11 m46s1279 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __or_9_1714 12 -brif 12 L1715 L1714 -label L1714 +store __or_9_1759 12 +brif 12 L1760 L1759 +label L1759 load 14 c0 strref 15 m46s1278 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_9_1714 16 -label L1715 -load 18 __or_9_1714 -store __or_8_1714 18 -brif 18 L1717 L1716 -label L1716 +store __or_9_1759 16 +label L1760 +load 18 __or_9_1759 +store __or_8_1759 18 +brif 18 L1762 L1761 +label L1761 load 19 c0 strref 20 m46s1277 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_8_1714 21 -label L1717 -load 23 __or_8_1714 -brif 23 L1712 L1713 -label L1712 +store __or_8_1759 21 +label L1762 +load 23 __or_8_1759 +brif 23 L1757 L1758 +label L1757 iconst 24 1 store i 24 -jmp L1711 -label L1713 -label L1711 +jmp L1756 +label L1758 +label L1756 iconst 25 0 -store __and_25_1721 25 +store __and_25_1766 25 load 26 i load 27 spec call 28 string_len int 1 27 lt 29 26 28 -store __and_25_1721 29 -brif 29 L1721 L1722 -label L1721 +store __and_25_1766 29 +brif 29 L1766 L1767 +label L1766 load 30 spec load 31 i call 32 byte_at int 2 30 31 iconst 33 48 eq 34 32 33 -store __and_25_1721 34 -label L1722 -load 35 __and_25_1721 -brif 35 L1719 L1720 -label L1719 +store __and_25_1766 34 +label L1767 +load 35 __and_25_1766 +brif 35 L1764 L1765 +label L1764 load 36 ir_emitter_core_FILL_ZERO_BYTE load 37 c0 call 38 pith_cstring_release void 1 37 ret 36 -label L1720 -label L1718 +label L1765 +label L1763 load 39 ir_emitter_core_FILL_SPACE_BYTE load 40 c0 call 41 pith_cstring_release void 1 40 @@ -136536,22 +136837,22 @@ iconst 19 1 sub 20 18 19 store str_r 20 iconst 21 0 -store __and_21_1726 21 +store __and_21_1771 21 load 22 prec iconst 23 0 gte 24 22 23 -store __and_21_1726 24 -brif 24 L1726 L1727 -label L1726 +store __and_21_1771 24 +brif 24 L1771 L1772 +label L1771 load 25 part_type strref 26 m46s672 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_21_1726 27 -label L1727 -load 29 __and_21_1726 -brif 29 L1724 L1725 -label L1724 +store __and_21_1771 27 +label L1772 +load 29 __and_21_1771 +brif 29 L1769 L1770 +label L1769 load 30 expr_idx call 31 ir_emitter_core_ir_expr int 1 30 store raw_r 31 @@ -136584,28 +136885,28 @@ load 55 prec_r call 56 ir_call_emit_ir_emit_call2 void 5 51 52 53 54 55 call 57 pith_cstring_release void 1 52 call 58 pith_cstring_release void 1 53 -jmp L1723 -label L1725 +jmp L1768 +label L1770 load 59 expr_idx call 60 ir_emitter_core_ir_string_interp_expr_part int 1 59 store str_r 60 -label L1723 +label L1768 load 61 spec call 62 ir_emitter_core_ir_interp_spec_width int 1 61 store width 62 load 63 width iconst 64 0 lte 65 63 64 -brif 65 L1729 L1730 -label L1729 +brif 65 L1774 L1775 +label L1774 load 66 str_r load 67 spec call 68 pith_cstring_release void 1 67 load 69 part_type call 70 pith_cstring_release void 1 69 ret 66 -label L1730 -label L1728 +label L1775 +label L1773 call 71 ir_builder_ir_reg int 0 store w_r 71 strref 72 m46s832 @@ -136712,7 +137013,7 @@ call 169 pith_cstring_release void 1 166 call 170 ir_builder_ir_emit void 1 167 call 171 pith_cstring_release void 1 167 iconst 172 0 -store __or_172_1734 172 +store __or_172_1779 172 load 173 node field 174 173 16 list children iconst 175 0 @@ -136724,9 +137025,9 @@ iconst 181 1 sub 179 181 180 call 182 pith_cstring_release void 1 177 call 183 pith_cstring_release void 1 178 -store __or_172_1734 179 -brif 179 L1735 L1734 -label L1734 +store __or_172_1779 179 +brif 179 L1780 L1779 +label L1779 load 184 node field 185 184 16 list children iconst 186 0 @@ -136734,16 +137035,16 @@ call 187 pith_list_get_value_strict int 2 185 186 call 188 ir_emitter_core_ir_string_expr_is_borrowed bool 1 187 iconst 190 1 sub 189 190 188 -store __or_172_1734 189 -label L1735 -load 191 __or_172_1734 -brif 191 L1732 L1733 -label L1732 +store __or_172_1779 189 +label L1780 +load 191 __or_172_1779 +brif 191 L1777 L1778 +label L1777 load 192 str_r call 193 ir_ownership_ir_string_release_reg void 1 192 -jmp L1731 -label L1733 -label L1731 +jmp L1776 +label L1778 +label L1776 load 194 padded_r load 195 spec call 196 pith_cstring_release void 1 195 @@ -136778,22 +137079,22 @@ load 11 part_type strref 12 m46s675 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L1737 L1738 -label L1737 +brif 13 L1782 L1783 +label L1782 load 15 part_r load 16 part_type call 17 pith_cstring_release void 1 16 load 18 part_info call 19 pith_struct_release void 1 18 ret 15 -label L1738 -label L1736 +label L1783 +label L1781 load 20 part_type strref 21 m46s673 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L1740 L1741 -label L1740 +brif 22 L1785 L1786 +label L1785 call 24 ir_builder_ir_reg int 0 store converted 24 load 25 converted @@ -136809,14 +137110,14 @@ call 34 pith_cstring_release void 1 33 load 35 part_info call 36 pith_struct_release void 1 35 ret 32 -label L1741 -label L1739 +label L1786 +label L1784 load 37 part_type strref 38 m46s672 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L1743 L1744 -label L1743 +brif 39 L1788 L1789 +label L1788 call 41 ir_builder_ir_reg int 0 store converted 41 load 42 converted @@ -136832,14 +137133,14 @@ call 51 pith_cstring_release void 1 50 load 52 part_info call 53 pith_struct_release void 1 52 ret 49 -label L1744 -label L1742 +label L1789 +label L1787 load 54 part_type strref 55 m46s671 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L1746 L1747 -label L1746 +brif 56 L1791 L1792 +label L1791 call 58 ir_builder_ir_reg int 0 store converted 58 load 59 converted @@ -136855,13 +137156,13 @@ call 68 pith_cstring_release void 1 67 load 69 part_info call 70 pith_struct_release void 1 69 ret 66 -label L1747 -label L1745 +label L1792 +label L1790 load 71 part_tid iconst 72 0 gte 73 71 72 -brif 73 L1749 L1750 -label L1749 +brif 73 L1794 L1795 +label L1794 load 74 part_info load 75 part_tid call 76 types_get_type_info struct:TypeInfo 1 75 @@ -136872,8 +137173,8 @@ field 79 78 0 string kind strref 80 m46s22 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -brif 81 L1752 L1753 -label L1752 +brif 81 L1797 L1798 +label L1797 load 83 part_r load 84 part_tid call 85 ir_emitter_core_ir_emit_result_value_to_string int 2 83 84 @@ -136882,15 +137183,15 @@ call 87 pith_cstring_release void 1 86 load 88 part_info call 89 pith_struct_release void 1 88 ret 85 -label L1753 -label L1751 +label L1798 +label L1796 load 90 part_info field 91 90 0 string kind strref 92 m46s20 call 93 pith_cstring_eq bool 2 91 92 call 94 pith_cstring_release void 1 92 -brif 93 L1755 L1756 -label L1755 +brif 93 L1800 L1801 +label L1800 load 95 part_r load 96 part_info field 97 96 64 int inner @@ -136903,15 +137204,15 @@ call 103 pith_cstring_release void 1 102 load 104 part_info call 105 pith_struct_release void 1 104 ret 100 -label L1756 -label L1754 +label L1801 +label L1799 load 106 part_info field 107 106 0 string kind strref 108 m46s19 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L1758 L1759 -label L1758 +brif 109 L1803 L1804 +label L1803 load 111 part_r load 112 part_info field 113 112 72 int key_type @@ -136927,15 +137228,15 @@ call 122 pith_cstring_release void 1 121 load 123 part_info call 124 pith_struct_release void 1 123 ret 118 -label L1759 -label L1757 +label L1804 +label L1802 load 125 part_info field 126 125 0 string kind strref 127 m46s18 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -brif 128 L1761 L1762 -label L1761 +brif 128 L1806 L1807 +label L1806 call 130 ir_builder_ir_reg int 0 store converted 130 load 131 converted @@ -136957,35 +137258,35 @@ call 146 pith_cstring_release void 1 145 load 147 part_info call 148 pith_struct_release void 1 147 ret 143 -label L1762 -label L1760 -jmp L1748 -label L1750 -label L1748 +label L1807 +label L1805 +jmp L1793 +label L1795 +label L1793 iconst 149 0 -store __and_149_1766 149 +store __and_149_1811 149 load 150 part_type call 151 string_len int 1 150 iconst 152 0 gt 153 151 152 -store __and_149_1766 153 -brif 153 L1766 L1767 -label L1766 +store __and_149_1811 153 +brif 153 L1811 L1812 +label L1811 load 154 ir_struct_registry_ir_struct_names load 155 part_type call 156 contains_key bool 2 154 155 -store __and_149_1766 156 -label L1767 -load 157 __and_149_1766 -brif 157 L1764 L1765 -label L1764 +store __and_149_1811 156 +label L1812 +load 157 __and_149_1811 +brif 157 L1809 L1810 +label L1809 load 158 ir_struct_registry_ir_boxed_enums load 159 part_type call 160 contains_key bool 2 158 159 iconst 162 1 sub 161 162 160 -brif 161 L1769 L1770 -label L1769 +brif 161 L1814 L1815 +label L1814 load 163 part_r load 164 part_type call 165 ir_emitter_core_ir_emit_display_struct int 2 163 164 @@ -136994,11 +137295,11 @@ call 167 pith_cstring_release void 1 166 load 168 part_info call 169 pith_struct_release void 1 168 ret 165 -label L1770 -label L1768 -jmp L1763 -label L1765 -label L1763 +label L1815 +label L1813 +jmp L1808 +label L1810 +label L1808 load 170 part_r load 171 part_type call 172 pith_cstring_release void 1 171 @@ -137018,32 +137319,32 @@ load 1 kind strref 2 m46s672 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L1772 L1773 -label L1772 +brif 3 L1817 L1818 +label L1817 iconst 5 1 ret 5 -label L1773 -label L1771 +label L1818 +label L1816 load 6 kind strref 7 m46s673 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L1775 L1776 -label L1775 +brif 8 L1820 L1821 +label L1820 iconst 10 2 ret 10 -label L1776 -label L1774 +label L1821 +label L1819 load 11 kind strref 12 m46s675 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L1778 L1779 -label L1778 +brif 13 L1823 L1824 +label L1823 iconst 15 3 ret 15 -label L1779 -label L1777 +label L1824 +label L1822 iconst 16 0 ret 16 iconst 17 0 @@ -137082,15 +137383,15 @@ strref 25 m46s177 call 26 pith_cstring_release void 1 24 store sort_flag 25 load 27 sorted -brif 27 L1781 L1782 -label L1781 +brif 27 L1826 L1827 +label L1826 load 28 sort_flag strref 29 m46s176 call 30 pith_cstring_release void 1 28 store sort_flag 29 -jmp L1780 -label L1782 -label L1780 +jmp L1825 +label L1827 +label L1825 strref 31 m46s832 load 32 sort_r call 33 int_to_string string 1 32 @@ -137208,8 +137509,8 @@ load 12 show_name call 13 string_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L1784 L1785 -label L1784 +brif 15 L1829 L1830 +label L1829 call 16 ir_builder_ir_reg int 0 store r 16 load 17 r @@ -137228,8 +137529,8 @@ call 29 pith_cstring_release void 1 28 load 30 label call 31 pith_cstring_release void 1 30 ret 23 -label L1785 -label L1783 +label L1830 +label L1828 call 32 ir_builder_ir_reg int 0 store acc_r 32 strref 33 m46s888 @@ -137258,12 +137559,12 @@ call 55 ir_struct_registry_ir_struct_field_count int 1 54 store total 55 iconst 56 0 store fi 56 -label L1786 +label L1831 load 57 fi load 58 total lt 59 57 58 -brif 59 L1787 L1788 -label L1787 +brif 59 L1832 L1833 +label L1832 load 60 field_name load 61 struct_name load 62 fi @@ -137286,8 +137587,8 @@ store label 73 load 76 fi iconst 77 0 gt 78 76 77 -brif 78 L1790 L1791 -label L1790 +brif 78 L1835 L1836 +label L1835 load 79 label strref 80 m46s69 load 81 field_name @@ -137299,9 +137600,9 @@ call 86 pith_cstring_release void 1 82 call 87 pith_cstring_release void 1 84 call 88 pith_cstring_release void 1 79 store label 85 -jmp L1789 -label L1791 -label L1789 +jmp L1834 +label L1836 +label L1834 call 89 ir_builder_ir_reg int 0 store label_r 89 strref 90 m46s888 @@ -137401,8 +137702,8 @@ load 180 field_kind strref 181 m46s671 call 182 pith_cstring_eq bool 2 180 181 call 183 pith_cstring_release void 1 181 -brif 182 L1793 L1794 -label L1793 +brif 182 L1838 L1839 +label L1838 call 184 ir_builder_ir_reg int 0 store text_r 184 load 185 text_r @@ -137412,14 +137713,14 @@ load 188 field_r call 189 ir_call_emit_ir_emit_call1 void 4 185 186 187 188 call 190 pith_cstring_release void 1 186 call 191 pith_cstring_release void 1 187 -jmp L1792 -label L1794 +jmp L1837 +label L1839 load 192 field_kind strref 193 m46s672 call 194 pith_cstring_eq bool 2 192 193 call 195 pith_cstring_release void 1 193 -brif 194 L1795 L1796 -label L1795 +brif 194 L1840 L1841 +label L1840 call 196 ir_builder_ir_reg int 0 store text_r 196 load 197 text_r @@ -137429,14 +137730,14 @@ load 200 field_r call 201 ir_call_emit_ir_emit_call1 void 4 197 198 199 200 call 202 pith_cstring_release void 1 198 call 203 pith_cstring_release void 1 199 -jmp L1792 -label L1796 +jmp L1837 +label L1841 load 204 field_kind strref 205 m46s673 call 206 pith_cstring_eq bool 2 204 205 call 207 pith_cstring_release void 1 205 -brif 206 L1797 L1798 -label L1797 +brif 206 L1842 L1843 +label L1842 call 208 ir_builder_ir_reg int 0 store text_r 208 load 209 text_r @@ -137446,16 +137747,16 @@ load 212 field_r call 213 ir_call_emit_ir_emit_call1 void 4 209 210 211 212 call 214 pith_cstring_release void 1 210 call 215 pith_cstring_release void 1 211 -jmp L1792 -label L1798 +jmp L1837 +label L1843 load 216 field_kind strref 217 m46s675 call 219 pith_cstring_eq bool 2 216 217 iconst 220 1 sub 218 220 219 call 221 pith_cstring_release void 1 217 -brif 218 L1799 L1800 -label L1799 +brif 218 L1844 L1845 +label L1844 call 222 ir_builder_ir_reg int 0 store text_r 222 strref 223 m46s888 @@ -137476,9 +137777,9 @@ call 237 pith_cstring_release void 1 230 call 238 pith_cstring_release void 1 234 call 239 ir_builder_ir_emit void 1 236 call 240 pith_cstring_release void 1 236 -jmp L1792 -label L1800 -label L1792 +jmp L1837 +label L1845 +label L1837 call 241 ir_builder_ir_reg int 0 store next_acc 241 strref 242 m46s1212 @@ -137510,48 +137811,48 @@ call 267 pith_cstring_release void 1 263 load 268 with_label call 269 ir_ownership_ir_string_release_reg void 1 268 iconst 270 0 -store __or_270_1804 270 +store __or_270_1849 270 iconst 271 0 -store __or_271_1804 271 +store __or_271_1849 271 load 272 field_kind strref 273 m46s671 call 274 pith_cstring_eq bool 2 272 273 call 275 pith_cstring_release void 1 273 -store __or_271_1804 274 -brif 274 L1805 L1804 -label L1804 +store __or_271_1849 274 +brif 274 L1850 L1849 +label L1849 load 276 field_kind strref 277 m46s672 call 278 pith_cstring_eq bool 2 276 277 call 279 pith_cstring_release void 1 277 -store __or_271_1804 278 -label L1805 -load 280 __or_271_1804 -store __or_270_1804 280 -brif 280 L1807 L1806 -label L1806 +store __or_271_1849 278 +label L1850 +load 280 __or_271_1849 +store __or_270_1849 280 +brif 280 L1852 L1851 +label L1851 load 281 field_kind strref 282 m46s673 call 283 pith_cstring_eq bool 2 281 282 call 284 pith_cstring_release void 1 282 -store __or_270_1804 283 -label L1807 -load 285 __or_270_1804 -brif 285 L1802 L1803 -label L1802 +store __or_270_1849 283 +label L1852 +load 285 __or_270_1849 +brif 285 L1847 L1848 +label L1847 load 286 text_r call 287 ir_ownership_ir_string_release_reg void 1 286 -jmp L1801 -label L1803 -label L1801 +jmp L1846 +label L1848 +label L1846 load 288 next_acc store acc_r 288 load 289 fi iconst 290 1 add 291 289 290 store fi 291 -jmp L1786 -label L1788 +jmp L1831 +label L1833 call 292 ir_builder_ir_reg int 0 store close_r 292 strref 293 m46s888 @@ -137629,72 +137930,72 @@ load 1 kind strref 2 m46s675 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L1809 L1810 -label L1809 +brif 3 L1854 L1855 +label L1854 iconst 5 1 ret 5 -label L1810 -label L1808 +label L1855 +label L1853 load 6 kind strref 7 m46s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L1812 L1813 -label L1812 +brif 8 L1857 L1858 +label L1857 iconst 10 2 ret 10 -label L1813 -label L1811 +label L1858 +label L1856 load 11 kind strref 12 m46s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L1815 L1816 -label L1815 +brif 13 L1860 L1861 +label L1860 iconst 15 3 ret 15 -label L1816 -label L1814 +label L1861 +label L1859 load 16 kind strref 17 m46s18 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L1818 L1819 -label L1818 +brif 18 L1863 L1864 +label L1863 iconst 20 4 ret 20 -label L1819 -label L1817 +label L1864 +label L1862 load 21 kind strref 22 m46s674 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L1821 L1822 -label L1821 +brif 23 L1866 L1867 +label L1866 iconst 25 5 ret 25 -label L1822 -label L1820 +label L1867 +label L1865 load 26 kind strref 27 m46s15 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L1824 L1825 -label L1824 +brif 28 L1869 L1870 +label L1869 iconst 30 6 ret 30 -label L1825 -label L1823 +label L1870 +label L1868 load 31 kind strref 32 m46s824 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L1827 L1828 -label L1827 +brif 33 L1872 L1873 +label L1872 iconst 35 7 ret 35 -label L1828 -label L1826 +label L1873 +label L1871 iconst 36 0 ret 36 iconst 37 0 @@ -137711,12 +138012,12 @@ iconst 5 0 store __for_idx_330 5 store __for_len_330 4 store __for_iter_330 3 -label L1829 +label L1874 load 6 __for_idx_330 load 7 __for_len_330 lt 8 6 7 -brif 8 L1830 L1832 -label L1830 +brif 8 L1875 L1877 +label L1875 load 9 __for_iter_330 load 10 __for_idx_330 call 11 pith_list_get_value_unchecked string 2 9 10 @@ -137758,8 +138059,8 @@ load 41 cap_kind call 42 string_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L1834 L1835 -label L1834 +brif 44 L1879 L1880 +label L1879 load 45 cap_val load 46 cap_kind call 47 ir_ownership_ir_rc_retain_reg void 2 45 46 @@ -137824,8 +138125,8 @@ call 104 ir_call_emit_ir_emit_call_text void 5 67 68 69 70 101 call 105 pith_cstring_release void 1 68 call 106 pith_cstring_release void 1 69 call 107 pith_cstring_release void 1 101 -jmp L1833 -label L1835 +jmp L1878 +label L1880 call 108 ir_builder_ir_reg int 0 strref 109 m46s726 strref 110 m46s828 @@ -137835,14 +138136,14 @@ load 113 cap_val call 114 ir_call_emit_ir_emit_call3 void 6 108 109 110 111 112 113 call 115 pith_cstring_release void 1 109 call 116 pith_cstring_release void 1 110 -label L1833 -label L1831 +label L1878 +label L1876 load 117 __for_idx_330 iconst 118 1 add 119 117 118 store __for_idx_330 119 -jmp L1829 -label L1832 +jmp L1874 +label L1877 load 120 cap_kind call 121 pith_cstring_release void 1 120 iconst 122 0 @@ -137875,12 +138176,12 @@ iconst 7 0 store __for_idx_331 7 store __for_len_331 6 store __for_iter_331 5 -label L1836 +label L1881 load 8 __for_idx_331 load 9 __for_len_331 lt 10 8 9 -brif 10 L1837 L1839 -label L1837 +brif 10 L1882 L1884 +label L1882 load 11 __for_iter_331 load 12 __for_idx_331 call 13 pith_list_get_value_unchecked string 2 11 12 @@ -137935,13 +138236,13 @@ call 57 pith_cstring_release void 1 51 call 58 pith_cstring_release void 1 55 call 59 ir_builder_ir_emit void 1 56 call 60 pith_cstring_release void 1 56 -label L1838 +label L1883 load 61 __for_idx_331 iconst 62 1 add 63 61 62 store __for_idx_331 63 -jmp L1836 -label L1839 +jmp L1881 +label L1884 iconst 64 0 ret 64 endfunc @@ -137965,12 +138266,12 @@ iconst 11 0 store __for_idx_332 11 store __for_len_332 10 store __for_iter_332 9 -label L1840 +label L1885 load 12 __for_idx_332 load 13 __for_len_332 lt 14 12 13 -brif 14 L1841 L1843 -label L1841 +brif 14 L1886 L1888 +label L1886 load 15 __for_iter_332 load 16 __for_idx_332 call 17 pith_list_get_value_unchecked string 2 15 16 @@ -137978,13 +138279,13 @@ store __loopvar_332_line 17 load 18 bodies load 19 __loopvar_332_line call 20 pith_list_push_value void 2 18 19 -label L1842 +label L1887 load 21 __for_idx_332 iconst 22 1 add 23 21 22 store __for_idx_332 23 -jmp L1840 -label L1843 +jmp L1885 +label L1888 load 24 bodies call 25 pith_list_retain_handle void 1 24 store ir_emitter_core_ir_lambda_bodies 24 @@ -138018,8 +138319,8 @@ param right_r param is_str_op param is_bytes_op load 5 is_str_op -brif 5 L1845 L1846 -label L1845 +brif 5 L1890 L1891 +label L1890 call 6 ir_builder_ir_reg int 0 store eq_r 6 load 7 eq_r @@ -138072,11 +138373,11 @@ call 52 ir_builder_ir_emit void 1 49 call 53 pith_cstring_release void 1 49 iconst 54 0 ret 54 -label L1846 -label L1844 +label L1891 +label L1889 load 55 is_bytes_op -brif 55 L1848 L1849 -label L1848 +brif 55 L1893 L1894 +label L1893 call 56 ir_builder_ir_reg int 0 store eq_r 56 load 57 eq_r @@ -138129,8 +138430,8 @@ call 102 ir_builder_ir_emit void 1 99 call 103 pith_cstring_release void 1 99 iconst 104 0 ret 104 -label L1849 -label L1847 +label L1894 +label L1892 strref 105 m46s1035 load 106 result_reg call 107 int_to_string string 1 106 @@ -138172,7 +138473,7 @@ call 5 ast_get_node struct:Node 1 4 call 6 pith_struct_release void 1 3 store node 5 iconst 7 0 -store __or_7_1853 7 +store __or_7_1898 7 load 8 node field 9 8 0 string kind strref 10 m46s35 @@ -138180,53 +138481,53 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -store __or_7_1853 11 -brif 11 L1854 L1853 -label L1853 +store __or_7_1898 11 +brif 11 L1899 L1898 +label L1898 load 15 node field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 0 eq 19 17 18 -store __or_7_1853 19 -label L1854 -load 20 __or_7_1853 -brif 20 L1851 L1852 -label L1851 +store __or_7_1898 19 +label L1899 +load 20 __or_7_1898 +brif 20 L1896 L1897 +label L1896 iconst 21 0 load 22 node call 23 pith_struct_release void 1 22 load 24 obj_type call 25 pith_cstring_release void 1 24 ret 21 -label L1852 -label L1850 +label L1897 +label L1895 iconst 26 0 -store __or_26_1858 26 +store __or_26_1903 26 load 27 ir_alias_registry_ir_active_generic_params call 28 pith_list_len int 1 27 iconst 29 0 gt 30 28 29 -store __or_26_1858 30 -brif 30 L1859 L1858 -label L1858 +store __or_26_1903 30 +brif 30 L1904 L1903 +label L1903 load 31 ir_emitter_core_ir_current_impl_subst_params call 32 pith_list_len int 1 31 iconst 33 0 gt 34 32 33 -store __or_26_1858 34 -label L1859 -load 35 __or_26_1858 -brif 35 L1856 L1857 -label L1856 +store __or_26_1903 34 +label L1904 +load 35 __or_26_1903 +brif 35 L1901 L1902 +label L1901 iconst 36 0 load 37 node call 38 pith_struct_release void 1 37 load 39 obj_type call 40 pith_cstring_release void 1 39 ret 36 -label L1857 -label L1855 +label L1902 +label L1900 load 41 obj_type load 42 node field 43 42 16 list children @@ -138239,8 +138540,8 @@ load 48 obj_type call 49 string_len int 1 48 iconst 50 0 eq 51 49 50 -brif 51 L1861 L1862 -label L1861 +brif 51 L1906 L1907 +label L1906 load 52 obj_type load 53 node field 54 53 16 list children @@ -138249,9 +138550,9 @@ call 56 pith_list_get_value_strict int 2 54 55 call 57 ir_emitter_core_ir_infer_type string 1 56 call 58 pith_cstring_release void 1 52 store obj_type 57 -jmp L1860 -label L1862 -label L1860 +jmp L1905 +label L1907 +label L1905 load 59 obj_type strref 60 m46s675 call 61 pith_cstring_eq bool 2 59 60 @@ -138271,45 +138572,45 @@ endfunc func ir_emitter_core_ir_binary_op_is_comparison 1 bool param simple_op iconst 1 0 -store __or_1_1863 1 +store __or_1_1908 1 iconst 2 0 -store __or_2_1863 2 +store __or_2_1908 2 iconst 3 0 -store __or_3_1863 3 +store __or_3_1908 3 load 4 simple_op strref 5 m46s465 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_3_1863 6 -brif 6 L1864 L1863 -label L1863 +store __or_3_1908 6 +brif 6 L1909 L1908 +label L1908 load 8 simple_op strref 9 m46s462 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_3_1863 10 -label L1864 -load 12 __or_3_1863 -store __or_2_1863 12 -brif 12 L1866 L1865 -label L1865 +store __or_3_1908 10 +label L1909 +load 12 __or_3_1908 +store __or_2_1908 12 +brif 12 L1911 L1910 +label L1910 load 13 simple_op strref 14 m46s459 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_2_1863 15 -label L1866 -load 17 __or_2_1863 -store __or_1_1863 17 -brif 17 L1868 L1867 -label L1867 +store __or_2_1908 15 +label L1911 +load 17 __or_2_1908 +store __or_1_1908 17 +brif 17 L1913 L1912 +label L1912 load 18 simple_op strref 19 m46s456 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_1_1863 20 -label L1868 -load 22 __or_1_1863 +store __or_1_1908 20 +label L1913 +load 22 __or_1_1908 ret 22 iconst 23 0 ret 23 @@ -138321,146 +138622,146 @@ param expr_type iconst 3 0 store arg_kind 3 iconst 4 0 -store __and_4_1872 4 +store __and_4_1917 4 load 5 expr_type strref 6 m46s675 call 7 pith_cstring_eq bool 2 5 6 call 8 pith_cstring_release void 1 6 -store __and_4_1872 7 -brif 7 L1872 L1873 -label L1872 +store __and_4_1917 7 +brif 7 L1917 L1918 +label L1917 load 9 expr_idx call 10 ir_emitter_core_ir_string_expr_is_borrowed bool 1 9 iconst 12 1 sub 11 12 10 -store __and_4_1872 11 -label L1873 -load 13 __and_4_1872 -brif 13 L1870 L1871 -label L1870 +store __and_4_1917 11 +label L1918 +load 13 __and_4_1917 +brif 13 L1915 L1916 +label L1915 load 14 reg call 15 ir_ownership_ir_string_release_reg void 1 14 -jmp L1869 -label L1871 +jmp L1914 +label L1916 iconst 16 0 -store __and_16_1876 16 +store __and_16_1921 16 load 17 expr_type strref 18 m46s674 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __and_16_1876 19 -brif 19 L1876 L1877 -label L1876 +store __and_16_1921 19 +brif 19 L1921 L1922 +label L1921 load 21 expr_idx call 22 ir_emitter_core_ir_string_expr_is_borrowed bool 1 21 iconst 24 1 sub 23 24 22 -store __and_16_1876 23 -label L1877 -load 25 __and_16_1876 -brif 25 L1874 L1875 -label L1874 +store __and_16_1921 23 +label L1922 +load 25 __and_16_1921 +brif 25 L1919 L1920 +label L1919 load 26 reg strref 27 m46s674 call 28 ir_ownership_ir_rc_release_reg void 2 26 27 call 29 pith_cstring_release void 1 27 -jmp L1869 -label L1875 +jmp L1914 +label L1920 load 30 expr_idx call 31 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 30 -brif 31 L1878 L1879 -label L1878 +brif 31 L1923 L1924 +label L1923 load 32 reg call 33 ir_ownership_ir_string_release_reg void 1 32 -jmp L1869 -label L1879 +jmp L1914 +label L1924 load 34 expr_idx call 35 ir_emitter_core_ir_expr_is_transferred_call_temp bool 1 34 -brif 35 L1880 L1881 -label L1880 +brif 35 L1925 L1926 +label L1925 load 36 reg call 37 ir_ownership_ir_string_release_reg void 1 36 -jmp L1869 -label L1881 +jmp L1914 +label L1926 load 38 arg_kind load 39 expr_type call 40 ir_struct_registry_ir_rc_kind string 1 39 call 41 pith_cstring_release void 1 38 store arg_kind 40 iconst 42 0 -store __and_42_1885 42 +store __and_42_1930 42 load 43 arg_kind call 44 string_len int 1 43 iconst 45 0 eq 46 44 45 -store __and_42_1885 46 -brif 46 L1885 L1886 -label L1885 +store __and_42_1930 46 +brif 46 L1930 L1931 +label L1930 iconst 47 0 -store __or_47_1887 47 +store __or_47_1932 47 load 48 expr_idx call 49 ast_get_node struct:Node 1 48 field 50 49 0 string kind strref 51 m46s501 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_47_1887 52 -brif 52 L1888 L1887 -label L1887 +store __or_47_1932 52 +brif 52 L1933 L1932 +label L1932 load 54 expr_idx call 55 ir_emitter_core_ir_expr_is_named_function_value bool 1 54 -store __or_47_1887 55 -label L1888 -load 56 __or_47_1887 -store __and_42_1885 56 -label L1886 -load 57 __and_42_1885 -brif 57 L1883 L1884 -label L1883 +store __or_47_1932 55 +label L1933 +load 56 __or_47_1932 +store __and_42_1930 56 +label L1931 +load 57 __and_42_1930 +brif 57 L1928 L1929 +label L1928 load 58 arg_kind strref 59 m46s824 call 60 pith_cstring_release void 1 58 store arg_kind 59 -jmp L1882 -label L1884 -label L1882 +jmp L1927 +label L1929 +label L1927 iconst 61 0 -store __and_61_1892 61 +store __and_61_1937 61 iconst 62 0 -store __or_62_1892 62 +store __or_62_1937 62 load 63 arg_kind strref 64 m46s15 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __or_62_1892 65 -brif 65 L1893 L1892 -label L1892 +store __or_62_1937 65 +brif 65 L1938 L1937 +label L1937 load 67 arg_kind strref 68 m46s824 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -store __or_62_1892 69 -label L1893 -load 71 __or_62_1892 -store __and_61_1892 71 -brif 71 L1894 L1895 -label L1894 +store __or_62_1937 69 +label L1938 +load 71 __or_62_1937 +store __and_61_1937 71 +brif 71 L1939 L1940 +label L1939 load 72 expr_idx call 73 ir_emitter_core_ir_string_expr_is_borrowed bool 1 72 iconst 75 1 sub 74 75 73 -store __and_61_1892 74 -label L1895 -load 76 __and_61_1892 -brif 76 L1890 L1891 -label L1890 +store __and_61_1937 74 +label L1940 +load 76 __and_61_1937 +brif 76 L1935 L1936 +label L1935 load 77 reg load 78 arg_kind call 79 ir_ownership_ir_rc_release_reg void 2 77 78 -jmp L1889 -label L1891 -label L1889 -label L1869 +jmp L1934 +label L1936 +label L1934 +label L1914 load 80 arg_kind call 81 pith_cstring_release void 1 80 iconst 82 0 @@ -138478,7 +138779,7 @@ call 5 ast_get_node struct:Node 1 4 call 6 pith_struct_release void 1 3 store node 5 iconst 7 0 -store __and_7_1899 7 +store __and_7_1944 7 load 8 node field 9 8 0 string kind strref 10 m46s44 @@ -138486,9 +138787,9 @@ call 12 pith_cstring_eq bool 2 9 10 iconst 13 1 sub 11 13 12 call 14 pith_cstring_release void 1 10 -store __and_7_1899 11 -brif 11 L1899 L1900 -label L1899 +store __and_7_1944 11 +brif 11 L1944 L1945 +label L1944 load 15 node field 16 15 0 string kind strref 17 m46s129 @@ -138496,45 +138797,45 @@ call 19 pith_cstring_eq bool 2 16 17 iconst 20 1 sub 18 20 19 call 21 pith_cstring_release void 1 17 -store __and_7_1899 18 -label L1900 -load 22 __and_7_1899 -brif 22 L1897 L1898 -label L1897 +store __and_7_1944 18 +label L1945 +load 22 __and_7_1944 +brif 22 L1942 L1943 +label L1942 iconst 23 0 load 24 node call 25 pith_struct_release void 1 24 load 26 expr_type call 27 pith_cstring_release void 1 26 ret 23 -label L1898 -label L1896 +label L1943 +label L1941 iconst 28 0 -store __or_28_1904 28 +store __or_28_1949 28 load 29 ir_alias_registry_ir_active_generic_params call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -store __or_28_1904 32 -brif 32 L1905 L1904 -label L1904 +store __or_28_1949 32 +brif 32 L1950 L1949 +label L1949 load 33 ir_emitter_core_ir_current_impl_subst_params call 34 pith_list_len int 1 33 iconst 35 0 gt 36 34 35 -store __or_28_1904 36 -label L1905 -load 37 __or_28_1904 -brif 37 L1902 L1903 -label L1902 +store __or_28_1949 36 +label L1950 +load 37 __or_28_1949 +brif 37 L1947 L1948 +label L1947 iconst 38 0 load 39 node call 40 pith_struct_release void 1 39 load 41 expr_type call 42 pith_cstring_release void 1 41 ret 38 -label L1903 -label L1901 +label L1948 +label L1946 load 43 expr_type load 44 idx call 45 ir_type_helpers_ir_checked_type string 1 44 @@ -138544,16 +138845,16 @@ load 47 expr_type call 48 string_len int 1 47 iconst 49 0 eq 50 48 49 -brif 50 L1907 L1908 -label L1907 +brif 50 L1952 L1953 +label L1952 load 51 expr_type load 52 idx call 53 ir_emitter_core_ir_infer_type string 1 52 call 54 pith_cstring_release void 1 51 store expr_type 53 -jmp L1906 -label L1908 -label L1906 +jmp L1951 +label L1953 +label L1951 load 55 expr_type strref 56 m46s675 call 57 pith_cstring_eq bool 2 55 56 @@ -138582,8 +138883,8 @@ store n 4 load 5 n iconst 6 3 lt 7 5 6 -brif 7 L1910 L1911 -label L1910 +brif 7 L1955 L1956 +label L1955 iconst 8 0 iconst 9 1 sub 10 8 9 @@ -138592,8 +138893,8 @@ call 12 pith_cstring_release void 1 11 load 13 e call 14 pith_cstring_release void 1 13 ret 10 -label L1911 -label L1909 +label L1956 +label L1954 load 15 n iconst 16 2 sub 17 15 16 @@ -138601,8 +138902,8 @@ store inner_len 17 load 18 inner_len iconst 19 1 eq 20 18 19 -brif 20 L1913 L1914 -label L1913 +brif 20 L1958 L1959 +label L1958 load 21 c load 22 raw iconst 23 1 @@ -138613,8 +138914,8 @@ load 26 c strref 27 m46s1265 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L1916 L1917 -label L1916 +brif 28 L1961 L1962 +label L1961 iconst 30 0 iconst 31 1 sub 32 30 31 @@ -138623,8 +138924,8 @@ call 34 pith_cstring_release void 1 33 load 35 e call 36 pith_cstring_release void 1 35 ret 32 -label L1917 -label L1915 +label L1962 +label L1960 load 37 c call 38 ord int 1 37 load 39 c @@ -138632,26 +138933,26 @@ call 40 pith_cstring_release void 1 39 load 41 e call 42 pith_cstring_release void 1 41 ret 38 -label L1914 -label L1912 +label L1959 +label L1957 iconst 43 0 -store __and_43_1921 43 +store __and_43_1966 43 load 44 inner_len iconst 45 2 eq 46 44 45 -store __and_43_1921 46 -brif 46 L1921 L1922 -label L1921 +store __and_43_1966 46 +brif 46 L1966 L1967 +label L1966 load 47 raw iconst 48 1 call 49 byte_at int 2 47 48 iconst 50 92 eq 51 49 50 -store __and_43_1921 51 -label L1922 -load 52 __and_43_1921 -brif 52 L1919 L1920 -label L1919 +store __and_43_1966 51 +label L1967 +load 52 __and_43_1966 +brif 52 L1964 L1965 +label L1964 load 53 e load 54 raw iconst 55 2 @@ -138662,103 +138963,103 @@ load 58 e strref 59 m46s1267 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L1924 L1925 -label L1924 +brif 60 L1969 L1970 +label L1969 iconst 62 10 load 63 c call 64 pith_cstring_release void 1 63 load 65 e call 66 pith_cstring_release void 1 65 ret 62 -label L1925 -label L1923 +label L1970 +label L1968 load 67 e strref 68 m46s1234 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L1927 L1928 -label L1927 +brif 69 L1972 L1973 +label L1972 iconst 71 9 load 72 c call 73 pith_cstring_release void 1 72 load 74 e call 75 pith_cstring_release void 1 74 ret 71 -label L1928 -label L1926 +label L1973 +label L1971 load 76 e strref 77 m46s1266 call 78 pith_cstring_eq bool 2 76 77 call 79 pith_cstring_release void 1 77 -brif 78 L1930 L1931 -label L1930 +brif 78 L1975 L1976 +label L1975 iconst 80 13 load 81 c call 82 pith_cstring_release void 1 81 load 83 e call 84 pith_cstring_release void 1 83 ret 80 -label L1931 -label L1929 +label L1976 +label L1974 load 85 e strref 86 m46s177 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L1933 L1934 -label L1933 +brif 87 L1978 L1979 +label L1978 iconst 89 0 load 90 c call 91 pith_cstring_release void 1 90 load 92 e call 93 pith_cstring_release void 1 92 ret 89 -label L1934 -label L1932 +label L1979 +label L1977 load 94 e strref 95 m46s1265 call 96 pith_cstring_eq bool 2 94 95 call 97 pith_cstring_release void 1 95 -brif 96 L1936 L1937 -label L1936 +brif 96 L1981 L1982 +label L1981 iconst 98 92 load 99 c call 100 pith_cstring_release void 1 99 load 101 e call 102 pith_cstring_release void 1 101 ret 98 -label L1937 -label L1935 +label L1982 +label L1980 load 103 e strref 104 m46s1264 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -brif 105 L1939 L1940 -label L1939 +brif 105 L1984 L1985 +label L1984 iconst 107 34 load 108 c call 109 pith_cstring_release void 1 108 load 110 e call 111 pith_cstring_release void 1 110 ret 107 -label L1940 -label L1938 +label L1985 +label L1983 load 112 e strref 113 m46s96 call 114 pith_cstring_eq bool 2 112 113 call 115 pith_cstring_release void 1 113 -brif 114 L1942 L1943 -label L1942 +brif 114 L1987 L1988 +label L1987 iconst 116 39 load 117 c call 118 pith_cstring_release void 1 117 load 119 e call 120 pith_cstring_release void 1 119 ret 116 -label L1943 -label L1941 -jmp L1918 -label L1920 -label L1918 +label L1988 +label L1986 +jmp L1963 +label L1965 +label L1963 iconst 121 0 iconst 122 1 sub 123 121 122 @@ -138788,29 +139089,29 @@ call 6 ast_get_node struct:Node 1 5 call 7 pith_struct_release void 1 4 store node 6 iconst 8 0 -store __and_8_1947 8 +store __and_8_1992 8 load 9 node field 10 9 0 string kind strref 11 m46s35 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __and_8_1947 12 -brif 12 L1947 L1948 -label L1947 +store __and_8_1992 12 +brif 12 L1992 L1993 +label L1992 load 14 node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 2 gte 18 16 17 -store __and_8_1947 18 -label L1948 -load 19 __and_8_1947 -brif 19 L1945 L1946 -label L1945 +store __and_8_1992 18 +label L1993 +load 19 __and_8_1992 +brif 19 L1990 L1991 +label L1990 load 20 idx call 21 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 20 -brif 21 L1950 L1951 -label L1950 +brif 21 L1995 L1996 +label L1995 load 22 node field 23 22 16 list children iconst 24 0 @@ -138841,8 +139142,8 @@ call 45 pith_struct_release void 1 44 load 46 arg call 47 pith_struct_release void 1 46 ret 41 -label L1951 -label L1949 +label L1996 +label L1994 iconst 48 0 iconst 49 1 sub 50 48 49 @@ -138853,41 +139154,41 @@ call 54 pith_struct_release void 1 53 load 55 arg call 56 pith_struct_release void 1 55 ret 50 -label L1946 -label L1944 +label L1991 +label L1989 iconst 57 0 -store __or_57_1955 57 +store __or_57_2000 57 iconst 58 0 -store __or_58_1955 58 +store __or_58_2000 58 load 59 node field 60 59 0 string kind strref 61 m46s517 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __or_58_1955 62 -brif 62 L1956 L1955 -label L1955 +store __or_58_2000 62 +brif 62 L2001 L2000 +label L2000 load 64 node field 65 64 0 string kind strref 66 m46s675 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __or_58_1955 67 -label L1956 -load 69 __or_58_1955 -store __or_57_1955 69 -brif 69 L1958 L1957 -label L1957 +store __or_58_2000 67 +label L2001 +load 69 __or_58_2000 +store __or_57_2000 69 +brif 69 L2003 L2002 +label L2002 load 70 node field 71 70 0 string kind strref 72 m46s1025 call 73 pith_cstring_eq bool 2 71 72 call 74 pith_cstring_release void 1 72 -store __or_57_1955 73 -label L1958 -load 75 __or_57_1955 -brif 75 L1953 L1954 -label L1953 +store __or_57_2000 73 +label L2003 +load 75 __or_57_2000 +brif 75 L1998 L1999 +label L1998 load 76 node field 77 76 8 string value call 78 ir_emitter_core_ir_string_lit_single_byte int 1 77 @@ -138895,8 +139196,8 @@ store b 78 load 79 b iconst 80 0 gte 81 79 80 -brif 81 L1960 L1961 -label L1960 +brif 81 L2005 L2006 +label L2005 call 82 ir_builder_ir_reg int 0 store r 82 strref 83 m46s832 @@ -138924,8 +139225,8 @@ call 104 pith_struct_release void 1 103 load 105 arg call 106 pith_struct_release void 1 105 ret 100 -label L1961 -label L1959 +label L2006 +label L2004 iconst 107 0 iconst 108 1 sub 109 107 108 @@ -138936,28 +139237,28 @@ call 113 pith_struct_release void 1 112 load 114 arg call 115 pith_struct_release void 1 114 ret 109 -label L1954 -label L1952 +label L1999 +label L1997 iconst 116 0 -store __and_116_1965 116 +store __and_116_2010 116 load 117 node field 118 117 0 string kind strref 119 m46s44 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -store __and_116_1965 120 -brif 120 L1965 L1966 -label L1965 +store __and_116_2010 120 +brif 120 L2010 L2011 +label L2010 load 122 node field 123 122 16 list children call 124 pith_list_len int 1 123 iconst 125 2 gte 126 124 125 -store __and_116_1965 126 -label L1966 -load 127 __and_116_1965 -brif 127 L1963 L1964 -label L1963 +store __and_116_2010 126 +label L2011 +load 127 __and_116_2010 +brif 127 L2008 L2009 +label L2008 load 128 callee load 129 node field 130 129 16 list children @@ -138975,38 +139276,38 @@ call 140 ast_get_node struct:Node 1 139 call 141 pith_struct_release void 1 135 store arg 140 iconst 142 0 -store __and_142_1970 142 +store __and_142_2015 142 iconst 143 0 -store __and_143_1970 143 +store __and_143_2015 143 load 144 callee field 145 144 0 string kind strref 146 m46s37 call 147 pith_cstring_eq bool 2 145 146 call 148 pith_cstring_release void 1 146 -store __and_143_1970 147 -brif 147 L1970 L1971 -label L1970 +store __and_143_2015 147 +brif 147 L2015 L2016 +label L2015 load 149 callee field 150 149 8 string value strref 151 m46s1262 call 152 pith_cstring_eq bool 2 150 151 call 153 pith_cstring_release void 1 151 -store __and_143_1970 152 -label L1971 -load 154 __and_143_1970 -store __and_142_1970 154 -brif 154 L1972 L1973 -label L1972 +store __and_143_2015 152 +label L2016 +load 154 __and_143_2015 +store __and_142_2015 154 +brif 154 L2017 L2018 +label L2017 load 155 arg field 156 155 0 string kind strref 157 m46s519 call 158 pith_cstring_eq bool 2 156 157 call 159 pith_cstring_release void 1 157 -store __and_142_1970 158 -label L1973 -load 160 __and_142_1970 -brif 160 L1968 L1969 -label L1968 +store __and_142_2015 158 +label L2018 +load 160 __and_142_2015 +brif 160 L2013 L2014 +label L2013 call 161 ir_builder_ir_reg int 0 store r 161 strref 162 m46s832 @@ -139033,11 +139334,11 @@ call 182 pith_struct_release void 1 181 load 183 arg call 184 pith_struct_release void 1 183 ret 178 -label L1969 -label L1967 -jmp L1962 -label L1964 -label L1962 +label L2014 +label L2012 +jmp L2007 +label L2009 +label L2007 iconst 185 0 iconst 186 1 sub 187 185 186 @@ -139071,25 +139372,25 @@ call 6 ast_get_node struct:Node 1 5 call 7 pith_struct_release void 1 4 store node 6 iconst 8 0 -store __and_8_1977 8 +store __and_8_2022 8 load 9 node field 10 9 0 string kind strref 11 m46s35 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -store __and_8_1977 12 -brif 12 L1977 L1978 -label L1977 +store __and_8_2022 12 +brif 12 L2022 L2023 +label L2022 load 14 node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 2 gte 18 16 17 -store __and_8_1977 18 -label L1978 -load 19 __and_8_1977 -brif 19 L1975 L1976 -label L1975 +store __and_8_2022 18 +label L2023 +load 19 __and_8_2022 +brif 19 L2020 L2021 +label L2020 load 20 idx call 21 ir_emitter_core_ir_expr_is_fresh_string_index bool 1 20 load 22 node @@ -139099,41 +139400,41 @@ call 25 pith_struct_release void 1 24 load 26 arg call 27 pith_struct_release void 1 26 ret 21 -label L1976 -label L1974 +label L2021 +label L2019 iconst 28 0 -store __or_28_1982 28 +store __or_28_2027 28 iconst 29 0 -store __or_29_1982 29 +store __or_29_2027 29 load 30 node field 31 30 0 string kind strref 32 m46s517 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -store __or_29_1982 33 -brif 33 L1983 L1982 -label L1982 +store __or_29_2027 33 +brif 33 L2028 L2027 +label L2027 load 35 node field 36 35 0 string kind strref 37 m46s675 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __or_29_1982 38 -label L1983 -load 40 __or_29_1982 -store __or_28_1982 40 -brif 40 L1985 L1984 -label L1984 +store __or_29_2027 38 +label L2028 +load 40 __or_29_2027 +store __or_28_2027 40 +brif 40 L2030 L2029 +label L2029 load 41 node field 42 41 0 string kind strref 43 m46s1025 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __or_28_1982 44 -label L1985 -load 46 __or_28_1982 -brif 46 L1980 L1981 -label L1980 +store __or_28_2027 44 +label L2030 +load 46 __or_28_2027 +brif 46 L2025 L2026 +label L2025 load 47 node field 48 47 8 string value call 49 ir_emitter_core_ir_string_lit_single_byte int 1 48 @@ -139146,28 +139447,28 @@ call 55 pith_struct_release void 1 54 load 56 arg call 57 pith_struct_release void 1 56 ret 51 -label L1981 -label L1979 +label L2026 +label L2024 iconst 58 0 -store __and_58_1989 58 +store __and_58_2034 58 load 59 node field 60 59 0 string kind strref 61 m46s44 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __and_58_1989 62 -brif 62 L1989 L1990 -label L1989 +store __and_58_2034 62 +brif 62 L2034 L2035 +label L2034 load 64 node field 65 64 16 list children call 66 pith_list_len int 1 65 iconst 67 2 gte 68 66 67 -store __and_58_1989 68 -label L1990 -load 69 __and_58_1989 -brif 69 L1987 L1988 -label L1987 +store __and_58_2034 68 +label L2035 +load 69 __and_58_2034 +brif 69 L2032 L2033 +label L2032 load 70 callee load 71 node field 72 71 16 list children @@ -139185,36 +139486,36 @@ call 82 ast_get_node struct:Node 1 81 call 83 pith_struct_release void 1 77 store arg 82 iconst 84 0 -store __and_84_1991 84 +store __and_84_2036 84 iconst 85 0 -store __and_85_1991 85 +store __and_85_2036 85 load 86 callee field 87 86 0 string kind strref 88 m46s37 call 89 pith_cstring_eq bool 2 87 88 call 90 pith_cstring_release void 1 88 -store __and_85_1991 89 -brif 89 L1991 L1992 -label L1991 +store __and_85_2036 89 +brif 89 L2036 L2037 +label L2036 load 91 callee field 92 91 8 string value strref 93 m46s1262 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -store __and_85_1991 94 -label L1992 -load 96 __and_85_1991 -store __and_84_1991 96 -brif 96 L1993 L1994 -label L1993 +store __and_85_2036 94 +label L2037 +load 96 __and_85_2036 +store __and_84_2036 96 +brif 96 L2038 L2039 +label L2038 load 97 arg field 98 97 0 string kind strref 99 m46s519 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __and_84_1991 100 -label L1994 -load 102 __and_84_1991 +store __and_84_2036 100 +label L2039 +load 102 __and_84_2036 load 103 node call 104 pith_struct_release void 1 103 load 105 callee @@ -139222,8 +139523,8 @@ call 106 pith_struct_release void 1 105 load 107 arg call 108 pith_struct_release void 1 107 ret 102 -label L1988 -label L1986 +label L2033 +label L2031 iconst 109 0 load 110 node call 111 pith_struct_release void 1 110 @@ -139265,7 +139566,7 @@ call 16 ast_get_node struct:Node 1 15 call 17 pith_struct_release void 1 11 store right 16 iconst 18 0 -store __and_18_1998 18 +store __and_18_2043 18 load 19 left field 20 19 0 string kind strref 21 m46s35 @@ -139273,9 +139574,9 @@ call 23 pith_cstring_eq bool 2 20 21 iconst 24 1 sub 22 24 23 call 25 pith_cstring_release void 1 21 -store __and_18_1998 22 -brif 22 L1998 L1999 -label L1998 +store __and_18_2043 22 +brif 22 L2043 L2044 +label L2043 load 26 right field 27 26 0 string kind strref 28 m46s35 @@ -139283,11 +139584,11 @@ call 30 pith_cstring_eq bool 2 27 28 iconst 31 1 sub 29 31 30 call 32 pith_cstring_release void 1 28 -store __and_18_1998 29 -label L1999 -load 33 __and_18_1998 -brif 33 L1996 L1997 -label L1996 +store __and_18_2043 29 +label L2044 +load 33 __and_18_2043 +brif 33 L2041 L2042 +label L2041 iconst 34 0 iconst 35 1 sub 36 34 35 @@ -139296,10 +139597,10 @@ call 38 pith_struct_release void 1 37 load 39 right call 40 pith_struct_release void 1 39 ret 36 -label L1997 -label L1995 +label L2042 +label L2040 iconst 41 0 -store __or_41_2003 41 +store __or_41_2048 41 load 42 node field 43 42 16 list children iconst 44 0 @@ -139311,9 +139612,9 @@ iconst 50 1 sub 48 50 49 call 51 pith_cstring_release void 1 46 call 52 pith_cstring_release void 1 47 -store __or_41_2003 48 -brif 48 L2004 L2003 -label L2003 +store __or_41_2048 48 +brif 48 L2049 L2048 +label L2048 load 53 node field 54 53 16 list children iconst 55 1 @@ -139325,11 +139626,11 @@ iconst 61 1 sub 59 61 60 call 62 pith_cstring_release void 1 57 call 63 pith_cstring_release void 1 58 -store __or_41_2003 59 -label L2004 -load 64 __or_41_2003 -brif 64 L2001 L2002 -label L2001 +store __or_41_2048 59 +label L2049 +load 64 __or_41_2048 +brif 64 L2046 L2047 +label L2046 iconst 65 0 iconst 66 1 sub 67 65 66 @@ -139338,10 +139639,10 @@ call 69 pith_struct_release void 1 68 load 70 right call 71 pith_struct_release void 1 70 ret 67 -label L2002 -label L2000 +label L2047 +label L2045 iconst 72 0 -store __or_72_2008 72 +store __or_72_2053 72 load 73 node field 74 73 16 list children iconst 75 0 @@ -139349,9 +139650,9 @@ call 76 pith_list_get_value_strict int 2 74 75 call 77 ir_emitter_core_ir_is_byte_operand bool 1 76 iconst 79 1 sub 78 79 77 -store __or_72_2008 78 -brif 78 L2009 L2008 -label L2008 +store __or_72_2053 78 +brif 78 L2054 L2053 +label L2053 load 80 node field 81 80 16 list children iconst 82 1 @@ -139359,11 +139660,11 @@ call 83 pith_list_get_value_strict int 2 81 82 call 84 ir_emitter_core_ir_is_byte_operand bool 1 83 iconst 86 1 sub 85 86 84 -store __or_72_2008 85 -label L2009 -load 87 __or_72_2008 -brif 87 L2006 L2007 -label L2006 +store __or_72_2053 85 +label L2054 +load 87 __or_72_2053 +brif 87 L2051 L2052 +label L2051 iconst 88 0 iconst 89 1 sub 90 88 89 @@ -139372,8 +139673,8 @@ call 92 pith_struct_release void 1 91 load 93 right call 94 pith_struct_release void 1 93 ret 90 -label L2007 -label L2005 +label L2052 +label L2050 load 95 node field 96 95 16 list children iconst 97 0 @@ -139392,8 +139693,8 @@ load 106 op strref 107 m46s469 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 107 -brif 108 L2011 L2012 -label L2011 +brif 108 L2056 L2057 +label L2056 strref 110 m46s839 load 111 r call 112 int_to_string string 1 111 @@ -139420,8 +139721,8 @@ call 132 pith_cstring_release void 1 126 call 133 pith_cstring_release void 1 130 call 134 ir_builder_ir_emit void 1 131 call 135 pith_cstring_release void 1 131 -jmp L2010 -label L2012 +jmp L2055 +label L2057 strref 136 m46s1035 load 137 r call 138 int_to_string string 1 137 @@ -139448,7 +139749,7 @@ call 158 pith_cstring_release void 1 152 call 159 pith_cstring_release void 1 156 call 160 ir_builder_ir_emit void 1 157 call 161 pith_cstring_release void 1 157 -label L2010 +label L2055 load 162 r load 163 left call 164 pith_struct_release void 1 163 @@ -139545,8 +139846,8 @@ load 68 op strref 69 m46s451 call 70 pith_cstring_eq bool 2 68 69 call 71 pith_cstring_release void 1 69 -brif 70 L2014 L2015 -label L2014 +brif 70 L2059 L2060 +label L2059 strref 72 m46s834 load 73 left_r call 74 int_to_string string 1 73 @@ -139569,8 +139870,8 @@ concat 90 86 89 call 91 pith_cstring_release void 1 86 call 92 ir_builder_ir_emit void 1 90 call 93 pith_cstring_release void 1 90 -jmp L2013 -label L2015 +jmp L2058 +label L2060 strref 94 m46s834 load 95 left_r call 96 int_to_string string 1 95 @@ -139593,7 +139894,7 @@ concat 112 108 111 call 113 pith_cstring_release void 1 108 call 114 ir_builder_ir_emit void 1 112 call 115 pith_cstring_release void 1 112 -label L2013 +label L2058 strref 116 m46s984 load 117 right_l concat 118 116 117 @@ -139676,16 +139977,16 @@ call 6 pith_cstring_eq bool 2 3 4 iconst 7 1 sub 5 7 6 call 8 pith_cstring_release void 1 4 -brif 5 L2017 L2018 -label L2017 +brif 5 L2062 L2063 +label L2062 iconst 9 1 iconst 11 0 sub 10 11 9 load 12 name call 13 pith_cstring_release void 1 12 ret 10 -label L2018 -label L2016 +label L2063 +label L2061 load 14 name load 15 operand_node field 16 15 8 string value @@ -139697,16 +139998,16 @@ load 20 name call 21 contains_key bool 2 19 20 iconst 23 1 sub 22 23 21 -brif 22 L2020 L2021 -label L2020 +brif 22 L2065 L2066 +label L2065 iconst 24 1 iconst 26 0 sub 25 26 24 load 27 name call 28 pith_cstring_release void 1 27 ret 25 -label L2021 -label L2019 +label L2066 +label L2064 load 29 ir_alias_registry_ir_active_param_optional_tids load 30 name call 31 map_get_strict int 2 29 30 @@ -139721,25 +140022,25 @@ endfunc func ir_emitter_core_ir_emit_binary_expr 1 int param node iconst 1 0 -store __or_1_2025 1 +store __or_1_2070 1 load 2 node field 3 2 8 string value strref 4 m46s469 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_1_2025 5 -brif 5 L2026 L2025 -label L2025 +store __or_1_2070 5 +brif 5 L2071 L2070 +label L2070 load 7 node field 8 7 8 string value strref 9 m46s467 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __or_1_2025 10 -label L2026 -load 12 __or_1_2025 -brif 12 L2023 L2024 -label L2023 +store __or_1_2070 10 +label L2071 +load 12 __or_1_2070 +brif 12 L2068 L2069 +label L2068 load 13 node load 14 node field 15 14 8 string value @@ -139748,40 +140049,40 @@ store fast_r 16 load 17 fast_r iconst 18 0 gte 19 17 18 -brif 19 L2028 L2029 -label L2028 +brif 19 L2073 L2074 +label L2073 load 20 fast_r ret 20 -label L2029 -label L2027 -jmp L2022 -label L2024 -label L2022 +label L2074 +label L2072 +jmp L2067 +label L2069 +label L2067 iconst 21 0 -store __or_21_2033 21 +store __or_21_2078 21 load 22 node field 23 22 8 string value strref 24 m46s453 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_21_2033 25 -brif 25 L2034 L2033 -label L2033 +store __or_21_2078 25 +brif 25 L2079 L2078 +label L2078 load 27 node field 28 27 8 string value strref 29 m46s451 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_21_2033 30 -label L2034 -load 32 __or_21_2033 -brif 32 L2031 L2032 -label L2031 +store __or_21_2078 30 +label L2079 +load 32 __or_21_2078 +brif 32 L2076 L2077 +label L2076 load 33 node call 34 ir_emitter_core_ir_emit_short_circuit_logic int 1 33 ret 34 -label L2032 -label L2030 +label L2077 +label L2075 load 35 node field 36 35 16 list children iconst 37 0 @@ -139805,12 +140106,12 @@ store opt_r 50 load 51 opt_r iconst 52 0 gte 53 51 52 -brif 53 L2036 L2037 -label L2036 +brif 53 L2081 L2082 +label L2081 load 54 opt_r ret 54 -label L2037 -label L2035 +label L2082 +label L2080 load 55 node load 56 r load 57 left_r @@ -139884,43 +140185,43 @@ call 46 ast_get_node struct:Node 1 45 call 47 pith_struct_release void 1 41 store right_node 46 iconst 48 0 -store __or_48_2041 48 +store __or_48_2086 48 load 49 op strref 50 m46s469 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __or_48_2041 51 -brif 51 L2042 L2041 -label L2041 +store __or_48_2086 51 +brif 51 L2087 L2086 +label L2086 load 53 op strref 54 m46s467 call 55 pith_cstring_eq bool 2 53 54 call 56 pith_cstring_release void 1 54 -store __or_48_2041 55 -label L2042 -load 57 __or_48_2041 -brif 57 L2039 L2040 -label L2039 +store __or_48_2086 55 +label L2087 +load 57 __or_48_2086 +brif 57 L2084 L2085 +label L2084 iconst 58 0 -store __and_58_2046 58 +store __and_58_2091 58 load 59 left_node field 60 59 0 string kind strref 61 m46s56 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -store __and_58_2046 62 -brif 62 L2046 L2047 -label L2046 +store __and_58_2091 62 +brif 62 L2091 L2092 +label L2091 load 64 right_info field 65 64 0 string kind strref 66 m46s21 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -store __and_58_2046 67 -label L2047 -load 69 __and_58_2046 -brif 69 L2044 L2045 -label L2044 +store __and_58_2091 67 +label L2092 +load 69 __and_58_2091 +brif 69 L2089 L2090 +label L2089 load 70 r load 71 op load 72 right_r @@ -139947,28 +140248,28 @@ call 92 pith_struct_release void 1 91 load 93 rg call 94 pith_struct_release void 1 93 ret 80 -label L2045 -label L2043 +label L2090 +label L2088 iconst 95 0 -store __and_95_2051 95 +store __and_95_2096 95 load 96 right_node field 97 96 0 string kind strref 98 m46s56 call 99 pith_cstring_eq bool 2 97 98 call 100 pith_cstring_release void 1 98 -store __and_95_2051 99 -brif 99 L2051 L2052 -label L2051 +store __and_95_2096 99 +brif 99 L2096 L2097 +label L2096 load 101 left_info field 102 101 0 string kind strref 103 m46s21 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -store __and_95_2051 104 -label L2052 -load 106 __and_95_2051 -brif 106 L2049 L2050 -label L2049 +store __and_95_2096 104 +label L2097 +load 106 __and_95_2096 +brif 106 L2094 L2095 +label L2094 load 107 r load 108 op load 109 left_r @@ -139995,21 +140296,21 @@ call 129 pith_struct_release void 1 128 load 130 rg call 131 pith_struct_release void 1 130 ret 117 -label L2050 -label L2048 +label L2095 +label L2093 load 132 ir_emitter_core_ir_current_impl_subst_params call 133 pith_list_len int 1 132 iconst 134 0 gt 135 133 134 -brif 135 L2054 L2055 -label L2054 +brif 135 L2099 L2100 +label L2099 load 136 left_node field 137 136 0 string kind strref 138 m46s56 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L2057 L2058 -label L2057 +brif 139 L2102 L2103 +label L2102 load 141 r load 142 op load 143 right_r @@ -140030,15 +140331,15 @@ call 157 pith_struct_release void 1 156 load 158 rg call 159 pith_struct_release void 1 158 ret 145 -label L2058 -label L2056 +label L2103 +label L2101 load 160 right_node field 161 160 0 string kind strref 162 m46s56 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L2060 L2061 -label L2060 +brif 163 L2105 L2106 +label L2105 load 165 r load 166 op load 167 left_r @@ -140059,56 +140360,56 @@ call 181 pith_struct_release void 1 180 load 182 rg call 183 pith_struct_release void 1 182 ret 169 -label L2061 -label L2059 -jmp L2053 -label L2055 -label L2053 +label L2106 +label L2104 +jmp L2098 +label L2100 +label L2098 iconst 184 0 -store __and_184_2065 184 +store __and_184_2110 184 iconst 185 0 -store __and_185_2065 185 +store __and_185_2110 185 iconst 186 0 -store __and_186_2065 186 +store __and_186_2110 186 load 187 left_info field 188 187 0 string kind strref 189 m46s21 call 190 pith_cstring_eq bool 2 188 189 call 191 pith_cstring_release void 1 189 -store __and_186_2065 190 -brif 190 L2065 L2066 -label L2065 +store __and_186_2110 190 +brif 190 L2110 L2111 +label L2110 load 192 right_info field 193 192 0 string kind strref 194 m46s21 call 195 pith_cstring_eq bool 2 193 194 call 196 pith_cstring_release void 1 194 -store __and_186_2065 195 -label L2066 -load 197 __and_186_2065 -store __and_185_2065 197 -brif 197 L2067 L2068 -label L2067 +store __and_186_2110 195 +label L2111 +load 197 __and_186_2110 +store __and_185_2110 197 +brif 197 L2112 L2113 +label L2112 load 198 left_info field 199 198 64 int inner iconst 200 0 gte 201 199 200 -store __and_185_2065 201 -label L2068 -load 202 __and_185_2065 -store __and_184_2065 202 -brif 202 L2069 L2070 -label L2069 +store __and_185_2110 201 +label L2113 +load 202 __and_185_2110 +store __and_184_2110 202 +brif 202 L2114 L2115 +label L2114 load 203 left_info field 204 203 64 int inner load 205 right_info field 206 205 64 int inner eq 207 204 206 -store __and_184_2065 207 -label L2070 -load 208 __and_184_2065 -brif 208 L2063 L2064 -label L2063 +store __and_184_2110 207 +label L2115 +load 208 __and_184_2110 +brif 208 L2108 L2109 +label L2108 load 209 r load 210 op load 211 left_r @@ -140131,14 +140432,14 @@ call 227 pith_struct_release void 1 226 load 228 rg call 229 pith_struct_release void 1 228 ret 215 -label L2064 -label L2062 +label L2109 +label L2107 load 230 ir_alias_registry_ir_active_param_optional_tids call 231 map_len int 1 230 iconst 232 0 gt 233 231 232 -brif 233 L2072 L2073 -label L2072 +brif 233 L2117 L2118 +label L2117 load 234 left_node call 235 ir_emitter_core_ir_generic_param_optional_tid int 1 234 store gen_left_tid 235 @@ -140146,21 +140447,21 @@ load 236 right_node call 237 ir_emitter_core_ir_generic_param_optional_tid int 1 236 store gen_right_tid 237 iconst 238 0 -store __and_238_2077 238 +store __and_238_2122 238 load 239 gen_left_tid iconst 240 0 gte 241 239 240 -store __and_238_2077 241 -brif 241 L2077 L2078 -label L2077 +store __and_238_2122 241 +brif 241 L2122 L2123 +label L2122 load 242 gen_right_tid iconst 243 0 gte 244 242 243 -store __and_238_2077 244 -label L2078 -load 245 __and_238_2077 -brif 245 L2075 L2076 -label L2075 +store __and_238_2122 244 +label L2123 +load 245 __and_238_2122 +brif 245 L2120 L2121 +label L2120 load 246 lg load 247 gen_left_tid call 248 types_get_type_info struct:TypeInfo 1 247 @@ -140172,24 +140473,24 @@ call 252 types_get_type_info struct:TypeInfo 1 251 call 253 pith_struct_release void 1 250 store rg 252 iconst 254 0 -store __and_254_2082 254 +store __and_254_2127 254 load 255 lg field 256 255 64 int inner iconst 257 0 gte 258 256 257 -store __and_254_2082 258 -brif 258 L2082 L2083 -label L2082 +store __and_254_2127 258 +brif 258 L2127 L2128 +label L2127 load 259 lg field 260 259 64 int inner load 261 rg field 262 261 64 int inner eq 263 260 262 -store __and_254_2082 263 -label L2083 -load 264 __and_254_2082 -brif 264 L2080 L2081 -label L2080 +store __and_254_2127 263 +label L2128 +load 264 __and_254_2127 +brif 264 L2125 L2126 +label L2125 load 265 r load 266 op load 267 left_r @@ -140212,29 +140513,29 @@ call 283 pith_struct_release void 1 282 load 284 rg call 285 pith_struct_release void 1 284 ret 271 -label L2081 -label L2079 -jmp L2074 -label L2076 -label L2074 +label L2126 +label L2124 +jmp L2119 +label L2121 +label L2119 iconst 286 0 -store __and_286_2087 286 +store __and_286_2132 286 load 287 gen_left_tid iconst 288 0 gte 289 287 288 -store __and_286_2087 289 -brif 289 L2087 L2088 -label L2087 +store __and_286_2132 289 +brif 289 L2132 L2133 +label L2132 load 290 right_node field 291 290 0 string kind strref 292 m46s56 call 293 pith_cstring_eq bool 2 291 292 call 294 pith_cstring_release void 1 292 -store __and_286_2087 293 -label L2088 -load 295 __and_286_2087 -brif 295 L2085 L2086 -label L2085 +store __and_286_2132 293 +label L2133 +load 295 __and_286_2132 +brif 295 L2130 L2131 +label L2130 load 296 r load 297 op load 298 left_r @@ -140255,26 +140556,26 @@ call 312 pith_struct_release void 1 311 load 313 rg call 314 pith_struct_release void 1 313 ret 300 -label L2086 -label L2084 +label L2131 +label L2129 iconst 315 0 -store __and_315_2092 315 +store __and_315_2137 315 load 316 gen_right_tid iconst 317 0 gte 318 316 317 -store __and_315_2092 318 -brif 318 L2092 L2093 -label L2092 +store __and_315_2137 318 +brif 318 L2137 L2138 +label L2137 load 319 left_node field 320 319 0 string kind strref 321 m46s56 call 322 pith_cstring_eq bool 2 320 321 call 323 pith_cstring_release void 1 321 -store __and_315_2092 322 -label L2093 -load 324 __and_315_2092 -brif 324 L2090 L2091 -label L2090 +store __and_315_2137 322 +label L2138 +load 324 __and_315_2137 +brif 324 L2135 L2136 +label L2135 load 325 r load 326 op load 327 right_r @@ -140295,14 +140596,14 @@ call 341 pith_struct_release void 1 340 load 342 rg call 343 pith_struct_release void 1 342 ret 329 -label L2091 -label L2089 -jmp L2071 -label L2073 -label L2071 -jmp L2038 -label L2040 -label L2038 +label L2136 +label L2134 +jmp L2116 +label L2118 +label L2116 +jmp L2083 +label L2085 +label L2083 iconst 344 0 iconst 345 1 sub 346 344 345 @@ -140374,69 +140675,69 @@ call 25 ir_emitter_core_ir_infer_type string 1 24 call 26 pith_cstring_release void 1 20 store right_type 25 iconst 27 0 -store __or_27_2094 27 +store __or_27_2139 27 load 28 left_type strref 29 m46s675 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_27_2094 30 -brif 30 L2095 L2094 -label L2094 +store __or_27_2139 30 +brif 30 L2140 L2139 +label L2139 load 32 right_type strref 33 m46s675 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_27_2094 34 -label L2095 -load 36 __or_27_2094 +store __or_27_2139 34 +label L2140 +load 36 __or_27_2139 store is_str_op 36 iconst 37 0 -store __and_37_2096 37 +store __and_37_2141 37 load 38 left_type strref 39 m46s674 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_37_2096 40 -brif 40 L2096 L2097 -label L2096 +store __and_37_2141 40 +brif 40 L2141 L2142 +label L2141 load 42 right_type strref 43 m46s674 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __and_37_2096 44 -label L2097 -load 46 __and_37_2096 +store __and_37_2141 44 +label L2142 +load 46 __and_37_2141 store is_bytes_op 46 iconst 47 0 -store __or_47_2098 47 +store __or_47_2143 47 load 48 left_type strref 49 m46s672 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -store __or_47_2098 50 -brif 50 L2099 L2098 -label L2098 +store __or_47_2143 50 +brif 50 L2144 L2143 +label L2143 load 52 right_type strref 53 m46s672 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_47_2098 54 -label L2099 -load 56 __or_47_2098 +store __or_47_2143 54 +label L2144 +load 56 __or_47_2143 store is_float_op 56 iconst 57 0 -store __and_57_2103 57 +store __and_57_2148 57 load 58 is_float_op -store __and_57_2103 58 -brif 58 L2103 L2104 -label L2103 +store __and_57_2148 58 +brif 58 L2148 L2149 +label L2148 load 59 op call 60 ir_operator_helpers_ir_is_float_arithmetic bool 1 59 -store __and_57_2103 60 -label L2104 -load 61 __and_57_2103 -brif 61 L2101 L2102 -label L2101 +store __and_57_2148 60 +label L2149 +load 61 __and_57_2148 +brif 61 L2146 L2147 +label L2146 load 62 r load 63 op load 64 left_r @@ -140452,23 +140753,23 @@ call 73 pith_cstring_release void 1 72 load 74 simple_op call 75 pith_cstring_release void 1 74 ret 67 -label L2102 -label L2100 +label L2147 +label L2145 iconst 76 0 -store __and_76_2108 76 +store __and_76_2153 76 load 77 op strref 78 m46s234 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __and_76_2108 79 -brif 79 L2108 L2109 -label L2108 +store __and_76_2153 79 +brif 79 L2153 L2154 +label L2153 load 81 is_str_op -store __and_76_2108 81 -label L2109 -load 82 __and_76_2108 -brif 82 L2106 L2107 -label L2106 +store __and_76_2153 81 +label L2154 +load 82 __and_76_2153 +brif 82 L2151 L2152 +label L2151 strref 83 m46s1212 load 84 r call 85 int_to_string string 1 84 @@ -140509,17 +140810,17 @@ call 119 pith_list_get_value_strict int 2 117 118 load 120 right_r load 121 right_type call 122 ir_emitter_core_ir_release_owned_string_operand void 3 119 120 121 -jmp L2105 -label L2107 +jmp L2150 +label L2152 load 123 op strref 124 m46s469 call 125 pith_cstring_eq bool 2 123 124 call 126 pith_cstring_release void 1 124 -brif 125 L2110 L2111 -label L2110 +brif 125 L2155 L2156 +label L2155 load 127 is_str_op -brif 127 L2113 L2114 -label L2113 +brif 127 L2158 L2159 +label L2158 load 128 r strref 129 m46s722 strref 130 m46s673 @@ -140542,11 +140843,11 @@ call 146 pith_list_get_value_strict int 2 144 145 load 147 right_r load 148 right_type call 149 ir_emitter_core_ir_release_owned_string_operand void 3 146 147 148 -jmp L2112 -label L2114 +jmp L2157 +label L2159 load 150 is_bytes_op -brif 150 L2115 L2116 -label L2115 +brif 150 L2160 L2161 +label L2160 load 151 r strref 152 m46s1258 strref 153 m46s673 @@ -140555,8 +140856,8 @@ load 155 right_r call 156 ir_call_emit_ir_emit_call2 void 5 151 152 153 154 155 call 157 pith_cstring_release void 1 152 call 158 pith_cstring_release void 1 153 -jmp L2112 -label L2116 +jmp L2157 +label L2161 load 159 node call 160 ir_struct_registry_ir_binary_enum_eq_name string 1 159 strref 161 m46s82 @@ -140565,8 +140866,8 @@ iconst 164 1 sub 162 164 163 call 165 pith_cstring_release void 1 160 call 166 pith_cstring_release void 1 161 -brif 162 L2117 L2118 -label L2117 +brif 162 L2162 L2163 +label L2162 load 167 r strref 168 m46s1158 load 169 node @@ -140580,23 +140881,23 @@ load 176 right_r call 177 ir_call_emit_ir_emit_call2 void 5 167 171 174 175 176 call 178 pith_cstring_release void 1 171 call 179 pith_cstring_release void 1 174 -jmp L2112 -label L2118 +jmp L2157 +label L2163 load 180 r strref 181 m46s469 load 182 left_r load 183 right_r call 184 ir_operator_helpers_ir_emit_simple_binary void 4 180 181 182 183 call 185 pith_cstring_release void 1 181 -label L2112 -jmp L2105 -label L2111 +label L2157 +jmp L2150 +label L2156 load 186 op strref 187 m46s467 call 188 pith_cstring_eq bool 2 186 187 call 189 pith_cstring_release void 1 187 -brif 188 L2119 L2120 -label L2119 +brif 188 L2164 L2165 +label L2164 load 190 node call 191 ir_struct_registry_ir_binary_enum_eq_name string 1 190 strref 192 m46s82 @@ -140605,8 +140906,8 @@ iconst 195 1 sub 193 195 194 call 196 pith_cstring_release void 1 191 call 197 pith_cstring_release void 1 192 -brif 193 L2122 L2123 -label L2122 +brif 193 L2167 L2168 +label L2167 call 198 ir_builder_ir_reg int 0 store eq_r 198 load 199 eq_r @@ -140662,8 +140963,8 @@ call 247 pith_cstring_release void 1 241 call 248 pith_cstring_release void 1 245 call 249 ir_builder_ir_emit void 1 246 call 250 pith_cstring_release void 1 246 -jmp L2121 -label L2123 +jmp L2166 +label L2168 load 251 r load 252 left_r load 253 right_r @@ -140671,8 +140972,8 @@ load 254 is_str_op load 255 is_bytes_op call 256 ir_emitter_core_ir_emit_binary_neq void 5 251 252 253 254 255 load 257 is_str_op -brif 257 L2125 L2126 -label L2125 +brif 257 L2170 L2171 +label L2170 load 258 node field 259 258 16 list children iconst 260 0 @@ -140687,12 +140988,12 @@ call 268 pith_list_get_value_strict int 2 266 267 load 269 right_r load 270 right_type call 271 ir_emitter_core_ir_release_owned_string_operand void 3 268 269 270 -jmp L2124 -label L2126 -label L2124 -label L2121 -jmp L2105 -label L2120 +jmp L2169 +label L2171 +label L2169 +label L2166 +jmp L2150 +label L2165 load 272 simple_op load 273 op call 274 ir_operator_helpers_ir_binary_simple_ir_op string 1 273 @@ -140702,27 +141003,27 @@ load 276 simple_op call 277 string_len int 1 276 iconst 278 0 gt 279 277 278 -brif 279 L2128 L2129 -label L2128 +brif 279 L2173 L2174 +label L2173 iconst 280 0 -store __and_280_2133 280 +store __and_280_2178 280 load 281 is_str_op -store __and_280_2133 281 -brif 281 L2133 L2134 -label L2133 +store __and_280_2178 281 +brif 281 L2178 L2179 +label L2178 load 282 simple_op call 283 ir_emitter_core_ir_binary_op_is_comparison bool 1 282 -store __and_280_2133 283 -label L2134 -load 284 __and_280_2133 -brif 284 L2131 L2132 -label L2131 +store __and_280_2178 283 +label L2179 +load 284 __and_280_2178 +brif 284 L2176 L2177 +label L2176 load 285 simple_op strref 286 m46s465 call 287 pith_cstring_eq bool 2 285 286 call 288 pith_cstring_release void 1 286 -brif 287 L2136 L2137 -label L2136 +brif 287 L2181 L2182 +label L2181 load 289 r strref 290 m46s1261 strref 291 m46s673 @@ -140731,14 +141032,14 @@ load 293 right_r call 294 ir_call_emit_ir_emit_call2 void 5 289 290 291 292 293 call 295 pith_cstring_release void 1 290 call 296 pith_cstring_release void 1 291 -jmp L2135 -label L2137 +jmp L2180 +label L2182 load 297 simple_op strref 298 m46s459 call 299 pith_cstring_eq bool 2 297 298 call 300 pith_cstring_release void 1 298 -brif 299 L2138 L2139 -label L2138 +brif 299 L2183 L2184 +label L2183 load 301 r strref 302 m46s1260 strref 303 m46s673 @@ -140747,14 +141048,14 @@ load 305 right_r call 306 ir_call_emit_ir_emit_call2 void 5 301 302 303 304 305 call 307 pith_cstring_release void 1 302 call 308 pith_cstring_release void 1 303 -jmp L2135 -label L2139 +jmp L2180 +label L2184 load 309 simple_op strref 310 m46s462 call 311 pith_cstring_eq bool 2 309 310 call 312 pith_cstring_release void 1 310 -brif 311 L2140 L2141 -label L2140 +brif 311 L2185 L2186 +label L2185 load 313 r strref 314 m46s1261 strref 315 m46s673 @@ -140763,8 +141064,8 @@ load 317 left_r call 318 ir_call_emit_ir_emit_call2 void 5 313 314 315 316 317 call 319 pith_cstring_release void 1 314 call 320 pith_cstring_release void 1 315 -jmp L2135 -label L2141 +jmp L2180 +label L2186 load 321 r strref 322 m46s1260 strref 323 m46s673 @@ -140773,7 +141074,7 @@ load 325 left_r call 326 ir_call_emit_ir_emit_call2 void 5 321 322 323 324 325 call 327 pith_cstring_release void 1 322 call 328 pith_cstring_release void 1 323 -label L2135 +label L2180 load 329 node field 330 329 16 list children iconst 331 0 @@ -140788,16 +141089,16 @@ call 339 pith_list_get_value_strict int 2 337 338 load 340 right_r load 341 right_type call 342 ir_emitter_core_ir_release_owned_string_operand void 3 339 340 341 -jmp L2130 -label L2132 +jmp L2175 +label L2177 load 343 r load 344 simple_op load 345 left_r load 346 right_r call 347 ir_operator_helpers_ir_emit_simple_binary void 4 343 344 345 346 -label L2130 -jmp L2127 -label L2129 +label L2175 +jmp L2172 +label L2174 strref 348 m46s1259 load 349 r call 350 int_to_string string 1 349 @@ -140831,8 +141132,8 @@ call 377 pith_cstring_release void 1 371 call 378 pith_cstring_release void 1 375 call 379 ir_builder_ir_emit void 1 376 call 380 pith_cstring_release void 1 376 -label L2127 -label L2105 +label L2172 +label L2150 load 381 r load 382 op call 383 pith_cstring_release void 1 382 @@ -140918,14 +141219,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 load 6 child_idx lte 7 5 6 -brif 7 L2143 L2144 -label L2143 +brif 7 L2188 L2189 +label L2188 strref 8 m46s82 load 9 child_node call 10 pith_struct_release void 1 9 ret 8 -label L2144 -label L2142 +label L2189 +label L2187 load 11 node field 12 11 16 list children load 13 child_idx @@ -140937,33 +141238,33 @@ call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 15 store child_node 17 iconst 19 0 -store __and_19_2148 19 +store __and_19_2193 19 load 20 child_node field 21 20 0 string kind strref 22 m46s42 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __and_19_2148 23 -brif 23 L2148 L2149 -label L2148 +store __and_19_2193 23 +brif 23 L2193 L2194 +label L2193 load 25 child_node field 26 25 16 list children call 27 pith_list_len int 1 26 iconst 28 0 gt 29 27 28 -store __and_19_2148 29 -label L2149 -load 30 __and_19_2148 -brif 30 L2146 L2147 -label L2146 +store __and_19_2193 29 +label L2194 +load 30 __and_19_2193 +brif 30 L2191 L2192 +label L2191 load 31 child_node field 32 31 16 list children iconst 33 0 call 34 pith_list_get_value_strict int 2 32 33 store expr_idx 34 -jmp L2145 -label L2147 -label L2145 +jmp L2190 +label L2192 +label L2190 load 35 expr_idx call 36 ir_emitter_core_ir_infer_type string 1 35 load 37 child_node @@ -141059,137 +141360,137 @@ func ir_emitter_core_ir_assert_eq_kind 2 string param left param right iconst 2 0 -store __or_2_2153 2 +store __or_2_2198 2 load 3 left strref 4 m46s675 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_2153 5 -brif 5 L2154 L2153 -label L2153 +store __or_2_2198 5 +brif 5 L2199 L2198 +label L2198 load 7 right strref 8 m46s675 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_2153 9 -label L2154 -load 11 __or_2_2153 -brif 11 L2151 L2152 -label L2151 +store __or_2_2198 9 +label L2199 +load 11 __or_2_2198 +brif 11 L2196 L2197 +label L2196 strref 12 m46s675 ret 12 -label L2152 -label L2150 +label L2197 +label L2195 iconst 13 0 -store __or_13_2158 13 +store __or_13_2203 13 load 14 left strref 15 m46s674 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_13_2158 16 -brif 16 L2159 L2158 -label L2158 +store __or_13_2203 16 +brif 16 L2204 L2203 +label L2203 load 18 right strref 19 m46s674 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_13_2158 20 -label L2159 -load 22 __or_13_2158 -brif 22 L2156 L2157 -label L2156 +store __or_13_2203 20 +label L2204 +load 22 __or_13_2203 +brif 22 L2201 L2202 +label L2201 strref 23 m46s674 ret 23 -label L2157 -label L2155 +label L2202 +label L2200 iconst 24 0 -store __or_24_2163 24 +store __or_24_2208 24 load 25 left strref 26 m46s668 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_24_2163 27 -brif 27 L2164 L2163 -label L2163 +store __or_24_2208 27 +brif 27 L2209 L2208 +label L2208 load 29 right strref 30 m46s668 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_24_2163 31 -label L2164 -load 33 __or_24_2163 -brif 33 L2161 L2162 -label L2161 +store __or_24_2208 31 +label L2209 +load 33 __or_24_2208 +brif 33 L2206 L2207 +label L2206 strref 34 m46s668 ret 34 -label L2162 -label L2160 +label L2207 +label L2205 iconst 35 0 -store __or_35_2168 35 +store __or_35_2213 35 load 36 left strref 37 m46s20 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __or_35_2168 38 -brif 38 L2169 L2168 -label L2168 +store __or_35_2213 38 +brif 38 L2214 L2213 +label L2213 load 40 right strref 41 m46s20 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_35_2168 42 -label L2169 -load 44 __or_35_2168 -brif 44 L2166 L2167 -label L2166 +store __or_35_2213 42 +label L2214 +load 44 __or_35_2213 +brif 44 L2211 L2212 +label L2211 strref 45 m46s20 ret 45 -label L2167 -label L2165 +label L2212 +label L2210 iconst 46 0 -store __or_46_2173 46 +store __or_46_2218 46 load 47 left strref 48 m46s672 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_46_2173 49 -brif 49 L2174 L2173 -label L2173 +store __or_46_2218 49 +brif 49 L2219 L2218 +label L2218 load 51 right strref 52 m46s672 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __or_46_2173 53 -label L2174 -load 55 __or_46_2173 -brif 55 L2171 L2172 -label L2171 +store __or_46_2218 53 +label L2219 +load 55 __or_46_2218 +brif 55 L2216 L2217 +label L2216 strref 56 m46s672 ret 56 -label L2172 -label L2170 +label L2217 +label L2215 iconst 57 0 -store __or_57_2178 57 +store __or_57_2223 57 load 58 left strref 59 m46s673 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -store __or_57_2178 60 -brif 60 L2179 L2178 -label L2178 +store __or_57_2223 60 +brif 60 L2224 L2223 +label L2223 load 62 right strref 63 m46s673 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_57_2178 64 -label L2179 -load 66 __or_57_2178 -brif 66 L2176 L2177 -label L2176 +store __or_57_2223 64 +label L2224 +load 66 __or_57_2223 +brif 66 L2221 L2222 +label L2221 strref 67 m46s673 ret 67 -label L2177 -label L2175 +label L2222 +label L2220 strref 68 m46s671 ret 68 iconst 69 0 @@ -141201,62 +141502,62 @@ load 1 kind strref 2 m46s672 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2181 L2182 -label L2181 +brif 3 L2226 L2227 +label L2226 iconst 5 1 ret 5 -label L2182 -label L2180 +label L2227 +label L2225 load 6 kind strref 7 m46s675 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2184 L2185 -label L2184 +brif 8 L2229 L2230 +label L2229 iconst 10 2 ret 10 -label L2185 -label L2183 +label L2230 +label L2228 load 11 kind strref 12 m46s674 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2187 L2188 -label L2187 +brif 13 L2232 L2233 +label L2232 iconst 15 3 ret 15 -label L2188 -label L2186 +label L2233 +label L2231 load 16 kind strref 17 m46s673 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2190 L2191 -label L2190 +brif 18 L2235 L2236 +label L2235 iconst 20 4 ret 20 -label L2191 -label L2189 +label L2236 +label L2234 load 21 kind strref 22 m46s20 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2193 L2194 -label L2193 +brif 23 L2238 L2239 +label L2238 iconst 25 5 ret 25 -label L2194 -label L2192 +label L2239 +label L2237 load 26 kind strref 27 m46s668 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2196 L2197 -label L2196 +brif 28 L2241 L2242 +label L2241 iconst 30 6 ret 30 -label L2197 -label L2195 +label L2242 +label L2240 iconst 31 0 ret 31 iconst 32 0 @@ -141289,8 +141590,8 @@ load 17 kind strref 18 m46s675 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2199 L2200 -label L2199 +brif 19 L2244 L2245 +label L2244 load 21 cmp_r strref 22 m46s722 strref 23 m46s673 @@ -141303,14 +141604,14 @@ call 29 pith_list_get_value_strict int 2 27 28 call 30 ir_call_emit_ir_emit_call2 void 5 21 22 23 26 29 call 31 pith_cstring_release void 1 22 call 32 pith_cstring_release void 1 23 -jmp L2198 -label L2200 +jmp L2243 +label L2245 load 33 kind strref 34 m46s674 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L2201 L2202 -label L2201 +brif 35 L2246 L2247 +label L2246 load 37 cmp_r strref 38 m46s1258 strref 39 m46s673 @@ -141323,14 +141624,14 @@ call 45 pith_list_get_value_strict int 2 43 44 call 46 ir_call_emit_ir_emit_call2 void 5 37 38 39 42 45 call 47 pith_cstring_release void 1 38 call 48 pith_cstring_release void 1 39 -jmp L2198 -label L2202 +jmp L2243 +label L2247 load 49 kind strref 50 m46s668 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L2203 L2204 -label L2203 +brif 51 L2248 L2249 +label L2248 load 53 cmp_r strref 54 m46s1257 strref 55 m46s673 @@ -141343,14 +141644,14 @@ call 61 pith_list_get_value_strict int 2 59 60 call 62 ir_call_emit_ir_emit_call2 void 5 53 54 55 58 61 call 63 pith_cstring_release void 1 54 call 64 pith_cstring_release void 1 55 -jmp L2198 -label L2204 +jmp L2243 +label L2249 load 65 kind strref 66 m46s20 call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 66 -brif 67 L2205 L2206 -label L2205 +brif 67 L2250 L2251 +label L2250 load 69 cmp_r strref 70 m46s1256 strref 71 m46s673 @@ -141363,8 +141664,8 @@ call 77 pith_list_get_value_strict int 2 75 76 call 78 ir_call_emit_ir_emit_call2 void 5 69 70 71 74 77 call 79 pith_cstring_release void 1 70 call 80 pith_cstring_release void 1 71 -jmp L2198 -label L2206 +jmp L2243 +label L2251 load 81 cmp_r strref 82 m46s469 load 83 arg_regs @@ -141375,7 +141676,7 @@ iconst 87 1 call 88 pith_list_get_value_strict int 2 86 87 call 89 ir_operator_helpers_ir_emit_simple_binary void 4 81 82 85 88 call 90 pith_cstring_release void 1 82 -label L2198 +label L2243 load 91 ok_l call 92 ir_builder_ir_label string 0 call 93 pith_cstring_release void 1 91 @@ -141503,8 +141804,8 @@ load 14 arg_regs call 15 pith_list_len int 1 14 iconst 16 2 lt 17 15 16 -brif 17 L2208 L2209 -label L2208 +brif 17 L2253 L2254 +label L2253 call 18 ir_result_abi_ir_zero_reg int 0 load 19 arg_regs call 20 pith_list_release_handle void 1 19 @@ -141519,8 +141820,8 @@ call 28 pith_list_release_handle void 1 27 load 29 decode_path_name call 30 pith_cstring_release void 1 29 ret 18 -label L2209 -label L2207 +label L2254 +label L2252 load 31 arg_regs iconst 32 0 call 33 pith_list_get_value_strict int 2 31 32 @@ -141573,16 +141874,16 @@ load 72 generic_ret_type call 73 string_len int 1 72 iconst 74 0 eq 75 73 74 -brif 75 L2211 L2212 -label L2211 +brif 75 L2256 L2257 +label L2256 load 76 generic_ret_type load 77 idx call 78 ir_emitter_core_ir_infer_type string 1 77 call 79 pith_cstring_release void 1 76 store generic_ret_type 78 -jmp L2210 -label L2212 -label L2210 +jmp L2255 +label L2257 +label L2255 load 80 concrete_types load 81 callee_node call 82 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 81 @@ -141592,8 +141893,8 @@ load 84 concrete_types call 85 pith_list_len int 1 84 iconst 86 0 eq 87 85 86 -brif 87 L2214 L2215 -label L2214 +brif 87 L2259 L2260 +label L2259 load 88 concrete_types strref 89 m46s1089 load 90 node @@ -141601,9 +141902,9 @@ call 91 ir_emitter_core_ir_infer_generic_concrete_types list_string 2 89 90 call 92 pith_cstring_release void 1 89 call 93 pith_list_release_handle void 1 88 store concrete_types 91 -jmp L2213 -label L2215 -label L2213 +jmp L2258 +label L2260 +label L2258 load 94 decode_path_name strref 95 m46s928 load 96 concrete_types @@ -141692,14 +141993,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 3 neq 6 4 5 -brif 6 L2217 L2218 -label L2217 +brif 6 L2262 L2263 +label L2262 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2218 -label L2216 +label L2263 +label L2261 load 10 idx load 11 node field 12 11 16 list children @@ -141723,15 +142024,15 @@ load 2 fn_idx call 3 ir_emitter_core_ir_string_expr_is_borrowed bool 1 2 iconst 5 1 sub 4 5 3 -brif 4 L2220 L2221 -label L2220 +brif 4 L2265 L2266 +label L2265 load 6 fn_r strref 7 m46s824 call 8 ir_ownership_ir_rc_release_reg void 2 6 7 call 9 pith_cstring_release void 1 7 -jmp L2219 -label L2221 -label L2219 +jmp L2264 +label L2266 +label L2264 iconst 10 0 ret 10 endfunc @@ -141787,15 +142088,15 @@ load 37 result_kind call 38 string_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L2223 L2224 -label L2223 +brif 40 L2268 L2269 +label L2268 load 41 result_kind strref 42 m46s20 call 43 pith_cstring_release void 1 41 store result_kind 42 -jmp L2222 -label L2224 -label L2222 +jmp L2267 +label L2269 +label L2267 load 44 elem_kind load 45 list_idx call 46 ir_type_helpers_ir_list_element_kind string 1 45 @@ -141817,16 +142118,16 @@ load 58 result_elem_kind call 59 string_len int 1 58 iconst 60 0 eq 61 59 60 -brif 61 L2226 L2227 -label L2226 +brif 61 L2271 L2272 +label L2271 load 62 result_elem_kind load 63 mapped_kind call 64 ir_struct_registry_ir_rc_kind string 1 63 call 65 pith_cstring_release void 1 62 store result_elem_kind 64 -jmp L2225 -label L2227 -label L2225 +jmp L2270 +label L2272 +label L2270 load 66 ctor load 67 result_elem_kind call 68 ir_emitter_core_ir_list_ctor_for_elem_kind string 1 67 @@ -141890,14 +142191,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 3 neq 6 4 5 -brif 6 L2229 L2230 -label L2229 +brif 6 L2274 L2275 +label L2274 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2230 -label L2228 +label L2275 +label L2273 load 10 idx load 11 node field 12 11 16 list children @@ -141962,29 +142263,29 @@ load 35 result_kind call 36 string_len int 1 35 iconst 37 0 eq 38 36 37 -brif 38 L2232 L2233 -label L2232 +brif 38 L2277 L2278 +label L2277 load 39 result_kind load 40 list_idx call 41 ir_emitter_core_ir_infer_type string 1 40 call 42 pith_cstring_release void 1 39 store result_kind 41 -jmp L2231 -label L2233 -label L2231 +jmp L2276 +label L2278 +label L2276 load 43 result_kind call 44 string_len int 1 43 iconst 45 0 eq 46 44 45 -brif 46 L2235 L2236 -label L2235 +brif 46 L2280 L2281 +label L2280 load 47 result_kind strref 48 m46s20 call 49 pith_cstring_release void 1 47 store result_kind 48 -jmp L2234 -label L2236 -label L2234 +jmp L2279 +label L2281 +label L2279 load 50 elem_kind load 51 list_idx call 52 ir_type_helpers_ir_list_element_kind string 1 51 @@ -142044,14 +142345,14 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 4 neq 6 4 5 -brif 6 L2238 L2239 -label L2238 +brif 6 L2283 L2284 +label L2283 iconst 7 1 iconst 9 0 sub 8 9 7 ret 8 -label L2239 -label L2237 +label L2284 +label L2282 load 10 idx load 11 node field 12 11 16 list children @@ -142151,29 +142452,29 @@ load 62 result_kind call 63 string_len int 1 62 iconst 64 0 eq 65 63 64 -brif 65 L2241 L2242 -label L2241 +brif 65 L2286 L2287 +label L2286 load 66 result_kind load 67 init_idx call 68 ir_emitter_core_ir_infer_type string 1 67 call 69 pith_cstring_release void 1 66 store result_kind 68 -jmp L2240 -label L2242 -label L2240 +jmp L2285 +label L2287 +label L2285 load 70 result_kind call 71 string_len int 1 70 iconst 72 0 eq 73 71 72 -brif 73 L2244 L2245 -label L2244 +brif 73 L2289 L2290 +label L2289 load 74 result_kind strref 75 m46s822 call 76 pith_cstring_release void 1 74 store result_kind 75 -jmp L2243 -label L2245 -label L2243 +jmp L2288 +label L2290 +label L2288 load 77 list_r load 78 reducer_name load 79 acc_name @@ -142221,38 +142522,38 @@ load 3 callee_name strref 4 m46s19 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L2247 L2248 -label L2247 +brif 5 L2292 L2293 +label L2292 load 7 idx load 8 node call 9 ir_emitter_core_ir_emit_list_map_call int 2 7 8 ret 9 -label L2248 -label L2246 +label L2293 +label L2291 load 10 callee_name strref 11 m46s259 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L2250 L2251 -label L2250 +brif 12 L2295 L2296 +label L2295 load 14 idx load 15 node call 16 ir_emitter_core_ir_emit_list_filter_call int 2 14 15 ret 16 -label L2251 -label L2249 +label L2296 +label L2294 load 17 callee_name strref 18 m46s258 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2253 L2254 -label L2253 +brif 19 L2298 L2299 +label L2298 load 21 idx load 22 node call 23 ir_emitter_core_ir_emit_list_reduce_call int 2 21 22 ret 23 -label L2254 -label L2252 +label L2299 +label L2297 iconst 24 1 iconst 26 0 sub 25 26 24 @@ -142284,14 +142585,14 @@ field 4 3 16 list children call 5 pith_list_len int 1 4 iconst 6 2 lt 7 5 6 -brif 7 L2256 L2257 -label L2256 +brif 7 L2301 L2302 +label L2301 call 8 ir_list_helpers_ir_emit_list_missing_index_result int 0 load 9 elem_kind call 10 pith_cstring_release void 1 9 ret 8 -label L2257 -label L2255 +label L2302 +label L2300 load 11 node field 12 11 16 list children iconst 13 0 @@ -142316,15 +142617,15 @@ load 26 obj_type strref 27 m46s668 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2259 L2260 -label L2259 +brif 28 L2304 L2305 +label L2304 load 30 elem_kind strref 31 m46s675 call 32 pith_cstring_release void 1 30 store elem_kind 31 -jmp L2258 -label L2260 -label L2258 +jmp L2303 +label L2305 +label L2303 load 33 list_r load 34 target_r load 35 elem_kind @@ -142587,31 +142888,31 @@ load 4 obj_type call 5 ir_list_helpers_ir_is_list_runtime_type bool 1 4 iconst 7 1 sub 6 7 5 -brif 6 L2262 L2263 -label L2262 +brif 6 L2307 L2308 +label L2307 iconst 8 1 iconst 10 0 sub 9 10 8 ret 9 -label L2263 -label L2261 +label L2308 +label L2306 load 11 mname strref 12 m46s244 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2265 L2266 -label L2265 +brif 13 L2310 L2311 +label L2310 load 15 node call 16 ir_emitter_core_ir_emit_list_is_empty_method int 1 15 ret 16 -label L2266 -label L2264 +label L2311 +label L2309 load 17 mname strref 18 m46s262 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2268 L2269 -label L2268 +brif 19 L2313 L2314 +label L2313 load 21 node load 22 obj_type call 23 ir_emitter_core_ir_emit_list_index_search int 2 21 22 @@ -142619,26 +142920,26 @@ store raw_idx_r 23 load 24 raw_idx_r call 25 ir_emitter_core_ir_emit_index_search_to_optional int 1 24 ret 25 -label L2269 -label L2267 +label L2314 +label L2312 load 26 mname strref 27 m46s242 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2271 L2272 -label L2271 +brif 28 L2316 L2317 +label L2316 load 30 node load 31 obj_type call 32 ir_emitter_core_ir_emit_list_contains_method int 2 30 31 ret 32 -label L2272 -label L2270 +label L2317 +label L2315 load 33 mname strref 34 m46s19 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L2274 L2275 -label L2274 +brif 35 L2319 L2320 +label L2319 load 37 idx load 38 node field 39 38 16 list children @@ -142649,14 +142950,14 @@ iconst 43 0 call 44 ir_emitter_core_ir_method_call_arg_expr int 2 42 43 call 45 ir_emitter_core_ir_emit_list_map_lowering int 3 37 41 44 ret 45 -label L2275 -label L2273 +label L2320 +label L2318 load 46 mname strref 47 m46s259 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -brif 48 L2277 L2278 -label L2277 +brif 48 L2322 L2323 +label L2322 load 50 idx load 51 node field 52 51 16 list children @@ -142667,14 +142968,14 @@ iconst 56 0 call 57 ir_emitter_core_ir_method_call_arg_expr int 2 55 56 call 58 ir_emitter_core_ir_emit_list_filter_lowering int 3 50 54 57 ret 58 -label L2278 -label L2276 +label L2323 +label L2321 load 59 mname strref 60 m46s258 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -brif 61 L2280 L2281 -label L2280 +brif 61 L2325 L2326 +label L2325 load 63 idx load 64 node field 65 64 16 list children @@ -142688,8 +142989,8 @@ iconst 72 1 call 73 ir_emitter_core_ir_method_call_arg_expr int 2 71 72 call 74 ir_emitter_core_ir_emit_list_reduce_lowering int 4 63 67 70 73 ret 74 -label L2281 -label L2279 +label L2326 +label L2324 iconst 75 1 iconst 77 0 sub 76 77 75 @@ -142702,25 +143003,25 @@ param idx param node param callee_idx iconst 3 0 -store __or_3_2285 3 +store __or_3_2330 3 load 4 callee_idx strref 5 m46s391 call 6 ir_alias_registry_ir_is_json_decode_callee bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_3_2285 6 -brif 6 L2286 L2285 -label L2285 +store __or_3_2330 6 +brif 6 L2331 L2330 +label L2330 load 8 callee_idx strref 9 m46s391 strref 10 m46s1084 call 11 ir_emitter_core_ir_is_local_generic_callee bool 3 8 9 10 call 12 pith_cstring_release void 1 9 call 13 pith_cstring_release void 1 10 -store __or_3_2285 11 -label L2286 -load 14 __or_3_2285 -brif 14 L2283 L2284 -label L2283 +store __or_3_2330 11 +label L2331 +load 14 __or_3_2330 +brif 14 L2328 L2329 +label L2328 load 15 idx load 16 node iconst 17 0 @@ -142730,28 +143031,28 @@ call 20 ir_decode_emit_ir_emit_json_decode_call int 5 15 16 17 18 19 call 21 pith_closure_release void 1 18 call 22 pith_closure_release void 1 19 ret 20 -label L2284 -label L2282 +label L2329 +label L2327 iconst 23 0 -store __or_23_2290 23 +store __or_23_2335 23 load 24 callee_idx strref 25 m46s390 call 26 ir_alias_registry_ir_is_json_decode_callee bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_23_2290 26 -brif 26 L2291 L2290 -label L2290 +store __or_23_2335 26 +brif 26 L2336 L2335 +label L2335 load 28 callee_idx strref 29 m46s390 strref 30 m46s1084 call 31 ir_emitter_core_ir_is_local_generic_callee bool 3 28 29 30 call 32 pith_cstring_release void 1 29 call 33 pith_cstring_release void 1 30 -store __or_23_2290 31 -label L2291 -load 34 __or_23_2290 -brif 34 L2288 L2289 -label L2288 +store __or_23_2335 31 +label L2336 +load 34 __or_23_2335 +brif 34 L2333 L2334 +label L2333 load 35 idx load 36 node iconst 37 1 @@ -142761,28 +143062,28 @@ call 40 ir_decode_emit_ir_emit_json_decode_call int 5 35 36 37 38 39 call 41 pith_closure_release void 1 38 call 42 pith_closure_release void 1 39 ret 40 -label L2289 -label L2287 +label L2334 +label L2332 iconst 43 0 -store __or_43_2295 43 +store __or_43_2340 43 load 44 callee_idx strref 45 m46s891 call 46 ir_alias_registry_ir_is_json_decode_callee bool 2 44 45 call 47 pith_cstring_release void 1 45 -store __or_43_2295 46 -brif 46 L2296 L2295 -label L2295 +store __or_43_2340 46 +brif 46 L2341 L2340 +label L2340 load 48 callee_idx strref 49 m46s891 strref 50 m46s935 call 51 ir_emitter_core_ir_is_local_generic_callee bool 3 48 49 50 call 52 pith_cstring_release void 1 49 call 53 pith_cstring_release void 1 50 -store __or_43_2295 51 -label L2296 -load 54 __or_43_2295 -brif 54 L2293 L2294 -label L2293 +store __or_43_2340 51 +label L2341 +load 54 __or_43_2340 +brif 54 L2338 L2339 +label L2338 load 55 idx load 56 node closure_ref 57 ir_emitter_core___fnval_0 @@ -142791,28 +143092,28 @@ call 59 ir_decode_emit_ir_emit_json_decode_object_call int 4 55 56 57 58 call 60 pith_closure_release void 1 57 call 61 pith_closure_release void 1 58 ret 59 -label L2294 -label L2292 +label L2339 +label L2337 iconst 62 0 -store __or_62_2300 62 +store __or_62_2345 62 load 63 callee_idx strref 64 m46s928 call 65 ir_alias_registry_ir_is_json_decode_callee bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __or_62_2300 65 -brif 65 L2301 L2300 -label L2300 +store __or_62_2345 65 +brif 65 L2346 L2345 +label L2345 load 67 callee_idx strref 68 m46s928 strref 69 m46s935 call 70 ir_emitter_core_ir_is_local_generic_callee bool 3 67 68 69 call 71 pith_cstring_release void 1 68 call 72 pith_cstring_release void 1 69 -store __or_62_2300 70 -label L2301 -load 73 __or_62_2300 -brif 73 L2298 L2299 -label L2298 +store __or_62_2345 70 +label L2346 +load 73 __or_62_2345 +brif 73 L2343 L2344 +label L2343 load 74 idx load 75 node iconst 76 0 @@ -142822,28 +143123,28 @@ call 79 ir_decode_emit_ir_emit_json_decode_path_call int 5 74 75 76 77 78 call 80 pith_closure_release void 1 77 call 81 pith_closure_release void 1 78 ret 79 -label L2299 -label L2297 +label L2344 +label L2342 iconst 82 0 -store __or_82_2305 82 +store __or_82_2350 82 load 83 callee_idx strref 84 m46s1089 call 85 ir_alias_registry_ir_is_json_decode_callee bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __or_82_2305 85 -brif 85 L2306 L2305 -label L2305 +store __or_82_2350 85 +brif 85 L2351 L2350 +label L2350 load 87 callee_idx strref 88 m46s1089 strref 89 m46s1084 call 90 ir_emitter_core_ir_is_local_generic_callee bool 3 87 88 89 call 91 pith_cstring_release void 1 88 call 92 pith_cstring_release void 1 89 -store __or_82_2305 90 -label L2306 -load 93 __or_82_2305 -brif 93 L2303 L2304 -label L2303 +store __or_82_2350 90 +label L2351 +load 93 __or_82_2350 +brif 93 L2348 L2349 +label L2348 load 94 idx load 95 node iconst 96 1 @@ -142853,28 +143154,28 @@ call 99 ir_decode_emit_ir_emit_json_decode_path_call int 5 94 95 96 97 98 call 100 pith_closure_release void 1 97 call 101 pith_closure_release void 1 98 ret 99 -label L2304 -label L2302 +label L2349 +label L2347 iconst 102 0 -store __or_102_2310 102 +store __or_102_2355 102 load 103 callee_idx strref 104 m46s1244 call 105 ir_alias_registry_ir_is_json_decode_callee bool 2 103 104 call 106 pith_cstring_release void 1 104 -store __or_102_2310 105 -brif 105 L2311 L2310 -label L2310 +store __or_102_2355 105 +brif 105 L2356 L2355 +label L2355 load 107 callee_idx strref 108 m46s1244 strref 109 m46s1242 call 110 ir_emitter_core_ir_is_local_generic_callee bool 3 107 108 109 call 111 pith_cstring_release void 1 108 call 112 pith_cstring_release void 1 109 -store __or_102_2310 110 -label L2311 -load 113 __or_102_2310 -brif 113 L2308 L2309 -label L2308 +store __or_102_2355 110 +label L2356 +load 113 __or_102_2355 +brif 113 L2353 L2354 +label L2353 load 114 idx load 115 node iconst 116 0 @@ -142884,28 +143185,28 @@ call 119 ir_decode_emit_ir_emit_json_decode_file_call int 5 114 115 116 117 118 call 120 pith_closure_release void 1 117 call 121 pith_closure_release void 1 118 ret 119 -label L2309 -label L2307 +label L2354 +label L2352 iconst 122 0 -store __or_122_2315 122 +store __or_122_2360 122 load 123 callee_idx strref 124 m46s1243 call 125 ir_alias_registry_ir_is_json_decode_callee bool 2 123 124 call 126 pith_cstring_release void 1 124 -store __or_122_2315 125 -brif 125 L2316 L2315 -label L2315 +store __or_122_2360 125 +brif 125 L2361 L2360 +label L2360 load 127 callee_idx strref 128 m46s1243 strref 129 m46s1242 call 130 ir_emitter_core_ir_is_local_generic_callee bool 3 127 128 129 call 131 pith_cstring_release void 1 128 call 132 pith_cstring_release void 1 129 -store __or_122_2315 130 -label L2316 -load 133 __or_122_2315 -brif 133 L2313 L2314 -label L2313 +store __or_122_2360 130 +label L2361 +load 133 __or_122_2360 +brif 133 L2358 L2359 +label L2358 load 134 idx load 135 node iconst 136 1 @@ -142915,8 +143216,8 @@ call 139 ir_decode_emit_ir_emit_json_decode_file_call int 5 134 135 136 137 138 call 140 pith_closure_release void 1 137 call 141 pith_closure_release void 1 138 ret 139 -label L2314 -label L2312 +label L2359 +label L2357 iconst 142 0 iconst 143 1 sub 144 142 143 @@ -142930,25 +143231,25 @@ param node param callee_idx param callee_node iconst 4 0 -store __or_4_2320 4 +store __or_4_2365 4 load 5 callee_idx strref 6 m46s391 call 7 ir_alias_registry_ir_is_toml_decode_callee bool 2 5 6 call 8 pith_cstring_release void 1 6 -store __or_4_2320 7 -brif 7 L2321 L2320 -label L2320 +store __or_4_2365 7 +brif 7 L2366 L2365 +label L2365 load 9 callee_idx strref 10 m46s391 strref 11 m46s935 call 12 ir_emitter_core_ir_is_local_generic_callee bool 3 9 10 11 call 13 pith_cstring_release void 1 10 call 14 pith_cstring_release void 1 11 -store __or_4_2320 12 -label L2321 -load 15 __or_4_2320 -brif 15 L2318 L2319 -label L2318 +store __or_4_2365 12 +label L2366 +load 15 __or_4_2365 +brif 15 L2363 L2364 +label L2363 load 16 idx load 17 node iconst 18 0 @@ -142958,28 +143259,28 @@ call 21 ir_decode_emit_ir_emit_toml_decode_call int 5 16 17 18 19 20 call 22 pith_closure_release void 1 19 call 23 pith_closure_release void 1 20 ret 21 -label L2319 -label L2317 +label L2364 +label L2362 iconst 24 0 -store __or_24_2325 24 +store __or_24_2370 24 load 25 callee_idx strref 26 m46s390 call 27 ir_alias_registry_ir_is_toml_decode_callee bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_24_2325 27 -brif 27 L2326 L2325 -label L2325 +store __or_24_2370 27 +brif 27 L2371 L2370 +label L2370 load 29 callee_idx strref 30 m46s390 strref 31 m46s1084 call 32 ir_emitter_core_ir_is_local_generic_callee bool 3 29 30 31 call 33 pith_cstring_release void 1 30 call 34 pith_cstring_release void 1 31 -store __or_24_2325 32 -label L2326 -load 35 __or_24_2325 -brif 35 L2323 L2324 -label L2323 +store __or_24_2370 32 +label L2371 +load 35 __or_24_2370 +brif 35 L2368 L2369 +label L2368 load 36 idx load 37 node iconst 38 1 @@ -142989,14 +143290,14 @@ call 41 ir_decode_emit_ir_emit_toml_decode_call int 5 36 37 38 39 40 call 42 pith_closure_release void 1 39 call 43 pith_closure_release void 1 40 ret 41 -label L2324 -label L2322 +label L2369 +label L2367 load 44 callee_idx strref 45 m46s928 call 46 ir_alias_registry_ir_is_toml_decode_callee bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L2328 L2329 -label L2328 +brif 46 L2373 L2374 +label L2373 load 48 idx load 49 node iconst 50 0 @@ -143006,14 +143307,14 @@ call 53 ir_decode_emit_ir_emit_toml_decode_path_call int 5 48 49 50 51 52 call 54 pith_closure_release void 1 51 call 55 pith_closure_release void 1 52 ret 53 -label L2329 -label L2327 +label L2374 +label L2372 load 56 callee_idx strref 57 m46s1089 call 58 ir_alias_registry_ir_is_toml_decode_callee bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L2331 L2332 -label L2331 +brif 58 L2376 L2377 +label L2376 load 60 idx load 61 node iconst 62 1 @@ -143023,43 +143324,43 @@ call 65 ir_decode_emit_ir_emit_toml_decode_path_call int 5 60 61 62 63 64 call 66 pith_closure_release void 1 63 call 67 pith_closure_release void 1 64 ret 65 -label L2332 -label L2330 +label L2377 +label L2375 load 68 callee_idx strref 69 m46s1089 strref 70 m46s1084 call 71 ir_emitter_core_ir_is_local_generic_callee bool 3 68 69 70 call 72 pith_cstring_release void 1 69 call 73 pith_cstring_release void 1 70 -brif 71 L2334 L2335 -label L2334 +brif 71 L2379 L2380 +label L2379 load 74 idx load 75 node load 76 callee_node call 77 ir_emitter_core_ir_emit_local_toml_decode_text_path_call int 3 74 75 76 ret 77 -label L2335 -label L2333 +label L2380 +label L2378 iconst 78 0 -store __or_78_2339 78 +store __or_78_2384 78 load 79 callee_idx strref 80 m46s1244 call 81 ir_alias_registry_ir_is_toml_decode_callee bool 2 79 80 call 82 pith_cstring_release void 1 80 -store __or_78_2339 81 -brif 81 L2340 L2339 -label L2339 +store __or_78_2384 81 +brif 81 L2385 L2384 +label L2384 load 83 callee_idx strref 84 m46s1244 strref 85 m46s1242 call 86 ir_emitter_core_ir_is_local_generic_callee bool 3 83 84 85 call 87 pith_cstring_release void 1 84 call 88 pith_cstring_release void 1 85 -store __or_78_2339 86 -label L2340 -load 89 __or_78_2339 -brif 89 L2337 L2338 -label L2337 +store __or_78_2384 86 +label L2385 +load 89 __or_78_2384 +brif 89 L2382 L2383 +label L2382 load 90 idx load 91 node iconst 92 0 @@ -143069,28 +143370,28 @@ call 95 ir_decode_emit_ir_emit_toml_decode_file_call int 5 90 91 92 93 94 call 96 pith_closure_release void 1 93 call 97 pith_closure_release void 1 94 ret 95 -label L2338 -label L2336 +label L2383 +label L2381 iconst 98 0 -store __or_98_2344 98 +store __or_98_2389 98 load 99 callee_idx strref 100 m46s1243 call 101 ir_alias_registry_ir_is_toml_decode_callee bool 2 99 100 call 102 pith_cstring_release void 1 100 -store __or_98_2344 101 -brif 101 L2345 L2344 -label L2344 +store __or_98_2389 101 +brif 101 L2390 L2389 +label L2389 load 103 callee_idx strref 104 m46s1243 strref 105 m46s1242 call 106 ir_emitter_core_ir_is_local_generic_callee bool 3 103 104 105 call 107 pith_cstring_release void 1 104 call 108 pith_cstring_release void 1 105 -store __or_98_2344 106 -label L2345 -load 109 __or_98_2344 -brif 109 L2342 L2343 -label L2342 +store __or_98_2389 106 +label L2390 +load 109 __or_98_2389 +brif 109 L2387 L2388 +label L2387 load 110 idx load 111 node iconst 112 1 @@ -143100,8 +143401,8 @@ call 115 ir_decode_emit_ir_emit_toml_decode_file_call int 5 110 111 112 113 114 call 116 pith_closure_release void 1 113 call 117 pith_closure_release void 1 114 ret 115 -label L2343 -label L2341 +label L2388 +label L2386 iconst 118 0 iconst 119 1 sub 120 118 119 @@ -143122,12 +143423,12 @@ store json_r 7 load 8 json_r iconst 9 0 gte 10 8 9 -brif 10 L2347 L2348 -label L2347 +brif 10 L2392 L2393 +label L2392 load 11 json_r ret 11 -label L2348 -label L2346 +label L2393 +label L2391 load 12 idx load 13 node load 14 callee_idx @@ -143140,12 +143441,12 @@ store config_r 17 load 20 config_r iconst 21 0 gte 22 20 21 -brif 22 L2350 L2351 -label L2350 +brif 22 L2395 L2396 +label L2395 load 23 config_r ret 23 -label L2351 -label L2349 +label L2396 +label L2394 load 24 idx load 25 node load 26 callee_idx @@ -143169,8 +143470,8 @@ store expr_tid 6 load 7 expr_tid iconst 8 0 lt 9 7 8 -brif 9 L2353 L2354 -label L2353 +brif 9 L2398 L2399 +label L2398 iconst 10 0 iconst 11 1 sub 12 10 11 @@ -143179,8 +143480,8 @@ call 14 pith_struct_release void 1 13 load 15 arg_nodes call 16 pith_list_release_handle void 1 15 ret 12 -label L2354 -label L2352 +label L2399 +label L2397 load 17 expr_info load 18 expr_tid call 19 types_get_type_info struct:TypeInfo 1 18 @@ -143193,8 +143494,8 @@ call 25 pith_cstring_eq bool 2 22 23 iconst 26 1 sub 24 26 25 call 27 pith_cstring_release void 1 23 -brif 24 L2356 L2357 -label L2356 +brif 24 L2401 L2402 +label L2401 iconst 28 0 iconst 29 1 sub 30 28 29 @@ -143203,22 +143504,22 @@ call 32 pith_struct_release void 1 31 load 33 arg_nodes call 34 pith_list_release_handle void 1 33 ret 30 -label L2357 -label L2355 +label L2402 +label L2400 iconst 35 0 -store __or_35_2361 35 +store __or_35_2406 35 load 36 callee_name call 37 ir_method_tables_ir_is_declared_callable bool 1 36 -store __or_35_2361 37 -brif 37 L2362 L2361 -label L2361 +store __or_35_2406 37 +brif 37 L2407 L2406 +label L2406 load 38 callee_name call 39 ir_emitter_core_ir_is_sync_primitive_name bool 1 38 -store __or_35_2361 39 -label L2362 -load 40 __or_35_2361 -brif 40 L2359 L2360 -label L2359 +store __or_35_2406 39 +label L2407 +load 40 __or_35_2406 +brif 40 L2404 L2405 +label L2404 iconst 41 0 iconst 42 1 sub 43 41 42 @@ -143227,16 +143528,16 @@ call 45 pith_struct_release void 1 44 load 46 arg_nodes call 47 pith_list_release_handle void 1 46 ret 43 -label L2360 -label L2358 +label L2405 +label L2403 load 48 callee_name call 49 ir_emitter_core_ir_lookup_name_type string 1 48 strref 50 m46s824 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 49 call 53 pith_cstring_release void 1 50 -brif 51 L2364 L2365 -label L2364 +brif 51 L2409 L2410 +label L2409 iconst 54 0 iconst 55 1 sub 56 54 55 @@ -143245,15 +143546,15 @@ call 58 pith_struct_release void 1 57 load 59 arg_nodes call 60 pith_list_release_handle void 1 59 ret 56 -label L2365 -label L2363 +label L2410 +label L2408 load 61 node field 62 61 16 list children call 63 pith_list_len int 1 62 iconst 64 0 gt 65 63 64 -brif 65 L2367 L2368 -label L2367 +brif 65 L2412 L2413 +label L2412 load 66 node field 67 66 16 list children iconst 68 0 @@ -143261,24 +143562,24 @@ call 69 pith_list_get_value_strict int 2 67 68 call 70 checker_c_get_expr_type int 1 69 store callee_tid 70 iconst 71 0 -store __and_71_2372 71 +store __and_71_2417 71 load 72 callee_tid iconst 73 0 gte 74 72 73 -store __and_71_2372 74 -brif 74 L2372 L2373 -label L2372 +store __and_71_2417 74 +brif 74 L2417 L2418 +label L2417 load 75 callee_tid call 76 types_get_type_info struct:TypeInfo 1 75 field 77 76 0 string kind strref 78 m46s24 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __and_71_2372 79 -label L2373 -load 81 __and_71_2372 -brif 81 L2370 L2371 -label L2370 +store __and_71_2417 79 +label L2418 +load 81 __and_71_2417 +brif 81 L2415 L2416 +label L2415 iconst 82 0 iconst 83 1 sub 84 82 83 @@ -143287,11 +143588,11 @@ call 86 pith_struct_release void 1 85 load 87 arg_nodes call 88 pith_list_release_handle void 1 87 ret 84 -label L2371 -label L2369 -jmp L2366 -label L2368 -label L2366 +label L2416 +label L2414 +jmp L2411 +label L2413 +label L2411 load 89 arg_nodes call 90 pith_list_new_default list 0 call 91 pith_list_release_handle void 1 89 @@ -143303,12 +143604,12 @@ iconst 95 0 store __for_idx_333 95 store __for_len_333 94 store __for_iter_333 93 -label L2374 +label L2419 load 96 __for_idx_333 load 97 __for_len_333 lt 98 96 97 -brif 98 L2375 L2377 -label L2375 +brif 98 L2420 L2422 +label L2420 load 99 __for_iter_333 load 100 __for_idx_333 call 101 pith_list_get_value unknown 2 99 100 @@ -143318,21 +143619,21 @@ store __loopvar_333_i 102 load 103 __loopvar_333_i iconst 104 0 eq 105 103 104 -brif 105 L2379 L2380 -label L2379 -jmp L2376 -label L2380 -label L2378 +brif 105 L2424 L2425 +label L2424 +jmp L2421 +label L2425 +label L2423 load 106 arg_nodes load 107 __loopvar_333_child call 108 pith_list_push_value void 2 106 107 -label L2376 +label L2421 load 109 __for_idx_333 iconst 110 1 add 111 109 110 store __for_idx_333 111 -jmp L2374 -label L2377 +jmp L2419 +label L2422 load 112 expr_info field 113 112 8 string name load 114 arg_nodes @@ -143356,45 +143657,45 @@ param params param arg_names iconst 3 0 store i 3 -label L2381 +label L2426 load 4 i load 5 params call 6 pith_list_len int 1 5 lt 7 4 6 -brif 7 L2382 L2383 -label L2382 +brif 7 L2427 L2428 +label L2427 iconst 8 0 -store __and_8_2387 8 +store __and_8_2432 8 load 9 params load 10 i call 11 pith_list_get_value_strict string 2 9 10 load 12 base_ftype call 13 pith_cstring_eq bool 2 11 12 -store __and_8_2387 13 -brif 13 L2387 L2388 -label L2387 +store __and_8_2432 13 +brif 13 L2432 L2433 +label L2432 load 14 i load 15 arg_names call 16 pith_list_len int 1 15 lt 17 14 16 -store __and_8_2387 17 -label L2388 -load 18 __and_8_2387 -brif 18 L2385 L2386 -label L2385 +store __and_8_2432 17 +label L2433 +load 18 __and_8_2432 +brif 18 L2430 L2431 +label L2430 load 19 arg_names load 20 i call 21 pith_list_get_value_strict string 2 19 20 call 22 pith_cstring_retain void 1 21 ret 21 -label L2386 -label L2384 +label L2431 +label L2429 load 23 i iconst 24 1 add 25 23 24 store i 25 -jmp L2381 -label L2383 +jmp L2426 +label L2428 load 26 base_ftype call 27 pith_cstring_retain void 1 26 ret 26 @@ -143414,12 +143715,12 @@ call 6 ir_struct_registry_ir_struct_field_count int 1 5 store count 6 iconst 7 0 store i 7 -label L2389 +label L2434 load 8 i load 9 count lt 10 8 9 -brif 10 L2390 L2391 -label L2390 +brif 10 L2435 L2436 +label L2435 load 11 fname load 12 base load 13 i @@ -143442,22 +143743,22 @@ call 27 string_len int 1 25 call 28 pith_cstring_release void 1 25 iconst 29 0 gt 30 27 29 -brif 30 L2393 L2394 -label L2393 +brif 30 L2438 L2439 +label L2438 iconst 31 1 load 32 fname call 33 pith_cstring_release void 1 32 load 34 base_ftype call 35 pith_cstring_release void 1 34 ret 31 -label L2394 -label L2392 +label L2439 +label L2437 load 36 i iconst 37 1 add 38 36 37 store i 38 -jmp L2389 -label L2391 +jmp L2434 +label L2436 iconst 39 0 load 40 fname call 41 pith_cstring_release void 1 40 @@ -143484,30 +143785,30 @@ load 6 callee_name call 7 contains_key bool 2 5 6 iconst 9 1 sub 8 9 7 -brif 8 L2396 L2397 -label L2396 +brif 8 L2441 L2442 +label L2441 load 10 cn call 11 pith_struct_release void 1 10 load 12 arg_kind call 13 pith_cstring_release void 1 12 iconst 14 0 ret 14 -label L2397 -label L2395 +label L2442 +label L2440 load 15 callee_name call 16 checker_has_generic_declaration bool 1 15 iconst 18 1 sub 17 18 16 -brif 17 L2399 L2400 -label L2399 +brif 17 L2444 L2445 +label L2444 load 19 cn call 20 pith_struct_release void 1 19 load 21 arg_kind call 22 pith_cstring_release void 1 21 iconst 23 0 ret 23 -label L2400 -label L2398 +label L2445 +label L2443 iconst 24 0 store reg_i 24 load 25 node @@ -143517,12 +143818,12 @@ iconst 28 0 store __for_idx_334 28 store __for_len_334 27 store __for_iter_334 26 -label L2401 +label L2446 load 29 __for_idx_334 load 30 __for_len_334 lt 31 29 30 -brif 31 L2402 L2404 -label L2402 +brif 31 L2447 L2449 +label L2447 load 32 __for_iter_334 load 33 __for_idx_334 call 34 pith_list_get_value unknown 2 32 33 @@ -143532,25 +143833,25 @@ store __loopvar_334_i 35 load 36 __loopvar_334_i iconst 37 0 eq 38 36 37 -brif 38 L2406 L2407 -label L2406 -jmp L2403 -label L2407 -label L2405 +brif 38 L2451 L2452 +label L2451 +jmp L2448 +label L2452 +label L2450 load 39 reg_i load 40 arg_regs call 41 pith_list_len int 1 40 gte 42 39 41 -brif 42 L2409 L2410 -label L2409 +brif 42 L2454 L2455 +label L2454 load 43 cn call 44 pith_struct_release void 1 43 load 45 arg_kind call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L2410 -label L2408 +label L2455 +label L2453 load 48 __loopvar_334_child store expr_idx 48 load 49 cn @@ -143563,30 +143864,30 @@ field 54 53 0 string kind strref 55 m46s42 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -brif 56 L2412 L2413 -label L2412 +brif 56 L2457 L2458 +label L2457 load 58 cn field 59 58 16 list children call 60 pith_list_len int 1 59 iconst 61 0 eq 62 60 61 -brif 62 L2415 L2416 -label L2415 +brif 62 L2460 L2461 +label L2460 load 63 reg_i iconst 64 1 add 65 63 64 store reg_i 65 -jmp L2403 -label L2416 -label L2414 +jmp L2448 +label L2461 +label L2459 load 66 cn field 67 66 16 list children iconst 68 0 call 69 pith_list_get_value_strict int 2 67 68 store expr_idx 69 -jmp L2411 -label L2413 -label L2411 +jmp L2456 +label L2458 +label L2456 load 70 arg_kind load 71 expr_idx call 72 ir_emitter_core_ir_infer_type string 1 71 @@ -143595,40 +143896,40 @@ call 74 pith_cstring_release void 1 72 call 75 pith_cstring_release void 1 70 store arg_kind 73 iconst 76 0 -store __and_76_2420 76 +store __and_76_2465 76 load 77 arg_kind call 78 string_len int 1 77 iconst 79 0 gt 80 78 79 -store __and_76_2420 80 -brif 80 L2420 L2421 -label L2420 +store __and_76_2465 80 +brif 80 L2465 L2466 +label L2465 load 81 expr_idx call 82 ir_emitter_core_ir_string_expr_is_borrowed bool 1 81 -store __and_76_2420 82 -label L2421 -load 83 __and_76_2420 -brif 83 L2418 L2419 -label L2418 +store __and_76_2465 82 +label L2466 +load 83 __and_76_2465 +brif 83 L2463 L2464 +label L2463 load 84 arg_regs load 85 reg_i call 86 pith_list_get_value_strict int 2 84 85 load 87 arg_kind call 88 ir_ownership_ir_rc_retain_reg void 2 86 87 -jmp L2417 -label L2419 -label L2417 +jmp L2462 +label L2464 +label L2462 load 89 reg_i iconst 90 1 add 91 89 90 store reg_i 91 -label L2403 +label L2448 load 92 __for_idx_334 iconst 93 1 add 94 92 93 store __for_idx_334 94 -jmp L2401 -label L2404 +jmp L2446 +label L2449 load 95 cn call 96 pith_struct_release void 1 95 load 97 arg_kind @@ -143649,8 +143950,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 0 eq 8 6 7 -brif 8 L2423 L2424 -label L2423 +brif 8 L2468 L2469 +label L2468 iconst 9 0 load 10 cn call 11 pith_struct_release void 1 10 @@ -143659,8 +143960,8 @@ call 13 pith_cstring_release void 1 12 load 14 bn call 15 pith_struct_release void 1 14 ret 9 -label L2424 -label L2422 +label L2469 +label L2467 load 16 cn load 17 node field 18 17 16 list children @@ -143678,36 +143979,36 @@ field 27 26 0 string kind strref 28 m46s37 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L2426 L2427 -label L2426 +brif 29 L2471 L2472 +label L2471 load 31 base load 32 cn field 33 32 8 string value call 34 pith_cstring_retain void 1 33 call 35 pith_cstring_release void 1 31 store base 33 -jmp L2425 -label L2427 +jmp L2470 +label L2472 iconst 36 0 -store __and_36_2430 36 +store __and_36_2475 36 load 37 cn field 38 37 0 string kind strref 39 m46s35 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_2430 40 -brif 40 L2430 L2431 -label L2430 +store __and_36_2475 40 +brif 40 L2475 L2476 +label L2475 load 42 cn field 43 42 16 list children call 44 pith_list_len int 1 43 iconst 45 2 gte 46 44 45 -store __and_36_2430 46 -label L2431 -load 47 __and_36_2430 -brif 47 L2428 L2429 -label L2428 +store __and_36_2475 46 +label L2476 +load 47 __and_36_2475 +brif 47 L2473 L2474 +label L2473 load 48 bn load 49 cn field 50 49 16 list children @@ -143721,26 +144022,26 @@ field 56 55 0 string kind strref 57 m46s37 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -brif 58 L2433 L2434 -label L2433 +brif 58 L2478 L2479 +label L2478 load 60 base load 61 bn field 62 61 8 string value call 63 pith_cstring_retain void 1 62 call 64 pith_cstring_release void 1 60 store base 62 -jmp L2432 -label L2434 -label L2432 -jmp L2425 -label L2429 -label L2425 +jmp L2477 +label L2479 +label L2477 +jmp L2470 +label L2474 +label L2470 load 65 base call 66 string_len int 1 65 iconst 67 0 eq 68 66 67 -brif 68 L2436 L2437 -label L2436 +brif 68 L2481 L2482 +label L2481 iconst 69 0 load 70 cn call 71 pith_struct_release void 1 70 @@ -143749,21 +144050,21 @@ call 73 pith_cstring_release void 1 72 load 74 bn call 75 pith_struct_release void 1 74 ret 69 -label L2437 -label L2435 +label L2482 +label L2480 iconst 76 0 -store __and_76_2438 76 +store __and_76_2483 76 load 77 ir_struct_registry_ir_struct_names load 78 base call 79 contains_key bool 2 77 78 -store __and_76_2438 79 -brif 79 L2438 L2439 -label L2438 +store __and_76_2483 79 +brif 79 L2483 L2484 +label L2483 load 80 base call 81 checker_has_generic_declaration bool 1 80 -store __and_76_2438 81 -label L2439 -load 82 __and_76_2438 +store __and_76_2483 81 +label L2484 +load 82 __and_76_2483 load 83 cn call 84 pith_struct_release void 1 83 load 85 base @@ -143810,8 +144111,8 @@ field 18 17 0 string kind strref 19 m46s37 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L2441 L2442 -label L2441 +brif 20 L2486 L2487 +label L2486 load 22 node load 23 callee_node field 24 23 8 string value @@ -143831,10 +144132,10 @@ load 37 sym call 38 pith_cstring_release void 1 37 iconst 39 0 ret 39 -label L2442 -label L2440 +label L2487 +label L2485 iconst 40 0 -store __or_40_2446 40 +store __or_40_2491 40 load 41 callee_node field 42 41 0 string kind strref 43 m46s35 @@ -143842,19 +144143,19 @@ call 45 pith_cstring_eq bool 2 42 43 iconst 46 1 sub 44 46 45 call 47 pith_cstring_release void 1 43 -store __or_40_2446 44 -brif 44 L2447 L2446 -label L2446 +store __or_40_2491 44 +brif 44 L2492 L2491 +label L2491 load 48 callee_node field 49 48 16 list children call 50 pith_list_len int 1 49 iconst 51 2 lt 52 50 51 -store __or_40_2446 52 -label L2447 -load 53 __or_40_2446 -brif 53 L2444 L2445 -label L2444 +store __or_40_2491 52 +label L2492 +load 53 __or_40_2491 +brif 53 L2489 L2490 +label L2489 load 54 callee_node call 55 pith_struct_release void 1 54 load 56 base_node @@ -143869,8 +144170,8 @@ load 64 sym call 65 pith_cstring_release void 1 64 iconst 66 0 ret 66 -label L2445 -label L2443 +label L2490 +label L2488 load 67 base_node load 68 callee_node field 69 68 16 list children @@ -143886,8 +144187,8 @@ call 78 pith_cstring_eq bool 2 75 76 iconst 79 1 sub 77 79 78 call 80 pith_cstring_release void 1 76 -brif 77 L2449 L2450 -label L2449 +brif 77 L2494 L2495 +label L2494 load 81 callee_node call 82 pith_struct_release void 1 81 load 83 base_node @@ -143902,8 +144203,8 @@ load 91 sym call 92 pith_cstring_release void 1 91 iconst 93 0 ret 93 -label L2450 -label L2448 +label L2495 +label L2493 load 94 base load 95 base_node field 96 95 8 string value @@ -143915,8 +144216,8 @@ load 100 base call 101 contains_key bool 2 99 100 iconst 103 1 sub 102 103 101 -brif 102 L2452 L2453 -label L2452 +brif 102 L2497 L2498 +label L2497 load 104 callee_node call 105 pith_struct_release void 1 104 load 106 base_node @@ -143931,14 +144232,14 @@ load 114 sym call 115 pith_cstring_release void 1 114 iconst 116 0 ret 116 -label L2453 -label L2451 +label L2498 +label L2496 load 117 base call 118 checker_has_generic_declaration bool 1 117 iconst 120 1 sub 119 120 118 -brif 119 L2455 L2456 -label L2455 +brif 119 L2500 L2501 +label L2500 load 121 callee_node call 122 pith_struct_release void 1 121 load 123 base_node @@ -143953,8 +144254,8 @@ load 131 sym call 132 pith_cstring_release void 1 131 iconst 133 0 ret 133 -label L2456 -label L2454 +label L2501 +label L2499 load 134 arg_names load 135 callee_node call 136 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 135 @@ -143964,8 +144265,8 @@ load 138 arg_names call 139 pith_list_len int 1 138 iconst 140 0 eq 141 139 140 -brif 141 L2458 L2459 -label L2458 +brif 141 L2503 L2504 +label L2503 load 142 callee_node call 143 pith_struct_release void 1 142 load 144 base_node @@ -143980,8 +144281,8 @@ load 152 sym call 153 pith_cstring_release void 1 152 iconst 154 0 ret 154 -label L2459 -label L2457 +label L2504 +label L2502 load 155 params load 156 base call 157 checker_get_generic_declaration_index int 1 156 @@ -143996,8 +144297,8 @@ load 164 arg_names call 165 ir_emitter_core_ir_generic_instance_needs_dtor bool 3 162 163 164 iconst 167 1 sub 166 167 165 -brif 166 L2461 L2462 -label L2461 +brif 166 L2506 L2507 +label L2506 load 168 callee_node call 169 pith_struct_release void 1 168 load 170 base_node @@ -144012,8 +144313,8 @@ load 178 sym call 179 pith_cstring_release void 1 178 iconst 180 0 ret 180 -label L2462 -label L2460 +label L2507 +label L2505 load 181 node load 182 base load 183 params @@ -144130,12 +144431,12 @@ iconst 13 0 store __for_idx_335 13 store __for_len_335 12 store __for_iter_335 11 -label L2463 +label L2508 load 14 __for_idx_335 load 15 __for_len_335 lt 16 14 15 -brif 16 L2464 L2466 -label L2464 +brif 16 L2509 L2511 +label L2509 load 17 __for_iter_335 load 18 __for_idx_335 call 19 pith_list_get_value unknown 2 17 18 @@ -144145,17 +144446,17 @@ store __loopvar_335_i 20 load 21 __loopvar_335_i iconst 22 0 eq 23 21 22 -brif 23 L2468 L2469 -label L2468 -jmp L2465 -label L2469 -label L2467 +brif 23 L2513 L2514 +label L2513 +jmp L2510 +label L2514 +label L2512 load 24 reg_i load 25 arg_regs call 26 pith_list_len int 1 25 gte 27 24 26 -brif 27 L2471 L2472 -label L2471 +brif 27 L2516 L2517 +label L2516 load 28 cn call 29 pith_struct_release void 1 28 load 30 fname @@ -144166,8 +144467,8 @@ load 34 fkind call 35 pith_cstring_release void 1 34 iconst 36 0 ret 36 -label L2472 -label L2470 +label L2517 +label L2515 load 37 __loopvar_335_child store expr_idx 37 load 38 cn @@ -144180,38 +144481,38 @@ field 43 42 0 string kind strref 44 m46s42 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L2474 L2475 -label L2474 +brif 45 L2519 L2520 +label L2519 load 47 cn field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 eq 51 49 50 -brif 51 L2477 L2478 -label L2477 +brif 51 L2522 L2523 +label L2522 load 52 reg_i iconst 53 1 add 54 52 53 store reg_i 54 -jmp L2465 -label L2478 -label L2476 +jmp L2510 +label L2523 +label L2521 load 55 cn field 56 55 16 list children iconst 57 0 call 58 pith_list_get_value_strict int 2 56 57 store expr_idx 58 -jmp L2473 -label L2475 -label L2473 +jmp L2518 +label L2520 +label L2518 load 59 reg_i store field_pos 59 load 60 field_pos load 61 base call 62 ir_struct_registry_ir_struct_field_count int 1 61 lt 63 60 62 -brif 63 L2480 L2481 -label L2480 +brif 63 L2525 L2526 +label L2525 load 64 fname load 65 base load 66 field_pos @@ -144234,43 +144535,43 @@ call 80 pith_cstring_release void 1 78 call 81 pith_cstring_release void 1 74 store fkind 79 iconst 82 0 -store __and_82_2485 82 +store __and_82_2530 82 load 83 fkind call 84 string_len int 1 83 iconst 85 0 gt 86 84 85 -store __and_82_2485 86 -brif 86 L2485 L2486 -label L2485 +store __and_82_2530 86 +brif 86 L2530 L2531 +label L2530 load 87 expr_idx call 88 ir_emitter_core_ir_string_expr_is_borrowed bool 1 87 -store __and_82_2485 88 -label L2486 -load 89 __and_82_2485 -brif 89 L2483 L2484 -label L2483 +store __and_82_2530 88 +label L2531 +load 89 __and_82_2530 +brif 89 L2528 L2529 +label L2528 load 90 arg_regs load 91 reg_i call 92 pith_list_get_value_strict int 2 90 91 load 93 fkind call 94 ir_ownership_ir_rc_retain_reg void 2 92 93 -jmp L2482 -label L2484 -label L2482 -jmp L2479 -label L2481 -label L2479 +jmp L2527 +label L2529 +label L2527 +jmp L2524 +label L2526 +label L2524 load 95 reg_i iconst 96 1 add 97 95 96 store reg_i 97 -label L2465 +label L2510 load 98 __for_idx_335 iconst 99 1 add 100 98 99 store __for_idx_335 100 -jmp L2463 -label L2466 +jmp L2508 +label L2511 load 101 cn call 102 pith_struct_release void 1 101 load 103 fname @@ -144304,12 +144605,12 @@ iconst 10 0 store __for_idx_336 10 store __for_len_336 9 store __for_iter_336 8 -label L2487 +label L2532 load 11 __for_idx_336 load 12 __for_len_336 lt 13 11 12 -brif 13 L2488 L2490 -label L2488 +brif 13 L2533 L2535 +label L2533 load 14 __for_iter_336 load 15 __for_idx_336 call 16 pith_list_get_value_unchecked string 2 14 15 @@ -144336,8 +144637,8 @@ load 32 args_str call 33 string_len int 1 32 iconst 34 0 gt 35 33 34 -brif 35 L2492 L2493 -label L2492 +brif 35 L2537 L2538 +label L2537 load 36 arg_names load 37 args_str iconst 38 1 @@ -144346,9 +144647,9 @@ call 40 pith_string_split_to_list list_string 2 37 39 call 41 pith_cstring_release void 1 39 call 42 pith_list_release_handle void 1 36 store arg_names 40 -jmp L2491 -label L2493 -label L2491 +jmp L2536 +label L2538 +label L2536 load 43 params load 44 base call 45 checker_get_generic_declaration_index int 1 44 @@ -144388,12 +144689,12 @@ call 76 ir_struct_registry_ir_struct_field_count int 1 75 store count 76 iconst 77 0 store i 77 -label L2494 +label L2539 load 78 i load 79 count lt 80 78 79 -brif 80 L2495 L2496 -label L2495 +brif 80 L2540 L2541 +label L2540 load 81 fname load 82 base load 83 i @@ -144419,8 +144720,8 @@ load 99 fkind call 100 string_len int 1 99 iconst 101 0 gt 102 100 101 -brif 102 L2498 L2499 -label L2498 +brif 102 L2543 L2544 +label L2543 call 103 ir_builder_ir_reg int 0 store fr 103 strref 104 m46s837 @@ -144461,15 +144762,15 @@ call 138 pith_cstring_release void 1 135 load 139 fr load 140 fkind call 141 ir_ownership_ir_rc_release_reg void 2 139 140 -jmp L2497 -label L2499 -label L2497 +jmp L2542 +label L2544 +label L2542 load 142 i iconst 143 1 add 144 142 143 store i 144 -jmp L2494 -label L2496 +jmp L2539 +label L2541 call 145 ir_builder_ir_reg int 0 store zr 145 strref 146 m46s832 @@ -144495,13 +144796,13 @@ call 165 pith_cstring_release void 1 161 strref 166 m46s877 call 167 ir_builder_ir_emit void 1 166 call 168 pith_cstring_release void 1 166 -label L2489 +label L2534 load 169 __for_idx_336 iconst 170 1 add 171 169 170 store __for_idx_336 171 -jmp L2487 -label L2490 +jmp L2532 +label L2535 load 172 __for_iter_336 call 173 pith_list_release_handle void 1 172 load 174 base @@ -144535,8 +144836,8 @@ field 7 6 0 string name call 8 ir_generics_ir_is_generic_function_name bool 1 7 iconst 10 1 sub 9 10 8 -brif 9 L2501 L2502 -label L2501 +brif 9 L2546 L2547 +label L2546 load 11 callee call 12 pith_struct_retain void 1 11 load 13 generic_ret_type @@ -144544,8 +144845,8 @@ call 14 pith_cstring_release void 1 13 load 15 concrete_types call 16 pith_list_release_handle void 1 15 ret 11 -label L2502 -label L2500 +label L2547 +label L2545 load 17 generic_ret_type load 18 idx call 19 ir_type_helpers_ir_checked_type string 1 18 @@ -144555,16 +144856,16 @@ load 21 generic_ret_type call 22 string_len int 1 21 iconst 23 0 eq 24 22 23 -brif 24 L2504 L2505 -label L2504 +brif 24 L2549 L2550 +label L2549 load 25 generic_ret_type load 26 idx call 27 ir_emitter_core_ir_infer_type string 1 26 call 28 pith_cstring_release void 1 25 store generic_ret_type 27 -jmp L2503 -label L2505 -label L2503 +jmp L2548 +label L2550 +label L2548 load 29 concrete_types load 30 explicit_generic_types call 31 pith_list_retain_handle void 1 30 @@ -144574,8 +144875,8 @@ load 33 concrete_types call 34 pith_list_len int 1 33 iconst 35 0 eq 36 34 35 -brif 36 L2507 L2508 -label L2507 +brif 36 L2552 L2553 +label L2552 load 37 concrete_types load 38 callee field 39 38 0 string name @@ -144583,9 +144884,9 @@ load 40 node call 41 ir_emitter_core_ir_infer_generic_concrete_types list_string 2 39 40 call 42 pith_list_release_handle void 1 37 store concrete_types 41 -jmp L2506 -label L2508 -label L2506 +jmp L2551 +label L2553 +label L2551 load 43 callee field 44 43 0 string name load 45 concrete_types @@ -144665,15 +144966,15 @@ load 37 ret_kind strref 38 m46s822 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L2510 L2511 -label L2510 +brif 39 L2555 L2556 +label L2555 load 41 ret_kind strref 42 m46s671 call 43 pith_cstring_release void 1 41 store ret_kind 42 -jmp L2509 -label L2511 -label L2509 +jmp L2554 +label L2556 +label L2554 call 44 ir_builder_ir_reg int 0 store r 44 load 45 r @@ -144714,24 +145015,24 @@ field 3 2 0 string kind strref 4 m46s37 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -brif 5 L2513 L2514 -label L2513 +brif 5 L2558 L2559 +label L2558 iconst 7 0 ret 7 -label L2514 -label L2512 +label L2559 +label L2557 load 8 callee_idx call 9 checker_c_get_expr_type int 1 8 store callee_tid 9 load 10 callee_tid iconst 11 0 lt 12 10 11 -brif 12 L2516 L2517 -label L2516 +brif 12 L2561 L2562 +label L2561 iconst 13 0 ret 13 -label L2517 -label L2515 +label L2562 +label L2560 load 14 callee_tid call 15 types_get_type_info struct:TypeInfo 1 14 field 16 15 0 string kind @@ -144768,8 +145069,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 gt 16 14 15 -brif 16 L2519 L2520 -label L2519 +brif 16 L2564 L2565 +label L2564 load 17 callee_node load 18 node field 19 18 16 list children @@ -144783,8 +145084,8 @@ field 25 24 0 string kind strref 26 m46s35 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L2522 L2523 -label L2522 +brif 27 L2567 L2568 +label L2567 load 29 idx load 30 node load 31 node @@ -144797,8 +145098,8 @@ store special_r 36 load 37 special_r iconst 38 0 gte 39 37 38 -brif 39 L2525 L2526 -label L2525 +brif 39 L2570 L2571 +label L2570 load 40 special_r load 41 explicit_generic_types call 42 pith_list_release_handle void 1 41 @@ -144815,24 +145116,24 @@ call 52 pith_list_release_handle void 1 51 load 53 ret_type call 54 pith_cstring_release void 1 53 ret 40 -label L2526 -label L2524 +label L2571 +label L2569 load 55 explicit_generic_types load 56 callee_node call 57 ir_emitter_core_ir_explicit_generic_concrete_types list_string 1 56 call 58 pith_list_release_handle void 1 55 store explicit_generic_types 57 -jmp L2521 -label L2523 -label L2521 +jmp L2566 +label L2568 +label L2566 load 59 node field 60 59 16 list children iconst 61 0 call 62 pith_list_get_value_strict int 2 60 61 load 63 callee_node call 64 ir_emitter_core_ir_callee_is_function_expr bool 2 62 63 -brif 64 L2528 L2529 -label L2528 +brif 64 L2573 L2574 +label L2573 load 65 idx load 66 node load 67 node @@ -144855,11 +145156,11 @@ call 83 pith_list_release_handle void 1 82 load 84 ret_type call 85 pith_cstring_release void 1 84 ret 71 -label L2529 -label L2527 -jmp L2518 -label L2520 -label L2518 +label L2574 +label L2572 +jmp L2563 +label L2565 +label L2563 load 86 callee strref 87 m46s822 iconst 88 0 @@ -144876,8 +145177,8 @@ field 95 94 16 list children call 96 pith_list_len int 1 95 iconst 97 0 gt 98 96 97 -brif 98 L2531 L2532 -label L2531 +brif 98 L2576 L2577 +label L2576 load 99 callee load 100 node field 101 100 16 list children @@ -144891,8 +145192,8 @@ field 107 106 0 string name call 108 string_len int 1 107 iconst 109 0 eq 110 108 109 -brif 110 L2534 L2535 -label L2534 +brif 110 L2579 L2580 +label L2579 load 111 callee strref 112 m46s822 iconst 113 0 @@ -144904,9 +145205,9 @@ funcref 116 ir_emitter_core___dtor_ResolvedCallee call 117 pith_struct_set_dtor void 2 114 116 call 118 pith_struct_release void 1 111 store callee 114 -jmp L2533 -label L2535 -label L2533 +jmp L2578 +label L2580 +label L2578 load 119 callee_n load 120 node field 121 120 16 list children @@ -144916,25 +145217,25 @@ call 124 ast_get_node struct:Node 1 123 call 125 pith_struct_release void 1 119 store callee_n 124 iconst 126 0 -store __and_126_2539 126 +store __and_126_2584 126 load 127 callee_n field 128 127 0 string kind strref 129 m46s37 call 130 pith_cstring_eq bool 2 128 129 call 131 pith_cstring_release void 1 129 -store __and_126_2539 130 -brif 130 L2539 L2540 -label L2539 +store __and_126_2584 130 +brif 130 L2584 L2585 +label L2584 load 132 callee field 133 132 0 string name call 134 ir_method_tables_ir_is_declared_callable bool 1 133 iconst 136 1 sub 135 136 134 -store __and_126_2539 135 -label L2540 -load 137 __and_126_2539 -brif 137 L2537 L2538 -label L2537 +store __and_126_2584 135 +label L2585 +load 137 __and_126_2584 +brif 137 L2582 L2583 +label L2582 load 138 loop_slot load 139 callee field 140 139 0 string name @@ -144945,8 +145246,8 @@ load 143 loop_slot call 144 string_len int 1 143 iconst 145 0 gt 146 144 145 -brif 146 L2542 L2543 -label L2542 +brif 146 L2587 L2588 +label L2587 load 147 callee load 148 loop_slot call 149 pith_cstring_retain void 1 148 @@ -144960,35 +145261,35 @@ funcref 154 ir_emitter_core___dtor_ResolvedCallee call 155 pith_struct_set_dtor void 2 152 154 call 156 pith_struct_release void 1 147 store callee 152 -jmp L2541 -label L2543 -label L2541 -jmp L2536 -label L2538 -label L2536 -jmp L2530 -label L2532 -label L2530 +jmp L2586 +label L2588 +label L2586 +jmp L2581 +label L2583 +label L2581 +jmp L2575 +label L2577 +label L2575 iconst 157 0 -store __and_157_2547 157 +store __and_157_2592 157 load 158 callee field 159 158 0 string name strref 160 m46s1240 call 161 pith_cstring_eq bool 2 159 160 call 162 pith_cstring_release void 1 160 -store __and_157_2547 161 -brif 161 L2547 L2548 -label L2547 +store __and_157_2592 161 +brif 161 L2592 L2593 +label L2592 load 163 node field 164 163 16 list children call 165 pith_list_len int 1 164 iconst 166 2 gte 167 165 166 -store __and_157_2547 167 -label L2548 -load 168 __and_157_2547 -brif 168 L2545 L2546 -label L2545 +store __and_157_2592 167 +label L2593 +load 168 __and_157_2592 +brif 168 L2590 L2591 +label L2590 load 169 node field 170 169 16 list children iconst 171 1 @@ -144999,8 +145300,8 @@ store byte_r 174 load 175 byte_r iconst 176 0 gte 177 175 176 -brif 177 L2550 L2551 -label L2550 +brif 177 L2595 L2596 +label L2595 load 178 byte_r load 179 explicit_generic_types call 180 pith_list_release_handle void 1 179 @@ -145017,11 +145318,11 @@ call 190 pith_list_release_handle void 1 189 load 191 ret_type call 192 pith_cstring_release void 1 191 ret 178 -label L2551 -label L2549 -jmp L2544 -label L2546 -label L2544 +label L2596 +label L2594 +jmp L2589 +label L2591 +label L2589 load 193 idx load 194 node load 195 callee @@ -145031,8 +145332,8 @@ store higher_order_r 197 load 198 higher_order_r iconst 199 0 gte 200 198 199 -brif 200 L2553 L2554 -label L2553 +brif 200 L2598 L2599 +label L2598 load 201 higher_order_r load 202 explicit_generic_types call 203 pith_list_release_handle void 1 202 @@ -145049,8 +145350,8 @@ call 213 pith_list_release_handle void 1 212 load 214 ret_type call 215 pith_cstring_release void 1 214 ret 201 -label L2554 -label L2552 +label L2599 +label L2597 load 216 idx load 217 node load 218 callee @@ -145060,8 +145361,8 @@ store struct_r 220 load 221 struct_r iconst 222 0 gte 223 221 222 -brif 223 L2556 L2557 -label L2556 +brif 223 L2601 L2602 +label L2601 load 224 struct_r load 225 explicit_generic_types call 226 pith_list_release_handle void 1 225 @@ -145078,8 +145379,8 @@ call 236 pith_list_release_handle void 1 235 load 237 ret_type call 238 pith_cstring_release void 1 237 ret 224 -label L2557 -label L2555 +label L2602 +label L2600 load 239 callee load 240 idx load 241 node @@ -145095,24 +145396,24 @@ call 249 ir_emitter_core_ir_collect_call_arg_regs list 2 247 248 call 250 pith_list_release_handle void 1 246 store arg_regs 249 iconst 251 0 -store __and_251_2561 251 +store __and_251_2606 251 load 252 callee field 253 252 0 string name strref 254 m46s323 call 255 pith_cstring_eq bool 2 253 254 call 256 pith_cstring_release void 1 254 -store __and_251_2561 255 -brif 255 L2561 L2562 -label L2561 +store __and_251_2606 255 +brif 255 L2606 L2607 +label L2606 load 257 arg_regs call 258 pith_list_len int 1 257 iconst 259 0 eq 260 258 259 -store __and_251_2561 260 -label L2562 -load 261 __and_251_2561 -brif 261 L2559 L2560 -label L2559 +store __and_251_2606 260 +label L2607 +load 261 __and_251_2606 +brif 261 L2604 L2605 +label L2604 call 262 ir_builder_ir_reg int 0 store zero_r 262 strref 263 m46s832 @@ -145130,37 +145431,37 @@ call 274 pith_cstring_release void 1 270 load 275 arg_regs load 276 zero_r call 277 pith_list_push_value void 2 275 276 -jmp L2558 -label L2560 -label L2558 +jmp L2603 +label L2605 +label L2603 iconst 278 0 -store __and_278_2566 278 +store __and_278_2611 278 iconst 279 0 -store __and_279_2566 279 +store __and_279_2611 279 load 280 ir_emitter_core_ir_emit_tests -store __and_279_2566 280 -brif 280 L2566 L2567 -label L2566 +store __and_279_2611 280 +brif 280 L2611 L2612 +label L2611 load 281 callee field 282 281 0 string name strref 283 m46s1239 call 284 pith_cstring_eq bool 2 282 283 call 285 pith_cstring_release void 1 283 -store __and_279_2566 284 -label L2567 -load 286 __and_279_2566 -store __and_278_2566 286 -brif 286 L2568 L2569 -label L2568 +store __and_279_2611 284 +label L2612 +load 286 __and_279_2611 +store __and_278_2611 286 +brif 286 L2613 L2614 +label L2613 load 287 arg_regs call 288 pith_list_len int 1 287 iconst 289 1 gte 290 288 289 -store __and_278_2566 290 -label L2569 -load 291 __and_278_2566 -brif 291 L2564 L2565 -label L2564 +store __and_278_2611 290 +label L2614 +load 291 __and_278_2611 +brif 291 L2609 L2610 +label L2609 load 292 arg_regs call 293 ir_emitter_core_ir_emit_test_assert int 1 292 load 294 explicit_generic_types @@ -145178,36 +145479,36 @@ call 305 pith_list_release_handle void 1 304 load 306 ret_type call 307 pith_cstring_release void 1 306 ret 293 -label L2565 -label L2563 +label L2610 +label L2608 iconst 308 0 -store __and_308_2573 308 +store __and_308_2618 308 iconst 309 0 -store __and_309_2573 309 +store __and_309_2618 309 load 310 ir_emitter_core_ir_emit_tests -store __and_309_2573 310 -brif 310 L2573 L2574 -label L2573 +store __and_309_2618 310 +brif 310 L2618 L2619 +label L2618 load 311 callee field 312 311 0 string name strref 313 m46s387 call 314 pith_cstring_eq bool 2 312 313 call 315 pith_cstring_release void 1 313 -store __and_309_2573 314 -label L2574 -load 316 __and_309_2573 -store __and_308_2573 316 -brif 316 L2575 L2576 -label L2575 +store __and_309_2618 314 +label L2619 +load 316 __and_309_2618 +store __and_308_2618 316 +brif 316 L2620 L2621 +label L2620 load 317 arg_regs call 318 pith_list_len int 1 317 iconst 319 2 gte 320 318 319 -store __and_308_2573 320 -label L2576 -load 321 __and_308_2573 -brif 321 L2571 L2572 -label L2571 +store __and_308_2618 320 +label L2621 +load 321 __and_308_2618 +brif 321 L2616 L2617 +label L2616 load 322 node load 323 arg_regs call 324 ir_emitter_core_ir_emit_test_assert_eq int 2 322 323 @@ -145226,8 +145527,8 @@ call 336 pith_list_release_handle void 1 335 load 337 ret_type call 338 pith_cstring_release void 1 337 ret 324 -label L2572 -label L2570 +label L2617 +label L2615 call 339 ir_builder_ir_reg int 0 store r 339 load 340 callee @@ -145261,46 +145562,46 @@ load 365 node call 366 ir_emitter_core_ir_is_generic_struct_construction_call bool 1 365 iconst 368 1 sub 367 368 366 -brif 367 L2578 L2579 -label L2578 +brif 367 L2623 L2624 +label L2623 load 369 node iconst 370 1 load 371 arg_regs call 372 ir_emitter_core_ir_release_owned_string_args void 3 369 370 371 -jmp L2577 -label L2579 -label L2577 +jmp L2622 +label L2624 +label L2622 iconst 373 0 -store __and_373_2583 373 +store __and_373_2628 373 iconst 374 0 -store __and_374_2583 374 +store __and_374_2628 374 load 375 uses_result_abi -store __and_374_2583 375 -brif 375 L2583 L2584 -label L2583 +store __and_374_2628 375 +brif 375 L2628 L2629 +label L2628 load 376 ret_type strref 377 m46s23 call 379 pith_cstring_eq bool 2 376 377 iconst 380 1 sub 378 380 379 call 381 pith_cstring_release void 1 377 -store __and_374_2583 378 -label L2584 -load 382 __and_374_2583 -store __and_373_2583 382 -brif 382 L2585 L2586 -label L2585 +store __and_374_2628 378 +label L2629 +load 382 __and_374_2628 +store __and_373_2628 382 +brif 382 L2630 L2631 +label L2630 load 383 idx call 384 ir_type_helpers_ir_checked_result_kind string 1 383 strref 385 m46s23 call 386 pith_cstring_eq bool 2 384 385 call 387 pith_cstring_release void 1 384 call 388 pith_cstring_release void 1 385 -store __and_373_2583 386 -label L2586 -load 389 __and_373_2583 -brif 389 L2581 L2582 -label L2581 +store __and_373_2628 386 +label L2631 +load 389 __and_373_2628 +brif 389 L2626 L2627 +label L2626 load 390 r load 391 ret_type load 392 callee @@ -145321,8 +145622,8 @@ call 406 pith_list_release_handle void 1 405 load 407 ret_type call 408 pith_cstring_release void 1 407 ret 394 -label L2582 -label L2580 +label L2627 +label L2625 load 409 r load 410 explicit_generic_types call 411 pith_list_release_handle void 1 410 @@ -145362,7 +145663,7 @@ param has_int_keys param entry param val_target iconst 4 0 -store __or_4_2590 4 +store __or_4_2635 4 load 5 entry field 6 5 0 string kind strref 7 m46s62 @@ -145370,23 +145671,23 @@ call 9 pith_cstring_eq bool 2 6 7 iconst 10 1 sub 8 10 9 call 11 pith_cstring_release void 1 7 -store __or_4_2590 8 -brif 8 L2591 L2590 -label L2590 +store __or_4_2635 8 +brif 8 L2636 L2635 +label L2635 load 12 entry field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 2 lt 16 14 15 -store __or_4_2590 16 -label L2591 -load 17 __or_4_2590 -brif 17 L2588 L2589 -label L2588 +store __or_4_2635 16 +label L2636 +load 17 __or_4_2635 +brif 17 L2633 L2634 +label L2633 iconst 18 0 ret 18 -label L2589 -label L2587 +label L2634 +label L2632 load 19 entry field 20 19 16 list children iconst 21 0 @@ -145401,8 +145702,8 @@ load 28 val_target call 29 ir_emitter_core_ir_emit_value_for_target int 2 27 28 store v_r 29 load 30 has_int_keys -brif 30 L2593 L2594 -label L2593 +brif 30 L2638 L2639 +label L2638 call 31 ir_builder_ir_reg int 0 strref 32 m46s694 strref 33 m46s828 @@ -145412,8 +145713,8 @@ load 36 v_r call 37 ir_call_emit_ir_emit_call3 void 6 31 32 33 34 35 36 call 38 pith_cstring_release void 1 32 call 39 pith_cstring_release void 1 33 -jmp L2592 -label L2594 +jmp L2637 +label L2639 call 40 ir_builder_ir_reg int 0 strref 41 m46s693 strref 42 m46s828 @@ -145423,7 +145724,7 @@ load 45 v_r call 46 ir_call_emit_ir_emit_call3 void 6 40 41 42 43 44 45 call 47 pith_cstring_release void 1 41 call 48 pith_cstring_release void 1 42 -label L2592 +label L2637 iconst 49 0 ret 49 endfunc @@ -145451,44 +145752,44 @@ store tid 12 load 13 tid iconst 14 0 gte 15 13 14 -brif 15 L2596 L2597 -label L2596 +brif 15 L2641 L2642 +label L2641 load 16 info load 17 tid call 18 types_get_type_info struct:TypeInfo 1 17 call 19 pith_struct_release void 1 16 store info 18 iconst 20 0 -store __and_20_2601 20 +store __and_20_2646 20 load 21 info field 22 21 0 string kind strref 23 m46s19 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __and_20_2601 24 -brif 24 L2601 L2602 -label L2601 +store __and_20_2646 24 +brif 24 L2646 L2647 +label L2646 load 26 info field 27 26 80 int value_type iconst 28 0 gte 29 27 28 -store __and_20_2601 29 -label L2602 -load 30 __and_20_2601 -brif 30 L2599 L2600 -label L2599 +store __and_20_2646 29 +label L2647 +load 30 __and_20_2646 +brif 30 L2644 L2645 +label L2644 load 31 val_target load 32 info field 33 32 80 int value_type call 34 ir_type_helpers_ir_type_from_tid string 1 33 call 35 pith_cstring_release void 1 31 store val_target 34 -jmp L2598 -label L2600 -label L2598 -jmp L2595 -label L2597 -label L2595 +jmp L2643 +label L2645 +label L2643 +jmp L2640 +label L2642 +label L2640 iconst 36 0 store val_is_string 36 load 37 node @@ -145496,8 +145797,8 @@ field 38 37 16 list children call 39 pith_list_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L2604 L2605 -label L2604 +brif 41 L2649 L2650 +label L2649 load 42 entry0 load 43 node field 44 43 16 list children @@ -145507,25 +145808,25 @@ call 47 ast_get_node struct:Node 1 46 call 48 pith_struct_release void 1 42 store entry0 47 iconst 49 0 -store __and_49_2609 49 +store __and_49_2654 49 load 50 entry0 field 51 50 0 string kind strref 52 m46s62 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __and_49_2609 53 -brif 53 L2609 L2610 -label L2609 +store __and_49_2654 53 +brif 53 L2654 L2655 +label L2654 load 55 entry0 field 56 55 16 list children call 57 pith_list_len int 1 56 iconst 58 2 gte 59 57 58 -store __and_49_2609 59 -label L2610 -load 60 __and_49_2609 -brif 60 L2607 L2608 -label L2607 +store __and_49_2654 59 +label L2655 +load 60 __and_49_2654 +brif 60 L2652 L2653 +label L2652 load 61 entry0 field 62 61 16 list children iconst 63 1 @@ -145536,53 +145837,53 @@ call 67 pith_cstring_eq bool 2 65 66 call 68 pith_cstring_release void 1 65 call 69 pith_cstring_release void 1 66 store val_is_string 67 -jmp L2606 -label L2608 -label L2606 -jmp L2603 -label L2605 -label L2603 +jmp L2651 +label L2653 +label L2651 +jmp L2648 +label L2650 +label L2648 load 70 has_int_keys -brif 70 L2612 L2613 -label L2612 +brif 70 L2657 L2658 +label L2657 load 71 val_is_string -brif 71 L2615 L2616 -label L2615 +brif 71 L2660 L2661 +label L2660 load 72 map_r strref 73 m46s742 strref 74 m46s670 call 75 ir_call_emit_ir_emit_call0 void 3 72 73 74 call 76 pith_cstring_release void 1 73 call 77 pith_cstring_release void 1 74 -jmp L2614 -label L2616 +jmp L2659 +label L2661 load 78 map_r strref 79 m46s746 strref 80 m46s670 call 81 ir_call_emit_ir_emit_call0 void 3 78 79 80 call 82 pith_cstring_release void 1 79 call 83 pith_cstring_release void 1 80 -label L2614 -jmp L2611 -label L2613 +label L2659 +jmp L2656 +label L2658 load 84 val_is_string -brif 84 L2617 L2618 -label L2617 +brif 84 L2662 L2663 +label L2662 load 85 map_r strref 86 m46s744 strref 87 m46s19 call 88 ir_call_emit_ir_emit_call0 void 3 85 86 87 call 89 pith_cstring_release void 1 86 call 90 pith_cstring_release void 1 87 -jmp L2611 -label L2618 +jmp L2656 +label L2663 load 91 map_r strref 92 m46s748 strref 93 m46s19 call 94 ir_call_emit_ir_emit_call0 void 3 91 92 93 call 95 pith_cstring_release void 1 92 call 96 pith_cstring_release void 1 93 -label L2611 +label L2656 load 97 node field 98 97 16 list children call 99 pith_auto_len int 1 98 @@ -145590,12 +145891,12 @@ iconst 100 0 store __for_idx_337 100 store __for_len_337 99 store __for_iter_337 98 -label L2619 +label L2664 load 101 __for_idx_337 load 102 __for_len_337 lt 103 101 102 -brif 103 L2620 L2622 -label L2620 +brif 103 L2665 L2667 +label L2665 load 104 __for_iter_337 load 105 __for_idx_337 call 106 pith_list_get_value unknown 2 104 105 @@ -145607,13 +145908,13 @@ call 110 ast_get_node struct:Node 1 109 load 111 val_target call 112 ir_emitter_core_ir_emit_map_entry_insert void 4 107 108 110 111 call 113 pith_struct_release void 1 110 -label L2621 +label L2666 load 114 __for_idx_337 iconst 115 1 add 116 114 115 store __for_idx_337 116 -jmp L2619 -label L2622 +jmp L2664 +label L2667 load 117 map_r load 118 val_target call 119 pith_cstring_release void 1 118 @@ -145653,31 +145954,31 @@ call 13 ir_type_helpers_ir_checked_type string 1 12 call 14 pith_cstring_release void 1 11 store checked 13 iconst 15 0 -store __or_15_2626 15 +store __or_15_2671 15 load 16 checked strref 17 m46s669 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -store __or_15_2626 18 -brif 18 L2627 L2626 -label L2626 +store __or_15_2671 18 +brif 18 L2672 L2671 +label L2671 load 20 checked strref 21 m46s18 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_15_2626 22 -label L2627 -load 24 __or_15_2626 -brif 24 L2624 L2625 -label L2624 +store __or_15_2671 22 +label L2672 +load 24 __or_15_2671 +brif 24 L2669 L2670 +label L2669 load 25 literal_type load 26 checked call 27 pith_cstring_retain void 1 26 call 28 pith_cstring_release void 1 25 store literal_type 26 -jmp L2623 -label L2625 -label L2623 +jmp L2668 +label L2670 +label L2668 load 29 set_r load 30 literal_type call 31 ir_collection_helpers_ir_set_new_name string 1 30 @@ -145691,12 +145992,12 @@ iconst 38 0 store __for_idx_338 38 store __for_len_338 37 store __for_iter_338 36 -label L2628 +label L2673 load 39 __for_idx_338 load 40 __for_len_338 lt 41 39 40 -brif 41 L2629 L2631 -label L2629 +brif 41 L2674 L2676 +label L2674 load 42 __for_iter_338 load 43 __for_idx_338 call 44 pith_list_get_value unknown 2 42 43 @@ -145713,13 +146014,13 @@ load 52 elem_r call 53 ir_call_emit_ir_emit_call2 void 5 47 49 50 51 52 call 54 pith_cstring_release void 1 49 call 55 pith_cstring_release void 1 50 -label L2630 +label L2675 load 56 __for_idx_338 iconst 57 1 add 58 56 57 store __for_idx_338 58 -jmp L2628 -label L2631 +jmp L2673 +label L2676 load 59 set_r load 60 literal_type call 61 pith_cstring_release void 1 60 @@ -145736,57 +146037,57 @@ endfunc func ir_emitter_core_ir_is_list_store_name 1 bool param emit_name iconst 1 0 -store __or_1_2632 1 +store __or_1_2677 1 iconst 2 0 -store __or_2_2632 2 +store __or_2_2677 2 iconst 3 0 -store __or_3_2632 3 +store __or_3_2677 3 iconst 4 0 -store __or_4_2632 4 +store __or_4_2677 4 load 5 emit_name strref 6 m46s268 call 7 pith_cstring_eq bool 2 5 6 call 8 pith_cstring_release void 1 6 -store __or_4_2632 7 -brif 7 L2633 L2632 -label L2632 +store __or_4_2677 7 +brif 7 L2678 L2677 +label L2677 load 9 emit_name strref 10 m46s749 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_4_2632 11 -label L2633 -load 13 __or_4_2632 -store __or_3_2632 13 -brif 13 L2635 L2634 -label L2634 +store __or_4_2677 11 +label L2678 +load 13 __or_4_2677 +store __or_3_2677 13 +brif 13 L2680 L2679 +label L2679 load 14 emit_name strref 15 m46s750 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_3_2632 16 -label L2635 -load 18 __or_3_2632 -store __or_2_2632 18 -brif 18 L2637 L2636 -label L2636 +store __or_3_2677 16 +label L2680 +load 18 __or_3_2677 +store __or_2_2677 18 +brif 18 L2682 L2681 +label L2681 load 19 emit_name strref 20 m46s18 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_2_2632 21 -label L2637 -load 23 __or_2_2632 -store __or_1_2632 23 -brif 23 L2639 L2638 -label L2638 +store __or_2_2677 21 +label L2682 +load 23 __or_2_2677 +store __or_1_2677 23 +brif 23 L2684 L2683 +label L2683 load 24 emit_name strref 25 m46s774 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_1_2632 26 -label L2639 -load 28 __or_1_2632 +store __or_1_2677 26 +label L2684 +load 28 __or_1_2677 ret 28 iconst 29 0 ret 29 @@ -145796,80 +146097,80 @@ param emit_name param store_kind load 2 emit_name call 3 ir_emitter_core_ir_is_channel_send_name bool 1 2 -brif 3 L2641 L2642 -label L2641 +brif 3 L2686 L2687 +label L2686 load 4 store_kind call 5 string_len int 1 4 iconst 6 0 gt 7 5 6 ret 7 -label L2642 -label L2640 +label L2687 +label L2685 iconst 8 0 -store __or_8_2646 8 +store __or_8_2691 8 load 9 store_kind strref 10 m46s674 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_8_2646 11 -brif 11 L2647 L2646 -label L2646 +store __or_8_2691 11 +brif 11 L2692 L2691 +label L2691 load 13 store_kind strref 14 m46s824 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_8_2646 15 -label L2647 -load 17 __or_8_2646 -brif 17 L2644 L2645 -label L2644 +store __or_8_2691 15 +label L2692 +load 17 __or_8_2691 +brif 17 L2689 L2690 +label L2689 load 18 emit_name call 19 ir_emitter_core_ir_is_list_store_name bool 1 18 iconst 21 1 sub 20 21 19 ret 20 -label L2645 -label L2643 +label L2690 +label L2688 iconst 22 0 -store __or_22_2648 22 +store __or_22_2693 22 iconst 23 0 -store __or_23_2648 23 +store __or_23_2693 23 iconst 24 0 -store __or_24_2648 24 +store __or_24_2693 24 load 25 store_kind strref 26 m46s20 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __or_24_2648 27 -brif 27 L2649 L2648 -label L2648 +store __or_24_2693 27 +brif 27 L2694 L2693 +label L2693 load 29 store_kind strref 30 m46s19 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_24_2648 31 -label L2649 -load 33 __or_24_2648 -store __or_23_2648 33 -brif 33 L2651 L2650 -label L2650 +store __or_24_2693 31 +label L2694 +load 33 __or_24_2693 +store __or_23_2693 33 +brif 33 L2696 L2695 +label L2695 load 34 store_kind strref 35 m46s18 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_23_2648 36 -label L2651 -load 38 __or_23_2648 -store __or_22_2648 38 -brif 38 L2653 L2652 -label L2652 +store __or_23_2693 36 +label L2696 +load 38 __or_23_2693 +store __or_22_2693 38 +brif 38 L2698 L2697 +label L2697 load 39 store_kind strref 40 m46s15 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_22_2648 41 -label L2653 -load 43 __or_22_2648 +store __or_22_2693 41 +label L2698 +load 43 __or_22_2693 ret 43 iconst 44 0 ret 44 @@ -145877,77 +146178,77 @@ endfunc func ir_emitter_core_ir_container_store_takes_count 1 bool param store_kind iconst 1 0 -store __or_1_2657 1 +store __or_1_2702 1 load 2 store_kind strref 3 m46s675 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_2657 4 -brif 4 L2658 L2657 -label L2657 +store __or_1_2702 4 +brif 4 L2703 L2702 +label L2702 load 6 store_kind strref 7 m46s674 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_2657 8 -label L2658 -load 10 __or_1_2657 -brif 10 L2655 L2656 -label L2655 +store __or_1_2702 8 +label L2703 +load 10 __or_1_2702 +brif 10 L2700 L2701 +label L2700 iconst 11 1 ret 11 -label L2656 -label L2654 +label L2701 +label L2699 load 12 store_kind strref 13 m46s15 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L2660 L2661 -label L2660 +brif 14 L2705 L2706 +label L2705 iconst 16 1 ret 16 -label L2661 -label L2659 +label L2706 +label L2704 iconst 17 0 -store __or_17_2662 17 +store __or_17_2707 17 iconst 18 0 -store __or_18_2662 18 +store __or_18_2707 18 iconst 19 0 -store __or_19_2662 19 +store __or_19_2707 19 load 20 store_kind strref 21 m46s20 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_19_2662 22 -brif 22 L2663 L2662 -label L2662 +store __or_19_2707 22 +brif 22 L2708 L2707 +label L2707 load 24 store_kind strref 25 m46s19 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_19_2662 26 -label L2663 -load 28 __or_19_2662 -store __or_18_2662 28 -brif 28 L2665 L2664 -label L2664 +store __or_19_2707 26 +label L2708 +load 28 __or_19_2707 +store __or_18_2707 28 +brif 28 L2710 L2709 +label L2709 load 29 store_kind strref 30 m46s18 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -store __or_18_2662 31 -label L2665 -load 33 __or_18_2662 -store __or_17_2662 33 -brif 33 L2667 L2666 -label L2666 +store __or_18_2707 31 +label L2710 +load 33 __or_18_2707 +store __or_17_2707 33 +brif 33 L2712 L2711 +label L2711 load 34 store_kind strref 35 m46s824 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_17_2662 36 -label L2667 -load 38 __or_17_2662 +store __or_17_2707 36 +label L2712 +load 38 __or_17_2707 ret 38 iconst 39 0 ret 39 @@ -145955,93 +146256,93 @@ endfunc func ir_emitter_core_ir_owned_container_store_name 1 string param emit_name iconst 1 0 -store __or_1_2671 1 +store __or_1_2716 1 iconst 2 0 -store __or_2_2671 2 +store __or_2_2716 2 load 3 emit_name strref 4 m46s268 call 5 pith_cstring_eq bool 2 3 4 call 6 pith_cstring_release void 1 4 -store __or_2_2671 5 -brif 5 L2672 L2671 -label L2671 +store __or_2_2716 5 +brif 5 L2717 L2716 +label L2716 load 7 emit_name strref 8 m46s749 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -store __or_2_2671 9 -label L2672 -load 11 __or_2_2671 -store __or_1_2671 11 -brif 11 L2674 L2673 -label L2673 +store __or_2_2716 9 +label L2717 +load 11 __or_2_2716 +store __or_1_2716 11 +brif 11 L2719 L2718 +label L2718 load 12 emit_name strref 13 m46s750 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __or_1_2671 14 -label L2674 -load 16 __or_1_2671 -brif 16 L2669 L2670 -label L2669 +store __or_1_2716 14 +label L2719 +load 16 __or_1_2716 +brif 16 L2714 L2715 +label L2714 strref 17 m46s1151 ret 17 -label L2670 -label L2668 +label L2715 +label L2713 iconst 18 0 -store __or_18_2678 18 +store __or_18_2723 18 load 19 emit_name strref 20 m46s18 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -store __or_18_2678 21 -brif 21 L2679 L2678 -label L2678 +store __or_18_2723 21 +brif 21 L2724 L2723 +label L2723 load 23 emit_name strref 24 m46s774 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_18_2678 25 -label L2679 -load 27 __or_18_2678 -brif 27 L2676 L2677 -label L2676 +store __or_18_2723 25 +label L2724 +load 27 __or_18_2723 +brif 27 L2721 L2722 +label L2721 strref 28 m46s1238 ret 28 -label L2677 -label L2675 +label L2722 +label L2720 iconst 29 0 -store __or_29_2683 29 +store __or_29_2728 29 load 30 emit_name strref 31 m46s247 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_29_2683 32 -brif 32 L2684 L2683 -label L2683 +store __or_29_2728 32 +brif 32 L2729 L2728 +label L2728 load 34 emit_name strref 35 m46s693 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __or_29_2683 36 -label L2684 -load 38 __or_29_2683 -brif 38 L2681 L2682 -label L2681 +store __or_29_2728 36 +label L2729 +load 38 __or_29_2728 +brif 38 L2726 L2727 +label L2726 strref 39 m46s1237 ret 39 -label L2682 -label L2680 +label L2727 +label L2725 load 40 emit_name strref 41 m46s694 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -brif 42 L2686 L2687 -label L2686 +brif 42 L2731 L2732 +label L2731 strref 44 m46s1236 ret 44 -label L2687 -label L2685 +label L2732 +label L2730 strref 45 m46s82 ret 45 iconst 46 0 @@ -146053,62 +146354,62 @@ load 1 elem_kind strref 2 m46s675 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2689 L2690 -label L2689 +brif 3 L2734 L2735 +label L2734 strref 5 m46s762 ret 5 -label L2690 -label L2688 +label L2735 +label L2733 load 6 elem_kind strref 7 m46s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2692 L2693 -label L2692 +brif 8 L2737 L2738 +label L2737 strref 10 m46s760 ret 10 -label L2693 -label L2691 +label L2738 +label L2736 load 11 elem_kind strref 12 m46s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2695 L2696 -label L2695 +brif 13 L2740 L2741 +label L2740 strref 15 m46s758 ret 15 -label L2696 -label L2694 +label L2741 +label L2739 load 16 elem_kind strref 17 m46s15 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2698 L2699 -label L2698 +brif 18 L2743 L2744 +label L2743 strref 20 m46s756 ret 20 -label L2699 -label L2697 +label L2744 +label L2742 load 21 elem_kind strref 22 m46s674 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2701 L2702 -label L2701 +brif 23 L2746 L2747 +label L2746 strref 25 m46s754 ret 25 -label L2702 -label L2700 +label L2747 +label L2745 load 26 elem_kind strref 27 m46s824 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2704 L2705 -label L2704 +brif 28 L2749 L2750 +label L2749 strref 30 m46s752 ret 30 -label L2705 -label L2703 +label L2750 +label L2748 strref 31 m46s764 ret 31 iconst 32 0 @@ -146139,32 +146440,32 @@ store tid 13 load 14 tid iconst 15 0 gte 16 14 15 -brif 16 L2707 L2708 -label L2707 +brif 16 L2752 L2753 +label L2752 load 17 info load 18 tid call 19 types_get_type_info struct:TypeInfo 1 18 call 20 pith_struct_release void 1 17 store info 19 iconst 21 0 -store __and_21_2712 21 +store __and_21_2757 21 load 22 info field 23 22 0 string kind strref 24 m46s20 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __and_21_2712 25 -brif 25 L2712 L2713 -label L2712 +store __and_21_2757 25 +brif 25 L2757 L2758 +label L2757 load 27 info field 28 27 64 int inner iconst 29 0 gte 30 28 29 -store __and_21_2712 30 -label L2713 -load 31 __and_21_2712 -brif 31 L2710 L2711 -label L2710 +store __and_21_2757 30 +label L2758 +load 31 __and_21_2757 +brif 31 L2755 L2756 +label L2755 load 32 elem_target load 33 info field 34 33 64 int inner @@ -146176,31 +146477,31 @@ load 38 elem_target call 39 ir_struct_registry_ir_rc_kind string 1 38 call 40 pith_cstring_release void 1 37 store elem_kind 39 -jmp L2709 -label L2711 -label L2709 -jmp L2706 -label L2708 -label L2706 +jmp L2754 +label L2756 +label L2754 +jmp L2751 +label L2753 +label L2751 iconst 41 0 -store __and_41_2717 41 +store __and_41_2762 41 load 42 elem_kind call 43 string_len int 1 42 iconst 44 0 eq 45 43 44 -store __and_41_2717 45 -brif 45 L2717 L2718 -label L2717 +store __and_41_2762 45 +brif 45 L2762 L2763 +label L2762 load 46 node field 47 46 16 list children call 48 pith_list_len int 1 47 iconst 49 0 gt 50 48 49 -store __and_41_2717 50 -label L2718 -load 51 __and_41_2717 -brif 51 L2715 L2716 -label L2715 +store __and_41_2762 50 +label L2763 +load 51 __and_41_2762 +brif 51 L2760 L2761 +label L2760 load 52 elem_kind load 53 node field 54 53 16 list children @@ -146211,9 +146512,9 @@ call 58 ir_struct_registry_ir_rc_kind string 1 57 call 59 pith_cstring_release void 1 57 call 60 pith_cstring_release void 1 52 store elem_kind 58 -jmp L2714 -label L2716 -label L2714 +jmp L2759 +label L2761 +label L2759 call 61 ir_builder_ir_reg int 0 store list_r 61 load 62 ctor @@ -146240,12 +146541,12 @@ iconst 80 0 store __for_idx_339 80 store __for_len_339 79 store __for_iter_339 78 -label L2719 +label L2764 load 81 __for_idx_339 load 82 __for_len_339 lt 83 81 82 -brif 83 L2720 L2722 -label L2720 +brif 83 L2765 L2767 +label L2765 load 84 __for_iter_339 load 85 __for_idx_339 call 86 pith_list_get_value unknown 2 84 85 @@ -146263,33 +146564,33 @@ call 95 ir_call_emit_ir_emit_call2 void 5 90 91 92 93 94 call 96 pith_cstring_release void 1 91 call 97 pith_cstring_release void 1 92 iconst 98 0 -store __and_98_2726 98 +store __and_98_2771 98 load 99 retaining -store __and_98_2726 99 -brif 99 L2726 L2727 -label L2726 +store __and_98_2771 99 +brif 99 L2771 L2772 +label L2771 load 100 __loopvar_339_child call 101 ir_emitter_core_ir_string_expr_is_borrowed bool 1 100 iconst 103 1 sub 102 103 101 -store __and_98_2726 102 -label L2727 -load 104 __and_98_2726 -brif 104 L2724 L2725 -label L2724 +store __and_98_2771 102 +label L2772 +load 104 __and_98_2771 +brif 104 L2769 L2770 +label L2769 load 105 elem_r load 106 elem_kind call 107 ir_ownership_ir_rc_release_reg void 2 105 106 -jmp L2723 -label L2725 -label L2723 -label L2721 +jmp L2768 +label L2770 +label L2768 +label L2766 load 108 __for_idx_339 iconst 109 1 add 110 108 109 store __for_idx_339 110 -jmp L2719 -label L2722 +jmp L2764 +label L2767 load 111 list_r load 112 elem_kind call 113 pith_cstring_release void 1 112 @@ -146323,12 +146624,12 @@ iconst 6 0 store __for_idx_340 6 store __for_len_340 5 store __for_iter_340 4 -label L2728 +label L2773 load 7 __for_idx_340 load 8 __for_len_340 lt 9 7 8 -brif 9 L2729 L2731 -label L2729 +brif 9 L2774 L2776 +label L2774 load 10 __for_iter_340 load 11 __for_idx_340 call 12 pith_list_get_value unknown 2 10 11 @@ -146339,8 +146640,8 @@ load 14 __loopvar_340_i load 15 elem_nodes call 16 pith_list_len int 1 15 lt 17 14 16 -brif 17 L2733 L2734 -label L2733 +brif 17 L2778 L2779 +label L2778 load 18 tuple_kind load 19 elem_nodes load 20 __loopvar_340_i @@ -146351,32 +146652,32 @@ call 24 pith_cstring_release void 1 22 call 25 pith_cstring_release void 1 18 store tuple_kind 23 iconst 26 0 -store __and_26_2738 26 +store __and_26_2783 26 load 27 tuple_kind call 28 string_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_26_2738 30 -brif 30 L2738 L2739 -label L2738 +store __and_26_2783 30 +brif 30 L2783 L2784 +label L2783 load 31 elem_nodes load 32 __loopvar_340_i call 33 pith_list_get_value_strict int 2 31 32 call 34 ir_emitter_core_ir_string_expr_is_borrowed bool 1 33 -store __and_26_2738 34 -label L2739 -load 35 __and_26_2738 -brif 35 L2736 L2737 -label L2736 +store __and_26_2783 34 +label L2784 +load 35 __and_26_2783 +brif 35 L2781 L2782 +label L2781 load 36 __loopvar_340_elem_reg load 37 tuple_kind call 38 ir_ownership_ir_rc_retain_reg void 2 36 37 -jmp L2735 -label L2737 -label L2735 -jmp L2732 -label L2734 -label L2732 +jmp L2780 +label L2782 +label L2780 +jmp L2777 +label L2779 +label L2777 strref 39 m46s1038 load 40 tuple_r call 41 int_to_string string 1 40 @@ -146403,13 +146704,13 @@ call 61 pith_cstring_release void 1 55 call 62 pith_cstring_release void 1 59 call 63 ir_builder_ir_emit void 1 60 call 64 pith_cstring_release void 1 60 -label L2730 +label L2775 load 65 __for_idx_340 iconst 66 1 add 67 65 66 store __for_idx_340 67 -jmp L2728 -label L2731 +jmp L2773 +label L2776 load 68 tuple_kind call 69 pith_cstring_release void 1 68 iconst 70 0 @@ -146421,82 +146722,82 @@ load 1 kind strref 2 m46s675 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2741 L2742 -label L2741 +brif 3 L2786 L2787 +label L2786 strref 5 m46s903 ret 5 -label L2742 -label L2740 +label L2787 +label L2785 load 6 kind strref 7 m46s20 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2744 L2745 -label L2744 +brif 8 L2789 L2790 +label L2789 strref 10 m46s1235 ret 10 -label L2745 -label L2743 +label L2790 +label L2788 load 11 kind strref 12 m46s19 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2747 L2748 -label L2747 +brif 13 L2792 L2793 +label L2792 strref 15 m46s1018 ret 15 -label L2748 -label L2746 +label L2793 +label L2791 load 16 kind strref 17 m46s18 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2750 L2751 -label L2750 +brif 18 L2795 L2796 +label L2795 strref 20 m46s1234 ret 20 -label L2751 -label L2749 +label L2796 +label L2794 load 21 kind strref 22 m46s674 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2753 L2754 -label L2753 +brif 23 L2798 L2799 +label L2798 strref 25 m46s1071 ret 25 -label L2754 -label L2752 +label L2799 +label L2797 load 26 kind strref 27 m46s15 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2756 L2757 -label L2756 +brif 28 L2801 L2802 +label L2801 strref 30 m46s1233 ret 30 -label L2757 -label L2755 +label L2802 +label L2800 load 31 kind strref 32 m46s824 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L2759 L2760 -label L2759 +brif 33 L2804 L2805 +label L2804 strref 35 m46s1232 ret 35 -label L2760 -label L2758 +label L2805 +label L2803 load 36 kind strref 37 m46s23 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L2762 L2763 -label L2762 +brif 38 L2807 L2808 +label L2807 strref 40 m46s1231 ret 40 -label L2763 -label L2761 +label L2808 +label L2806 strref 41 m46s177 ret 41 iconst 42 0 @@ -146508,82 +146809,82 @@ load 1 code strref 2 m46s903 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L2765 L2766 -label L2765 +brif 3 L2810 L2811 +label L2810 strref 5 m46s675 ret 5 -label L2766 -label L2764 +label L2811 +label L2809 load 6 code strref 7 m46s1235 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L2768 L2769 -label L2768 +brif 8 L2813 L2814 +label L2813 strref 10 m46s20 ret 10 -label L2769 -label L2767 +label L2814 +label L2812 load 11 code strref 12 m46s1018 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L2771 L2772 -label L2771 +brif 13 L2816 L2817 +label L2816 strref 15 m46s19 ret 15 -label L2772 -label L2770 +label L2817 +label L2815 load 16 code strref 17 m46s1234 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2774 L2775 -label L2774 +brif 18 L2819 L2820 +label L2819 strref 20 m46s18 ret 20 -label L2775 -label L2773 +label L2820 +label L2818 load 21 code strref 22 m46s1071 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2777 L2778 -label L2777 +brif 23 L2822 L2823 +label L2822 strref 25 m46s674 ret 25 -label L2778 -label L2776 +label L2823 +label L2821 load 26 code strref 27 m46s1233 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L2780 L2781 -label L2780 +brif 28 L2825 L2826 +label L2825 strref 30 m46s15 ret 30 -label L2781 -label L2779 +label L2826 +label L2824 load 31 code strref 32 m46s1232 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L2783 L2784 -label L2783 +brif 33 L2828 L2829 +label L2828 strref 35 m46s824 ret 35 -label L2784 -label L2782 +label L2829 +label L2827 load 36 code strref 37 m46s1231 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -brif 38 L2786 L2787 -label L2786 +brif 38 L2831 L2832 +label L2831 strref 40 m46s23 ret 40 -label L2787 -label L2785 +label L2832 +label L2830 strref 41 m46s82 ret 41 iconst 42 0 @@ -146603,12 +146904,12 @@ iconst 7 0 store __for_idx_341 7 store __for_len_341 6 store __for_iter_341 5 -label L2788 +label L2833 load 8 __for_idx_341 load 9 __for_len_341 lt 10 8 9 -brif 10 L2789 L2791 -label L2789 +brif 10 L2834 L2836 +label L2834 load 11 __for_iter_341 load 12 __for_idx_341 call 13 pith_list_get_value unknown 2 11 12 @@ -146625,13 +146926,13 @@ concat 22 15 20 call 23 pith_cstring_release void 1 20 call 24 pith_cstring_release void 1 14 store sig 22 -label L2790 +label L2835 load 25 __for_idx_341 iconst 26 1 add 27 25 26 store __for_idx_341 27 -jmp L2788 -label L2791 +jmp L2833 +label L2836 load 28 sig ret 28 load 29 sig @@ -146662,13 +146963,13 @@ func ir_emitter_core_ir_tuple_sig_has_rc 1 bool param sig iconst 1 0 store i 1 -label L2792 +label L2837 load 2 i load 3 sig call 4 string_len int 1 3 lt 5 2 4 -brif 5 L2793 L2794 -label L2793 +brif 5 L2838 L2839 +label L2838 load 6 sig load 7 i load 8 i @@ -146681,18 +146982,18 @@ iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 11 call 17 pith_cstring_release void 1 12 -brif 13 L2796 L2797 -label L2796 +brif 13 L2841 L2842 +label L2841 iconst 18 1 ret 18 -label L2797 -label L2795 +label L2842 +label L2840 load 19 i iconst 20 1 add 21 19 20 store i 21 -jmp L2792 -label L2794 +jmp L2837 +label L2839 iconst 22 0 ret 22 iconst 23 0 @@ -146712,51 +147013,51 @@ load 7 sig call 8 ir_emitter_core_ir_tuple_sig_has_rc bool 1 7 iconst 10 1 sub 9 10 8 -brif 9 L2799 L2800 -label L2799 +brif 9 L2844 L2845 +label L2844 load 11 sig call 12 pith_cstring_release void 1 11 iconst 13 0 ret 13 -label L2800 -label L2798 +label L2845 +label L2843 load 14 ir_emitter_core_ir_tuple_dtor_sigs load 15 sig iconst 16 -1 -store __list_index_result_L2804 16 +store __list_index_result_L2849 16 iconst 17 0 -store __list_index_i_L2805 17 +store __list_index_i_L2850 17 call 18 pith_list_len int 1 14 -label L2806 -load 19 __list_index_i_L2805 +label L2851 +load 19 __list_index_i_L2850 lt 20 19 18 -brif 20 L2807 L2810 -label L2807 +brif 20 L2852 L2855 +label L2852 call 21 pith_list_get_value string 2 14 19 call 22 pith_cstring_eq bool 2 21 15 -brif 22 L2808 L2809 -label L2808 -store __list_index_result_L2804 19 -jmp L2810 -label L2809 +brif 22 L2853 L2854 +label L2853 +store __list_index_result_L2849 19 +jmp L2855 +label L2854 iconst 23 1 add 24 19 23 -store __list_index_i_L2805 24 -jmp L2806 -label L2810 -load 25 __list_index_result_L2804 +store __list_index_i_L2850 24 +jmp L2851 +label L2855 +load 25 __list_index_result_L2849 iconst 26 0 gte 27 25 26 iconst 29 1 sub 28 29 27 -brif 28 L2802 L2803 -label L2802 +brif 28 L2847 L2848 +label L2847 load 30 ir_emitter_core_ir_tuple_dtor_sigs load 31 sig call 32 pith_list_push_value void 2 30 31 -jmp L2801 -label L2803 -label L2801 +jmp L2846 +label L2848 +label L2846 call 33 ir_builder_ir_reg int 0 store fr 33 strref 34 m46s902 @@ -146827,12 +147128,12 @@ iconst 13 0 store __for_idx_342 13 store __for_len_342 12 store __for_iter_342 11 -label L2811 +label L2856 load 14 __for_idx_342 load 15 __for_len_342 lt 16 14 15 -brif 16 L2812 L2814 -label L2812 +brif 16 L2857 L2859 +label L2857 load 17 __for_iter_342 load 18 __for_idx_342 call 19 pith_list_get_value unknown 2 17 18 @@ -146847,28 +147148,28 @@ field 25 24 0 string kind strref 26 m46s56 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L2816 L2817 -label L2816 +brif 27 L2861 L2862 +label L2861 load 29 elem_regs call 30 ir_optionals_ir_emit_optional_none_value int 0 call 31 pith_list_push_value void 2 29 30 -jmp L2815 -label L2817 +jmp L2860 +label L2862 load 32 elem_regs load 33 __loopvar_342_child call 34 ir_emitter_core_ir_expr int 1 33 call 35 pith_list_push_value void 2 32 34 -label L2815 +label L2860 load 36 elem_nodes load 37 __loopvar_342_child call 38 pith_list_push_value void 2 36 37 -label L2813 +label L2858 load 39 __for_idx_342 iconst 40 1 add 41 39 40 store __for_idx_342 41 -jmp L2811 -label L2814 +jmp L2856 +label L2859 call 42 ir_builder_ir_reg int 0 store r 42 call 43 ir_builder_ir_reg int 0 @@ -146947,8 +147248,8 @@ store max_count 2 load 3 ir_struct_registry_ir_enum_variant_lists load 4 enum_name call 5 contains_key bool 2 3 4 -brif 5 L2819 L2820 -label L2819 +brif 5 L2864 L2865 +label L2864 load 6 ir_struct_registry_ir_enum_variant_lists load 7 enum_name call 8 map_get_strict string 2 6 7 @@ -146960,12 +147261,12 @@ iconst 13 0 store __for_idx_343 13 store __for_len_343 12 store __for_iter_343 10 -label L2821 +label L2866 load 14 __for_idx_343 load 15 __for_len_343 lt 16 14 15 -brif 16 L2822 L2824 -label L2822 +brif 16 L2867 L2869 +label L2867 load 17 __for_iter_343 load 18 __for_idx_343 call 19 pith_list_get_value_unchecked string 2 17 18 @@ -146983,8 +147284,8 @@ store vkey 26 load 29 ir_struct_registry_ir_enum_payload_kinds load 30 vkey call 31 contains_key bool 2 29 30 -brif 31 L2826 L2827 -label L2826 +brif 31 L2871 L2872 +label L2871 load 32 ir_struct_registry_ir_enum_payload_kinds load 33 vkey call 34 map_get_strict string 2 32 33 @@ -146997,28 +147298,28 @@ store count 38 load 40 count load 41 max_count gt 42 40 41 -brif 42 L2829 L2830 -label L2829 +brif 42 L2874 L2875 +label L2874 load 43 count store max_count 43 -jmp L2828 -label L2830 -label L2828 -jmp L2825 -label L2827 -label L2825 -label L2823 +jmp L2873 +label L2875 +label L2873 +jmp L2870 +label L2872 +label L2870 +label L2868 load 44 __for_idx_343 iconst 45 1 add 46 44 45 store __for_idx_343 46 -jmp L2821 -label L2824 +jmp L2866 +label L2869 load 47 __for_iter_343 call 48 pith_list_release_handle void 1 47 -jmp L2818 -label L2820 -label L2818 +jmp L2863 +label L2865 +label L2863 load 49 max_count load 50 vkey call 51 pith_cstring_release void 1 50 @@ -147038,13 +147339,13 @@ store slots 4 load 5 payload_count load 6 slots gt 7 5 6 -brif 7 L2832 L2833 -label L2832 +brif 7 L2877 L2878 +label L2877 load 8 payload_count store slots 8 -jmp L2831 -label L2833 -label L2831 +jmp L2876 +label L2878 +label L2876 call 9 ir_builder_ir_reg int 0 store count_r 9 strref 10 m46s832 @@ -147137,8 +147438,8 @@ store kinds 6 load 8 ir_struct_registry_ir_enum_payload_kinds load 9 variant_key call 10 contains_key bool 2 8 9 -brif 10 L2835 L2836 -label L2835 +brif 10 L2880 L2881 +label L2880 load 11 kinds load 12 ir_struct_registry_ir_enum_payload_kinds load 13 variant_key @@ -147148,9 +147449,9 @@ call 16 pith_string_split_to_list list_string 2 14 15 call 17 pith_cstring_release void 1 15 call 18 pith_list_release_handle void 1 11 store kinds 16 -jmp L2834 -label L2836 -label L2834 +jmp L2879 +label L2881 +label L2879 load 19 enum_name load 20 variant_key load 21 kinds @@ -147159,13 +147460,13 @@ call 23 ir_emitter_core_ir_emit_variant_alloc int 3 19 20 22 store r 23 iconst 24 0 store i 24 -label L2837 +label L2882 load 25 i load 26 kinds call 27 pith_list_len int 1 26 lt 28 25 27 -brif 28 L2838 L2839 -label L2838 +brif 28 L2883 L2884 +label L2883 load 29 node load 30 i call 31 ir_emitter_core_ir_method_call_arg_expr int 2 29 30 @@ -147173,8 +147474,8 @@ store arg_idx 31 load 32 arg_idx iconst 33 0 gte 34 32 33 -brif 34 L2841 L2842 -label L2841 +brif 34 L2886 L2887 +label L2886 load 35 arg_idx call 36 ir_emitter_core_ir_expr int 1 35 store arg_r 36 @@ -147186,27 +147487,27 @@ call 41 ir_struct_registry_ir_rc_kind string 1 40 call 42 pith_cstring_release void 1 37 store payload_kind 41 iconst 43 0 -store __and_43_2846 43 +store __and_43_2891 43 load 44 payload_kind call 45 string_len int 1 44 iconst 46 0 gt 47 45 46 -store __and_43_2846 47 -brif 47 L2846 L2847 -label L2846 +store __and_43_2891 47 +brif 47 L2891 L2892 +label L2891 load 48 arg_idx call 49 ir_emitter_core_ir_string_expr_is_borrowed bool 1 48 -store __and_43_2846 49 -label L2847 -load 50 __and_43_2846 -brif 50 L2844 L2845 -label L2844 +store __and_43_2891 49 +label L2892 +load 50 __and_43_2891 +brif 50 L2889 L2890 +label L2889 load 51 arg_r load 52 payload_kind call 53 ir_ownership_ir_rc_retain_reg void 2 51 52 -jmp L2843 -label L2845 -label L2843 +jmp L2888 +label L2890 +label L2888 strref 54 m46s1038 load 55 r call 56 int_to_string string 1 55 @@ -147235,15 +147536,15 @@ call 78 pith_cstring_release void 1 72 call 79 pith_cstring_release void 1 76 call 80 ir_builder_ir_emit void 1 77 call 81 pith_cstring_release void 1 77 -jmp L2840 -label L2842 -label L2840 +jmp L2885 +label L2887 +label L2885 load 82 i iconst 83 1 add 84 82 83 store i 84 -jmp L2837 -label L2839 +jmp L2882 +label L2884 load 85 r load 86 kinds call 87 pith_list_release_handle void 1 86 @@ -147281,8 +147582,8 @@ field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 eq 16 14 15 -brif 16 L2849 L2850 -label L2849 +brif 16 L2894 L2895 +label L2894 call 17 ir_builder_ir_reg int 0 store r 17 strref 18 m46s832 @@ -147309,8 +147610,8 @@ call 38 pith_cstring_release void 1 37 load 39 weak_struct call 40 pith_cstring_release void 1 39 ret 30 -label L2850 -label L2848 +label L2895 +label L2893 load 41 recv_node load 42 node field 43 42 16 list children @@ -147324,8 +147625,8 @@ field 49 48 0 string kind strref 50 m46s37 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -brif 51 L2852 L2853 -label L2852 +brif 51 L2897 L2898 +label L2897 load 53 lookup_key load 54 recv_node field 55 54 8 string value @@ -147340,27 +147641,27 @@ store lookup_key 60 load 63 ir_struct_registry_ir_struct_field_index_lookup load 64 lookup_key call 65 contains_key bool 2 63 64 -brif 65 L2855 L2856 -label L2855 +brif 65 L2900 L2901 +label L2900 load 66 ir_struct_registry_ir_struct_field_lookup load 67 lookup_key call 68 contains_key bool 2 66 67 -brif 68 L2858 L2859 -label L2858 +brif 68 L2903 L2904 +label L2903 load 69 ir_struct_registry_ir_struct_field_lookup load 70 lookup_key call 71 map_get_strict string 2 69 70 load 72 recv_node field 73 72 8 string value call 74 pith_cstring_eq bool 2 71 73 -brif 74 L2861 L2862 -label L2861 +brif 74 L2906 L2907 +label L2906 load 75 ir_struct_registry_ir_boxed_enums load 76 recv_node field 77 76 8 string value call 78 contains_key bool 2 75 77 -brif 78 L2864 L2865 -label L2864 +brif 78 L2909 L2910 +label L2909 load 79 recv_node field 80 79 8 string value load 81 lookup_key @@ -147377,8 +147678,8 @@ call 91 pith_cstring_release void 1 90 load 92 weak_struct call 93 pith_cstring_release void 1 92 ret 83 -label L2865 -label L2863 +label L2910 +label L2908 call 94 ir_builder_ir_reg int 0 store r 94 strref 95 m46s832 @@ -147410,17 +147711,17 @@ call 120 pith_cstring_release void 1 119 load 121 weak_struct call 122 pith_cstring_release void 1 121 ret 112 -label L2862 -label L2860 -jmp L2857 -label L2859 -label L2857 -jmp L2854 -label L2856 -label L2854 -jmp L2851 -label L2853 -label L2851 +label L2907 +label L2905 +jmp L2902 +label L2904 +label L2902 +jmp L2899 +label L2901 +label L2899 +jmp L2896 +label L2898 +label L2896 load 123 node field 124 123 16 list children iconst 125 0 @@ -147431,14 +147732,14 @@ store obj_r 127 load 128 obj_r iconst 129 0 lt 130 128 129 -brif 130 L2867 L2868 -label L2867 +brif 130 L2912 L2913 +label L2912 load 131 recv_idx call 132 ir_emitter_core_ir_expr int 1 131 store obj_r 132 -jmp L2866 -label L2868 -label L2866 +jmp L2911 +label L2913 +label L2911 call 133 ir_builder_ir_reg int 0 store r 133 load 134 r @@ -147446,8 +147747,8 @@ load 135 obj_r load 136 recv_idx load 137 fname call 138 ir_field_helpers_ir_emit_tuple_field_access bool 4 134 135 136 137 -brif 138 L2870 L2871 -label L2870 +brif 138 L2915 L2916 +label L2915 load 139 r load 140 fname call 141 pith_cstring_release void 1 140 @@ -147460,8 +147761,8 @@ call 147 pith_cstring_release void 1 146 load 148 weak_struct call 149 pith_cstring_release void 1 148 ret 139 -label L2871 -label L2869 +label L2916 +label L2914 load 150 lk load 151 recv_idx load 152 fname @@ -147473,8 +147774,8 @@ load 156 lk call 157 contains_key bool 2 155 156 iconst 159 1 sub 158 159 157 -brif 158 L2873 L2874 -label L2873 +brif 158 L2918 L2919 +label L2918 load 160 obj_r load 161 recv_idx load 162 fname @@ -147483,8 +147784,8 @@ store checked_r 163 load 164 checked_r iconst 165 0 gte 166 164 165 -brif 166 L2876 L2877 -label L2876 +brif 166 L2921 L2922 +label L2921 load 167 checked_r load 168 fname call 169 pith_cstring_release void 1 168 @@ -147497,11 +147798,11 @@ call 175 pith_cstring_release void 1 174 load 176 weak_struct call 177 pith_cstring_release void 1 176 ret 167 -label L2877 -label L2875 -jmp L2872 -label L2874 -label L2872 +label L2922 +label L2920 +jmp L2917 +label L2919 +label L2917 load 178 r load 179 obj_r load 180 lk @@ -147518,8 +147819,8 @@ call 190 string_len int 1 189 iconst 191 1 add 192 190 191 gt 193 188 192 -brif 193 L2879 L2880 -label L2879 +brif 193 L2924 L2925 +label L2924 load 194 weak_struct load 195 lk iconst 196 0 @@ -147536,8 +147837,8 @@ store weak_struct 204 load 206 weak_struct load 207 fname call 208 ir_emitter_core_ir_struct_field_is_weak bool 2 206 207 -brif 208 L2882 L2883 -label L2882 +brif 208 L2927 L2928 +label L2927 load 209 r call 210 ir_optionals_ir_emit_weak_read int 1 209 load 211 fname @@ -147551,11 +147852,11 @@ call 218 pith_cstring_release void 1 217 load 219 weak_struct call 220 pith_cstring_release void 1 219 ret 210 -label L2883 -label L2881 -jmp L2878 -label L2880 -label L2878 +label L2928 +label L2926 +jmp L2923 +label L2925 +label L2923 load 221 r load 222 fname call 223 pith_cstring_release void 1 222 @@ -147728,8 +148029,8 @@ load 17 legacy_kind strref 18 m46s672 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L2885 L2886 -label L2885 +brif 19 L2930 L2931 +label L2930 strref 21 m46s1044 load 22 zero_r call 23 int_to_string string 1 22 @@ -147742,8 +148043,8 @@ call 29 pith_cstring_release void 1 24 call 30 pith_cstring_release void 1 27 call 31 ir_builder_ir_emit void 1 28 call 32 pith_cstring_release void 1 28 -jmp L2884 -label L2886 +jmp L2929 +label L2931 strref 33 m46s832 load 34 zero_r call 35 int_to_string string 1 34 @@ -147756,7 +148057,7 @@ call 41 pith_cstring_release void 1 36 call 42 pith_cstring_release void 1 39 call 43 ir_builder_ir_emit void 1 40 call 44 pith_cstring_release void 1 40 -label L2884 +label L2929 call 45 ir_builder_ir_reg int 0 store cond_r 45 strref 46 m46s1035 @@ -147824,30 +148125,30 @@ call 104 ir_call_emit_ir_emit_label void 1 103 load 105 raw_r store ok_r 105 iconst 106 0 -store __or_106_2890 106 +store __or_106_2935 106 load 107 legacy_kind strref 108 m46s806 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -store __or_106_2890 109 -brif 109 L2891 L2890 -label L2890 +store __or_106_2935 109 +brif 109 L2936 L2935 +label L2935 load 111 legacy_kind strref 112 m46s805 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -store __or_106_2890 113 -label L2891 -load 115 __or_106_2890 -brif 115 L2888 L2889 -label L2888 +store __or_106_2935 113 +label L2936 +load 115 __or_106_2935 +brif 115 L2933 L2934 +label L2933 load 116 raw_r load 117 legacy_kind call 118 ir_result_abi_ir_decode_result_value int 2 116 117 store ok_r 118 -jmp L2887 -label L2889 -label L2887 +jmp L2932 +label L2934 +label L2932 load 119 ok_r call 120 ir_emitter_core_ir_emit_ok_result_tuple int 1 119 store ok_tuple 120 @@ -147947,8 +148248,8 @@ store obj_tid 7 load 8 obj_tid iconst 9 0 gte 10 8 9 -brif 10 L2893 L2894 -label L2893 +brif 10 L2938 L2939 +label L2938 load 11 obj_info load 12 obj_tid call 13 types_get_type_info struct:TypeInfo 1 12 @@ -147959,14 +148260,14 @@ field 16 15 0 string kind strref 17 m46s22 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L2896 L2897 -label L2896 +brif 18 L2941 L2942 +label L2941 load 20 fname strref 21 m46s182 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L2899 L2900 -label L2899 +brif 22 L2944 L2945 +label L2944 load 24 obj_r load 25 obj_tid strref 26 m46s182 @@ -147975,14 +148276,14 @@ call 28 pith_cstring_release void 1 26 load 29 obj_info call 30 pith_struct_release void 1 29 ret 27 -label L2900 -label L2898 +label L2945 +label L2943 load 31 fname strref 32 m46s181 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -brif 33 L2902 L2903 -label L2902 +brif 33 L2947 L2948 +label L2947 load 35 obj_r load 36 obj_tid strref 37 m46s181 @@ -147991,40 +148292,40 @@ call 39 pith_cstring_release void 1 37 load 40 obj_info call 41 pith_struct_release void 1 40 ret 38 -label L2903 -label L2901 +label L2948 +label L2946 iconst 42 0 -store __or_42_2907 42 +store __or_42_2952 42 load 43 fname strref 44 m46s184 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_42_2907 45 -brif 45 L2908 L2907 -label L2907 +store __or_42_2952 45 +brif 45 L2953 L2952 +label L2952 load 47 fname strref 48 m46s183 call 49 pith_cstring_eq bool 2 47 48 call 50 pith_cstring_release void 1 48 -store __or_42_2907 49 -label L2908 -load 51 __or_42_2907 -brif 51 L2905 L2906 -label L2905 +store __or_42_2952 49 +label L2953 +load 51 __or_42_2952 +brif 51 L2950 L2951 +label L2950 load 52 obj_r load 53 fname call 54 ir_result_abi_ir_emit_result_flag_field int 2 52 53 load 55 obj_info call 56 pith_struct_release void 1 55 ret 54 -label L2906 -label L2904 -jmp L2895 -label L2897 -label L2895 -jmp L2892 -label L2894 -label L2892 +label L2951 +label L2949 +jmp L2940 +label L2942 +label L2940 +jmp L2937 +label L2939 +label L2937 iconst 57 0 iconst 58 1 sub 59 57 58 @@ -148050,16 +148351,16 @@ load 7 node field 8 7 16 list children call 9 pith_list_len int 1 8 gte 10 6 9 -brif 10 L2910 L2911 -label L2910 +brif 10 L2955 L2956 +label L2955 iconst 11 0 iconst 12 1 sub 13 11 12 load 14 cn call 15 pith_struct_release void 1 14 ret 13 -label L2911 -label L2909 +label L2956 +label L2954 load 16 node field 17 16 16 list children load 18 actual_index @@ -148071,25 +148372,25 @@ call 22 ast_get_node struct:Node 1 21 call 23 pith_struct_release void 1 20 store cn 22 iconst 24 0 -store __and_24_2915 24 +store __and_24_2960 24 load 25 cn field 26 25 0 string kind strref 27 m46s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __and_24_2915 28 -brif 28 L2915 L2916 -label L2915 +store __and_24_2960 28 +brif 28 L2960 L2961 +label L2960 load 30 cn field 31 30 16 list children call 32 pith_list_len int 1 31 iconst 33 0 gt 34 32 33 -store __and_24_2915 34 -label L2916 -load 35 __and_24_2915 -brif 35 L2913 L2914 -label L2913 +store __and_24_2960 34 +label L2961 +load 35 __and_24_2960 +brif 35 L2958 L2959 +label L2958 load 36 cn field 37 36 16 list children iconst 38 0 @@ -148097,8 +148398,8 @@ call 39 pith_list_get_value_strict int 2 37 38 load 40 cn call 41 pith_struct_release void 1 40 ret 39 -label L2914 -label L2912 +label L2959 +label L2957 load 42 child load 43 cn call 44 pith_struct_release void 1 43 @@ -148118,25 +148419,25 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store node 4 iconst 6 0 -store __and_6_2920 6 +store __and_6_2965 6 load 7 node field 8 7 0 string kind strref 9 m46s512 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __and_6_2920 10 -brif 10 L2920 L2921 -label L2920 +store __and_6_2965 10 +brif 10 L2965 L2966 +label L2965 load 12 node field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 gt 16 14 15 -store __and_6_2920 16 -label L2921 -load 17 __and_6_2920 -brif 17 L2918 L2919 -label L2918 +store __and_6_2965 16 +label L2966 +load 17 __and_6_2965 +brif 17 L2963 L2964 +label L2963 load 18 node field 19 18 16 list children iconst 20 0 @@ -148145,86 +148446,86 @@ call 22 ir_emitter_core_ir_extraction_operand_class string 1 21 load 23 node call 24 pith_struct_release void 1 23 ret 22 -label L2919 -label L2917 +label L2964 +label L2962 iconst 25 0 -store __or_25_2925 25 +store __or_25_2970 25 iconst 26 0 -store __or_26_2925 26 +store __or_26_2970 26 load 27 node field 28 27 0 string kind strref 29 m46s44 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __or_26_2925 30 -brif 30 L2926 L2925 -label L2925 +store __or_26_2970 30 +brif 30 L2971 L2970 +label L2970 load 32 node field 33 32 0 string kind strref 34 m46s129 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_26_2925 35 -label L2926 -load 37 __or_26_2925 -store __or_25_2925 37 -brif 37 L2928 L2927 -label L2927 +store __or_26_2970 35 +label L2971 +load 37 __or_26_2970 +store __or_25_2970 37 +brif 37 L2973 L2972 +label L2972 load 38 node field 39 38 0 string kind strref 40 m46s498 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -store __or_25_2925 41 -label L2928 -load 43 __or_25_2925 -brif 43 L2923 L2924 -label L2923 +store __or_25_2970 41 +label L2973 +load 43 __or_25_2970 +brif 43 L2968 L2969 +label L2968 strref 44 m46s1227 load 45 node call 46 pith_struct_release void 1 45 ret 44 -label L2924 -label L2922 +label L2969 +label L2967 iconst 47 0 -store __or_47_2932 47 +store __or_47_2977 47 iconst 48 0 -store __or_48_2932 48 +store __or_48_2977 48 load 49 node field 50 49 0 string kind strref 51 m46s37 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_48_2932 52 -brif 52 L2933 L2932 -label L2932 +store __or_48_2977 52 +brif 52 L2978 L2977 +label L2977 load 54 node field 55 54 0 string kind strref 56 m46s36 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -store __or_48_2932 57 -label L2933 -load 59 __or_48_2932 -store __or_47_2932 59 -brif 59 L2935 L2934 -label L2934 +store __or_48_2977 57 +label L2978 +load 59 __or_48_2977 +store __or_47_2977 59 +brif 59 L2980 L2979 +label L2979 load 60 node field 61 60 0 string kind strref 62 m46s35 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __or_47_2932 63 -label L2935 -load 65 __or_47_2932 -brif 65 L2930 L2931 -label L2930 +store __or_47_2977 63 +label L2980 +load 65 __or_47_2977 +brif 65 L2975 L2976 +label L2975 strref 66 m46s1202 load 67 node call 68 pith_struct_release void 1 67 ret 66 -label L2931 -label L2929 +label L2976 +label L2974 strref 69 m46s1226 load 70 node call 71 pith_struct_release void 1 70 @@ -148328,14 +148629,14 @@ load 74 operand_class strref 75 m46s1202 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L2937 L2938 -label L2937 +brif 76 L2982 L2983 +label L2982 load 78 idx call 79 ir_emitter_core_ir_string_expr_is_borrowed bool 1 78 iconst 81 1 sub 80 81 79 -brif 80 L2940 L2941 -label L2940 +brif 80 L2985 L2986 +label L2985 load 82 ok_value_r load 83 recv_tid strref 84 m46s182 @@ -148345,11 +148646,11 @@ call 87 ir_struct_registry_ir_rc_kind string 1 85 call 88 pith_cstring_release void 1 85 call 89 ir_ownership_ir_rc_retain_reg void 2 82 87 call 90 pith_cstring_release void 1 87 -jmp L2939 -label L2941 -label L2939 -jmp L2936 -label L2938 +jmp L2984 +label L2986 +label L2984 +jmp L2981 +label L2983 call 91 ir_builder_ir_reg int 0 strref 92 m46s898 strref 93 m46s828 @@ -148357,7 +148658,7 @@ load 94 recv_r call 95 ir_call_emit_ir_emit_call1 void 4 91 92 93 94 call 96 pith_cstring_release void 1 92 call 97 pith_cstring_release void 1 93 -label L2936 +label L2981 strref 98 m46s830 load 99 temp_name concat 100 98 99 @@ -148384,85 +148685,113 @@ call 120 ir_call_emit_ir_emit_label void 1 119 load 121 arg_idx call 122 ir_emitter_core_ir_expr int 1 121 store fallback_r 122 -load 123 operand_class -strref 124 m46s1202 -call 126 pith_cstring_eq bool 2 123 124 +iconst 123 0 +store __and_123_2990 123 +load 124 idx +call 125 ir_emitter_core_ir_string_expr_is_borrowed bool 1 124 iconst 127 1 -sub 125 127 126 -call 128 pith_cstring_release void 1 124 -brif 125 L2943 L2944 -label L2943 -load 129 recv_r -load 130 recv_tid -call 131 ir_emitter_core_ir_emit_release_result_error void 2 129 130 -call 132 ir_builder_ir_reg int 0 -strref 133 m46s898 -strref 134 m46s828 -load 135 recv_r -call 136 ir_call_emit_ir_emit_call1 void 4 132 133 134 135 -call 137 pith_cstring_release void 1 133 -call 138 pith_cstring_release void 1 134 -jmp L2942 -label L2944 -label L2942 -strref 139 m46s830 -load 140 temp_name -concat 141 139 140 -call 142 pith_cstring_release void 1 139 -strref 143 m46s336 -concat 144 141 143 +sub 126 127 125 +store __and_123_2990 126 +brif 126 L2990 L2991 +label L2990 +load 128 arg_idx +call 129 ir_emitter_core_ir_string_expr_is_borrowed bool 1 128 +store __and_123_2990 129 +label L2991 +load 130 __and_123_2990 +brif 130 L2988 L2989 +label L2988 +load 131 fallback_r +load 132 recv_tid +strref 133 m46s182 +call 134 ir_result_abi_ir_result_field_kind string 2 132 133 +call 135 pith_cstring_release void 1 133 +call 136 ir_struct_registry_ir_rc_kind string 1 134 +call 137 pith_cstring_release void 1 134 +call 138 ir_ownership_ir_rc_retain_reg void 2 131 136 +call 139 pith_cstring_release void 1 136 +jmp L2987 +label L2989 +label L2987 +load 140 operand_class +strref 141 m46s1202 +call 143 pith_cstring_eq bool 2 140 141 +iconst 144 1 +sub 142 144 143 call 145 pith_cstring_release void 1 141 -call 146 pith_cstring_release void 1 143 -load 147 fallback_r -call 148 int_to_string string 1 147 -concat 149 144 148 -call 150 pith_cstring_release void 1 144 -call 151 pith_cstring_release void 1 148 -call 152 ir_builder_ir_emit void 1 149 -call 153 pith_cstring_release void 1 149 -load 154 merge_l -call 155 ir_call_emit_ir_emit_label void 1 154 -call 156 ir_builder_ir_reg int 0 -store r 156 -strref 157 m46s829 -load 158 r -call 159 int_to_string string 1 158 -concat 160 157 159 -call 161 pith_cstring_release void 1 157 -call 162 pith_cstring_release void 1 159 -strref 163 m46s336 -concat 164 160 163 -call 165 pith_cstring_release void 1 160 -call 166 pith_cstring_release void 1 163 -load 167 temp_name -concat 168 164 167 -call 169 pith_cstring_release void 1 164 -call 170 ir_builder_ir_emit void 1 168 -call 171 pith_cstring_release void 1 168 -load 172 r -load 173 operand_class -call 174 pith_cstring_release void 1 173 -load 175 temp_name -call 176 pith_cstring_release void 1 175 -load 177 ok_l -call 178 pith_cstring_release void 1 177 -load 179 fallback_l -call 180 pith_cstring_release void 1 179 -load 181 merge_l -call 182 pith_cstring_release void 1 181 -ret 172 -load 183 operand_class -call 184 pith_cstring_release void 1 183 -load 185 temp_name -call 186 pith_cstring_release void 1 185 -load 187 ok_l -call 188 pith_cstring_release void 1 187 -load 189 fallback_l -call 190 pith_cstring_release void 1 189 -load 191 merge_l -call 192 pith_cstring_release void 1 191 -iconst 193 0 -ret 193 +brif 142 L2993 L2994 +label L2993 +load 146 recv_r +load 147 recv_tid +call 148 ir_emitter_core_ir_emit_release_result_error void 2 146 147 +call 149 ir_builder_ir_reg int 0 +strref 150 m46s898 +strref 151 m46s828 +load 152 recv_r +call 153 ir_call_emit_ir_emit_call1 void 4 149 150 151 152 +call 154 pith_cstring_release void 1 150 +call 155 pith_cstring_release void 1 151 +jmp L2992 +label L2994 +label L2992 +strref 156 m46s830 +load 157 temp_name +concat 158 156 157 +call 159 pith_cstring_release void 1 156 +strref 160 m46s336 +concat 161 158 160 +call 162 pith_cstring_release void 1 158 +call 163 pith_cstring_release void 1 160 +load 164 fallback_r +call 165 int_to_string string 1 164 +concat 166 161 165 +call 167 pith_cstring_release void 1 161 +call 168 pith_cstring_release void 1 165 +call 169 ir_builder_ir_emit void 1 166 +call 170 pith_cstring_release void 1 166 +load 171 merge_l +call 172 ir_call_emit_ir_emit_label void 1 171 +call 173 ir_builder_ir_reg int 0 +store r 173 +strref 174 m46s829 +load 175 r +call 176 int_to_string string 1 175 +concat 177 174 176 +call 178 pith_cstring_release void 1 174 +call 179 pith_cstring_release void 1 176 +strref 180 m46s336 +concat 181 177 180 +call 182 pith_cstring_release void 1 177 +call 183 pith_cstring_release void 1 180 +load 184 temp_name +concat 185 181 184 +call 186 pith_cstring_release void 1 181 +call 187 ir_builder_ir_emit void 1 185 +call 188 pith_cstring_release void 1 185 +load 189 r +load 190 operand_class +call 191 pith_cstring_release void 1 190 +load 192 temp_name +call 193 pith_cstring_release void 1 192 +load 194 ok_l +call 195 pith_cstring_release void 1 194 +load 196 fallback_l +call 197 pith_cstring_release void 1 196 +load 198 merge_l +call 199 pith_cstring_release void 1 198 +ret 189 +load 200 operand_class +call 201 pith_cstring_release void 1 200 +load 202 temp_name +call 203 pith_cstring_release void 1 202 +load 204 ok_l +call 205 pith_cstring_release void 1 204 +load 206 fallback_l +call 207 pith_cstring_release void 1 206 +load 208 merge_l +call 209 pith_cstring_release void 1 208 +iconst 210 0 +ret 210 endfunc func ir_emitter_core_ir_emit_result_value_to_string 2 int param recv_r @@ -148488,8 +148817,8 @@ store err_tid 12 load 13 recv_tid iconst 14 0 gte 15 13 14 -brif 15 L2946 L2947 -label L2946 +brif 15 L2996 L2997 +label L2996 load 16 recv_info load 17 recv_tid call 18 types_get_type_info struct:TypeInfo 1 17 @@ -148500,20 +148829,20 @@ field 21 20 0 string kind strref 22 m46s22 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -brif 23 L2949 L2950 -label L2949 +brif 23 L2999 L3000 +label L2999 load 25 recv_info field 26 25 64 int inner store ok_tid 26 load 27 recv_info field 28 27 80 int value_type store err_tid 28 -jmp L2948 -label L2950 -label L2948 -jmp L2945 -label L2947 -label L2945 +jmp L2998 +label L3000 +label L2998 +jmp L2995 +label L2997 +label L2995 load 29 recv_r strref 30 m46s184 call 31 ir_result_abi_ir_emit_result_flag_field int 2 29 30 @@ -148675,24 +149004,24 @@ load 8 value_type strref 9 m46s675 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L2952 L2953 -label L2952 +brif 10 L3002 L3003 +label L3002 load 12 value_r load 13 value_type call 14 pith_cstring_release void 1 13 load 15 value_info call 16 pith_struct_release void 1 15 ret 12 -label L2953 -label L2951 +label L3003 +label L3001 call 17 ir_builder_ir_reg int 0 store out_r 17 load 18 value_type strref 19 m46s673 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L2955 L2956 -label L2955 +brif 20 L3005 L3006 +label L3005 load 22 out_r strref 23 m46s663 strref 24 m46s675 @@ -148706,14 +149035,14 @@ call 31 pith_cstring_release void 1 30 load 32 value_info call 33 pith_struct_release void 1 32 ret 29 -label L2956 -label L2954 +label L3006 +label L3004 load 34 value_type strref 35 m46s672 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -brif 36 L2958 L2959 -label L2958 +brif 36 L3008 L3009 +label L3008 load 38 out_r strref 39 m46s664 strref 40 m46s675 @@ -148727,14 +149056,14 @@ call 47 pith_cstring_release void 1 46 load 48 value_info call 49 pith_struct_release void 1 48 ret 45 -label L2959 -label L2957 +label L3009 +label L3007 load 50 value_type strref 51 m46s671 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L2961 L2962 -label L2961 +brif 52 L3011 L3012 +label L3011 load 54 out_r strref 55 m46s662 strref 56 m46s675 @@ -148748,13 +149077,13 @@ call 63 pith_cstring_release void 1 62 load 64 value_info call 65 pith_struct_release void 1 64 ret 61 -label L2962 -label L2960 +label L3012 +label L3010 load 66 value_tid iconst 67 0 gte 68 66 67 -brif 68 L2964 L2965 -label L2964 +brif 68 L3014 L3015 +label L3014 load 69 value_info load 70 value_tid call 71 types_get_type_info struct:TypeInfo 1 70 @@ -148765,8 +149094,8 @@ field 74 73 0 string kind strref 75 m46s22 call 76 pith_cstring_eq bool 2 74 75 call 77 pith_cstring_release void 1 75 -brif 76 L2967 L2968 -label L2967 +brif 76 L3017 L3018 +label L3017 load 78 value_r load 79 value_tid call 80 ir_emitter_core_ir_emit_result_value_to_string int 2 78 79 @@ -148775,11 +149104,11 @@ call 82 pith_cstring_release void 1 81 load 83 value_info call 84 pith_struct_release void 1 83 ret 80 -label L2968 -label L2966 -jmp L2963 -label L2965 -label L2963 +label L3018 +label L3016 +jmp L3013 +label L3015 +label L3013 load 85 value_r load 86 value_type call 87 pith_cstring_release void 1 86 @@ -148847,39 +149176,39 @@ call 20 pith_cstring_retain void 1 19 call 21 pith_cstring_release void 1 17 store call_name 19 iconst 22 0 -store __and_22_2972 22 +store __and_22_3022 22 load 23 call_name call 24 string_len int 1 23 iconst 25 0 eq 26 24 25 -store __and_22_2972 26 -brif 26 L2972 L2973 -label L2972 +store __and_22_3022 26 +brif 26 L3022 L3023 +label L3022 load 27 handler_node field 28 27 0 string kind strref 29 m46s37 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __and_22_2972 30 -label L2973 -load 32 __and_22_2972 -brif 32 L2970 L2971 -label L2970 +store __and_22_3022 30 +label L3023 +load 32 __and_22_3022 +brif 32 L3020 L3021 +label L3020 load 33 call_name load 34 handler_node field 35 34 8 string value call 36 pith_cstring_retain void 1 35 call 37 pith_cstring_release void 1 33 store call_name 35 -jmp L2969 -label L2971 -label L2969 +jmp L3019 +label L3021 +label L3019 load 38 call_name call 39 string_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L2975 L2976 -label L2975 +brif 41 L3025 L3026 +label L3025 call 42 ir_builder_ir_reg int 0 store out_r 42 load 43 legacy_kind @@ -148896,16 +149225,16 @@ load 51 legacy_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -brif 54 L2978 L2979 -label L2978 +brif 54 L3028 L3029 +label L3028 load 55 call_type load 56 legacy_kind call 57 pith_cstring_retain void 1 56 call 58 pith_cstring_release void 1 55 store call_type 56 -jmp L2977 -label L2979 -label L2977 +jmp L3027 +label L3029 +label L3027 load 59 out_r load 60 call_name load 61 call_type @@ -148919,23 +149248,23 @@ call 68 pith_cstring_release void 1 65 call 69 ir_call_emit_ir_emit_call_text void 5 59 60 61 62 66 call 70 pith_cstring_release void 1 66 iconst 71 0 -store __and_71_2983 71 +store __and_71_3033 71 load 72 legacy_kind call 73 string_len int 1 72 iconst 74 0 gt 75 73 74 -store __and_71_2983 75 -brif 75 L2983 L2984 -label L2983 +store __and_71_3033 75 +brif 75 L3033 L3034 +label L3033 load 76 ret_type strref 77 m46s23 call 78 pith_cstring_eq bool 2 76 77 call 79 pith_cstring_release void 1 77 -store __and_71_2983 78 -label L2984 -load 80 __and_71_2983 -brif 80 L2981 L2982 -label L2981 +store __and_71_3033 78 +label L3034 +load 80 __and_71_3033 +brif 80 L3031 L3032 +label L3031 load 81 out_r load 82 legacy_kind load 83 call_name @@ -148953,8 +149282,8 @@ call 94 pith_cstring_release void 1 93 load 95 handler_name call 96 pith_cstring_release void 1 95 ret 84 -label L2982 -label L2980 +label L3032 +label L3030 load 97 out_r load 98 handler_node call 99 pith_struct_release void 1 98 @@ -148969,8 +149298,8 @@ call 107 pith_cstring_release void 1 106 load 108 handler_name call 109 pith_cstring_release void 1 108 ret 97 -label L2976 -label L2974 +label L3026 +label L3024 load 110 handler_idx call 111 ir_emitter_core_ir_expr int 1 110 store handler_r 111 @@ -149227,7 +149556,7 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store recv_node 4 iconst 6 0 -store __or_6_2988 6 +store __or_6_3038 6 load 7 recv_node field 8 7 0 string kind strref 9 m46s129 @@ -149235,25 +149564,25 @@ call 11 pith_cstring_eq bool 2 8 9 iconst 12 1 sub 10 12 11 call 13 pith_cstring_release void 1 9 -store __or_6_2988 10 -brif 10 L2989 L2988 -label L2988 +store __or_6_3038 10 +brif 10 L3039 L3038 +label L3038 load 14 recv_node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -store __or_6_2988 18 -label L2989 -load 19 __or_6_2988 -brif 19 L2986 L2987 -label L2986 +store __or_6_3038 18 +label L3039 +load 19 __or_6_3038 +brif 19 L3036 L3037 +label L3036 call 20 ir_result_abi_ir_zero_reg int 0 load 21 recv_node call 22 pith_struct_release void 1 21 ret 20 -label L2987 -label L2985 +label L3037 +label L3035 load 23 recv_node field 24 23 16 list children iconst 25 0 @@ -149288,7 +149617,7 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store send_node 4 iconst 6 0 -store __or_6_2993 6 +store __or_6_3043 6 load 7 send_node field 8 7 0 string kind strref 9 m46s129 @@ -149296,25 +149625,25 @@ call 11 pith_cstring_eq bool 2 8 9 iconst 12 1 sub 10 12 11 call 13 pith_cstring_release void 1 9 -store __or_6_2993 10 -brif 10 L2994 L2993 -label L2993 +store __or_6_3043 10 +brif 10 L3044 L3043 +label L3043 load 14 send_node field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -store __or_6_2993 18 -label L2994 -load 19 __or_6_2993 -brif 19 L2991 L2992 -label L2991 +store __or_6_3043 18 +label L3044 +load 19 __or_6_3043 +brif 19 L3041 L3042 +label L3041 call 20 ir_result_abi_ir_zero_reg int 0 load 21 send_node call 22 pith_struct_release void 1 21 ret 20 -label L2992 -label L2990 +label L3042 +label L3040 load 23 send_node field 24 23 16 list children iconst 25 0 @@ -149328,14 +149657,14 @@ store arg_idx 30 load 31 arg_idx iconst 32 0 lt 33 31 32 -brif 33 L2996 L2997 -label L2996 +brif 33 L3046 L3047 +label L3046 call 34 ir_result_abi_ir_zero_reg int 0 load 35 send_node call 36 pith_struct_release void 1 35 ret 34 -label L2997 -label L2995 +label L3047 +label L3045 load 37 arg_idx call 38 ir_emitter_core_ir_expr int 1 37 store val_r 38 @@ -149383,21 +149712,21 @@ load 15 bind_name call 16 string_len int 1 15 iconst 17 0 gt 18 16 17 -brif 18 L2999 L3000 -label L2999 +brif 18 L3049 L3050 +label L3049 load 19 bind_type call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L3002 L3003 -label L3002 +brif 22 L3052 L3053 +label L3052 load 23 ir_builder_ir_var_types load 24 bind_name load 25 bind_type call 26 map_insert void 3 23 24 25 -jmp L3001 -label L3003 -label L3001 +jmp L3051 +label L3053 +label L3051 strref 27 m46s830 load 28 bind_name concat 29 27 28 @@ -149413,9 +149742,9 @@ call 38 pith_cstring_release void 1 32 call 39 pith_cstring_release void 1 36 call 40 ir_builder_ir_emit void 1 37 call 41 pith_cstring_release void 1 37 -jmp L2998 -label L3000 -label L2998 +jmp L3048 +label L3050 +label L3048 load 42 body_node load 43 body_idx call 44 ast_get_node struct:Node 1 43 @@ -149428,41 +149757,41 @@ field 48 47 0 string kind strref 49 m46s65 call 50 pith_cstring_eq bool 2 48 49 call 51 pith_cstring_release void 1 49 -brif 50 L3005 L3006 -label L3005 +brif 50 L3055 L3056 +label L3055 load 52 body_node field 53 52 16 list children call 54 pith_list_len int 1 53 iconst 55 0 gt 56 54 55 -brif 56 L3008 L3009 -label L3008 +brif 56 L3058 L3059 +label L3058 load 57 body_node field 58 57 16 list children iconst 59 0 call 60 pith_list_get_value_strict int 2 58 59 call 61 ir_emitter_core_ir_expr int 1 60 store body_r 61 -jmp L3007 -label L3009 -label L3007 -jmp L3004 -label L3006 +jmp L3057 +label L3059 +label L3057 +jmp L3054 +label L3056 load 62 body_node field 63 62 0 string kind strref 64 m46s64 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -brif 65 L3010 L3011 -label L3010 +brif 65 L3060 L3061 +label L3060 load 67 body_idx call 68 ir_emitter_core_ir_block int 1 67 -jmp L3004 -label L3011 +jmp L3054 +label L3061 load 69 body_idx call 70 ir_emitter_core_ir_expr int 1 69 store body_r 70 -label L3004 +label L3054 load 71 saved_vars call 72 pith_map_retain_handle void 1 71 store ir_builder_ir_var_regs 71 @@ -149503,12 +149832,12 @@ iconst 9 0 store __for_idx_344 9 store __for_len_344 8 store __for_iter_344 7 -label L3012 +label L3062 load 10 __for_idx_344 load 11 __for_len_344 lt 12 10 11 -brif 12 L3013 L3015 -label L3013 +brif 12 L3063 L3065 +label L3063 load 13 __for_iter_344 load 14 __for_idx_344 call 15 pith_list_get_value unknown 2 13 14 @@ -149519,38 +149848,38 @@ call 18 ast_get_node struct:Node 1 17 call 19 pith_struct_release void 1 16 store arm_node 18 iconst 20 0 -store __or_20_3019 20 +store __or_20_3069 20 load 21 arm_node field 22 21 0 string kind strref 23 m46s138 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __or_20_3019 24 -brif 24 L3020 L3019 -label L3019 +store __or_20_3069 24 +brif 24 L3070 L3069 +label L3069 load 26 arm_node field 27 26 0 string kind strref 28 m46s137 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -store __or_20_3019 29 -label L3020 -load 31 __or_20_3019 -brif 31 L3017 L3018 -label L3017 +store __or_20_3069 29 +label L3070 +load 31 __or_20_3069 +brif 31 L3067 L3068 +label L3067 load 32 probe_arms load 33 __loopvar_344_arm_idx call 34 pith_list_push_value void 2 32 33 -jmp L3016 -label L3018 -label L3016 -label L3014 +jmp L3066 +label L3068 +label L3066 +label L3064 load 35 __for_idx_344 iconst 36 1 add 37 35 36 store __for_idx_344 37 -jmp L3012 -label L3015 +jmp L3062 +label L3065 load 38 probe_arms load 39 arm_node call 40 pith_struct_release void 1 39 @@ -149581,12 +149910,12 @@ iconst 11 0 store __for_idx_345 11 store __for_len_345 10 store __for_iter_345 9 -label L3021 +label L3071 load 12 __for_idx_345 load 13 __for_len_345 lt 14 12 13 -brif 14 L3022 L3024 -label L3022 +brif 14 L3072 L3074 +label L3072 load 15 __for_iter_345 load 16 __for_idx_345 call 17 pith_list_get_value unknown 2 15 16 @@ -149597,57 +149926,57 @@ call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store arm_node 20 iconst 22 0 -store __and_22_3028 22 +store __and_22_3078 22 load 23 arm_node field 24 23 0 string kind strref 25 m46s136 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __and_22_3028 26 -brif 26 L3028 L3029 -label L3028 +store __and_22_3078 26 +brif 26 L3078 L3079 +label L3078 load 28 timeout_idx iconst 29 0 lt 30 28 29 -store __and_22_3028 30 -label L3029 -load 31 __and_22_3028 -brif 31 L3026 L3027 -label L3026 +store __and_22_3078 30 +label L3079 +load 31 __and_22_3078 +brif 31 L3076 L3077 +label L3076 load 32 __loopvar_345_child store timeout_idx 32 -jmp L3025 -label L3027 +jmp L3075 +label L3077 iconst 33 0 -store __and_33_3032 33 +store __and_33_3082 33 load 34 arm_node field 35 34 0 string kind strref 36 m46s135 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __and_33_3032 37 -brif 37 L3032 L3033 -label L3032 +store __and_33_3082 37 +brif 37 L3082 L3083 +label L3082 load 39 default_idx iconst 40 0 lt 41 39 40 -store __and_33_3032 41 -label L3033 -load 42 __and_33_3032 -brif 42 L3030 L3031 -label L3030 +store __and_33_3082 41 +label L3083 +load 42 __and_33_3082 +brif 42 L3080 L3081 +label L3080 load 43 __loopvar_345_child store default_idx 43 -jmp L3025 -label L3031 -label L3025 -label L3023 +jmp L3075 +label L3081 +label L3075 +label L3073 load 44 __for_idx_345 iconst 45 1 add 46 44 45 store __for_idx_345 46 -jmp L3021 -label L3024 +jmp L3071 +label L3074 load 47 node call 48 ir_emitter_core_ir_select_probe_arm_indices list 1 47 load 49 timeout_idx @@ -149683,25 +150012,25 @@ call 8 ast_get_node struct:Node 1 7 call 9 pith_struct_release void 1 6 store arm_node 8 iconst 10 0 -store __and_10_3037 10 +store __and_10_3087 10 load 11 arm_node field 12 11 0 string kind strref 13 m46s138 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -store __and_10_3037 14 -brif 14 L3037 L3038 -label L3037 +store __and_10_3087 14 +brif 14 L3087 L3088 +label L3087 load 16 arm_node field 17 16 16 list children call 18 pith_list_len int 1 17 iconst 19 2 gte 20 18 19 -store __and_10_3037 20 -label L3038 -load 21 __and_10_3037 -brif 21 L3035 L3036 -label L3035 +store __and_10_3087 20 +label L3088 +load 21 __and_10_3087 +brif 21 L3085 L3086 +label L3085 load 22 arm_node field 23 22 16 list children iconst 24 0 @@ -149781,28 +150110,28 @@ call 92 ir_builder_ir_emit void 1 90 call 93 pith_cstring_release void 1 90 load 94 next_l call 95 ir_call_emit_ir_emit_label void 1 94 -jmp L3034 -label L3036 +jmp L3084 +label L3086 iconst 96 0 -store __and_96_3041 96 +store __and_96_3091 96 load 97 arm_node field 98 97 0 string kind strref 99 m46s137 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __and_96_3041 100 -brif 100 L3041 L3042 -label L3041 +store __and_96_3091 100 +brif 100 L3091 L3092 +label L3091 load 102 arm_node field 103 102 16 list children call 104 pith_list_len int 1 103 iconst 105 2 gte 106 104 105 -store __and_96_3041 106 -label L3042 -load 107 __and_96_3041 -brif 107 L3039 L3040 -label L3039 +store __and_96_3091 106 +label L3092 +load 107 __and_96_3091 +brif 107 L3089 L3090 +label L3089 load 108 arm_node field 109 108 16 list children iconst 110 0 @@ -149875,9 +150204,9 @@ call 172 ir_builder_ir_emit void 1 170 call 173 pith_cstring_release void 1 170 load 174 next_l call 175 ir_call_emit_ir_emit_label void 1 174 -jmp L3034 -label L3040 -label L3034 +jmp L3084 +label L3090 +label L3084 load 176 arm_node call 177 pith_struct_release void 1 176 load 178 hit_l @@ -149896,16 +150225,16 @@ store timeout_node 2 load 3 timeout_idx iconst 4 0 lt 5 3 4 -brif 5 L3044 L3045 -label L3044 +brif 5 L3094 L3095 +label L3094 strref 6 m46s82 load 7 deadline_name call 8 pith_cstring_release void 1 7 load 9 timeout_node call 10 pith_struct_release void 1 9 ret 6 -label L3045 -label L3043 +label L3095 +label L3093 load 11 deadline_name strref 12 m46s1223 call 13 ir_builder_ir_new_temp_name string 1 12 @@ -149992,14 +150321,14 @@ store offset_name 1 load 2 probe_count iconst 3 1 lte 4 2 3 -brif 4 L3047 L3048 -label L3047 +brif 4 L3097 L3098 +label L3097 strref 5 m46s82 load 6 offset_name call 7 pith_cstring_release void 1 6 ret 5 -label L3048 -label L3046 +label L3098 +label L3096 load 8 offset_name strref 9 m46s1222 call 10 ir_builder_ir_new_temp_name string 1 9 @@ -150093,12 +150422,12 @@ call 26 ir_builder_ir_emit void 1 24 call 27 pith_cstring_release void 1 24 iconst 28 0 store i 28 -label L3049 +label L3099 load 29 i load 30 probe_count lt 31 29 30 -brif 31 L3050 L3051 -label L3050 +brif 31 L3100 L3101 +label L3100 load 32 case_l call 33 ir_builder_ir_label string 0 call 34 pith_cstring_release void 1 32 @@ -150180,12 +150509,12 @@ load 105 case_l call 106 ir_call_emit_ir_emit_label void 1 105 iconst 107 0 store j 107 -label L3052 +label L3102 load 108 j load 109 probe_count lt 110 108 109 -brif 110 L3053 L3054 -label L3053 +brif 110 L3103 L3104 +label L3103 load 111 i load 112 j add 113 111 112 @@ -150202,8 +150531,8 @@ load 122 j iconst 123 1 add 124 122 123 store j 124 -jmp L3052 -label L3054 +jmp L3102 +label L3104 strref 125 m46s833 load 126 probe_done_l concat 127 125 126 @@ -150216,8 +150545,8 @@ load 133 i iconst 134 1 add 135 133 134 store i 135 -jmp L3049 -label L3051 +jmp L3099 +label L3101 load 136 probe_done_l call 137 ir_call_emit_ir_emit_label void 1 136 load 138 probe_done_l @@ -150240,17 +150569,17 @@ store probe_count 5 load 6 probe_count iconst 7 0 eq 8 6 7 -brif 8 L3056 L3057 -label L3056 +brif 8 L3106 L3107 +label L3106 iconst 9 0 ret 9 -label L3057 -label L3055 +label L3107 +label L3105 load 10 probe_count iconst 11 1 eq 12 10 11 -brif 12 L3059 L3060 -label L3059 +brif 12 L3109 L3110 +label L3109 load 13 probe_arms iconst 14 0 call 15 pith_list_get_value_strict int 2 13 14 @@ -150259,8 +150588,8 @@ load 17 end_l call 18 ir_emitter_core_ir_emit_select_probe_arm void 3 15 16 17 iconst 19 0 ret 19 -label L3060 -label L3058 +label L3110 +label L3108 load 20 probe_arms load 21 offset_name load 22 result_temp @@ -150278,14 +150607,14 @@ store default_node 3 load 4 default_idx iconst 5 0 lt 6 4 5 -brif 6 L3062 L3063 -label L3062 +brif 6 L3112 L3113 +label L3112 load 7 default_node call 8 pith_struct_release void 1 7 iconst 9 0 ret 9 -label L3063 -label L3061 +label L3113 +label L3111 load 10 default_node load 11 default_idx call 12 ast_get_node struct:Node 1 11 @@ -150296,14 +150625,14 @@ field 15 14 16 list children call 16 pith_list_len int 1 15 iconst 17 0 eq 18 16 17 -brif 18 L3065 L3066 -label L3065 +brif 18 L3115 L3116 +label L3115 load 19 default_node call 20 pith_struct_release void 1 19 iconst 21 0 ret 21 -label L3066 -label L3064 +label L3116 +label L3114 load 22 default_node field 23 22 16 list children iconst 24 0 @@ -150355,8 +150684,8 @@ store timeout_node 6 load 7 timeout_idx iconst 8 0 lt 9 7 8 -brif 9 L3068 L3069 -label L3068 +brif 9 L3118 L3119 +label L3118 load 10 timeout_l call 11 pith_cstring_release void 1 10 load 12 wait_l @@ -150365,8 +150694,8 @@ load 14 timeout_node call 15 pith_struct_release void 1 14 iconst 16 0 ret 16 -label L3069 -label L3067 +label L3119 +label L3117 call 17 ir_builder_ir_reg int 0 store now_r 17 load 18 now_r @@ -150506,12 +150835,12 @@ param offset_name load 2 probe_count iconst 3 1 lte 4 2 3 -brif 4 L3071 L3072 -label L3071 +brif 4 L3121 L3122 +label L3121 iconst 5 0 ret 5 -label L3072 -label L3070 +label L3122 +label L3120 call 6 ir_builder_ir_reg int 0 store next_offset_r 6 call 7 ir_builder_ir_reg int 0 @@ -150797,43 +151126,43 @@ endfunc func ir_emitter_core_ir_is_channel_send_name 1 bool param emit_name iconst 1 0 -store __or_1_3076 1 +store __or_1_3126 1 load 2 emit_name strref 3 m46s128 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -store __or_1_3076 4 -brif 4 L3077 L3076 -label L3076 +store __or_1_3126 4 +brif 4 L3127 L3126 +label L3126 load 6 emit_name strref 7 m46s658 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -store __or_1_3076 8 -label L3077 -load 10 __or_1_3076 -brif 10 L3074 L3075 -label L3074 +store __or_1_3126 8 +label L3127 +load 10 __or_1_3126 +brif 10 L3124 L3125 +label L3124 iconst 11 1 ret 11 -label L3075 -label L3073 +label L3125 +label L3123 iconst 12 0 -store __or_12_3078 12 +store __or_12_3128 12 load 13 emit_name strref 14 m46s214 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_12_3078 15 -brif 15 L3079 L3078 -label L3078 +store __or_12_3128 15 +brif 15 L3129 L3128 +label L3128 load 17 emit_name strref 18 m46s657 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __or_12_3078 19 -label L3079 -load 21 __or_12_3078 +store __or_12_3128 19 +label L3129 +load 21 __or_12_3128 ret 21 iconst 22 0 ret 22 @@ -150846,36 +151175,36 @@ store variant_r 2 load 3 variant_r iconst 4 0 gte 5 3 4 -brif 5 L3081 L3082 -label L3081 +brif 5 L3131 L3132 +label L3131 load 6 variant_r ret 6 -label L3082 -label L3080 +label L3132 +label L3130 load 7 idx call 8 ir_emitter_core_ir_emit_typed_receiver_method int 1 7 store typed_r 8 load 9 typed_r iconst 10 0 gte 11 9 10 -brif 11 L3084 L3085 -label L3084 +brif 11 L3134 L3135 +label L3134 load 12 typed_r ret 12 -label L3085 -label L3083 +label L3135 +label L3133 load 13 idx call 14 ir_emitter_core_ir_emit_module_alias_method int 1 13 store alias_r 14 load 15 alias_r iconst 16 0 gte 17 15 16 -brif 17 L3087 L3088 -label L3087 +brif 17 L3137 L3138 +label L3137 load 18 alias_r ret 18 -label L3088 -label L3086 +label L3138 +label L3136 load 19 idx call 20 ir_emitter_core_ir_emit_general_method_call int 1 19 ret 20 @@ -150913,8 +151242,8 @@ field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3090 L3091 -label L3090 +brif 21 L3140 L3141 +label L3140 load 22 ctor_recv load 23 node field 24 23 16 list children @@ -150924,24 +151253,24 @@ call 27 ast_get_node struct:Node 1 26 call 28 pith_struct_release void 1 22 store ctor_recv 27 iconst 29 0 -store __and_29_3095 29 +store __and_29_3145 29 load 30 ctor_recv field 31 30 0 string kind strref 32 m46s37 call 33 pith_cstring_eq bool 2 31 32 call 34 pith_cstring_release void 1 32 -store __and_29_3095 33 -brif 33 L3095 L3096 -label L3095 +store __and_29_3145 33 +brif 33 L3145 L3146 +label L3145 load 35 ir_struct_registry_ir_boxed_enums load 36 ctor_recv field 37 36 8 string value call 38 contains_key bool 2 35 37 -store __and_29_3095 38 -label L3096 -load 39 __and_29_3095 -brif 39 L3093 L3094 -label L3093 +store __and_29_3145 38 +label L3146 +load 39 __and_29_3145 +brif 39 L3143 L3144 +label L3143 load 40 ctor_key load 41 ctor_recv field 42 41 8 string value @@ -150956,8 +151285,8 @@ store ctor_key 47 load 50 ir_struct_registry_ir_struct_field_index_lookup load 51 ctor_key call 52 contains_key bool 2 50 51 -brif 52 L3098 L3099 -label L3098 +brif 52 L3148 L3149 +label L3148 load 53 node load 54 ctor_recv field 55 54 8 string value @@ -150976,31 +151305,31 @@ call 67 pith_struct_release void 1 66 load 68 qual_key call 69 pith_cstring_release void 1 68 ret 57 -label L3099 -label L3097 -jmp L3092 -label L3094 -label L3092 +label L3149 +label L3147 +jmp L3142 +label L3144 +label L3142 iconst 70 0 -store __and_70_3103 70 +store __and_70_3153 70 load 71 ctor_recv field 72 71 0 string kind strref 73 m46s36 call 74 pith_cstring_eq bool 2 72 73 call 75 pith_cstring_release void 1 73 -store __and_70_3103 74 -brif 74 L3103 L3104 -label L3103 +store __and_70_3153 74 +brif 74 L3153 L3154 +label L3153 load 76 ctor_recv field 77 76 16 list children call 78 pith_list_len int 1 77 iconst 79 0 gt 80 78 79 -store __and_70_3103 80 -label L3104 -load 81 __and_70_3103 -brif 81 L3101 L3102 -label L3101 +store __and_70_3153 80 +label L3154 +load 81 __and_70_3153 +brif 81 L3151 L3152 +label L3151 load 82 qual_mod load 83 ctor_recv field 84 83 16 list children @@ -151010,36 +151339,36 @@ call 87 ast_get_node struct:Node 1 86 call 88 pith_struct_release void 1 82 store qual_mod 87 iconst 89 0 -store __and_89_3108 89 +store __and_89_3158 89 iconst 90 0 -store __and_90_3108 90 +store __and_90_3158 90 load 91 qual_mod field 92 91 0 string kind strref 93 m46s37 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -store __and_90_3108 94 -brif 94 L3108 L3109 -label L3108 +store __and_90_3158 94 +brif 94 L3158 L3159 +label L3158 load 96 ir_alias_registry_ir_module_aliases load 97 qual_mod field 98 97 8 string value call 99 contains_key bool 2 96 98 -store __and_90_3108 99 -label L3109 -load 100 __and_90_3108 -store __and_89_3108 100 -brif 100 L3110 L3111 -label L3110 +store __and_90_3158 99 +label L3159 +load 100 __and_90_3158 +store __and_89_3158 100 +brif 100 L3160 L3161 +label L3160 load 101 ir_struct_registry_ir_boxed_enums load 102 ctor_recv field 103 102 8 string value call 104 contains_key bool 2 101 103 -store __and_89_3108 104 -label L3111 -load 105 __and_89_3108 -brif 105 L3106 L3107 -label L3106 +store __and_89_3158 104 +label L3161 +load 105 __and_89_3158 +brif 105 L3156 L3157 +label L3156 load 106 qual_key load 107 ctor_recv field 108 107 8 string value @@ -151054,8 +151383,8 @@ store qual_key 113 load 116 ir_struct_registry_ir_struct_field_index_lookup load 117 qual_key call 118 contains_key bool 2 116 117 -brif 118 L3113 L3114 -label L3113 +brif 118 L3163 L3164 +label L3163 load 119 node load 120 ctor_recv field 121 120 8 string value @@ -151074,17 +151403,17 @@ call 133 pith_struct_release void 1 132 load 134 qual_key call 135 pith_cstring_release void 1 134 ret 123 -label L3114 -label L3112 -jmp L3105 -label L3107 -label L3105 -jmp L3100 -label L3102 -label L3100 -jmp L3089 -label L3091 -label L3089 +label L3164 +label L3162 +jmp L3155 +label L3157 +label L3155 +jmp L3150 +label L3152 +label L3150 +jmp L3139 +label L3141 +label L3139 iconst 136 0 iconst 137 1 sub 138 136 137 @@ -151151,8 +151480,8 @@ field 20 19 16 list children call 21 pith_list_len int 1 20 iconst 22 0 gt 23 21 22 -brif 23 L3116 L3117 -label L3116 +brif 23 L3166 L3167 +label L3166 load 24 node field 25 24 16 list children iconst 26 0 @@ -151162,91 +151491,91 @@ store recv_tid 28 load 29 recv_tid iconst 30 0 gte 31 29 30 -brif 31 L3119 L3120 -label L3119 +brif 31 L3169 L3170 +label L3169 load 32 recv_info load 33 recv_tid call 34 types_get_type_info struct:TypeInfo 1 33 call 35 pith_struct_release void 1 32 store recv_info 34 iconst 36 0 -store __and_36_3124 36 +store __and_36_3174 36 load 37 recv_info field 38 37 0 string kind strref 39 m46s497 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __and_36_3124 40 -brif 40 L3124 L3125 -label L3124 +store __and_36_3174 40 +brif 40 L3174 L3175 +label L3174 load 42 mname strref 43 m46s270 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __and_36_3124 44 -label L3125 -load 46 __and_36_3124 -brif 46 L3122 L3123 -label L3122 +store __and_36_3174 44 +label L3175 +load 46 __and_36_3174 +brif 46 L3172 L3173 +label L3172 iconst 47 0 -store __or_47_3129 47 +store __or_47_3179 47 iconst 48 0 -store __or_48_3129 48 +store __or_48_3179 48 iconst 49 0 -store __or_49_3129 49 +store __or_49_3179 49 iconst 50 0 -store __or_50_3129 50 +store __or_50_3179 50 load 51 recv_info field 52 51 8 string name strref 53 m46s496 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_50_3129 54 -brif 54 L3130 L3129 -label L3129 +store __or_50_3179 54 +brif 54 L3180 L3179 +label L3179 load 56 recv_info field 57 56 8 string name strref 58 m46s491 call 59 pith_cstring_eq bool 2 57 58 call 60 pith_cstring_release void 1 58 -store __or_50_3129 59 -label L3130 -load 61 __or_50_3129 -store __or_49_3129 61 -brif 61 L3132 L3131 -label L3131 +store __or_50_3179 59 +label L3180 +load 61 __or_50_3179 +store __or_49_3179 61 +brif 61 L3182 L3181 +label L3181 load 62 recv_info field 63 62 8 string name strref 64 m46s490 call 65 pith_cstring_eq bool 2 63 64 call 66 pith_cstring_release void 1 64 -store __or_49_3129 65 -label L3132 -load 67 __or_49_3129 -store __or_48_3129 67 -brif 67 L3134 L3133 -label L3133 +store __or_49_3179 65 +label L3182 +load 67 __or_49_3179 +store __or_48_3179 67 +brif 67 L3184 L3183 +label L3183 load 68 recv_info field 69 68 8 string name strref 70 m46s489 call 71 pith_cstring_eq bool 2 69 70 call 72 pith_cstring_release void 1 70 -store __or_48_3129 71 -label L3134 -load 73 __or_48_3129 -store __or_47_3129 73 -brif 73 L3136 L3135 -label L3135 +store __or_48_3179 71 +label L3184 +load 73 __or_48_3179 +store __or_47_3179 73 +brif 73 L3186 L3185 +label L3185 load 74 recv_info field 75 74 8 string name strref 76 m46s488 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_47_3129 77 -label L3136 -load 79 __or_47_3129 -brif 79 L3127 L3128 -label L3127 +store __or_47_3179 77 +label L3186 +load 79 __or_47_3179 +brif 79 L3177 L3178 +label L3177 load 80 node field 81 80 16 list children iconst 82 0 @@ -151280,24 +151609,24 @@ call 107 pith_cstring_release void 1 106 load 108 end_l call 109 pith_cstring_release void 1 108 ret 93 -label L3128 -label L3126 -jmp L3121 -label L3123 -label L3121 +label L3178 +label L3176 +jmp L3171 +label L3173 +label L3171 load 110 recv_info field 111 110 0 string kind strref 112 m46s22 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -brif 113 L3138 L3139 -label L3138 +brif 113 L3188 L3189 +label L3188 load 115 mname strref 116 m46s285 call 117 pith_cstring_eq bool 2 115 116 call 118 pith_cstring_release void 1 116 -brif 117 L3141 L3142 -label L3141 +brif 117 L3191 L3192 +label L3191 load 119 idx load 120 node call 121 ir_emitter_core_ir_emit_result_unwrap_or int 2 119 120 @@ -151318,14 +151647,14 @@ call 135 pith_cstring_release void 1 134 load 136 end_l call 137 pith_cstring_release void 1 136 ret 121 -label L3142 -label L3140 +label L3192 +label L3190 load 138 mname strref 139 m46s283 call 140 pith_cstring_eq bool 2 138 139 call 141 pith_cstring_release void 1 139 -brif 140 L3144 L3145 -label L3144 +brif 140 L3194 L3195 +label L3194 load 142 idx load 143 node call 144 ir_emitter_core_ir_emit_result_or_else int 2 142 143 @@ -151346,14 +151675,14 @@ call 158 pith_cstring_release void 1 157 load 159 end_l call 160 pith_cstring_release void 1 159 ret 144 -label L3145 -label L3143 +label L3195 +label L3193 load 161 mname strref 162 m46s270 call 163 pith_cstring_eq bool 2 161 162 call 164 pith_cstring_release void 1 162 -brif 163 L3147 L3148 -label L3147 +brif 163 L3197 L3198 +label L3197 load 165 node call 166 ir_emitter_core_ir_emit_result_to_string int 1 165 load 167 node @@ -151373,30 +151702,30 @@ call 180 pith_cstring_release void 1 179 load 181 end_l call 182 pith_cstring_release void 1 181 ret 166 -label L3148 -label L3146 -jmp L3137 -label L3139 -label L3137 +label L3198 +label L3196 +jmp L3187 +label L3189 +label L3187 iconst 183 0 -store __and_183_3152 183 +store __and_183_3202 183 load 184 recv_info field 185 184 0 string kind strref 186 m46s21 call 187 pith_cstring_eq bool 2 185 186 call 188 pith_cstring_release void 1 186 -store __and_183_3152 187 -brif 187 L3152 L3153 -label L3152 +store __and_183_3202 187 +brif 187 L3202 L3203 +label L3202 load 189 mname strref 190 m46s6 call 191 pith_cstring_eq bool 2 189 190 call 192 pith_cstring_release void 1 190 -store __and_183_3152 191 -label L3153 -load 193 __and_183_3152 -brif 193 L3150 L3151 -label L3150 +store __and_183_3202 191 +label L3203 +load 193 __and_183_3202 +brif 193 L3200 L3201 +label L3200 load 194 node field 195 194 16 list children iconst 196 0 @@ -151431,27 +151760,27 @@ call 222 pith_cstring_release void 1 221 load 223 end_l call 224 pith_cstring_release void 1 223 ret 208 -label L3151 -label L3149 +label L3201 +label L3199 iconst 225 0 -store __and_225_3157 225 +store __and_225_3207 225 load 226 recv_info field 227 226 0 string kind strref 228 m46s21 call 229 pith_cstring_eq bool 2 227 228 call 230 pith_cstring_release void 1 228 -store __and_225_3157 229 -brif 229 L3157 L3158 -label L3157 +store __and_225_3207 229 +brif 229 L3207 L3208 +label L3207 load 231 mname strref 232 m46s285 call 233 pith_cstring_eq bool 2 231 232 call 234 pith_cstring_release void 1 232 -store __and_225_3157 233 -label L3158 -load 235 __and_225_3157 -brif 235 L3155 L3156 -label L3155 +store __and_225_3207 233 +label L3208 +load 235 __and_225_3207 +brif 235 L3205 L3206 +label L3205 load 236 node field 237 236 16 list children iconst 238 0 @@ -151522,26 +151851,26 @@ load 294 recv_tid call 295 ir_optionals_ir_optional_value_field int 2 293 294 store inner_r 295 iconst 296 0 -store __and_296_3162 296 +store __and_296_3212 296 load 297 inner_kind call 298 string_len int 1 297 iconst 299 0 gt 300 298 299 -store __and_296_3162 300 -brif 300 L3162 L3163 -label L3162 +store __and_296_3212 300 +brif 300 L3212 L3213 +label L3212 load 301 owns_subject -store __and_296_3162 301 -label L3163 -load 302 __and_296_3162 -brif 302 L3160 L3161 -label L3160 +store __and_296_3212 301 +label L3213 +load 302 __and_296_3212 +brif 302 L3210 L3211 +label L3210 load 303 inner_r load 304 inner_kind call 305 ir_ownership_ir_rc_retain_reg void 2 303 304 -jmp L3159 -label L3161 -label L3159 +jmp L3209 +label L3211 +label L3209 strref 306 m46s830 load 307 tmp concat 308 306 307 @@ -151572,197 +151901,231 @@ store default_idx 331 load 332 default_idx call 333 ir_emitter_core_ir_expr int 1 332 store default_r 333 -strref 334 m46s830 -load 335 tmp -concat 336 334 335 -call 337 pith_cstring_release void 1 334 -strref 338 m46s336 -concat 339 336 338 -call 340 pith_cstring_release void 1 336 -call 341 pith_cstring_release void 1 338 -load 342 default_r -call 343 int_to_string string 1 342 -concat 344 339 343 -call 345 pith_cstring_release void 1 339 -call 346 pith_cstring_release void 1 343 -call 347 ir_builder_ir_emit void 1 344 -call 348 pith_cstring_release void 1 344 -load 349 end_l -call 350 ir_call_emit_ir_emit_label void 1 349 -load 351 owns_subject -brif 351 L3165 L3166 -label L3165 -call 352 ir_builder_ir_reg int 0 -strref 353 m46s898 -strref 354 m46s828 -load 355 obj_r -call 356 ir_call_emit_ir_emit_call1 void 4 352 353 354 355 +iconst 334 0 +store __and_334_3217 334 +iconst 335 0 +store __and_335_3217 335 +load 336 inner_kind +call 337 string_len int 1 336 +iconst 338 0 +gt 339 337 338 +store __and_335_3217 339 +brif 339 L3217 L3218 +label L3217 +load 340 idx +call 341 ir_emitter_core_ir_string_expr_is_borrowed bool 1 340 +iconst 343 1 +sub 342 343 341 +store __and_335_3217 342 +label L3218 +load 344 __and_335_3217 +store __and_334_3217 344 +brif 344 L3219 L3220 +label L3219 +load 345 default_idx +call 346 ir_emitter_core_ir_string_expr_is_borrowed bool 1 345 +store __and_334_3217 346 +label L3220 +load 347 __and_334_3217 +brif 347 L3215 L3216 +label L3215 +load 348 default_r +load 349 inner_kind +call 350 ir_ownership_ir_rc_retain_reg void 2 348 349 +jmp L3214 +label L3216 +label L3214 +strref 351 m46s830 +load 352 tmp +concat 353 351 352 +call 354 pith_cstring_release void 1 351 +strref 355 m46s336 +concat 356 353 355 call 357 pith_cstring_release void 1 353 -call 358 pith_cstring_release void 1 354 -jmp L3164 -label L3166 -label L3164 -call 359 ir_builder_ir_reg int 0 -store out_r 359 -strref 360 m46s829 -load 361 out_r -call 362 int_to_string string 1 361 -concat 363 360 362 -call 364 pith_cstring_release void 1 360 -call 365 pith_cstring_release void 1 362 -strref 366 m46s336 -concat 367 363 366 -call 368 pith_cstring_release void 1 363 -call 369 pith_cstring_release void 1 366 -load 370 tmp -concat 371 367 370 -call 372 pith_cstring_release void 1 367 -call 373 ir_builder_ir_emit void 1 371 -call 374 pith_cstring_release void 1 371 -load 375 out_r -load 376 node -call 377 pith_struct_release void 1 376 -load 378 mname -call 379 pith_cstring_release void 1 378 -load 380 recv_info -call 381 pith_struct_release void 1 380 -load 382 inner_kind -call 383 pith_cstring_release void 1 382 -load 384 tmp -call 385 pith_cstring_release void 1 384 -load 386 some_l -call 387 pith_cstring_release void 1 386 -load 388 none_l -call 389 pith_cstring_release void 1 388 -load 390 end_l -call 391 pith_cstring_release void 1 390 -ret 375 -label L3156 -label L3154 -jmp L3118 -label L3120 -label L3118 -jmp L3115 -label L3117 -label L3115 -iconst 392 0 -store __and_392_3170 392 -iconst 393 0 -store __and_393_3170 393 -load 394 mname -strref 395 m46s6 -call 396 pith_cstring_eq bool 2 394 395 -call 397 pith_cstring_release void 1 395 -store __and_393_3170 396 -brif 396 L3170 L3171 +call 358 pith_cstring_release void 1 355 +load 359 default_r +call 360 int_to_string string 1 359 +concat 361 356 360 +call 362 pith_cstring_release void 1 356 +call 363 pith_cstring_release void 1 360 +call 364 ir_builder_ir_emit void 1 361 +call 365 pith_cstring_release void 1 361 +load 366 end_l +call 367 ir_call_emit_ir_emit_label void 1 366 +load 368 owns_subject +brif 368 L3222 L3223 +label L3222 +call 369 ir_builder_ir_reg int 0 +strref 370 m46s898 +strref 371 m46s828 +load 372 obj_r +call 373 ir_call_emit_ir_emit_call1 void 4 369 370 371 372 +call 374 pith_cstring_release void 1 370 +call 375 pith_cstring_release void 1 371 +jmp L3221 +label L3223 +label L3221 +call 376 ir_builder_ir_reg int 0 +store out_r 376 +strref 377 m46s829 +load 378 out_r +call 379 int_to_string string 1 378 +concat 380 377 379 +call 381 pith_cstring_release void 1 377 +call 382 pith_cstring_release void 1 379 +strref 383 m46s336 +concat 384 380 383 +call 385 pith_cstring_release void 1 380 +call 386 pith_cstring_release void 1 383 +load 387 tmp +concat 388 384 387 +call 389 pith_cstring_release void 1 384 +call 390 ir_builder_ir_emit void 1 388 +call 391 pith_cstring_release void 1 388 +load 392 out_r +load 393 node +call 394 pith_struct_release void 1 393 +load 395 mname +call 396 pith_cstring_release void 1 395 +load 397 recv_info +call 398 pith_struct_release void 1 397 +load 399 inner_kind +call 400 pith_cstring_release void 1 399 +load 401 tmp +call 402 pith_cstring_release void 1 401 +load 403 some_l +call 404 pith_cstring_release void 1 403 +load 405 none_l +call 406 pith_cstring_release void 1 405 +load 407 end_l +call 408 pith_cstring_release void 1 407 +ret 392 +label L3206 +label L3204 +jmp L3168 label L3170 -load 398 ir_emitter_core_ir_current_impl_subst_params -call 399 pith_list_len int 1 398 -iconst 400 0 -gt 401 399 400 -store __and_393_3170 401 -label L3171 -load 402 __and_393_3170 -store __and_392_3170 402 -brif 402 L3172 L3173 -label L3172 -load 403 node -field 404 403 16 list children -call 405 pith_list_len int 1 404 -iconst 406 1 -eq 407 405 406 -store __and_392_3170 407 -label L3173 -load 408 __and_392_3170 -brif 408 L3168 L3169 label L3168 -load 409 node -field 410 409 16 list children -iconst 411 0 -call 412 pith_list_get_value_strict int 2 410 411 -call 413 ir_emitter_core_ir_expr int 1 412 -store obj_r 413 -call 414 ir_builder_ir_reg int 0 -store r 414 -strref 415 m46s837 -load 416 r -call 417 int_to_string string 1 416 -concat 418 415 417 -call 419 pith_cstring_release void 1 415 -call 420 pith_cstring_release void 1 417 -strref 421 m46s336 -concat 422 418 421 -call 423 pith_cstring_release void 1 418 -call 424 pith_cstring_release void 1 421 -load 425 obj_r -call 426 int_to_string string 1 425 -concat 427 422 426 -call 428 pith_cstring_release void 1 422 -call 429 pith_cstring_release void 1 426 -strref 430 m46s1170 -concat 431 427 430 -call 432 pith_cstring_release void 1 427 -call 433 pith_cstring_release void 1 430 -call 434 ir_builder_ir_emit void 1 431 -call 435 pith_cstring_release void 1 431 -load 436 r -load 437 node -call 438 pith_struct_release void 1 437 -load 439 mname -call 440 pith_cstring_release void 1 439 -load 441 recv_info -call 442 pith_struct_release void 1 441 -load 443 inner_kind -call 444 pith_cstring_release void 1 443 -load 445 tmp -call 446 pith_cstring_release void 1 445 -load 447 some_l -call 448 pith_cstring_release void 1 447 -load 449 none_l -call 450 pith_cstring_release void 1 449 -load 451 end_l -call 452 pith_cstring_release void 1 451 -ret 436 -label L3169 +jmp L3165 label L3167 -iconst 453 0 -iconst 454 1 -sub 455 453 454 -load 456 node -call 457 pith_struct_release void 1 456 -load 458 mname -call 459 pith_cstring_release void 1 458 -load 460 recv_info -call 461 pith_struct_release void 1 460 -load 462 inner_kind +label L3165 +iconst 409 0 +store __and_409_3227 409 +iconst 410 0 +store __and_410_3227 410 +load 411 mname +strref 412 m46s6 +call 413 pith_cstring_eq bool 2 411 412 +call 414 pith_cstring_release void 1 412 +store __and_410_3227 413 +brif 413 L3227 L3228 +label L3227 +load 415 ir_emitter_core_ir_current_impl_subst_params +call 416 pith_list_len int 1 415 +iconst 417 0 +gt 418 416 417 +store __and_410_3227 418 +label L3228 +load 419 __and_410_3227 +store __and_409_3227 419 +brif 419 L3229 L3230 +label L3229 +load 420 node +field 421 420 16 list children +call 422 pith_list_len int 1 421 +iconst 423 1 +eq 424 422 423 +store __and_409_3227 424 +label L3230 +load 425 __and_409_3227 +brif 425 L3225 L3226 +label L3225 +load 426 node +field 427 426 16 list children +iconst 428 0 +call 429 pith_list_get_value_strict int 2 427 428 +call 430 ir_emitter_core_ir_expr int 1 429 +store obj_r 430 +call 431 ir_builder_ir_reg int 0 +store r 431 +strref 432 m46s837 +load 433 r +call 434 int_to_string string 1 433 +concat 435 432 434 +call 436 pith_cstring_release void 1 432 +call 437 pith_cstring_release void 1 434 +strref 438 m46s336 +concat 439 435 438 +call 440 pith_cstring_release void 1 435 +call 441 pith_cstring_release void 1 438 +load 442 obj_r +call 443 int_to_string string 1 442 +concat 444 439 443 +call 445 pith_cstring_release void 1 439 +call 446 pith_cstring_release void 1 443 +strref 447 m46s1170 +concat 448 444 447 +call 449 pith_cstring_release void 1 444 +call 450 pith_cstring_release void 1 447 +call 451 ir_builder_ir_emit void 1 448 +call 452 pith_cstring_release void 1 448 +load 453 r +load 454 node +call 455 pith_struct_release void 1 454 +load 456 mname +call 457 pith_cstring_release void 1 456 +load 458 recv_info +call 459 pith_struct_release void 1 458 +load 460 inner_kind +call 461 pith_cstring_release void 1 460 +load 462 tmp call 463 pith_cstring_release void 1 462 -load 464 tmp +load 464 some_l call 465 pith_cstring_release void 1 464 -load 466 some_l +load 466 none_l call 467 pith_cstring_release void 1 466 -load 468 none_l +load 468 end_l call 469 pith_cstring_release void 1 468 -load 470 end_l -call 471 pith_cstring_release void 1 470 -ret 455 -load 472 node -call 473 pith_struct_release void 1 472 -load 474 mname -call 475 pith_cstring_release void 1 474 -load 476 recv_info -call 477 pith_struct_release void 1 476 -load 478 inner_kind -call 479 pith_cstring_release void 1 478 -load 480 tmp -call 481 pith_cstring_release void 1 480 -load 482 some_l -call 483 pith_cstring_release void 1 482 -load 484 none_l -call 485 pith_cstring_release void 1 484 -load 486 end_l -call 487 pith_cstring_release void 1 486 -iconst 488 0 -ret 488 +ret 453 +label L3226 +label L3224 +iconst 470 0 +iconst 471 1 +sub 472 470 471 +load 473 node +call 474 pith_struct_release void 1 473 +load 475 mname +call 476 pith_cstring_release void 1 475 +load 477 recv_info +call 478 pith_struct_release void 1 477 +load 479 inner_kind +call 480 pith_cstring_release void 1 479 +load 481 tmp +call 482 pith_cstring_release void 1 481 +load 483 some_l +call 484 pith_cstring_release void 1 483 +load 485 none_l +call 486 pith_cstring_release void 1 485 +load 487 end_l +call 488 pith_cstring_release void 1 487 +ret 472 +load 489 node +call 490 pith_struct_release void 1 489 +load 491 mname +call 492 pith_cstring_release void 1 491 +load 493 recv_info +call 494 pith_struct_release void 1 493 +load 495 inner_kind +call 496 pith_cstring_release void 1 495 +load 497 tmp +call 498 pith_cstring_release void 1 497 +load 499 some_l +call 500 pith_cstring_release void 1 499 +load 501 none_l +call 502 pith_cstring_release void 1 501 +load 503 end_l +call 504 pith_cstring_release void 1 503 +iconst 505 0 +ret 505 endfunc func ir_emitter_core_ir_emit_module_alias_method 1 int param idx @@ -151798,8 +152161,8 @@ load 18 alias_fname call 19 string_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L3175 L3176 -label L3175 +brif 21 L3232 L3233 +label L3232 load 22 call_name load 23 alias_fname call 24 pith_cstring_retain void 1 23 @@ -151811,32 +152174,32 @@ store alias_expr_tid 27 load 28 alias_expr_tid iconst 29 0 gte 30 28 29 -brif 30 L3178 L3179 -label L3178 +brif 30 L3235 L3236 +label L3235 load 31 alias_expr_info load 32 alias_expr_tid call 33 types_get_type_info struct:TypeInfo 1 32 call 34 pith_struct_release void 1 31 store alias_expr_info 33 iconst 35 0 -store __and_35_3183 35 +store __and_35_3240 35 load 36 alias_expr_info field 37 36 0 string kind strref 38 m46s15 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __and_35_3183 39 -brif 39 L3183 L3184 -label L3183 +store __and_35_3240 39 +brif 39 L3240 L3241 +label L3240 load 41 alias_expr_info field 42 41 8 string name load 43 call_name call 44 pith_cstring_eq bool 2 42 43 -store __and_35_3183 44 -label L3184 -load 45 __and_35_3183 -brif 45 L3181 L3182 -label L3181 +store __and_35_3240 44 +label L3241 +load 45 __and_35_3240 +brif 45 L3238 L3239 +label L3238 load 46 ctor_args call 47 pith_list_new_default list 0 call 48 pith_list_release_handle void 1 46 @@ -151848,12 +152211,12 @@ iconst 52 0 store __for_idx_346 52 store __for_len_346 51 store __for_iter_346 50 -label L3185 +label L3242 load 53 __for_idx_346 load 54 __for_len_346 lt 55 53 54 -brif 55 L3186 L3188 -label L3186 +brif 55 L3243 L3245 +label L3243 load 56 __for_iter_346 load 57 __for_idx_346 call 58 pith_list_get_value unknown 2 56 57 @@ -151863,21 +152226,21 @@ store __loopvar_346_ci 59 load 60 __loopvar_346_ci iconst 61 0 eq 62 60 61 -brif 62 L3190 L3191 -label L3190 -jmp L3187 -label L3191 -label L3189 +brif 62 L3247 L3248 +label L3247 +jmp L3244 +label L3248 +label L3246 load 63 ctor_args load 64 __loopvar_346_child call 65 pith_list_push_value void 2 63 64 -label L3187 +label L3244 load 66 __for_idx_346 iconst 67 1 add 68 66 67 store __for_idx_346 68 -jmp L3185 -label L3188 +jmp L3242 +label L3245 load 69 call_name load 70 ctor_args load 71 alias_expr_tid @@ -151901,15 +152264,15 @@ call 88 pith_list_release_handle void 1 87 load 89 ret_type call 90 pith_cstring_release void 1 89 ret 72 -label L3182 -label L3180 -jmp L3177 -label L3179 -label L3177 +label L3239 +label L3237 +jmp L3234 +label L3236 +label L3234 load 91 call_name call 92 ir_generics_ir_is_generic_function_name bool 1 91 -brif 92 L3193 L3194 -label L3193 +brif 92 L3250 L3251 +label L3250 load 93 generic_ret_type load 94 idx call 95 ir_type_helpers_ir_checked_type string 1 94 @@ -151919,16 +152282,16 @@ load 97 generic_ret_type call 98 string_len int 1 97 iconst 99 0 eq 100 98 99 -brif 100 L3196 L3197 -label L3196 +brif 100 L3253 L3254 +label L3253 load 101 generic_ret_type load 102 idx call 103 ir_emitter_core_ir_infer_type string 1 102 call 104 pith_cstring_release void 1 101 store generic_ret_type 103 -jmp L3195 -label L3197 -label L3195 +jmp L3252 +label L3254 +label L3252 load 105 mct load 106 call_name load 107 node @@ -151947,9 +152310,9 @@ load 118 generic_ret_type call 119 ir_generics_ir_queue_generic_specialization string 3 116 117 118 call 120 pith_cstring_release void 1 115 store call_name 119 -jmp L3192 -label L3194 -label L3192 +jmp L3249 +label L3251 +label L3249 load 121 arg_regs load 122 node iconst 123 1 @@ -151992,36 +152355,36 @@ iconst 153 1 load 154 arg_regs call 155 ir_emitter_core_ir_release_owned_string_args void 3 152 153 154 iconst 156 0 -store __and_156_3201 156 +store __and_156_3258 156 iconst 157 0 -store __and_157_3201 157 +store __and_157_3258 157 load 158 uses_result_abi -store __and_157_3201 158 -brif 158 L3201 L3202 -label L3201 +store __and_157_3258 158 +brif 158 L3258 L3259 +label L3258 load 159 ret_type strref 160 m46s23 call 162 pith_cstring_eq bool 2 159 160 iconst 163 1 sub 161 163 162 call 164 pith_cstring_release void 1 160 -store __and_157_3201 161 -label L3202 -load 165 __and_157_3201 -store __and_156_3201 165 -brif 165 L3203 L3204 -label L3203 +store __and_157_3258 161 +label L3259 +load 165 __and_157_3258 +store __and_156_3258 165 +brif 165 L3260 L3261 +label L3260 load 166 idx call 167 ir_type_helpers_ir_checked_result_kind string 1 166 strref 168 m46s23 call 169 pith_cstring_eq bool 2 167 168 call 170 pith_cstring_release void 1 167 call 171 pith_cstring_release void 1 168 -store __and_156_3201 169 -label L3204 -load 172 __and_156_3201 -brif 172 L3199 L3200 -label L3199 +store __and_156_3258 169 +label L3261 +load 172 __and_156_3258 +brif 172 L3256 L3257 +label L3256 load 173 r load 174 ret_type load 175 call_name @@ -152045,8 +152408,8 @@ call 192 pith_list_release_handle void 1 191 load 193 ret_type call 194 pith_cstring_release void 1 193 ret 176 -label L3200 -label L3198 +label L3257 +label L3255 load 195 r load 196 node call 197 pith_struct_release void 1 196 @@ -152067,8 +152430,8 @@ call 211 pith_list_release_handle void 1 210 load 212 ret_type call 213 pith_cstring_release void 1 212 ret 195 -label L3176 -label L3174 +label L3233 +label L3231 iconst 214 0 iconst 215 1 sub 216 214 215 @@ -152174,8 +152537,8 @@ store self_hosted_list_r 36 load 37 self_hosted_list_r iconst 38 0 gte 39 37 38 -brif 39 L3206 L3207 -label L3206 +brif 39 L3263 L3264 +label L3263 load 40 self_hosted_list_r load 41 node call 42 pith_struct_release void 1 41 @@ -152212,8 +152575,8 @@ call 72 pith_list_release_handle void 1 71 load 73 recv_kind call 74 pith_cstring_release void 1 73 ret 40 -label L3207 -label L3205 +label L3264 +label L3262 load 75 cf_struct load 76 obj_type call 77 ir_method_tables_ir_strip_type_args string 1 76 @@ -152223,8 +152586,8 @@ load 79 cf_struct call 80 string_len int 1 79 iconst 81 0 gt 82 80 81 -brif 82 L3209 L3210 -label L3209 +brif 82 L3266 L3267 +label L3266 load 83 field_key load 84 cf_struct strref 85 m46s26 @@ -152242,22 +152605,22 @@ call 95 ir_emitter_core_ir_lookup_impl_method_name string 2 93 94 call 96 pith_cstring_release void 1 92 store existing_method 95 iconst 97 0 -store __and_97_3214 97 +store __and_97_3271 97 load 98 ir_struct_registry_ir_struct_field_index_lookup load 99 field_key call 100 contains_key bool 2 98 99 -store __and_97_3214 100 -brif 100 L3214 L3215 -label L3214 +store __and_97_3271 100 +brif 100 L3271 L3272 +label L3271 load 101 existing_method call 102 string_len int 1 101 iconst 103 0 eq 104 102 103 -store __and_97_3214 104 -label L3215 -load 105 __and_97_3214 -brif 105 L3212 L3213 -label L3212 +store __and_97_3271 104 +label L3272 +load 105 __and_97_3271 +brif 105 L3269 L3270 +label L3269 load 106 node field 107 106 16 list children iconst 108 0 @@ -152333,7 +152696,7 @@ call 173 pith_list_release_handle void 1 171 store arg_regs 172 iconst 174 0 store ai 174 -label L3216 +label L3273 load 175 ai load 176 node field 177 176 16 list children @@ -152341,8 +152704,8 @@ call 178 pith_list_len int 1 177 iconst 179 1 sub 180 178 179 lt 181 175 180 -brif 181 L3217 L3218 -label L3217 +brif 181 L3274 L3275 +label L3274 load 182 node load 183 ai call 184 ir_emitter_core_ir_method_call_arg_expr int 2 182 183 @@ -152355,8 +152718,8 @@ load 189 ai iconst 190 1 add 191 189 190 store ai 191 -jmp L3216 -label L3218 +jmp L3273 +label L3275 call 192 ir_builder_ir_reg int 0 store r 192 strref 193 m46s1033 @@ -152425,11 +152788,11 @@ call 255 pith_list_release_handle void 1 254 load 256 recv_kind call 257 pith_cstring_release void 1 256 ret 223 -label L3213 -label L3211 -jmp L3208 -label L3210 -label L3208 +label L3270 +label L3268 +jmp L3265 +label L3267 +label L3265 load 258 emit_name load 259 mname load 260 obj_type @@ -152437,14 +152800,14 @@ call 261 ir_metadata_ir_method_emit_name string 2 259 260 call 262 pith_cstring_release void 1 258 store emit_name 261 iconst 263 0 -store __and_263_3222 263 +store __and_263_3279 263 load 264 emit_name strref 265 m46s707 call 266 pith_cstring_eq bool 2 264 265 call 267 pith_cstring_release void 1 265 -store __and_263_3222 266 -brif 266 L3222 L3223 -label L3222 +store __and_263_3279 266 +brif 266 L3279 L3280 +label L3279 load 268 node field 269 268 16 list children iconst 270 0 @@ -152454,30 +152817,30 @@ strref 273 m46s671 call 274 pith_cstring_eq bool 2 272 273 call 275 pith_cstring_release void 1 272 call 276 pith_cstring_release void 1 273 -store __and_263_3222 274 -label L3223 -load 277 __and_263_3222 -brif 277 L3220 L3221 -label L3220 +store __and_263_3279 274 +label L3280 +load 277 __and_263_3279 +brif 277 L3277 L3278 +label L3277 load 278 emit_name strref 279 m46s1214 call 280 pith_cstring_release void 1 278 store emit_name 279 -jmp L3219 -label L3221 -label L3219 +jmp L3276 +label L3278 +label L3276 load 281 emit_name call 282 ir_metadata_ir_is_bool_returning_method bool 1 281 -brif 282 L3225 L3226 -label L3225 +brif 282 L3282 L3283 +label L3282 load 283 ir_builder_ir_var_types strref 284 m46s1213 strref 285 m46s673 call 286 pith_map_insert_cstr_owned void 3 283 284 285 call 287 pith_cstring_release void 1 284 -jmp L3224 -label L3226 -label L3224 +jmp L3281 +label L3283 +label L3281 load 288 impl_name load 289 obj_type load 290 mname @@ -152488,33 +152851,33 @@ load 293 impl_name call 294 string_len int 1 293 iconst 295 0 eq 296 294 295 -brif 296 L3228 L3229 -label L3228 +brif 296 L3285 L3286 +label L3285 load 297 impl_name load 298 obj_type load 299 mname call 300 ir_emitter_core_ir_lookup_impl_method_name string 2 298 299 call 301 pith_cstring_release void 1 297 store impl_name 300 -jmp L3227 -label L3229 -label L3227 +jmp L3284 +label L3286 +label L3284 load 302 impl_name call 303 string_len int 1 302 iconst 304 0 gt 305 303 304 store impl_dispatch 305 load 306 impl_dispatch -brif 306 L3231 L3232 -label L3231 +brif 306 L3288 L3289 +label L3288 load 307 emit_name load 308 impl_name call 309 pith_cstring_retain void 1 308 call 310 pith_cstring_release void 1 307 store emit_name 308 -jmp L3230 -label L3232 -label L3230 +jmp L3287 +label L3289 +label L3287 load 311 call_regs load 312 node call 313 ir_emitter_core_ir_collect_method_call_regs list 1 312 @@ -152530,15 +152893,15 @@ call 320 pith_list_release_handle void 1 318 store arg_regs 319 iconst 321 0 store ci 321 -label L3233 +label L3290 load 322 ci iconst 323 1 add 324 322 323 load 325 call_regs call 326 pith_list_len int 1 325 lt 327 324 326 -brif 327 L3234 L3235 -label L3234 +brif 327 L3291 L3292 +label L3291 load 328 arg_regs load 329 call_regs load 330 ci @@ -152550,8 +152913,8 @@ load 335 ci iconst 336 1 add 337 335 336 store ci 337 -jmp L3233 -label L3235 +jmp L3290 +label L3292 call 338 ir_builder_ir_reg int 0 store r 338 load 339 emit_name @@ -152576,122 +152939,122 @@ call 354 pith_cstring_release void 1 349 store ret_type 353 load 355 emit_name call 356 ir_metadata_ir_is_void_method bool 1 355 -brif 356 L3237 L3238 -label L3237 +brif 356 L3294 L3295 +label L3294 load 357 ret_type strref 358 m46s828 call 359 pith_cstring_release void 1 357 store ret_type 358 -jmp L3236 -label L3238 -label L3236 +jmp L3293 +label L3295 +label L3293 iconst 360 0 iconst 361 1 sub 362 360 361 store store_value_pos 362 iconst 363 0 -store __or_363_3242 363 +store __or_363_3299 363 iconst 364 0 -store __or_364_3242 364 +store __or_364_3299 364 iconst 365 0 -store __or_365_3242 365 +store __or_365_3299 365 load 366 emit_name call 367 ir_emitter_core_ir_is_channel_send_name bool 1 366 -store __or_365_3242 367 -brif 367 L3243 L3242 -label L3242 +store __or_365_3299 367 +brif 367 L3300 L3299 +label L3299 load 368 emit_name strref 369 m46s268 call 370 pith_cstring_eq bool 2 368 369 call 371 pith_cstring_release void 1 369 -store __or_365_3242 370 -label L3243 -load 372 __or_365_3242 -store __or_364_3242 372 -brif 372 L3245 L3244 -label L3244 +store __or_365_3299 370 +label L3300 +load 372 __or_365_3299 +store __or_364_3299 372 +brif 372 L3302 L3301 +label L3301 load 373 emit_name strref 374 m46s749 call 375 pith_cstring_eq bool 2 373 374 call 376 pith_cstring_release void 1 374 -store __or_364_3242 375 -label L3245 -load 377 __or_364_3242 -store __or_363_3242 377 -brif 377 L3247 L3246 -label L3246 +store __or_364_3299 375 +label L3302 +load 377 __or_364_3299 +store __or_363_3299 377 +brif 377 L3304 L3303 +label L3303 load 378 emit_name strref 379 m46s750 call 380 pith_cstring_eq bool 2 378 379 call 381 pith_cstring_release void 1 379 -store __or_363_3242 380 -label L3247 -load 382 __or_363_3242 -brif 382 L3240 L3241 -label L3240 +store __or_363_3299 380 +label L3304 +load 382 __or_363_3299 +brif 382 L3297 L3298 +label L3297 iconst 383 0 store store_value_pos 383 -jmp L3239 -label L3241 +jmp L3296 +label L3298 iconst 384 0 -store __or_384_3250 384 +store __or_384_3307 384 iconst 385 0 -store __or_385_3250 385 +store __or_385_3307 385 iconst 386 0 -store __or_386_3250 386 +store __or_386_3307 386 iconst 387 0 -store __or_387_3250 387 +store __or_387_3307 387 load 388 emit_name strref 389 m46s247 call 390 pith_cstring_eq bool 2 388 389 call 391 pith_cstring_release void 1 389 -store __or_387_3250 390 -brif 390 L3251 L3250 -label L3250 +store __or_387_3307 390 +brif 390 L3308 L3307 +label L3307 load 392 emit_name strref 393 m46s693 call 394 pith_cstring_eq bool 2 392 393 call 395 pith_cstring_release void 1 393 -store __or_387_3250 394 -label L3251 -load 396 __or_387_3250 -store __or_386_3250 396 -brif 396 L3253 L3252 -label L3252 +store __or_387_3307 394 +label L3308 +load 396 __or_387_3307 +store __or_386_3307 396 +brif 396 L3310 L3309 +label L3309 load 397 emit_name strref 398 m46s694 call 399 pith_cstring_eq bool 2 397 398 call 400 pith_cstring_release void 1 398 -store __or_386_3250 399 -label L3253 -load 401 __or_386_3250 -store __or_385_3250 401 -brif 401 L3255 L3254 -label L3254 +store __or_386_3307 399 +label L3310 +load 401 __or_386_3307 +store __or_385_3307 401 +brif 401 L3312 L3311 +label L3311 load 402 emit_name strref 403 m46s18 call 404 pith_cstring_eq bool 2 402 403 call 405 pith_cstring_release void 1 403 -store __or_385_3250 404 -label L3255 -load 406 __or_385_3250 -store __or_384_3250 406 -brif 406 L3257 L3256 -label L3256 +store __or_385_3307 404 +label L3312 +load 406 __or_385_3307 +store __or_384_3307 406 +brif 406 L3314 L3313 +label L3313 load 407 emit_name strref 408 m46s774 call 409 pith_cstring_eq bool 2 407 408 call 410 pith_cstring_release void 1 408 -store __or_384_3250 409 -label L3257 -load 411 __or_384_3250 -brif 411 L3248 L3249 -label L3248 +store __or_384_3307 409 +label L3314 +load 411 __or_384_3307 +brif 411 L3305 L3306 +label L3305 iconst 412 1 store store_value_pos 412 -jmp L3239 -label L3249 -label L3239 +jmp L3296 +label L3306 +label L3296 load 413 call_name load 414 emit_name call 415 pith_cstring_retain void 1 414 @@ -152700,25 +153063,25 @@ store call_name 414 load 417 impl_dispatch iconst 419 1 sub 418 419 417 -brif 418 L3259 L3260 -label L3259 +brif 418 L3316 L3317 +label L3316 iconst 420 0 -store __and_420_3264 420 +store __and_420_3321 420 load 421 store_value_pos iconst 422 0 gte 423 421 422 -store __and_420_3264 423 -brif 423 L3264 L3265 -label L3264 +store __and_420_3321 423 +brif 423 L3321 L3322 +label L3321 load 424 store_value_pos load 425 arg_regs call 426 pith_list_len int 1 425 lt 427 424 426 -store __and_420_3264 427 -label L3265 -load 428 __and_420_3264 -brif 428 L3262 L3263 -label L3262 +store __and_420_3321 427 +label L3322 +load 428 __and_420_3321 +brif 428 L3319 L3320 +label L3319 load 429 node load 430 store_value_pos call 431 ir_emitter_core_ir_method_call_arg_expr int 2 429 430 @@ -152726,8 +153089,8 @@ store value_expr 431 load 432 value_expr iconst 433 0 gte 434 432 433 -brif 434 L3267 L3268 -label L3267 +brif 434 L3324 L3325 +label L3324 load 435 store_kind load 436 value_expr call 437 ir_emitter_core_ir_infer_type string 1 436 @@ -152737,27 +153100,27 @@ call 440 pith_cstring_release void 1 435 store store_kind 438 load 441 value_expr call 442 ir_emitter_core_ir_string_expr_is_borrowed bool 1 441 -brif 442 L3270 L3271 -label L3270 +brif 442 L3327 L3328 +label L3327 load 443 emit_name load 444 store_kind call 445 ir_emitter_core_ir_container_store_needs_retain bool 2 443 444 -brif 445 L3273 L3274 -label L3273 +brif 445 L3330 L3331 +label L3330 load 446 arg_regs load 447 store_value_pos call 448 pith_list_get_value_strict int 2 446 447 load 449 store_kind call 450 ir_ownership_ir_rc_retain_reg void 2 448 449 -jmp L3272 -label L3274 -label L3272 -jmp L3269 -label L3271 +jmp L3329 +label L3331 +label L3329 +jmp L3326 +label L3328 load 451 store_kind call 452 ir_emitter_core_ir_container_store_takes_count bool 1 451 -brif 452 L3275 L3276 -label L3275 +brif 452 L3332 L3333 +label L3332 load 453 owned_store load 454 emit_name call 455 ir_emitter_core_ir_owned_container_store_name string 1 454 @@ -152767,28 +153130,28 @@ load 457 owned_store call 458 string_len int 1 457 iconst 459 0 gt 460 458 459 -brif 460 L3278 L3279 -label L3278 +brif 460 L3335 L3336 +label L3335 load 461 call_name load 462 owned_store call 463 pith_cstring_retain void 1 462 call 464 pith_cstring_release void 1 461 store call_name 462 -jmp L3277 -label L3279 -label L3277 -jmp L3269 -label L3276 -label L3269 -jmp L3266 -label L3268 -label L3266 -jmp L3261 -label L3263 -label L3261 -jmp L3258 -label L3260 -label L3258 +jmp L3334 +label L3336 +label L3334 +jmp L3326 +label L3333 +label L3326 +jmp L3323 +label L3325 +label L3323 +jmp L3318 +label L3320 +label L3318 +jmp L3315 +label L3317 +label L3315 load 465 call_args load 466 obj_r load 467 arg_regs @@ -152796,22 +153159,22 @@ call 468 ir_call_helpers_ir_method_call_arg_regs list 2 466 467 call 469 pith_list_release_handle void 1 465 store call_args 468 iconst 470 0 -store __and_470_3283 470 +store __and_470_3340 470 load 471 emit_name strref 472 m46s661 call 473 pith_cstring_eq bool 2 471 472 call 474 pith_cstring_release void 1 472 -store __and_470_3283 473 -brif 473 L3283 L3284 -label L3283 +store __and_470_3340 473 +brif 473 L3340 L3341 +label L3340 load 475 impl_dispatch iconst 477 1 sub 476 477 475 -store __and_470_3283 476 -label L3284 -load 478 __and_470_3283 -brif 478 L3281 L3282 -label L3281 +store __and_470_3340 476 +label L3341 +load 478 __and_470_3340 +brif 478 L3338 L3339 +label L3338 load 479 obj_r load 480 node call 481 pith_struct_release void 1 480 @@ -152848,8 +153211,8 @@ call 511 pith_list_release_handle void 1 510 load 512 recv_kind call 513 pith_cstring_release void 1 512 ret 479 -label L3282 -label L3280 +label L3339 +label L3337 load 514 r load 515 call_name load 516 ret_type @@ -152868,8 +153231,8 @@ field 528 527 16 list children call 529 pith_list_len int 1 528 iconst 530 0 gt 531 529 530 -brif 531 L3286 L3287 -label L3286 +brif 531 L3343 L3344 +label L3343 load 532 node field 533 532 16 list children iconst 534 0 @@ -152883,72 +153246,72 @@ call 540 pith_cstring_release void 1 538 call 541 pith_cstring_release void 1 536 store recv_kind 539 iconst 542 0 -store __and_542_3291 542 +store __and_542_3348 542 load 543 recv_kind call 544 string_len int 1 543 iconst 545 0 gt 546 544 545 -store __and_542_3291 546 -brif 546 L3291 L3292 -label L3291 +store __and_542_3348 546 +brif 546 L3348 L3349 +label L3348 load 547 recv_idx call 548 ir_emitter_core_ir_string_expr_is_borrowed bool 1 547 iconst 550 1 sub 549 550 548 -store __and_542_3291 549 -label L3292 -load 551 __and_542_3291 -brif 551 L3289 L3290 -label L3289 +store __and_542_3348 549 +label L3349 +load 551 __and_542_3348 +brif 551 L3346 L3347 +label L3346 load 552 emit_name call 553 ir_metadata_ir_is_void_method bool 1 552 iconst 555 1 sub 554 555 553 -brif 554 L3294 L3295 -label L3294 +brif 554 L3351 L3352 +label L3351 load 556 obj_r load 557 recv_kind call 558 ir_ownership_ir_rc_release_reg void 2 556 557 -jmp L3293 -label L3295 -label L3293 -jmp L3288 -label L3290 -label L3288 -jmp L3285 -label L3287 -label L3285 +jmp L3350 +label L3352 +label L3350 +jmp L3345 +label L3347 +label L3345 +jmp L3342 +label L3344 +label L3342 iconst 559 0 -store __and_559_3299 559 +store __and_559_3356 559 iconst 560 0 -store __and_560_3299 560 +store __and_560_3356 560 load 561 uses_result_abi -store __and_560_3299 561 -brif 561 L3299 L3300 -label L3299 +store __and_560_3356 561 +brif 561 L3356 L3357 +label L3356 load 562 ret_type strref 563 m46s23 call 565 pith_cstring_eq bool 2 562 563 iconst 566 1 sub 564 566 565 call 567 pith_cstring_release void 1 563 -store __and_560_3299 564 -label L3300 -load 568 __and_560_3299 -store __and_559_3299 568 -brif 568 L3301 L3302 -label L3301 +store __and_560_3356 564 +label L3357 +load 568 __and_560_3356 +store __and_559_3356 568 +brif 568 L3358 L3359 +label L3358 load 569 idx call 570 ir_type_helpers_ir_checked_result_kind string 1 569 strref 571 m46s23 call 572 pith_cstring_eq bool 2 570 571 call 573 pith_cstring_release void 1 570 call 574 pith_cstring_release void 1 571 -store __and_559_3299 572 -label L3302 -load 575 __and_559_3299 -brif 575 L3297 L3298 -label L3297 +store __and_559_3356 572 +label L3359 +load 575 __and_559_3356 +brif 575 L3354 L3355 +label L3354 load 576 r load 577 ret_type load 578 emit_name @@ -152988,12 +153351,12 @@ call 611 pith_list_release_handle void 1 610 load 612 recv_kind call 613 pith_cstring_release void 1 612 ret 579 -label L3298 -label L3296 +label L3355 +label L3353 load 614 emit_name call 615 ir_metadata_ir_is_void_method bool 1 614 -brif 615 L3304 L3305 -label L3304 +brif 615 L3361 L3362 +label L3361 load 616 obj_r load 617 node call 618 pith_struct_release void 1 617 @@ -153030,8 +153393,8 @@ call 648 pith_list_release_handle void 1 647 load 649 recv_kind call 650 pith_cstring_release void 1 649 ret 616 -label L3305 -label L3303 +label L3362 +label L3360 load 651 r load 652 node call 653 pith_struct_release void 1 652 @@ -153121,8 +153484,8 @@ field 8 7 0 string kind strref 9 m46s509 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L3307 L3308 -label L3307 +brif 10 L3364 L3365 +label L3364 load 12 si load 13 cn field 14 13 8 string value @@ -153152,15 +153515,15 @@ call 35 pith_struct_release void 1 34 load 36 si call 37 pith_cstring_release void 1 36 ret 33 -label L3308 -label L3306 +label L3365 +label L3363 load 38 cn field 39 38 0 string kind strref 40 m46s510 call 41 pith_cstring_eq bool 2 39 40 call 42 pith_cstring_release void 1 40 -brif 41 L3310 L3311 -label L3310 +brif 41 L3367 L3368 +label L3367 load 43 cn call 44 ir_emitter_core_ir_emit_interp_spec_part int 1 43 load 45 cn @@ -153168,8 +153531,8 @@ call 46 pith_struct_release void 1 45 load 47 si call 48 pith_cstring_release void 1 47 ret 44 -label L3311 -label L3309 +label L3368 +label L3366 load 49 child call 50 ir_emitter_core_ir_string_interp_expr_part int 1 49 load 51 cn @@ -153198,29 +153561,29 @@ field 7 6 0 string kind strref 8 m46s510 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 8 -brif 9 L3313 L3314 -label L3313 +brif 9 L3370 L3371 +label L3370 iconst 11 1 load 12 cn call 13 pith_struct_release void 1 12 ret 11 -label L3314 -label L3312 +label L3371 +label L3369 load 14 cn field 15 14 0 string kind strref 16 m46s509 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L3316 L3317 -label L3316 +brif 17 L3373 L3374 +label L3373 iconst 19 1 load 20 cn call 21 pith_struct_release void 1 20 ret 19 -label L3317 -label L3315 +label L3374 +label L3372 iconst 22 0 -store __or_22_3318 22 +store __or_22_3375 22 load 23 child call 24 ir_emitter_core_ir_infer_type string 1 23 strref 25 m46s675 @@ -153229,16 +153592,16 @@ iconst 28 1 sub 26 28 27 call 29 pith_cstring_release void 1 24 call 30 pith_cstring_release void 1 25 -store __or_22_3318 26 -brif 26 L3319 L3318 -label L3318 +store __or_22_3375 26 +brif 26 L3376 L3375 +label L3375 load 31 child call 32 ir_emitter_core_ir_string_expr_is_borrowed bool 1 31 iconst 34 1 sub 33 34 32 -store __or_22_3318 33 -label L3319 -load 35 __or_22_3318 +store __or_22_3375 33 +label L3376 +load 35 __or_22_3375 load 36 cn call 37 pith_struct_release void 1 36 ret 35 @@ -153272,13 +153635,13 @@ field 14 13 16 list children call 15 pith_list_retain_handle void 1 14 call 16 pith_list_release_handle void 1 12 store kids4_children 14 -label L3320 +label L3377 load 17 _fi4 load 18 kids4_children call 19 pith_list_len int 1 18 lt 20 17 19 -brif 20 L3321 L3322 -label L3321 +brif 20 L3378 L3379 +label L3378 load 21 kids4_children load 22 _fi4 call 23 pith_list_get_value_strict int 2 21 22 @@ -153292,14 +153655,14 @@ store part_owned 27 load 28 result_r iconst 29 0 lt 30 28 29 -brif 30 L3324 L3325 -label L3324 +brif 30 L3381 L3382 +label L3381 load 31 part_r store result_r 31 load 32 part_owned store result_owned 32 -jmp L3323 -label L3325 +jmp L3380 +label L3382 call 33 ir_builder_ir_reg int 0 store nr 33 strref 34 m46s1212 @@ -153329,37 +153692,37 @@ call 57 pith_cstring_release void 1 54 call 58 ir_builder_ir_emit void 1 55 call 59 pith_cstring_release void 1 55 load 60 result_owned -brif 60 L3327 L3328 -label L3327 +brif 60 L3384 L3385 +label L3384 load 61 result_r call 62 ir_ownership_ir_string_release_reg void 1 61 -jmp L3326 -label L3328 -label L3326 +jmp L3383 +label L3385 +label L3383 load 63 part_owned -brif 63 L3330 L3331 -label L3330 +brif 63 L3387 L3388 +label L3387 load 64 part_r call 65 ir_ownership_ir_string_release_reg void 1 64 -jmp L3329 -label L3331 -label L3329 +jmp L3386 +label L3388 +label L3386 load 66 nr store result_r 66 iconst 67 1 store result_owned 67 -label L3323 +label L3380 load 68 _fi4 iconst 69 1 add 70 68 69 store _fi4 70 -jmp L3320 -label L3322 +jmp L3377 +label L3379 load 71 result_r iconst 72 0 lt 73 71 72 -brif 73 L3333 L3334 -label L3333 +brif 73 L3390 L3391 +label L3390 call 74 ir_builder_ir_reg int 0 store result_r 74 strref 75 m46s888 @@ -153382,19 +153745,19 @@ call 91 ir_builder_ir_emit void 1 88 call 92 pith_cstring_release void 1 88 iconst 93 1 store result_owned 93 -jmp L3332 -label L3334 -label L3332 +jmp L3389 +label L3391 +label L3389 load 94 result_owned iconst 96 1 sub 95 96 94 -brif 95 L3336 L3337 -label L3336 +brif 95 L3393 L3394 +label L3393 load 97 result_r call 98 ir_ownership_ir_string_retain_reg void 1 97 -jmp L3335 -label L3337 -label L3335 +jmp L3392 +label L3394 +label L3392 load 99 result_r load 100 node call 101 pith_struct_release void 1 100 @@ -153426,13 +153789,13 @@ sub 9 7 8 store body_idx 9 iconst 10 0 store i 10 -label L3338 +label L3395 load 11 i load 12 idx call 13 ast_node_child_count int 1 12 lt 14 11 13 -brif 14 L3339 L3340 -label L3339 +brif 14 L3396 L3397 +label L3396 load 15 idx load 16 i call 17 ast_node_child int 2 15 16 @@ -153447,45 +153810,45 @@ field 23 22 0 string kind strref 24 m46s68 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L3342 L3343 -label L3342 +brif 25 L3399 L3400 +label L3399 load 27 params load 28 cn field 29 28 8 string value call 30 pith_list_push_value void 2 27 29 -jmp L3341 -label L3343 +jmp L3398 +label L3400 iconst 31 0 -store __or_31_3346 31 +store __or_31_3403 31 load 32 cn field 33 32 0 string kind strref 34 m46s65 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -store __or_31_3346 35 -brif 35 L3347 L3346 -label L3346 +store __or_31_3403 35 +brif 35 L3404 L3403 +label L3403 load 37 cn field 38 37 0 string kind strref 39 m46s64 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_31_3346 40 -label L3347 -load 42 __or_31_3346 -brif 42 L3344 L3345 -label L3344 +store __or_31_3403 40 +label L3404 +load 42 __or_31_3403 +brif 42 L3401 L3402 +label L3401 load 43 child store body_idx 43 -jmp L3341 -label L3345 -label L3341 +jmp L3398 +label L3402 +label L3398 load 44 i iconst 45 1 add 46 44 45 store i 46 -jmp L3338 -label L3340 +jmp L3395 +label L3397 load 47 captures call 48 pith_list_new_cstr list 0 call 49 pith_list_release_handle void 1 47 @@ -153493,17 +153856,17 @@ store captures 48 load 50 body_idx iconst 51 0 gte 52 50 51 -brif 52 L3349 L3350 -label L3349 +brif 52 L3406 L3407 +label L3406 load 53 captures load 54 body_idx load 55 params call 56 ir_emitter_core_ir_find_free_vars list_string 2 54 55 call 57 pith_list_release_handle void 1 53 store captures 56 -jmp L3348 -label L3350 -label L3348 +jmp L3405 +label L3407 +label L3405 load 58 params call 59 pith_list_retain_handle void 1 58 load 60 body_idx @@ -153553,12 +153916,12 @@ iconst 3 0 store __for_idx_347 3 store __for_len_347 2 store __for_iter_347 1 -label L3351 +label L3408 load 4 __for_idx_347 load 5 __for_len_347 lt 6 4 5 -brif 6 L3352 L3354 -label L3352 +brif 6 L3409 L3411 +label L3409 load 7 __for_iter_347 load 8 __for_idx_347 call 9 pith_list_get_value_unchecked string 2 7 8 @@ -153575,13 +153938,13 @@ concat 17 15 16 call 18 pith_cstring_release void 1 15 call 19 ir_builder_ir_emit void 1 17 call 20 pith_cstring_release void 1 17 -label L3353 +label L3410 load 21 __for_idx_347 iconst 22 1 add 23 21 22 store __for_idx_347 23 -jmp L3351 -label L3354 +jmp L3408 +label L3411 iconst 24 0 ret 24 endfunc @@ -153591,30 +153954,30 @@ load 1 expr_idx call 2 ir_emitter_core_ir_expr int 1 1 store br 2 iconst 3 0 -store __and_3_3358 3 +store __and_3_3415 3 load 4 expr_idx call 5 ir_emitter_core_ir_infer_type string 1 4 strref 6 m46s675 call 7 pith_cstring_eq bool 2 5 6 call 8 pith_cstring_release void 1 5 call 9 pith_cstring_release void 1 6 -store __and_3_3358 7 -brif 7 L3358 L3359 -label L3358 +store __and_3_3415 7 +brif 7 L3415 L3416 +label L3415 load 10 expr_idx call 11 ir_emitter_core_ir_string_expr_is_borrowed bool 1 10 -store __and_3_3358 11 -label L3359 -load 12 __and_3_3358 -brif 12 L3356 L3357 -label L3356 +store __and_3_3415 11 +label L3416 +load 12 __and_3_3415 +brif 12 L3413 L3414 +label L3413 load 13 br strref 14 m46s675 call 15 ir_ownership_ir_rc_retain_reg void 2 13 14 call 16 pith_cstring_release void 1 14 -jmp L3355 -label L3357 -label L3355 +jmp L3412 +label L3414 +label L3412 strref 17 m46s849 load 18 br call 19 int_to_string string 1 18 @@ -153631,54 +153994,54 @@ param body_idx load 1 body_idx iconst 2 0 lt 3 1 2 -brif 3 L3361 L3362 -label L3361 +brif 3 L3418 L3419 +label L3418 iconst 4 0 ret 4 -label L3362 -label L3360 +label L3419 +label L3417 iconst 5 0 -store __and_5_3366 5 +store __and_5_3423 5 load 6 body_idx call 7 ast_node_kind string 1 6 strref 8 m46s65 call 9 pith_cstring_eq bool 2 7 8 call 10 pith_cstring_release void 1 7 call 11 pith_cstring_release void 1 8 -store __and_5_3366 9 -brif 9 L3366 L3367 -label L3366 +store __and_5_3423 9 +brif 9 L3423 L3424 +label L3423 load 12 body_idx call 13 ast_node_child_count int 1 12 iconst 14 0 gt 15 13 14 -store __and_5_3366 15 -label L3367 -load 16 __and_5_3366 -brif 16 L3364 L3365 -label L3364 +store __and_5_3423 15 +label L3424 +load 16 __and_5_3423 +brif 16 L3421 L3422 +label L3421 load 17 body_idx iconst 18 0 call 19 ast_node_child int 2 17 18 call 20 ir_emitter_core_ir_emit_lambda_expr_return void 1 19 iconst 21 0 ret 21 -label L3365 -label L3363 +label L3422 +label L3420 load 22 body_idx call 23 ast_node_kind string 1 22 strref 24 m46s64 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 23 call 27 pith_cstring_release void 1 24 -brif 25 L3369 L3370 -label L3369 +brif 25 L3426 L3427 +label L3426 load 28 body_idx call 29 ir_emitter_core_ir_block int 1 28 iconst 30 0 ret 30 -label L3370 -label L3368 +label L3427 +label L3425 load 31 body_idx call 32 ir_emitter_core_ir_emit_lambda_expr_return void 1 31 iconst 33 0 @@ -154001,8 +154364,8 @@ field 29 28 16 list children call 30 pith_list_len int 1 29 iconst 31 0 gt 32 30 31 -brif 32 L3372 L3373 -label L3372 +brif 32 L3429 L3430 +label L3429 load 33 callee load 34 call_node field 35 34 16 list children @@ -154016,8 +154379,8 @@ field 41 40 0 string name call 42 string_len int 1 41 iconst 43 0 eq 44 42 43 -brif 44 L3375 L3376 -label L3375 +brif 44 L3432 L3433 +label L3432 load 45 captures load 46 call_node field 47 46 16 list children @@ -154027,19 +154390,19 @@ call 50 pith_list_new_default list 0 call 51 ir_emitter_core_ir_find_free_vars list_string 2 49 50 call 52 pith_list_release_handle void 1 45 store captures 51 -jmp L3374 -label L3376 -label L3374 +jmp L3431 +label L3433 +label L3431 iconst 53 1 store i 53 -label L3377 +label L3434 load 54 i load 55 call_node field 56 55 16 list children call 57 pith_list_len int 1 56 lt 58 54 57 -brif 58 L3378 L3379 -label L3378 +brif 58 L3435 L3436 +label L3435 load 59 free_in_arg load 60 call_node field 61 60 16 list children @@ -154051,13 +154414,13 @@ call 66 pith_list_release_handle void 1 59 store free_in_arg 65 iconst 67 0 store j 67 -label L3380 +label L3437 load 68 j load 69 free_in_arg call 70 pith_list_len int 1 69 lt 71 68 70 -brif 71 L3381 L3382 -label L3381 +brif 71 L3438 L3439 +label L3438 load 72 captures load 73 free_in_arg load 74 j @@ -154065,31 +154428,31 @@ call 75 pith_list_get_value_strict string 2 73 74 call 76 ir_ast_helpers_ir_list_contains bool 2 72 75 iconst 78 1 sub 77 78 76 -brif 77 L3384 L3385 -label L3384 +brif 77 L3441 L3442 +label L3441 load 79 captures load 80 free_in_arg load 81 j call 82 pith_list_get_value_strict string 2 80 81 call 83 pith_list_push_value void 2 79 82 -jmp L3383 -label L3385 -label L3383 +jmp L3440 +label L3442 +label L3440 load 84 j iconst 85 1 add 86 84 85 store j 86 -jmp L3380 -label L3382 +jmp L3437 +label L3439 load 87 i iconst 88 1 add 89 87 88 store i 89 -jmp L3377 -label L3379 -jmp L3371 -label L3373 -label L3371 +jmp L3434 +label L3436 +jmp L3428 +label L3430 +label L3428 load 90 saved_builder call 91 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 92 pith_struct_release void 1 90 @@ -154201,38 +154564,38 @@ param name load 1 ir_alias_registry_ir_import_renames load 2 name call 3 contains_key bool 2 1 2 -brif 3 L3387 L3388 -label L3387 +brif 3 L3444 L3445 +label L3444 load 4 ir_alias_registry_ir_import_renames load 5 name call 6 map_get_strict string 2 4 5 call 7 pith_cstring_retain void 1 6 ret 6 -label L3388 -label L3386 +label L3445 +label L3443 iconst 8 0 -store __and_8_3392 8 +store __and_8_3449 8 load 9 ir_alias_registry_ir_active_generic_module_path call 10 string_len int 1 9 iconst 11 0 gt 12 10 11 -store __and_8_3392 12 -brif 12 L3392 L3393 -label L3392 +store __and_8_3449 12 +brif 12 L3449 L3450 +label L3449 load 13 ir_alias_registry_ir_active_generic_module_path load 14 name call 15 ir_alias_registry_ir_import_declares_global bool 2 13 14 -store __and_8_3392 15 -label L3393 -load 16 __and_8_3392 -brif 16 L3390 L3391 -label L3390 +store __and_8_3449 15 +label L3450 +load 16 __and_8_3449 +brif 16 L3447 L3448 +label L3447 load 17 ir_alias_registry_ir_active_generic_module_path load 18 name call 19 ir_names_ir_import_target_name string 2 17 18 ret 19 -label L3391 -label L3389 +label L3448 +label L3446 load 20 name call 21 pith_cstring_retain void 1 20 ret 20 @@ -154245,27 +154608,27 @@ param name iconst 2 0 store callee 2 iconst 3 0 -store __or_3_3397 3 +store __or_3_3454 3 load 4 ir_builder_ir_var_regs load 5 name call 6 contains_key bool 2 4 5 -store __or_3_3397 6 -brif 6 L3398 L3397 -label L3397 +store __or_3_3454 6 +brif 6 L3455 L3454 +label L3454 load 7 ir_builder_ir_var_types load 8 name call 9 contains_key bool 2 7 8 -store __or_3_3397 9 -label L3398 -load 10 __or_3_3397 -brif 10 L3395 L3396 -label L3395 +store __or_3_3454 9 +label L3455 +load 10 __or_3_3454 +brif 10 L3452 L3453 +label L3452 iconst 11 0 load 12 callee call 13 pith_struct_release void 1 12 ret 11 -label L3396 -label L3394 +label L3453 +label L3451 load 14 callee load 15 name call 16 ir_emitter_core_ir_ident_callee struct:ResolvedCallee 1 15 @@ -154298,8 +154661,8 @@ field 8 7 0 string kind strref 9 m46s37 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L3400 L3401 -label L3400 +brif 10 L3457 L3458 +label L3457 load 12 idx load 13 node field 14 13 8 string value @@ -154309,28 +154672,28 @@ call 17 pith_struct_release void 1 16 load 18 recv_node call 19 pith_struct_release void 1 18 ret 15 -label L3401 -label L3399 +label L3458 +label L3456 iconst 20 0 -store __and_20_3405 20 +store __and_20_3462 20 load 21 node field 22 21 0 string kind strref 23 m46s36 call 24 pith_cstring_eq bool 2 22 23 call 25 pith_cstring_release void 1 23 -store __and_20_3405 24 -brif 24 L3405 L3406 -label L3405 +store __and_20_3462 24 +brif 24 L3462 L3463 +label L3462 load 26 node field 27 26 16 list children call 28 pith_list_len int 1 27 iconst 29 0 gt 30 28 29 -store __and_20_3405 30 -label L3406 -load 31 __and_20_3405 -brif 31 L3403 L3404 -label L3403 +store __and_20_3462 30 +label L3463 +load 31 __and_20_3462 +brif 31 L3460 L3461 +label L3460 load 32 recv_node load 33 node field 34 33 16 list children @@ -154340,45 +154703,45 @@ call 37 ast_get_node struct:Node 1 36 call 38 pith_struct_release void 1 32 store recv_node 37 iconst 39 0 -store __and_39_3410 39 +store __and_39_3467 39 load 40 recv_node field 41 40 0 string kind strref 42 m46s37 call 43 pith_cstring_eq bool 2 41 42 call 44 pith_cstring_release void 1 42 -store __and_39_3410 43 -brif 43 L3410 L3411 -label L3410 +store __and_39_3467 43 +brif 43 L3467 L3468 +label L3467 load 45 ir_alias_registry_ir_module_aliases load 46 recv_node field 47 46 8 string value call 48 contains_key bool 2 45 47 -store __and_39_3410 48 -label L3411 -load 49 __and_39_3410 +store __and_39_3467 48 +label L3468 +load 49 __and_39_3467 iconst 51 1 sub 50 51 49 -brif 50 L3408 L3409 -label L3408 +brif 50 L3465 L3466 +label L3465 iconst 52 0 load 53 node call 54 pith_struct_release void 1 53 load 55 recv_node call 56 pith_struct_release void 1 55 ret 52 -label L3409 -label L3407 +label L3466 +label L3464 load 57 idx call 58 checker_c_get_expr_type int 1 57 store expr_tid 58 iconst 59 0 -store __or_59_3415 59 +store __or_59_3472 59 load 60 expr_tid iconst 61 0 lt 62 60 61 -store __or_59_3415 62 -brif 62 L3416 L3415 -label L3415 +store __or_59_3472 62 +brif 62 L3473 L3472 +label L3472 load 63 expr_tid call 64 types_get_type_info struct:TypeInfo 1 63 field 65 64 0 string kind @@ -154387,19 +154750,19 @@ call 68 pith_cstring_eq bool 2 65 66 iconst 69 1 sub 67 69 68 call 70 pith_cstring_release void 1 66 -store __or_59_3415 67 -label L3416 -load 71 __or_59_3415 -brif 71 L3413 L3414 -label L3413 +store __or_59_3472 67 +label L3473 +load 71 __or_59_3472 +brif 71 L3470 L3471 +label L3470 iconst 72 0 load 73 node call 74 pith_struct_release void 1 73 load 75 recv_node call 76 pith_struct_release void 1 75 ret 72 -label L3414 -label L3412 +label L3471 +label L3469 load 77 idx call 78 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 77 field 79 78 0 string name @@ -154411,8 +154774,8 @@ call 84 pith_struct_release void 1 83 load 85 recv_node call 86 pith_struct_release void 1 85 ret 82 -label L3404 -label L3402 +label L3461 +label L3459 iconst 87 0 load 88 node call 89 pith_struct_release void 1 88 @@ -154452,8 +154815,8 @@ store arg_regs 11 load 12 ir_emitter_core_ir_named_fn_value_wrappers load 13 target_name call 14 contains_key bool 2 12 13 -brif 14 L3418 L3419 -label L3418 +brif 14 L3475 L3476 +label L3475 load 15 ir_emitter_core_ir_named_fn_value_wrappers load 16 target_name call 17 map_get_strict string 2 15 16 @@ -154479,8 +154842,8 @@ call 36 pith_cstring_release void 1 35 load 37 arg_regs call 38 pith_list_release_handle void 1 37 ret 17 -label L3419 -label L3417 +label L3476 +label L3474 load 39 wrapper_name strref 40 m46s1209 load 41 ir_emitter_core_ir_lambda_count @@ -154511,15 +154874,15 @@ load 60 ret_type call 61 string_len int 1 60 iconst 62 0 eq 63 61 62 -brif 63 L3421 L3422 -label L3421 +brif 63 L3478 L3479 +label L3478 load 64 ret_type strref 65 m46s822 call 66 pith_cstring_release void 1 64 store ret_type 65 -jmp L3420 -label L3422 -label L3420 +jmp L3477 +label L3479 +label L3477 load 67 saved_builder call 68 ir_builder_ir_builder_snapshot struct:IrBuilderSnapshot 0 call 69 pith_struct_release void 1 67 @@ -154547,17 +154910,17 @@ field 85 84 0 string kind strref 86 m46s24 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L3424 L3425 -label L3424 +brif 87 L3481 L3482 +label L3481 load 89 info field 90 89 48 list param_types call 91 pith_list_len int 1 90 iconst 92 1 add 93 91 92 store param_count 93 -jmp L3423 -label L3425 -label L3423 +jmp L3480 +label L3482 +label L3480 load 94 wrapper_name load 95 param_count load 96 ret_type @@ -154572,18 +154935,18 @@ field 103 102 0 string kind strref 104 m46s24 call 105 pith_cstring_eq bool 2 103 104 call 106 pith_cstring_release void 1 104 -brif 105 L3427 L3428 -label L3427 +brif 105 L3484 L3485 +label L3484 iconst 107 0 store i 107 -label L3429 +label L3486 load 108 i load 109 info field 110 109 48 list param_types call 111 pith_list_len int 1 110 lt 112 108 111 -brif 112 L3430 L3431 -label L3430 +brif 112 L3487 L3488 +label L3487 load 113 arg_name strref 114 m46s1208 load 115 i @@ -154604,11 +154967,11 @@ load 128 i iconst 129 1 add 130 128 129 store i 130 -jmp L3429 -label L3431 -jmp L3426 -label L3428 -label L3426 +jmp L3486 +label L3488 +jmp L3483 +label L3485 +label L3483 load 131 arg_regs call 132 pith_list_new_default list 0 call 133 pith_list_release_handle void 1 131 @@ -154619,12 +154982,12 @@ iconst 136 0 store __for_idx_348 136 store __for_len_348 135 store __for_iter_348 134 -label L3432 +label L3489 load 137 __for_idx_348 load 138 __for_len_348 lt 139 137 138 -brif 139 L3433 L3435 -label L3433 +brif 139 L3490 L3492 +label L3490 load 140 __for_iter_348 load 141 __for_idx_348 call 142 pith_list_get_value_unchecked string 2 140 141 @@ -154649,19 +155012,19 @@ call 158 pith_cstring_release void 1 155 load 159 arg_regs load 160 arg_r call 161 pith_list_push_value void 2 159 160 -label L3434 +label L3491 load 162 __for_idx_348 iconst 163 1 add 164 162 163 store __for_idx_348 164 -jmp L3432 -label L3435 +jmp L3489 +label L3492 load 165 ret_type strref 166 m46s828 call 167 pith_cstring_eq bool 2 165 166 call 168 pith_cstring_release void 1 166 -brif 167 L3437 L3438 -label L3437 +brif 167 L3494 L3495 +label L3494 call 169 ir_builder_ir_reg int 0 store call_r 169 load 170 call_r @@ -154696,8 +155059,8 @@ call 197 pith_cstring_release void 1 193 call 198 pith_cstring_release void 1 195 call 199 ir_builder_ir_emit void 1 196 call 200 pith_cstring_release void 1 196 -jmp L3436 -label L3438 +jmp L3493 +label L3495 call 201 ir_builder_ir_reg int 0 store call_r 201 load 202 call_r @@ -154717,7 +155080,7 @@ call 215 pith_cstring_release void 1 211 call 216 pith_cstring_release void 1 213 call 217 ir_builder_ir_emit void 1 214 call 218 pith_cstring_release void 1 214 -label L3436 +label L3493 call 219 ir_emitter_core_ir_emit_lambda_default_return void 0 load 220 saved_builder load 221 saved_vars @@ -154785,8 +155148,8 @@ store r 4 load 5 idx load 6 name call 7 ir_emitter_core_ir_ident_is_function_value bool 2 5 6 -brif 7 L3440 L3441 -label L3440 +brif 7 L3497 L3498 +label L3497 load 8 callee load 9 name call 10 ir_emitter_core_ir_ident_callee struct:ResolvedCallee 1 9 @@ -154820,8 +155183,8 @@ call 35 pith_struct_release void 1 34 load 36 wrapper_name call 37 pith_cstring_release void 1 36 ret 33 -label L3441 -label L3439 +label L3498 +label L3496 load 38 r load 39 name call 40 ir_emitter_core_ir_emit_name_load void 2 38 39 @@ -154848,12 +155211,12 @@ iconst 4 0 store __for_idx_349 4 store __for_len_349 3 store __for_iter_349 2 -label L3442 +label L3499 load 5 __for_idx_349 load 6 __for_len_349 lt 7 5 6 -brif 7 L3443 L3445 -label L3443 +brif 7 L3500 L3502 +label L3500 load 8 __for_iter_349 load 9 __for_idx_349 call 10 pith_list_get_value unknown 2 8 9 @@ -154864,38 +155227,38 @@ call 13 ast_get_node struct:Node 1 12 call 14 pith_struct_release void 1 11 store an 13 iconst 15 0 -store __and_15_3449 15 +store __and_15_3506 15 load 16 an field 17 16 0 string kind strref 18 m46s42 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -store __and_15_3449 19 -brif 19 L3449 L3450 -label L3449 +store __and_15_3506 19 +brif 19 L3506 L3507 +label L3506 load 21 an field 22 21 8 string value call 23 string_len int 1 22 iconst 24 0 gt 25 23 24 -store __and_15_3449 25 -label L3450 -load 26 __and_15_3449 -brif 26 L3447 L3448 -label L3447 +store __and_15_3506 25 +label L3507 +load 26 __and_15_3506 +brif 26 L3504 L3505 +label L3504 iconst 27 1 load 28 an call 29 pith_struct_release void 1 28 ret 27 -label L3448 -label L3446 -label L3444 +label L3505 +label L3503 +label L3501 load 30 __for_idx_349 iconst 31 1 add 32 30 31 store __for_idx_349 32 -jmp L3442 -label L3445 +jmp L3499 +label L3502 iconst 33 0 load 34 an call 35 pith_struct_release void 1 34 @@ -154913,8 +155276,8 @@ store info 2 load 3 tid iconst 4 0 gte 5 3 4 -brif 5 L3452 L3453 -label L3452 +brif 5 L3509 L3510 +label L3509 load 6 info load 7 tid call 8 types_get_type_info struct:TypeInfo 1 7 @@ -154925,19 +155288,19 @@ field 11 10 0 string kind strref 12 m46s15 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3455 L3456 -label L3455 +brif 13 L3512 L3513 +label L3512 load 15 info field 16 15 16 list_string fields call 17 pith_list_len int 1 16 load 18 info call 19 pith_struct_release void 1 18 ret 17 -label L3456 -label L3454 -jmp L3451 -label L3453 -label L3451 +label L3513 +label L3511 +jmp L3508 +label L3510 +label L3508 load 20 sname call 21 ir_struct_registry_ir_struct_field_count int 1 20 load 22 info @@ -154957,44 +155320,44 @@ store info 3 load 4 tid iconst 5 0 gte 6 4 5 -brif 6 L3458 L3459 -label L3458 +brif 6 L3515 L3516 +label L3515 load 7 info load 8 tid call 9 types_get_type_info struct:TypeInfo 1 8 call 10 pith_struct_release void 1 7 store info 9 iconst 11 0 -store __and_11_3463 11 +store __and_11_3520 11 iconst 12 0 -store __and_12_3463 12 +store __and_12_3520 12 load 13 info field 14 13 0 string kind strref 15 m46s15 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __and_12_3463 16 -brif 16 L3463 L3464 -label L3463 +store __and_12_3520 16 +brif 16 L3520 L3521 +label L3520 load 18 field_index iconst 19 0 gte 20 18 19 -store __and_12_3463 20 -label L3464 -load 21 __and_12_3463 -store __and_11_3463 21 -brif 21 L3465 L3466 -label L3465 +store __and_12_3520 20 +label L3521 +load 21 __and_12_3520 +store __and_11_3520 21 +brif 21 L3522 L3523 +label L3522 load 22 field_index load 23 info field 24 23 16 list_string fields call 25 pith_list_len int 1 24 lt 26 22 25 -store __and_11_3463 26 -label L3466 -load 27 __and_11_3463 -brif 27 L3461 L3462 -label L3461 +store __and_11_3520 26 +label L3523 +load 27 __and_11_3520 +brif 27 L3518 L3519 +label L3518 load 28 info field 29 28 16 list_string fields load 30 field_index @@ -155003,11 +155366,11 @@ call 32 pith_cstring_retain void 1 31 load 33 info call 34 pith_struct_release void 1 33 ret 31 -label L3462 -label L3460 -jmp L3457 -label L3459 -label L3457 +label L3519 +label L3517 +jmp L3514 +label L3516 +label L3514 load 35 sname load 36 field_index call 37 ir_struct_registry_ir_struct_field_name_at string 2 35 36 @@ -155028,8 +155391,8 @@ store info 3 load 4 tid iconst 5 0 gte 6 4 5 -brif 6 L3468 L3469 -label L3468 +brif 6 L3525 L3526 +label L3525 load 7 info load 8 tid call 9 types_get_type_info struct:TypeInfo 1 8 @@ -155040,8 +155403,8 @@ field 12 11 0 string kind strref 13 m46s15 call 14 pith_cstring_eq bool 2 12 13 call 15 pith_cstring_release void 1 13 -brif 14 L3471 L3472 -label L3471 +brif 14 L3528 L3529 +label L3528 load 16 info field 17 16 16 list_string fields call 18 pith_auto_len int 1 17 @@ -155049,12 +155412,12 @@ iconst 19 0 store __for_idx_350 19 store __for_len_350 18 store __for_iter_350 17 -label L3473 +label L3530 load 20 __for_idx_350 load 21 __for_len_350 lt 22 20 21 -brif 22 L3474 L3476 -label L3474 +brif 22 L3531 L3533 +label L3531 load 23 __for_iter_350 load 24 __for_idx_350 call 25 pith_list_get_value_unchecked string 2 23 24 @@ -155062,23 +155425,23 @@ store __loopvar_350_name 25 load 26 __for_idx_350 store __loopvar_350_i 26 iconst 27 0 -store __and_27_3480 27 +store __and_27_3537 27 load 28 __loopvar_350_name load 29 field_name call 30 pith_cstring_eq bool 2 28 29 -store __and_27_3480 30 -brif 30 L3480 L3481 -label L3480 +store __and_27_3537 30 +brif 30 L3537 L3538 +label L3537 load 31 __loopvar_350_i load 32 info field 33 32 24 list field_types call 34 pith_list_len int 1 33 lt 35 31 34 -store __and_27_3480 35 -label L3481 -load 36 __and_27_3480 -brif 36 L3478 L3479 -label L3478 +store __and_27_3537 35 +label L3538 +load 36 __and_27_3537 +brif 36 L3535 L3536 +label L3535 load 37 info field 38 37 24 list field_types load 39 __loopvar_350_i @@ -155087,21 +155450,21 @@ call 41 ir_type_helpers_ir_type_from_tid string 1 40 load 42 info call 43 pith_struct_release void 1 42 ret 41 -label L3479 -label L3477 -label L3475 +label L3536 +label L3534 +label L3532 load 44 __for_idx_350 iconst 45 1 add 46 44 45 store __for_idx_350 46 -jmp L3473 -label L3476 -jmp L3470 -label L3472 -label L3470 -jmp L3467 -label L3469 -label L3467 +jmp L3530 +label L3533 +jmp L3527 +label L3529 +label L3527 +jmp L3524 +label L3526 +label L3524 load 47 sname load 48 field_name call 49 ir_struct_registry_ir_struct_field_type_name string 2 47 48 @@ -155137,12 +155500,12 @@ call 13 pith_list_release_handle void 1 11 store field_regs 12 iconst 14 0 store field_idx 14 -label L3482 +label L3539 load 15 field_idx load 16 total_fields lt 17 15 16 -brif 17 L3483 L3484 -label L3483 +brif 17 L3540 L3541 +label L3540 load 18 field_name load 19 sname load 20 tid @@ -155167,12 +155530,12 @@ iconst 35 0 store __for_idx_351 35 store __for_len_351 34 store __for_iter_351 33 -label L3485 +label L3542 load 36 __for_idx_351 load 37 __for_len_351 lt 38 36 37 -brif 38 L3486 L3488 -label L3486 +brif 38 L3543 L3545 +label L3543 load 39 __for_iter_351 load 40 __for_idx_351 call 41 pith_list_get_value unknown 2 39 40 @@ -155183,93 +155546,93 @@ call 44 ast_get_node struct:Node 1 43 call 45 pith_struct_release void 1 42 store an 44 iconst 46 0 -store __and_46_3492 46 +store __and_46_3549 46 iconst 47 0 -store __and_47_3492 47 +store __and_47_3549 47 load 48 an field 49 48 0 string kind strref 50 m46s42 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __and_47_3492 51 -brif 51 L3492 L3493 -label L3492 +store __and_47_3549 51 +brif 51 L3549 L3550 +label L3549 load 53 an field 54 53 8 string value load 55 field_name call 56 pith_cstring_eq bool 2 54 55 -store __and_47_3492 56 -label L3493 -load 57 __and_47_3492 -store __and_46_3492 57 -brif 57 L3494 L3495 -label L3494 +store __and_47_3549 56 +label L3550 +load 57 __and_47_3549 +store __and_46_3549 57 +brif 57 L3551 L3552 +label L3551 load 58 an field 59 58 16 list children call 60 pith_list_len int 1 59 iconst 61 0 gt 62 60 61 -store __and_46_3492 62 -label L3495 -load 63 __and_46_3492 -brif 63 L3490 L3491 -label L3490 +store __and_46_3549 62 +label L3552 +load 63 __and_46_3549 +brif 63 L3547 L3548 +label L3547 load 64 an field 65 64 16 list children iconst 66 0 call 67 pith_list_get_value_strict int 2 65 66 store value_node 67 -jmp L3489 -label L3491 -label L3489 -label L3487 +jmp L3546 +label L3548 +label L3546 +label L3544 load 68 __for_idx_351 iconst 69 1 add 70 68 69 store __for_idx_351 70 -jmp L3485 -label L3488 +jmp L3542 +label L3545 load 71 sname load 72 field_name call 73 ir_emitter_core_ir_struct_field_is_weak bool 2 71 72 -brif 73 L3497 L3498 -label L3497 +brif 73 L3554 L3555 +label L3554 load 74 value_node store init_node 74 load 75 init_node iconst 76 0 lt 77 75 76 -brif 77 L3500 L3501 -label L3500 +brif 77 L3557 L3558 +label L3557 load 78 sname load 79 field_name call 80 ir_struct_registry_ir_struct_field_default_node int 2 78 79 store init_node 80 -jmp L3499 -label L3501 -label L3499 +jmp L3556 +label L3558 +label L3556 load 81 init_node iconst 82 0 gte 83 81 82 -brif 83 L3503 L3504 -label L3503 +brif 83 L3560 L3561 +label L3560 load 84 field_regs load 85 init_node call 86 ir_emitter_core_ir_emit_weak_payload int 1 85 call 87 pith_list_push_value void 2 84 86 -jmp L3502 -label L3504 +jmp L3559 +label L3561 load 88 field_regs call 89 ir_result_abi_ir_zero_reg int 0 call 90 pith_list_push_value void 2 88 89 -label L3502 -jmp L3496 -label L3498 +label L3559 +jmp L3553 +label L3555 load 91 value_node iconst 92 0 gte 93 91 92 -brif 93 L3505 L3506 -label L3505 +brif 93 L3562 L3563 +label L3562 load 94 value_node load 95 field_type call 96 ir_emitter_core_ir_emit_value_for_target int 2 94 95 @@ -155280,46 +155643,46 @@ call 99 ir_struct_registry_ir_rc_kind string 1 98 call 100 pith_cstring_release void 1 97 store named_field_kind 99 iconst 101 0 -store __and_101_3510 101 +store __and_101_3567 101 iconst 102 0 -store __and_102_3510 102 +store __and_102_3567 102 load 103 named_field_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -store __and_102_3510 106 -brif 106 L3510 L3511 -label L3510 +store __and_102_3567 106 +brif 106 L3567 L3568 +label L3567 load 107 named_field_kind strref 108 m46s23 call 110 pith_cstring_eq bool 2 107 108 iconst 111 1 sub 109 111 110 call 112 pith_cstring_release void 1 108 -store __and_102_3510 109 -label L3511 -load 113 __and_102_3510 -store __and_101_3510 113 -brif 113 L3512 L3513 -label L3512 +store __and_102_3567 109 +label L3568 +load 113 __and_102_3567 +store __and_101_3567 113 +brif 113 L3569 L3570 +label L3569 load 114 value_node call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_101_3510 115 -label L3513 -load 116 __and_101_3510 -brif 116 L3508 L3509 -label L3508 +store __and_101_3567 115 +label L3570 +load 116 __and_101_3567 +brif 116 L3565 L3566 +label L3565 load 117 fr load 118 named_field_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L3507 -label L3509 -label L3507 +jmp L3564 +label L3566 +label L3564 load 120 field_regs load 121 fr call 122 pith_list_push_value void 2 120 121 -jmp L3496 -label L3506 +jmp L3553 +label L3563 load 123 sname load 124 field_name call 125 ir_struct_registry_ir_struct_field_default_node int 2 123 124 @@ -155327,26 +155690,26 @@ store default_idx 125 load 126 default_idx iconst 127 0 gte 128 126 127 -brif 128 L3515 L3516 -label L3515 +brif 128 L3572 L3573 +label L3572 load 129 field_regs load 130 default_idx load 131 field_type call 132 ir_emitter_core_ir_emit_value_for_target int 2 130 131 call 133 pith_list_push_value void 2 129 132 -jmp L3514 -label L3516 +jmp L3571 +label L3573 load 134 field_regs call 135 ir_result_abi_ir_zero_reg int 0 call 136 pith_list_push_value void 2 134 135 -label L3514 -label L3496 +label L3571 +label L3553 load 137 field_idx iconst 138 1 add 139 137 138 store field_idx 139 -jmp L3482 -label L3484 +jmp L3539 +label L3541 call 140 ir_builder_ir_reg int 0 store r 140 call 141 ir_builder_ir_reg int 0 @@ -155384,12 +155747,12 @@ iconst 171 0 store __for_idx_352 171 store __for_len_352 170 store __for_iter_352 169 -label L3517 +label L3574 load 172 __for_idx_352 load 173 __for_len_352 lt 174 172 173 -brif 174 L3518 L3520 -label L3518 +brif 174 L3575 L3577 +label L3575 load 175 __for_iter_352 load 176 __for_idx_352 call 177 pith_list_get_value unknown 2 175 176 @@ -155422,13 +155785,13 @@ call 201 pith_cstring_release void 1 195 call 202 pith_cstring_release void 1 199 call 203 ir_builder_ir_emit void 1 200 call 204 pith_cstring_release void 1 200 -label L3519 +label L3576 load 205 __for_idx_352 iconst 206 1 add 207 205 206 store __for_idx_352 207 -jmp L3517 -label L3520 +jmp L3574 +label L3577 load 208 r load 209 sname call 210 ir_emitter_core_ir_emit_attach_dtor void 2 208 209 @@ -155473,8 +155836,8 @@ iconst 7 0 store pos_field_kind 7 load 8 arg_nodes call 9 ir_emitter_core_ir_struct_args_have_names bool 1 8 -brif 9 L3522 L3523 -label L3522 +brif 9 L3579 L3580 +label L3579 load 10 sname load 11 arg_nodes load 12 tid @@ -155490,21 +155853,21 @@ call 21 pith_cstring_release void 1 20 load 22 pos_field_kind call 23 pith_cstring_release void 1 22 ret 13 -label L3523 -label L3521 +label L3580 +label L3578 load 24 field_regs call 25 pith_list_new_default list 0 call 26 pith_list_release_handle void 1 24 store field_regs 25 iconst 27 0 store field_idx 27 -label L3524 +label L3581 load 28 field_idx load 29 arg_nodes call 30 pith_list_len int 1 29 lt 31 28 30 -brif 31 L3525 L3526 -label L3525 +brif 31 L3582 L3583 +label L3582 load 32 arg_nodes load 33 field_idx call 34 pith_list_get_value_strict int 2 32 33 @@ -155531,65 +155894,65 @@ store ftype 49 load 51 child store value_idx 51 iconst 52 0 -store __and_52_3530 52 +store __and_52_3587 52 load 53 cn field 54 53 0 string kind strref 55 m46s1207 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __and_52_3530 56 -brif 56 L3530 L3531 -label L3530 +store __and_52_3587 56 +brif 56 L3587 L3588 +label L3587 load 58 cn field 59 58 16 list children call 60 pith_list_len int 1 59 iconst 61 0 gt 62 60 61 -store __and_52_3530 62 -label L3531 -load 63 __and_52_3530 -brif 63 L3528 L3529 -label L3528 +store __and_52_3587 62 +label L3588 +load 63 __and_52_3587 +brif 63 L3585 L3586 +label L3585 load 64 cn field 65 64 16 list children iconst 66 0 call 67 pith_list_get_value_strict int 2 65 66 store value_idx 67 -jmp L3527 -label L3529 +jmp L3584 +label L3586 iconst 68 0 -store __and_68_3534 68 +store __and_68_3591 68 load 69 cn field 70 69 0 string kind strref 71 m46s42 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __and_68_3534 72 -brif 72 L3534 L3535 -label L3534 +store __and_68_3591 72 +brif 72 L3591 L3592 +label L3591 load 74 cn field 75 74 16 list children call 76 pith_list_len int 1 75 iconst 77 0 gt 78 76 77 -store __and_68_3534 78 -label L3535 -load 79 __and_68_3534 -brif 79 L3532 L3533 -label L3532 +store __and_68_3591 78 +label L3592 +load 79 __and_68_3591 +brif 79 L3589 L3590 +label L3589 load 80 cn field 81 80 16 list children iconst 82 0 call 83 pith_list_get_value_strict int 2 81 82 store value_idx 83 -jmp L3527 -label L3533 -label L3527 +jmp L3584 +label L3590 +label L3584 load 84 sname load 85 field_name call 86 ir_emitter_core_ir_struct_field_is_weak bool 2 84 85 -brif 86 L3537 L3538 -label L3537 +brif 86 L3594 L3595 +label L3594 load 87 field_regs load 88 value_idx call 89 ir_emitter_core_ir_emit_weak_payload int 1 88 @@ -155598,9 +155961,9 @@ load 91 field_idx iconst 92 1 add 93 91 92 store field_idx 93 -jmp L3524 -label L3538 -label L3536 +jmp L3581 +label L3595 +label L3593 load 94 value_idx load 95 ftype call 96 ir_emitter_core_ir_emit_value_for_target int 2 94 95 @@ -155611,41 +155974,41 @@ call 99 ir_struct_registry_ir_rc_kind string 1 98 call 100 pith_cstring_release void 1 97 store pos_field_kind 99 iconst 101 0 -store __and_101_3542 101 +store __and_101_3599 101 iconst 102 0 -store __and_102_3542 102 +store __and_102_3599 102 load 103 pos_field_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -store __and_102_3542 106 -brif 106 L3542 L3543 -label L3542 +store __and_102_3599 106 +brif 106 L3599 L3600 +label L3599 load 107 pos_field_kind strref 108 m46s23 call 110 pith_cstring_eq bool 2 107 108 iconst 111 1 sub 109 111 110 call 112 pith_cstring_release void 1 108 -store __and_102_3542 109 -label L3543 -load 113 __and_102_3542 -store __and_101_3542 113 -brif 113 L3544 L3545 -label L3544 +store __and_102_3599 109 +label L3600 +load 113 __and_102_3599 +store __and_101_3599 113 +brif 113 L3601 L3602 +label L3601 load 114 value_idx call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_101_3542 115 -label L3545 -load 116 __and_101_3542 -brif 116 L3540 L3541 -label L3540 +store __and_101_3599 115 +label L3602 +load 116 __and_101_3599 +brif 116 L3597 L3598 +label L3597 load 117 fr load 118 pos_field_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L3539 -label L3541 -label L3539 +jmp L3596 +label L3598 +label L3596 load 120 field_regs load 121 fr call 122 pith_list_push_value void 2 120 121 @@ -155653,18 +156016,18 @@ load 123 field_idx iconst 124 1 add 125 123 124 store field_idx 125 -jmp L3524 -label L3526 +jmp L3581 +label L3583 load 126 sname load 127 tid call 128 ir_emitter_core_ir_ctor_field_count int 2 126 127 store total_fields 128 -label L3546 +label L3603 load 129 field_idx load 130 total_fields lt 131 129 130 -brif 131 L3547 L3548 -label L3547 +brif 131 L3604 L3605 +label L3604 load 132 field_name load 133 sname load 134 tid @@ -155679,8 +156042,8 @@ store default_idx 140 load 141 default_idx iconst 142 0 gte 143 141 142 -brif 143 L3550 L3551 -label L3550 +brif 143 L3607 L3608 +label L3607 load 144 field_regs load 145 default_idx load 146 sname @@ -155690,18 +156053,18 @@ call 149 ir_emitter_core_ir_ctor_field_type_name string 3 146 147 148 call 150 ir_emitter_core_ir_emit_value_for_target int 2 145 149 call 151 pith_cstring_release void 1 149 call 152 pith_list_push_value void 2 144 150 -jmp L3549 -label L3551 +jmp L3606 +label L3608 load 153 field_regs call 154 ir_result_abi_ir_zero_reg int 0 call 155 pith_list_push_value void 2 153 154 -label L3549 +label L3606 load 156 field_idx iconst 157 1 add 158 156 157 store field_idx 158 -jmp L3546 -label L3548 +jmp L3603 +label L3605 call 159 ir_builder_ir_reg int 0 store r 159 call 160 ir_builder_ir_reg int 0 @@ -155739,12 +156102,12 @@ iconst 190 0 store __for_idx_353 190 store __for_len_353 189 store __for_iter_353 188 -label L3552 +label L3609 load 191 __for_idx_353 load 192 __for_len_353 lt 193 191 192 -brif 193 L3553 L3555 -label L3553 +brif 193 L3610 L3612 +label L3610 load 194 __for_iter_353 load 195 __for_idx_353 call 196 pith_list_get_value unknown 2 194 195 @@ -155777,13 +156140,13 @@ call 220 pith_cstring_release void 1 214 call 221 pith_cstring_release void 1 218 call 222 ir_builder_ir_emit void 1 219 call 223 pith_cstring_release void 1 219 -label L3554 +label L3611 load 224 __for_idx_353 iconst 225 1 add 226 224 225 store __for_idx_353 226 -jmp L3552 -label L3555 +jmp L3609 +label L3612 load 227 r load 228 sname call 229 ir_emitter_core_ir_emit_attach_dtor void 2 227 228 @@ -155835,8 +156198,8 @@ field 3 2 16 list children call 4 pith_list_len int 1 3 iconst 5 0 gt 6 4 5 -brif 6 L3557 L3558 -label L3557 +brif 6 L3614 L3615 +label L3614 load 7 inner load 8 node field 9 8 16 list children @@ -155850,8 +156213,8 @@ field 15 14 0 string kind strref 16 m46s44 call 17 pith_cstring_eq bool 2 15 16 call 18 pith_cstring_release void 1 16 -brif 17 L3560 L3561 -label L3560 +brif 17 L3617 L3618 +label L3617 load 19 node field 20 19 16 list children iconst 21 0 @@ -155871,11 +156234,11 @@ load 32 r load 33 inner call 34 pith_struct_release void 1 33 ret 32 -label L3561 -label L3559 -jmp L3556 -label L3558 -label L3556 +label L3618 +label L3616 +jmp L3613 +label L3615 +label L3613 call 35 ir_builder_ir_reg int 0 store r 35 strref 36 m46s832 @@ -155918,8 +156281,8 @@ field 8 7 16 list children call 9 pith_list_len int 1 8 iconst 10 0 gt 11 9 10 -brif 11 L3563 L3564 -label L3563 +brif 11 L3620 L3621 +label L3620 load 12 result_kind load 13 node field 14 13 16 list children @@ -155938,8 +156301,8 @@ load 24 result_kind strref 25 m46s23 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L3566 L3567 -label L3566 +brif 26 L3623 L3624 +label L3623 load 28 operand_class load 29 node field 30 29 16 list children @@ -156008,8 +156371,8 @@ call 86 pith_cstring_eq bool 2 83 84 iconst 87 1 sub 85 87 86 call 88 pith_cstring_release void 1 84 -brif 85 L3569 L3570 -label L3569 +brif 85 L3626 L3627 +label L3626 call 89 ir_builder_ir_reg int 0 strref 90 m46s898 strref 91 m46s828 @@ -156017,9 +156380,9 @@ load 92 val_r call 93 ir_call_emit_ir_emit_call1 void 4 89 90 91 92 call 94 pith_cstring_release void 1 90 call 95 pith_cstring_release void 1 91 -jmp L3568 -label L3570 -label L3568 +jmp L3625 +label L3627 +label L3625 strref 96 m46s833 load 97 merge_l concat 98 96 97 @@ -156029,26 +156392,26 @@ call 101 pith_cstring_release void 1 98 load 102 err_l call 103 ir_call_emit_ir_emit_label void 1 102 iconst 104 0 -store __and_104_3574 104 +store __and_104_3631 104 load 105 ir_emitter_core_ir_emit_tests -store __and_104_3574 105 -brif 105 L3574 L3575 -label L3574 +store __and_104_3631 105 +brif 105 L3631 L3632 +label L3631 load 106 ir_emitter_core_ir_emitting_test_func -store __and_104_3574 106 -label L3575 -load 107 __and_104_3574 -brif 107 L3572 L3573 -label L3572 +store __and_104_3631 106 +label L3632 +load 107 __and_104_3631 +brif 107 L3629 L3630 +label L3629 call 108 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L3571 -label L3573 +jmp L3628 +label L3630 load 109 operand_class strref 110 m46s1202 call 111 pith_cstring_eq bool 2 109 110 call 112 pith_cstring_release void 1 110 -brif 111 L3576 L3577 -label L3576 +brif 111 L3633 L3634 +label L3633 load 113 err_kind load 114 operand_tid strref 115 m46s181 @@ -156068,14 +156431,14 @@ load 126 err_kind call 127 string_len int 1 126 iconst 128 0 gt 129 127 128 -brif 129 L3579 L3580 -label L3579 +brif 129 L3636 L3637 +label L3636 load 130 err_r load 131 err_kind call 132 ir_ownership_ir_rc_retain_reg void 2 130 131 -jmp L3578 -label L3580 -label L3578 +jmp L3635 +label L3637 +label L3635 load 133 err_r call 134 ir_emitter_core_ir_emit_err_result_tuple int 1 133 store fresh_err_r 134 @@ -156092,8 +156455,8 @@ call 144 pith_cstring_release void 1 140 call 145 pith_cstring_release void 1 142 call 146 ir_builder_ir_emit void 1 143 call 147 pith_cstring_release void 1 143 -jmp L3571 -label L3577 +jmp L3628 +label L3634 iconst 148 1 call 149 ir_emitter_core_ir_defer_emit_to_function_frame void 1 148 strref 150 m46s82 @@ -156107,7 +156470,7 @@ call 157 pith_cstring_release void 1 153 call 158 pith_cstring_release void 1 155 call 159 ir_builder_ir_emit void 1 156 call 160 pith_cstring_release void 1 156 -label L3571 +label L3628 load 161 merge_l call 162 ir_call_emit_ir_emit_label void 1 161 load 163 decoded_r @@ -156124,36 +156487,36 @@ call 173 pith_cstring_release void 1 172 load 174 err_kind call 175 pith_cstring_release void 1 174 ret 163 -label L3567 -label L3565 +label L3624 +label L3622 load 176 val_r store cond_r 176 load 177 val_r store decoded_r 177 load 178 result_kind call 179 ir_result_abi_ir_uses_result_abi bool 1 178 -brif 179 L3582 L3583 -label L3582 +brif 179 L3639 L3640 +label L3639 load 180 val_r load 181 result_kind call 182 ir_result_abi_ir_decode_result_value int 2 180 181 store decoded_r 182 -jmp L3581 -label L3583 +jmp L3638 +label L3640 load 183 result_kind call 184 string_len int 1 183 iconst 185 0 gt 186 184 185 -brif 186 L3584 L3585 -label L3584 +brif 186 L3641 L3642 +label L3641 call 187 ir_builder_ir_reg int 0 store zero_cmp 187 load 188 result_kind strref 189 m46s672 call 190 pith_cstring_eq bool 2 188 189 call 191 pith_cstring_release void 1 189 -brif 190 L3587 L3588 -label L3587 +brif 190 L3644 L3645 +label L3644 strref 192 m46s1044 load 193 zero_cmp call 194 int_to_string string 1 193 @@ -156166,8 +156529,8 @@ call 200 pith_cstring_release void 1 195 call 201 pith_cstring_release void 1 198 call 202 ir_builder_ir_emit void 1 199 call 203 pith_cstring_release void 1 199 -jmp L3586 -label L3588 +jmp L3643 +label L3645 strref 204 m46s832 load 205 zero_cmp call 206 int_to_string string 1 205 @@ -156180,7 +156543,7 @@ call 212 pith_cstring_release void 1 207 call 213 pith_cstring_release void 1 210 call 214 ir_builder_ir_emit void 1 211 call 215 pith_cstring_release void 1 211 -label L3586 +label L3643 call 216 ir_builder_ir_reg int 0 store cond_r 216 strref 217 m46s1035 @@ -156209,9 +156572,9 @@ call 239 pith_cstring_release void 1 233 call 240 pith_cstring_release void 1 237 call 241 ir_builder_ir_emit void 1 238 call 242 pith_cstring_release void 1 238 -jmp L3581 -label L3585 -label L3581 +jmp L3638 +label L3642 +label L3638 load 243 ok_l call 244 ir_builder_ir_label string 0 call 245 pith_cstring_release void 1 243 @@ -156257,20 +156620,20 @@ call 281 pith_cstring_release void 1 278 load 282 err_l call 283 ir_call_emit_ir_emit_label void 1 282 iconst 284 0 -store __and_284_3592 284 +store __and_284_3649 284 load 285 ir_emitter_core_ir_emit_tests -store __and_284_3592 285 -brif 285 L3592 L3593 -label L3592 +store __and_284_3649 285 +brif 285 L3649 L3650 +label L3649 load 286 ir_emitter_core_ir_emitting_test_func -store __and_284_3592 286 -label L3593 -load 287 __and_284_3592 -brif 287 L3590 L3591 -label L3590 +store __and_284_3649 286 +label L3650 +load 287 __and_284_3649 +brif 287 L3647 L3648 +label L3647 call 288 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L3589 -label L3591 +jmp L3646 +label L3648 iconst 289 1 call 290 ir_emitter_core_ir_defer_emit_to_function_frame void 1 289 strref 291 m46s82 @@ -156298,7 +156661,7 @@ call 311 pith_cstring_release void 1 307 call 312 pith_cstring_release void 1 309 call 313 ir_builder_ir_emit void 1 310 call 314 pith_cstring_release void 1 310 -label L3589 +label L3646 load 315 merge_l call 316 ir_call_emit_ir_emit_label void 1 315 load 317 decoded_r @@ -156315,8 +156678,8 @@ call 327 pith_cstring_release void 1 326 load 328 err_kind call 329 pith_cstring_release void 1 328 ret 317 -label L3564 -label L3562 +label L3621 +label L3619 call 330 ir_builder_ir_reg int 0 store r 330 strref 331 m46s832 @@ -156375,8 +156738,8 @@ field 6 5 16 list children call 7 pith_list_len int 1 6 iconst 8 0 gt 9 7 8 -brif 9 L3595 L3596 -label L3595 +brif 9 L3652 L3653 +label L3652 load 10 node field 11 10 16 list children iconst 12 0 @@ -156409,53 +156772,53 @@ load 34 err_kind call 35 string_len int 1 34 iconst 36 0 gt 37 35 36 -brif 37 L3598 L3599 -label L3598 +brif 37 L3655 L3656 +label L3655 iconst 38 0 -store __and_38_3603 38 +store __and_38_3660 38 load 39 expr_node field 40 39 0 string kind strref 41 m46s37 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __and_38_3603 42 -brif 42 L3603 L3604 -label L3603 +store __and_38_3660 42 +brif 42 L3660 L3661 +label L3660 load 44 expr_node field 45 44 8 string value call 46 ir_emitter_core_ir_rc_local_kind string 1 45 load 47 err_kind call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 46 -store __and_38_3603 48 -label L3604 -load 50 __and_38_3603 -brif 50 L3601 L3602 -label L3601 +store __and_38_3660 48 +label L3661 +load 50 __and_38_3660 +brif 50 L3658 L3659 +label L3658 load 51 exclude load 52 expr_node field 53 52 8 string value call 54 pith_cstring_retain void 1 53 call 55 pith_cstring_release void 1 51 store exclude 53 -jmp L3600 -label L3602 +jmp L3657 +label L3659 load 56 node field 57 56 16 list children iconst 58 0 call 59 pith_list_get_value_strict int 2 57 58 call 60 ir_emitter_core_ir_string_expr_is_borrowed bool 1 59 -brif 60 L3605 L3606 -label L3605 +brif 60 L3662 L3663 +label L3662 load 61 err_r load 62 err_kind call 63 ir_ownership_ir_rc_retain_reg void 2 61 62 -jmp L3600 -label L3606 -label L3600 -jmp L3597 -label L3599 -label L3597 +jmp L3657 +label L3663 +label L3657 +jmp L3654 +label L3656 +label L3654 load 64 err_r call 65 ir_emitter_core_ir_emit_err_result_tuple int 1 64 store tuple_r 65 @@ -156471,8 +156834,8 @@ call 74 pith_cstring_release void 1 70 call 75 pith_cstring_release void 1 72 call 76 ir_builder_ir_emit void 1 73 call 77 pith_cstring_release void 1 73 -jmp L3594 -label L3596 +jmp L3651 +label L3653 iconst 78 1 call 79 ir_emitter_core_ir_defer_emit_to_function_frame void 1 78 strref 80 m46s82 @@ -156487,7 +156850,7 @@ call 88 pith_cstring_release void 1 83 call 89 pith_cstring_release void 1 86 call 90 ir_builder_ir_emit void 1 87 call 91 pith_cstring_release void 1 87 -label L3594 +label L3651 load 92 ub call 93 ir_builder_ir_label string 0 call 94 pith_cstring_release void 1 92 @@ -156569,8 +156932,8 @@ load 27 obj_type call 28 string_len int 1 27 iconst 29 0 eq 30 28 29 -brif 30 L3608 L3609 -label L3608 +brif 30 L3665 L3666 +label L3665 load 31 obj_type load 32 node field 33 32 16 list children @@ -156579,15 +156942,15 @@ call 35 pith_list_get_value_strict int 2 33 34 call 36 ir_emitter_core_ir_infer_type string 1 35 call 37 pith_cstring_release void 1 31 store obj_type 36 -jmp L3607 -label L3609 -label L3607 +jmp L3664 +label L3666 +label L3664 load 38 value_type call 39 string_len int 1 38 iconst 40 0 eq 41 39 40 -brif 41 L3611 L3612 -label L3611 +brif 41 L3668 L3669 +label L3668 load 42 value_type load 43 node field 44 43 16 list children @@ -156596,36 +156959,36 @@ call 46 pith_list_get_value_strict int 2 44 45 call 47 ir_emitter_core_ir_lookup_map_value_type_for_expr string 1 46 call 48 pith_cstring_release void 1 42 store value_type 47 -jmp L3610 -label L3612 -label L3610 +jmp L3667 +label L3669 +label L3667 load 49 value_type call 50 string_len int 1 49 iconst 51 0 eq 52 50 51 -brif 52 L3614 L3615 -label L3614 +brif 52 L3671 L3672 +label L3671 load 53 value_type load 54 idx call 55 ir_emitter_core_ir_infer_type string 1 54 call 56 pith_cstring_release void 1 53 store value_type 55 -jmp L3613 -label L3615 -label L3613 +jmp L3670 +label L3672 +label L3670 iconst 57 0 -store __and_57_3619 57 +store __and_57_3676 57 load 58 ir_emitter_core_ir_current_func_returns_result -store __and_57_3619 58 -brif 58 L3619 L3620 -label L3619 +store __and_57_3676 58 +brif 58 L3676 L3677 +label L3676 load 59 obj_type call 60 ir_emitter_core_ir_index_supports_propagate bool 1 59 -store __and_57_3619 60 -label L3620 -load 61 __and_57_3619 -brif 61 L3617 L3618 -label L3617 +store __and_57_3676 60 +label L3677 +load 61 __and_57_3676 +brif 61 L3674 L3675 +label L3674 load 62 node field 63 62 16 list children iconst 64 1 @@ -156642,8 +157005,8 @@ call 74 pith_cstring_release void 1 73 load 75 call_name call 76 pith_cstring_release void 1 75 ret 70 -label L3618 -label L3616 +label L3675 +label L3673 load 77 call_name load 78 obj_type call 79 ir_collection_helpers_ir_index_get_call_name string 1 78 @@ -156653,8 +157016,8 @@ load 81 obj_type strref 82 m46s675 call 83 pith_cstring_eq bool 2 81 82 call 84 pith_cstring_release void 1 82 -brif 83 L3622 L3623 -label L3622 +brif 83 L3679 L3680 +label L3679 load 85 r load 86 call_name strref 87 m46s675 @@ -156662,14 +157025,14 @@ load 88 obj_r load 89 idx_r call 90 ir_call_emit_ir_emit_call2 void 5 85 86 87 88 89 call 91 pith_cstring_release void 1 87 -jmp L3621 -label L3623 +jmp L3678 +label L3680 load 92 obj_type strref 93 m46s674 call 94 pith_cstring_eq bool 2 92 93 call 95 pith_cstring_release void 1 93 -brif 94 L3624 L3625 -label L3624 +brif 94 L3681 L3682 +label L3681 load 96 r load 97 call_name strref 98 m46s671 @@ -156677,47 +157040,47 @@ load 99 obj_r load 100 idx_r call 101 ir_call_emit_ir_emit_call2 void 5 96 97 98 99 100 call 102 pith_cstring_release void 1 98 -jmp L3621 -label L3625 +jmp L3678 +label L3682 iconst 103 0 -store __or_103_3628 103 +store __or_103_3685 103 load 104 obj_type strref 105 m46s670 call 106 pith_cstring_eq bool 2 104 105 call 107 pith_cstring_release void 1 105 -store __or_103_3628 106 -brif 106 L3629 L3628 -label L3628 +store __or_103_3685 106 +brif 106 L3686 L3685 +label L3685 load 108 obj_type strref 109 m46s19 call 110 pith_cstring_eq bool 2 108 109 call 111 pith_cstring_release void 1 109 -store __or_103_3628 110 -label L3629 -load 112 __or_103_3628 -brif 112 L3626 L3627 -label L3626 +store __or_103_3685 110 +label L3686 +load 112 __or_103_3685 +brif 112 L3683 L3684 +label L3683 load 113 value_type call 114 string_len int 1 113 iconst 115 0 eq 116 114 115 -brif 116 L3631 L3632 -label L3631 +brif 116 L3688 L3689 +label L3688 load 117 value_type strref 118 m46s822 call 119 pith_cstring_release void 1 117 store value_type 118 -jmp L3630 -label L3632 -label L3630 +jmp L3687 +label L3689 +label L3687 load 120 r load 121 call_name load 122 value_type load 123 obj_r load 124 idx_r call 125 ir_call_emit_ir_emit_call2 void 5 120 121 122 123 124 -jmp L3621 -label L3627 +jmp L3678 +label L3684 load 126 r load 127 call_name load 128 idx @@ -156726,7 +157089,7 @@ load 130 obj_r load 131 idx_r call 132 ir_call_emit_ir_emit_call2 void 5 126 127 129 130 131 call 133 pith_cstring_release void 1 129 -label L3621 +label L3678 load 134 node field 135 134 16 list children iconst 136 1 @@ -156768,42 +157131,42 @@ load 1 obj_type strref 2 m46s19 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3634 L3635 -label L3634 +brif 3 L3691 L3692 +label L3691 iconst 5 1 ret 5 -label L3635 -label L3633 +label L3692 +label L3690 load 6 obj_type strref 7 m46s670 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3637 L3638 -label L3637 +brif 8 L3694 L3695 +label L3694 iconst 10 1 ret 10 -label L3638 -label L3636 +label L3695 +label L3693 load 11 obj_type strref 12 m46s20 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L3640 L3641 -label L3640 +brif 13 L3697 L3698 +label L3697 iconst 15 1 ret 15 -label L3641 -label L3639 +label L3698 +label L3696 load 16 obj_type strref 17 m46s668 call 18 pith_cstring_eq bool 2 16 17 call 19 pith_cstring_release void 1 17 -brif 18 L3643 L3644 -label L3643 +brif 18 L3700 L3701 +label L3700 iconst 20 1 ret 20 -label L3644 -label L3642 +label L3701 +label L3699 iconst 21 0 ret 21 iconst 22 0 @@ -156892,15 +157255,15 @@ load 65 val_kind call 66 string_len int 1 65 iconst 67 0 eq 68 66 67 -brif 68 L3646 L3647 -label L3646 +brif 68 L3703 L3704 +label L3703 load 69 val_kind strref 70 m46s822 call 71 pith_cstring_release void 1 69 store val_kind 70 -jmp L3645 -label L3647 -label L3645 +jmp L3702 +label L3704 +label L3702 call 72 ir_builder_ir_reg int 0 store unwrapped_r 72 strref 73 m46s837 @@ -156954,20 +157317,20 @@ call 120 ir_call_emit_ir_emit_call1 void 4 116 117 118 119 call 121 pith_cstring_release void 1 117 call 122 pith_cstring_release void 1 118 iconst 123 0 -store __and_123_3651 123 +store __and_123_3708 123 load 124 ir_emitter_core_ir_emit_tests -store __and_123_3651 124 -brif 124 L3651 L3652 -label L3651 +store __and_123_3708 124 +brif 124 L3708 L3709 +label L3708 load 125 ir_emitter_core_ir_emitting_test_func -store __and_123_3651 125 -label L3652 -load 126 __and_123_3651 -brif 126 L3649 L3650 -label L3649 +store __and_123_3708 125 +label L3709 +load 126 __and_123_3708 +brif 126 L3706 L3707 +label L3706 call 127 ir_emitter_core_ir_test_assert_fail_return void 0 -jmp L3648 -label L3650 +jmp L3705 +label L3707 iconst 128 1 call 129 ir_emitter_core_ir_defer_emit_to_function_frame void 1 128 strref 130 m46s82 @@ -157005,7 +157368,7 @@ call 159 pith_cstring_release void 1 154 call 160 pith_cstring_release void 1 157 call 161 ir_builder_ir_emit void 1 158 call 162 pith_cstring_release void 1 158 -label L3648 +label L3705 load 163 merge_l call 164 ir_call_emit_ir_emit_label void 1 163 load 165 unwrapped_r @@ -157043,22 +157406,22 @@ load 1 obj_type strref 2 m46s19 call 3 pith_cstring_eq bool 2 1 2 call 4 pith_cstring_release void 1 2 -brif 3 L3654 L3655 -label L3654 +brif 3 L3711 L3712 +label L3711 strref 5 m46s685 ret 5 -label L3655 -label L3653 +label L3712 +label L3710 load 6 obj_type strref 7 m46s670 call 8 pith_cstring_eq bool 2 6 7 call 9 pith_cstring_release void 1 7 -brif 8 L3657 L3658 -label L3657 +brif 8 L3714 L3715 +label L3714 strref 10 m46s686 ret 10 -label L3658 -label L3656 +label L3715 +label L3713 strref 11 m46s704 ret 11 iconst 12 0 @@ -157085,7 +157448,7 @@ call 10 ast_get_node struct:Node 1 9 call 11 pith_struct_release void 1 8 store target 10 iconst 12 0 -store __or_12_3662 12 +store __or_12_3719 12 load 13 target field 14 13 0 string kind strref 15 m46s35 @@ -157093,19 +157456,19 @@ call 17 pith_cstring_eq bool 2 14 15 iconst 18 1 sub 16 18 17 call 19 pith_cstring_release void 1 15 -store __or_12_3662 16 -brif 16 L3663 L3662 -label L3662 +store __or_12_3719 16 +brif 16 L3720 L3719 +label L3719 load 20 target field 21 20 16 list children call 22 pith_list_len int 1 21 iconst 23 2 lt 24 22 23 -store __or_12_3662 24 -label L3663 -load 25 __or_12_3662 -brif 25 L3660 L3661 -label L3660 +store __or_12_3719 24 +label L3720 +load 25 __or_12_3719 +brif 25 L3717 L3718 +label L3717 iconst 26 0 load 27 target call 28 pith_struct_release void 1 27 @@ -157120,8 +157483,8 @@ call 36 pith_cstring_release void 1 35 load 37 owned_store call 38 pith_cstring_release void 1 37 ret 26 -label L3661 -label L3659 +label L3718 +label L3716 load 39 target field 40 39 16 list children iconst 41 0 @@ -157151,8 +157514,8 @@ load 60 obj_type call 61 string_len int 1 60 iconst 62 0 eq 63 61 62 -brif 63 L3665 L3666 -label L3665 +brif 63 L3722 L3723 +label L3722 load 64 obj_type load 65 target field 66 65 16 list children @@ -157161,15 +157524,15 @@ call 68 pith_list_get_value_strict int 2 66 67 call 69 ir_emitter_core_ir_infer_type string 1 68 call 70 pith_cstring_release void 1 64 store obj_type 69 -jmp L3664 -label L3666 -label L3664 +jmp L3721 +label L3723 +label L3721 load 71 value_type call 72 string_len int 1 71 iconst 73 0 eq 74 72 73 -brif 74 L3668 L3669 -label L3668 +brif 74 L3725 L3726 +label L3725 load 75 value_type load 76 target field 77 76 16 list children @@ -157178,23 +157541,23 @@ call 79 pith_list_get_value_strict int 2 77 78 call 80 ir_emitter_core_ir_lookup_map_value_type_for_expr string 1 79 call 81 pith_cstring_release void 1 75 store value_type 80 -jmp L3667 -label L3669 -label L3667 +jmp L3724 +label L3726 +label L3724 load 82 value_type call 83 string_len int 1 82 iconst 84 0 eq 85 83 84 -brif 85 L3671 L3672 -label L3671 +brif 85 L3728 L3729 +label L3728 load 86 value_type load 87 value_idx call 88 ir_emitter_core_ir_infer_type string 1 87 call 89 pith_cstring_release void 1 86 store value_type 88 -jmp L3670 -label L3672 -label L3670 +jmp L3727 +label L3729 +label L3727 load 90 value_idx load 91 value_type call 92 ir_emitter_core_ir_emit_value_for_target int 2 90 91 @@ -157211,74 +157574,74 @@ call 100 pith_cstring_release void 1 97 store set_name 99 load 101 value_idx call 102 ir_emitter_core_ir_string_expr_is_borrowed bool 1 101 -brif 102 L3674 L3675 -label L3674 +brif 102 L3731 L3732 +label L3731 iconst 103 0 -store __or_103_3679 103 +store __or_103_3736 103 iconst 104 0 -store __or_104_3679 104 +store __or_104_3736 104 iconst 105 0 -store __or_105_3679 105 +store __or_105_3736 105 iconst 106 0 -store __or_106_3679 106 +store __or_106_3736 106 load 107 idx_store_kind strref 108 m46s20 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -store __or_106_3679 109 -brif 109 L3680 L3679 -label L3679 +store __or_106_3736 109 +brif 109 L3737 L3736 +label L3736 load 111 idx_store_kind strref 112 m46s19 call 113 pith_cstring_eq bool 2 111 112 call 114 pith_cstring_release void 1 112 -store __or_106_3679 113 -label L3680 -load 115 __or_106_3679 -store __or_105_3679 115 -brif 115 L3682 L3681 -label L3681 +store __or_106_3736 113 +label L3737 +load 115 __or_106_3736 +store __or_105_3736 115 +brif 115 L3739 L3738 +label L3738 load 116 idx_store_kind strref 117 m46s18 call 118 pith_cstring_eq bool 2 116 117 call 119 pith_cstring_release void 1 117 -store __or_105_3679 118 -label L3682 -load 120 __or_105_3679 -store __or_104_3679 120 -brif 120 L3684 L3683 -label L3683 +store __or_105_3736 118 +label L3739 +load 120 __or_105_3736 +store __or_104_3736 120 +brif 120 L3741 L3740 +label L3740 load 121 idx_store_kind strref 122 m46s674 call 123 pith_cstring_eq bool 2 121 122 call 124 pith_cstring_release void 1 122 -store __or_104_3679 123 -label L3684 -load 125 __or_104_3679 -store __or_103_3679 125 -brif 125 L3686 L3685 -label L3685 +store __or_104_3736 123 +label L3741 +load 125 __or_104_3736 +store __or_103_3736 125 +brif 125 L3743 L3742 +label L3742 load 126 idx_store_kind strref 127 m46s15 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __or_103_3679 128 -label L3686 -load 130 __or_103_3679 -brif 130 L3677 L3678 -label L3677 +store __or_103_3736 128 +label L3743 +load 130 __or_103_3736 +brif 130 L3734 L3735 +label L3734 load 131 value_r load 132 idx_store_kind call 133 ir_ownership_ir_rc_retain_reg void 2 131 132 -jmp L3676 -label L3678 -label L3676 -jmp L3673 -label L3675 +jmp L3733 +label L3735 +label L3733 +jmp L3730 +label L3732 load 134 idx_store_kind call 135 ir_emitter_core_ir_container_store_takes_count bool 1 134 -brif 135 L3687 L3688 -label L3687 +brif 135 L3744 L3745 +label L3744 load 136 owned_store load 137 set_name call 138 ir_emitter_core_ir_owned_container_store_name string 1 137 @@ -157288,19 +157651,19 @@ load 140 owned_store call 141 string_len int 1 140 iconst 142 0 gt 143 141 142 -brif 143 L3690 L3691 -label L3690 +brif 143 L3747 L3748 +label L3747 load 144 set_name load 145 owned_store call 146 pith_cstring_retain void 1 145 call 147 pith_cstring_release void 1 144 store set_name 145 -jmp L3689 -label L3691 -label L3689 -jmp L3673 -label L3688 -label L3673 +jmp L3746 +label L3748 +label L3746 +jmp L3730 +label L3745 +label L3730 call 148 ir_builder_ir_reg int 0 load 149 set_name strref 150 m46s828 @@ -157354,146 +157717,146 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store node 4 iconst 6 0 -store __or_6_3695 6 +store __or_6_3752 6 iconst 7 0 -store __or_7_3695 7 +store __or_7_3752 7 load 8 node field 9 8 0 string kind strref 10 m46s519 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_7_3695 11 -brif 11 L3696 L3695 -label L3695 +store __or_7_3752 11 +brif 11 L3753 L3752 +label L3752 load 13 node field 14 13 0 string kind strref 15 m46s671 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __or_7_3695 16 -label L3696 -load 18 __or_7_3695 -store __or_6_3695 18 -brif 18 L3698 L3697 -label L3697 +store __or_7_3752 16 +label L3753 +load 18 __or_7_3752 +store __or_6_3752 18 +brif 18 L3755 L3754 +label L3754 load 19 node field 20 19 0 string kind strref 21 m46s1047 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_6_3695 22 -label L3698 -load 24 __or_6_3695 -brif 24 L3693 L3694 -label L3693 +store __or_6_3752 22 +label L3755 +load 24 __or_6_3752 +brif 24 L3750 L3751 +label L3750 load 25 node call 26 ir_literals_ir_emit_int_literal int 1 25 load 27 node call 28 pith_struct_release void 1 27 ret 26 -label L3694 -label L3692 +label L3751 +label L3749 iconst 29 0 -store __or_29_3702 29 +store __or_29_3759 29 iconst 30 0 -store __or_30_3702 30 +store __or_30_3759 30 load 31 node field 32 31 0 string kind strref 33 m46s517 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_30_3702 34 -brif 34 L3703 L3702 -label L3702 +store __or_30_3759 34 +brif 34 L3760 L3759 +label L3759 load 36 node field 37 36 0 string kind strref 38 m46s675 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __or_30_3702 39 -label L3703 -load 41 __or_30_3702 -store __or_29_3702 41 -brif 41 L3705 L3704 -label L3704 +store __or_30_3759 39 +label L3760 +load 41 __or_30_3759 +store __or_29_3759 41 +brif 41 L3762 L3761 +label L3761 load 42 node field 43 42 0 string kind strref 44 m46s1025 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_29_3702 45 -label L3705 -load 47 __or_29_3702 -brif 47 L3700 L3701 -label L3700 +store __or_29_3759 45 +label L3762 +load 47 __or_29_3759 +brif 47 L3757 L3758 +label L3757 load 48 node call 49 ir_literals_ir_emit_string_literal int 1 48 load 50 node call 51 pith_struct_release void 1 50 ret 49 -label L3701 -label L3699 +label L3758 +label L3756 iconst 52 0 -store __or_52_3709 52 +store __or_52_3766 52 load 53 node field 54 53 0 string kind strref 55 m46s518 call 56 pith_cstring_eq bool 2 54 55 call 57 pith_cstring_release void 1 55 -store __or_52_3709 56 -brif 56 L3710 L3709 -label L3709 +store __or_52_3766 56 +brif 56 L3767 L3766 +label L3766 load 58 node field 59 58 0 string kind strref 60 m46s672 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -store __or_52_3709 61 -label L3710 -load 63 __or_52_3709 -brif 63 L3707 L3708 -label L3707 +store __or_52_3766 61 +label L3767 +load 63 __or_52_3766 +brif 63 L3764 L3765 +label L3764 load 64 node call 65 ir_literals_ir_emit_float_literal int 1 64 load 66 node call 67 pith_struct_release void 1 66 ret 65 -label L3708 -label L3706 +label L3765 +label L3763 iconst 68 0 -store __or_68_3714 68 +store __or_68_3771 68 load 69 node field 70 69 0 string kind strref 71 m46s673 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -store __or_68_3714 72 -brif 72 L3715 L3714 -label L3714 +store __or_68_3771 72 +brif 72 L3772 L3771 +label L3771 load 74 node field 75 74 0 string kind strref 76 m46s516 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __or_68_3714 77 -label L3715 -load 79 __or_68_3714 -brif 79 L3712 L3713 -label L3712 +store __or_68_3771 77 +label L3772 +load 79 __or_68_3771 +brif 79 L3769 L3770 +label L3769 load 80 node call 81 ir_literals_ir_emit_bool_literal int 1 80 load 82 node call 83 pith_struct_release void 1 82 ret 81 -label L3713 -label L3711 +label L3770 +label L3768 load 84 node field 85 84 0 string kind strref 86 m46s37 call 87 pith_cstring_eq bool 2 85 86 call 88 pith_cstring_release void 1 86 -brif 87 L3717 L3718 -label L3717 +brif 87 L3774 L3775 +label L3774 load 89 idx load 90 node field 91 90 8 string value @@ -157501,15 +157864,15 @@ call 92 ir_emitter_core_ir_emit_ident_load int 2 89 91 load 93 node call 94 pith_struct_release void 1 93 ret 92 -label L3718 -label L3716 +label L3775 +label L3773 load 95 node field 96 95 0 string kind strref 97 m46s515 call 98 pith_cstring_eq bool 2 96 97 call 99 pith_cstring_release void 1 97 -brif 98 L3720 L3721 -label L3720 +brif 98 L3777 L3778 +label L3777 load 100 idx strref 101 m46s515 call 102 ir_emitter_core_ir_emit_ident_load int 2 100 101 @@ -157517,57 +157880,57 @@ call 103 pith_cstring_release void 1 101 load 104 node call 105 pith_struct_release void 1 104 ret 102 -label L3721 -label L3719 +label L3778 +label L3776 load 106 node field 107 106 0 string kind strref 108 m46s513 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L3723 L3724 -label L3723 +brif 109 L3780 L3781 +label L3780 load 111 node call 112 ir_emitter_core_ir_emit_unary_expr int 1 111 load 113 node call 114 pith_struct_release void 1 113 ret 112 -label L3724 -label L3722 +label L3781 +label L3779 load 115 node field 116 115 0 string kind strref 117 m46s514 call 118 pith_cstring_eq bool 2 116 117 call 119 pith_cstring_release void 1 117 -brif 118 L3726 L3727 -label L3726 +brif 118 L3783 L3784 +label L3783 load 120 node call 121 ir_emitter_core_ir_emit_binary_expr int 1 120 load 122 node call 123 pith_struct_release void 1 122 ret 121 -label L3727 -label L3725 +label L3784 +label L3782 load 124 node field 125 124 0 string kind strref 126 m46s44 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -brif 127 L3729 L3730 -label L3729 +brif 127 L3786 L3787 +label L3786 load 129 idx load 130 node call 131 ir_emitter_core_ir_emit_static_call int 2 129 130 load 132 node call 133 pith_struct_release void 1 132 ret 131 -label L3730 +label L3787 load 134 idx load 135 node call 136 ir_emitter_core_ir_expr_complex int 2 134 135 load 137 node call 138 pith_struct_release void 1 137 ret 136 -label L3728 +label L3785 load 139 node call 140 pith_struct_release void 1 139 iconst 141 0 @@ -157616,8 +157979,8 @@ field 12 11 16 list children call 13 pith_list_len int 1 12 iconst 14 0 gt 15 13 14 -brif 15 L3732 L3733 -label L3732 +brif 15 L3789 L3790 +label L3789 load 16 recv_node load 17 node field 18 17 16 list children @@ -157627,46 +157990,46 @@ call 21 ast_get_node struct:Node 1 20 call 22 pith_struct_release void 1 16 store recv_node 21 iconst 23 0 -store __and_23_3737 23 +store __and_23_3794 23 load 24 recv_node field 25 24 0 string kind strref 26 m46s37 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_3737 27 -brif 27 L3737 L3738 -label L3737 +store __and_23_3794 27 +brif 27 L3794 L3795 +label L3794 load 29 ir_alias_registry_ir_module_aliases load 30 recv_node field 31 30 8 string value call 32 contains_key bool 2 29 31 -store __and_23_3737 32 -label L3738 -load 33 __and_23_3737 -brif 33 L3735 L3736 -label L3735 +store __and_23_3794 32 +label L3795 +load 33 __and_23_3794 +brif 33 L3792 L3793 +label L3792 load 34 idx call 35 checker_c_get_expr_type int 1 34 store expr_tid 35 iconst 36 0 -store __and_36_3742 36 +store __and_36_3799 36 load 37 expr_tid iconst 38 0 gte 39 37 38 -store __and_36_3742 39 -brif 39 L3742 L3743 -label L3742 +store __and_36_3799 39 +brif 39 L3799 L3800 +label L3799 load 40 expr_tid call 41 types_get_type_info struct:TypeInfo 1 40 field 42 41 0 string kind strref 43 m46s24 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -store __and_36_3742 44 -label L3743 -load 46 __and_36_3742 -brif 46 L3740 L3741 -label L3740 +store __and_36_3799 44 +label L3800 +load 46 __and_36_3799 +brif 46 L3797 L3798 +label L3797 load 47 callee load 48 idx call 49 ir_emitter_core_ir_resolve_static_callee struct:ResolvedCallee 1 48 @@ -157677,8 +158040,8 @@ field 52 51 0 string name call 53 string_len int 1 52 iconst 54 0 gt 55 53 54 -brif 55 L3745 L3746 -label L3745 +brif 55 L3802 L3803 +label L3802 call 56 ir_builder_ir_reg int 0 store r 56 load 57 wrapper @@ -157715,11 +158078,11 @@ call 86 pith_cstring_release void 1 85 load 87 module_path call 88 pith_cstring_release void 1 87 ret 78 -label L3746 -label L3744 -jmp L3739 -label L3741 -label L3739 +label L3803 +label L3801 +jmp L3796 +label L3798 +label L3796 load 89 module_path load 90 ir_alias_registry_ir_module_aliases load 91 recv_node @@ -157731,8 +158094,8 @@ store module_path 93 load 96 module_path load 97 fname call 98 ir_alias_registry_ir_import_declares_global bool 2 96 97 -brif 98 L3748 L3749 -label L3748 +brif 98 L3805 L3806 +label L3805 call 99 ir_builder_ir_reg int 0 store r 99 strref 100 m46s829 @@ -157765,11 +158128,11 @@ call 126 pith_cstring_release void 1 125 load 127 module_path call 128 pith_cstring_release void 1 127 ret 118 -label L3749 -label L3747 -jmp L3734 -label L3736 -label L3734 +label L3806 +label L3804 +jmp L3791 +label L3793 +label L3791 load 129 node field 130 129 16 list children iconst 131 0 @@ -157784,8 +158147,8 @@ store result_r 137 load 138 result_r iconst 139 0 gte 140 138 139 -brif 140 L3751 L3752 -label L3751 +brif 140 L3808 L3809 +label L3808 load 141 result_r load 142 fname call 143 pith_cstring_release void 1 142 @@ -157798,8 +158161,8 @@ call 149 pith_cstring_release void 1 148 load 150 module_path call 151 pith_cstring_release void 1 150 ret 141 -label L3752 -label L3750 +label L3809 +label L3807 load 152 idx load 153 node load 154 obj_r @@ -157815,8 +158178,8 @@ call 163 pith_cstring_release void 1 162 load 164 module_path call 165 pith_cstring_release void 1 164 ret 155 -label L3733 -label L3731 +label L3790 +label L3788 load 166 idx load 167 node iconst 168 0 @@ -157854,12 +158217,12 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 eq 5 3 4 -brif 5 L3754 L3755 -label L3754 +brif 5 L3811 L3812 +label L3811 call 6 ir_emitter_core_ir_emit_zero_value int 0 ret 6 -label L3755 -label L3753 +label L3812 +label L3810 load 7 node field 8 7 16 list children iconst 9 0 @@ -157898,8 +158261,8 @@ load 11 err_kind call 12 string_len int 1 11 iconst 13 0 gt 14 12 13 -brif 14 L3757 L3758 -label L3757 +brif 14 L3814 L3815 +label L3814 load 15 result_r load 16 result_tid strref 17 m46s181 @@ -157909,9 +158272,9 @@ store err_r 18 load 20 err_r load 21 err_kind call 22 ir_ownership_ir_rc_release_reg void 2 20 21 -jmp L3756 -label L3758 -label L3756 +jmp L3813 +label L3815 +label L3813 load 23 err_kind call 24 pith_cstring_release void 1 23 iconst 25 0 @@ -157982,8 +158345,8 @@ load 51 ok_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -brif 54 L3760 L3761 -label L3760 +brif 54 L3817 L3818 +label L3817 load 55 result_r load 56 result_tid strref 57 m46s182 @@ -157993,9 +158356,9 @@ store ok_r 58 load 60 ok_r load 61 ok_kind call 62 ir_ownership_ir_rc_release_reg void 2 60 61 -jmp L3759 -label L3761 -label L3759 +jmp L3816 +label L3818 +label L3816 strref 63 m46s833 load 64 done_l concat 65 63 64 @@ -158122,8 +158485,8 @@ load 70 operand_class strref 71 m46s1202 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -brif 72 L3763 L3764 -label L3763 +brif 72 L3820 L3821 +label L3820 load 74 ok_value_r load 75 result_tid strref 76 m46s182 @@ -158133,8 +158496,8 @@ call 79 ir_struct_registry_ir_rc_kind string 1 77 call 80 pith_cstring_release void 1 77 call 81 ir_ownership_ir_rc_retain_reg void 2 74 79 call 82 pith_cstring_release void 1 79 -jmp L3762 -label L3764 +jmp L3819 +label L3821 call 83 ir_builder_ir_reg int 0 strref 84 m46s898 strref 85 m46s828 @@ -158142,7 +158505,7 @@ load 86 result_r call 87 ir_call_emit_ir_emit_call1 void 4 83 84 85 86 call 88 pith_cstring_release void 1 84 call 89 pith_cstring_release void 1 85 -label L3762 +label L3819 strref 90 m46s830 load 91 temp_name concat 92 90 91 @@ -158172,8 +158535,8 @@ call 116 pith_cstring_eq bool 2 113 114 iconst 117 1 sub 115 117 116 call 118 pith_cstring_release void 1 114 -brif 115 L3766 L3767 -label L3766 +brif 115 L3823 L3824 +label L3823 load 119 result_r load 120 result_tid call 121 ir_emitter_core_ir_emit_release_result_error void 2 119 120 @@ -158184,9 +158547,9 @@ load 125 result_r call 126 ir_call_emit_ir_emit_call1 void 4 122 123 124 125 call 127 pith_cstring_release void 1 123 call 128 pith_cstring_release void 1 124 -jmp L3765 -label L3767 -label L3765 +jmp L3822 +label L3824 +label L3822 load 129 node field 130 129 16 list children iconst 131 1 @@ -158198,8 +158561,8 @@ field 135 134 16 list children iconst 136 1 call 137 pith_list_get_value_strict int 2 135 136 call 138 ir_emitter_core_ir_string_expr_is_borrowed bool 1 137 -brif 138 L3769 L3770 -label L3769 +brif 138 L3826 L3827 +label L3826 load 139 fallback_r load 140 node field 141 140 16 list children @@ -158210,9 +158573,9 @@ call 145 ir_struct_registry_ir_rc_kind string 1 144 call 146 pith_cstring_release void 1 144 call 147 ir_ownership_ir_rc_retain_reg void 2 139 145 call 148 pith_cstring_release void 1 145 -jmp L3768 -label L3770 -label L3768 +jmp L3825 +label L3827 +label L3825 strref 149 m46s830 load 150 temp_name concat 151 149 150 @@ -158279,16 +158642,16 @@ field 2 1 16 list children call 3 pith_list_len int 1 2 iconst 4 0 gt 5 3 4 -brif 5 L3772 L3773 -label L3772 +brif 5 L3829 L3830 +label L3829 load 6 node field 7 6 16 list children iconst 8 0 call 9 pith_list_get_value_strict int 2 7 8 call 10 ir_emitter_core_ir_expr int 1 9 ret 10 -label L3773 -label L3771 +label L3830 +label L3828 call 11 ir_emitter_core_ir_emit_zero_value int 0 ret 11 iconst 12 0 @@ -158310,13 +158673,13 @@ load 8 kind strref 9 m46s502 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L3775 L3776 -label L3775 +brif 10 L3832 L3833 +label L3832 load 12 idx load 13 ir_match_emit_ir_tail_match_node eq 14 12 13 -brif 14 L3778 L3779 -label L3778 +brif 14 L3835 L3836 +label L3835 load 15 idx load 16 node closure_ref 17 ir_emitter_core___fnval_0 @@ -158330,8 +158693,8 @@ call 24 pith_cstring_release void 1 23 load 25 checked_lit call 26 pith_cstring_release void 1 25 ret 22 -label L3779 -label L3777 +label L3836 +label L3834 load 27 idx load 28 node closure_ref 29 ir_emitter_core___fnval_0 @@ -158344,14 +158707,14 @@ call 35 pith_cstring_release void 1 34 load 36 checked_lit call 37 pith_cstring_release void 1 36 ret 31 -label L3776 -label L3774 +label L3833 +label L3831 load 38 kind strref 39 m46s507 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -brif 40 L3781 L3782 -label L3781 +brif 40 L3838 L3839 +label L3838 load 42 node closure_ref 43 ir_emitter_core___fnval_0 call 44 ir_match_emit_ir_emit_if_expr int 2 42 43 @@ -158361,14 +158724,14 @@ call 47 pith_cstring_release void 1 46 load 48 checked_lit call 49 pith_cstring_release void 1 48 ret 44 -label L3782 -label L3780 +label L3839 +label L3837 load 50 kind strref 51 m46s129 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -brif 52 L3784 L3785 -label L3784 +brif 52 L3841 L3842 +label L3841 load 54 idx call 55 ir_emitter_core_ir_emit_method_call int 1 54 load 56 kind @@ -158376,14 +158739,14 @@ call 57 pith_cstring_release void 1 56 load 58 checked_lit call 59 pith_cstring_release void 1 58 ret 55 -label L3785 -label L3783 +label L3842 +label L3840 load 60 kind strref 61 m46s511 call 62 pith_cstring_eq bool 2 60 61 call 63 pith_cstring_release void 1 61 -brif 62 L3787 L3788 -label L3787 +brif 62 L3844 L3845 +label L3844 load 64 idx call 65 ir_emitter_core_ir_emit_string_interp int 1 64 load 66 kind @@ -158391,37 +158754,37 @@ call 67 pith_cstring_release void 1 66 load 68 checked_lit call 69 pith_cstring_release void 1 68 ret 65 -label L3788 -label L3786 +label L3845 +label L3843 load 70 kind strref 71 m46s19 call 72 pith_cstring_eq bool 2 70 71 call 73 pith_cstring_release void 1 71 -brif 72 L3790 L3791 -label L3790 +brif 72 L3847 L3848 +label L3847 load 74 checked_lit load 75 idx call 76 ir_type_helpers_ir_checked_type string 1 75 call 77 pith_cstring_release void 1 74 store checked_lit 76 iconst 78 0 -store __or_78_3795 78 +store __or_78_3852 78 load 79 checked_lit strref 80 m46s18 call 81 pith_cstring_eq bool 2 79 80 call 82 pith_cstring_release void 1 80 -store __or_78_3795 81 -brif 81 L3796 L3795 -label L3795 +store __or_78_3852 81 +brif 81 L3853 L3852 +label L3852 load 83 checked_lit strref 84 m46s669 call 85 pith_cstring_eq bool 2 83 84 call 86 pith_cstring_release void 1 84 -store __or_78_3795 85 -label L3796 -load 87 __or_78_3795 -brif 87 L3793 L3794 -label L3793 +store __or_78_3852 85 +label L3853 +load 87 __or_78_3852 +brif 87 L3850 L3851 +label L3850 load 88 idx load 89 node call 90 ir_emitter_core_ir_emit_set_literal int 2 88 89 @@ -158430,8 +158793,8 @@ call 92 pith_cstring_release void 1 91 load 93 checked_lit call 94 pith_cstring_release void 1 93 ret 90 -label L3794 -label L3792 +label L3851 +label L3849 load 95 idx load 96 node call 97 ir_emitter_core_ir_emit_map_literal int 2 95 96 @@ -158440,14 +158803,14 @@ call 99 pith_cstring_release void 1 98 load 100 checked_lit call 101 pith_cstring_release void 1 100 ret 97 -label L3791 -label L3789 +label L3848 +label L3846 load 102 kind strref 103 m46s18 call 104 pith_cstring_eq bool 2 102 103 call 105 pith_cstring_release void 1 103 -brif 104 L3798 L3799 -label L3798 +brif 104 L3855 L3856 +label L3855 load 106 idx load 107 node call 108 ir_emitter_core_ir_emit_set_literal int 2 106 107 @@ -158456,14 +158819,14 @@ call 110 pith_cstring_release void 1 109 load 111 checked_lit call 112 pith_cstring_release void 1 111 ret 108 -label L3799 -label L3797 +label L3856 +label L3854 load 113 kind strref 114 m46s20 call 115 pith_cstring_eq bool 2 113 114 call 116 pith_cstring_release void 1 114 -brif 115 L3801 L3802 -label L3801 +brif 115 L3858 L3859 +label L3858 load 117 idx load 118 node call 119 ir_emitter_core_ir_emit_list_literal int 2 117 118 @@ -158472,14 +158835,14 @@ call 121 pith_cstring_release void 1 120 load 122 checked_lit call 123 pith_cstring_release void 1 122 ret 119 -label L3802 -label L3800 +label L3859 +label L3857 load 124 kind strref 125 m46s23 call 126 pith_cstring_eq bool 2 124 125 call 127 pith_cstring_release void 1 125 -brif 126 L3804 L3805 -label L3804 +brif 126 L3861 L3862 +label L3861 load 128 node call 129 ir_emitter_core_ir_emit_tuple_literal int 1 128 load 130 kind @@ -158487,14 +158850,14 @@ call 131 pith_cstring_release void 1 130 load 132 checked_lit call 133 pith_cstring_release void 1 132 ret 129 -label L3805 -label L3803 +label L3862 +label L3860 load 134 kind strref 135 m46s500 call 136 pith_cstring_eq bool 2 134 135 call 137 pith_cstring_release void 1 135 -brif 136 L3807 L3808 -label L3807 +brif 136 L3864 L3865 +label L3864 load 138 idx load 139 node call 140 ir_emitter_core_ir_emit_struct_init int 2 138 139 @@ -158503,14 +158866,14 @@ call 142 pith_cstring_release void 1 141 load 143 checked_lit call 144 pith_cstring_release void 1 143 ret 140 -label L3808 -label L3806 +label L3865 +label L3863 load 145 kind strref 146 m46s36 call 147 pith_cstring_eq bool 2 145 146 call 148 pith_cstring_release void 1 146 -brif 147 L3810 L3811 -label L3810 +brif 147 L3867 L3868 +label L3867 load 149 idx load 150 node call 151 ir_emitter_core_ir_emit_field_access_expr int 2 149 150 @@ -158519,14 +158882,14 @@ call 153 pith_cstring_release void 1 152 load 154 checked_lit call 155 pith_cstring_release void 1 154 ret 151 -label L3811 -label L3809 +label L3868 +label L3866 load 156 kind strref 157 m46s501 call 158 pith_cstring_eq bool 2 156 157 call 159 pith_cstring_release void 1 157 -brif 158 L3813 L3814 -label L3813 +brif 158 L3870 L3871 +label L3870 load 160 idx call 161 ir_emitter_core_ir_emit_lambda int 1 160 load 162 kind @@ -158534,14 +158897,14 @@ call 163 pith_cstring_release void 1 162 load 164 checked_lit call 165 pith_cstring_release void 1 164 ret 161 -label L3814 -label L3812 +label L3871 +label L3869 load 166 kind strref 167 m46s499 call 168 pith_cstring_eq bool 2 166 167 call 169 pith_cstring_release void 1 167 -brif 168 L3816 L3817 -label L3816 +brif 168 L3873 L3874 +label L3873 load 170 node call 171 ir_emitter_core_ir_emit_spawn_expr int 1 170 load 172 kind @@ -158549,14 +158912,14 @@ call 173 pith_cstring_release void 1 172 load 174 checked_lit call 175 pith_cstring_release void 1 174 ret 171 -label L3817 -label L3815 +label L3874 +label L3872 load 176 kind strref 177 m46s498 call 178 pith_cstring_eq bool 2 176 177 call 179 pith_cstring_release void 1 177 -brif 178 L3819 L3820 -label L3819 +brif 178 L3876 L3877 +label L3876 load 180 node call 181 ir_emitter_core_ir_emit_await_expr int 1 180 load 182 kind @@ -158564,14 +158927,14 @@ call 183 pith_cstring_release void 1 182 load 184 checked_lit call 185 pith_cstring_release void 1 184 ret 181 -label L3820 -label L3818 +label L3877 +label L3875 load 186 kind strref 187 m46s506 call 188 pith_cstring_eq bool 2 186 187 call 189 pith_cstring_release void 1 187 -brif 188 L3822 L3823 -label L3822 +brif 188 L3879 L3880 +label L3879 load 190 node call 191 ir_emitter_core_ir_emit_optional_unwrap int 1 190 load 192 kind @@ -158579,26 +158942,26 @@ call 193 pith_cstring_release void 1 192 load 194 checked_lit call 195 pith_cstring_release void 1 194 ret 191 -label L3823 -label L3821 +label L3880 +label L3878 iconst 196 0 -store __or_196_3827 196 +store __or_196_3884 196 load 197 kind strref 198 m46s505 call 199 pith_cstring_eq bool 2 197 198 call 200 pith_cstring_release void 1 198 -store __or_196_3827 199 -brif 199 L3828 L3827 -label L3827 +store __or_196_3884 199 +brif 199 L3885 L3884 +label L3884 load 201 kind strref 202 m46s550 call 203 pith_cstring_eq bool 2 201 202 call 204 pith_cstring_release void 1 202 -store __or_196_3827 203 -label L3828 -load 205 __or_196_3827 -brif 205 L3825 L3826 -label L3825 +store __or_196_3884 203 +label L3885 +load 205 __or_196_3884 +brif 205 L3882 L3883 +label L3882 load 206 node call 207 ir_emitter_core_ir_emit_try_expr int 1 206 load 208 kind @@ -158606,14 +158969,14 @@ call 209 pith_cstring_release void 1 208 load 210 checked_lit call 211 pith_cstring_release void 1 210 ret 207 -label L3826 -label L3824 +label L3883 +label L3881 load 212 kind strref 213 m46s504 call 214 pith_cstring_eq bool 2 212 213 call 215 pith_cstring_release void 1 213 -brif 214 L3830 L3831 -label L3830 +brif 214 L3887 L3888 +label L3887 load 216 node call 217 ir_emitter_core_ir_emit_catch_expr int 1 216 load 218 kind @@ -158621,14 +158984,14 @@ call 219 pith_cstring_release void 1 218 load 220 checked_lit call 221 pith_cstring_release void 1 220 ret 217 -label L3831 -label L3829 +label L3888 +label L3886 load 222 kind strref 223 m46s503 call 224 pith_cstring_eq bool 2 222 223 call 225 pith_cstring_release void 1 223 -brif 224 L3833 L3834 -label L3833 +brif 224 L3890 L3891 +label L3890 load 226 node call 227 ir_emitter_core_ir_emit_select_expr int 1 226 load 228 kind @@ -158636,14 +158999,14 @@ call 229 pith_cstring_release void 1 228 load 230 checked_lit call 231 pith_cstring_release void 1 230 ret 227 -label L3834 -label L3832 +label L3891 +label L3889 load 232 kind strref 233 m46s557 call 234 pith_cstring_eq bool 2 232 233 call 235 pith_cstring_release void 1 233 -brif 234 L3836 L3837 -label L3836 +brif 234 L3893 L3894 +label L3893 load 236 node call 237 ir_emitter_core_ir_emit_fail_expr int 1 236 load 238 kind @@ -158651,14 +159014,14 @@ call 239 pith_cstring_release void 1 238 load 240 checked_lit call 241 pith_cstring_release void 1 240 ret 237 -label L3837 -label L3835 +label L3894 +label L3892 load 242 kind strref 243 m46s512 call 244 pith_cstring_eq bool 2 242 243 call 245 pith_cstring_release void 1 243 -brif 244 L3839 L3840 -label L3839 +brif 244 L3896 L3897 +label L3896 load 246 node call 247 ir_emitter_core_ir_emit_grouped_expr int 1 246 load 248 kind @@ -158666,14 +159029,14 @@ call 249 pith_cstring_release void 1 248 load 250 checked_lit call 251 pith_cstring_release void 1 250 ret 247 -label L3840 -label L3838 +label L3897 +label L3895 load 252 kind strref 253 m46s35 call 254 pith_cstring_eq bool 2 252 253 call 255 pith_cstring_release void 1 253 -brif 254 L3842 L3843 -label L3842 +brif 254 L3899 L3900 +label L3899 load 256 idx load 257 node call 258 ir_emitter_core_ir_emit_index_expr int 2 256 257 @@ -158682,8 +159045,8 @@ call 260 pith_cstring_release void 1 259 load 261 checked_lit call 262 pith_cstring_release void 1 261 ret 258 -label L3843 -label L3841 +label L3900 +label L3898 call 263 ir_emitter_core_ir_emit_zero_value int 0 load 264 kind call 265 pith_cstring_release void 1 264 @@ -158714,8 +159077,8 @@ field 7 6 16 list children call 8 pith_list_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L3845 L3846 -label L3845 +brif 10 L3902 L3903 +label L3902 load 11 node field 12 11 16 list children iconst 13 0 @@ -158735,15 +159098,15 @@ call 24 ast_get_node struct:Node 1 23 call 25 pith_struct_release void 1 19 store expr_node 24 iconst 26 0 -store __and_26_3850 26 +store __and_26_3907 26 load 27 expr_node field 28 27 0 string kind strref 29 m46s37 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -store __and_26_3850 30 -brif 30 L3850 L3851 -label L3850 +store __and_26_3907 30 +brif 30 L3907 L3908 +label L3907 load 32 expr_node field 33 32 8 string value call 34 ir_emitter_core_ir_rc_local_kind string 1 33 @@ -158751,19 +159114,19 @@ call 35 string_len int 1 34 call 36 pith_cstring_release void 1 34 iconst 37 0 gt 38 35 37 -store __and_26_3850 38 -label L3851 -load 39 __and_26_3850 -brif 39 L3848 L3849 -label L3848 +store __and_26_3907 38 +label L3908 +load 39 __and_26_3907 +brif 39 L3905 L3906 +label L3905 load 40 exclude load 41 expr_node field 42 41 8 string value call 43 pith_cstring_retain void 1 42 call 44 pith_cstring_release void 1 40 store exclude 42 -jmp L3847 -label L3849 +jmp L3904 +label L3906 load 45 ret_kind load 46 node field 47 46 16 list children @@ -158777,31 +159140,31 @@ call 54 pith_cstring_release void 1 51 call 55 pith_cstring_release void 1 45 store ret_kind 53 iconst 56 0 -store __and_56_3855 56 +store __and_56_3912 56 load 57 ret_kind call 58 string_len int 1 57 iconst 59 0 gt 60 58 59 -store __and_56_3855 60 -brif 60 L3855 L3856 -label L3855 +store __and_56_3912 60 +brif 60 L3912 L3913 +label L3912 load 61 node field 62 61 16 list children iconst 63 0 call 64 pith_list_get_value_strict int 2 62 63 call 65 ir_emitter_core_ir_string_expr_is_borrowed bool 1 64 -store __and_56_3855 65 -label L3856 -load 66 __and_56_3855 -brif 66 L3853 L3854 -label L3853 +store __and_56_3912 65 +label L3913 +load 66 __and_56_3912 +brif 66 L3910 L3911 +label L3910 load 67 r load 68 ret_kind call 69 ir_ownership_ir_rc_retain_reg void 2 67 68 -jmp L3852 -label L3854 -label L3852 -label L3847 +jmp L3909 +label L3911 +label L3909 +label L3904 load 70 result_kind load 71 node field 72 71 16 list children @@ -158823,8 +159186,8 @@ store expr_kind 83 load 85 expr_tid iconst 86 0 gte 87 85 86 -brif 87 L3858 L3859 -label L3858 +brif 87 L3915 L3916 +label L3915 load 88 expr_kind load 89 expr_tid call 90 types_get_type_info struct:TypeInfo 1 89 @@ -158832,25 +159195,25 @@ field 91 90 0 string kind call 92 pith_cstring_retain void 1 91 call 93 pith_cstring_release void 1 88 store expr_kind 91 -jmp L3857 -label L3859 -label L3857 +jmp L3914 +label L3916 +label L3914 load 94 ir_emitter_core_ir_current_func_optional_inner_kind call 95 string_len int 1 94 iconst 96 0 gt 97 95 96 -brif 97 L3861 L3862 -label L3861 +brif 97 L3918 L3919 +label L3918 iconst 98 0 -store __and_98_3863 98 +store __and_98_3920 98 load 99 expr_node field 100 99 0 string kind strref 101 m46s37 call 102 pith_cstring_eq bool 2 100 101 call 103 pith_cstring_release void 1 101 -store __and_98_3863 102 -brif 102 L3863 L3864 -label L3863 +store __and_98_3920 102 +brif 102 L3920 L3921 +label L3920 load 104 expr_node field 105 104 8 string value call 106 ir_emitter_core_ir_rc_local_kind string 1 105 @@ -158858,97 +159221,97 @@ strref 107 m46s23 call 108 pith_cstring_eq bool 2 106 107 call 109 pith_cstring_release void 1 106 call 110 pith_cstring_release void 1 107 -store __and_98_3863 108 -label L3864 -load 111 __and_98_3863 +store __and_98_3920 108 +label L3921 +load 111 __and_98_3920 store ident_tuple_local 111 iconst 112 0 -store __or_112_3865 112 +store __or_112_3922 112 load 113 expr_kind strref 114 m46s21 call 115 pith_cstring_eq bool 2 113 114 call 116 pith_cstring_release void 1 114 -store __or_112_3865 115 -brif 115 L3866 L3865 -label L3865 +store __or_112_3922 115 +brif 115 L3923 L3922 +label L3922 iconst 117 0 -store __and_117_3867 117 +store __and_117_3924 117 iconst 118 0 -store __or_118_3867 118 +store __or_118_3924 118 load 119 result_kind strref 120 m46s23 call 121 pith_cstring_eq bool 2 119 120 call 122 pith_cstring_release void 1 120 -store __or_118_3867 121 -brif 121 L3868 L3867 -label L3867 +store __or_118_3924 121 +brif 121 L3925 L3924 +label L3924 load 123 ident_tuple_local -store __or_118_3867 123 -label L3868 -load 124 __or_118_3867 -store __and_117_3867 124 -brif 124 L3869 L3870 -label L3869 +store __or_118_3924 123 +label L3925 +load 124 __or_118_3924 +store __and_117_3924 124 +brif 124 L3926 L3927 +label L3926 load 125 ir_emitter_core_ir_current_func_optional_inner_kind strref 126 m46s23 call 128 pith_cstring_eq bool 2 125 126 iconst 129 1 sub 127 129 128 call 130 pith_cstring_release void 1 126 -store __and_117_3867 127 -label L3870 -load 131 __and_117_3867 -store __or_112_3865 131 -label L3866 -load 132 __or_112_3865 +store __and_117_3924 127 +label L3927 +load 131 __and_117_3924 +store __or_112_3922 131 +label L3923 +load 132 __or_112_3922 store already_optional 132 load 133 expr_node field 134 133 0 string kind strref 135 m46s56 call 136 pith_cstring_eq bool 2 134 135 call 137 pith_cstring_release void 1 135 -brif 136 L3872 L3873 -label L3872 +brif 136 L3929 L3930 +label L3929 call 138 ir_optionals_ir_emit_optional_none_value int 0 store r 138 -jmp L3871 -label L3873 +jmp L3928 +label L3930 load 139 already_optional iconst 140 0 eq 141 139 140 -brif 141 L3874 L3875 -label L3874 +brif 141 L3931 L3932 +label L3931 load 142 r call 143 ir_optionals_ir_emit_optional_some_value int 1 142 store r 143 -jmp L3871 -label L3875 -label L3871 -jmp L3860 -label L3862 +jmp L3928 +label L3932 +label L3928 +jmp L3917 +label L3919 load 144 ir_builder_ir_current_func_return_kind strref 145 m46s23 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 -brif 146 L3876 L3877 -label L3876 +brif 146 L3933 L3934 +label L3933 load 148 result_kind strref 149 m46s23 call 151 pith_cstring_eq bool 2 148 149 iconst 152 1 sub 150 152 151 call 153 pith_cstring_release void 1 149 -brif 150 L3879 L3880 -label L3879 +brif 150 L3936 L3937 +label L3936 load 154 r call 155 ir_emitter_core_ir_emit_ok_result_tuple int 1 154 store r 155 -jmp L3878 -label L3880 -label L3878 -jmp L3860 -label L3877 -label L3860 +jmp L3935 +label L3937 +label L3935 +jmp L3917 +label L3934 +label L3917 iconst 156 0 call 157 ir_emitter_core_ir_defer_emit_to_function_frame void 1 156 load 158 exclude @@ -158961,8 +159324,8 @@ call 164 pith_cstring_release void 1 160 call 165 pith_cstring_release void 1 162 call 166 ir_builder_ir_emit void 1 163 call 167 pith_cstring_release void 1 163 -jmp L3844 -label L3846 +jmp L3901 +label L3903 iconst 168 0 call 169 ir_emitter_core_ir_defer_emit_to_function_frame void 1 168 strref 170 m46s82 @@ -158990,7 +159353,7 @@ call 190 pith_cstring_release void 1 186 call 191 pith_cstring_release void 1 188 call 192 ir_builder_ir_emit void 1 189 call 193 pith_cstring_release void 1 189 -label L3844 +label L3901 iconst 194 1 store ir_call_emit_ir_last_was_ret 194 load 195 exclude @@ -159023,35 +159386,35 @@ store substituted 7 iconst 8 0 store ctor 8 iconst 9 0 -store __or_9_3884 9 +store __or_9_3941 9 iconst 10 0 -store __or_10_3884 10 +store __or_10_3941 10 load 11 bind_target strref 12 m46s20 call 14 pith_cstring_eq bool 2 11 12 iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 12 -store __or_10_3884 13 -brif 13 L3885 L3884 -label L3884 +store __or_10_3941 13 +brif 13 L3942 L3941 +label L3941 load 17 val_idx iconst 18 0 lt 19 17 18 -store __or_10_3884 19 -label L3885 -load 20 __or_10_3884 -store __or_9_3884 20 -brif 20 L3887 L3886 -label L3886 +store __or_10_3941 19 +label L3942 +load 20 __or_10_3941 +store __or_9_3941 20 +brif 20 L3944 L3943 +label L3943 load 21 type_idx iconst 22 0 lt 23 21 22 -store __or_9_3884 23 -label L3887 -load 24 __or_9_3884 -brif 24 L3882 L3883 -label L3882 +store __or_9_3941 23 +label L3944 +load 24 __or_9_3941 +brif 24 L3939 L3940 +label L3939 strref 25 m46s82 load 26 vn call 27 pith_struct_release void 1 26 @@ -159066,26 +159429,26 @@ call 35 pith_cstring_release void 1 34 load 36 ctor call 37 pith_cstring_release void 1 36 ret 25 -label L3883 -label L3881 +label L3940 +label L3938 iconst 38 0 -store __and_38_3891 38 +store __and_38_3948 38 load 39 ir_alias_registry_ir_active_generic_params call 40 pith_list_len int 1 39 iconst 41 0 eq 42 40 41 -store __and_38_3891 42 -brif 42 L3891 L3892 -label L3891 +store __and_38_3948 42 +brif 42 L3948 L3949 +label L3948 load 43 ir_emitter_core_ir_current_impl_subst_params call 44 pith_list_len int 1 43 iconst 45 0 eq 46 44 45 -store __and_38_3891 46 -label L3892 -load 47 __and_38_3891 -brif 47 L3889 L3890 -label L3889 +store __and_38_3948 46 +label L3949 +load 47 __and_38_3948 +brif 47 L3946 L3947 +label L3946 strref 48 m46s82 load 49 vn call 50 pith_struct_release void 1 49 @@ -159100,15 +159463,15 @@ call 58 pith_cstring_release void 1 57 load 59 ctor call 60 pith_cstring_release void 1 59 ret 48 -label L3890 -label L3888 +label L3947 +label L3945 load 61 vn load 62 val_idx call 63 ast_get_node struct:Node 1 62 call 64 pith_struct_release void 1 61 store vn 63 iconst 65 0 -store __or_65_3896 65 +store __or_65_3953 65 load 66 vn field 67 66 0 string kind strref 68 m46s20 @@ -159116,19 +159479,19 @@ call 70 pith_cstring_eq bool 2 67 68 iconst 71 1 sub 69 71 70 call 72 pith_cstring_release void 1 68 -store __or_65_3896 69 -brif 69 L3897 L3896 -label L3896 +store __or_65_3953 69 +brif 69 L3954 L3953 +label L3953 load 73 vn field 74 73 16 list children call 75 pith_list_len int 1 74 iconst 76 0 gt 77 75 76 -store __or_65_3896 77 -label L3897 -load 78 __or_65_3896 -brif 78 L3894 L3895 -label L3894 +store __or_65_3953 77 +label L3954 +load 78 __or_65_3953 +brif 78 L3951 L3952 +label L3951 strref 79 m46s82 load 80 vn call 81 pith_struct_release void 1 80 @@ -159143,17 +159506,17 @@ call 89 pith_cstring_release void 1 88 load 90 ctor call 91 pith_cstring_release void 1 90 ret 79 -label L3895 -label L3893 +label L3952 +label L3950 load 92 tn load 93 type_idx call 94 ast_get_node struct:Node 1 93 call 95 pith_struct_release void 1 92 store tn 94 iconst 96 0 -store __or_96_3901 96 +store __or_96_3958 96 iconst 97 0 -store __or_97_3901 97 +store __or_97_3958 97 load 98 tn field 99 98 0 string kind strref 100 m46s327 @@ -159161,9 +159524,9 @@ call 102 pith_cstring_eq bool 2 99 100 iconst 103 1 sub 101 103 102 call 104 pith_cstring_release void 1 100 -store __or_97_3901 101 -brif 101 L3902 L3901 -label L3901 +store __or_97_3958 101 +brif 101 L3959 L3958 +label L3958 load 105 tn field 106 105 8 string value strref 107 m46s326 @@ -159171,22 +159534,22 @@ call 109 pith_cstring_eq bool 2 106 107 iconst 110 1 sub 108 110 109 call 111 pith_cstring_release void 1 107 -store __or_97_3901 108 -label L3902 -load 112 __or_97_3901 -store __or_96_3901 112 -brif 112 L3904 L3903 -label L3903 +store __or_97_3958 108 +label L3959 +load 112 __or_97_3958 +store __or_96_3958 112 +brif 112 L3961 L3960 +label L3960 load 113 tn field 114 113 16 list children call 115 pith_list_len int 1 114 iconst 116 0 eq 117 115 116 -store __or_96_3901 117 -label L3904 -load 118 __or_96_3901 -brif 118 L3899 L3900 -label L3899 +store __or_96_3958 117 +label L3961 +load 118 __or_96_3958 +brif 118 L3956 L3957 +label L3956 strref 119 m46s82 load 120 vn call 121 pith_struct_release void 1 120 @@ -159201,8 +159564,8 @@ call 129 pith_cstring_release void 1 128 load 130 ctor call 131 pith_cstring_release void 1 130 ret 119 -label L3900 -label L3898 +label L3957 +label L3955 load 132 elem load 133 tn field 134 133 16 list children @@ -159217,8 +159580,8 @@ call 141 string_len int 1 140 call 142 pith_cstring_release void 1 140 iconst 143 0 eq 144 141 143 -brif 144 L3906 L3907 -label L3906 +brif 144 L3963 L3964 +label L3963 load 145 inner load 146 tn field 147 146 16 list children @@ -159232,8 +159595,8 @@ field 153 152 0 string kind strref 154 m46s328 call 155 pith_cstring_eq bool 2 153 154 call 156 pith_cstring_release void 1 154 -brif 155 L3909 L3910 -label L3909 +brif 155 L3966 L3967 +label L3966 load 157 substituted load 158 inner field 159 158 8 string value @@ -159246,22 +159609,22 @@ field 164 163 8 string value call 166 pith_cstring_eq bool 2 162 164 iconst 167 1 sub 165 167 166 -brif 165 L3912 L3913 -label L3912 +brif 165 L3969 L3970 +label L3969 load 168 elem load 169 substituted call 170 ir_alias_registry_ir_resolve_type_hint string 1 169 call 171 pith_cstring_release void 1 168 store elem 170 -jmp L3911 -label L3913 -label L3911 -jmp L3908 -label L3910 -label L3908 -jmp L3905 -label L3907 -label L3905 +jmp L3968 +label L3970 +label L3968 +jmp L3965 +label L3967 +label L3965 +jmp L3962 +label L3964 +label L3962 load 172 ctor load 173 elem call 174 ir_struct_registry_ir_rc_kind string 1 173 @@ -159273,8 +159636,8 @@ load 178 ctor strref 179 m46s764 call 180 pith_cstring_eq bool 2 178 179 call 181 pith_cstring_release void 1 179 -brif 180 L3915 L3916 -label L3915 +brif 180 L3972 L3973 +label L3972 strref 182 m46s82 load 183 vn call 184 pith_struct_release void 1 183 @@ -159289,8 +159652,8 @@ call 192 pith_cstring_release void 1 191 load 193 ctor call 194 pith_cstring_release void 1 193 ret 182 -label L3916 -label L3914 +label L3973 +label L3971 load 195 ctor load 196 vn call 197 pith_struct_release void 1 196 @@ -159362,46 +159725,46 @@ load 24 parts field 25 24 16 int type_idx store type_idx 25 iconst 26 0 -store __and_26_3920 26 +store __and_26_3977 26 load 27 type_idx iconst 28 0 lt 29 27 28 -store __and_26_3920 29 -brif 29 L3920 L3921 -label L3920 +store __and_26_3977 29 +brif 29 L3977 L3978 +label L3977 load 30 val_idx iconst 31 0 gte 32 30 31 -store __and_26_3920 32 -label L3921 -load 33 __and_26_3920 -brif 33 L3918 L3919 -label L3918 +store __and_26_3977 32 +label L3978 +load 33 __and_26_3977 +brif 33 L3975 L3976 +label L3975 load 34 vn load 35 val_idx call 36 ast_get_node struct:Node 1 35 call 37 pith_struct_release void 1 34 store vn 36 iconst 38 0 -store __and_38_3925 38 +store __and_38_3982 38 load 39 vn field 40 39 0 string kind strref 41 m46s44 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __and_38_3925 42 -brif 42 L3925 L3926 -label L3925 +store __and_38_3982 42 +brif 42 L3982 L3983 +label L3982 load 44 vn field 45 44 16 list children call 46 pith_list_len int 1 45 iconst 47 0 gt 48 46 47 -store __and_38_3925 48 -label L3926 -load 49 __and_38_3925 -brif 49 L3923 L3924 -label L3923 +store __and_38_3982 48 +label L3983 +load 49 __and_38_3982 +brif 49 L3980 L3981 +label L3980 load 50 callee_n load 51 vn field 52 51 16 list children @@ -159411,24 +159774,24 @@ call 55 ast_get_node struct:Node 1 54 call 56 pith_struct_release void 1 50 store callee_n 55 iconst 57 0 -store __and_57_3930 57 +store __and_57_3987 57 load 58 callee_n field 59 58 0 string kind strref 60 m46s37 call 61 pith_cstring_eq bool 2 59 60 call 62 pith_cstring_release void 1 60 -store __and_57_3930 61 -brif 61 L3930 L3931 -label L3930 +store __and_57_3987 61 +brif 61 L3987 L3988 +label L3987 load 63 ir_emitter_core_ir_closure_return_kinds load 64 callee_n field 65 64 8 string value call 66 contains_key bool 2 63 65 -store __and_57_3930 66 -label L3931 -load 67 __and_57_3930 -brif 67 L3928 L3929 -label L3928 +store __and_57_3987 66 +label L3988 +load 67 __and_57_3987 +brif 67 L3985 L3986 +label L3985 load 68 ir_builder_ir_var_types load 69 name load 70 ir_emitter_core_ir_closure_return_kinds @@ -159436,43 +159799,43 @@ load 71 callee_n field 72 71 8 string value call 73 map_get_strict string 2 70 72 call 74 map_insert void 3 68 69 73 -jmp L3927 -label L3929 -label L3927 -jmp L3922 -label L3924 +jmp L3984 +label L3986 +label L3984 +jmp L3979 +label L3981 iconst 75 0 -store __and_75_3934 75 +store __and_75_3991 75 iconst 76 0 -store __and_76_3934 76 +store __and_76_3991 76 load 77 vn field 78 77 0 string kind strref 79 m46s36 call 80 pith_cstring_eq bool 2 78 79 call 81 pith_cstring_release void 1 79 -store __and_76_3934 80 -brif 80 L3934 L3935 -label L3934 +store __and_76_3991 80 +brif 80 L3991 L3992 +label L3991 load 82 vn field 83 82 16 list children call 84 pith_list_len int 1 83 iconst 85 0 gt 86 84 85 -store __and_76_3934 86 -label L3935 -load 87 __and_76_3934 -store __and_75_3934 87 -brif 87 L3936 L3937 -label L3936 +store __and_76_3991 86 +label L3992 +load 87 __and_76_3991 +store __and_75_3991 87 +brif 87 L3993 L3994 +label L3993 load 88 ir_emitter_core_ir_current_impl_type call 89 string_len int 1 88 iconst 90 0 gt 91 89 90 -store __and_75_3934 91 -label L3937 -load 92 __and_75_3934 -brif 92 L3932 L3933 -label L3932 +store __and_75_3991 91 +label L3994 +load 92 __and_75_3991 +brif 92 L3989 L3990 +label L3989 load 93 recv load 94 vn field 95 94 16 list children @@ -159486,8 +159849,8 @@ field 101 100 0 string kind strref 102 m46s515 call 103 pith_cstring_eq bool 2 101 102 call 104 pith_cstring_release void 1 102 -brif 103 L3939 L3940 -label L3939 +brif 103 L3996 L3997 +label L3996 load 105 field_kind load 106 ir_emitter_core_ir_current_impl_type call 107 ir_method_tables_ir_strip_type_args string 1 106 @@ -159501,24 +159864,24 @@ load 113 field_kind call 114 string_len int 1 113 iconst 115 0 gt 116 114 115 -brif 116 L3942 L3943 -label L3942 +brif 116 L3999 L4000 +label L3999 load 117 ir_emitter_core_ir_closure_return_kinds load 118 name load 119 field_kind call 120 map_insert void 3 117 118 119 -jmp L3941 -label L3943 -label L3941 -jmp L3938 -label L3940 -label L3938 -jmp L3922 -label L3933 -label L3922 -jmp L3917 -label L3919 -label L3917 +jmp L3998 +label L4000 +label L3998 +jmp L3995 +label L3997 +label L3995 +jmp L3979 +label L3990 +label L3979 +jmp L3974 +label L3976 +label L3974 load 121 target_type strref 122 m46s82 call 123 pith_cstring_release void 1 121 @@ -159526,8 +159889,8 @@ store target_type 122 load 124 type_idx iconst 125 0 gte 126 124 125 -brif 126 L3945 L3946 -label L3945 +brif 126 L4002 L4003 +label L4002 load 127 target_type load 128 type_idx call 129 ir_alias_registry_ir_resolve_type_node string 1 128 @@ -159537,15 +159900,15 @@ load 131 target_type call 132 string_len int 1 131 iconst 133 0 gt 134 132 133 -brif 134 L3948 L3949 -label L3948 +brif 134 L4005 L4006 +label L4005 load 135 ir_builder_ir_var_types load 136 name load 137 target_type call 138 map_insert void 3 135 136 137 -jmp L3947 -label L3949 -label L3947 +jmp L4004 +label L4006 +label L4004 load 139 map_value_type load 140 type_idx call 141 ir_alias_registry_ir_resolve_map_value_type_node string 1 140 @@ -159555,23 +159918,23 @@ load 143 map_value_type call 144 string_len int 1 143 iconst 145 0 gt 146 144 145 -brif 146 L3951 L3952 -label L3951 +brif 146 L4008 L4009 +label L4008 load 147 ir_emitter_core_ir_map_value_types load 148 name load 149 map_value_type call 150 map_insert void 3 147 148 149 -jmp L3950 -label L3952 -label L3950 -jmp L3944 -label L3946 -label L3944 +jmp L4007 +label L4009 +label L4007 +jmp L4001 +label L4003 +label L4001 load 151 val_idx iconst 152 0 gte 153 151 152 -brif 153 L3954 L3955 -label L3954 +brif 153 L4011 L4012 +label L4011 load 154 bind_kind load 155 name call 156 ir_emitter_core_ir_rc_local_kind string 1 155 @@ -159587,26 +159950,26 @@ iconst 163 1 sub 164 162 163 store old_r 164 iconst 165 0 -store __and_165_3959 165 +store __and_165_4016 165 load 166 tracked -store __and_165_3959 166 -brif 166 L3959 L3960 -label L3959 +store __and_165_4016 166 +brif 166 L4016 L4017 +label L4016 load 167 bind_kind call 168 ir_ownership_ir_rc_release_enabled bool 1 167 -store __and_165_3959 168 -label L3960 -load 169 __and_165_3959 -brif 169 L3957 L3958 -label L3957 +store __and_165_4016 168 +label L4017 +load 169 __and_165_4016 +brif 169 L4014 L4015 +label L4014 call 170 ir_builder_ir_reg int 0 store old_r 170 load 171 old_r load 172 name call 173 ir_emitter_core_ir_emit_name_load void 2 171 172 -jmp L3956 -label L3958 -label L3956 +jmp L4013 +label L4015 +label L4013 load 174 bind_target load 175 name load 176 target_type @@ -159628,8 +159991,8 @@ load 188 annot_ctor call 189 string_len int 1 188 iconst 190 0 gt 191 189 190 -brif 191 L3962 L3963 -label L3962 +brif 191 L4019 L4020 +label L4019 call 192 ir_builder_ir_reg int 0 store r 192 load 193 r @@ -159637,66 +160000,66 @@ load 194 annot_ctor strref 195 m46s20 call 196 ir_call_emit_ir_emit_call0 void 3 193 194 195 call 197 pith_cstring_release void 1 195 -jmp L3961 -label L3963 -label L3961 +jmp L4018 +label L4020 +label L4018 load 198 r iconst 199 0 lt 200 198 199 -brif 200 L3965 L3966 -label L3965 +brif 200 L4022 L4023 +label L4022 load 201 val_idx load 202 bind_target call 203 ir_emitter_core_ir_emit_value_for_target int 2 201 202 store r 203 -jmp L3964 -label L3966 -label L3964 +jmp L4021 +label L4023 +label L4021 iconst 204 0 -store __and_204_3970 204 +store __and_204_4027 204 iconst 205 0 -store __and_205_3970 205 +store __and_205_4027 205 load 206 tracked -store __and_205_3970 206 -brif 206 L3970 L3971 -label L3970 +store __and_205_4027 206 +brif 206 L4027 L4028 +label L4027 load 207 bind_target strref 208 m46s23 call 210 pith_cstring_eq bool 2 207 208 iconst 211 1 sub 209 211 210 call 212 pith_cstring_release void 1 208 -store __and_205_3970 209 -label L3971 -load 213 __and_205_3970 -store __and_204_3970 213 -brif 213 L3972 L3973 -label L3972 +store __and_205_4027 209 +label L4028 +load 213 __and_205_4027 +store __and_204_4027 213 +brif 213 L4029 L4030 +label L4029 load 214 val_idx call 215 ir_emitter_core_ir_string_expr_is_borrowed bool 1 214 -store __and_204_3970 215 -label L3973 -load 216 __and_204_3970 -brif 216 L3968 L3969 -label L3968 +store __and_204_4027 215 +label L4030 +load 216 __and_204_4027 +brif 216 L4025 L4026 +label L4025 load 217 r load 218 bind_kind call 219 ir_ownership_ir_rc_retain_reg void 2 217 218 -jmp L3967 -label L3969 -label L3967 +jmp L4024 +label L4026 +label L4024 load 220 old_r iconst 221 0 gte 222 220 221 -brif 222 L3975 L3976 -label L3975 +brif 222 L4032 L4033 +label L4032 load 223 old_r load 224 bind_kind load 225 name call 226 ir_emitter_core_ir_rc_release_local void 3 223 224 225 -jmp L3974 -label L3976 -label L3974 +jmp L4031 +label L4033 +label L4031 load 227 ir_builder_ir_var_regs load 228 name load 229 r @@ -159709,8 +160072,8 @@ load 235 name call 236 contains_key bool 2 234 235 iconst 238 1 sub 237 238 236 -brif 237 L3978 L3979 -label L3978 +brif 237 L4035 L4036 +label L4035 load 239 inferred load 240 val_idx call 241 ir_emitter_core_ir_infer_type string 1 240 @@ -159720,21 +160083,21 @@ load 243 inferred call 244 string_len int 1 243 iconst 245 0 gt 246 244 245 -brif 246 L3981 L3982 -label L3981 +brif 246 L4038 L4039 +label L4038 load 247 ir_builder_ir_var_types load 248 name load 249 inferred call 250 map_insert void 3 247 248 249 -jmp L3980 -label L3982 -label L3980 -jmp L3977 -label L3979 -label L3977 -jmp L3953 -label L3955 -label L3953 +jmp L4037 +label L4039 +label L4037 +jmp L4034 +label L4036 +label L4034 +jmp L4010 +label L4012 +label L4010 load 251 parts call 252 pith_struct_release void 1 251 load 253 name @@ -159781,8 +160144,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 gte 13 11 12 -brif 13 L3984 L3985 -label L3984 +brif 13 L4041 L4042 +label L4041 load 14 node field 15 14 16 list children iconst 16 0 @@ -159792,8 +160155,8 @@ field 19 18 16 list children iconst 20 1 call 21 pith_list_get_value_strict int 2 19 20 call 22 ir_emitter_core_ir_emit_index_assignment bool 2 17 21 -brif 22 L3987 L3988 -label L3987 +brif 22 L4044 L4045 +label L4044 load 23 name call 24 pith_cstring_release void 1 23 load 25 legacy_kind @@ -159802,18 +160165,18 @@ load 27 legacy_target call 28 pith_cstring_release void 1 27 iconst 29 0 ret 29 -label L3988 -label L3986 -jmp L3983 -label L3985 -label L3983 +label L4045 +label L4043 +jmp L4040 +label L4042 +label L4040 load 30 node field 31 30 16 list children call 32 pith_list_len int 1 31 iconst 33 0 gt 34 32 33 -brif 34 L3990 L3991 -label L3990 +brif 34 L4047 L4048 +label L4047 load 35 legacy_kind load 36 name call 37 ir_emitter_core_ir_lookup_name_type string 1 36 @@ -159833,82 +160196,82 @@ iconst 48 1 sub 49 47 48 store old_r 49 iconst 50 0 -store __and_50_3995 50 +store __and_50_4052 50 load 51 legacy_kind call 52 string_len int 1 51 iconst 53 0 gt 54 52 53 -store __and_50_3995 54 -brif 54 L3995 L3996 -label L3995 +store __and_50_4052 54 +brif 54 L4052 L4053 +label L4052 load 55 legacy_kind call 56 ir_ownership_ir_rc_release_enabled bool 1 55 -store __and_50_3995 56 -label L3996 -load 57 __and_50_3995 -brif 57 L3993 L3994 -label L3993 +store __and_50_4052 56 +label L4053 +load 57 __and_50_4052 +brif 57 L4050 L4051 +label L4050 iconst 58 0 -store __or_58_4000 58 +store __or_58_4057 58 load 59 tracked -store __or_58_4000 59 -brif 59 L4001 L4000 -label L4000 +store __or_58_4057 59 +brif 59 L4058 L4057 +label L4057 iconst 60 0 -store __and_60_4002 60 +store __and_60_4059 60 load 61 legacy_kind strref 62 m46s675 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __and_60_4002 63 -brif 63 L4002 L4003 -label L4002 +store __and_60_4059 63 +brif 63 L4059 L4060 +label L4059 load 65 ir_alias_registry_ir_global_string_names load 66 name iconst 67 -1 -store __list_index_result_L4004 67 +store __list_index_result_L4061 67 iconst 68 0 -store __list_index_i_L4005 68 +store __list_index_i_L4062 68 call 69 pith_list_len int 1 65 -label L4006 -load 70 __list_index_i_L4005 +label L4063 +load 70 __list_index_i_L4062 lt 71 70 69 -brif 71 L4007 L4010 -label L4007 +brif 71 L4064 L4067 +label L4064 call 72 pith_list_get_value string 2 65 70 call 73 pith_cstring_eq bool 2 72 66 -brif 73 L4008 L4009 -label L4008 -store __list_index_result_L4004 70 -jmp L4010 -label L4009 +brif 73 L4065 L4066 +label L4065 +store __list_index_result_L4061 70 +jmp L4067 +label L4066 iconst 74 1 add 75 70 74 -store __list_index_i_L4005 75 -jmp L4006 -label L4010 -load 76 __list_index_result_L4004 +store __list_index_i_L4062 75 +jmp L4063 +label L4067 +load 76 __list_index_result_L4061 iconst 77 0 gte 78 76 77 -store __and_60_4002 78 -label L4003 -load 79 __and_60_4002 -store __or_58_4000 79 -label L4001 -load 80 __or_58_4000 -brif 80 L3998 L3999 -label L3998 +store __and_60_4059 78 +label L4060 +load 79 __and_60_4059 +store __or_58_4057 79 +label L4058 +load 80 __or_58_4057 +brif 80 L4055 L4056 +label L4055 call 81 ir_builder_ir_reg int 0 store old_r 81 load 82 old_r load 83 name call 84 ir_emitter_core_ir_emit_name_load void 2 82 83 -jmp L3997 -label L3999 -label L3997 -jmp L3992 -label L3994 -label L3992 +jmp L4054 +label L4056 +label L4054 +jmp L4049 +label L4051 +label L4049 load 85 legacy_target load 86 name load 87 name @@ -159925,56 +160288,56 @@ load 96 legacy_target call 97 ir_emitter_core_ir_emit_value_for_target int 2 95 96 store r 97 iconst 98 0 -store __and_98_4014 98 +store __and_98_4071 98 iconst 99 0 -store __and_99_4014 99 +store __and_99_4071 99 load 100 legacy_kind call 101 string_len int 1 100 iconst 102 0 gt 103 101 102 -store __and_99_4014 103 -brif 103 L4014 L4015 -label L4014 +store __and_99_4071 103 +brif 103 L4071 L4072 +label L4071 load 104 legacy_target strref 105 m46s23 call 107 pith_cstring_eq bool 2 104 105 iconst 108 1 sub 106 108 107 call 109 pith_cstring_release void 1 105 -store __and_99_4014 106 -label L4015 -load 110 __and_99_4014 -store __and_98_4014 110 -brif 110 L4016 L4017 -label L4016 +store __and_99_4071 106 +label L4072 +load 110 __and_99_4071 +store __and_98_4071 110 +brif 110 L4073 L4074 +label L4073 load 111 node field 112 111 16 list children iconst 113 0 call 114 pith_list_get_value_strict int 2 112 113 call 115 ir_emitter_core_ir_string_expr_is_borrowed bool 1 114 -store __and_98_4014 115 -label L4017 -load 116 __and_98_4014 -brif 116 L4012 L4013 -label L4012 +store __and_98_4071 115 +label L4074 +load 116 __and_98_4071 +brif 116 L4069 L4070 +label L4069 load 117 r load 118 legacy_kind call 119 ir_ownership_ir_rc_retain_reg void 2 117 118 -jmp L4011 -label L4013 -label L4011 +jmp L4068 +label L4070 +label L4068 load 120 old_r iconst 121 0 gte 122 120 121 -brif 122 L4019 L4020 -label L4019 +brif 122 L4076 L4077 +label L4076 load 123 old_r load 124 legacy_kind load 125 name call 126 ir_emitter_core_ir_rc_release_local void 3 123 124 125 -jmp L4018 -label L4020 -label L4018 +jmp L4075 +label L4077 +label L4075 load 127 ir_builder_ir_var_regs load 128 name load 129 r @@ -159982,9 +160345,9 @@ call 130 map_insert void 3 127 128 129 load 131 name load 132 r call 133 ir_emitter_core_ir_emit_name_store void 2 131 132 -jmp L3989 -label L3991 -label L3989 +jmp L4046 +label L4048 +label L4046 load 134 name call 135 pith_cstring_release void 1 134 load 136 legacy_kind @@ -160014,8 +160377,8 @@ store direct 9 load 11 ir_struct_registry_ir_struct_field_index_lookup load 12 direct call 13 contains_key bool 2 11 12 -brif 13 L4022 L4023 -label L4022 +brif 13 L4079 L4080 +label L4079 load 14 direct load 15 recv_type call 16 pith_cstring_release void 1 15 @@ -160024,8 +160387,8 @@ call 18 pith_cstring_release void 1 17 load 19 base_key call 20 pith_cstring_release void 1 19 ret 14 -label L4023 -label L4021 +label L4080 +label L4078 load 21 recv_type load 22 recv_idx call 23 ir_emitter_core_ir_field_receiver_type string 1 22 @@ -160041,8 +160404,8 @@ load 30 recv_type call 32 pith_cstring_eq bool 2 29 30 iconst 33 1 sub 31 33 32 -brif 31 L4025 L4026 -label L4025 +brif 31 L4082 L4083 +label L4082 load 34 base_key load 35 base strref 36 m46s26 @@ -160056,8 +160419,8 @@ store base_key 40 load 43 ir_struct_registry_ir_struct_field_index_lookup load 44 base_key call 45 contains_key bool 2 43 44 -brif 45 L4028 L4029 -label L4028 +brif 45 L4085 L4086 +label L4085 load 46 base_key load 47 direct call 48 pith_cstring_release void 1 47 @@ -160066,11 +160429,11 @@ call 50 pith_cstring_release void 1 49 load 51 base call 52 pith_cstring_release void 1 51 ret 46 -label L4029 -label L4027 -jmp L4024 -label L4026 -label L4024 +label L4086 +label L4084 +jmp L4081 +label L4083 +label L4081 strref 53 m46s82 load 54 direct call 55 pith_cstring_release void 1 54 @@ -160113,7 +160476,7 @@ call 10 ast_get_node struct:Node 1 9 call 11 pith_struct_release void 1 8 store target 10 iconst 12 0 -store __or_12_4033 12 +store __or_12_4090 12 load 13 target field 14 13 0 string kind strref 15 m46s36 @@ -160121,19 +160484,19 @@ call 17 pith_cstring_eq bool 2 14 15 iconst 18 1 sub 16 18 17 call 19 pith_cstring_release void 1 15 -store __or_12_4033 16 -brif 16 L4034 L4033 -label L4033 +store __or_12_4090 16 +brif 16 L4091 L4090 +label L4090 load 20 target field 21 20 16 list children call 22 pith_list_len int 1 21 iconst 23 0 eq 24 22 23 -store __or_12_4033 24 -label L4034 -load 25 __or_12_4033 -brif 25 L4031 L4032 -label L4031 +store __or_12_4090 24 +label L4091 +load 25 __or_12_4090 +brif 25 L4088 L4089 +label L4088 iconst 26 0 load 27 target call 28 pith_struct_release void 1 27 @@ -160148,8 +160511,8 @@ call 36 pith_cstring_release void 1 35 load 37 weak_struct call 38 pith_cstring_release void 1 37 ret 26 -label L4032 -label L4030 +label L4089 +label L4087 load 39 fname load 40 target_idx call 41 ast_node_value string 1 40 @@ -160170,8 +160533,8 @@ load 52 lookup_key call 53 string_len int 1 52 iconst 54 0 eq 55 53 54 -brif 55 L4036 L4037 -label L4036 +brif 55 L4093 L4094 +label L4093 iconst 56 0 load 57 target call 58 pith_struct_release void 1 57 @@ -160186,8 +160549,8 @@ call 66 pith_cstring_release void 1 65 load 67 weak_struct call 68 pith_cstring_release void 1 67 ret 56 -label L4037 -label L4035 +label L4094 +label L4092 load 69 ir_struct_registry_ir_struct_field_index_lookup load 70 lookup_key call 71 map_get_strict string 2 69 70 @@ -160206,16 +160569,16 @@ load 80 value_type call 81 string_len int 1 80 iconst 82 0 eq 83 81 82 -brif 83 L4039 L4040 -label L4039 +brif 83 L4096 L4097 +label L4096 load 84 value_type load 85 value_idx call 86 ir_emitter_core_ir_infer_type string 1 85 call 87 pith_cstring_release void 1 84 store value_type 86 -jmp L4038 -label L4040 -label L4038 +jmp L4095 +label L4097 +label L4095 load 88 fassign_kind load 89 value_type call 90 ir_struct_registry_ir_rc_kind string 1 89 @@ -160237,8 +160600,8 @@ store weak_struct 102 load 104 weak_struct load 105 fname call 106 ir_emitter_core_ir_struct_field_is_weak bool 2 104 105 -brif 106 L4042 L4043 -label L4042 +brif 106 L4099 L4100 +label L4099 call 107 ir_builder_ir_reg int 0 store old_w 107 load 108 old_w @@ -160309,28 +160672,28 @@ call 170 pith_cstring_release void 1 169 load 171 weak_struct call 172 pith_cstring_release void 1 171 ret 160 -label L4043 -label L4041 +label L4100 +label L4098 iconst 173 0 iconst 174 1 sub 175 173 174 store old_r 175 iconst 176 0 -store __and_176_4047 176 +store __and_176_4104 176 load 177 fassign_kind call 178 string_len int 1 177 iconst 179 0 gt 180 178 179 -store __and_176_4047 180 -brif 180 L4047 L4048 -label L4047 +store __and_176_4104 180 +brif 180 L4104 L4105 +label L4104 load 181 fassign_kind call 182 ir_ownership_ir_rc_release_enabled bool 1 181 -store __and_176_4047 182 -label L4048 -load 183 __and_176_4047 -brif 183 L4045 L4046 -label L4045 +store __and_176_4104 182 +label L4105 +load 183 __and_176_4104 +brif 183 L4102 L4103 +label L4102 call 184 ir_builder_ir_reg int 0 store old_r 184 load 185 old_r @@ -160339,49 +160702,49 @@ load 187 lookup_key load 188 fname load 189 value_type call 190 ir_alias_registry_ir_emit_named_field_access void 5 185 186 187 188 189 -jmp L4044 -label L4046 -label L4044 +jmp L4101 +label L4103 +label L4101 load 191 value_idx load 192 value_type call 193 ir_emitter_core_ir_emit_value_for_target int 2 191 192 store value_r 193 iconst 194 0 -store __and_194_4052 194 +store __and_194_4109 194 iconst 195 0 -store __and_195_4052 195 +store __and_195_4109 195 load 196 fassign_kind call 197 string_len int 1 196 iconst 198 0 gt 199 197 198 -store __and_195_4052 199 -brif 199 L4052 L4053 -label L4052 +store __and_195_4109 199 +brif 199 L4109 L4110 +label L4109 load 200 fassign_kind strref 201 m46s23 call 203 pith_cstring_eq bool 2 200 201 iconst 204 1 sub 202 204 203 call 205 pith_cstring_release void 1 201 -store __and_195_4052 202 -label L4053 -load 206 __and_195_4052 -store __and_194_4052 206 -brif 206 L4054 L4055 -label L4054 +store __and_195_4109 202 +label L4110 +load 206 __and_195_4109 +store __and_194_4109 206 +brif 206 L4111 L4112 +label L4111 load 207 value_idx call 208 ir_emitter_core_ir_string_expr_is_borrowed bool 1 207 -store __and_194_4052 208 -label L4055 -load 209 __and_194_4052 -brif 209 L4050 L4051 -label L4050 +store __and_194_4109 208 +label L4112 +load 209 __and_194_4109 +brif 209 L4107 L4108 +label L4107 load 210 value_r load 211 fassign_kind call 212 ir_ownership_ir_rc_retain_reg void 2 210 211 -jmp L4049 -label L4051 -label L4049 +jmp L4106 +label L4108 +label L4106 strref 213 m46s1038 load 214 obj_r call 215 int_to_string string 1 214 @@ -160411,14 +160774,14 @@ call 238 pith_cstring_release void 1 234 load 239 old_r iconst 240 0 gte 241 239 240 -brif 241 L4057 L4058 -label L4057 +brif 241 L4114 L4115 +label L4114 load 242 old_r load 243 fassign_kind call 244 ir_ownership_ir_rc_release_reg void 2 242 243 -jmp L4056 -label L4058 -label L4056 +jmp L4113 +label L4115 +label L4113 iconst 245 1 load 246 target call 247 pith_struct_release void 1 246 @@ -160464,7 +160827,7 @@ call 8 ast_get_node struct:Node 1 7 call 9 pith_struct_release void 1 6 store target 8 iconst 10 0 -store __or_10_4062 10 +store __or_10_4119 10 load 11 target field 12 11 0 string kind strref 13 m46s36 @@ -160472,19 +160835,19 @@ call 15 pith_cstring_eq bool 2 12 13 iconst 16 1 sub 14 16 15 call 17 pith_cstring_release void 1 13 -store __or_10_4062 14 -brif 14 L4063 L4062 -label L4062 +store __or_10_4119 14 +brif 14 L4120 L4119 +label L4119 load 18 target field 19 18 16 list children call 20 pith_list_len int 1 19 iconst 21 0 eq 22 20 21 -store __or_10_4062 22 -label L4063 -load 23 __or_10_4062 -brif 23 L4060 L4061 -label L4060 +store __or_10_4119 22 +label L4120 +load 23 __or_10_4119 +brif 23 L4117 L4118 +label L4117 iconst 24 0 load 25 target call 26 pith_struct_release void 1 25 @@ -160493,8 +160856,8 @@ call 28 pith_cstring_release void 1 27 load 29 lookup_key call 30 pith_cstring_release void 1 29 ret 24 -label L4061 -label L4059 +label L4118 +label L4116 load 31 fname load 32 target_idx call 33 ast_node_value string 1 32 @@ -160515,8 +160878,8 @@ load 44 lookup_key call 45 string_len int 1 44 iconst 46 0 eq 47 45 46 -brif 47 L4065 L4066 -label L4065 +brif 47 L4122 L4123 +label L4122 iconst 48 0 load 49 target call 50 pith_struct_release void 1 49 @@ -160525,8 +160888,8 @@ call 52 pith_cstring_release void 1 51 load 53 lookup_key call 54 pith_cstring_release void 1 53 ret 48 -label L4066 -label L4064 +label L4123 +label L4121 load 55 ir_struct_registry_ir_struct_field_index_lookup load 56 lookup_key call 57 map_get_strict string 2 55 56 @@ -160622,24 +160985,24 @@ call 11 pith_cstring_retain void 1 10 call 12 pith_cstring_release void 1 8 store op 10 iconst 13 0 -store __and_13_4070 13 +store __and_13_4127 13 load 14 op strref 15 m46s546 call 16 pith_cstring_eq bool 2 14 15 call 17 pith_cstring_release void 1 15 -store __and_13_4070 16 -brif 16 L4070 L4071 -label L4070 +store __and_13_4127 16 +brif 16 L4127 L4128 +label L4127 load 18 node field 19 18 16 list children call 20 pith_list_len int 1 19 iconst 21 2 gte 22 20 21 -store __and_13_4070 22 -label L4071 -load 23 __and_13_4070 -brif 23 L4068 L4069 -label L4068 +store __and_13_4127 22 +label L4128 +load 23 __and_13_4127 +brif 23 L4125 L4126 +label L4125 load 24 node field 25 24 16 list children iconst 26 0 @@ -160649,8 +161012,8 @@ field 29 28 16 list children iconst 30 1 call 31 pith_list_get_value_strict int 2 29 30 call 32 ir_emitter_core_ir_emit_index_assignment bool 2 27 31 -brif 32 L4073 L4074 -label L4073 +brif 32 L4130 L4131 +label L4130 load 33 op call 34 pith_cstring_release void 1 33 load 35 tn @@ -160667,8 +161030,8 @@ load 45 compound_op call 46 pith_cstring_release void 1 45 iconst 47 0 ret 47 -label L4074 -label L4072 +label L4131 +label L4129 load 48 node field 49 48 16 list children iconst 50 0 @@ -160678,8 +161041,8 @@ field 53 52 16 list children iconst 54 1 call 55 pith_list_get_value_strict int 2 53 54 call 56 ir_emitter_core_ir_emit_field_assignment bool 2 51 55 -brif 56 L4076 L4077 -label L4076 +brif 56 L4133 L4134 +label L4133 load 57 op call 58 pith_cstring_release void 1 57 load 59 tn @@ -160696,8 +161059,8 @@ load 69 compound_op call 70 pith_cstring_release void 1 69 iconst 71 0 ret 71 -label L4077 -label L4075 +label L4134 +label L4132 load 72 tn load 73 node field 74 73 16 list children @@ -160730,8 +161093,8 @@ load 96 assign_kind call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L4079 L4080 -label L4079 +brif 99 L4136 L4137 +label L4136 load 100 assign_kind load 101 name call 102 ir_emitter_core_ir_lookup_name_type string 1 101 @@ -160739,9 +161102,9 @@ call 103 ir_struct_registry_ir_rc_kind string 1 102 call 104 pith_cstring_release void 1 102 call 105 pith_cstring_release void 1 100 store assign_kind 103 -jmp L4078 -label L4080 -label L4078 +jmp L4135 +label L4137 +label L4135 load 106 name call 107 ir_emitter_core_ir_rc_local_kind string 1 106 call 108 string_len int 1 107 @@ -160754,82 +161117,82 @@ iconst 113 1 sub 114 112 113 store old_r 114 iconst 115 0 -store __and_115_4084 115 +store __and_115_4141 115 load 116 assign_kind call 117 string_len int 1 116 iconst 118 0 gt 119 117 118 -store __and_115_4084 119 -brif 119 L4084 L4085 -label L4084 +store __and_115_4141 119 +brif 119 L4141 L4142 +label L4141 load 120 assign_kind call 121 ir_ownership_ir_rc_release_enabled bool 1 120 -store __and_115_4084 121 -label L4085 -load 122 __and_115_4084 -brif 122 L4082 L4083 -label L4082 +store __and_115_4141 121 +label L4142 +load 122 __and_115_4141 +brif 122 L4139 L4140 +label L4139 iconst 123 0 -store __or_123_4089 123 +store __or_123_4146 123 load 124 tracked -store __or_123_4089 124 -brif 124 L4090 L4089 -label L4089 +store __or_123_4146 124 +brif 124 L4147 L4146 +label L4146 iconst 125 0 -store __and_125_4091 125 +store __and_125_4148 125 load 126 assign_kind strref 127 m46s675 call 128 pith_cstring_eq bool 2 126 127 call 129 pith_cstring_release void 1 127 -store __and_125_4091 128 -brif 128 L4091 L4092 -label L4091 +store __and_125_4148 128 +brif 128 L4148 L4149 +label L4148 load 130 ir_alias_registry_ir_global_string_names load 131 name iconst 132 -1 -store __list_index_result_L4093 132 +store __list_index_result_L4150 132 iconst 133 0 -store __list_index_i_L4094 133 +store __list_index_i_L4151 133 call 134 pith_list_len int 1 130 -label L4095 -load 135 __list_index_i_L4094 +label L4152 +load 135 __list_index_i_L4151 lt 136 135 134 -brif 136 L4096 L4099 -label L4096 +brif 136 L4153 L4156 +label L4153 call 137 pith_list_get_value string 2 130 135 call 138 pith_cstring_eq bool 2 137 131 -brif 138 L4097 L4098 -label L4097 -store __list_index_result_L4093 135 -jmp L4099 -label L4098 +brif 138 L4154 L4155 +label L4154 +store __list_index_result_L4150 135 +jmp L4156 +label L4155 iconst 139 1 add 140 135 139 -store __list_index_i_L4094 140 -jmp L4095 -label L4099 -load 141 __list_index_result_L4093 +store __list_index_i_L4151 140 +jmp L4152 +label L4156 +load 141 __list_index_result_L4150 iconst 142 0 gte 143 141 142 -store __and_125_4091 143 -label L4092 -load 144 __and_125_4091 -store __or_123_4089 144 -label L4090 -load 145 __or_123_4089 -brif 145 L4087 L4088 -label L4087 +store __and_125_4148 143 +label L4149 +load 144 __and_125_4148 +store __or_123_4146 144 +label L4147 +load 145 __or_123_4146 +brif 145 L4144 L4145 +label L4144 call 146 ir_builder_ir_reg int 0 store old_r 146 load 147 old_r load 148 name call 149 ir_emitter_core_ir_emit_name_load void 2 147 148 -jmp L4086 -label L4088 -label L4086 -jmp L4081 -label L4083 -label L4081 +jmp L4143 +label L4145 +label L4143 +jmp L4138 +label L4140 +label L4138 load 150 assign_target load 151 name load 152 target_type @@ -160844,55 +161207,55 @@ load 159 assign_target call 160 ir_emitter_core_ir_emit_value_for_target int 2 158 159 store r 160 iconst 161 0 -store __and_161_4103 161 +store __and_161_4160 161 iconst 162 0 -store __and_162_4103 162 +store __and_162_4160 162 load 163 assign_kind call 164 string_len int 1 163 iconst 165 0 gt 166 164 165 -store __and_162_4103 166 -brif 166 L4103 L4104 -label L4103 +store __and_162_4160 166 +brif 166 L4160 L4161 +label L4160 load 167 assign_target strref 168 m46s23 call 170 pith_cstring_eq bool 2 167 168 iconst 171 1 sub 169 171 170 call 172 pith_cstring_release void 1 168 -store __and_162_4103 169 -label L4104 -load 173 __and_162_4103 -store __and_161_4103 173 -brif 173 L4105 L4106 -label L4105 +store __and_162_4160 169 +label L4161 +load 173 __and_162_4160 +store __and_161_4160 173 +brif 173 L4162 L4163 +label L4162 load 174 node field 175 174 16 list children iconst 176 1 call 177 pith_list_get_value_strict int 2 175 176 call 178 ir_emitter_core_ir_string_expr_is_borrowed bool 1 177 -store __and_161_4103 178 -label L4106 -load 179 __and_161_4103 -brif 179 L4101 L4102 -label L4101 +store __and_161_4160 178 +label L4163 +load 179 __and_161_4160 +brif 179 L4158 L4159 +label L4158 load 180 r load 181 assign_kind call 182 ir_ownership_ir_rc_retain_reg void 2 180 181 -jmp L4100 -label L4102 -label L4100 +jmp L4157 +label L4159 +label L4157 load 183 old_r iconst 184 0 gte 185 183 184 -brif 185 L4108 L4109 -label L4108 +brif 185 L4165 L4166 +label L4165 load 186 old_r load 187 assign_kind call 188 ir_ownership_ir_rc_release_reg void 2 186 187 -jmp L4107 -label L4109 -label L4107 +jmp L4164 +label L4166 +label L4164 load 189 name load 190 r call 191 ir_emitter_core_ir_emit_name_store void 2 189 190 @@ -160912,32 +161275,32 @@ load 204 compound_op call 205 pith_cstring_release void 1 204 iconst 206 0 ret 206 -label L4069 -label L4067 +label L4126 +label L4124 load 207 compound_op load 208 op call 209 ir_operator_helpers_ir_compound_assignment_ir_op string 1 208 call 210 pith_cstring_release void 1 207 store compound_op 209 iconst 211 0 -store __and_211_4113 211 +store __and_211_4170 211 load 212 compound_op call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -store __and_211_4113 215 -brif 215 L4113 L4114 -label L4113 +store __and_211_4170 215 +brif 215 L4170 L4171 +label L4170 load 216 node field 217 216 16 list children call 218 pith_list_len int 1 217 iconst 219 2 gte 220 218 219 -store __and_211_4113 220 -label L4114 -load 221 __and_211_4113 -brif 221 L4111 L4112 -label L4111 +store __and_211_4170 220 +label L4171 +load 221 __and_211_4170 +brif 221 L4168 L4169 +label L4168 load 222 node field 223 222 16 list children iconst 224 0 @@ -160948,8 +161311,8 @@ iconst 228 1 call 229 pith_list_get_value_strict int 2 227 228 load 230 compound_op call 231 ir_emitter_core_ir_emit_field_compound_assignment bool 3 225 229 230 -brif 231 L4116 L4117 -label L4116 +brif 231 L4173 L4174 +label L4173 load 232 op call 233 pith_cstring_release void 1 232 load 234 tn @@ -160966,8 +161329,8 @@ load 244 compound_op call 245 pith_cstring_release void 1 244 iconst 246 0 ret 246 -label L4117 -label L4115 +label L4174 +label L4172 load 247 tn load 248 node field 249 248 16 list children @@ -161003,9 +161366,9 @@ call 273 ir_operator_helpers_ir_emit_simple_binary void 4 269 270 271 272 load 274 name load 275 res call 276 ir_emitter_core_ir_emit_name_store void 2 274 275 -jmp L4110 -label L4112 -label L4110 +jmp L4167 +label L4169 +label L4167 load 277 op call 278 pith_cstring_release void 1 277 load 279 tn @@ -161032,8 +161395,8 @@ load 4 branch field 5 4 0 int cond_idx iconst 6 0 gte 7 5 6 -brif 7 L4119 L4120 -label L4119 +brif 7 L4176 L4177 +label L4176 load 8 branch field 9 8 0 int cond_idx call 10 ir_emitter_core_ir_expr int 1 9 @@ -161060,9 +161423,9 @@ concat 29 25 28 call 30 pith_cstring_release void 1 25 call 31 ir_builder_ir_emit void 1 29 call 32 pith_cstring_release void 1 29 -jmp L4118 -label L4120 -label L4118 +jmp L4175 +label L4177 +label L4175 load 33 then_label call 34 ir_call_emit_ir_emit_label void 1 33 iconst 35 0 @@ -161071,28 +161434,28 @@ load 36 branch field 37 36 8 int body_idx iconst 38 0 gte 39 37 38 -brif 39 L4122 L4123 -label L4122 +brif 39 L4179 L4180 +label L4179 load 40 branch field 41 40 8 int body_idx call 42 ir_emitter_core_ir_block int 1 41 -jmp L4121 -label L4123 -label L4121 +jmp L4178 +label L4180 +label L4178 load 43 ir_call_emit_ir_last_was_ret iconst 45 1 sub 44 45 43 -brif 44 L4125 L4126 -label L4125 +brif 44 L4182 L4183 +label L4182 strref 46 m46s833 load 47 end_label concat 48 46 47 call 49 pith_cstring_release void 1 46 call 50 ir_builder_ir_emit void 1 48 call 51 pith_cstring_release void 1 48 -jmp L4124 -label L4126 -label L4124 +jmp L4181 +label L4183 +label L4181 load 52 next_label call 53 ir_call_emit_ir_emit_label void 1 52 iconst 54 0 @@ -161166,8 +161529,8 @@ load 58 index_name call 59 string_len int 1 58 iconst 60 0 gt 61 59 60 -brif 61 L4128 L4129 -label L4128 +brif 61 L4185 L4186 +label L4185 call 62 ir_builder_ir_reg int 0 store idx_val 62 strref 63 m46s829 @@ -161192,9 +161555,9 @@ load 81 ir_builder_ir_var_types load 82 index_name strref 83 m46s671 call 84 pith_map_insert_cstr_owned void 3 81 82 83 -jmp L4127 -label L4129 -label L4127 +jmp L4184 +label L4186 +label L4184 load 85 item_ret_kind call 86 pith_cstring_release void 1 85 iconst 87 0 @@ -161223,109 +161586,109 @@ load 13 kind strref 14 m46s554 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -brif 15 L4131 L4132 -label L4131 +brif 15 L4188 L4189 +label L4188 load 17 node field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 gt 21 19 20 -brif 21 L4134 L4135 -label L4134 +brif 21 L4191 L4192 +label L4191 load 22 node field 23 22 16 list children iconst 24 0 call 25 pith_list_get_value_strict int 2 23 24 iconst 26 0 call 27 ir_emitter_core_ir_defer_register void 2 25 26 -jmp L4133 -label L4135 -label L4133 +jmp L4190 +label L4192 +label L4190 load 28 node call 29 pith_struct_release void 1 28 load 30 kind call 31 pith_cstring_release void 1 30 iconst 32 0 ret 32 -label L4132 -label L4130 +label L4189 +label L4187 load 33 kind strref 34 m46s553 call 35 pith_cstring_eq bool 2 33 34 call 36 pith_cstring_release void 1 34 -brif 35 L4137 L4138 -label L4137 +brif 35 L4194 L4195 +label L4194 load 37 node field 38 37 16 list children call 39 pith_list_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L4140 L4141 -label L4140 +brif 41 L4197 L4198 +label L4197 load 42 node field 43 42 16 list children iconst 44 0 call 45 pith_list_get_value_strict int 2 43 44 iconst 46 1 call 47 ir_emitter_core_ir_defer_register void 2 45 46 -jmp L4139 -label L4141 -label L4139 +jmp L4196 +label L4198 +label L4196 load 48 node call 49 pith_struct_release void 1 48 load 50 kind call 51 pith_cstring_release void 1 50 iconst 52 0 ret 52 -label L4138 -label L4136 +label L4195 +label L4193 load 53 kind call 54 ir_control_helpers_ir_stmt_is_expr bool 1 53 -brif 54 L4143 L4144 -label L4143 +brif 54 L4200 L4201 +label L4200 load 55 idx call 56 ir_emitter_core_ir_expr int 1 55 store r 56 iconst 57 0 -store __or_57_4148 57 +store __or_57_4205 57 load 58 kind strref 59 m46s44 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -store __or_57_4148 60 -brif 60 L4149 L4148 -label L4148 +store __or_57_4205 60 +brif 60 L4206 L4205 +label L4205 load 62 kind strref 63 m46s129 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_57_4148 64 -label L4149 -load 66 __or_57_4148 -brif 66 L4146 L4147 -label L4146 +store __or_57_4205 64 +label L4206 +load 66 __or_57_4205 +brif 66 L4203 L4204 +label L4203 load 67 idx call 68 checker_c_get_expr_type int 1 67 store stmt_tid 68 iconst 69 0 -store __and_69_4153 69 +store __and_69_4210 69 load 70 stmt_tid iconst 71 0 gte 72 70 71 -store __and_69_4153 72 -brif 72 L4153 L4154 -label L4153 +store __and_69_4210 72 +brif 72 L4210 L4211 +label L4210 load 73 stmt_tid call 74 types_get_type_info struct:TypeInfo 1 73 field 75 74 0 string kind strref 76 m46s22 call 77 pith_cstring_eq bool 2 75 76 call 78 pith_cstring_release void 1 76 -store __and_69_4153 77 -label L4154 -load 79 __and_69_4153 -brif 79 L4151 L4152 -label L4151 +store __and_69_4210 77 +label L4211 +load 79 __and_69_4210 +brif 79 L4208 L4209 +label L4208 load 80 r load 81 stmt_tid call 82 ir_emitter_core_ir_emit_discard_result void 2 80 81 @@ -161335,50 +161698,50 @@ load 85 kind call 86 pith_cstring_release void 1 85 iconst 87 0 ret 87 -label L4152 -label L4150 -jmp L4145 -label L4147 -label L4145 +label L4209 +label L4207 +jmp L4202 +label L4204 +label L4202 iconst 88 0 -store __and_88_4158 88 +store __and_88_4215 88 load 89 idx call 90 ir_emitter_core_ir_infer_type string 1 89 strref 91 m46s675 call 92 pith_cstring_eq bool 2 90 91 call 93 pith_cstring_release void 1 90 call 94 pith_cstring_release void 1 91 -store __and_88_4158 92 -brif 92 L4158 L4159 -label L4158 +store __and_88_4215 92 +brif 92 L4215 L4216 +label L4215 load 95 idx call 96 ir_emitter_core_ir_string_expr_is_borrowed bool 1 95 iconst 98 1 sub 97 98 96 -store __and_88_4158 97 -label L4159 -load 99 __and_88_4158 -brif 99 L4156 L4157 -label L4156 +store __and_88_4215 97 +label L4216 +load 99 __and_88_4215 +brif 99 L4213 L4214 +label L4213 load 100 r call 101 ir_ownership_ir_string_release_reg void 1 100 -jmp L4155 -label L4157 -label L4155 +jmp L4212 +label L4214 +label L4212 load 102 node call 103 pith_struct_release void 1 102 load 104 kind call 105 pith_cstring_release void 1 104 iconst 106 0 ret 106 -label L4144 -label L4142 +label L4201 +label L4199 load 107 kind strref 108 m46s64 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L4161 L4162 -label L4161 +brif 109 L4218 L4219 +label L4218 load 111 idx call 112 ir_emitter_core_ir_block int 1 111 load 113 node @@ -161387,14 +161750,14 @@ load 115 kind call 116 pith_cstring_release void 1 115 iconst 117 0 ret 117 -label L4162 -label L4160 +label L4219 +label L4217 load 118 kind strref 119 m46s558 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -brif 120 L4164 L4165 -label L4164 +brif 120 L4221 L4222 +label L4221 load 122 node call 123 ir_emitter_core_ir_emit_return_stmt void 1 122 load 124 node @@ -161403,26 +161766,26 @@ load 126 kind call 127 pith_cstring_release void 1 126 iconst 128 0 ret 128 -label L4165 -label L4163 +label L4222 +label L4220 iconst 129 0 -store __or_129_4169 129 +store __or_129_4226 129 load 130 kind strref 131 m46s551 call 132 pith_cstring_eq bool 2 130 131 call 133 pith_cstring_release void 1 131 -store __or_129_4169 132 -brif 132 L4170 L4169 -label L4169 +store __or_129_4226 132 +brif 132 L4227 L4226 +label L4226 load 134 kind strref 135 m46s552 call 136 pith_cstring_eq bool 2 134 135 call 137 pith_cstring_release void 1 135 -store __or_129_4169 136 -label L4170 -load 138 __or_129_4169 -brif 138 L4167 L4168 -label L4167 +store __or_129_4226 136 +label L4227 +load 138 __or_129_4226 +brif 138 L4224 L4225 +label L4224 load 139 node call 140 ir_emitter_core_ir_emit_bind_stmt void 1 139 load 141 node @@ -161431,14 +161794,14 @@ load 143 kind call 144 pith_cstring_release void 1 143 iconst 145 0 ret 145 -label L4168 -label L4166 +label L4225 +label L4223 load 146 kind strref 147 m46s1201 call 148 pith_cstring_eq bool 2 146 147 call 149 pith_cstring_release void 1 147 -brif 148 L4172 L4173 -label L4172 +brif 148 L4229 L4230 +label L4229 load 150 node call 151 ir_emitter_core_ir_emit_assign_stmt void 1 150 load 152 node @@ -161447,14 +161810,14 @@ load 154 kind call 155 pith_cstring_release void 1 154 iconst 156 0 ret 156 -label L4173 -label L4171 +label L4230 +label L4228 load 157 kind strref 158 m46s574 call 159 pith_cstring_eq bool 2 157 158 call 160 pith_cstring_release void 1 158 -brif 159 L4175 L4176 -label L4175 +brif 159 L4232 L4233 +label L4232 load 161 node call 162 ir_emitter_core_ir_emit_compound_assignment void 1 161 load 163 node @@ -161463,8 +161826,8 @@ load 165 kind call 166 pith_cstring_release void 1 165 iconst 167 0 ret 167 -label L4176 -label L4174 +label L4233 +label L4231 load 168 idx load 169 node call 170 ir_emitter_core_ir_stmt_control void 2 168 169 @@ -161506,12 +161869,12 @@ iconst 17 0 store __for_idx_354 17 store __for_len_354 16 store __for_iter_354 15 -label L4177 +label L4234 load 18 __for_idx_354 load 19 __for_len_354 lt 20 18 19 -brif 20 L4178 L4180 -label L4178 +brif 20 L4235 L4237 +label L4235 load 21 __for_iter_354 load 22 __for_idx_354 call 23 pith_list_get_value unknown 2 21 22 @@ -161526,32 +161889,32 @@ field 29 28 0 string kind strref 30 m46s532 call 31 pith_cstring_eq bool 2 29 30 call 32 pith_cstring_release void 1 30 -brif 31 L4182 L4183 -label L4182 +brif 31 L4239 L4240 +label L4239 load 33 elif_indices load 34 __loopvar_354_child call 35 pith_list_push_value void 2 33 34 -jmp L4181 -label L4183 +jmp L4238 +label L4240 load 36 cn field 37 36 0 string kind strref 38 m46s530 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L4184 L4185 -label L4184 +brif 39 L4241 L4242 +label L4241 load 41 __loopvar_354_child store else_idx 41 -jmp L4181 -label L4185 -label L4181 -label L4179 +jmp L4238 +label L4242 +label L4238 +label L4236 load 42 __for_idx_354 iconst 43 1 add 44 42 43 store __for_idx_354 44 -jmp L4177 -label L4180 +jmp L4234 +label L4237 load 45 main_branch load 46 node call 47 ir_control_helpers_ir_collect_if_branch struct:IrIfBranch 1 46 @@ -161580,12 +161943,12 @@ iconst 65 0 store __for_idx_355 65 store __for_len_355 64 store __for_iter_355 63 -label L4186 +label L4243 load 66 __for_idx_355 load 67 __for_len_355 lt 68 66 67 -brif 68 L4187 L4189 -label L4187 +brif 68 L4244 L4246 +label L4244 load 69 __for_iter_355 load 70 __for_idx_355 call 71 pith_list_get_value unknown 2 69 70 @@ -161604,23 +161967,23 @@ load 81 end_label call 82 ir_emitter_core_ir_emit_if_branch void 4 78 79 80 81 call 83 pith_cstring_release void 1 79 call 84 pith_cstring_release void 1 80 -label L4188 +label L4245 load 85 __for_idx_355 iconst 86 1 add 87 85 86 store __for_idx_355 87 -jmp L4186 -label L4189 +jmp L4243 +label L4246 load 88 else_idx iconst 89 0 gte 90 88 89 -brif 90 L4191 L4192 -label L4191 +brif 90 L4248 L4249 +label L4248 load 91 else_idx call 92 ir_emitter_core_ir_block int 1 91 -jmp L4190 -label L4192 -label L4190 +jmp L4247 +label L4249 +label L4247 load 93 end_label call 94 ir_call_emit_ir_emit_label void 1 93 load 95 elif_indices @@ -161655,8 +162018,8 @@ field 8 7 0 string kind strref 9 m46s85 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4194 L4195 -label L4194 +brif 10 L4251 L4252 +label L4251 call 12 ir_builder_ir_reg int 0 store r 12 load 13 r @@ -161668,8 +162031,8 @@ load 18 r load 19 pat call 20 pith_struct_release void 1 19 ret 18 -label L4195 -label L4193 +label L4252 +label L4250 load 21 pat_idx load 22 subj_r call 23 ir_match_emit_ir_emit_match_cond int 2 21 22 @@ -161701,8 +162064,8 @@ field 11 10 0 string kind strref 12 m46s85 call 13 pith_cstring_eq bool 2 11 12 call 14 pith_cstring_release void 1 12 -brif 13 L4197 L4198 -label L4197 +brif 13 L4254 L4255 +label L4254 load 15 subj_idx call 16 checker_c_get_expr_type int 1 15 store subj_tid 16 @@ -161718,32 +162081,32 @@ call 24 map_insert void 3 20 22 23 load 25 subj_tid iconst 26 0 gte 27 25 26 -brif 27 L4200 L4201 -label L4200 +brif 27 L4257 L4258 +label L4257 load 28 info load 29 subj_tid call 30 types_get_type_info struct:TypeInfo 1 29 call 31 pith_struct_release void 1 28 store info 30 iconst 32 0 -store __and_32_4205 32 +store __and_32_4262 32 load 33 info field 34 33 0 string kind strref 35 m46s21 call 36 pith_cstring_eq bool 2 34 35 call 37 pith_cstring_release void 1 35 -store __and_32_4205 36 -brif 36 L4205 L4206 -label L4205 +store __and_32_4262 36 +brif 36 L4262 L4263 +label L4262 load 38 info field 39 38 64 int inner iconst 40 0 gte 41 39 40 -store __and_32_4205 41 -label L4206 -load 42 __and_32_4205 -brif 42 L4203 L4204 -label L4203 +store __and_32_4262 41 +label L4263 +load 42 __and_32_4262 +brif 42 L4260 L4261 +label L4260 load 43 inner_kind load 44 info field 45 44 64 int inner @@ -161754,22 +162117,22 @@ load 48 inner_kind call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L4208 L4209 -label L4208 +brif 51 L4265 L4266 +label L4265 load 52 ir_builder_ir_var_types load 53 pat field 54 53 8 string value load 55 inner_kind call 56 map_insert void 3 52 54 55 -jmp L4207 -label L4209 -label L4207 -jmp L4202 -label L4204 -label L4202 -jmp L4199 -label L4201 -label L4199 +jmp L4264 +label L4266 +label L4264 +jmp L4259 +label L4261 +label L4259 +jmp L4256 +label L4258 +label L4256 strref 57 m46s830 load 58 pat field 59 58 8 string value @@ -161794,8 +162157,8 @@ load 77 inner_kind call 78 pith_cstring_release void 1 77 iconst 79 0 ret 79 -label L4198 -label L4196 +label L4255 +label L4253 load 80 pat_idx load 81 subj_r strref 82 m46s82 @@ -161815,50 +162178,50 @@ param idx iconst 1 0 store kind 1 iconst 2 0 -store __or_2_4213 2 +store __or_2_4270 2 load 3 ir_alias_registry_ir_active_generic_params call 4 pith_list_len int 1 3 iconst 5 0 gt 6 4 5 -store __or_2_4213 6 -brif 6 L4214 L4213 -label L4213 +store __or_2_4270 6 +brif 6 L4271 L4270 +label L4270 load 7 ir_emitter_core_ir_current_impl_subst_params call 8 pith_list_len int 1 7 iconst 9 0 gt 10 8 9 -store __or_2_4213 10 -label L4214 -load 11 __or_2_4213 -brif 11 L4211 L4212 -label L4211 +store __or_2_4270 10 +label L4271 +load 11 __or_2_4270 +brif 11 L4268 L4269 +label L4268 iconst 12 0 load 13 kind call 14 pith_cstring_release void 1 13 ret 12 -label L4212 -label L4210 +label L4269 +label L4267 load 15 kind load 16 idx call 17 ast_node_kind string 1 16 call 18 pith_cstring_release void 1 15 store kind 17 iconst 19 0 -store __or_19_4215 19 +store __or_19_4272 19 load 20 kind strref 21 m46s44 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -store __or_19_4215 22 -brif 22 L4216 L4215 -label L4215 +store __or_19_4272 22 +brif 22 L4273 L4272 +label L4272 load 24 kind strref 25 m46s129 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -store __or_19_4215 26 -label L4216 -load 28 __or_19_4215 +store __or_19_4272 26 +label L4273 +load 28 __or_19_4272 load 29 kind call 30 pith_cstring_release void 1 29 ret 28 @@ -161880,8 +162243,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L4218 L4219 -label L4218 +brif 8 L4275 L4276 +label L4275 load 9 then_l call 10 pith_cstring_release void 1 9 load 11 else_l @@ -161890,8 +162253,8 @@ load 13 end_l call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L4219 -label L4217 +label L4276 +label L4274 load 16 node field 17 16 16 list children iconst 18 1 @@ -161967,17 +162330,17 @@ call 80 ir_emitter_core_ir_block int 1 79 load 81 ir_call_emit_ir_last_was_ret iconst 83 1 sub 82 83 81 -brif 82 L4221 L4222 -label L4221 +brif 82 L4278 L4279 +label L4278 strref 84 m46s833 load 85 end_l concat 86 84 85 call 87 pith_cstring_release void 1 84 call 88 ir_builder_ir_emit void 1 86 call 89 pith_cstring_release void 1 86 -jmp L4220 -label L4222 -label L4220 +jmp L4277 +label L4279 +label L4277 load 90 else_l call 91 ir_call_emit_ir_emit_label void 1 90 iconst 92 0 @@ -161987,21 +162350,21 @@ field 94 93 16 list children call 95 pith_list_len int 1 94 iconst 96 3 gt 97 95 96 -brif 97 L4224 L4225 -label L4224 +brif 97 L4281 L4282 +label L4281 load 98 node field 99 98 16 list children iconst 100 3 call 101 pith_list_get_value_strict int 2 99 100 call 102 ir_emitter_core_ir_block int 1 101 -jmp L4223 -label L4225 -label L4223 +jmp L4280 +label L4282 +label L4280 load 103 end_l call 104 ir_call_emit_ir_emit_label void 1 103 load 105 owns_subject -brif 105 L4227 L4228 -label L4227 +brif 105 L4284 L4285 +label L4284 call 106 ir_builder_ir_reg int 0 strref 107 m46s898 strref 108 m46s828 @@ -162009,9 +162372,9 @@ load 109 subj_r call 110 ir_call_emit_ir_emit_call1 void 4 106 107 108 109 call 111 pith_cstring_release void 1 107 call 112 pith_cstring_release void 1 108 -jmp L4226 -label L4228 -label L4226 +jmp L4283 +label L4285 +label L4283 iconst 113 0 store ir_call_emit_ir_last_was_ret 113 load 114 then_l @@ -162036,8 +162399,8 @@ field 5 4 16 list children call 6 pith_list_len int 1 5 iconst 7 3 lt 8 6 7 -brif 8 L4230 L4231 -label L4230 +brif 8 L4287 L4288 +label L4287 load 9 head_label call 10 pith_cstring_release void 1 9 load 11 body_label @@ -162046,8 +162409,8 @@ load 13 end_label call 14 pith_cstring_release void 1 13 iconst 15 0 ret 15 -label L4231 -label L4229 +label L4288 +label L4286 load 16 head_label call 17 ir_builder_ir_label string 0 call 18 pith_cstring_release void 1 16 @@ -162145,8 +162508,8 @@ iconst 100 1 sub 101 99 100 call 102 remove void 2 97 101 load 103 owns_subject -brif 103 L4233 L4234 -label L4233 +brif 103 L4290 L4291 +label L4290 call 104 ir_builder_ir_reg int 0 strref 105 m46s898 strref 106 m46s828 @@ -162154,9 +162517,9 @@ load 107 subj_r call 108 ir_call_emit_ir_emit_call1 void 4 104 105 106 107 call 109 pith_cstring_release void 1 105 call 110 pith_cstring_release void 1 106 -jmp L4232 -label L4234 -label L4232 +jmp L4289 +label L4291 +label L4289 strref 111 m46s833 load 112 head_label concat 113 111 112 @@ -162166,8 +162529,8 @@ call 116 pith_cstring_release void 1 113 load 117 end_label call 118 ir_call_emit_ir_emit_label void 1 117 load 119 owns_subject -brif 119 L4236 L4237 -label L4236 +brif 119 L4293 L4294 +label L4293 call 120 ir_builder_ir_reg int 0 strref 121 m46s898 strref 122 m46s828 @@ -162175,9 +162538,9 @@ load 123 subj_r call 124 ir_call_emit_ir_emit_call1 void 4 120 121 122 123 call 125 pith_cstring_release void 1 121 call 126 pith_cstring_release void 1 122 -jmp L4235 -label L4237 -label L4235 +jmp L4292 +label L4294 +label L4292 iconst 127 0 store ir_call_emit_ir_last_was_ret 127 load 128 head_label @@ -162216,8 +162579,8 @@ field 16 15 16 list children call 17 pith_list_len int 1 16 iconst 18 2 gte 19 17 18 -brif 19 L4239 L4240 -label L4239 +brif 19 L4296 L4297 +label L4296 load 20 node field 21 20 16 list children iconst 22 0 @@ -162281,9 +162644,9 @@ concat 76 74 75 call 77 pith_cstring_release void 1 74 call 78 ir_builder_ir_emit void 1 76 call 79 pith_cstring_release void 1 76 -jmp L4238 -label L4240 -label L4238 +jmp L4295 +label L4297 +label L4295 load 80 end_label call 81 ir_call_emit_ir_emit_label void 1 80 load 82 head_label @@ -162315,8 +162678,8 @@ field 10 9 16 list children call 11 pith_list_len int 1 10 iconst 12 2 gte 13 11 12 -brif 13 L4242 L4243 -label L4242 +brif 13 L4299 L4300 +label L4299 load 14 node field 15 14 16 list children iconst 16 0 @@ -162326,8 +162689,8 @@ field 19 18 0 string kind strref 20 m46s523 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L4245 L4246 -label L4245 +brif 21 L4302 L4303 +label L4302 load 23 node load 24 names call 25 ir_emitter_core_ir_emit_for_range_stmt void 2 23 24 @@ -162341,8 +162704,8 @@ load 32 next_name call 33 pith_cstring_release void 1 32 iconst 34 0 ret 34 -label L4246 -label L4244 +label L4303 +label L4301 load 35 iter_struct load 36 node field 37 36 16 list children @@ -162352,34 +162715,34 @@ call 40 ir_emitter_core_ir_infer_type string 1 39 call 41 pith_cstring_release void 1 35 store iter_struct 40 iconst 42 0 -store __and_42_4250 42 +store __and_42_4307 42 load 43 iter_struct call 44 string_len int 1 43 iconst 45 0 gt 46 44 45 -store __and_42_4250 46 -brif 46 L4250 L4251 -label L4250 +store __and_42_4307 46 +brif 46 L4307 L4308 +label L4307 load 47 iter_struct strref 48 m46s335 call 49 pith_cstring_contains bool 2 47 48 call 50 pith_cstring_release void 1 48 iconst 51 0 eq 52 49 51 -store __and_42_4250 52 -label L4251 -load 53 __and_42_4250 -brif 53 L4248 L4249 -label L4248 +store __and_42_4307 52 +label L4308 +load 53 __and_42_4307 +brif 53 L4305 L4306 +label L4305 iconst 54 0 store gi 54 -label L4252 +label L4309 load 55 gi load 56 ir_alias_registry_ir_active_generic_concrete_types call 57 pith_list_len int 1 56 lt 58 55 57 -brif 58 L4253 L4254 -label L4253 +brif 58 L4310 L4311 +label L4310 load 59 concrete load 60 ir_alias_registry_ir_active_generic_concrete_types load 61 gi @@ -162392,8 +162755,8 @@ call 66 ir_method_tables_ir_strip_type_args string 1 65 load 67 iter_struct call 68 pith_cstring_eq bool 2 66 67 call 69 pith_cstring_release void 1 66 -brif 68 L4256 L4257 -label L4256 +brif 68 L4313 L4314 +label L4313 load 70 iter_struct load 71 concrete call 72 pith_cstring_retain void 1 71 @@ -162402,18 +162765,18 @@ store iter_struct 71 load 74 ir_alias_registry_ir_active_generic_concrete_types call 75 pith_list_len int 1 74 store gi 75 -jmp L4255 -label L4257 -label L4255 +jmp L4312 +label L4314 +label L4312 load 76 gi iconst 77 1 add 78 76 77 store gi 78 -jmp L4252 -label L4254 -jmp L4247 -label L4249 -label L4247 +jmp L4309 +label L4311 +jmp L4304 +label L4306 +label L4304 load 79 next_name load 80 iter_struct strref 81 m46s1200 @@ -162425,8 +162788,8 @@ load 85 next_name call 86 string_len int 1 85 iconst 87 0 eq 88 86 87 -brif 88 L4259 L4260 -label L4259 +brif 88 L4316 L4317 +label L4316 load 89 next_name load 90 iter_struct strref 91 m46s1200 @@ -162434,15 +162797,15 @@ call 92 ir_emitter_core_ir_lookup_impl_method_name string 2 90 91 call 93 pith_cstring_release void 1 91 call 94 pith_cstring_release void 1 89 store next_name 92 -jmp L4258 -label L4260 -label L4258 +jmp L4315 +label L4317 +label L4315 load 95 next_name call 96 string_len int 1 95 iconst 97 0 gt 98 96 97 -brif 98 L4262 L4263 -label L4262 +brif 98 L4319 L4320 +label L4319 load 99 node load 100 names load 101 next_name @@ -162457,14 +162820,14 @@ load 109 next_name call 110 pith_cstring_release void 1 109 iconst 111 0 ret 111 -label L4263 -label L4261 +label L4320 +label L4318 load 112 node load 113 names call 114 ir_emitter_core_ir_emit_for_indexed_stmt void 2 112 113 -jmp L4241 -label L4243 -label L4241 +jmp L4298 +label L4300 +label L4298 load 115 names call 116 pith_struct_release void 1 115 load 117 iter_struct @@ -162535,16 +162898,16 @@ call 37 pith_list_get_value_strict int 2 35 36 call 38 ir_emitter_core_ir_string_expr_is_borrowed bool 1 37 iconst 40 1 sub 39 40 38 -brif 39 L4265 L4266 -label L4265 +brif 39 L4322 L4323 +label L4322 load 41 iter_release_kind load 42 iter_type call 43 ir_struct_registry_ir_rc_kind string 1 42 call 44 pith_cstring_release void 1 41 store iter_release_kind 43 -jmp L4264 -label L4266 -label L4264 +jmp L4321 +label L4323 +label L4321 load 45 conversion_call load 46 iter_type call 47 ir_collection_helpers_ir_for_iter_conversion_call string 1 46 @@ -162554,8 +162917,8 @@ load 49 conversion_call call 50 string_len int 1 49 iconst 51 0 gt 52 50 51 -brif 52 L4268 L4269 -label L4268 +brif 52 L4325 L4326 +label L4325 call 53 ir_builder_ir_reg int 0 store converted_r 53 load 54 converted_r @@ -162569,14 +162932,14 @@ load 61 iter_release_kind call 62 string_len int 1 61 iconst 63 0 gt 64 62 63 -brif 64 L4271 L4272 -label L4271 +brif 64 L4328 L4329 +label L4328 load 65 iter_r load 66 iter_release_kind call 67 ir_ownership_ir_rc_release_reg void 2 65 66 -jmp L4270 -label L4272 -label L4270 +jmp L4327 +label L4329 +label L4327 load 68 converted_r store iter_r 68 load 69 iter_release_kind @@ -162586,9 +162949,9 @@ call 72 ir_struct_registry_ir_rc_kind string 1 71 call 73 pith_cstring_release void 1 71 call 74 pith_cstring_release void 1 69 store iter_release_kind 72 -jmp L4267 -label L4269 -label L4267 +jmp L4324 +label L4326 +label L4324 load 75 ir_emitter_core_ir_for_count store fid 75 load 76 ir_emitter_core_ir_for_count @@ -162840,8 +163203,8 @@ load 303 iter_release_kind call 304 string_len int 1 303 iconst 305 0 gt 306 304 305 -brif 306 L4274 L4275 -label L4274 +brif 306 L4331 L4332 +label L4331 load 307 ir_emitter_core_ir_loop_iter_vars load 308 ft call 309 pith_list_push_value void 2 307 308 @@ -162850,17 +163213,17 @@ load 311 iter_release_kind call 312 pith_list_push_value void 2 310 311 iconst 313 1 store pushed_iter 313 -jmp L4273 -label L4275 -label L4273 +jmp L4330 +label L4332 +label L4330 load 314 node field 315 314 16 list children iconst 316 1 call 317 pith_list_get_value_strict int 2 315 316 call 318 ir_emitter_core_ir_block int 1 317 load 319 pushed_iter -brif 319 L4277 L4278 -label L4277 +brif 319 L4334 L4335 +label L4334 load 320 ir_emitter_core_ir_loop_iter_vars load 321 ir_emitter_core_ir_loop_iter_vars call 322 pith_list_len int 1 321 @@ -162873,9 +163236,9 @@ call 328 pith_list_len int 1 327 iconst 329 1 sub 330 328 329 call 331 remove void 2 326 330 -jmp L4276 -label L4278 -label L4276 +jmp L4333 +label L4335 +label L4333 call 332 ir_emitter_core_ir_defer_loop_exit void 0 load 333 names field 334 333 8 string index_name @@ -162985,8 +163348,8 @@ load 434 iter_release_kind call 435 string_len int 1 434 iconst 436 0 gt 437 435 436 -brif 437 L4280 L4281 -label L4280 +brif 437 L4337 L4338 +label L4337 call 438 ir_builder_ir_reg int 0 store fin_r 438 strref 439 m46s829 @@ -163007,9 +163370,9 @@ call 453 pith_cstring_release void 1 450 load 454 fin_r load 455 iter_release_kind call 456 ir_ownership_ir_rc_release_reg void 2 454 455 -jmp L4279 -label L4281 -label L4279 +jmp L4336 +label L4338 +label L4336 load 457 iter_type call 458 pith_cstring_release void 1 457 load 459 item_kind @@ -163160,8 +163523,8 @@ call 95 pith_cstring_release void 1 92 call 96 ir_builder_ir_emit void 1 93 call 97 pith_cstring_release void 1 93 load 98 has_index -brif 98 L4283 L4284 -label L4283 +brif 98 L4340 L4341 +label L4340 call 99 ir_builder_ir_reg int 0 store zero_r 99 strref 100 m46s832 @@ -163191,9 +163554,9 @@ call 123 pith_cstring_release void 1 117 call 124 pith_cstring_release void 1 121 call 125 ir_builder_ir_emit void 1 122 call 126 pith_cstring_release void 1 122 -jmp L4282 -label L4284 -label L4282 +jmp L4339 +label L4341 +label L4339 load 127 head_l call 128 ir_builder_ir_label string 0 call 129 pith_cstring_release void 1 127 @@ -163253,15 +163616,15 @@ strref 175 m46s465 call 176 pith_cstring_release void 1 174 store cmp_op 175 load 177 inclusive -brif 177 L4286 L4287 -label L4286 +brif 177 L4343 L4344 +label L4343 load 178 cmp_op strref 179 m46s459 call 180 pith_cstring_release void 1 178 store cmp_op 179 -jmp L4285 -label L4287 -label L4285 +jmp L4342 +label L4344 +label L4342 load 181 cmp_op strref 182 m46s336 concat 183 181 182 @@ -163364,8 +163727,8 @@ field 276 275 0 string value_name load 277 bind_r call 278 ir_emitter_core_ir_emit_name_store void 2 276 277 load 279 has_index -brif 279 L4289 L4290 -label L4289 +brif 279 L4346 L4347 +label L4346 call 280 ir_builder_ir_reg int 0 store pos_r 280 strref 281 m46s829 @@ -163392,9 +163755,9 @@ load 301 names field 302 301 8 string index_name load 303 pos_r call 304 ir_emitter_core_ir_emit_name_store void 2 302 303 -jmp L4288 -label L4290 -label L4288 +jmp L4345 +label L4347 +label L4345 load 305 ir_emitter_core_ir_break_stack load 306 end_l call 307 ir_utils_ir_push_string list_string 2 305 306 @@ -163507,8 +163870,8 @@ call 408 pith_cstring_release void 1 405 call 409 ir_builder_ir_emit void 1 406 call 410 pith_cstring_release void 1 406 load 411 has_index -brif 411 L4292 L4293 -label L4292 +brif 411 L4349 L4350 +label L4349 call 412 ir_builder_ir_reg int 0 store p3 412 strref 413 m46s829 @@ -163583,9 +163946,9 @@ call 479 pith_cstring_release void 1 473 call 480 pith_cstring_release void 1 477 call 481 ir_builder_ir_emit void 1 478 call 482 pith_cstring_release void 1 478 -jmp L4291 -label L4293 -label L4291 +jmp L4348 +label L4350 +label L4348 strref 483 m46s833 load 484 head_l concat 485 483 484 @@ -163693,8 +164056,8 @@ call 54 pith_cstring_release void 1 51 call 55 ir_builder_ir_emit void 1 52 call 56 pith_cstring_release void 1 52 load 57 has_index -brif 57 L4295 L4296 -label L4295 +brif 57 L4352 L4353 +label L4352 call 58 ir_builder_ir_reg int 0 store zero_r 58 strref 59 m46s832 @@ -163724,9 +164087,9 @@ call 82 pith_cstring_release void 1 76 call 83 pith_cstring_release void 1 80 call 84 ir_builder_ir_emit void 1 81 call 85 pith_cstring_release void 1 81 -jmp L4294 -label L4296 -label L4294 +jmp L4351 +label L4353 +label L4351 load 86 elem_kind load 87 node field 88 87 16 list children @@ -163742,15 +164105,15 @@ load 96 elem_kind call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L4298 L4299 -label L4298 +brif 99 L4355 L4356 +label L4355 load 100 elem_kind strref 101 m46s822 call 102 pith_cstring_release void 1 100 store elem_kind 101 -jmp L4297 -label L4299 -label L4297 +jmp L4354 +label L4356 +label L4354 load 103 head_l call 104 ir_builder_ir_label string 0 call 105 pith_cstring_release void 1 103 @@ -163901,8 +164264,8 @@ field 239 238 0 string value_name load 240 val_r call 241 ir_emitter_core_ir_emit_name_store void 2 239 240 load 242 has_index -brif 242 L4301 L4302 -label L4301 +brif 242 L4358 L4359 +label L4358 call 243 ir_builder_ir_reg int 0 store pos_r 243 strref 244 m46s829 @@ -163929,9 +164292,9 @@ load 264 names field 265 264 8 string index_name load 266 pos_r call 267 ir_emitter_core_ir_emit_name_store void 2 265 266 -jmp L4300 -label L4302 -label L4300 +jmp L4357 +label L4359 +label L4357 load 268 ir_emitter_core_ir_break_stack load 269 end_l call 270 ir_utils_ir_push_string list_string 2 268 269 @@ -163977,8 +164340,8 @@ call 307 ir_call_emit_ir_emit_call1 void 4 303 304 305 306 call 308 pith_cstring_release void 1 304 call 309 pith_cstring_release void 1 305 load 310 has_index -brif 310 L4304 L4305 -label L4304 +brif 310 L4361 L4362 +label L4361 call 311 ir_builder_ir_reg int 0 store p3 311 strref 312 m46s829 @@ -164053,9 +164416,9 @@ call 378 pith_cstring_release void 1 372 call 379 pith_cstring_release void 1 376 call 380 ir_builder_ir_emit void 1 377 call 381 pith_cstring_release void 1 377 -jmp L4303 -label L4305 -label L4303 +jmp L4360 +label L4362 +label L4360 strref 382 m46s833 load 383 head_l concat 384 382 383 @@ -164096,100 +164459,100 @@ func ir_emitter_core_ir_stmt_control 2 void param idx param node iconst 2 0 -store __or_2_4309 2 +store __or_2_4366 2 load 3 node field 4 3 0 string kind strref 5 m46s1190 call 6 pith_cstring_eq bool 2 4 5 call 7 pith_cstring_release void 1 5 -store __or_2_4309 6 -brif 6 L4310 L4309 -label L4309 +store __or_2_4366 6 +brif 6 L4367 L4366 +label L4366 load 8 node field 9 8 0 string kind strref 10 m46s573 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_2_4309 11 -label L4310 -load 13 __or_2_4309 -brif 13 L4307 L4308 -label L4307 +store __or_2_4366 11 +label L4367 +load 13 __or_2_4366 +brif 13 L4364 L4365 +label L4364 load 14 node call 15 ir_emitter_core_ir_emit_if_stmt void 1 14 -jmp L4306 -label L4308 +jmp L4363 +label L4365 load 16 node field 17 16 0 string kind strref 18 m46s571 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4311 L4312 -label L4311 +brif 19 L4368 L4369 +label L4368 load 21 node call 22 ir_emitter_core_ir_emit_if_let_stmt void 1 21 -jmp L4306 -label L4312 +jmp L4363 +label L4369 load 23 node field 24 23 0 string kind strref 25 m46s570 call 26 pith_cstring_eq bool 2 24 25 call 27 pith_cstring_release void 1 25 -brif 26 L4313 L4314 -label L4313 +brif 26 L4370 L4371 +label L4370 load 28 node call 29 ir_emitter_core_ir_emit_while_let_stmt void 1 28 -jmp L4306 -label L4314 +jmp L4363 +label L4371 iconst 30 0 -store __or_30_4317 30 +store __or_30_4374 30 load 31 node field 32 31 0 string kind strref 33 m46s1189 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_30_4317 34 -brif 34 L4318 L4317 -label L4317 +store __or_30_4374 34 +brif 34 L4375 L4374 +label L4374 load 36 node field 37 36 0 string kind strref 38 m46s572 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -store __or_30_4317 39 -label L4318 -load 41 __or_30_4317 -brif 41 L4315 L4316 -label L4315 +store __or_30_4374 39 +label L4375 +load 41 __or_30_4374 +brif 41 L4372 L4373 +label L4372 load 42 node call 43 ir_emitter_core_ir_emit_while_stmt void 1 42 -jmp L4306 -label L4316 +jmp L4363 +label L4373 iconst 44 0 -store __or_44_4321 44 +store __or_44_4378 44 load 45 node field 46 45 0 string kind strref 47 m46s1188 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -store __or_44_4321 48 -brif 48 L4322 L4321 -label L4321 +store __or_44_4378 48 +brif 48 L4379 L4378 +label L4378 load 50 node field 51 50 0 string kind strref 52 m46s569 call 53 pith_cstring_eq bool 2 51 52 call 54 pith_cstring_release void 1 52 -store __or_44_4321 53 -label L4322 -load 55 __or_44_4321 -brif 55 L4319 L4320 -label L4319 +store __or_44_4378 53 +label L4379 +load 55 __or_44_4378 +brif 55 L4376 L4377 +label L4376 load 56 node call 57 ir_emitter_core_ir_emit_for_stmt void 1 56 -jmp L4306 -label L4320 -label L4306 +jmp L4363 +label L4377 +label L4363 iconst 58 0 ret 58 endfunc @@ -164203,59 +164566,59 @@ call 4 ast_node_kind string 1 3 call 5 pith_cstring_release void 1 2 store kind 4 iconst 6 0 -store __or_6_4326 6 +store __or_6_4383 6 iconst 7 0 -store __or_7_4326 7 +store __or_7_4383 7 iconst 8 0 -store __or_8_4326 8 +store __or_8_4383 8 load 9 kind strref 10 m46s64 call 11 pith_cstring_eq bool 2 9 10 call 12 pith_cstring_release void 1 10 -store __or_8_4326 11 -brif 11 L4327 L4326 -label L4326 +store __or_8_4383 11 +brif 11 L4384 L4383 +label L4383 load 13 kind strref 14 m46s531 call 15 pith_cstring_eq bool 2 13 14 call 16 pith_cstring_release void 1 14 -store __or_8_4326 15 -label L4327 -load 17 __or_8_4326 -store __or_7_4326 17 -brif 17 L4329 L4328 -label L4328 +store __or_8_4383 15 +label L4384 +load 17 __or_8_4383 +store __or_7_4383 17 +brif 17 L4386 L4385 +label L4385 load 18 kind strref 19 m46s530 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -store __or_7_4326 20 -label L4329 -load 22 __or_7_4326 -store __or_6_4326 22 -brif 22 L4331 L4330 -label L4330 +store __or_7_4383 20 +label L4386 +load 22 __or_7_4383 +store __or_6_4383 22 +brif 22 L4388 L4387 +label L4387 load 23 kind strref 24 m46s65 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -store __or_6_4326 25 -label L4331 -load 27 __or_6_4326 -brif 27 L4324 L4325 -label L4324 +store __or_6_4383 25 +label L4388 +load 27 __or_6_4383 +brif 27 L4381 L4382 +label L4381 call 28 ir_emitter_core_ir_defer_push_scope void 0 iconst 29 0 store i 29 load 30 idx call 31 ast_node_child_count int 1 30 store child_count 31 -label L4332 +label L4389 load 32 i load 33 child_count lt 34 32 33 -brif 34 L4333 L4334 -label L4333 +brif 34 L4390 L4391 +label L4390 load 35 idx load 36 i call 37 ast_node_child int 2 35 36 @@ -164264,23 +164627,23 @@ load 39 i iconst 40 1 add 41 39 40 store i 41 -jmp L4332 -label L4334 +jmp L4389 +label L4391 call 42 ir_emitter_core_ir_defer_pop_scope_emit void 0 -jmp L4323 -label L4325 +jmp L4380 +label L4382 load 43 kind strref 44 m46s556 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -brif 45 L4336 L4337 -label L4336 +brif 45 L4393 L4394 +label L4393 load 47 ir_emitter_core_ir_break_stack call 48 pith_list_len int 1 47 iconst 49 0 gt 50 48 49 -brif 50 L4339 L4340 -label L4339 +brif 50 L4396 L4397 +label L4396 call 51 ir_emitter_core_ir_defer_emit_for_loop_jump void 0 strref 52 m46s833 load 53 ir_emitter_core_ir_break_stack @@ -164295,27 +164658,27 @@ call 61 ir_builder_ir_emit void 1 59 call 62 pith_cstring_release void 1 59 iconst 63 1 store ir_call_emit_ir_last_was_ret 63 -jmp L4338 -label L4340 -label L4338 +jmp L4395 +label L4397 +label L4395 iconst 64 0 load 65 kind call 66 pith_cstring_release void 1 65 ret 64 -label L4337 -label L4335 +label L4394 +label L4392 load 67 kind strref 68 m46s555 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L4342 L4343 -label L4342 +brif 69 L4399 L4400 +label L4399 load 71 ir_emitter_core_ir_continue_stack call 72 pith_list_len int 1 71 iconst 73 0 gt 74 72 73 -brif 74 L4345 L4346 -label L4345 +brif 74 L4402 L4403 +label L4402 call 75 ir_emitter_core_ir_defer_emit_for_loop_jump void 0 strref 76 m46s833 load 77 ir_emitter_core_ir_continue_stack @@ -164330,18 +164693,18 @@ call 85 ir_builder_ir_emit void 1 83 call 86 pith_cstring_release void 1 83 iconst 87 1 store ir_call_emit_ir_last_was_ret 87 -jmp L4344 -label L4346 -label L4344 +jmp L4401 +label L4403 +label L4401 iconst 88 0 load 89 kind call 90 pith_cstring_release void 1 89 ret 88 -label L4343 -label L4341 +label L4400 +label L4398 load 91 idx call 92 ir_emitter_core_ir_stmt void 1 91 -label L4323 +label L4380 iconst 93 0 load 94 kind call 95 pith_cstring_release void 1 94 @@ -164361,25 +164724,25 @@ call 4 ast_get_node struct:Node 1 3 call 5 pith_struct_release void 1 2 store node 4 iconst 6 0 -store __and_6_4350 6 +store __and_6_4407 6 load 7 node field 8 7 0 string kind strref 9 m46s68 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -store __and_6_4350 10 -brif 10 L4350 L4351 -label L4350 +store __and_6_4407 10 +brif 10 L4407 L4408 +label L4407 load 12 node field 13 12 16 list children call 14 pith_list_len int 1 13 iconst 15 0 gt 16 14 15 -store __and_6_4350 16 -label L4351 -load 17 __and_6_4350 -brif 17 L4348 L4349 -label L4348 +store __and_6_4407 16 +label L4408 +load 17 __and_6_4407 +brif 17 L4405 L4406 +label L4405 load 18 node field 19 18 16 list children iconst 20 0 @@ -164388,8 +164751,8 @@ call 22 ir_alias_registry_ir_resolve_type_node string 1 21 load 23 node call 24 pith_struct_release void 1 23 ret 22 -label L4349 -label L4347 +label L4406 +label L4404 strref 25 m46s165 load 26 node call 27 pith_struct_release void 1 26 @@ -164420,13 +164783,13 @@ call 12 pith_list_release_handle void 1 8 store nk 10 iconst 13 0 store i 13 -label L4352 +label L4409 load 14 i load 15 nk call 16 pith_list_len int 1 15 lt 17 14 16 -brif 17 L4353 L4354 -label L4353 +brif 17 L4410 L4411 +label L4410 load 18 cn load 19 nk load 20 i @@ -164439,8 +164802,8 @@ field 25 24 0 string kind strref 26 m46s65 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L4356 L4357 -label L4356 +brif 27 L4413 L4414 +label L4413 load 29 nk load 30 i call 31 pith_list_get_value_strict int 2 29 30 @@ -164451,20 +164814,20 @@ call 35 pith_list_release_handle void 1 34 load 36 cn call 37 pith_struct_release void 1 36 ret 31 -label L4357 -label L4355 +label L4414 +label L4412 load 38 i iconst 39 1 add 40 38 39 store i 40 -jmp L4352 -label L4354 +jmp L4409 +label L4411 load 41 nk call 42 pith_list_len int 1 41 iconst 43 0 gt 44 42 43 -brif 44 L4359 L4360 -label L4359 +brif 44 L4416 L4417 +label L4416 load 45 nk load 46 nk call 47 pith_list_len int 1 46 @@ -164478,8 +164841,8 @@ call 54 pith_list_release_handle void 1 53 load 55 cn call 56 pith_struct_release void 1 55 ret 50 -label L4360 -label L4358 +label L4417 +label L4415 iconst 57 0 iconst 58 1 sub 59 57 58 @@ -164526,12 +164889,12 @@ iconst 16 0 store __for_idx_356 16 store __for_len_356 15 store __for_iter_356 14 -label L4361 +label L4418 load 17 __for_idx_356 load 18 __for_len_356 lt 19 17 18 -brif 19 L4362 L4364 -label L4362 +brif 19 L4419 L4421 +label L4419 load 20 __for_iter_356 load 21 __for_idx_356 call 22 pith_list_get_value unknown 2 20 21 @@ -164546,22 +164909,22 @@ field 28 27 0 string kind strref 29 m46s68 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L4366 L4367 -label L4366 +brif 30 L4423 L4424 +label L4423 load 32 count iconst 33 1 add 34 32 33 store count 34 -jmp L4365 -label L4367 -label L4365 -label L4363 +jmp L4422 +label L4424 +label L4422 +label L4420 load 35 __for_idx_356 iconst 36 1 add 37 35 36 store __for_idx_356 37 -jmp L4361 -label L4364 +jmp L4418 +label L4421 load 38 count load 39 node call 40 pith_struct_release void 1 39 @@ -164595,7 +164958,7 @@ call 7 ast_get_node struct:Node 1 6 call 8 pith_struct_release void 1 5 store node 7 iconst 9 0 -store __or_9_4371 9 +store __or_9_4428 9 load 10 node field 11 10 0 string kind strref 12 m46s68 @@ -164603,19 +164966,19 @@ call 14 pith_cstring_eq bool 2 11 12 iconst 15 1 sub 13 15 14 call 16 pith_cstring_release void 1 12 -store __or_9_4371 13 -brif 13 L4372 L4371 -label L4371 +store __or_9_4428 13 +brif 13 L4429 L4428 +label L4428 load 17 node field 18 17 16 list children call 19 pith_list_len int 1 18 iconst 20 0 eq 21 19 20 -store __or_9_4371 21 -label L4372 -load 22 __or_9_4371 -brif 22 L4369 L4370 -label L4369 +store __or_9_4428 21 +label L4429 +load 22 __or_9_4428 +brif 22 L4426 L4427 +label L4426 load 23 node call 24 pith_struct_release void 1 23 load 25 tn @@ -164626,8 +164989,8 @@ load 29 ret_kind call 30 pith_cstring_release void 1 29 iconst 31 0 ret 31 -label L4370 -label L4368 +label L4427 +label L4425 load 32 tn load 33 node field 34 33 16 list children @@ -164637,7 +165000,7 @@ call 37 ast_get_node struct:Node 1 36 call 38 pith_struct_release void 1 32 store tn 37 iconst 39 0 -store __or_39_4376 39 +store __or_39_4433 39 load 40 tn field 41 40 0 string kind strref 42 m46s318 @@ -164645,19 +165008,19 @@ call 44 pith_cstring_eq bool 2 41 42 iconst 45 1 sub 43 45 44 call 46 pith_cstring_release void 1 42 -store __or_39_4376 43 -brif 43 L4377 L4376 -label L4376 +store __or_39_4433 43 +brif 43 L4434 L4433 +label L4433 load 47 tn field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 eq 51 49 50 -store __or_39_4376 51 -label L4377 -load 52 __or_39_4376 -brif 52 L4374 L4375 -label L4374 +store __or_39_4433 51 +label L4434 +load 52 __or_39_4433 +brif 52 L4431 L4432 +label L4431 load 53 node call 54 pith_struct_release void 1 53 load 55 tn @@ -164668,8 +165031,8 @@ load 59 ret_kind call 60 pith_cstring_release void 1 59 iconst 61 0 ret 61 -label L4375 -label L4373 +label L4432 +label L4430 load 62 last load 63 tn field 64 63 16 list children @@ -164683,7 +165046,7 @@ call 71 ast_get_node struct:Node 1 70 call 72 pith_struct_release void 1 62 store last 71 iconst 73 0 -store __or_73_4381 73 +store __or_73_4438 73 load 74 last field 75 74 0 string kind strref 76 m46s313 @@ -164691,19 +165054,19 @@ call 78 pith_cstring_eq bool 2 75 76 iconst 79 1 sub 77 79 78 call 80 pith_cstring_release void 1 76 -store __or_73_4381 77 -brif 77 L4382 L4381 -label L4381 +store __or_73_4438 77 +brif 77 L4439 L4438 +label L4438 load 81 last field 82 81 16 list children call 83 pith_list_len int 1 82 iconst 84 0 eq 85 83 84 -store __or_73_4381 85 -label L4382 -load 86 __or_73_4381 -brif 86 L4379 L4380 -label L4379 +store __or_73_4438 85 +label L4439 +load 86 __or_73_4438 +brif 86 L4436 L4437 +label L4436 load 87 node call 88 pith_struct_release void 1 87 load 89 tn @@ -164714,8 +165077,8 @@ load 93 ret_kind call 94 pith_cstring_release void 1 93 iconst 95 0 ret 95 -label L4380 -label L4378 +label L4437 +label L4435 load 96 ret_kind load 97 last field 98 97 16 list children @@ -164728,16 +165091,16 @@ load 103 ret_kind call 104 string_len int 1 103 iconst 105 0 gt 106 104 105 -brif 106 L4384 L4385 -label L4384 +brif 106 L4441 L4442 +label L4441 load 107 ir_emitter_core_ir_closure_return_kinds load 108 node field 109 108 8 string value load 110 ret_kind call 111 map_insert void 3 107 109 110 -jmp L4383 -label L4385 -label L4383 +jmp L4440 +label L4442 +label L4440 load 112 node call 113 pith_struct_release void 1 112 load 114 tn @@ -164762,15 +165125,15 @@ load 7 param_type call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L4387 L4388 -label L4387 +brif 10 L4444 L4445 +label L4444 load 11 ir_builder_ir_var_types load 12 name load 13 param_type call 14 map_insert void 3 11 12 13 -jmp L4386 -label L4388 -label L4386 +jmp L4443 +label L4445 +label L4443 strref 15 m46s1187 load 16 name concat 17 15 16 @@ -164807,12 +165170,12 @@ iconst 16 0 store __for_idx_357 16 store __for_len_357 15 store __for_iter_357 14 -label L4389 +label L4446 load 17 __for_idx_357 load 18 __for_len_357 lt 19 17 18 -brif 19 L4390 L4392 -label L4390 +brif 19 L4447 L4449 +label L4447 load 20 __for_iter_357 load 21 __for_idx_357 call 22 pith_list_get_value unknown 2 20 21 @@ -164827,8 +165190,8 @@ field 28 27 0 string kind strref 29 m46s68 call 30 pith_cstring_eq bool 2 28 29 call 31 pith_cstring_release void 1 29 -brif 30 L4394 L4395 -label L4394 +brif 30 L4451 L4452 +label L4451 load 32 ptype load 33 __loopvar_357_child call 34 ir_emitter_core_ir_extract_param_type string 1 33 @@ -164838,33 +165201,33 @@ load 36 ir_emitter_core_ir_current_impl_type call 37 string_len int 1 36 iconst 38 0 gt 39 37 38 -brif 39 L4397 L4398 -label L4397 +brif 39 L4454 L4455 +label L4454 load 40 ptype load 41 ir_emitter_core_ir_current_impl_type load 42 ptype call 43 ir_method_tables_ir_resolve_assoc_type string 2 41 42 call 44 pith_cstring_release void 1 40 store ptype 43 -jmp L4396 -label L4398 -label L4396 +jmp L4453 +label L4455 +label L4453 load 45 cn field 46 45 8 string value load 47 ptype call 48 ir_emitter_core_ir_emit_named_param void 2 46 47 load 49 __loopvar_357_child call 50 ir_emitter_core_ir_record_closure_param_return void 1 49 -jmp L4393 -label L4395 -label L4393 -label L4391 +jmp L4450 +label L4452 +label L4450 +label L4448 load 51 __for_idx_357 iconst 52 1 add 53 51 52 store __for_idx_357 53 -jmp L4389 -label L4392 +jmp L4446 +label L4449 load 54 node call 55 pith_struct_release void 1 54 load 56 nk @@ -164896,12 +165259,12 @@ iconst 11 0 store __for_idx_358 11 store __for_len_358 10 store __for_iter_358 9 -label L4399 +label L4456 load 12 __for_idx_358 load 13 __for_len_358 lt 14 12 13 -brif 14 L4400 L4402 -label L4400 +brif 14 L4457 L4459 +label L4457 load 15 __for_iter_358 load 16 __for_idx_358 call 17 pith_list_get_value unknown 2 15 16 @@ -164916,8 +165279,8 @@ field 23 22 0 string kind strref 24 m46s313 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L4404 L4405 -label L4404 +brif 25 L4461 L4462 +label L4461 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -164925,12 +165288,12 @@ iconst 30 0 store __for_idx_359 30 store __for_len_359 29 store __for_iter_359 28 -label L4406 +label L4463 load 31 __for_idx_359 load 32 __for_len_359 lt 33 31 32 -brif 33 L4407 L4409 -label L4407 +brif 33 L4464 L4466 +label L4464 load 34 __for_iter_359 load 35 __for_idx_359 call 36 pith_list_get_value unknown 2 34 35 @@ -164941,51 +165304,51 @@ call 39 ast_get_node struct:Node 1 38 call 40 pith_struct_release void 1 37 store rn 39 iconst 41 0 -store __or_41_4413 41 +store __or_41_4470 41 iconst 42 0 -store __or_42_4413 42 +store __or_42_4470 42 iconst 43 0 -store __or_43_4413 43 +store __or_43_4470 43 load 44 rn field 45 44 0 string kind strref 46 m46s328 call 47 pith_cstring_eq bool 2 45 46 call 48 pith_cstring_release void 1 46 -store __or_43_4413 47 -brif 47 L4414 L4413 -label L4413 +store __or_43_4470 47 +brif 47 L4471 L4470 +label L4470 load 49 rn field 50 49 0 string kind strref 51 m46s327 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_43_4413 52 -label L4414 -load 54 __or_43_4413 -store __or_42_4413 54 -brif 54 L4416 L4415 -label L4415 +store __or_43_4470 52 +label L4471 +load 54 __or_43_4470 +store __or_42_4470 54 +brif 54 L4473 L4472 +label L4472 load 55 rn field 56 55 0 string kind strref 57 m46s320 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -store __or_42_4413 58 -label L4416 -load 60 __or_42_4413 -store __or_41_4413 60 -brif 60 L4418 L4417 -label L4417 +store __or_42_4470 58 +label L4473 +load 60 __or_42_4470 +store __or_41_4470 60 +brif 60 L4475 L4474 +label L4474 load 61 rn field 62 61 0 string kind strref 63 m46s321 call 64 pith_cstring_eq bool 2 62 63 call 65 pith_cstring_release void 1 63 -store __or_41_4413 64 -label L4418 -load 66 __or_41_4413 -brif 66 L4411 L4412 -label L4411 +store __or_41_4470 64 +label L4475 +load 66 __or_41_4470 +brif 66 L4468 L4469 +label L4468 load 67 __loopvar_359_returns_child call 68 ir_alias_registry_ir_resolve_type_node string 1 67 load 69 node @@ -164995,25 +165358,25 @@ call 72 pith_struct_release void 1 71 load 73 rn call 74 pith_struct_release void 1 73 ret 68 -label L4412 -label L4410 -label L4408 +label L4469 +label L4467 +label L4465 load 75 __for_idx_359 iconst 76 1 add 77 75 76 store __for_idx_359 77 -jmp L4406 -label L4409 -jmp L4403 -label L4405 -label L4403 -label L4401 +jmp L4463 +label L4466 +jmp L4460 +label L4462 +label L4460 +label L4458 load 78 __for_idx_358 iconst 79 1 add 80 78 79 store __for_idx_358 80 -jmp L4399 -label L4402 +jmp L4456 +label L4459 strref 81 m46s822 load 82 node call 83 pith_struct_release void 1 82 @@ -165051,12 +165414,12 @@ iconst 11 0 store __for_idx_360 11 store __for_len_360 10 store __for_iter_360 9 -label L4419 +label L4476 load 12 __for_idx_360 load 13 __for_len_360 lt 14 12 13 -brif 14 L4420 L4422 -label L4420 +brif 14 L4477 L4479 +label L4477 load 15 __for_iter_360 load 16 __for_idx_360 call 17 pith_list_get_value unknown 2 15 16 @@ -165071,8 +165434,8 @@ field 23 22 0 string kind strref 24 m46s313 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L4424 L4425 -label L4424 +brif 25 L4481 L4482 +label L4481 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -165080,12 +165443,12 @@ iconst 30 0 store __for_idx_361 30 store __for_len_361 29 store __for_iter_361 28 -label L4426 +label L4483 load 31 __for_idx_361 load 32 __for_len_361 lt 33 31 32 -brif 33 L4427 L4429 -label L4427 +brif 33 L4484 L4486 +label L4484 load 34 __for_iter_361 load 35 __for_idx_361 call 36 pith_list_get_value unknown 2 34 35 @@ -165096,25 +165459,25 @@ call 39 ast_get_node struct:Node 1 38 call 40 pith_struct_release void 1 37 store rn 39 iconst 41 0 -store __and_41_4433 41 +store __and_41_4490 41 load 42 rn field 43 42 0 string kind strref 44 m46s321 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __and_41_4433 45 -brif 45 L4433 L4434 -label L4433 +store __and_41_4490 45 +brif 45 L4490 L4491 +label L4490 load 47 rn field 48 47 16 list children call 49 pith_list_len int 1 48 iconst 50 0 gt 51 49 50 -store __and_41_4433 51 -label L4434 -load 52 __and_41_4433 -brif 52 L4431 L4432 -label L4431 +store __and_41_4490 51 +label L4491 +load 52 __and_41_4490 +brif 52 L4488 L4489 +label L4488 load 53 rn field 54 53 16 list children iconst 55 0 @@ -165127,25 +165490,25 @@ call 61 pith_struct_release void 1 60 load 62 rn call 63 pith_struct_release void 1 62 ret 57 -label L4432 -label L4430 -label L4428 +label L4489 +label L4487 +label L4485 load 64 __for_idx_361 iconst 65 1 add 66 64 65 store __for_idx_361 66 -jmp L4426 -label L4429 -jmp L4423 -label L4425 -label L4423 -label L4421 +jmp L4483 +label L4486 +jmp L4480 +label L4482 +label L4480 +label L4478 load 67 __for_idx_360 iconst 68 1 add 69 67 68 store __for_idx_360 69 -jmp L4419 -label L4422 +jmp L4476 +label L4479 strref 70 m46s82 load 71 node call 72 pith_struct_release void 1 71 @@ -165183,12 +165546,12 @@ iconst 11 0 store __for_idx_362 11 store __for_len_362 10 store __for_iter_362 9 -label L4435 +label L4492 load 12 __for_idx_362 load 13 __for_len_362 lt 14 12 13 -brif 14 L4436 L4438 -label L4436 +brif 14 L4493 L4495 +label L4493 load 15 __for_iter_362 load 16 __for_idx_362 call 17 pith_list_get_value unknown 2 15 16 @@ -165203,8 +165566,8 @@ field 23 22 0 string kind strref 24 m46s313 call 25 pith_cstring_eq bool 2 23 24 call 26 pith_cstring_release void 1 24 -brif 25 L4440 L4441 -label L4440 +brif 25 L4497 L4498 +label L4497 load 27 cn field 28 27 16 list children call 29 pith_auto_len int 1 28 @@ -165212,12 +165575,12 @@ iconst 30 0 store __for_idx_363 30 store __for_len_363 29 store __for_iter_363 28 -label L4442 +label L4499 load 31 __for_idx_363 load 32 __for_len_363 lt 33 31 32 -brif 33 L4443 L4445 -label L4443 +brif 33 L4500 L4502 +label L4500 load 34 __for_iter_363 load 35 __for_idx_363 call 36 pith_list_get_value unknown 2 34 35 @@ -165232,8 +165595,8 @@ field 42 41 0 string kind strref 43 m46s320 call 44 pith_cstring_eq bool 2 42 43 call 45 pith_cstring_release void 1 43 -brif 44 L4447 L4448 -label L4447 +brif 44 L4504 L4505 +label L4504 iconst 46 1 load 47 node call 48 pith_struct_release void 1 47 @@ -165242,25 +165605,25 @@ call 50 pith_struct_release void 1 49 load 51 rn call 52 pith_struct_release void 1 51 ret 46 -label L4448 -label L4446 -label L4444 +label L4505 +label L4503 +label L4501 load 53 __for_idx_363 iconst 54 1 add 55 53 54 store __for_idx_363 55 -jmp L4442 -label L4445 -jmp L4439 -label L4441 -label L4439 -label L4437 +jmp L4499 +label L4502 +jmp L4496 +label L4498 +label L4496 +label L4494 load 56 __for_idx_362 iconst 57 1 add 58 56 57 store __for_idx_362 58 -jmp L4435 -label L4438 +jmp L4492 +label L4495 iconst 59 0 load 60 node call 61 pith_struct_release void 1 60 @@ -165295,8 +165658,8 @@ load 7 type_name call 8 string_len int 1 7 iconst 9 0 eq 10 8 9 -brif 10 L4450 L4451 -label L4450 +brif 10 L4507 L4508 +label L4507 strref 11 m46s82 load 12 key call 13 pith_cstring_release void 1 12 @@ -165309,8 +165672,8 @@ call 19 pith_cstring_release void 1 18 load 20 base_key call 21 pith_cstring_release void 1 20 ret 11 -label L4451 -label L4449 +label L4508 +label L4506 load 22 key load 23 type_name load 24 method_name @@ -165320,8 +165683,8 @@ store key 25 load 27 ir_method_tables_ir_impl_methods load 28 key call 29 contains_key bool 2 27 28 -brif 29 L4453 L4454 -label L4453 +brif 29 L4510 L4511 +label L4510 load 30 ir_method_tables_ir_impl_methods load 31 key call 32 map_get_strict string 2 30 31 @@ -165337,8 +165700,8 @@ call 41 pith_cstring_release void 1 40 load 42 base_key call 43 pith_cstring_release void 1 42 ret 32 -label L4454 -label L4452 +label L4511 +label L4509 load 44 resolved load 45 type_name call 46 ir_alias_registry_ir_resolve_type_hint string 1 45 @@ -165349,8 +165712,8 @@ load 49 type_name call 51 pith_cstring_eq bool 2 48 49 iconst 52 1 sub 50 52 51 -brif 50 L4456 L4457 -label L4456 +brif 50 L4513 L4514 +label L4513 load 53 resolved_key load 54 resolved load 55 method_name @@ -165360,8 +165723,8 @@ store resolved_key 56 load 58 ir_method_tables_ir_impl_methods load 59 resolved_key call 60 contains_key bool 2 58 59 -brif 60 L4459 L4460 -label L4459 +brif 60 L4516 L4517 +label L4516 load 61 ir_method_tables_ir_impl_methods load 62 resolved_key call 63 map_get_strict string 2 61 62 @@ -165377,17 +165740,17 @@ call 72 pith_cstring_release void 1 71 load 73 base_key call 74 pith_cstring_release void 1 73 ret 63 -label L4460 -label L4458 -jmp L4455 -label L4457 -label L4455 +label L4517 +label L4515 +jmp L4512 +label L4514 +label L4512 load 75 type_name strref 76 m46s335 call 77 pith_cstring_contains bool 2 75 76 call 78 pith_cstring_release void 1 76 -brif 77 L4462 L4463 -label L4462 +brif 77 L4519 L4520 +label L4519 load 79 base load 80 type_name iconst 81 0 @@ -165407,8 +165770,8 @@ store base_key 91 load 93 ir_method_tables_ir_impl_methods load 94 base_key call 95 contains_key bool 2 93 94 -brif 95 L4465 L4466 -label L4465 +brif 95 L4522 L4523 +label L4522 load 96 ir_method_tables_ir_impl_methods load 97 base_key call 98 map_get_strict string 2 96 97 @@ -165424,11 +165787,11 @@ call 107 pith_cstring_release void 1 106 load 108 base_key call 109 pith_cstring_release void 1 108 ret 98 -label L4466 -label L4464 -jmp L4461 -label L4463 -label L4461 +label L4523 +label L4521 +jmp L4518 +label L4520 +label L4518 strref 110 m46s82 load 111 key call 112 pith_cstring_release void 1 111 @@ -165466,12 +165829,12 @@ iconst 6 0 store __for_idx_364 6 store __for_len_364 5 store __for_iter_364 4 -label L4467 +label L4524 load 7 __for_idx_364 load 8 __for_len_364 lt 9 7 8 -brif 9 L4468 L4470 -label L4468 +brif 9 L4525 L4527 +label L4525 load 10 __for_iter_364 load 11 __for_idx_364 call 12 pith_list_get_value unknown 2 10 11 @@ -165486,21 +165849,21 @@ field 18 17 0 string kind strref 19 m46s588 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L4472 L4473 -label L4472 +brif 20 L4529 L4530 +label L4529 load 22 node load 23 module_path call 24 ir_emitter_core_ir_collect_impl_method_signatures void 2 22 23 -jmp L4471 -label L4473 -label L4471 -label L4469 +jmp L4528 +label L4530 +label L4528 +label L4526 load 25 __for_idx_364 iconst 26 1 add 27 25 26 store __for_idx_364 27 -jmp L4467 -label L4470 +jmp L4524 +label L4527 load 28 __for_iter_364 call 29 pith_list_release_handle void 1 28 load 30 node @@ -165520,12 +165883,12 @@ iconst 6 0 store __for_idx_365 6 store __for_len_365 5 store __for_iter_365 4 -label L4474 +label L4531 load 7 __for_idx_365 load 8 __for_len_365 lt 9 7 8 -brif 9 L4475 L4477 -label L4475 +brif 9 L4532 L4534 +label L4532 load 10 __for_iter_365 load 11 __for_idx_365 call 12 pith_list_get_value unknown 2 10 11 @@ -165536,34 +165899,34 @@ call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store node 15 iconst 17 0 -store __and_17_4481 17 +store __and_17_4538 17 load 18 node field 19 18 0 string kind call 20 ir_generics_ir_is_fn_decl_kind bool 1 19 -store __and_17_4481 20 -brif 20 L4481 L4482 -label L4481 +store __and_17_4538 20 +brif 20 L4538 L4539 +label L4538 load 21 node call 22 ir_generics_ir_has_generic_params bool 1 21 -store __and_17_4481 22 -label L4482 -load 23 __and_17_4481 -brif 23 L4479 L4480 -label L4479 +store __and_17_4538 22 +label L4539 +load 23 __and_17_4538 +brif 23 L4536 L4537 +label L4536 load 24 __loopvar_365_item_idx load 25 node load 26 module_path call 27 ir_generics_ir_record_generic_function_decl void 3 24 25 26 -jmp L4478 -label L4480 -label L4478 -label L4476 +jmp L4535 +label L4537 +label L4535 +label L4533 load 28 __for_idx_365 iconst 29 1 add 30 28 29 store __for_idx_365 30 -jmp L4474 -label L4477 +jmp L4531 +label L4534 load 31 __for_iter_365 call 32 pith_list_release_handle void 1 31 load 33 node @@ -165581,15 +165944,15 @@ load 4 name call 5 contains_key bool 2 3 4 iconst 7 1 sub 6 7 5 -brif 6 L4484 L4485 -label L4484 +brif 6 L4541 L4542 +label L4541 load 8 node call 9 ir_emitter_core_ir_generic_arg_types list_string 1 8 load 10 inferred call 11 pith_list_release_handle void 1 10 ret 9 -label L4485 -label L4483 +label L4542 +label L4540 load 12 inferred load 13 name load 14 node @@ -165628,12 +165991,12 @@ iconst 11 0 store __for_idx_366 11 store __for_len_366 10 store __for_iter_366 9 -label L4486 +label L4543 load 12 __for_idx_366 load 13 __for_len_366 lt 14 12 13 -brif 14 L4487 L4489 -label L4487 +brif 14 L4544 L4546 +label L4544 load 15 __for_iter_366 load 16 __for_idx_366 call 17 pith_list_get_value unknown 2 15 16 @@ -165644,37 +166007,37 @@ call 20 ast_get_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 iconst 22 0 -store __and_22_4493 22 +store __and_22_4550 22 iconst 23 0 -store __and_23_4493 23 +store __and_23_4550 23 load 24 cn field 25 24 0 string kind strref 26 m46s68 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -store __and_23_4493 27 -brif 27 L4493 L4494 -label L4493 +store __and_23_4550 27 +brif 27 L4550 L4551 +label L4550 load 29 cn field 30 29 8 string value load 31 param_name call 32 pith_cstring_eq bool 2 30 31 -store __and_23_4493 32 -label L4494 -load 33 __and_23_4493 -store __and_22_4493 33 -brif 33 L4495 L4496 -label L4495 +store __and_23_4550 32 +label L4551 +load 33 __and_23_4550 +store __and_22_4550 33 +brif 33 L4552 L4553 +label L4552 load 34 cn field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -store __and_22_4493 38 -label L4496 -load 39 __and_22_4493 -brif 39 L4491 L4492 -label L4491 +store __and_22_4550 38 +label L4553 +load 39 __and_22_4550 +brif 39 L4548 L4549 +label L4548 load 40 cn field 41 40 16 list children iconst 42 0 @@ -165684,15 +166047,15 @@ call 45 pith_struct_release void 1 44 load 46 cn call 47 pith_struct_release void 1 46 ret 43 -label L4492 -label L4490 -label L4488 +label L4549 +label L4547 +label L4545 load 48 __for_idx_366 iconst 49 1 add 50 48 49 store __for_idx_366 50 -jmp L4486 -label L4489 +jmp L4543 +label L4546 iconst 51 0 iconst 52 1 sub 53 51 52 @@ -165724,21 +166087,21 @@ store ccn 7 iconst 8 0 store acn 8 iconst 9 0 -store __or_9_4500 9 +store __or_9_4557 9 load 10 callee_idx iconst 11 0 lt 12 10 11 -store __or_9_4500 12 -brif 12 L4501 L4500 -label L4500 +store __or_9_4557 12 +brif 12 L4558 L4557 +label L4557 load 13 caller_idx iconst 14 0 lt 15 13 14 -store __or_9_4500 15 -label L4501 -load 16 __or_9_4500 -brif 16 L4498 L4499 -label L4498 +store __or_9_4557 15 +label L4558 +load 16 __or_9_4557 +brif 16 L4555 L4556 +label L4555 load 17 cn call 18 pith_struct_release void 1 17 load 19 an @@ -165751,8 +166114,8 @@ load 25 acn call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L4499 -label L4497 +label L4556 +label L4554 load 28 cn load 29 callee_idx call 30 ast_get_node struct:Node 1 29 @@ -165768,40 +166131,40 @@ field 37 36 0 string kind strref 38 m46s328 call 39 pith_cstring_eq bool 2 37 38 call 40 pith_cstring_release void 1 38 -brif 39 L4503 L4504 -label L4503 +brif 39 L4560 L4561 +label L4560 load 41 callee_params load 42 cn field 43 42 8 string value iconst 44 -1 -store __list_index_result_L4508 44 +store __list_index_result_L4565 44 iconst 45 0 -store __list_index_i_L4509 45 +store __list_index_i_L4566 45 call 46 pith_list_len int 1 41 -label L4510 -load 47 __list_index_i_L4509 +label L4567 +load 47 __list_index_i_L4566 lt 48 47 46 -brif 48 L4511 L4514 -label L4511 +brif 48 L4568 L4571 +label L4568 call 49 pith_list_get_value string 2 41 47 call 50 pith_cstring_eq bool 2 49 43 -brif 50 L4512 L4513 -label L4512 -store __list_index_result_L4508 47 -jmp L4514 -label L4513 +brif 50 L4569 L4570 +label L4569 +store __list_index_result_L4565 47 +jmp L4571 +label L4570 iconst 51 1 add 52 47 51 -store __list_index_i_L4509 52 -jmp L4510 -label L4514 -load 53 __list_index_result_L4508 +store __list_index_i_L4566 52 +jmp L4567 +label L4571 +load 53 __list_index_result_L4565 iconst 54 0 gte 55 53 54 iconst 57 1 sub 56 57 55 -brif 56 L4506 L4507 -label L4506 +brif 56 L4563 L4564 +label L4563 load 58 cn call 59 pith_struct_release void 1 58 load 60 an @@ -165814,8 +166177,8 @@ load 66 acn call 67 pith_struct_release void 1 66 iconst 68 0 ret 68 -label L4507 -label L4505 +label L4564 +label L4562 load 69 an field 70 69 0 string kind strref 71 m46s328 @@ -165823,8 +166186,8 @@ call 73 pith_cstring_eq bool 2 70 71 iconst 74 1 sub 72 74 73 call 75 pith_cstring_release void 1 71 -brif 72 L4516 L4517 -label L4516 +brif 72 L4573 L4574 +label L4573 load 76 cn call 77 pith_struct_release void 1 76 load 78 an @@ -165837,8 +166200,8 @@ load 84 acn call 85 pith_struct_release void 1 84 iconst 86 0 ret 86 -label L4517 -label L4515 +label L4574 +label L4572 load 87 resolved load 88 an field 89 88 8 string value @@ -165850,32 +166213,32 @@ store resolved 92 load 94 ir_alias_registry_ir_active_generic_params load 95 resolved iconst 96 -1 -store __list_index_result_L4521 96 +store __list_index_result_L4578 96 iconst 97 0 -store __list_index_i_L4522 97 +store __list_index_i_L4579 97 call 98 pith_list_len int 1 94 -label L4523 -load 99 __list_index_i_L4522 +label L4580 +load 99 __list_index_i_L4579 lt 100 99 98 -brif 100 L4524 L4527 -label L4524 +brif 100 L4581 L4584 +label L4581 call 101 pith_list_get_value string 2 94 99 call 102 pith_cstring_eq bool 2 101 95 -brif 102 L4525 L4526 -label L4525 -store __list_index_result_L4521 99 -jmp L4527 -label L4526 +brif 102 L4582 L4583 +label L4582 +store __list_index_result_L4578 99 +jmp L4584 +label L4583 iconst 103 1 add 104 99 103 -store __list_index_i_L4522 104 -jmp L4523 -label L4527 -load 105 __list_index_result_L4521 +store __list_index_i_L4579 104 +jmp L4580 +label L4584 +load 105 __list_index_result_L4578 iconst 106 0 gte 107 105 106 -brif 107 L4519 L4520 -label L4519 +brif 107 L4576 L4577 +label L4576 load 108 cn call 109 pith_struct_release void 1 108 load 110 an @@ -165888,24 +166251,24 @@ load 116 acn call 117 pith_struct_release void 1 116 iconst 118 0 ret 118 -label L4520 -label L4518 +label L4577 +label L4575 load 119 bindings load 120 cn field 121 120 8 string value call 122 contains_key bool 2 119 121 iconst 124 1 sub 123 124 122 -brif 123 L4529 L4530 -label L4529 +brif 123 L4586 L4587 +label L4586 load 125 bindings load 126 cn field 127 126 8 string value load 128 resolved call 129 map_insert void 3 125 127 128 -jmp L4528 -label L4530 -label L4528 +jmp L4585 +label L4587 +label L4585 load 130 cn call 131 pith_struct_release void 1 130 load 132 an @@ -165918,64 +166281,64 @@ load 138 acn call 139 pith_struct_release void 1 138 iconst 140 0 ret 140 -label L4504 -label L4502 +label L4561 +label L4559 iconst 141 0 -store __and_141_4534 141 +store __and_141_4591 141 iconst 142 0 -store __and_142_4534 142 +store __and_142_4591 142 load 143 cn field 144 143 0 string kind strref 145 m46s327 call 146 pith_cstring_eq bool 2 144 145 call 147 pith_cstring_release void 1 145 -store __and_142_4534 146 -brif 146 L4534 L4535 -label L4534 +store __and_142_4591 146 +brif 146 L4591 L4592 +label L4591 load 148 an field 149 148 0 string kind strref 150 m46s327 call 151 pith_cstring_eq bool 2 149 150 call 152 pith_cstring_release void 1 150 -store __and_142_4534 151 -label L4535 -load 153 __and_142_4534 -store __and_141_4534 153 -brif 153 L4536 L4537 -label L4536 +store __and_142_4591 151 +label L4592 +load 153 __and_142_4591 +store __and_141_4591 153 +brif 153 L4593 L4594 +label L4593 load 154 cn field 155 154 8 string value load 156 an field 157 156 8 string value call 158 pith_cstring_eq bool 2 155 157 -store __and_141_4534 158 -label L4537 -load 159 __and_141_4534 -brif 159 L4532 L4533 -label L4532 +store __and_141_4591 158 +label L4594 +load 159 __and_141_4591 +brif 159 L4589 L4590 +label L4589 iconst 160 0 store i 160 -label L4538 +label L4595 iconst 161 0 -store __and_161_4541 161 +store __and_161_4598 161 load 162 i load 163 cn field 164 163 16 list children call 165 pith_list_len int 1 164 lt 166 162 165 -store __and_161_4541 166 -brif 166 L4541 L4542 -label L4541 +store __and_161_4598 166 +brif 166 L4598 L4599 +label L4598 load 167 i load 168 an field 169 168 16 list children call 170 pith_list_len int 1 169 lt 171 167 170 -store __and_161_4541 171 -label L4542 -load 172 __and_161_4541 -brif 172 L4539 L4540 -label L4539 +store __and_161_4598 171 +label L4599 +load 172 __and_161_4598 +brif 172 L4596 L4597 +label L4596 load 173 cn field 174 173 16 list children load 175 i @@ -165991,8 +166354,8 @@ load 184 i iconst 185 1 add 186 184 185 store i 186 -jmp L4538 -label L4540 +jmp L4595 +label L4597 load 187 cn call 188 pith_struct_release void 1 187 load 189 an @@ -166005,40 +166368,40 @@ load 195 acn call 196 pith_struct_release void 1 195 iconst 197 0 ret 197 -label L4533 -label L4531 +label L4590 +label L4588 iconst 198 0 -store __and_198_4546 198 +store __and_198_4603 198 load 199 cn field 200 199 0 string kind strref 201 m46s318 call 202 pith_cstring_eq bool 2 200 201 call 203 pith_cstring_release void 1 201 -store __and_198_4546 202 -brif 202 L4546 L4547 -label L4546 +store __and_198_4603 202 +brif 202 L4603 L4604 +label L4603 load 204 an field 205 204 0 string kind strref 206 m46s318 call 207 pith_cstring_eq bool 2 205 206 call 208 pith_cstring_release void 1 206 -store __and_198_4546 207 -label L4547 -load 209 __and_198_4546 -brif 209 L4544 L4545 -label L4544 +store __and_198_4603 207 +label L4604 +load 209 __and_198_4603 +brif 209 L4601 L4602 +label L4601 iconst 210 0 store ci 210 iconst 211 0 store ai 211 -label L4548 +label L4605 load 212 ci load 213 cn field 214 213 16 list children call 215 pith_list_len int 1 214 lt 216 212 215 -brif 216 L4549 L4550 -label L4549 +brif 216 L4606 L4607 +label L4606 load 217 ccn load 218 cn field 219 218 16 list children @@ -166047,17 +166410,17 @@ call 221 pith_list_get_value_strict int 2 219 220 call 222 ast_get_node struct:Node 1 221 call 223 pith_struct_release void 1 217 store ccn 222 -label L4551 +label L4608 iconst 224 0 -store __and_224_4554 224 +store __and_224_4611 224 load 225 ai load 226 an field 227 226 16 list children call 228 pith_list_len int 1 227 lt 229 225 228 -store __and_224_4554 229 -brif 229 L4554 L4555 -label L4554 +store __and_224_4611 229 +brif 229 L4611 L4612 +label L4611 load 230 an field 231 230 16 list children load 232 ai @@ -166069,44 +166432,44 @@ field 237 236 0 string kind call 239 pith_cstring_eq bool 2 235 237 iconst 240 1 sub 238 240 239 -store __and_224_4554 238 -label L4555 -load 241 __and_224_4554 -brif 241 L4552 L4553 -label L4552 +store __and_224_4611 238 +label L4612 +load 241 __and_224_4611 +brif 241 L4609 L4610 +label L4609 load 242 ai iconst 243 1 add 244 242 243 store ai 244 -jmp L4551 -label L4553 +jmp L4608 +label L4610 load 245 ai load 246 an field 247 246 16 list children call 248 pith_list_len int 1 247 lt 249 245 248 -brif 249 L4557 L4558 -label L4557 +brif 249 L4614 L4615 +label L4614 iconst 250 0 -store __and_250_4562 250 +store __and_250_4619 250 load 251 ccn field 252 251 0 string kind strref 253 m46s68 call 254 pith_cstring_eq bool 2 252 253 call 255 pith_cstring_release void 1 253 -store __and_250_4562 254 -brif 254 L4562 L4563 -label L4562 +store __and_250_4619 254 +brif 254 L4619 L4620 +label L4619 load 256 ccn field 257 256 16 list children call 258 pith_list_len int 1 257 iconst 259 0 gt 260 258 259 -store __and_250_4562 260 -label L4563 -load 261 __and_250_4562 -brif 261 L4560 L4561 -label L4560 +store __and_250_4619 260 +label L4620 +load 261 __and_250_4619 +brif 261 L4617 L4618 +label L4617 load 262 acn load 263 an field 264 263 16 list children @@ -166120,8 +166483,8 @@ field 270 269 16 list children call 271 pith_list_len int 1 270 iconst 272 0 gt 273 271 272 -brif 273 L4565 L4566 -label L4565 +brif 273 L4622 L4623 +label L4622 load 274 ccn field 275 274 16 list children iconst 276 0 @@ -166133,31 +166496,31 @@ call 281 pith_list_get_value_strict int 2 279 280 load 282 callee_params load 283 bindings call 284 ir_emitter_core_ir_unify_generic_param_nodes void 4 277 281 282 283 -jmp L4564 -label L4566 -label L4564 -jmp L4559 -label L4561 +jmp L4621 +label L4623 +label L4621 +jmp L4616 +label L4618 iconst 285 0 -store __and_285_4569 285 +store __and_285_4626 285 load 286 ccn field 287 286 0 string kind strref 288 m46s313 call 289 pith_cstring_eq bool 2 287 288 call 290 pith_cstring_release void 1 288 -store __and_285_4569 289 -brif 289 L4569 L4570 -label L4569 +store __and_285_4626 289 +brif 289 L4626 L4627 +label L4626 load 291 ccn field 292 291 16 list children call 293 pith_list_len int 1 292 iconst 294 0 gt 295 293 294 -store __and_285_4569 295 -label L4570 -load 296 __and_285_4569 -brif 296 L4567 L4568 -label L4567 +store __and_285_4626 295 +label L4627 +load 296 __and_285_4626 +brif 296 L4624 L4625 +label L4624 load 297 acn load 298 an field 299 298 16 list children @@ -166171,8 +166534,8 @@ field 305 304 16 list children call 306 pith_list_len int 1 305 iconst 307 0 gt 308 306 307 -brif 308 L4572 L4573 -label L4572 +brif 308 L4629 L4630 +label L4629 load 309 ccn field 310 309 16 list children iconst 311 0 @@ -166184,28 +166547,28 @@ call 316 pith_list_get_value_strict int 2 314 315 load 317 callee_params load 318 bindings call 319 ir_emitter_core_ir_unify_generic_param_nodes void 4 312 316 317 318 -jmp L4571 -label L4573 -label L4571 -jmp L4559 -label L4568 -label L4559 +jmp L4628 +label L4630 +label L4628 +jmp L4616 +label L4625 +label L4616 load 320 ai iconst 321 1 add 322 320 321 store ai 322 -jmp L4556 -label L4558 -label L4556 +jmp L4613 +label L4615 +label L4613 load 323 ci iconst 324 1 add 325 323 324 store ci 325 -jmp L4548 -label L4550 -jmp L4543 -label L4545 -label L4543 +jmp L4605 +label L4607 +jmp L4600 +label L4602 +label L4600 load 326 cn call 327 pith_struct_release void 1 326 load 328 an @@ -166240,34 +166603,34 @@ store filled 9 load 10 inferred strref 11 m46s822 iconst 12 -1 -store __list_index_result_L4577 12 +store __list_index_result_L4634 12 iconst 13 0 -store __list_index_i_L4578 13 +store __list_index_i_L4635 13 call 14 pith_list_len int 1 10 -label L4579 -load 15 __list_index_i_L4578 +label L4636 +load 15 __list_index_i_L4635 lt 16 15 14 -brif 16 L4580 L4583 -label L4580 +brif 16 L4637 L4640 +label L4637 call 17 pith_list_get_value string 2 10 15 call 18 pith_cstring_eq bool 2 17 11 -brif 18 L4581 L4582 -label L4581 -store __list_index_result_L4577 15 -jmp L4583 -label L4582 +brif 18 L4638 L4639 +label L4638 +store __list_index_result_L4634 15 +jmp L4640 +label L4639 iconst 19 1 add 20 15 19 -store __list_index_i_L4578 20 -jmp L4579 -label L4583 -load 21 __list_index_result_L4577 +store __list_index_i_L4635 20 +jmp L4636 +label L4640 +load 21 __list_index_result_L4634 iconst 22 0 gte 23 21 22 iconst 25 1 sub 24 25 23 -brif 24 L4575 L4576 -label L4575 +brif 24 L4632 L4633 +label L4632 load 26 inferred call 27 pith_list_retain_handle void 1 26 load 28 callee_params @@ -166285,25 +166648,25 @@ call 39 pith_cstring_release void 1 38 load 40 filled call 41 pith_list_release_handle void 1 40 ret 26 -label L4576 -label L4574 +label L4633 +label L4631 iconst 42 0 -store __or_42_4587 42 +store __or_42_4644 42 load 43 ir_alias_registry_ir_active_generic_params call 44 pith_list_len int 1 43 iconst 45 0 eq 46 44 45 -store __or_42_4587 46 -brif 46 L4588 L4587 -label L4587 +store __or_42_4644 46 +brif 46 L4645 L4644 +label L4644 load 47 ir_alias_registry_ir_active_generic_decl_idx iconst 48 0 lt 49 47 48 -store __or_42_4587 49 -label L4588 -load 50 __or_42_4587 -brif 50 L4585 L4586 -label L4585 +store __or_42_4644 49 +label L4645 +load 50 __or_42_4644 +brif 50 L4642 L4643 +label L4642 load 51 inferred call 52 pith_list_retain_handle void 1 51 load 53 callee_params @@ -166321,8 +166684,8 @@ call 64 pith_cstring_release void 1 63 load 65 filled call 66 pith_list_release_handle void 1 65 ret 51 -label L4586 -label L4584 +label L4643 +label L4641 load 67 ir_generics_ir_generic_decl_indices load 68 name call 69 map_get_strict int 2 67 68 @@ -166347,12 +166710,12 @@ iconst 83 0 store __for_idx_367 83 store __for_len_367 82 store __for_iter_367 81 -label L4589 +label L4646 load 84 __for_idx_367 load 85 __for_len_367 lt 86 84 85 -brif 86 L4590 L4592 -label L4590 +brif 86 L4647 L4649 +label L4647 load 87 __for_iter_367 load 88 __for_idx_367 call 89 pith_list_get_value unknown 2 87 88 @@ -166362,11 +166725,11 @@ store __loopvar_367_i 90 load 91 __loopvar_367_i iconst 92 0 eq 93 91 92 -brif 93 L4594 L4595 -label L4594 -jmp L4591 -label L4595 -label L4593 +brif 93 L4651 L4652 +label L4651 +jmp L4648 +label L4652 +label L4650 load 94 __loopvar_367_child store expr_idx 94 load 95 cn @@ -166379,26 +166742,26 @@ field 100 99 0 string kind strref 101 m46s42 call 102 pith_cstring_eq bool 2 100 101 call 103 pith_cstring_release void 1 101 -brif 102 L4597 L4598 -label L4597 +brif 102 L4654 L4655 +label L4654 load 104 cn field 105 104 16 list children call 106 pith_list_len int 1 105 iconst 107 0 eq 108 106 107 -brif 108 L4600 L4601 -label L4600 -jmp L4591 -label L4601 -label L4599 +brif 108 L4657 L4658 +label L4657 +jmp L4648 +label L4658 +label L4656 load 109 cn field 110 109 16 list children iconst 111 0 call 112 pith_list_get_value_strict int 2 110 111 store expr_idx 112 -jmp L4596 -label L4598 -label L4596 +jmp L4653 +label L4655 +label L4653 load 113 en load 114 expr_idx call 115 ast_get_node struct:Node 1 114 @@ -166409,8 +166772,8 @@ field 118 117 0 string kind strref 119 m46s37 call 120 pith_cstring_eq bool 2 118 119 call 121 pith_cstring_release void 1 119 -brif 120 L4603 L4604 -label L4603 +brif 120 L4660 L4661 +label L4660 load 122 ir_alias_registry_ir_active_generic_decl_idx load 123 en field 124 123 8 string value @@ -166419,8 +166782,8 @@ store caller_type_idx 125 load 126 caller_type_idx iconst 127 0 gte 128 126 127 -brif 128 L4606 L4607 -label L4606 +brif 128 L4663 L4664 +label L4663 load 129 declared load 130 caller_type_idx call 131 ir_alias_registry_ir_resolve_type_node string 1 130 @@ -166433,22 +166796,22 @@ call 136 ir_emitter_core_ir_lookup_name_type string 1 135 call 137 pith_cstring_release void 1 133 store tracked 136 iconst 138 0 -store __or_138_4611 138 +store __or_138_4668 138 load 139 tracked call 140 string_len int 1 139 iconst 141 0 eq 142 140 141 -store __or_138_4611 142 -brif 142 L4612 L4611 -label L4611 +store __or_138_4668 142 +brif 142 L4669 L4668 +label L4668 load 143 tracked load 144 declared call 145 pith_cstring_eq bool 2 143 144 -store __or_138_4611 145 -label L4612 -load 146 __or_138_4611 -brif 146 L4609 L4610 -label L4609 +store __or_138_4668 145 +label L4669 +load 146 __or_138_4668 +brif 146 L4666 L4667 +label L4666 load 147 callee_decl load 148 callee_decl load 149 arg_pos @@ -166461,26 +166824,26 @@ load 154 caller_type_idx load 155 callee_params load 156 bindings call 157 ir_emitter_core_ir_unify_generic_param_nodes void 4 153 154 155 156 -jmp L4608 -label L4610 -label L4608 -jmp L4605 -label L4607 -label L4605 -jmp L4602 -label L4604 -label L4602 +jmp L4665 +label L4667 +label L4665 +jmp L4662 +label L4664 +label L4662 +jmp L4659 +label L4661 +label L4659 load 158 arg_pos iconst 159 1 add 160 158 159 store arg_pos 160 -label L4591 +label L4648 load 161 __for_idx_367 iconst 162 1 add 163 161 162 store __for_idx_367 163 -jmp L4589 -label L4592 +jmp L4646 +label L4649 load 164 filled call 165 pith_list_new_cstr list 0 call 166 pith_list_release_handle void 1 164 @@ -166491,12 +166854,12 @@ iconst 169 0 store __for_idx_368 169 store __for_len_368 168 store __for_iter_368 167 -label L4613 +label L4670 load 170 __for_idx_368 load 171 __for_len_368 lt 172 170 171 -brif 172 L4614 L4616 -label L4614 +brif 172 L4671 L4673 +label L4671 load 173 __for_iter_368 load 174 __for_idx_368 call 175 pith_list_get_value_unchecked string 2 173 174 @@ -166504,36 +166867,36 @@ store __loopvar_368_concrete 175 load 176 __for_idx_368 store __loopvar_368_i 176 iconst 177 0 -store __and_177_4620 177 +store __and_177_4677 177 iconst 178 0 -store __and_178_4620 178 +store __and_178_4677 178 load 179 __loopvar_368_concrete strref 180 m46s822 call 181 pith_cstring_eq bool 2 179 180 call 182 pith_cstring_release void 1 180 -store __and_178_4620 181 -brif 181 L4620 L4621 -label L4620 +store __and_178_4677 181 +brif 181 L4677 L4678 +label L4677 load 183 __loopvar_368_i load 184 callee_params call 185 pith_list_len int 1 184 lt 186 183 185 -store __and_178_4620 186 -label L4621 -load 187 __and_178_4620 -store __and_177_4620 187 -brif 187 L4622 L4623 -label L4622 +store __and_178_4677 186 +label L4678 +load 187 __and_178_4677 +store __and_177_4677 187 +brif 187 L4679 L4680 +label L4679 load 188 bindings load 189 callee_params load 190 __loopvar_368_i call 191 pith_list_get_value_strict string 2 189 190 call 192 contains_key bool 2 188 191 -store __and_177_4620 192 -label L4623 -load 193 __and_177_4620 -brif 193 L4618 L4619 -label L4618 +store __and_177_4677 192 +label L4680 +load 193 __and_177_4677 +brif 193 L4675 L4676 +label L4675 load 194 filled load 195 bindings load 196 callee_params @@ -166541,19 +166904,19 @@ load 197 __loopvar_368_i call 198 pith_list_get_value_strict string 2 196 197 call 199 map_get_strict string 2 195 198 call 200 pith_list_push_value void 2 194 199 -jmp L4617 -label L4619 +jmp L4674 +label L4676 load 201 filled load 202 __loopvar_368_concrete call 203 pith_list_push_value void 2 201 202 -label L4617 -label L4615 +label L4674 +label L4672 load 204 __for_idx_368 iconst 205 1 add 206 204 205 store __for_idx_368 206 -jmp L4613 -label L4616 +jmp L4670 +label L4673 load 207 filled load 208 callee_params call 209 pith_list_release_handle void 1 208 @@ -166601,8 +166964,8 @@ field 8 7 0 string kind strref 9 m46s37 call 10 pith_cstring_eq bool 2 8 9 call 11 pith_cstring_release void 1 9 -brif 10 L4625 L4626 -label L4625 +brif 10 L4682 L4683 +label L4682 load 12 resolved load 13 type_node field 14 13 8 string value @@ -166615,14 +166978,14 @@ load 19 resolved call 20 string_len int 1 19 iconst 21 0 gt 22 20 21 -brif 22 L4628 L4629 -label L4628 +brif 22 L4685 L4686 +label L4685 load 23 resolved load 24 type_node call 25 pith_struct_release void 1 24 ret 23 -label L4629 -label L4627 +label L4686 +label L4684 load 26 type_node field 27 26 8 string value call 28 ir_alias_registry_ir_resolve_type_hint string 1 27 @@ -166631,8 +166994,8 @@ call 30 pith_struct_release void 1 29 load 31 resolved call 32 pith_cstring_release void 1 31 ret 28 -label L4626 -label L4624 +label L4683 +label L4681 load 33 type_idx load 34 ir_alias_registry_ir_active_generic_params load 35 ir_alias_registry_ir_active_generic_concrete_types @@ -166659,14 +167022,14 @@ call 4 pith_list_release_handle void 1 2 store concrete_types 3 iconst 5 1 store i 5 -label L4630 +label L4687 load 6 i load 7 index_node field 8 7 16 list children call 9 pith_list_len int 1 8 lt 10 6 9 -brif 10 L4631 L4632 -label L4631 +brif 10 L4688 L4689 +label L4688 load 11 concrete_types load 12 index_node field 13 12 16 list children @@ -166678,8 +167041,8 @@ load 18 i iconst 19 1 add 20 18 19 store i 20 -jmp L4630 -label L4632 +jmp L4687 +label L4689 load 21 concrete_types ret 21 load 22 concrete_types @@ -166710,12 +167073,12 @@ iconst 13 0 store __for_idx_369 13 store __for_len_369 12 store __for_iter_369 11 -label L4633 +label L4690 load 14 __for_idx_369 load 15 __for_len_369 lt 16 14 15 -brif 16 L4634 L4636 -label L4634 +brif 16 L4691 L4693 +label L4691 load 17 __for_iter_369 load 18 __for_idx_369 call 19 pith_list_get_value unknown 2 17 18 @@ -166730,8 +167093,8 @@ field 25 24 0 string kind strref 26 m46s68 call 27 pith_cstring_eq bool 2 25 26 call 28 pith_cstring_release void 1 26 -brif 27 L4638 L4639 -label L4638 +brif 27 L4695 L4696 +label L4695 load 29 param_type strref 30 m46s82 call 31 pith_cstring_release void 1 29 @@ -166740,8 +167103,8 @@ load 32 param_idx load 33 param_types call 34 pith_list_len int 1 33 lt 35 32 34 -brif 35 L4641 L4642 -label L4641 +brif 35 L4698 L4699 +label L4698 load 36 param_type load 37 param_types load 38 param_idx @@ -166749,9 +167112,9 @@ call 39 pith_list_get_value_strict string 2 37 38 call 40 pith_cstring_retain void 1 39 call 41 pith_cstring_release void 1 36 store param_type 39 -jmp L4640 -label L4642 -label L4640 +jmp L4697 +label L4699 +label L4697 load 42 cn field 43 42 8 string value load 44 param_type @@ -166762,16 +167125,16 @@ load 48 param_idx iconst 49 1 add 50 48 49 store param_idx 50 -jmp L4637 -label L4639 -label L4637 -label L4635 +jmp L4694 +label L4696 +label L4694 +label L4692 load 51 __for_idx_369 iconst 52 1 add 53 51 52 store __for_idx_369 53 -jmp L4633 -label L4636 +jmp L4690 +label L4693 load 54 node call 55 pith_struct_release void 1 54 load 56 cn @@ -166802,12 +167165,12 @@ iconst 11 0 store __for_idx_370 11 store __for_len_370 10 store __for_iter_370 9 -label L4643 +label L4700 load 12 __for_idx_370 load 13 __for_len_370 lt 14 12 13 -brif 14 L4644 L4646 -label L4644 +brif 14 L4701 L4703 +label L4701 load 15 __for_iter_370 load 16 __for_idx_370 call 17 pith_list_get_value unknown 2 15 16 @@ -166817,11 +167180,11 @@ store __loopvar_370_i 18 load 19 __loopvar_370_i iconst 20 0 eq 21 19 20 -brif 21 L4648 L4649 -label L4648 -jmp L4645 -label L4649 -label L4647 +brif 21 L4705 L4706 +label L4705 +jmp L4702 +label L4706 +label L4704 load 22 child_kind load 23 __loopvar_370_child call 24 ast_node_kind string 1 23 @@ -166833,8 +167196,8 @@ load 27 child_kind strref 28 m46s42 call 29 pith_cstring_eq bool 2 27 28 call 30 pith_cstring_release void 1 28 -brif 29 L4651 L4652 -label L4651 +brif 29 L4708 L4709 +label L4708 load 31 cn load 32 __loopvar_370_child call 33 ast_get_node struct:Node 1 32 @@ -166845,19 +167208,19 @@ field 36 35 16 list children call 37 pith_list_len int 1 36 iconst 38 0 gt 39 37 38 -brif 39 L4654 L4655 -label L4654 +brif 39 L4711 L4712 +label L4711 load 40 cn field 41 40 16 list children iconst 42 0 call 43 pith_list_get_value_strict int 2 41 42 store expr_idx 43 -jmp L4653 -label L4655 -label L4653 -jmp L4650 -label L4652 -label L4650 +jmp L4710 +label L4712 +label L4710 +jmp L4707 +label L4709 +label L4707 load 44 checked load 45 expr_idx call 46 ir_type_helpers_ir_checked_type string 1 45 @@ -166867,25 +167230,25 @@ load 48 checked call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L4657 L4658 -label L4657 +brif 51 L4714 L4715 +label L4714 load 52 arg_types load 53 checked call 54 pith_list_push_value void 2 52 53 -jmp L4656 -label L4658 +jmp L4713 +label L4715 load 55 arg_types load 56 expr_idx call 57 ir_emitter_core_ir_infer_type string 1 56 call 58 pith_list_push_value_owned void 2 55 57 -label L4656 -label L4645 +label L4713 +label L4702 load 59 __for_idx_370 iconst 60 1 add 61 59 60 store __for_idx_370 61 -jmp L4643 -label L4646 +jmp L4700 +label L4703 load 62 arg_types load 63 child_kind call 64 pith_cstring_release void 1 63 @@ -166924,12 +167287,12 @@ iconst 10 0 store __for_idx_371 10 store __for_len_371 9 store __for_iter_371 8 -label L4659 +label L4716 load 11 __for_idx_371 load 12 __for_len_371 lt 13 11 12 -brif 13 L4660 L4662 -label L4660 +brif 13 L4717 L4719 +label L4717 load 14 __for_iter_371 load 15 __for_idx_371 call 16 pith_list_get_value unknown 2 14 15 @@ -166939,11 +167302,11 @@ store __loopvar_371_i 17 load 18 __loopvar_371_i iconst 19 0 eq 20 18 19 -brif 20 L4664 L4665 -label L4664 -jmp L4661 -label L4665 -label L4663 +brif 20 L4721 L4722 +label L4721 +jmp L4718 +label L4722 +label L4720 load 21 child_kind load 22 __loopvar_371_child call 23 ast_node_kind string 1 22 @@ -166955,8 +167318,8 @@ load 26 child_kind strref 27 m46s42 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -brif 28 L4667 L4668 -label L4667 +brif 28 L4724 L4725 +label L4724 load 30 cn load 31 __loopvar_371_child call 32 ast_get_node struct:Node 1 31 @@ -166967,30 +167330,30 @@ field 35 34 16 list children call 36 pith_list_len int 1 35 iconst 37 0 gt 38 36 37 -brif 38 L4670 L4671 -label L4670 +brif 38 L4727 L4728 +label L4727 load 39 cn field 40 39 16 list children iconst 41 0 call 42 pith_list_get_value_strict int 2 40 41 store expr_idx 42 -jmp L4669 -label L4671 -label L4669 -jmp L4666 -label L4668 -label L4666 +jmp L4726 +label L4728 +label L4726 +jmp L4723 +label L4725 +label L4723 load 43 arg_tids load 44 expr_idx call 45 checker_c_get_expr_type int 1 44 call 46 pith_list_push_value void 2 43 45 -label L4661 +label L4718 load 47 __for_idx_371 iconst 48 1 add 49 47 48 store __for_idx_371 49 -jmp L4659 -label L4662 +jmp L4716 +label L4719 load 50 arg_tids load 51 child_kind call 52 pith_cstring_release void 1 51 @@ -167020,8 +167383,8 @@ call 7 pith_cstring_contains bool 2 5 6 call 8 pith_cstring_release void 1 6 iconst 9 0 eq 10 7 9 -brif 10 L4673 L4674 -label L4673 +brif 10 L4730 L4731 +label L4730 load 11 type_name call 12 pith_cstring_retain void 1 11 load 13 parts @@ -167029,8 +167392,8 @@ call 14 pith_list_release_handle void 1 13 load 15 akey call 16 pith_cstring_release void 1 15 ret 11 -label L4674 -label L4672 +label L4731 +label L4729 load 17 parts load 18 type_name strref 19 m46s26 @@ -167042,8 +167405,8 @@ load 23 parts call 24 pith_list_len int 1 23 iconst 25 2 neq 26 24 25 -brif 26 L4676 L4677 -label L4676 +brif 26 L4733 L4734 +label L4733 load 27 type_name call 28 pith_cstring_retain void 1 27 load 29 parts @@ -167051,8 +167414,8 @@ call 30 pith_list_release_handle void 1 29 load 31 akey call 32 pith_cstring_release void 1 31 ret 27 -label L4677 -label L4675 +label L4734 +label L4732 iconst 33 0 store i 33 load 34 params @@ -167061,35 +167424,35 @@ iconst 36 0 store __for_idx_372 36 store __for_len_372 35 store __for_iter_372 34 -label L4678 +label L4735 load 37 __for_idx_372 load 38 __for_len_372 lt 39 37 38 -brif 39 L4679 L4681 -label L4679 +brif 39 L4736 L4738 +label L4736 load 40 __for_iter_372 load 41 __for_idx_372 call 42 pith_list_get_value_unchecked string 2 40 41 store __loopvar_372_p 42 iconst 43 0 -store __and_43_4685 43 +store __and_43_4742 43 load 44 __loopvar_372_p load 45 parts iconst 46 0 call 47 pith_list_get_value_strict string 2 45 46 call 48 pith_cstring_eq bool 2 44 47 -store __and_43_4685 48 -brif 48 L4685 L4686 -label L4685 +store __and_43_4742 48 +brif 48 L4742 L4743 +label L4742 load 49 i load 50 concrete call 51 pith_list_len int 1 50 lt 52 49 51 -store __and_43_4685 52 -label L4686 -load 53 __and_43_4685 -brif 53 L4683 L4684 -label L4683 +store __and_43_4742 52 +label L4743 +load 53 __and_43_4742 +brif 53 L4740 L4741 +label L4740 load 54 akey load 55 concrete load 56 i @@ -167109,8 +167472,8 @@ store akey 66 load 69 ir_method_tables_ir_assoc_bindings load 70 akey call 71 contains_key bool 2 69 70 -brif 71 L4688 L4689 -label L4688 +brif 71 L4745 L4746 +label L4745 load 72 ir_method_tables_ir_assoc_bindings load 73 akey call 74 map_get_strict string 2 72 73 @@ -167120,22 +167483,22 @@ call 77 pith_list_release_handle void 1 76 load 78 akey call 79 pith_cstring_release void 1 78 ret 74 -label L4689 -label L4687 -jmp L4682 -label L4684 -label L4682 +label L4746 +label L4744 +jmp L4739 +label L4741 +label L4739 load 80 i iconst 81 1 add 82 80 81 store i 82 -label L4680 +label L4737 load 83 __for_idx_372 iconst 84 1 add 85 83 84 store __for_idx_372 85 -jmp L4678 -label L4681 +jmp L4735 +label L4738 load 86 type_name call 87 pith_cstring_retain void 1 86 load 88 parts @@ -167181,8 +167544,8 @@ load 14 key call 15 contains_key bool 2 13 14 iconst 17 1 sub 16 17 15 -brif 16 L4691 L4692 -label L4691 +brif 16 L4748 L4749 +label L4748 load 18 base_name call 19 pith_cstring_release void 1 18 load 20 decl_node @@ -167209,8 +167572,8 @@ load 40 saved_param_optional_tids call 41 pith_map_release_handle void 1 40 iconst 42 0 ret 42 -label L4692 -label L4690 +label L4749 +label L4747 load 43 base_name load 44 key iconst 45 9 @@ -167227,8 +167590,8 @@ load 54 base_name call 55 contains_key bool 2 53 54 iconst 57 1 sub 56 57 55 -brif 56 L4694 L4695 -label L4694 +brif 56 L4751 L4752 +label L4751 load 58 base_name call 59 pith_cstring_release void 1 58 load 60 decl_node @@ -167255,8 +167618,8 @@ load 80 saved_param_optional_tids call 81 pith_map_release_handle void 1 80 iconst 82 0 ret 82 -label L4695 -label L4693 +label L4752 +label L4750 load 83 ir_generics_ir_generic_decl_indices load 84 base_name call 85 map_get_strict int 2 83 84 @@ -167319,12 +167682,12 @@ iconst 131 0 store __for_idx_373 131 store __for_len_373 130 store __for_iter_373 129 -label L4696 +label L4753 load 132 __for_idx_373 load 133 __for_len_373 lt 134 132 133 -brif 134 L4697 L4699 -label L4697 +brif 134 L4754 L4756 +label L4754 load 135 __for_iter_373 load 136 __for_idx_373 call 137 pith_list_get_value_unchecked string 2 135 136 @@ -167335,13 +167698,13 @@ load 140 generic_params load 141 concrete_types call 142 ir_emitter_core_ir_resolve_assoc_in_generic string 3 139 140 141 call 143 pith_list_push_value_owned void 2 138 142 -label L4698 +label L4755 load 144 __for_idx_373 iconst 145 1 add 146 144 145 store __for_idx_373 146 -jmp L4696 -label L4699 +jmp L4753 +label L4756 load 147 param_types load 148 resolved_param_types call 149 pith_list_retain_handle void 1 148 @@ -167384,18 +167747,18 @@ store ir_alias_registry_ir_active_param_optional_tids 175 load 176 ir_generics_ir_generic_decl_module_paths load 177 base_name call 178 contains_key bool 2 176 177 -brif 178 L4701 L4702 -label L4701 +brif 178 L4758 L4759 +label L4758 load 179 ir_generics_ir_generic_decl_module_paths load 180 base_name call 181 map_get_strict string 2 179 180 call 182 pith_cstring_retain void 1 181 store ir_alias_registry_ir_active_generic_module_path 181 -jmp L4700 -label L4702 +jmp L4757 +label L4759 strref 183 m46s82 store ir_alias_registry_ir_active_generic_module_path 183 -label L4700 +label L4757 load 184 ret_type call 185 ir_emitter_core_ir_prepare_func_emission void 1 184 load 186 ir_emitter_core_ir_current_func_optional_inner_kind @@ -167424,24 +167787,24 @@ load 206 spec_name load 207 ret_type call 208 map_insert void 3 205 206 207 iconst 209 0 -store __and_209_4706 209 +store __and_209_4763 209 load 210 concrete_types call 211 pith_list_len int 1 210 iconst 212 1 eq 213 211 212 -store __and_209_4706 213 -brif 213 L4706 L4707 -label L4706 +store __and_209_4763 213 +brif 213 L4763 L4764 +label L4763 load 214 base_name iconst 215 0 load 216 ir_alias_registry_ir_active_generic_module_path load 217 decl_idx call 218 ir_decode_calls_ir_is_config_decode_specialization bool 4 214 215 216 217 -store __and_209_4706 218 -label L4707 -load 219 __and_209_4706 -brif 219 L4704 L4705 -label L4704 +store __and_209_4763 218 +label L4764 +load 219 __and_209_4763 +brif 219 L4761 L4762 +label L4761 load 220 concrete_types iconst 221 0 call 222 pith_list_get_value_strict string 2 220 221 @@ -167453,27 +167816,27 @@ call 227 ir_decode_emit_ir_emit_config_decode_specialization_body void 5 222 223 call 228 pith_closure_release void 1 224 call 229 pith_closure_release void 1 225 call 230 pith_closure_release void 1 226 -jmp L4703 -label L4705 +jmp L4760 +label L4762 iconst 231 0 -store __and_231_4710 231 +store __and_231_4767 231 load 232 concrete_types call 233 pith_list_len int 1 232 iconst 234 1 eq 235 233 234 -store __and_231_4710 235 -brif 235 L4710 L4711 -label L4710 +store __and_231_4767 235 +brif 235 L4767 L4768 +label L4767 load 236 base_name iconst 237 1 load 238 ir_alias_registry_ir_active_generic_module_path load 239 decl_idx call 240 ir_decode_calls_ir_is_config_decode_specialization bool 4 236 237 238 239 -store __and_231_4710 240 -label L4711 -load 241 __and_231_4710 -brif 241 L4708 L4709 -label L4708 +store __and_231_4767 240 +label L4768 +load 241 __and_231_4767 +brif 241 L4765 L4766 +label L4765 load 242 concrete_types iconst 243 0 call 244 pith_list_get_value_strict string 2 242 243 @@ -167485,26 +167848,26 @@ call 249 ir_decode_emit_ir_emit_config_decode_specialization_body void 5 244 245 call 250 pith_closure_release void 1 246 call 251 pith_closure_release void 1 247 call 252 pith_closure_release void 1 248 -jmp L4703 -label L4709 +jmp L4760 +label L4766 iconst 253 0 -store __and_253_4714 253 +store __and_253_4771 253 load 254 concrete_types call 255 pith_list_len int 1 254 iconst 256 1 eq 257 255 256 -store __and_253_4714 257 -brif 257 L4714 L4715 -label L4714 +store __and_253_4771 257 +brif 257 L4771 L4772 +label L4771 load 258 base_name load 259 ir_alias_registry_ir_active_generic_module_path load 260 decl_idx call 261 ir_decode_calls_ir_is_toml_decode_specialization bool 3 258 259 260 -store __and_253_4714 261 -label L4715 -load 262 __and_253_4714 -brif 262 L4712 L4713 -label L4712 +store __and_253_4771 261 +label L4772 +load 262 __and_253_4771 +brif 262 L4769 L4770 +label L4769 load 263 concrete_types iconst 264 0 call 265 pith_list_get_value_strict string 2 263 264 @@ -167516,26 +167879,26 @@ call 270 ir_decode_emit_ir_emit_toml_decode_specialization_body void 5 265 266 2 call 271 pith_closure_release void 1 267 call 272 pith_closure_release void 1 268 call 273 pith_closure_release void 1 269 -jmp L4703 -label L4713 +jmp L4760 +label L4770 iconst 274 0 -store __and_274_4718 274 +store __and_274_4775 274 load 275 concrete_types call 276 pith_list_len int 1 275 iconst 277 1 eq 278 276 277 -store __and_274_4718 278 -brif 278 L4718 L4719 -label L4718 +store __and_274_4775 278 +brif 278 L4775 L4776 +label L4775 load 279 base_name load 280 ir_alias_registry_ir_active_generic_module_path load 281 decl_idx call 282 ir_decode_calls_ir_is_toml_decode_text_specialization bool 3 279 280 281 -store __and_274_4718 282 -label L4719 -load 283 __and_274_4718 -brif 283 L4716 L4717 -label L4716 +store __and_274_4775 282 +label L4776 +load 283 __and_274_4775 +brif 283 L4773 L4774 +label L4773 load 284 concrete_types iconst 285 0 call 286 pith_list_get_value_strict string 2 284 285 @@ -167543,26 +167906,26 @@ load 287 ir_alias_registry_ir_active_generic_module_path load 288 concrete_types load 289 ret_type call 290 ir_decode_emit_ir_emit_toml_decode_text_specialization_body void 4 286 287 288 289 -jmp L4703 -label L4717 +jmp L4760 +label L4774 iconst 291 0 -store __and_291_4722 291 +store __and_291_4779 291 load 292 concrete_types call 293 pith_list_len int 1 292 iconst 294 1 eq 295 293 294 -store __and_291_4722 295 -brif 295 L4722 L4723 -label L4722 +store __and_291_4779 295 +brif 295 L4779 L4780 +label L4779 load 296 base_name load 297 ir_alias_registry_ir_active_generic_module_path load 298 decl_idx call 299 ir_decode_calls_ir_is_toml_decode_path_specialization bool 3 296 297 298 -store __and_291_4722 299 -label L4723 -load 300 __and_291_4722 -brif 300 L4720 L4721 -label L4720 +store __and_291_4779 299 +label L4780 +load 300 __and_291_4779 +brif 300 L4777 L4778 +label L4777 load 301 concrete_types iconst 302 0 call 303 pith_list_get_value_strict string 2 301 302 @@ -167574,26 +167937,26 @@ call 308 ir_decode_emit_ir_emit_toml_decode_path_specialization_body void 5 303 call 309 pith_closure_release void 1 305 call 310 pith_closure_release void 1 306 call 311 pith_closure_release void 1 307 -jmp L4703 -label L4721 +jmp L4760 +label L4778 iconst 312 0 -store __and_312_4726 312 +store __and_312_4783 312 load 313 concrete_types call 314 pith_list_len int 1 313 iconst 315 1 eq 316 314 315 -store __and_312_4726 316 -brif 316 L4726 L4727 -label L4726 +store __and_312_4783 316 +brif 316 L4783 L4784 +label L4783 load 317 base_name load 318 ir_alias_registry_ir_active_generic_module_path load 319 decl_idx call 320 ir_decode_calls_ir_is_toml_decode_text_path_specialization bool 3 317 318 319 -store __and_312_4726 320 -label L4727 -load 321 __and_312_4726 -brif 321 L4724 L4725 -label L4724 +store __and_312_4783 320 +label L4784 +load 321 __and_312_4783 +brif 321 L4781 L4782 +label L4781 load 322 concrete_types iconst 323 0 call 324 pith_list_get_value_strict string 2 322 323 @@ -167601,27 +167964,27 @@ load 325 ir_alias_registry_ir_active_generic_module_path load 326 concrete_types load 327 ret_type call 328 ir_decode_emit_ir_emit_toml_decode_text_path_specialization_body void 4 324 325 326 327 -jmp L4703 -label L4725 +jmp L4760 +label L4782 iconst 329 0 -store __and_329_4730 329 +store __and_329_4787 329 load 330 concrete_types call 331 pith_list_len int 1 330 iconst 332 1 eq 333 331 332 -store __and_329_4730 333 -brif 333 L4730 L4731 -label L4730 +store __and_329_4787 333 +brif 333 L4787 L4788 +label L4787 load 334 base_name load 335 ir_alias_registry_ir_active_generic_module_path load 336 decl_idx iconst 337 0 call 338 ir_decode_calls_ir_is_json_decode_specialization bool 4 334 335 336 337 -store __and_329_4730 338 -label L4731 -load 339 __and_329_4730 -brif 339 L4728 L4729 -label L4728 +store __and_329_4787 338 +label L4788 +load 339 __and_329_4787 +brif 339 L4785 L4786 +label L4785 load 340 concrete_types iconst 341 0 call 342 pith_list_get_value_strict string 2 340 341 @@ -167632,27 +167995,27 @@ closure_ref 346 ir_emitter_core___fnval_3 call 347 ir_decode_emit_ir_emit_json_decode_specialization_body void 5 342 343 344 345 346 call 348 pith_closure_release void 1 345 call 349 pith_closure_release void 1 346 -jmp L4703 -label L4729 +jmp L4760 +label L4786 iconst 350 0 -store __and_350_4734 350 +store __and_350_4791 350 load 351 concrete_types call 352 pith_list_len int 1 351 iconst 353 1 eq 354 352 353 -store __and_350_4734 354 -brif 354 L4734 L4735 -label L4734 +store __and_350_4791 354 +brif 354 L4791 L4792 +label L4791 load 355 base_name load 356 ir_alias_registry_ir_active_generic_module_path load 357 decl_idx iconst 358 1 call 359 ir_decode_calls_ir_is_json_decode_specialization bool 4 355 356 357 358 -store __and_350_4734 359 -label L4735 -load 360 __and_350_4734 -brif 360 L4732 L4733 -label L4732 +store __and_350_4791 359 +label L4792 +load 360 __and_350_4791 +brif 360 L4789 L4790 +label L4789 load 361 concrete_types iconst 362 0 call 363 pith_list_get_value_strict string 2 361 362 @@ -167663,26 +168026,26 @@ closure_ref 367 ir_emitter_core___fnval_3 call 368 ir_decode_emit_ir_emit_json_decode_specialization_body void 5 363 364 365 366 367 call 369 pith_closure_release void 1 366 call 370 pith_closure_release void 1 367 -jmp L4703 -label L4733 +jmp L4760 +label L4790 iconst 371 0 -store __and_371_4738 371 +store __and_371_4795 371 load 372 concrete_types call 373 pith_list_len int 1 372 iconst 374 1 eq 375 373 374 -store __and_371_4738 375 -brif 375 L4738 L4739 -label L4738 +store __and_371_4795 375 +brif 375 L4795 L4796 +label L4795 load 376 base_name load 377 ir_alias_registry_ir_active_generic_module_path load 378 decl_idx call 379 ir_decode_calls_ir_is_json_decode_object_specialization bool 3 376 377 378 -store __and_371_4738 379 -label L4739 -load 380 __and_371_4738 -brif 380 L4736 L4737 -label L4736 +store __and_371_4795 379 +label L4796 +load 380 __and_371_4795 +brif 380 L4793 L4794 +label L4793 load 381 concrete_types iconst 382 0 call 383 pith_list_get_value_strict string 2 381 382 @@ -167692,26 +168055,26 @@ closure_ref 386 ir_emitter_core___fnval_3 call 387 ir_decode_emit_ir_emit_json_decode_object_specialization_body void 4 383 384 385 386 call 388 pith_closure_release void 1 385 call 389 pith_closure_release void 1 386 -jmp L4703 -label L4737 +jmp L4760 +label L4794 iconst 390 0 -store __and_390_4742 390 +store __and_390_4799 390 load 391 concrete_types call 392 pith_list_len int 1 391 iconst 393 1 eq 394 392 393 -store __and_390_4742 394 -brif 394 L4742 L4743 -label L4742 +store __and_390_4799 394 +brif 394 L4799 L4800 +label L4799 load 395 base_name load 396 ir_alias_registry_ir_active_generic_module_path load 397 decl_idx call 398 ir_decode_calls_ir_is_json_decode_path_specialization bool 3 395 396 397 -store __and_390_4742 398 -label L4743 -load 399 __and_390_4742 -brif 399 L4740 L4741 -label L4740 +store __and_390_4799 398 +label L4800 +load 399 __and_390_4799 +brif 399 L4797 L4798 +label L4797 load 400 concrete_types iconst 401 0 call 402 pith_list_get_value_strict string 2 400 401 @@ -167721,11 +168084,11 @@ closure_ref 405 ir_emitter_core___fnval_3 call 406 ir_decode_emit_ir_emit_json_decode_path_specialization_body void 4 402 403 404 405 call 407 pith_closure_release void 1 404 call 408 pith_closure_release void 1 405 -jmp L4703 -label L4741 +jmp L4760 +label L4798 load 409 body_idx call 410 ir_emitter_core_ir_finish_func_emission void 1 409 -label L4703 +label L4760 load 411 saved_params call 412 pith_list_retain_handle void 1 411 store ir_alias_registry_ir_active_generic_params 411 @@ -167791,8 +168154,8 @@ load 13 arg_tids call 14 pith_list_len int 1 13 iconst 15 0 eq 16 14 15 -brif 16 L4745 L4746 -label L4745 +brif 16 L4802 L4803 +label L4802 load 17 result load 18 arg_tids call 19 pith_list_release_handle void 1 18 @@ -167801,8 +168164,8 @@ call 21 pith_struct_release void 1 20 load 22 cn call 23 pith_struct_release void 1 22 ret 17 -label L4746 -label L4744 +label L4803 +label L4801 load 24 node load 25 fn_idx call 26 ast_get_node struct:Node 1 25 @@ -167817,12 +168180,12 @@ iconst 32 0 store __for_idx_374 32 store __for_len_374 31 store __for_iter_374 30 -label L4747 +label L4804 load 33 __for_idx_374 load 34 __for_len_374 lt 35 33 34 -brif 35 L4748 L4750 -label L4748 +brif 35 L4805 L4807 +label L4805 load 36 __for_iter_374 load 37 __for_idx_374 call 38 pith_list_get_value unknown 2 36 37 @@ -167837,62 +168200,62 @@ field 44 43 0 string kind strref 45 m46s68 call 46 pith_cstring_eq bool 2 44 45 call 47 pith_cstring_release void 1 45 -brif 46 L4752 L4753 -label L4752 +brif 46 L4809 L4810 +label L4809 load 48 param_idx load 49 arg_tids call 50 pith_list_len int 1 49 lt 51 48 50 -brif 51 L4755 L4756 -label L4755 +brif 51 L4812 L4813 +label L4812 load 52 arg_tids load 53 param_idx call 54 pith_list_get_value_strict int 2 52 53 store tid 54 iconst 55 0 -store __and_55_4760 55 +store __and_55_4817 55 load 56 tid iconst 57 0 gte 58 56 57 -store __and_55_4760 58 -brif 58 L4760 L4761 -label L4760 +store __and_55_4817 58 +brif 58 L4817 L4818 +label L4817 load 59 tid call 60 types_get_type_info struct:TypeInfo 1 59 field 61 60 0 string kind strref 62 m46s21 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __and_55_4760 63 -label L4761 -load 65 __and_55_4760 -brif 65 L4758 L4759 -label L4758 +store __and_55_4817 63 +label L4818 +load 65 __and_55_4817 +brif 65 L4815 L4816 +label L4815 load 66 result load 67 cn field 68 67 8 string value load 69 tid call 70 map_insert void 3 66 68 69 -jmp L4757 -label L4759 -label L4757 -jmp L4754 -label L4756 -label L4754 +jmp L4814 +label L4816 +label L4814 +jmp L4811 +label L4813 +label L4811 load 71 param_idx iconst 72 1 add 73 71 72 store param_idx 73 -jmp L4751 -label L4753 -label L4751 -label L4749 +jmp L4808 +label L4810 +label L4808 +label L4806 load 74 __for_idx_374 iconst 75 1 add 76 74 75 store __for_idx_374 76 -jmp L4747 -label L4750 +jmp L4804 +label L4807 load 77 result load 78 arg_tids call 79 pith_list_release_handle void 1 78 @@ -167917,13 +168280,13 @@ iconst 0 0 store key 0 iconst 1 0 store i 1 -label L4762 +label L4819 load 2 i load 3 ir_generics_ir_generic_specialization_keys call 4 pith_list_len int 1 3 lt 5 2 4 -brif 5 L4763 L4764 -label L4763 +brif 5 L4820 L4821 +label L4820 load 6 key load 7 ir_generics_ir_generic_specialization_keys load 8 i @@ -167936,23 +168299,23 @@ load 13 key call 14 contains_key bool 2 12 13 iconst 16 1 sub 15 16 14 -brif 15 L4766 L4767 -label L4766 +brif 15 L4823 L4824 +label L4823 load 17 key call 18 ir_emitter_core_ir_emit_generic_specialization void 1 17 load 19 ir_generics_ir_generic_emitted_specializations load 20 key iconst 21 1 call 22 map_insert void 3 19 20 21 -jmp L4765 -label L4767 -label L4765 +jmp L4822 +label L4824 +label L4822 load 23 i iconst 24 1 add 25 23 24 store i 25 -jmp L4762 -label L4764 +jmp L4819 +label L4821 load 26 key call 27 pith_cstring_release void 1 26 iconst 28 0 @@ -167974,16 +168337,16 @@ load 8 impl_type call 9 string_len int 1 8 iconst 10 0 eq 11 9 10 -brif 11 L4769 L4770 -label L4769 +brif 11 L4826 L4827 +label L4826 load 12 impl_type call 13 pith_cstring_release void 1 12 load 14 method_node call 15 pith_struct_release void 1 14 iconst 16 0 ret 16 -label L4770 -label L4768 +label L4827 +label L4825 load 17 node field 18 17 16 list children call 19 pith_auto_len int 1 18 @@ -167991,12 +168354,12 @@ iconst 20 0 store __for_idx_375 20 store __for_len_375 19 store __for_iter_375 18 -label L4771 +label L4828 load 21 __for_idx_375 load 22 __for_len_375 lt 23 21 22 -brif 23 L4772 L4774 -label L4772 +brif 23 L4829 L4831 +label L4829 load 24 __for_iter_375 load 25 __for_idx_375 call 26 pith_list_get_value unknown 2 24 25 @@ -168012,23 +168375,23 @@ store method_node 31 load 33 method_node field 34 33 0 string kind call 35 ir_generics_ir_is_fn_decl_kind bool 1 34 -brif 35 L4776 L4777 -label L4776 +brif 35 L4833 L4834 +label L4833 load 36 impl_type load 37 method_idx load 38 method_node load 39 module_path call 40 ir_emitter_core_ir_record_impl_method_signature void 4 36 37 38 39 -jmp L4775 -label L4777 -label L4775 -label L4773 +jmp L4832 +label L4834 +label L4832 +label L4830 load 41 __for_idx_375 iconst 42 1 add 43 41 42 store __for_idx_375 43 -jmp L4771 -label L4774 +jmp L4828 +label L4831 load 44 node call 45 ir_emitter_core_ir_inherited_default_indices list 1 44 call 46 pith_auto_len int 1 45 @@ -168036,12 +168399,12 @@ iconst 47 0 store __for_idx_376 47 store __for_len_376 46 store __for_iter_376 45 -label L4778 +label L4835 load 48 __for_idx_376 load 49 __for_len_376 lt 50 48 49 -brif 50 L4779 L4781 -label L4779 +brif 50 L4836 L4838 +label L4836 load 51 __for_iter_376 load 52 __for_idx_376 call 53 pith_list_get_value unknown 2 51 52 @@ -168053,13 +168416,13 @@ call 57 ast_get_node struct:Node 1 56 load 58 module_path call 59 ir_emitter_core_ir_record_impl_method_signature void 4 54 55 57 58 call 60 pith_struct_release void 1 57 -label L4780 +label L4837 load 61 __for_idx_376 iconst 62 1 add 63 61 62 store __for_idx_376 63 -jmp L4778 -label L4781 +jmp L4835 +label L4838 load 64 __for_iter_376 call 65 pith_list_release_handle void 1 64 load 66 impl_type @@ -168102,8 +168465,8 @@ load 22 module_path call 23 string_len int 1 22 iconst 24 0 gt 25 23 24 -brif 25 L4783 L4784 -label L4783 +brif 25 L4840 L4841 +label L4840 load 26 full_name load 27 module_path load 28 impl_type @@ -168111,9 +168474,9 @@ load 29 method_name call 30 ir_names_ir_import_impl_method_name string 3 27 28 29 call 31 pith_cstring_release void 1 26 store full_name 30 -jmp L4782 -label L4784 -label L4782 +jmp L4839 +label L4841 +label L4839 load 32 key load 33 impl_type load 34 method_name @@ -168240,8 +168603,8 @@ param body_idx load 1 body_idx iconst 2 0 gte 3 1 2 -brif 3 L4786 L4787 -label L4786 +brif 3 L4843 L4844 +label L4843 load 4 body_idx call 5 ir_match_emit_ir_function_tail_match int 1 4 store ir_match_emit_ir_tail_match_node 5 @@ -168251,9 +168614,9 @@ iconst 8 0 iconst 9 1 sub 10 8 9 store ir_match_emit_ir_tail_match_node 10 -jmp L4785 -label L4787 -label L4785 +jmp L4842 +label L4844 +label L4842 call 11 ir_emitter_core_ir_emit_default_return int 0 iconst 12 0 ret 12 @@ -168273,12 +168636,12 @@ iconst 8 0 store __for_idx_377 8 store __for_len_377 7 store __for_iter_377 6 -label L4788 +label L4845 load 9 __for_idx_377 load 10 __for_len_377 lt 11 9 10 -brif 11 L4789 L4791 -label L4789 +brif 11 L4846 L4848 +label L4846 load 12 __for_iter_377 load 13 __for_idx_377 call 14 pith_list_get_value unknown 2 12 13 @@ -168289,21 +168652,21 @@ field 17 16 0 string kind strref 18 m46s587 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4793 L4794 -label L4793 +brif 19 L4850 L4851 +label L4850 load 21 tests load 22 __loopvar_377_item_idx call 23 pith_list_push_value void 2 21 22 -jmp L4792 -label L4794 -label L4792 -label L4790 +jmp L4849 +label L4851 +label L4849 +label L4847 load 24 __for_idx_377 iconst 25 1 add 26 24 25 store __for_idx_377 26 -jmp L4788 -label L4791 +jmp L4845 +label L4848 load 27 __for_iter_377 call 28 pith_list_release_handle void 1 27 load 29 tests @@ -168365,8 +168728,8 @@ load 10 tests call 11 pith_list_len int 1 10 iconst 12 0 eq 13 11 12 -brif 13 L4796 L4797 -label L4796 +brif 13 L4853 L4854 +label L4853 load 14 tests call 15 pith_list_release_handle void 1 14 load 16 run_l @@ -168379,8 +168742,8 @@ load 22 child_l call 23 pith_cstring_release void 1 22 iconst 24 0 ret 24 -label L4797 -label L4795 +label L4854 +label L4852 strref 25 m46s671 call 26 ir_emitter_core_ir_prepare_func_emission void 1 25 call 27 pith_cstring_release void 1 25 @@ -168396,12 +168759,12 @@ iconst 36 0 store __for_idx_378 36 store __for_len_378 35 store __for_iter_378 34 -label L4798 +label L4855 load 37 __for_idx_378 load 38 __for_len_378 lt 39 37 38 -brif 39 L4799 L4801 -label L4799 +brif 39 L4856 L4858 +label L4856 load 40 __for_iter_378 load 41 __for_idx_378 call 42 pith_list_get_value unknown 2 40 41 @@ -168574,13 +168937,13 @@ call 198 ir_builder_ir_emit void 1 196 call 199 pith_cstring_release void 1 196 load 200 skip_l call 201 ir_call_emit_ir_emit_label void 1 200 -label L4800 +label L4857 load 202 __for_idx_378 iconst 203 1 add 204 202 203 store __for_idx_378 204 -jmp L4798 -label L4801 +jmp L4855 +label L4858 call 205 ir_builder_ir_reg int 0 store summary_r 205 load 206 summary_r @@ -168838,12 +169201,12 @@ iconst 5 0 store __for_idx_379 5 store __for_len_379 4 store __for_iter_379 3 -label L4802 +label L4859 load 6 __for_idx_379 load 7 __for_len_379 lt 8 6 7 -brif 8 L4803 L4805 -label L4803 +brif 8 L4860 L4862 +label L4860 load 9 __for_iter_379 load 10 __for_idx_379 call 11 pith_list_get_value unknown 2 9 10 @@ -168858,23 +169221,23 @@ field 17 16 0 string kind strref 18 m46s328 call 19 pith_cstring_eq bool 2 17 18 call 20 pith_cstring_release void 1 18 -brif 19 L4807 L4808 -label L4807 +brif 19 L4864 L4865 +label L4864 load 21 tn field 22 21 8 string value call 23 pith_cstring_retain void 1 22 load 24 tn call 25 pith_struct_release void 1 24 ret 22 -label L4808 -label L4806 -label L4804 +label L4865 +label L4863 +label L4861 load 26 __for_idx_379 iconst 27 1 add 28 26 27 store __for_idx_379 28 -jmp L4802 -label L4805 +jmp L4859 +label L4862 strref 29 m46s82 load 30 tn call 31 pith_struct_release void 1 30 @@ -168891,26 +169254,26 @@ field 2 1 0 string kind strref 3 m46s590 call 4 pith_cstring_eq bool 2 2 3 call 5 pith_cstring_release void 1 3 -brif 4 L4810 L4811 -label L4810 +brif 4 L4867 L4868 +label L4867 load 6 node field 7 6 8 string value call 8 ir_alias_registry_ir_register_import_alias void 1 7 -jmp L4809 -label L4811 +jmp L4866 +label L4868 load 9 node field 10 9 0 string kind strref 11 m46s591 call 12 pith_cstring_eq bool 2 10 11 call 13 pith_cstring_release void 1 11 -brif 12 L4812 L4813 -label L4812 +brif 12 L4869 L4870 +label L4869 load 14 node field 15 14 8 string value call 16 ir_alias_registry_ir_collect_from_import_renames void 1 15 -jmp L4809 -label L4813 -label L4809 +jmp L4866 +label L4870 +label L4866 iconst 17 0 ret 17 endfunc @@ -168929,12 +169292,12 @@ iconst 7 0 store __for_idx_380 7 store __for_len_380 6 store __for_iter_380 5 -label L4814 +label L4871 load 8 __for_idx_380 load 9 __for_len_380 lt 10 8 9 -brif 10 L4815 L4817 -label L4815 +brif 10 L4872 L4874 +label L4872 load 11 __for_iter_380 load 12 __for_idx_380 call 13 pith_list_get_value unknown 2 11 12 @@ -168949,8 +169312,8 @@ field 19 18 0 string kind strref 20 m46s603 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L4819 L4820 -label L4819 +brif 21 L4876 L4877 +label L4876 load 23 aname load 24 cn field 25 24 8 string value @@ -168960,8 +169323,8 @@ store aname 25 load 28 ir_alias_registry_ir_type_aliases load 29 aname call 30 contains_key bool 2 28 29 -brif 30 L4822 L4823 -label L4822 +brif 30 L4879 L4880 +label L4879 load 31 target load 32 ir_alias_registry_ir_type_aliases load 33 aname @@ -168972,8 +169335,8 @@ store target 34 load 37 ir_struct_registry_ir_struct_names load 38 target call 39 contains_key bool 2 37 38 -brif 39 L4825 L4826 -label L4825 +brif 39 L4882 L4883 +label L4882 load 40 ir_struct_registry_ir_struct_names load 41 aname load 42 ir_struct_registry_ir_struct_names @@ -168993,22 +169356,22 @@ concat 55 51 54 call 56 pith_cstring_release void 1 51 call 57 ir_builder_ir_emit void 1 55 call 58 pith_cstring_release void 1 55 -jmp L4824 -label L4826 -label L4824 -jmp L4821 -label L4823 -label L4821 -jmp L4818 -label L4820 -label L4818 -label L4816 +jmp L4881 +label L4883 +label L4881 +jmp L4878 +label L4880 +label L4878 +jmp L4875 +label L4877 +label L4875 +label L4873 load 59 __for_idx_380 iconst 60 1 add 61 59 60 store __for_idx_380 61 -jmp L4814 -label L4817 +jmp L4871 +label L4874 load 62 __for_iter_380 call 63 pith_list_release_handle void 1 62 load 64 cn @@ -169033,12 +169396,12 @@ iconst 6 0 store __for_idx_381 6 store __for_len_381 5 store __for_iter_381 4 -label L4827 +label L4884 load 7 __for_idx_381 load 8 __for_len_381 lt 9 7 8 -brif 9 L4828 L4830 -label L4828 +brif 9 L4885 L4887 +label L4885 load 10 __for_iter_381 load 11 __for_idx_381 call 12 pith_list_get_value unknown 2 10 11 @@ -169053,37 +169416,37 @@ field 18 17 0 string kind strref 19 m46s313 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L4832 L4833 -label L4832 +brif 20 L4889 L4890 +label L4889 load 22 node field 23 22 8 string value load 24 returns_node call 25 ir_emitter_core_ir_record_returns_clause void 2 23 24 iconst 26 1 store has_returns 26 -jmp L4831 -label L4833 -label L4831 -label L4829 +jmp L4888 +label L4890 +label L4888 +label L4886 load 27 __for_idx_381 iconst 28 1 add 29 27 28 store __for_idx_381 29 -jmp L4827 -label L4830 +jmp L4884 +label L4887 load 30 has_returns iconst 32 1 sub 31 32 30 -brif 31 L4835 L4836 -label L4835 +brif 31 L4892 L4893 +label L4892 load 33 ir_method_tables_ir_func_returns load 34 node field 35 34 8 string value strref 36 m46s828 call 37 pith_map_insert_cstr_owned void 3 33 35 36 -jmp L4834 -label L4836 -label L4834 +jmp L4891 +label L4893 +label L4891 load 38 returns_node call 39 pith_struct_release void 1 38 iconst 40 0 @@ -169103,12 +169466,12 @@ iconst 7 0 store __for_idx_382 7 store __for_len_382 6 store __for_iter_382 5 -label L4837 +label L4894 load 8 __for_idx_382 load 9 __for_len_382 lt 10 8 9 -brif 10 L4838 L4840 -label L4838 +brif 10 L4895 L4897 +label L4895 load 11 __for_iter_382 load 12 __for_idx_382 call 13 pith_list_get_value unknown 2 11 12 @@ -169123,35 +169486,35 @@ field 19 18 0 string kind strref 20 m46s313 call 21 pith_cstring_eq bool 2 19 20 call 22 pith_cstring_release void 1 20 -brif 21 L4842 L4843 -label L4842 +brif 21 L4899 L4900 +label L4899 load 23 name load 24 returns_node call 25 ir_emitter_core_ir_record_returns_clause void 2 23 24 iconst 26 1 store has_returns 26 -jmp L4841 -label L4843 -label L4841 -label L4839 +jmp L4898 +label L4900 +label L4898 +label L4896 load 27 __for_idx_382 iconst 28 1 add 29 27 28 store __for_idx_382 29 -jmp L4837 -label L4840 +jmp L4894 +label L4897 load 30 has_returns iconst 32 1 sub 31 32 30 -brif 31 L4845 L4846 -label L4845 +brif 31 L4902 L4903 +label L4902 load 33 ir_method_tables_ir_func_returns load 34 name strref 35 m46s828 call 36 pith_map_insert_cstr_owned void 3 33 34 35 -jmp L4844 -label L4846 -label L4844 +jmp L4901 +label L4903 +label L4901 load 37 returns_node call 38 pith_struct_release void 1 37 iconst 39 0 @@ -169169,12 +169532,12 @@ iconst 6 0 store __for_idx_383 6 store __for_len_383 5 store __for_iter_383 4 -label L4847 +label L4904 load 7 __for_idx_383 load 8 __for_len_383 lt 9 7 8 -brif 9 L4848 L4850 -label L4848 +brif 9 L4905 L4907 +label L4905 load 10 __for_iter_383 load 11 __for_idx_383 call 12 pith_list_get_value unknown 2 10 11 @@ -169185,86 +169548,86 @@ call 15 ast_get_node struct:Node 1 14 call 16 pith_struct_release void 1 13 store type_node 15 iconst 17 0 -store __or_17_4854 17 +store __or_17_4911 17 iconst 18 0 -store __or_18_4854 18 +store __or_18_4911 18 iconst 19 0 -store __or_19_4854 19 +store __or_19_4911 19 load 20 type_node field 21 20 0 string kind strref 22 m46s328 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __or_19_4854 23 -brif 23 L4855 L4854 -label L4854 +store __or_19_4911 23 +brif 23 L4912 L4911 +label L4911 load 25 type_node field 26 25 0 string kind strref 27 m46s327 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __or_19_4854 28 -label L4855 -load 30 __or_19_4854 -store __or_18_4854 30 -brif 30 L4857 L4856 -label L4856 +store __or_19_4911 28 +label L4912 +load 30 __or_19_4911 +store __or_18_4911 30 +brif 30 L4914 L4913 +label L4913 load 31 type_node field 32 31 0 string kind strref 33 m46s320 call 34 pith_cstring_eq bool 2 32 33 call 35 pith_cstring_release void 1 33 -store __or_18_4854 34 -label L4857 -load 36 __or_18_4854 -store __or_17_4854 36 -brif 36 L4859 L4858 -label L4858 +store __or_18_4911 34 +label L4914 +load 36 __or_18_4911 +store __or_17_4911 36 +brif 36 L4916 L4915 +label L4915 load 37 type_node field 38 37 0 string kind strref 39 m46s321 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_17_4854 40 -label L4859 -load 42 __or_17_4854 -brif 42 L4852 L4853 -label L4852 +store __or_17_4911 40 +label L4916 +load 42 __or_17_4911 +brif 42 L4909 L4910 +label L4909 load 43 ir_method_tables_ir_func_returns load 44 name load 45 __loopvar_383_type_idx call 46 ir_alias_registry_ir_resolve_type_node string 1 45 call 47 pith_map_insert_cstr_owned void 3 43 44 46 -jmp L4851 -label L4853 -label L4851 +jmp L4908 +label L4910 +label L4908 iconst 48 0 -store __or_48_4863 48 +store __or_48_4920 48 load 49 type_node field 50 49 0 string kind strref 51 m46s22 call 52 pith_cstring_eq bool 2 50 51 call 53 pith_cstring_release void 1 51 -store __or_48_4863 52 -brif 52 L4864 L4863 -label L4863 +store __or_48_4920 52 +brif 52 L4921 L4920 +label L4920 load 54 type_node field 55 54 0 string kind strref 56 m46s320 call 57 pith_cstring_eq bool 2 55 56 call 58 pith_cstring_release void 1 56 -store __or_48_4863 57 -label L4864 -load 59 __or_48_4863 -brif 59 L4861 L4862 -label L4861 +store __or_48_4920 57 +label L4921 +load 59 __or_48_4920 +brif 59 L4918 L4919 +label L4918 load 60 type_node field 61 60 16 list children call 62 pith_list_len int 1 61 iconst 63 0 gt 64 62 63 -brif 64 L4866 L4867 -label L4866 +brif 64 L4923 L4924 +label L4923 load 65 ir_emitter_core_ir_func_result_ok_kinds load 66 name load 67 type_node @@ -169275,19 +169638,19 @@ call 71 ir_alias_registry_ir_resolve_type_node string 1 70 call 72 ir_alias_registry_ir_retkind string 1 71 call 73 pith_cstring_release void 1 71 call 74 pith_map_insert_cstr_owned void 3 65 66 72 -jmp L4865 -label L4867 -label L4865 -jmp L4860 -label L4862 -label L4860 -label L4849 +jmp L4922 +label L4924 +label L4922 +jmp L4917 +label L4919 +label L4917 +label L4906 load 75 __for_idx_383 iconst 76 1 add 77 75 76 store __for_idx_383 77 -jmp L4847 -label L4850 +jmp L4904 +label L4907 load 78 type_node call 79 pith_struct_release void 1 78 iconst 80 0 @@ -169332,12 +169695,12 @@ iconst 24 0 store __for_idx_384 24 store __for_len_384 23 store __for_iter_384 22 -label L4868 +label L4925 load 25 __for_idx_384 load 26 __for_len_384 lt 27 25 26 -brif 27 L4869 L4871 -label L4869 +brif 27 L4926 L4928 +label L4926 load 28 __for_iter_384 load 29 __for_idx_384 call 30 pith_list_get_value unknown 2 28 29 @@ -169348,38 +169711,38 @@ call 33 ast_get_node struct:Node 1 32 call 34 pith_struct_release void 1 31 store gcn 33 iconst 35 0 -store __or_35_4875 35 +store __or_35_4932 35 iconst 36 0 -store __or_36_4875 36 +store __or_36_4932 36 load 37 gcn field 38 37 0 string kind strref 39 m46s328 call 40 pith_cstring_eq bool 2 38 39 call 41 pith_cstring_release void 1 39 -store __or_36_4875 40 -brif 40 L4876 L4875 -label L4875 +store __or_36_4932 40 +brif 40 L4933 L4932 +label L4932 load 42 gcn field 43 42 0 string kind strref 44 m46s327 call 45 pith_cstring_eq bool 2 43 44 call 46 pith_cstring_release void 1 44 -store __or_36_4875 45 -label L4876 -load 47 __or_36_4875 -store __or_35_4875 47 -brif 47 L4878 L4877 -label L4877 +store __or_36_4932 45 +label L4933 +load 47 __or_36_4932 +store __or_35_4932 47 +brif 47 L4935 L4934 +label L4934 load 48 gcn field 49 48 0 string kind strref 50 m46s321 call 51 pith_cstring_eq bool 2 49 50 call 52 pith_cstring_release void 1 50 -store __or_35_4875 51 -label L4878 -load 53 __or_35_4875 -brif 53 L4873 L4874 -label L4873 +store __or_35_4932 51 +label L4935 +load 53 __or_35_4932 +brif 53 L4930 L4931 +label L4930 load 54 global_type load 55 __loopvar_384_gc call 56 ir_alias_registry_ir_resolve_type_node string 1 55 @@ -169389,25 +169752,25 @@ load 58 global_map_value_type call 59 string_len int 1 58 iconst 60 0 eq 61 59 60 -brif 61 L4880 L4881 -label L4880 +brif 61 L4937 L4938 +label L4937 load 62 global_map_value_type load 63 __loopvar_384_gc call 64 ir_alias_registry_ir_resolve_map_value_type_node string 1 63 call 65 pith_cstring_release void 1 62 store global_map_value_type 64 -jmp L4879 -label L4881 -label L4879 -jmp L4872 -label L4874 +jmp L4936 +label L4938 +label L4936 +jmp L4929 +label L4931 load 66 gcn field 67 66 0 string kind strref 68 m46s519 call 69 pith_cstring_eq bool 2 67 68 call 70 pith_cstring_release void 1 68 -brif 69 L4882 L4883 -label L4882 +brif 69 L4939 L4940 +label L4939 load 71 init_val load 72 gcn field 73 72 8 string value @@ -169418,24 +169781,24 @@ load 76 global_type call 77 string_len int 1 76 iconst 78 0 eq 79 77 78 -brif 79 L4885 L4886 -label L4885 +brif 79 L4942 L4943 +label L4942 load 80 global_type strref 81 m46s671 call 82 pith_cstring_release void 1 80 store global_type 81 -jmp L4884 -label L4886 -label L4884 -jmp L4872 -label L4883 +jmp L4941 +label L4943 +label L4941 +jmp L4929 +label L4940 load 83 gcn field 84 83 0 string kind strref 85 m46s517 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -brif 86 L4887 L4888 -label L4887 +brif 86 L4944 L4945 +label L4944 load 88 si load 89 gcn field 90 89 8 string value @@ -169453,24 +169816,24 @@ load 99 global_type call 100 string_len int 1 99 iconst 101 0 eq 102 100 101 -brif 102 L4890 L4891 -label L4890 +brif 102 L4947 L4948 +label L4947 load 103 global_type strref 104 m46s675 call 105 pith_cstring_release void 1 103 store global_type 104 -jmp L4889 -label L4891 -label L4889 -jmp L4872 -label L4888 +jmp L4946 +label L4948 +label L4946 +jmp L4929 +label L4945 load 106 gcn field 107 106 0 string kind strref 108 m46s20 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L4892 L4893 -label L4892 +brif 109 L4949 L4950 +label L4949 load 111 init_val strref 112 m46s20 call 113 pith_cstring_release void 1 111 @@ -169479,24 +169842,24 @@ load 114 global_type call 115 string_len int 1 114 iconst 116 0 eq 117 115 116 -brif 117 L4895 L4896 -label L4895 +brif 117 L4952 L4953 +label L4952 load 118 global_type strref 119 m46s20 call 120 pith_cstring_release void 1 118 store global_type 119 -jmp L4894 -label L4896 -label L4894 -jmp L4872 -label L4893 +jmp L4951 +label L4953 +label L4951 +jmp L4929 +label L4950 load 121 gcn field 122 121 0 string kind strref 123 m46s19 call 124 pith_cstring_eq bool 2 122 123 call 125 pith_cstring_release void 1 123 -brif 124 L4897 L4898 -label L4897 +brif 124 L4954 L4955 +label L4954 load 126 init_val strref 127 m46s19 call 128 pith_cstring_release void 1 126 @@ -169505,24 +169868,24 @@ load 129 global_type call 130 string_len int 1 129 iconst 131 0 eq 132 130 131 -brif 132 L4900 L4901 -label L4900 +brif 132 L4957 L4958 +label L4957 load 133 global_type strref 134 m46s19 call 135 pith_cstring_release void 1 133 store global_type 134 -jmp L4899 -label L4901 -label L4899 -jmp L4872 -label L4898 +jmp L4956 +label L4958 +label L4956 +jmp L4929 +label L4955 load 136 gcn field 137 136 0 string kind strref 138 m46s18 call 139 pith_cstring_eq bool 2 137 138 call 140 pith_cstring_release void 1 138 -brif 139 L4902 L4903 -label L4902 +brif 139 L4959 L4960 +label L4959 load 141 init_val load 142 __loopvar_384_gc call 143 ir_type_helpers_ir_checked_type string 1 142 @@ -169532,128 +169895,128 @@ load 145 init_val call 146 string_len int 1 145 iconst 147 0 eq 148 146 147 -brif 148 L4905 L4906 -label L4905 +brif 148 L4962 L4963 +label L4962 load 149 init_val load 150 __loopvar_384_gc call 151 ir_emitter_core_ir_infer_type string 1 150 call 152 pith_cstring_release void 1 149 store init_val 151 -jmp L4904 -label L4906 -label L4904 +jmp L4961 +label L4963 +label L4961 load 153 init_val call 154 string_len int 1 153 iconst 155 0 eq 156 154 155 -brif 156 L4908 L4909 -label L4908 +brif 156 L4965 L4966 +label L4965 load 157 init_val strref 158 m46s18 call 159 pith_cstring_release void 1 157 store init_val 158 -jmp L4907 -label L4909 -label L4907 +jmp L4964 +label L4966 +label L4964 load 160 global_type call 161 string_len int 1 160 iconst 162 0 eq 163 161 162 -brif 163 L4911 L4912 -label L4911 +brif 163 L4968 L4969 +label L4968 load 164 global_type load 165 init_val call 166 pith_cstring_retain void 1 165 call 167 pith_cstring_release void 1 164 store global_type 165 -jmp L4910 -label L4912 -label L4910 -jmp L4872 -label L4903 +jmp L4967 +label L4969 +label L4967 +jmp L4929 +label L4960 load 168 gcn field 169 168 0 string kind strref 170 m46s516 call 171 pith_cstring_eq bool 2 169 170 call 172 pith_cstring_release void 1 170 -brif 171 L4913 L4914 -label L4913 +brif 171 L4970 L4971 +label L4970 load 173 gcn field 174 173 8 string value strref 175 m46s75 call 176 pith_cstring_eq bool 2 174 175 call 177 pith_cstring_release void 1 175 -brif 176 L4916 L4917 -label L4916 +brif 176 L4973 L4974 +label L4973 load 178 init_val strref 179 m46s176 call 180 pith_cstring_release void 1 178 store init_val 179 -jmp L4915 -label L4917 +jmp L4972 +label L4974 load 181 init_val strref 182 m46s177 call 183 pith_cstring_release void 1 181 store init_val 182 -label L4915 +label L4972 load 184 global_type call 185 string_len int 1 184 iconst 186 0 eq 187 185 186 -brif 187 L4919 L4920 -label L4919 +brif 187 L4976 L4977 +label L4976 load 188 global_type strref 189 m46s673 call 190 pith_cstring_release void 1 188 store global_type 189 -jmp L4918 -label L4920 -label L4918 -jmp L4872 -label L4914 -label L4872 -label L4870 +jmp L4975 +label L4977 +label L4975 +jmp L4929 +label L4971 +label L4929 +label L4927 load 191 __for_idx_384 iconst 192 1 add 193 191 192 store __for_idx_384 193 -jmp L4868 -label L4871 +jmp L4925 +label L4928 load 194 global_type call 195 string_len int 1 194 iconst 196 0 gt 197 195 196 -brif 197 L4922 L4923 -label L4922 +brif 197 L4979 L4980 +label L4979 load 198 gname load 199 global_type call 200 ir_alias_registry_ir_record_global_type void 2 198 199 -jmp L4921 -label L4923 -label L4921 +jmp L4978 +label L4980 +label L4978 load 201 global_map_value_type call 202 string_len int 1 201 iconst 203 0 gt 204 202 203 -brif 204 L4925 L4926 -label L4925 +brif 204 L4982 L4983 +label L4982 load 205 ir_alias_registry_ir_global_map_value_types load 206 gname load 207 global_map_value_type call 208 map_insert void 3 205 206 207 -jmp L4924 -label L4926 -label L4924 +jmp L4981 +label L4983 +label L4981 load 209 is_threadlocal -brif 209 L4928 L4929 -label L4928 +brif 209 L4985 L4986 +label L4985 load 210 ir_emitter_core_ir_threadlocal_slots load 211 gname call 212 contains_key bool 2 210 211 iconst 214 1 sub 213 214 212 -brif 213 L4931 L4932 -label L4931 +brif 213 L4988 L4989 +label L4988 load 215 ir_emitter_core_ir_threadlocal_slots load 216 gname load 217 ir_emitter_core_ir_next_tls_slot @@ -169662,9 +170025,9 @@ load 219 ir_emitter_core_ir_next_tls_slot iconst 220 1 add 221 219 220 store ir_emitter_core_ir_next_tls_slot 221 -jmp L4930 -label L4932 -label L4930 +jmp L4987 +label L4989 +label L4987 load 222 ir_emitter_core_ir_threadlocal_kinds load 223 gname load 224 global_type @@ -169683,8 +170046,8 @@ load 236 si call 237 pith_cstring_release void 1 236 iconst 238 0 ret 238 -label L4929 -label L4927 +label L4986 +label L4984 strref 239 m46s1176 load 240 gname concat 241 239 240 @@ -169736,12 +170099,12 @@ iconst 11 0 store __for_idx_385 11 store __for_len_385 10 store __for_iter_385 9 -label L4933 +label L4990 load 12 __for_idx_385 load 13 __for_len_385 lt 14 12 13 -brif 14 L4934 L4936 -label L4934 +brif 14 L4991 L4993 +label L4991 load 15 __for_iter_385 load 16 __for_idx_385 call 17 pith_list_get_value unknown 2 15 16 @@ -169758,11 +170121,11 @@ call 26 pith_cstring_eq bool 2 23 24 iconst 27 1 sub 25 27 26 call 28 pith_cstring_release void 1 24 -brif 25 L4938 L4939 -label L4938 -jmp L4935 -label L4939 -label L4937 +brif 25 L4995 L4996 +label L4995 +jmp L4992 +label L4996 +label L4994 load 29 binding load 30 cn field 31 30 16 list children @@ -169776,11 +170139,11 @@ field 37 36 0 string kind call 38 ir_ast_helpers_ir_is_binding_kind bool 1 37 iconst 40 1 sub 39 40 38 -brif 39 L4941 L4942 -label L4941 -jmp L4935 -label L4942 -label L4940 +brif 39 L4998 L4999 +label L4998 +jmp L4992 +label L4999 +label L4997 load 41 gname load 42 binding call 43 ir_ast_helpers_ir_binding_name string 1 42 @@ -169799,32 +170162,32 @@ load 52 parts field 53 52 16 int type_idx iconst 54 0 gte 55 53 54 -brif 55 L4944 L4945 -label L4944 +brif 55 L5001 L5002 +label L5001 load 56 target load 57 parts field 58 57 16 int type_idx call 59 ir_alias_registry_ir_resolve_type_node string 1 58 call 60 pith_cstring_release void 1 56 store target 59 -jmp L4943 -label L4945 -label L4943 +jmp L5000 +label L5002 +label L5000 load 61 target call 62 string_len int 1 61 iconst 63 0 eq 64 62 63 -brif 64 L4947 L4948 -label L4947 +brif 64 L5004 L5005 +label L5004 load 65 target load 66 parts field 67 66 8 int val_idx call 68 ir_emitter_core_ir_infer_type string 1 67 call 69 pith_cstring_release void 1 65 store target 68 -jmp L4946 -label L4948 -label L4946 +jmp L5003 +label L5005 +label L5003 load 70 target call 71 ir_emitter_core_ir_prepare_func_emission void 1 70 strref 72 m46s1175 @@ -169852,42 +170215,42 @@ call 91 ir_struct_registry_ir_rc_kind string 1 90 call 92 pith_cstring_release void 1 89 store gkind 91 iconst 93 0 -store __and_93_4952 93 +store __and_93_5009 93 iconst 94 0 -store __and_94_4952 94 +store __and_94_5009 94 load 95 gkind call 96 string_len int 1 95 iconst 97 0 gt 98 96 97 -store __and_94_4952 98 -brif 98 L4952 L4953 -label L4952 +store __and_94_5009 98 +brif 98 L5009 L5010 +label L5009 load 99 gtarget strref 100 m46s23 call 102 pith_cstring_eq bool 2 99 100 iconst 103 1 sub 101 103 102 call 104 pith_cstring_release void 1 100 -store __and_94_4952 101 -label L4953 -load 105 __and_94_4952 -store __and_93_4952 105 -brif 105 L4954 L4955 -label L4954 +store __and_94_5009 101 +label L5010 +load 105 __and_94_5009 +store __and_93_5009 105 +brif 105 L5011 L5012 +label L5011 load 106 parts field 107 106 8 int val_idx call 108 ir_emitter_core_ir_string_expr_is_borrowed bool 1 107 -store __and_93_4952 108 -label L4955 -load 109 __and_93_4952 -brif 109 L4950 L4951 -label L4950 +store __and_93_5009 108 +label L5012 +load 109 __and_93_5009 +brif 109 L5007 L5008 +label L5007 load 110 r load 111 gkind call 112 ir_ownership_ir_rc_retain_reg void 2 110 111 -jmp L4949 -label L4951 -label L4949 +jmp L5006 +label L5008 +label L5006 strref 113 m46s849 load 114 r call 115 int_to_string string 1 114 @@ -169899,13 +170262,13 @@ call 120 pith_cstring_release void 1 116 strref 121 m46s877 call 122 ir_builder_ir_emit void 1 121 call 123 pith_cstring_release void 1 121 -label L4935 +label L4992 load 124 __for_idx_385 iconst 125 1 add 126 124 125 store __for_idx_385 126 -jmp L4933 -label L4936 +jmp L4990 +label L4993 load 127 cn call 128 pith_struct_release void 1 127 load 129 binding @@ -170058,21 +170421,21 @@ endfunc func ir_emitter_core_ir_name_is_threadlocal 1 bool param name iconst 1 0 -store __and_1_4956 1 +store __and_1_5013 1 load 2 ir_emitter_core_ir_threadlocal_slots load 3 name call 4 contains_key bool 2 2 3 -store __and_1_4956 4 -brif 4 L4956 L4957 -label L4956 +store __and_1_5013 4 +brif 4 L5013 L5014 +label L5013 load 5 ir_builder_ir_var_regs load 6 name call 7 contains_key bool 2 5 6 iconst 9 1 sub 8 9 7 -store __and_1_4956 8 -label L4957 -load 10 __and_1_4956 +store __and_1_5013 8 +label L5014 +load 10 __and_1_5013 ret 10 iconst 11 0 ret 11 @@ -170091,8 +170454,8 @@ load 7 loop_slot call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L4959 L4960 -label L4959 +brif 10 L5016 L5017 +label L5016 strref 11 m46s829 load 12 dest_r call 13 int_to_string string 1 12 @@ -170108,17 +170471,17 @@ concat 22 18 21 call 23 pith_cstring_release void 1 18 call 24 ir_builder_ir_emit void 1 22 call 25 pith_cstring_release void 1 22 -jmp L4958 -label L4960 +jmp L5015 +label L5017 load 26 name call 27 ir_emitter_core_ir_name_is_threadlocal bool 1 26 -brif 27 L4961 L4962 -label L4961 +brif 27 L5018 L5019 +label L5018 load 28 dest_r load 29 name call 30 ir_emitter_core_ir_emit_tls_load void 2 28 29 -jmp L4958 -label L4962 +jmp L5015 +label L5019 strref 31 m46s829 load 32 dest_r call 33 int_to_string string 1 32 @@ -170136,7 +170499,7 @@ call 44 pith_cstring_release void 1 38 call 45 pith_cstring_release void 1 42 call 46 ir_builder_ir_emit void 1 43 call 47 pith_cstring_release void 1 43 -label L4958 +label L5015 load 48 loop_slot call 49 pith_cstring_release void 1 48 iconst 50 0 @@ -170156,8 +170519,8 @@ load 7 loop_slot call 8 string_len int 1 7 iconst 9 0 gt 10 8 9 -brif 10 L4964 L4965 -label L4964 +brif 10 L5021 L5022 +label L5021 strref 11 m46s830 load 12 loop_slot concat 13 11 12 @@ -170173,17 +170536,17 @@ call 22 pith_cstring_release void 1 16 call 23 pith_cstring_release void 1 20 call 24 ir_builder_ir_emit void 1 21 call 25 pith_cstring_release void 1 21 -jmp L4963 -label L4965 +jmp L5020 +label L5022 load 26 name call 27 ir_emitter_core_ir_name_is_threadlocal bool 1 26 -brif 27 L4966 L4967 -label L4966 +brif 27 L5023 L5024 +label L5023 load 28 name load 29 val_r call 30 ir_emitter_core_ir_emit_tls_store void 2 28 29 -jmp L4963 -label L4967 +jmp L5020 +label L5024 strref 31 m46s830 load 32 name call 33 ir_emitter_core_ir_resolve_storage_name string 1 32 @@ -170201,7 +170564,7 @@ call 44 pith_cstring_release void 1 38 call 45 pith_cstring_release void 1 42 call 46 ir_builder_ir_emit void 1 43 call 47 pith_cstring_release void 1 43 -label L4963 +label L5020 load 48 loop_slot call 49 pith_cstring_release void 1 48 iconst 50 0 @@ -170212,13 +170575,13 @@ param dest_r param name load 2 name call 3 ir_emitter_core_ir_name_is_threadlocal bool 1 2 -brif 3 L4969 L4970 -label L4969 +brif 3 L5026 L5027 +label L5026 load 4 dest_r load 5 name call 6 ir_emitter_core_ir_emit_tls_load void 2 4 5 -jmp L4968 -label L4970 +jmp L5025 +label L5027 strref 7 m46s829 load 8 dest_r call 9 int_to_string string 1 8 @@ -170236,7 +170599,7 @@ call 20 pith_cstring_release void 1 14 call 21 pith_cstring_release void 1 18 call 22 ir_builder_ir_emit void 1 19 call 23 pith_cstring_release void 1 19 -label L4968 +label L5025 iconst 24 0 ret 24 endfunc @@ -170253,12 +170616,12 @@ iconst 6 0 store __for_idx_386 6 store __for_len_386 5 store __for_iter_386 4 -label L4971 +label L5028 load 7 __for_idx_386 load 8 __for_len_386 lt 9 7 8 -brif 9 L4972 L4974 -label L4972 +brif 9 L5029 L5031 +label L5029 load 10 __for_iter_386 load 11 __for_idx_386 call 12 pith_list_get_value unknown 2 10 11 @@ -170273,8 +170636,8 @@ field 18 17 0 string kind strref 19 m46s589 call 20 pith_cstring_eq bool 2 18 19 call 21 pith_cstring_release void 1 19 -brif 20 L4976 L4977 -label L4976 +brif 20 L5033 L5034 +label L5033 load 22 inner load 23 cn field 24 23 16 list children @@ -170286,34 +170649,34 @@ store inner 27 load 29 inner field 30 29 0 string kind call 31 ir_ast_helpers_ir_is_binding_kind bool 1 30 -brif 31 L4979 L4980 -label L4979 +brif 31 L5036 L5037 +label L5036 load 32 inner iconst 33 1 call 34 ir_emitter_core_ir_emit_global_binding void 2 32 33 -jmp L4978 -label L4980 -label L4978 -jmp L4975 -label L4977 +jmp L5035 +label L5037 +label L5035 +jmp L5032 +label L5034 load 35 cn field 36 35 0 string kind call 37 ir_ast_helpers_ir_is_binding_kind bool 1 36 -brif 37 L4981 L4982 -label L4981 +brif 37 L5038 L5039 +label L5038 load 38 cn iconst 39 0 call 40 ir_emitter_core_ir_emit_global_binding void 2 38 39 -jmp L4975 -label L4982 -label L4975 -label L4973 +jmp L5032 +label L5039 +label L5032 +label L5030 load 41 __for_idx_386 iconst 42 1 add 43 41 42 store __for_idx_386 43 -jmp L4971 -label L4974 +jmp L5028 +label L5031 load 44 cn call 45 pith_struct_release void 1 44 load 46 inner @@ -170330,14 +170693,14 @@ load 3 raw_name call 4 ir_emitter_core_ir_struct_needs_dtor bool 1 3 iconst 6 1 sub 5 6 4 -brif 5 L4984 L4985 -label L4984 +brif 5 L5041 L5042 +label L5041 load 7 sname call 8 pith_cstring_release void 1 7 iconst 9 0 ret 9 -label L4985 -label L4983 +label L5042 +label L5040 load 10 sname load 11 raw_name call 12 ir_struct_registry_ir_struct_base_name string 1 11 @@ -170419,12 +170782,12 @@ iconst 24 0 store __for_idx_387 24 store __for_len_387 23 store __for_iter_387 22 -label L4986 +label L5043 load 25 __for_idx_387 load 26 __for_len_387 lt 27 25 26 -brif 27 L4987 L4989 -label L4987 +brif 27 L5044 L5046 +label L5044 load 28 __for_iter_387 load 29 __for_idx_387 call 30 pith_list_get_value_unchecked string 2 28 29 @@ -170506,13 +170869,13 @@ call 101 pith_cstring_release void 1 97 strref 102 m46s877 call 103 ir_builder_ir_emit void 1 102 call 104 pith_cstring_release void 1 102 -label L4988 +label L5045 load 105 __for_idx_387 iconst 106 1 add 107 105 106 store __for_idx_387 107 -jmp L4986 -label L4989 +jmp L5043 +label L5046 load 108 kinds call 109 pith_list_release_handle void 1 108 iconst 110 0 @@ -170532,12 +170895,12 @@ iconst 6 0 store __for_idx_388 6 store __for_len_388 5 store __for_iter_388 4 -label L4990 +label L5047 load 7 __for_idx_388 load 8 __for_len_388 lt 9 7 8 -brif 9 L4991 L4993 -label L4991 +brif 9 L5048 L5050 +label L5048 load 10 __for_iter_388 load 11 __for_idx_388 call 12 pith_list_get_value_unchecked string 2 10 11 @@ -170548,28 +170911,28 @@ call 15 pith_cstring_index_of int 2 13 14 call 16 pith_cstring_release void 1 14 iconst 17 0 gte 18 15 17 -brif 18 L4995 L4996 -label L4995 -jmp L4992 -label L4996 -label L4994 +brif 18 L5052 L5053 +label L5052 +jmp L5049 +label L5053 +label L5051 load 19 ir_struct_registry_ir_boxed_enums load 20 __loopvar_388_sname call 21 contains_key bool 2 19 20 -brif 21 L4998 L4999 -label L4998 -jmp L4992 -label L4999 -label L4997 +brif 21 L5055 L5056 +label L5055 +jmp L5049 +label L5056 +label L5054 load 22 __loopvar_388_sname call 23 ir_emitter_core_ir_struct_needs_dtor bool 1 22 iconst 25 1 sub 24 25 23 -brif 24 L5001 L5002 -label L5001 -jmp L4992 -label L5002 -label L5000 +brif 24 L5058 L5059 +label L5058 +jmp L5049 +label L5059 +label L5057 strref 26 m46s1167 load 27 __loopvar_388_sname concat 28 26 27 @@ -170601,12 +170964,12 @@ call 52 ir_struct_registry_ir_struct_field_count int 1 51 store count 52 iconst 53 0 store i 53 -label L5003 +label L5060 load 54 i load 55 count lt 56 54 55 -brif 56 L5004 L5005 -label L5004 +brif 56 L5061 L5062 +label L5061 load 57 fname load 58 __loopvar_388_sname load 59 i @@ -170627,8 +170990,8 @@ store fkind 69 load 71 __loopvar_388_sname load 72 fname call 73 ir_emitter_core_ir_struct_field_is_weak bool 2 71 72 -brif 73 L5007 L5008 -label L5007 +brif 73 L5064 L5065 +label L5064 call 74 ir_builder_ir_reg int 0 store fr 74 strref 75 m46s837 @@ -170685,14 +171048,14 @@ call 124 pith_cstring_release void 1 118 call 125 pith_cstring_release void 1 122 call 126 ir_builder_ir_emit void 1 123 call 127 pith_cstring_release void 1 123 -jmp L5006 -label L5008 +jmp L5063 +label L5065 load 128 fkind call 129 string_len int 1 128 iconst 130 0 gt 131 129 130 -brif 131 L5009 L5010 -label L5009 +brif 131 L5066 L5067 +label L5066 call 132 ir_builder_ir_reg int 0 store fr 132 strref 133 m46s837 @@ -170733,15 +171096,15 @@ call 167 pith_cstring_release void 1 164 load 168 fr load 169 fkind call 170 ir_ownership_ir_rc_release_reg void 2 168 169 -jmp L5006 -label L5010 -label L5006 +jmp L5063 +label L5067 +label L5063 load 171 i iconst 172 1 add 173 171 172 store i 173 -jmp L5003 -label L5005 +jmp L5060 +label L5062 call 174 ir_builder_ir_reg int 0 store zr 174 strref 175 m46s832 @@ -170767,13 +171130,13 @@ call 194 pith_cstring_release void 1 190 strref 195 m46s877 call 196 ir_builder_ir_emit void 1 195 call 197 pith_cstring_release void 1 195 -label L4992 +label L5049 load 198 __for_idx_388 iconst 199 1 add 200 198 199 store __for_idx_388 200 -jmp L4990 -label L4993 +jmp L5047 +label L5050 load 201 __for_iter_388 call 202 pith_list_release_handle void 1 201 load 203 fname @@ -170805,12 +171168,12 @@ iconst 9 0 store __for_idx_389 9 store __for_len_389 8 store __for_iter_389 7 -label L5011 +label L5068 load 10 __for_idx_389 load 11 __for_len_389 lt 12 10 11 -brif 12 L5012 L5014 -label L5012 +brif 12 L5069 L5071 +label L5069 load 13 __for_iter_389 load 14 __for_idx_389 call 15 pith_list_get_value_unchecked string 2 13 14 @@ -170819,21 +171182,21 @@ load 16 __loopvar_389_ename call 17 ir_emitter_core_ir_enum_needs_dtor bool 1 16 iconst 19 1 sub 18 19 17 -brif 18 L5016 L5017 -label L5016 -jmp L5013 -label L5017 -label L5015 +brif 18 L5073 L5074 +label L5073 +jmp L5070 +label L5074 +label L5072 load 20 ir_struct_registry_ir_enum_variant_lists load 21 __loopvar_389_ename call 22 contains_key bool 2 20 21 iconst 24 1 sub 23 24 22 -brif 23 L5019 L5020 -label L5019 -jmp L5013 -label L5020 -label L5018 +brif 23 L5076 L5077 +label L5076 +jmp L5070 +label L5077 +label L5075 strref 25 m46s1167 load 26 __loopvar_389_ename concat 27 25 26 @@ -170894,13 +171257,13 @@ call 79 pith_list_release_handle void 1 72 store variants 77 iconst 80 0 store vi 80 -label L5021 +label L5078 load 81 vi load 82 variants call 83 pith_list_len int 1 82 lt 84 81 83 -brif 84 L5022 L5023 -label L5022 +brif 84 L5079 L5080 +label L5079 load 85 vkey load 86 __loopvar_389_ename strref 87 m46s26 @@ -170916,8 +171279,8 @@ store vkey 93 load 96 ir_struct_registry_ir_enum_payload_kinds load 97 vkey call 98 contains_key bool 2 96 97 -brif 98 L5025 L5026 -label L5025 +brif 98 L5082 L5083 +label L5082 load 99 kinds load 100 ir_struct_registry_ir_enum_payload_kinds load 101 vkey @@ -170931,13 +171294,13 @@ iconst 107 0 store has_rc 107 iconst 108 0 store c 108 -label L5027 +label L5084 load 109 c load 110 kinds call 111 pith_list_len int 1 110 lt 112 109 111 -brif 112 L5028 L5029 -label L5028 +brif 112 L5085 L5086 +label L5085 load 113 kinds load 114 c call 115 pith_list_get_value_strict string 2 113 114 @@ -170946,22 +171309,22 @@ call 117 string_len int 1 116 call 118 pith_cstring_release void 1 116 iconst 119 0 gt 120 117 119 -brif 120 L5031 L5032 -label L5031 +brif 120 L5088 L5089 +label L5088 iconst 121 1 store has_rc 121 -jmp L5030 -label L5032 -label L5030 +jmp L5087 +label L5089 +label L5087 load 122 c iconst 123 1 add 124 122 123 store c 124 -jmp L5027 -label L5029 +jmp L5084 +label L5086 load 125 has_rc -brif 125 L5034 L5035 -label L5034 +brif 125 L5091 L5092 +label L5091 call 126 ir_builder_ir_reg int 0 store vtag 126 strref 127 m46s832 @@ -171043,13 +171406,13 @@ load 199 hit_l call 200 ir_call_emit_ir_emit_label void 1 199 iconst 201 0 store s 201 -label L5036 +label L5093 load 202 s load 203 kinds call 204 pith_list_len int 1 203 lt 205 202 204 -brif 205 L5037 L5038 -label L5037 +brif 205 L5094 L5095 +label L5094 load 206 rk load 207 kinds load 208 s @@ -171061,8 +171424,8 @@ load 212 rk call 213 string_len int 1 212 iconst 214 0 gt 215 213 214 -brif 215 L5040 L5041 -label L5040 +brif 215 L5097 L5098 +label L5097 call 216 ir_builder_ir_reg int 0 store slot_r 216 strref 217 m46s837 @@ -171107,29 +171470,29 @@ call 255 pith_cstring_release void 1 251 load 256 slot_r load 257 rk call 258 ir_ownership_ir_rc_release_reg void 2 256 257 -jmp L5039 -label L5041 -label L5039 +jmp L5096 +label L5098 +label L5096 load 259 s iconst 260 1 add 261 259 260 store s 261 -jmp L5036 -label L5038 +jmp L5093 +label L5095 load 262 skip_l call 263 ir_call_emit_ir_emit_label void 1 262 -jmp L5033 -label L5035 -label L5033 -jmp L5024 -label L5026 -label L5024 +jmp L5090 +label L5092 +label L5090 +jmp L5081 +label L5083 +label L5081 load 264 vi iconst 265 1 add 266 264 265 store vi 266 -jmp L5021 -label L5023 +jmp L5078 +label L5080 call 267 ir_builder_ir_reg int 0 store zr 267 strref 268 m46s832 @@ -171155,13 +171518,13 @@ call 287 pith_cstring_release void 1 283 strref 288 m46s877 call 289 ir_builder_ir_emit void 1 288 call 290 pith_cstring_release void 1 288 -label L5013 +label L5070 load 291 __for_idx_389 iconst 292 1 add 293 291 292 store __for_idx_389 293 -jmp L5011 -label L5014 +jmp L5068 +label L5071 load 294 __for_iter_389 call 295 pith_list_release_handle void 1 294 load 296 variants @@ -171188,12 +171551,12 @@ iconst 3 0 store __for_idx_390 3 store __for_len_390 2 store __for_iter_390 1 -label L5042 +label L5099 load 4 __for_idx_390 load 5 __for_len_390 lt 6 4 5 -brif 6 L5043 L5045 -label L5043 +brif 6 L5100 L5102 +label L5100 load 7 __for_iter_390 load 8 __for_idx_390 call 9 pith_list_get_value_unchecked string 2 7 8 @@ -171224,13 +171587,13 @@ call 31 ir_builder_ir_emit void 1 28 call 32 pith_cstring_release void 1 28 iconst 33 0 store i 33 -label L5046 +label L5103 load 34 i load 35 __loopvar_390_sig call 36 string_len int 1 35 lt 37 34 36 -brif 37 L5047 L5048 -label L5047 +brif 37 L5104 L5105 +label L5104 load 38 kind load 39 __loopvar_390_sig load 40 i @@ -171246,8 +171609,8 @@ load 48 kind call 49 string_len int 1 48 iconst 50 0 gt 51 49 50 -brif 51 L5050 L5051 -label L5050 +brif 51 L5107 L5108 +label L5107 call 52 ir_builder_ir_reg int 0 store fr 52 strref 53 m46s837 @@ -171290,15 +171653,15 @@ call 89 pith_cstring_release void 1 85 load 90 fr load 91 kind call 92 ir_ownership_ir_rc_release_reg void 2 90 91 -jmp L5049 -label L5051 -label L5049 +jmp L5106 +label L5108 +label L5106 load 93 i iconst 94 1 add 95 93 94 store i 95 -jmp L5046 -label L5048 +jmp L5103 +label L5105 call 96 ir_builder_ir_reg int 0 store zr 96 strref 97 m46s832 @@ -171324,13 +171687,13 @@ call 116 pith_cstring_release void 1 112 strref 117 m46s877 call 118 ir_builder_ir_emit void 1 117 call 119 pith_cstring_release void 1 117 -label L5044 +label L5101 load 120 __for_idx_390 iconst 121 1 add 122 120 121 store __for_idx_390 122 -jmp L5042 -label L5045 +jmp L5099 +label L5102 load 123 kind call 124 pith_cstring_release void 1 123 iconst 125 0 @@ -171362,12 +171725,12 @@ iconst 12 0 store __for_idx_391 12 store __for_len_391 11 store __for_iter_391 10 -label L5052 +label L5109 load 13 __for_idx_391 load 14 __for_len_391 lt 15 13 14 -brif 15 L5053 L5055 -label L5053 +brif 15 L5110 L5112 +label L5110 load 16 __for_iter_391 load 17 __for_idx_391 call 18 pith_list_get_value_unchecked string 2 16 17 @@ -171377,11 +171740,11 @@ load 20 __loopvar_391_ename call 21 contains_key bool 2 19 20 iconst 23 1 sub 22 23 21 -brif 22 L5057 L5058 -label L5057 -jmp L5054 -label L5058 -label L5056 +brif 22 L5114 L5115 +label L5114 +jmp L5111 +label L5115 +label L5113 strref 24 m46s1158 load 25 __loopvar_391_ename concat 26 24 25 @@ -171600,13 +171963,13 @@ concat 226 222 225 call 227 pith_cstring_release void 1 222 call 228 ir_builder_ir_emit void 1 226 call 229 pith_cstring_release void 1 226 -label L5059 +label L5116 load 230 vi load 231 variants call 232 pith_list_len int 1 231 lt 233 230 232 -brif 233 L5060 L5061 -label L5060 +brif 233 L5117 L5118 +label L5117 load 234 vkey load 235 __loopvar_391_ename strref 236 m46s26 @@ -171622,8 +171985,8 @@ store vkey 242 load 245 ir_struct_registry_ir_enum_payload_kinds load 246 vkey call 247 contains_key bool 2 245 246 -brif 247 L5063 L5064 -label L5063 +brif 247 L5120 L5121 +label L5120 load 248 chain_l call 249 ir_call_emit_ir_emit_label void 1 248 load 250 chain_l @@ -171716,13 +172079,13 @@ call 332 pith_list_release_handle void 1 325 store kinds 330 iconst 333 0 store k 333 -label L5065 +label L5122 load 334 k load 335 kinds call 336 pith_list_len int 1 335 lt 337 334 336 -brif 337 L5066 L5067 -label L5066 +brif 337 L5123 L5124 +label L5123 call 338 ir_builder_ir_reg int 0 store fa 338 strref 339 m46s837 @@ -171813,8 +172176,8 @@ call 421 pith_list_get_value_strict string 2 419 420 strref 422 m46s675 call 423 pith_cstring_eq bool 2 421 422 call 424 pith_cstring_release void 1 422 -brif 423 L5069 L5070 -label L5069 +brif 423 L5126 L5127 +label L5126 load 425 cmp_r strref 426 m46s722 strref 427 m46s673 @@ -171823,15 +172186,15 @@ load 429 fb call 430 ir_call_emit_ir_emit_call2 void 5 425 426 427 428 429 call 431 pith_cstring_release void 1 426 call 432 pith_cstring_release void 1 427 -jmp L5068 -label L5070 +jmp L5125 +label L5127 load 433 ir_struct_registry_ir_boxed_enums load 434 kinds load 435 k call 436 pith_list_get_value_strict string 2 434 435 call 437 contains_key bool 2 433 436 -brif 437 L5071 L5072 -label L5071 +brif 437 L5128 L5129 +label L5128 load 438 cmp_r strref 439 m46s1158 load 440 kinds @@ -171845,8 +172208,8 @@ load 447 fb call 448 ir_call_emit_ir_emit_call2 void 5 438 443 445 446 447 call 449 pith_cstring_release void 1 443 call 450 pith_cstring_release void 1 445 -jmp L5068 -label L5072 +jmp L5125 +label L5129 strref 451 m46s839 load 452 cmp_r call 453 int_to_string string 1 452 @@ -171873,7 +172236,7 @@ call 473 pith_cstring_release void 1 467 call 474 pith_cstring_release void 1 471 call 475 ir_builder_ir_emit void 1 472 call 476 pith_cstring_release void 1 472 -label L5068 +label L5125 load 477 next_slot_l call 478 ir_builder_ir_label string 0 call 479 pith_cstring_release void 1 477 @@ -171906,23 +172269,23 @@ load 504 k iconst 505 1 add 506 504 505 store k 506 -jmp L5065 -label L5067 +jmp L5122 +label L5124 strref 507 m46s833 load 508 true_l concat 509 507 508 call 510 pith_cstring_release void 1 507 call 511 ir_builder_ir_emit void 1 509 call 512 pith_cstring_release void 1 509 -jmp L5062 -label L5064 -label L5062 +jmp L5119 +label L5121 +label L5119 load 513 vi iconst 514 1 add 515 513 514 store vi 515 -jmp L5059 -label L5061 +jmp L5116 +label L5118 load 516 chain_l call 517 ir_call_emit_ir_emit_label void 1 516 strref 518 m46s833 @@ -171982,13 +172345,13 @@ call 569 pith_cstring_release void 1 565 strref 570 m46s877 call 571 ir_builder_ir_emit void 1 570 call 572 pith_cstring_release void 1 570 -label L5054 +label L5111 load 573 __for_idx_391 iconst 574 1 add 575 573 574 store __for_idx_391 575 -jmp L5052 -label L5055 +jmp L5109 +label L5112 load 576 __for_iter_391 call 577 pith_list_release_handle void 1 576 load 578 true_l @@ -172027,16 +172390,16 @@ load 7 parts field 8 7 8 int val_idx iconst 9 0 lt 10 8 9 -brif 10 L5074 L5075 -label L5074 +brif 10 L5131 L5132 +label L5131 iconst 11 0 load 12 parts call 13 pith_struct_release void 1 12 load 14 vk call 15 pith_cstring_release void 1 14 ret 11 -label L5075 -label L5073 +label L5132 +label L5130 load 16 vk load 17 parts field 18 17 8 int val_idx @@ -172046,93 +172409,93 @@ call 21 pith_cstring_retain void 1 20 call 22 pith_cstring_release void 1 16 store vk 20 iconst 23 0 -store __or_23_5079 23 +store __or_23_5136 23 iconst 24 0 -store __or_24_5079 24 +store __or_24_5136 24 iconst 25 0 -store __or_25_5079 25 +store __or_25_5136 25 load 26 vk strref 27 m46s519 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __or_25_5079 28 -brif 28 L5080 L5079 -label L5079 +store __or_25_5136 28 +brif 28 L5137 L5136 +label L5136 load 30 vk strref 31 m46s516 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -store __or_25_5079 32 -label L5080 -load 34 __or_25_5079 -store __or_24_5079 34 -brif 34 L5082 L5081 -label L5081 +store __or_25_5136 32 +label L5137 +load 34 __or_25_5136 +store __or_24_5136 34 +brif 34 L5139 L5138 +label L5138 load 35 vk strref 36 m46s75 call 37 pith_cstring_eq bool 2 35 36 call 38 pith_cstring_release void 1 36 -store __or_24_5079 37 -label L5082 -load 39 __or_24_5079 -store __or_23_5079 39 -brif 39 L5084 L5083 -label L5083 +store __or_24_5136 37 +label L5139 +load 39 __or_24_5136 +store __or_23_5136 39 +brif 39 L5141 L5140 +label L5140 load 40 vk strref 41 m46s74 call 42 pith_cstring_eq bool 2 40 41 call 43 pith_cstring_release void 1 41 -store __or_23_5079 42 -label L5084 -load 44 __or_23_5079 -brif 44 L5077 L5078 -label L5077 +store __or_23_5136 42 +label L5141 +load 44 __or_23_5136 +brif 44 L5134 L5135 +label L5134 iconst 45 0 load 46 parts call 47 pith_struct_release void 1 46 load 48 vk call 49 pith_cstring_release void 1 48 ret 45 -label L5078 -label L5076 +label L5135 +label L5133 iconst 50 0 -store __or_50_5088 50 +store __or_50_5145 50 iconst 51 0 -store __or_51_5088 51 +store __or_51_5145 51 load 52 vk strref 53 m46s517 call 54 pith_cstring_eq bool 2 52 53 call 55 pith_cstring_release void 1 53 -store __or_51_5088 54 -brif 54 L5089 L5088 -label L5088 +store __or_51_5145 54 +brif 54 L5146 L5145 +label L5145 load 56 vk strref 57 m46s675 call 58 pith_cstring_eq bool 2 56 57 call 59 pith_cstring_release void 1 57 -store __or_51_5088 58 -label L5089 -load 60 __or_51_5088 -store __or_50_5088 60 -brif 60 L5091 L5090 -label L5090 +store __or_51_5145 58 +label L5146 +load 60 __or_51_5145 +store __or_50_5145 60 +brif 60 L5148 L5147 +label L5147 load 61 vk strref 62 m46s1025 call 63 pith_cstring_eq bool 2 61 62 call 64 pith_cstring_release void 1 62 -store __or_50_5088 63 -label L5091 -load 65 __or_50_5088 -brif 65 L5086 L5087 -label L5086 +store __or_50_5145 63 +label L5148 +load 65 __or_50_5145 +brif 65 L5143 L5144 +label L5143 iconst 66 0 load 67 parts call 68 pith_struct_release void 1 67 load 69 vk call 70 pith_cstring_release void 1 69 ret 66 -label L5087 -label L5085 +label L5144 +label L5142 iconst 71 1 load 72 parts call 73 pith_struct_release void 1 72 @@ -172169,12 +172532,12 @@ iconst 11 0 store __for_idx_392 11 store __for_len_392 10 store __for_iter_392 9 -label L5092 +label L5149 load 12 __for_idx_392 load 13 __for_len_392 lt 14 12 13 -brif 14 L5093 L5095 -label L5093 +brif 14 L5150 L5152 +label L5150 load 15 __for_iter_392 load 16 __for_idx_392 call 17 pith_list_get_value unknown 2 15 16 @@ -172185,37 +172548,37 @@ call 20 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 19 call 21 pith_struct_release void 1 18 store cn 20 iconst 22 0 -store __and_22_5099 22 +store __and_22_5156 22 load 23 cn field 24 23 0 string kind call 25 ir_ast_helpers_ir_is_binding_kind bool 1 24 -store __and_22_5099 25 -brif 25 L5099 L5100 -label L5099 +store __and_22_5156 25 +brif 25 L5156 L5157 +label L5156 load 26 cn call 27 ir_emitter_core_ir_global_needs_runtime_init bool 1 26 -store __and_22_5099 27 -label L5100 -load 28 __and_22_5099 -brif 28 L5097 L5098 -label L5097 +store __and_22_5156 27 +label L5157 +load 28 __and_22_5156 +brif 28 L5154 L5155 +label L5154 iconst 29 1 store has_runtime_inits 29 -jmp L5096 -label L5098 -label L5096 -label L5094 +jmp L5153 +label L5155 +label L5153 +label L5151 load 30 __for_idx_392 iconst 31 1 add 32 30 31 store __for_idx_392 32 -jmp L5092 -label L5095 +jmp L5149 +label L5152 load 33 has_runtime_inits iconst 35 1 sub 34 35 33 -brif 34 L5102 L5103 -label L5102 +brif 34 L5159 L5160 +label L5159 load 36 cn call 37 pith_struct_release void 1 36 load 38 gname @@ -172230,8 +172593,8 @@ load 46 gkind call 47 pith_cstring_release void 1 46 iconst 48 0 ret 48 -label L5103 -label L5101 +label L5160 +label L5158 strref 49 m46s1157 iconst 50 0 strref 51 m46s671 @@ -172245,12 +172608,12 @@ iconst 58 0 store __for_idx_393 58 store __for_len_393 57 store __for_iter_393 56 -label L5104 +label L5161 load 59 __for_idx_393 load 60 __for_len_393 lt 61 59 60 -brif 61 L5105 L5107 -label L5105 +brif 61 L5162 L5164 +label L5162 load 62 __for_iter_393 load 63 __for_idx_393 call 64 pith_list_get_value unknown 2 62 63 @@ -172261,20 +172624,20 @@ call 67 ir_ast_helpers_ir_unwrap_pub_node struct:Node 1 66 call 68 pith_struct_release void 1 65 store cn 67 iconst 69 0 -store __and_69_5111 69 +store __and_69_5168 69 load 70 cn field 71 70 0 string kind call 72 ir_ast_helpers_ir_is_binding_kind bool 1 71 -store __and_69_5111 72 -brif 72 L5111 L5112 -label L5111 +store __and_69_5168 72 +brif 72 L5168 L5169 +label L5168 load 73 cn call 74 ir_emitter_core_ir_global_needs_runtime_init bool 1 73 -store __and_69_5111 74 -label L5112 -load 75 __and_69_5111 -brif 75 L5109 L5110 -label L5109 +store __and_69_5168 74 +label L5169 +load 75 __and_69_5168 +brif 75 L5166 L5167 +label L5166 load 76 gname load 77 cn call 78 ir_ast_helpers_ir_binding_name string 1 77 @@ -172293,32 +172656,32 @@ load 87 parts field 88 87 16 int type_idx iconst 89 0 gte 90 88 89 -brif 90 L5114 L5115 -label L5114 +brif 90 L5171 L5172 +label L5171 load 91 target load 92 parts field 93 92 16 int type_idx call 94 ir_alias_registry_ir_resolve_type_node string 1 93 call 95 pith_cstring_release void 1 91 store target 94 -jmp L5113 -label L5115 -label L5113 +jmp L5170 +label L5172 +label L5170 load 96 target call 97 string_len int 1 96 iconst 98 0 eq 99 97 98 -brif 99 L5117 L5118 -label L5117 +brif 99 L5174 L5175 +label L5174 load 100 target load 101 parts field 102 101 8 int val_idx call 103 ir_emitter_core_ir_infer_type string 1 102 call 104 pith_cstring_release void 1 100 store target 103 -jmp L5116 -label L5118 -label L5116 +jmp L5173 +label L5175 +label L5173 load 105 gtarget load 106 gname load 107 target @@ -172336,42 +172699,42 @@ call 116 ir_struct_registry_ir_rc_kind string 1 115 call 117 pith_cstring_release void 1 114 store gkind 116 iconst 118 0 -store __and_118_5122 118 +store __and_118_5179 118 iconst 119 0 -store __and_119_5122 119 +store __and_119_5179 119 load 120 gkind call 121 string_len int 1 120 iconst 122 0 gt 123 121 122 -store __and_119_5122 123 -brif 123 L5122 L5123 -label L5122 +store __and_119_5179 123 +brif 123 L5179 L5180 +label L5179 load 124 gtarget strref 125 m46s23 call 127 pith_cstring_eq bool 2 124 125 iconst 128 1 sub 126 128 127 call 129 pith_cstring_release void 1 125 -store __and_119_5122 126 -label L5123 -load 130 __and_119_5122 -store __and_118_5122 130 -brif 130 L5124 L5125 -label L5124 +store __and_119_5179 126 +label L5180 +load 130 __and_119_5179 +store __and_118_5179 130 +brif 130 L5181 L5182 +label L5181 load 131 parts field 132 131 8 int val_idx call 133 ir_emitter_core_ir_string_expr_is_borrowed bool 1 132 -store __and_118_5122 133 -label L5125 -load 134 __and_118_5122 -brif 134 L5120 L5121 -label L5120 +store __and_118_5179 133 +label L5182 +load 134 __and_118_5179 +brif 134 L5177 L5178 +label L5177 load 135 r load 136 gkind call 137 ir_ownership_ir_rc_retain_reg void 2 135 136 -jmp L5119 -label L5121 -label L5119 +jmp L5176 +label L5178 +label L5176 strref 138 m46s830 load 139 gname concat 140 138 139 @@ -172387,16 +172750,16 @@ call 149 pith_cstring_release void 1 143 call 150 pith_cstring_release void 1 147 call 151 ir_builder_ir_emit void 1 148 call 152 pith_cstring_release void 1 148 -jmp L5108 -label L5110 -label L5108 -label L5106 +jmp L5165 +label L5167 +label L5165 +label L5163 load 153 __for_idx_393 iconst 154 1 add 155 153 154 store __for_idx_393 155 -jmp L5104 -label L5107 +jmp L5161 +label L5164 call 156 ir_builder_ir_reg int 0 store dr 156 strref 157 m46s832 @@ -172453,12 +172816,12 @@ iconst 8 0 store __for_idx_394 8 store __for_len_394 7 store __for_iter_394 6 -label L5126 +label L5183 load 9 __for_idx_394 load 10 __for_len_394 lt 11 9 10 -brif 11 L5127 L5129 -label L5127 +brif 11 L5184 L5186 +label L5184 load 12 __for_iter_394 load 13 __for_idx_394 call 14 pith_list_get_value unknown 2 12 13 @@ -172469,67 +172832,67 @@ call 17 ast_get_node struct:Node 1 16 call 18 pith_struct_release void 1 15 store actual_node 17 iconst 19 0 -store __or_19_5133 19 +store __or_19_5190 19 load 20 actual_node field 21 20 0 string kind strref 22 m46s618 call 23 pith_cstring_eq bool 2 21 22 call 24 pith_cstring_release void 1 22 -store __or_19_5133 23 -brif 23 L5134 L5133 -label L5133 +store __or_19_5190 23 +brif 23 L5191 L5190 +label L5190 load 25 actual_node field 26 25 0 string kind strref 27 m46s576 call 28 pith_cstring_eq bool 2 26 27 call 29 pith_cstring_release void 1 27 -store __or_19_5133 28 -label L5134 -load 30 __or_19_5133 -brif 30 L5131 L5132 -label L5131 +store __or_19_5190 28 +label L5191 +load 30 __or_19_5190 +brif 30 L5188 L5189 +label L5188 load 31 actual_node call 32 ir_generics_ir_has_generic_params bool 1 31 -brif 32 L5136 L5137 -label L5136 -jmp L5128 -label L5137 -label L5135 +brif 32 L5193 L5194 +label L5193 +jmp L5185 +label L5194 +label L5192 iconst 33 0 -store __and_33_5141 33 +store __and_33_5198 33 load 34 ir_emitter_core_ir_emit_tests -store __and_33_5141 34 -brif 34 L5141 L5142 -label L5141 +store __and_33_5198 34 +brif 34 L5198 L5199 +label L5198 load 35 actual_node field 36 35 8 string value strref 37 m46s1156 call 38 pith_cstring_eq bool 2 36 37 call 39 pith_cstring_release void 1 37 -store __and_33_5141 38 -label L5142 -load 40 __and_33_5141 +store __and_33_5198 38 +label L5199 +load 40 __and_33_5198 iconst 42 1 sub 41 42 40 -brif 41 L5139 L5140 -label L5139 +brif 41 L5196 L5197 +label L5196 load 43 __loopvar_394_item_idx call 44 ir_emitter_core_ir_func void 1 43 -jmp L5138 -label L5140 -label L5138 -jmp L5130 -label L5132 +jmp L5195 +label L5197 +label L5195 +jmp L5187 +label L5189 load 45 actual_node field 46 45 0 string kind strref 47 m46s587 call 48 pith_cstring_eq bool 2 46 47 call 49 pith_cstring_release void 1 47 -brif 48 L5143 L5144 -label L5143 +brif 48 L5200 L5201 +label L5200 load 50 ir_emitter_core_ir_emit_tests -brif 50 L5146 L5147 -label L5146 +brif 50 L5203 L5204 +label L5203 load 51 __loopvar_394_item_idx load 52 test_ord call 53 ir_emitter_core_ir_emit_test_func void 2 51 52 @@ -172537,18 +172900,18 @@ load 54 test_ord iconst 55 1 add 56 54 55 store test_ord 56 -jmp L5145 -label L5147 -label L5145 -jmp L5130 -label L5144 +jmp L5202 +label L5204 +label L5202 +jmp L5187 +label L5201 load 57 actual_node field 58 57 0 string kind strref 59 m46s588 call 60 pith_cstring_eq bool 2 58 59 call 61 pith_cstring_release void 1 59 -brif 60 L5148 L5149 -label L5148 +brif 60 L5205 L5206 +label L5205 load 62 impl_type load 63 actual_node call 64 ir_emitter_core_ir_impl_target_type string 1 63 @@ -172557,26 +172920,26 @@ store impl_type 64 load 66 actual_node load 67 impl_type call 68 ir_emitter_core_ir_emit_impl_methods void 2 66 67 -jmp L5130 -label L5149 -label L5130 -label L5128 +jmp L5187 +label L5206 +label L5187 +label L5185 load 69 __for_idx_394 iconst 70 1 add 71 69 70 store __for_idx_394 71 -jmp L5126 -label L5129 +jmp L5183 +label L5186 load 72 __for_iter_394 call 73 pith_list_release_handle void 1 72 load 74 ir_emitter_core_ir_emit_tests -brif 74 L5151 L5152 -label L5151 +brif 74 L5208 L5209 +label L5208 load 75 root_idx call 76 ir_emitter_core_ir_emit_test_main void 1 75 -jmp L5150 -label L5152 -label L5150 +jmp L5207 +label L5209 +label L5207 load 77 actual_node call 78 pith_struct_release void 1 77 load 79 impl_type @@ -172616,12 +172979,12 @@ iconst 10 0 store __for_idx_395 10 store __for_len_395 9 store __for_iter_395 8 -label L5153 +label L5210 load 11 __for_idx_395 load 12 __for_len_395 lt 13 11 12 -brif 13 L5154 L5156 -label L5154 +brif 13 L5211 L5213 +label L5211 load 14 __for_iter_395 load 15 __for_idx_395 call 16 pith_list_get_value_unchecked string 2 14 15 @@ -172633,13 +172996,13 @@ call 20 pith_cstring_release void 1 18 call 21 ir_builder_ir_str string 1 19 call 22 pith_cstring_release void 1 19 call 23 pith_cstring_release void 1 21 -label L5155 +label L5212 load 24 __for_idx_395 iconst 25 1 add 26 24 25 store __for_idx_395 26 -jmp L5153 -label L5156 +jmp L5210 +label L5213 load 27 builtin_names call 28 pith_list_release_handle void 1 27 iconst 29 0 @@ -172659,12 +173022,12 @@ iconst 6 0 store __for_idx_396 6 store __for_len_396 5 store __for_iter_396 4 -label L5157 +label L5214 load 7 __for_idx_396 load 8 __for_len_396 lt 9 7 8 -brif 9 L5158 L5160 -label L5158 +brif 9 L5215 L5217 +label L5215 load 10 __for_iter_396 load 11 __for_idx_396 call 12 pith_list_get_value unknown 2 10 11 @@ -172676,13 +173039,13 @@ load 15 ir_emitter_core_ir_preloaded_import_paths load 16 __loopvar_396_i call 17 pith_list_get_value_strict string 2 15 16 call 18 ir_alias_registry_ir_collect_preloaded_root_metadata void 2 14 17 -label L5159 +label L5216 load 19 __for_idx_396 iconst 20 1 add 21 19 20 store __for_idx_396 21 -jmp L5157 -label L5160 +jmp L5214 +label L5217 iconst 22 0 ret 22 endfunc @@ -172708,12 +173071,12 @@ iconst 11 0 store __for_idx_397 11 store __for_len_397 10 store __for_iter_397 9 -label L5161 +label L5218 load 12 __for_idx_397 load 13 __for_len_397 lt 14 12 13 -brif 14 L5162 L5164 -label L5162 +brif 14 L5219 L5221 +label L5219 load 15 __for_iter_397 load 16 __for_idx_397 call 17 pith_list_get_value unknown 2 15 16 @@ -172728,8 +173091,8 @@ load 22 __loopvar_397_preload_i load 23 ir_emitter_core_ir_preloaded_import_paths call 24 pith_list_len int 1 23 lt 25 22 24 -brif 25 L5166 L5167 -label L5166 +brif 25 L5223 L5224 +label L5223 load 26 module_path load 27 ir_emitter_core_ir_preloaded_import_paths load 28 __loopvar_397_preload_i @@ -172737,9 +173100,9 @@ call 29 pith_list_get_value_strict string 2 27 28 call 30 pith_cstring_retain void 1 29 call 31 pith_cstring_release void 1 26 store module_path 29 -jmp L5165 -label L5167 -label L5165 +jmp L5222 +label L5224 +label L5222 load 32 __loopvar_397_root call 33 ir_tree_cache_ir_root_items list 1 32 call 34 pith_auto_len int 1 33 @@ -172747,12 +173110,12 @@ iconst 35 0 store __for_idx_398 35 store __for_len_398 34 store __for_iter_398 33 -label L5168 +label L5225 load 36 __for_idx_398 load 37 __for_len_398 lt 38 36 37 -brif 38 L5169 L5171 -label L5169 +brif 38 L5226 L5228 +label L5226 load 39 __for_iter_398 load 40 __for_idx_398 call 41 pith_list_get_value unknown 2 39 40 @@ -172765,8 +173128,8 @@ store node 44 load 46 node field 47 46 0 string kind call 48 ir_generics_ir_is_fn_decl_kind bool 1 47 -brif 48 L5173 L5174 -label L5173 +brif 48 L5230 L5231 +label L5230 load 49 module_path load 50 node field 51 50 8 string value @@ -172774,28 +173137,28 @@ call 52 ir_names_ir_import_target_name string 2 49 51 load 53 node call 54 ir_emitter_core_ir_record_function_return_as void 2 52 53 call 55 pith_cstring_release void 1 52 -jmp L5172 -label L5174 -label L5172 -label L5170 +jmp L5229 +label L5231 +label L5229 +label L5227 load 56 __for_idx_398 iconst 57 1 add 58 56 57 store __for_idx_398 58 -jmp L5168 -label L5171 +jmp L5225 +label L5228 load 59 __for_iter_398 call 60 pith_list_release_handle void 1 59 load 61 __loopvar_397_root load 62 module_path call 63 ir_emitter_core_ir_collect_generic_function_decls_from_root void 2 61 62 -label L5163 +label L5220 load 64 __for_idx_397 iconst 65 1 add 66 64 65 store __for_idx_397 66 -jmp L5161 -label L5164 +jmp L5218 +label L5221 load 67 root_idx call 68 ir_tree_cache_ir_root_items list 1 67 call 69 pith_auto_len int 1 68 @@ -172803,12 +173166,12 @@ iconst 70 0 store __for_idx_399 70 store __for_len_399 69 store __for_iter_399 68 -label L5175 +label L5232 load 71 __for_idx_399 load 72 __for_len_399 lt 73 71 72 -brif 73 L5176 L5178 -label L5176 +brif 73 L5233 L5235 +label L5233 load 74 __for_iter_399 load 75 __for_idx_399 call 76 pith_list_get_value unknown 2 74 75 @@ -172825,8 +173188,8 @@ field 84 83 0 string kind strref 85 m46s603 call 86 pith_cstring_eq bool 2 84 85 call 87 pith_cstring_release void 1 85 -brif 86 L5180 L5181 -label L5180 +brif 86 L5237 L5238 +label L5237 load 88 target load 89 node call 90 ir_emitter_core_ir_type_alias_target string 1 89 @@ -172836,47 +173199,47 @@ load 92 target call 93 string_len int 1 92 iconst 94 0 gt 95 93 94 -brif 95 L5183 L5184 -label L5183 +brif 95 L5240 L5241 +label L5240 load 96 ir_alias_registry_ir_type_aliases load 97 node field 98 97 8 string value load 99 target call 100 map_insert void 3 96 98 99 -jmp L5182 -label L5184 -label L5182 -jmp L5179 -label L5181 +jmp L5239 +label L5241 +label L5239 +jmp L5236 +label L5238 load 101 node field 102 101 0 string kind call 103 ir_generics_ir_is_fn_decl_kind bool 1 102 -brif 103 L5185 L5186 -label L5185 +brif 103 L5242 L5243 +label L5242 load 104 node call 105 ir_emitter_core_ir_record_function_return void 1 104 load 106 node call 107 ir_generics_ir_has_generic_params bool 1 106 -brif 107 L5188 L5189 -label L5188 +brif 107 L5245 L5246 +label L5245 load 108 __loopvar_399_item_idx load 109 node strref 110 m46s82 call 111 ir_generics_ir_record_generic_function_decl void 3 108 109 110 call 112 pith_cstring_release void 1 110 -jmp L5187 -label L5189 -label L5187 -jmp L5179 -label L5186 -label L5179 -label L5177 +jmp L5244 +label L5246 +label L5244 +jmp L5236 +label L5243 +label L5236 +label L5234 load 113 __for_idx_399 iconst 114 1 add 115 113 114 store __for_idx_399 115 -jmp L5175 -label L5178 +jmp L5232 +label L5235 load 116 __for_iter_399 call 117 pith_list_release_handle void 1 116 load 118 module_path @@ -172915,13 +173278,13 @@ call 19 map_clear void 1 18 call 20 ir_emitter_core_ir_register_known_import_structs void 0 iconst 21 0 store iface_i 21 -label L5190 +label L5247 load 22 iface_i load 23 ir_emitter_core_ir_preloaded_import_roots call 24 pith_list_len int 1 23 lt 25 22 24 -brif 25 L5191 L5192 -label L5191 +brif 25 L5248 L5249 +label L5248 load 26 ir_emitter_core_ir_preloaded_import_roots load 27 iface_i call 28 pith_list_get_value_strict int 2 26 27 @@ -172934,21 +173297,21 @@ load 34 iface_i iconst 35 1 add 36 34 35 store iface_i 36 -jmp L5190 -label L5192 +jmp L5247 +label L5249 load 37 root_idx call 38 ir_emitter_core_ir_index_interfaces_in_root void 1 37 load 39 root_idx call 40 ir_emitter_core_ir_collect_assoc_bindings_in_root void 1 39 iconst 41 0 store preload_i 41 -label L5193 +label L5250 load 42 preload_i load 43 ir_emitter_core_ir_preloaded_import_roots call 44 pith_list_len int 1 43 lt 45 42 44 -brif 45 L5194 L5195 -label L5194 +brif 45 L5251 L5252 +label L5251 load 46 ir_emitter_core_ir_preloaded_import_roots load 47 preload_i call 48 pith_list_get_value_strict int 2 46 47 @@ -172965,8 +173328,8 @@ load 58 preload_i iconst 59 1 add 60 58 59 store preload_i 60 -jmp L5193 -label L5195 +jmp L5250 +label L5252 load 61 root_idx call 62 ir_tree_cache_ir_root_items list 1 61 call 63 pith_auto_len int 1 62 @@ -172974,12 +173337,12 @@ iconst 64 0 store __for_idx_400 64 store __for_len_400 63 store __for_iter_400 62 -label L5196 +label L5253 load 65 __for_idx_400 load 66 __for_len_400 lt 67 65 66 -brif 67 L5197 L5199 -label L5197 +brif 67 L5254 L5256 +label L5254 load 68 __for_iter_400 load 69 __for_idx_400 call 70 pith_list_get_value unknown 2 68 69 @@ -172990,77 +173353,77 @@ call 73 ast_get_node struct:Node 1 72 call 74 pith_struct_release void 1 71 store node 73 iconst 75 0 -store __or_75_5203 75 +store __or_75_5260 75 load 76 node field 77 76 0 string kind strref 78 m46s31 call 79 pith_cstring_eq bool 2 77 78 call 80 pith_cstring_release void 1 78 -store __or_75_5203 79 -brif 79 L5204 L5203 -label L5203 +store __or_75_5260 79 +brif 79 L5261 L5260 +label L5260 load 81 node field 82 81 0 string kind strref 83 m46s15 call 84 pith_cstring_eq bool 2 82 83 call 85 pith_cstring_release void 1 83 -store __or_75_5203 84 -label L5204 -load 86 __or_75_5203 -brif 86 L5201 L5202 -label L5201 +store __or_75_5260 84 +label L5261 +load 86 __or_75_5260 +brif 86 L5258 L5259 +label L5258 load 87 __loopvar_400_item_idx load 88 node iconst 89 1 call 90 ir_emitter_core_ir_collect_struct_decl void 3 87 88 89 -jmp L5200 -label L5202 +jmp L5257 +label L5259 iconst 91 0 -store __or_91_5207 91 +store __or_91_5264 91 load 92 node field 93 92 0 string kind strref 94 m46s30 call 95 pith_cstring_eq bool 2 93 94 call 96 pith_cstring_release void 1 94 -store __or_91_5207 95 -brif 95 L5208 L5207 -label L5207 +store __or_91_5264 95 +brif 95 L5265 L5264 +label L5264 load 97 node field 98 97 0 string kind strref 99 m46s14 call 100 pith_cstring_eq bool 2 98 99 call 101 pith_cstring_release void 1 99 -store __or_91_5207 100 -label L5208 -load 102 __or_91_5207 -brif 102 L5205 L5206 -label L5205 +store __or_91_5264 100 +label L5265 +load 102 __or_91_5264 +brif 102 L5262 L5263 +label L5262 load 103 node iconst 104 1 call 105 ir_emitter_core_ir_collect_enum_decl void 2 103 104 -jmp L5200 -label L5206 +jmp L5257 +label L5263 load 106 node field 107 106 0 string kind strref 108 m46s588 call 109 pith_cstring_eq bool 2 107 108 call 110 pith_cstring_release void 1 108 -brif 109 L5209 L5210 -label L5209 +brif 109 L5266 L5267 +label L5266 load 111 node strref 112 m46s82 call 113 ir_emitter_core_ir_collect_impl_method_signatures void 2 111 112 call 114 pith_cstring_release void 1 112 -jmp L5200 -label L5210 -label L5200 -label L5198 +jmp L5257 +label L5267 +label L5257 +label L5255 load 115 __for_idx_400 iconst 116 1 add 117 115 116 store __for_idx_400 117 -jmp L5196 -label L5199 +jmp L5253 +label L5256 load 118 __for_iter_400 call 119 pith_list_release_handle void 1 118 load 120 root_idx @@ -173115,12 +173478,12 @@ iconst 7 0 store __for_idx_401 7 store __for_len_401 6 store __for_iter_401 5 -label L5211 +label L5268 load 8 __for_idx_401 load 9 __for_len_401 lt 10 8 9 -brif 10 L5212 L5214 -label L5212 +brif 10 L5269 L5271 +label L5269 load 11 __for_iter_401 load 12 __for_idx_401 call 13 pith_list_get_value unknown 2 11 12 @@ -173137,24 +173500,24 @@ field 20 19 0 string kind strref 21 m46s577 call 22 pith_cstring_eq bool 2 20 21 call 23 pith_cstring_release void 1 21 -brif 22 L5216 L5217 -label L5216 +brif 22 L5273 L5274 +label L5273 load 24 node field 25 24 16 list children iconst 26 0 call 27 pith_list_get_value_strict int 2 25 26 call 28 ast_get_node struct:Node 1 27 store actual_node 28 -jmp L5215 -label L5217 -label L5215 +jmp L5272 +label L5274 +label L5272 load 29 actual_node field 30 29 0 string kind strref 31 m46s588 call 32 pith_cstring_eq bool 2 30 31 call 33 pith_cstring_release void 1 31 -brif 32 L5219 L5220 -label L5219 +brif 32 L5276 L5277 +label L5276 load 34 impl_type load 35 actual_node call 36 ir_emitter_core_ir_impl_target_type string 1 35 @@ -173164,24 +173527,24 @@ load 38 impl_type call 39 string_len int 1 38 iconst 40 0 gt 41 39 40 -brif 41 L5222 L5223 -label L5222 +brif 41 L5279 L5280 +label L5279 load 42 actual_node load 43 impl_type call 44 ir_emitter_core_ir_register_impl_method_specialization_names void 2 42 43 -jmp L5221 -label L5223 -label L5221 -jmp L5218 -label L5220 -label L5218 -label L5213 +jmp L5278 +label L5280 +label L5278 +jmp L5275 +label L5277 +label L5275 +label L5270 load 45 __for_idx_401 iconst 46 1 add 47 45 46 store __for_idx_401 47 -jmp L5211 -label L5214 +jmp L5268 +label L5271 load 48 __for_iter_401 call 49 pith_list_release_handle void 1 48 load 50 node @@ -173212,8 +173575,8 @@ load 9 impl_type call 10 checker_has_generic_declaration bool 1 9 iconst 12 1 sub 11 12 10 -brif 11 L5225 L5226 -label L5225 +brif 11 L5282 L5283 +label L5282 load 13 sdecl call 14 pith_struct_release void 1 13 load 15 struct_params @@ -173230,8 +173593,8 @@ load 25 child_node call 26 pith_struct_release void 1 25 iconst 27 0 ret 27 -label L5226 -label L5224 +label L5283 +label L5281 load 28 sdecl load 29 impl_type call 30 checker_get_generic_declaration_index int 1 29 @@ -173247,8 +173610,8 @@ load 37 struct_params call 38 pith_list_len int 1 37 iconst 39 0 eq 40 38 39 -brif 40 L5228 L5229 -label L5228 +brif 40 L5285 L5286 +label L5285 load 41 sdecl call 42 pith_struct_release void 1 41 load 43 struct_params @@ -173265,8 +173628,8 @@ load 53 child_node call 54 pith_struct_release void 1 53 iconst 55 0 ret 55 -label L5229 -label L5227 +label L5286 +label L5284 load 56 instance_tids load 57 checker_struct_instance_tids call 58 pith_list_retain_handle void 1 57 @@ -173278,12 +173641,12 @@ iconst 62 0 store __for_idx_402 62 store __for_len_402 61 store __for_iter_402 60 -label L5230 +label L5287 load 63 __for_idx_402 load 64 __for_len_402 lt 65 63 64 -brif 65 L5231 L5233 -label L5231 +brif 65 L5288 L5290 +label L5288 load 66 __for_iter_402 load 67 __for_idx_402 call 68 pith_list_get_value unknown 2 66 67 @@ -173295,21 +173658,21 @@ load 72 impl_type call 74 pith_cstring_eq bool 2 71 72 iconst 75 1 sub 73 75 74 -brif 73 L5235 L5236 -label L5235 -jmp L5232 -label L5236 -label L5234 +brif 73 L5292 L5293 +label L5292 +jmp L5289 +label L5293 +label L5291 load 76 checker_struct_instance_type_args load 77 __loopvar_402_inst_tid call 78 map_contains_ikey bool 2 76 77 iconst 80 1 sub 79 80 78 -brif 79 L5238 L5239 -label L5238 -jmp L5232 -label L5239 -label L5237 +brif 79 L5295 L5296 +label L5295 +jmp L5289 +label L5296 +label L5294 load 81 arg_tids load 82 checker_struct_instance_type_args load 83 __loopvar_402_inst_tid @@ -173327,12 +173690,12 @@ iconst 92 0 store __for_idx_403 92 store __for_len_403 91 store __for_iter_403 90 -label L5240 +label L5297 load 93 __for_idx_403 load 94 __for_len_403 lt 95 93 94 -brif 95 L5241 L5243 -label L5241 +brif 95 L5298 L5300 +label L5298 load 96 __for_iter_403 load 97 __for_idx_403 call 98 pith_list_get_value unknown 2 96 97 @@ -173341,13 +173704,13 @@ load 99 arg_names load 100 __loopvar_403_at call 101 ir_type_helpers_ir_type_from_tid string 1 100 call 102 pith_list_push_value_owned void 2 99 101 -label L5242 +label L5299 load 103 __for_idx_403 iconst 104 1 add 105 103 104 store __for_idx_403 105 -jmp L5240 -label L5243 +jmp L5297 +label L5300 load 106 instance_type_name load 107 __loopvar_402_inst_tid call 108 types_get_type_name string 1 107 @@ -173360,12 +173723,12 @@ iconst 113 0 store __for_idx_404 113 store __for_len_404 112 store __for_iter_404 111 -label L5244 +label L5301 load 114 __for_idx_404 load 115 __for_len_404 lt 116 114 115 -brif 116 L5245 L5247 -label L5245 +brif 116 L5302 L5304 +label L5302 load 117 __for_iter_404 load 118 __for_idx_404 call 119 pith_list_get_value unknown 2 117 118 @@ -173380,30 +173743,30 @@ field 125 124 0 string kind strref 126 m46s576 call 127 pith_cstring_eq bool 2 125 126 call 128 pith_cstring_release void 1 126 -brif 127 L5249 L5250 -label L5249 +brif 127 L5306 L5307 +label L5306 load 129 child_node load 130 impl_type load 131 instance_type_name load 132 arg_names call 133 ir_method_tables_ir_register_one_specialized_method_name void 4 129 130 131 132 -jmp L5248 -label L5250 -label L5248 -label L5246 +jmp L5305 +label L5307 +label L5305 +label L5303 load 134 __for_idx_404 iconst 135 1 add 136 134 135 store __for_idx_404 136 -jmp L5244 -label L5247 -label L5232 +jmp L5301 +label L5304 +label L5289 load 137 __for_idx_402 iconst 138 1 add 139 137 138 store __for_idx_402 139 -jmp L5230 -label L5233 +jmp L5287 +label L5290 load 140 sdecl call 141 pith_struct_release void 1 140 load 142 struct_params @@ -173453,13 +173816,13 @@ call 8 pith_struct_release void 1 5 store root 7 iconst 9 0 store preload_i 9 -label L5251 +label L5308 load 10 preload_i load 11 ir_emitter_core_ir_preloaded_import_roots call 12 pith_list_len int 1 11 lt 13 10 12 -brif 13 L5252 L5253 -label L5252 +brif 13 L5309 L5310 +label L5309 load 14 ir_emitter_core_ir_preloaded_import_roots load 15 preload_i call 16 pith_list_get_value_strict int 2 14 15 @@ -173472,16 +173835,16 @@ load 22 preload_i iconst 23 1 add 24 22 23 store preload_i 24 -jmp L5251 -label L5253 +jmp L5308 +label L5310 load 25 root_idx call 26 ir_emitter_core_ir_collect_strings void 1 25 load 27 root_idx call 28 ir_emitter_core_ir_collect_struct_field_strings void 1 27 call 29 ir_emitter_core_ir_preseed_result_error_strings void 0 load 30 ir_emitter_core_ir_emit_tests -brif 30 L5255 L5256 -label L5255 +brif 30 L5312 L5313 +label L5312 load 31 root_idx call 32 ir_emitter_core_ir_collect_test_decls list 1 31 call 33 pith_auto_len int 1 32 @@ -173489,12 +173852,12 @@ iconst 34 0 store __for_idx_405 34 store __for_len_405 33 store __for_iter_405 32 -label L5257 +label L5314 load 35 __for_idx_405 load 36 __for_len_405 lt 37 35 36 -brif 37 L5258 L5260 -label L5258 +brif 37 L5315 L5317 +label L5315 load 38 __for_iter_405 load 39 __for_idx_405 call 40 pith_list_get_value unknown 2 38 39 @@ -173506,18 +173869,18 @@ field 44 43 8 string value call 45 ir_builder_ir_str string 1 44 call 46 pith_cstring_release void 1 41 store _name_id 45 -label L5259 +label L5316 load 47 __for_idx_405 iconst 48 1 add 49 47 48 store __for_idx_405 49 -jmp L5257 -label L5260 +jmp L5314 +label L5317 load 50 __for_iter_405 call 51 pith_list_release_handle void 1 50 -jmp L5254 -label L5256 -label L5254 +jmp L5311 +label L5313 +label L5311 call 52 ir_builder_ir_emit_string_table void 0 load 53 root_idx call 54 ir_emitter_core_ir_collect_root_import_metadata void 1 53