{ "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": "", "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": "", "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": "", "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": "", "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": "", "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": {} }