Files
cell/boot/fd.cm.mcode
2026-02-15 22:55:11 -06:00

903 lines
29 KiB
Plaintext

{
"name": "fd.cm",
"functions": [
{
"disruption_pc": 0,
"nr_slots": 4,
"nr_close_slots": 0,
"instructions": [
["put", 2, 3, 1, 7, 12],
["return", 1, 8, 12],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "<anonymous>",
"filename": "fd.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 10,
"nr_close_slots": 0,
"instructions": [
["null", 3, 5, 14],
["function", 4, 0, 6, 21],
["access", 6, {"name":"replace","kind":"name","make":"intrinsic"}, 6, 3],
["frame", 7, 6, 3, 6, 3],
["null", 8, 6, 3],
["setarg", 7, 0, 8, 6, 3],
["setarg", 7, 1, 1, 6, 3],
["setarg", 7, 2, 2, 6, 3],
["setarg", 7, 3, 4, 6, 3],
["invoke", 7, 5, 6, 3],
["return", 3, 10, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "last_pos",
"filename": "fd.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 27,
"nr_close_slots": 0,
"instructions": [
["regexp", 5, "\\/+$", "", 15, 25],
["access", 6, "", 15, 33],
["access", 8, {"name":"replace","kind":"name","make":"intrinsic"}, 15, 11],
["frame", 9, 8, 3, 15, 11],
["null", 10, 15, 11],
["setarg", 9, 0, 10, 15, 11],
["setarg", 9, 1, 1, 15, 11],
["setarg", 9, 2, 5, 15, 11],
["setarg", 9, 3, 6, 15, 11],
["invoke", 9, 7, 15, 11],
["move", 3, 7, 15, 11],
["regexp", 11, "^\\/+", "", 16, 24],
["access", 12, "", 16, 32],
["access", 14, {"name":"replace","kind":"name","make":"intrinsic"}, 16, 11],
["frame", 15, 14, 3, 16, 11],
["null", 16, 16, 11],
["setarg", 15, 0, 16, 16, 11],
["setarg", 15, 1, 2, 16, 11],
["setarg", 15, 2, 11, 16, 11],
["setarg", 15, 3, 12, 16, 11],
["invoke", 15, 13, 16, 11],
["move", 4, 13, 16, 11],
"_nop_bl_1",
["jump_true", 3, "if_else_0", 17, 8],
["return", 4, 17, 18],
"_nop_ur_1",
"if_else_0",
"if_end_1",
"_nop_bl_2",
["jump_true", 4, "if_else_2", 18, 8],
["return", 3, 18, 18],
"_nop_ur_2",
"if_else_2",
"if_end_3",
["access", 19, "/", 19, 14],
["is_text", 21, 3, 19, 14],
["jump_false", 21, "add_cn_5", 19, 14],
"_nop_tc_1",
"_nop_tc_2",
["concat", 20, 3, 19, 19, 14],
["jump", "add_done_4", 19, 14],
"add_cn_5",
["is_num", 21, 3, 19, 14],
["jump_false", 21, "add_err_6", 19, 14],
"_nop_tc_3",
["jump", "add_err_6", 19, 14],
["add", 20, 3, 19, 19, 14],
["jump", "add_done_4", 19, 14],
"add_err_6",
["disrupt", 19, 14],
"add_done_4",
["is_text", 24, 20, 19, 20],
["jump_false", 24, "add_cn_8", 19, 20],
["is_text", 25, 4, 19, 20],
["jump_false", 25, "add_cn_8", 19, 20],
["concat", 23, 20, 4, 19, 20],
["jump", "add_done_7", 19, 20],
"add_cn_8",
["is_num", 24, 20, 19, 20],
["jump_false", 24, "add_err_9", 19, 20],
["is_num", 25, 4, 19, 20],
["jump_false", 25, "add_err_9", 19, 20],
["add", 23, 20, 4, 19, 20],
["jump", "add_done_7", 19, 20],
"add_err_9",
["disrupt", 19, 20],
"add_done_7",
["return", 23, 19, 20],
"_nop_ur_3",
"_nop_ur_4"
],
"name": "join_paths",
"filename": "fd.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 21,
"nr_close_slots": 0,
"instructions": [
["access", 3, "/", 24, 29],
["get", 5, 3, 1, 24, 14],
["frame", 6, 5, 2, 24, 14],
["null", 7, 24, 14],
["setarg", 6, 0, 7, 24, 14],
["setarg", 6, 1, 1, 24, 14],
["setarg", 6, 2, 3, 24, 14],
["invoke", 6, 4, 24, 14],
["move", 2, 4, 24, 14],
["null", 8, 25, 15],
["is_identical", 9, 2, 8, 25, 15],
["jump_true", 9, "eq_done_12", 25, 15],
["is_int", 10, 2, 25, 15],
["jump_false", 10, "eq_ni_13", 25, 15],
"_nop_tc_1",
["jump", "eq_ni_13", 25, 15],
["eq_int", 9, 2, 8, 25, 15],
["jump", "eq_done_12", 25, 15],
"eq_ni_13",
["is_num", 10, 2, 25, 15],
["jump_false", 10, "eq_nn_14", 25, 15],
"_nop_tc_2",
["jump", "eq_nn_14", 25, 15],
["eq_float", 9, 2, 8, 25, 15],
["jump", "eq_done_12", 25, 15],
"eq_nn_14",
["is_text", 10, 2, 25, 15],
["jump_false", 10, "eq_nt_15", 25, 15],
"_nop_tc_3",
["jump", "eq_nt_15", 25, 15],
["eq_text", 9, 2, 8, 25, 15],
["jump", "eq_done_12", 25, 15],
"eq_nt_15",
["is_null", 10, 2, 25, 15],
["jump_false", 10, "eq_nnl_16", 25, 15],
"_nop_tc_4",
"_nop_tc_5",
["true", 9, 25, 15],
["jump", "eq_done_12", 25, 15],
"eq_nnl_16",
["is_bool", 10, 2, 25, 15],
["jump_false", 10, "eq_nb_17", 25, 15],
"_nop_tc_6",
["jump", "eq_nb_17", 25, 15],
["eq_bool", 9, 2, 8, 25, 15],
["jump", "eq_done_12", 25, 15],
"eq_nb_17",
["false", 9, 25, 15],
"eq_done_12",
["jump_false", 9, "if_else_10", 25, 15],
["return", 1, 25, 28],
"_nop_ur_1",
"if_else_10",
"if_end_11",
["access", 12, 1, 26, 26],
["is_text", 14, 2, 26, 26],
["jump_false", 14, "add_cn_19", 26, 26],
"_nop_tc_7",
["jump", "add_cn_19", 26, 26],
["concat", 13, 2, 12, 26, 26],
["jump", "add_done_18", 26, 26],
"add_cn_19",
["is_num", 14, 2, 26, 26],
["jump_false", 14, "add_err_20", 26, 26],
"_nop_tc_8",
"_nop_tc_9",
["add", 13, 2, 12, 26, 26],
["jump", "add_done_18", 26, 26],
"add_err_20",
["disrupt", 26, 26],
"add_done_18",
["access", 17, {"name":"text","kind":"name","make":"intrinsic"}, 26, 10],
["frame", 18, 17, 2, 26, 10],
["null", 19, 26, 10],
["setarg", 18, 0, 19, 26, 10],
["setarg", 18, 1, 1, 26, 10],
["setarg", 18, 2, 13, 26, 10],
["tail_invoke", 18, 16, 26, 10],
["return", 16, 26, 10],
"_nop_ur_2",
"_nop_ur_3"
],
"name": "basename",
"filename": "fd.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 19,
"nr_close_slots": 0,
"instructions": [
["access", 3, "/", 30, 29],
["get", 5, 3, 1, 30, 14],
["frame", 6, 5, 2, 30, 14],
["null", 7, 30, 14],
["setarg", 6, 0, 7, 30, 14],
["setarg", 6, 1, 1, 30, 14],
["setarg", 6, 2, 3, 30, 14],
["invoke", 6, 4, 30, 14],
["move", 2, 4, 30, 14],
["null", 8, 31, 15],
["is_identical", 9, 2, 8, 31, 15],
["jump_true", 9, "eq_done_23", 31, 15],
["is_int", 10, 2, 31, 15],
["jump_false", 10, "eq_ni_24", 31, 15],
"_nop_tc_1",
["jump", "eq_ni_24", 31, 15],
["eq_int", 9, 2, 8, 31, 15],
["jump", "eq_done_23", 31, 15],
"eq_ni_24",
["is_num", 10, 2, 31, 15],
["jump_false", 10, "eq_nn_25", 31, 15],
"_nop_tc_2",
["jump", "eq_nn_25", 31, 15],
["eq_float", 9, 2, 8, 31, 15],
["jump", "eq_done_23", 31, 15],
"eq_nn_25",
["is_text", 10, 2, 31, 15],
["jump_false", 10, "eq_nt_26", 31, 15],
"_nop_tc_3",
["jump", "eq_nt_26", 31, 15],
["eq_text", 9, 2, 8, 31, 15],
["jump", "eq_done_23", 31, 15],
"eq_nt_26",
["is_null", 10, 2, 31, 15],
["jump_false", 10, "eq_nnl_27", 31, 15],
"_nop_tc_4",
"_nop_tc_5",
["true", 9, 31, 15],
["jump", "eq_done_23", 31, 15],
"eq_nnl_27",
["is_bool", 10, 2, 31, 15],
["jump_false", 10, "eq_nb_28", 31, 15],
"_nop_tc_6",
["jump", "eq_nb_28", 31, 15],
["eq_bool", 9, 2, 8, 31, 15],
["jump", "eq_done_23", 31, 15],
"eq_nb_28",
["false", 9, 31, 15],
"eq_done_23",
["jump_false", 9, "if_else_21", 31, 15],
["access", 12, "", 31, 28],
["return", 12, 31, 28],
"_nop_ur_1",
"if_else_21",
"if_end_22",
["access", 13, 0, 32, 20],
["access", 15, {"name":"text","kind":"name","make":"intrinsic"}, 32, 10],
["frame", 16, 15, 3, 32, 10],
["null", 17, 32, 10],
["setarg", 16, 0, 17, 32, 10],
["setarg", 16, 1, 1, 32, 10],
["setarg", 16, 2, 13, 32, 10],
["setarg", 16, 3, 2, 32, 10],
["tail_invoke", 16, 14, 32, 10],
["return", 14, 32, 10],
"_nop_ur_2",
"_nop_ur_3"
],
"name": "dirname",
"filename": "fd.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 18,
"nr_close_slots": 0,
"instructions": [
["access", 3, ".", 36, 29],
["get", 5, 3, 1, 36, 14],
["frame", 6, 5, 2, 36, 14],
["null", 7, 36, 14],
["setarg", 6, 0, 7, 36, 14],
["setarg", 6, 1, 1, 36, 14],
["setarg", 6, 2, 3, 36, 14],
["invoke", 6, 4, 36, 14],
["move", 2, 4, 36, 14],
["null", 8, 37, 15],
["is_identical", 9, 2, 8, 37, 15],
["jump_true", 9, "eq_done_31", 37, 15],
["is_int", 10, 2, 37, 15],
["jump_false", 10, "eq_ni_32", 37, 15],
"_nop_tc_1",
["jump", "eq_ni_32", 37, 15],
["eq_int", 9, 2, 8, 37, 15],
["jump", "eq_done_31", 37, 15],
"eq_ni_32",
["is_num", 10, 2, 37, 15],
["jump_false", 10, "eq_nn_33", 37, 15],
"_nop_tc_2",
["jump", "eq_nn_33", 37, 15],
["eq_float", 9, 2, 8, 37, 15],
["jump", "eq_done_31", 37, 15],
"eq_nn_33",
["is_text", 10, 2, 37, 15],
["jump_false", 10, "eq_nt_34", 37, 15],
"_nop_tc_3",
["jump", "eq_nt_34", 37, 15],
["eq_text", 9, 2, 8, 37, 15],
["jump", "eq_done_31", 37, 15],
"eq_nt_34",
["is_null", 10, 2, 37, 15],
["jump_false", 10, "eq_nnl_35", 37, 15],
"_nop_tc_4",
"_nop_tc_5",
["true", 9, 37, 15],
["jump", "eq_done_31", 37, 15],
"eq_nnl_35",
["is_bool", 10, 2, 37, 15],
["jump_false", 10, "eq_nb_36", 37, 15],
"_nop_tc_6",
["jump", "eq_nb_36", 37, 15],
["eq_bool", 9, 2, 8, 37, 15],
["jump", "eq_done_31", 37, 15],
"eq_nb_36",
["false", 9, 37, 15],
"eq_done_31",
["jump_false", 9, "if_else_29", 37, 15],
["return", 1, 37, 28],
"_nop_ur_1",
"if_else_29",
"if_end_30",
["access", 12, 0, 38, 20],
["access", 14, {"name":"text","kind":"name","make":"intrinsic"}, 38, 10],
["frame", 15, 14, 3, 38, 10],
["null", 16, 38, 10],
["setarg", 15, 0, 16, 38, 10],
["setarg", 15, 1, 1, 38, 10],
["setarg", 15, 2, 12, 38, 10],
["setarg", 15, 3, 2, 38, 10],
["tail_invoke", 15, 13, 38, 10],
["return", 13, 38, 10],
"_nop_ur_2",
"_nop_ur_3"
],
"name": "stem",
"filename": "fd.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 28,
"nr_close_slots": 0,
"instructions": [
["access", 2, "!", 49, 26],
["access", 4, {"name":"starts_with","kind":"name","make":"intrinsic"}, 49, 11],
["frame", 5, 4, 2, 49, 11],
["null", 6, 49, 11],
["setarg", 5, 0, 6, 49, 11],
["setarg", 5, 1, 1, 49, 11],
["setarg", 5, 2, 2, 49, 11],
["invoke", 5, 3, 49, 11],
["move", 7, 3, 49, 11],
["jump_false", 7, "and_end_47", 49, 11],
["access", 8, 1, 49, 57],
["access", 10, {"name":"text","kind":"name","make":"intrinsic"}, 49, 49],
["frame", 11, 10, 2, 49, 49],
["null", 12, 49, 49],
["setarg", 11, 0, 12, 49, 49],
["setarg", 11, 1, 1, 49, 49],
["setarg", 11, 2, 8, 49, 49],
["invoke", 11, 9, 49, 49],
["get", 13, 1, 1, 49, 61],
["get", 14, 4, 3, 49, 67],
["load_field", 15, 14, "WM_WILDSTAR", 49, 67],
["get", 17, 4, 3, 49, 34],
["is_proxy", 18, 17, 49, 34],
["jump_false", 18, "record_path_48", 49, 34],
["null", 19, 49, 34],
["access", 20, "match", 49, 34],
["array", 21, 0, 49, 34],
["push", 21, 9, 49, 34],
["push", 21, 13, 49, 34],
["push", 21, 15, 49, 34],
["frame", 22, 17, 2, 49, 34],
["setarg", 22, 0, 19, 49, 34],
["setarg", 22, 1, 20, 49, 34],
["setarg", 22, 2, 21, 49, 34],
["invoke", 22, 16, 49, 34],
["jump", "call_done_49", 49, 34],
"record_path_48",
["load_field", 23, 17, "match", 49, 34],
["frame", 24, 23, 3, 49, 34],
["setarg", 24, 0, 17, 49, 34],
["setarg", 24, 1, 9, 49, 34],
["setarg", 24, 2, 13, 49, 34],
["setarg", 24, 3, 15, 49, 34],
["invoke", 24, 16, 49, 34],
"call_done_49",
["move", 7, 16, 49, 34],
"and_end_47",
["jump_false", 7, "if_else_45", 49, 34],
["true", 25, 50, 17],
["put", 25, 2, 1, 50, 17],
["true", 26, 51, 16],
["return", 26, 51, 16],
"_nop_ur_1",
"if_else_45",
"if_end_46",
["null", 27, 51, 16],
["return", 27, 51, 16]
],
"name": "<anonymous>",
"filename": "fd.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 12,
"nr_close_slots": 0,
"instructions": [
["false", 2, 47, 17],
["get", 3, 1, 1, 48, 12],
["function", 4, 6, 48, 19],
["null", 5, 53, 8],
["true", 6, 53, 14],
["access", 8, {"name":"arrfor","kind":"name","make":"intrinsic"}, 48, 5],
["frame", 9, 8, 4, 48, 5],
["null", 10, 48, 5],
["setarg", 9, 0, 10, 48, 5],
["setarg", 9, 1, 3, 48, 5],
["setarg", 9, 2, 4, 48, 5],
["setarg", 9, 3, 5, 48, 5],
["setarg", 9, 4, 6, 48, 5],
["invoke", 9, 7, 48, 5],
["return", 2, 54, 12],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "check_neg",
"filename": "fd.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 24,
"nr_close_slots": 0,
"instructions": [
["access", 2, "!", 60, 27],
["access", 4, {"name":"starts_with","kind":"name","make":"intrinsic"}, 60, 12],
["frame", 5, 4, 2, 60, 12],
["null", 6, 60, 12],
["setarg", 5, 0, 6, 60, 12],
["setarg", 5, 1, 1, 60, 12],
["setarg", 5, 2, 2, 60, 12],
["invoke", 5, 3, 60, 12],
["not", 7, 3, 60, 12],
["move", 8, 7, 60, 12],
["jump_false", 8, "and_end_52", 60, 12],
["get", 9, 1, 1, 60, 53],
["get", 10, 4, 3, 60, 59],
["load_field", 11, 10, "WM_WILDSTAR", 60, 59],
["get", 13, 4, 3, 60, 35],
["is_proxy", 14, 13, 60, 35],
["jump_false", 14, "record_path_53", 60, 35],
["null", 15, 60, 35],
["access", 16, "match", 60, 35],
["array", 17, 0, 60, 35],
["push", 17, 1, 60, 35],
["push", 17, 9, 60, 35],
["push", 17, 11, 60, 35],
["frame", 18, 13, 2, 60, 35],
["setarg", 18, 0, 15, 60, 35],
["setarg", 18, 1, 16, 60, 35],
["setarg", 18, 2, 17, 60, 35],
["invoke", 18, 12, 60, 35],
["jump", "call_done_54", 60, 35],
"record_path_53",
["load_field", 19, 13, "match", 60, 35],
["frame", 20, 19, 3, 60, 35],
["setarg", 20, 0, 13, 60, 35],
["setarg", 20, 1, 1, 60, 35],
["setarg", 20, 2, 9, 60, 35],
["setarg", 20, 3, 11, 60, 35],
["invoke", 20, 12, 60, 35],
"call_done_54",
["move", 8, 12, 60, 35],
"and_end_52",
["jump_false", 8, "if_else_50", 60, 35],
["true", 21, 61, 17],
["put", 21, 2, 1, 61, 17],
["true", 22, 62, 16],
["return", 22, 62, 16],
"_nop_ur_1",
"if_else_50",
"if_end_51",
["null", 23, 62, 16],
["return", 23, 62, 16]
],
"name": "<anonymous>",
"filename": "fd.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 12,
"nr_close_slots": 0,
"instructions": [
["false", 2, 58, 17],
["get", 3, 1, 1, 59, 12],
["function", 4, 8, 59, 19],
["null", 5, 64, 8],
["true", 6, 64, 14],
["access", 8, {"name":"arrfor","kind":"name","make":"intrinsic"}, 59, 5],
["frame", 9, 8, 4, 59, 5],
["null", 10, 59, 5],
["setarg", 9, 0, 10, 59, 5],
["setarg", 9, 1, 3, 59, 5],
["setarg", 9, 2, 4, 59, 5],
["setarg", 9, 3, 5, 59, 5],
["setarg", 9, 4, 6, 59, 5],
["invoke", 9, 7, 59, 5],
["return", 2, 65, 12],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "check_pos",
"filename": "fd.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 52,
"nr_close_slots": 0,
"instructions": [
["get", 5, 2, 1, 75, 22],
["jump_false", 5, "tern_else_62", 75, 22],
["get", 7, 2, 1, 75, 35],
["access", 8, "/", 75, 48],
["is_text", 10, 7, 75, 48],
["jump_false", 10, "add_cn_65", 75, 48],
"_nop_tc_1",
"_nop_tc_2",
["concat", 9, 7, 8, 75, 48],
["jump", "add_done_64", 75, 48],
"add_cn_65",
["is_num", 10, 7, 75, 48],
["jump_false", 10, "add_err_66", 75, 48],
"_nop_tc_3",
["jump", "add_err_66", 75, 48],
["add", 9, 7, 8, 75, 48],
["jump", "add_done_64", 75, 48],
"add_err_66",
["disrupt", 75, 48],
"add_done_64",
["is_text", 13, 9, 75, 54],
["jump_false", 13, "add_cn_68", 75, 54],
["is_text", 14, 1, 75, 54],
["jump_false", 14, "add_cn_68", 75, 54],
["concat", 12, 9, 1, 75, 54],
["jump", "add_done_67", 75, 54],
"add_cn_68",
["is_num", 13, 9, 75, 54],
["jump_false", 13, "add_err_69", 75, 54],
["is_num", 14, 1, 75, 54],
["jump_false", 14, "add_err_69", 75, 54],
["add", 12, 9, 1, 75, 54],
["jump", "add_done_67", 75, 54],
"add_err_69",
["disrupt", 75, 54],
"add_done_67",
["move", 6, 12, 75, 54],
["jump", "tern_end_63", 75, 54],
"tern_else_62",
["move", 6, 1, 75, 61],
"tern_end_63",
["move", 3, 6, 75, 61],
["get", 15, 1, 1, 77, 35],
["get", 17, 2, 3, 77, 24],
["frame", 18, 17, 2, 77, 24],
["null", 19, 77, 24],
["setarg", 18, 0, 19, 77, 24],
["setarg", 18, 1, 15, 77, 24],
["setarg", 18, 2, 1, 77, 24],
["invoke", 18, 16, 77, 24],
["move", 2, 16, 77, 24],
["get", 21, 1, 3, 78, 16],
["is_proxy", 22, 21, 78, 16],
["jump_false", 22, "record_path_70", 78, 16],
["null", 23, 78, 16],
["access", 24, "stat", 78, 16],
["array", 25, 0, 78, 16],
["push", 25, 2, 78, 16],
["frame", 26, 21, 2, 78, 16],
["setarg", 26, 0, 23, 78, 16],
["setarg", 26, 1, 24, 78, 16],
["setarg", 26, 2, 25, 78, 16],
["invoke", 26, 20, 78, 16],
["jump", "call_done_71", 78, 16],
"record_path_70",
["load_field", 27, 21, "stat", 78, 16],
["frame", 28, 27, 1, 78, 16],
["setarg", 28, 0, 21, 78, 16],
["setarg", 28, 1, 2, 78, 16],
["invoke", 28, 20, 78, 16],
"call_done_71",
["move", 4, 20, 78, 16],
["load_field", 29, 4, "isDirectory", 80, 11],
["jump_false", 29, "if_else_72", 80, 11],
["get", 31, 4, 2, 81, 14],
["frame", 32, 31, 1, 81, 14],
["null", 33, 81, 14],
["setarg", 32, 0, 33, 81, 14],
["setarg", 32, 1, 3, 81, 14],
["invoke", 32, 30, 81, 14],
"_nop_bl_1",
["jump_true", 30, "if_else_74", 81, 14],
["get", 36, 8, 2, 82, 11],
["frame", 37, 36, 2, 82, 11],
["null", 38, 82, 11],
["setarg", 37, 0, 38, 82, 11],
["setarg", 37, 1, 2, 82, 11],
["setarg", 37, 2, 3, 82, 11],
["invoke", 37, 35, 82, 11],
["jump", "if_end_75", 82, 11],
"if_else_74",
"if_end_75",
["jump", "if_end_73", 82, 11],
"if_else_72",
["get", 40, 4, 2, 85, 14],
["frame", 41, 40, 1, 85, 14],
["null", 42, 85, 14],
["setarg", 41, 0, 42, 85, 14],
["setarg", 41, 1, 3, 85, 14],
["invoke", 41, 39, 85, 14],
["not", 43, 39, 85, 14],
["move", 44, 43, 85, 14],
["jump_false", 44, "and_end_78", 85, 14],
["get", 46, 5, 2, 85, 37],
["frame", 47, 46, 1, 85, 37],
["null", 48, 85, 37],
["setarg", 47, 0, 48, 85, 37],
["setarg", 47, 1, 3, 85, 37],
["invoke", 47, 45, 85, 37],
["move", 44, 45, 85, 37],
"and_end_78",
["jump_false", 44, "if_else_76", 85, 37],
["get", 49, 6, 2, 86, 16],
["is_array", 50, 49, 86, 25],
["jump_false", 50, "push_err_79", 86, 25],
["push", 49, 3, 86, 25],
["jump", "push_done_80", 86, 25],
"push_err_79",
["disrupt", 86, 25],
"push_done_80",
["jump", "if_end_77", 86, 25],
"if_else_76",
"if_end_77",
"if_end_73",
["null", 51, 86, 25],
["return", 51, 86, 25]
],
"name": "<anonymous>",
"filename": "fd.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 32,
"nr_close_slots": 0,
"instructions": [
["move", 4, 2, 69, 9],
["jump_false", 4, "and_end_57", 69, 9],
["get", 6, 4, 1, 69, 23],
["frame", 7, 6, 1, 69, 23],
["null", 8, 69, 23],
["setarg", 7, 0, 8, 69, 23],
["setarg", 7, 1, 2, 69, 23],
["invoke", 7, 5, 69, 23],
["move", 4, 5, 69, 23],
"and_end_57",
["jump_false", 4, "if_else_55", 69, 23],
["null", 9, 69, 46],
["return", 9, 69, 46],
"_nop_ur_1",
"if_else_55",
"if_end_56",
["get", 11, 1, 2, 71, 16],
["is_proxy", 12, 11, 71, 16],
["jump_false", 12, "record_path_58", 71, 16],
["null", 13, 71, 16],
["access", 14, "readdir", 71, 16],
["array", 15, 0, 71, 16],
["push", 15, 1, 71, 16],
["frame", 16, 11, 2, 71, 16],
["setarg", 16, 0, 13, 71, 16],
["setarg", 16, 1, 14, 71, 16],
["setarg", 16, 2, 15, 71, 16],
["invoke", 16, 10, 71, 16],
["jump", "call_done_59", 71, 16],
"record_path_58",
["load_field", 17, 11, "readdir", 71, 16],
["frame", 18, 17, 1, 71, 16],
["setarg", 18, 0, 11, 71, 16],
["setarg", 18, 1, 1, 71, 16],
["invoke", 18, 10, 71, 16],
"call_done_59",
["move", 3, 10, 71, 16],
"_nop_bl_1",
["jump_true", 3, "if_else_60", 72, 10],
["null", 20, 72, 16],
["return", 20, 72, 16],
"_nop_ur_2",
"if_else_60",
"if_end_61",
["function", 21, 10, 74, 18],
["length", 23, 3, 74, 18],
["int", 24, 0, 74, 18],
["int", 28, 1, 74, 18],
["null", 27, 74, 18],
"arrfor_loop_81",
["lt_int", 25, 24, 23, 74, 18],
["jump_false", 25, "arrfor_done_82", 74, 18],
["load_index", 26, 3, 24, 74, 18],
["frame", 29, 21, 2, 74, 18],
["setarg", 29, 0, 27, 74, 18],
["setarg", 29, 1, 26, 74, 18],
["setarg", 29, 2, 24, 74, 18],
["invoke", 29, 30, 74, 18],
["add", 24, 24, 28, 74, 18],
["jump", "arrfor_loop_81", 74, 18],
"arrfor_done_82",
["null", 22, 74, 18],
["null", 31, 74, 18],
["return", 31, 74, 18]
],
"name": "visit",
"filename": "fd.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 34,
"nr_close_slots": 0,
"instructions": [
["move", 3, 2, 42, 14],
["null", 9, 43, 15],
["is_identical", 10, 3, 9, 43, 15],
["jump_true", 10, "eq_done_39", 43, 15],
["is_int", 11, 3, 43, 15],
["jump_false", 11, "eq_ni_40", 43, 15],
"_nop_tc_1",
["jump", "eq_ni_40", 43, 15],
["eq_int", 10, 3, 9, 43, 15],
["jump", "eq_done_39", 43, 15],
"eq_ni_40",
["is_num", 11, 3, 43, 15],
["jump_false", 11, "eq_nn_41", 43, 15],
"_nop_tc_2",
["jump", "eq_nn_41", 43, 15],
["eq_float", 10, 3, 9, 43, 15],
["jump", "eq_done_39", 43, 15],
"eq_nn_41",
["is_text", 11, 3, 43, 15],
["jump_false", 11, "eq_nt_42", 43, 15],
"_nop_tc_3",
["jump", "eq_nt_42", 43, 15],
["eq_text", 10, 3, 9, 43, 15],
["jump", "eq_done_39", 43, 15],
"eq_nt_42",
["is_null", 11, 3, 43, 15],
["jump_false", 11, "eq_nnl_43", 43, 15],
"_nop_tc_4",
"_nop_tc_5",
["true", 10, 43, 15],
["jump", "eq_done_39", 43, 15],
"eq_nnl_43",
["is_bool", 11, 3, 43, 15],
["jump_false", 11, "eq_nb_44", 43, 15],
"_nop_tc_6",
["jump", "eq_nb_44", 43, 15],
["eq_bool", 10, 3, 9, 43, 15],
["jump", "eq_done_39", 43, 15],
"eq_nb_44",
["false", 10, 43, 15],
"eq_done_39",
["jump_false", 10, "if_else_37", 43, 15],
["access", 13, ".", 43, 28],
["move", 3, 13, 43, 28],
["jump", "if_end_38", 43, 28],
"if_else_37",
"if_end_38",
["array", 14, 0, 44, 17],
["move", 6, 14, 44, 17],
["function", 15, 7, 46, 3],
["move", 4, 15, 46, 3],
["function", 16, 9, 57, 3],
["move", 5, 16, 57, 3],
["function", 17, 11, 68, 3],
["move", 8, 17, 68, 3],
["get", 19, 1, 1, 92, 12],
["is_proxy", 20, 19, 92, 12],
["jump_false", 20, "record_path_83", 92, 12],
["null", 21, 92, 12],
["access", 22, "stat", 92, 12],
["array", 23, 0, 92, 12],
["push", 23, 3, 92, 12],
["frame", 24, 19, 2, 92, 12],
["setarg", 24, 0, 21, 92, 12],
["setarg", 24, 1, 22, 92, 12],
["setarg", 24, 2, 23, 92, 12],
["invoke", 24, 18, 92, 12],
["jump", "call_done_84", 92, 12],
"record_path_83",
["load_field", 25, 19, "stat", 92, 12],
["frame", 26, 25, 1, 92, 12],
["setarg", 26, 0, 19, 92, 12],
["setarg", 26, 1, 3, 92, 12],
["invoke", 26, 18, 92, 12],
"call_done_84",
["move", 7, 18, 92, 12],
["move", 27, 7, 93, 7],
["jump_false", 27, "and_end_87", 93, 7],
["load_field", 28, 7, "isDirectory", 93, 13],
["move", 27, 28, 93, 13],
"and_end_87",
["jump_false", 27, "if_else_85", 93, 13],
["access", 29, "", 94, 17],
["frame", 31, 8, 2, 94, 5],
["null", 32, 94, 5],
["setarg", 31, 0, 32, 94, 5],
["setarg", 31, 1, 3, 94, 5],
["setarg", 31, 2, 29, 94, 5],
["invoke", 31, 30, 94, 5],
["jump", "if_end_86", 94, 5],
"if_else_85",
"if_end_86",
["return", 6, 97, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "<anonymous>",
"filename": "fd.cm",
"nr_args": 2
}
],
"main": {
"nr_slots": 22,
"nr_close_slots": 0,
"instructions": [
["function", 5, 1, 0, 0],
["move", 3, 5, 0, 0],
["function", 6, 2, 0, 0],
["move", 2, 6, 0, 0],
["access", 7, "internal/fd", 1, 14],
["access", 9, {"name":"use","kind":"name","make":"intrinsic"}, 1, 10],
["frame", 10, 9, 1, 1, 10],
["null", 11, 1, 10],
["setarg", 10, 0, 11, 1, 10],
["setarg", 10, 1, 7, 1, 10],
["invoke", 10, 8, 1, 10],
["move", 1, 8, 1, 10],
["access", 12, "wildstar", 2, 20],
["access", 14, {"name":"use","kind":"name","make":"intrinsic"}, 2, 16],
["frame", 15, 14, 1, 2, 16],
["null", 16, 2, 16],
["setarg", 15, 0, 16, 2, 16],
["setarg", 15, 1, 12, 2, 16],
["invoke", 15, 13, 2, 16],
["move", 4, 13, 2, 16],
["store_field", 1, 2, "join_paths", 22, 1],
["function", 17, 3, 23, 15],
["store_field", 1, 17, "basename", 23, 1],
["function", 18, 4, 29, 14],
["store_field", 1, 18, "dirname", 29, 1],
["function", 19, 5, 35, 11],
["store_field", 1, 19, "stem", 35, 1],
["function", 20, 12, 41, 13],
["store_field", 1, 20, "globfs", 41, 1],
["return", 1, 100, 8],
"_nop_ur_1",
"_nop_ur_2"
],
"nr_args": 0
},
"filename": "fd.cm",
"data": {}
}