{ "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": 23, "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 ], [ "add", 20, 3, 19, 19, 14 ], [ "add", 21, 20, 4, 19, 20 ], [ "return", 21, 19, 20 ], "_nop_ur_3", "_nop_ur_4" ], "name": "join_paths", "filename": "fd.cm", "nr_args": 2 }, { "disruption_pc": 0, "nr_slots": 19, "nr_close_slots": 0, "instructions": [ [ "access", 3, "/", 24, 29 ], [ "get", 5, 4, 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_6", 25, 15 ], [ "is_int", 10, 2, 25, 15 ], [ "jump_false", 10, "eq_ni_7", 25, 15 ], "_nop_tc_1", [ "jump", "eq_ni_7", 25, 15 ], [ "eq_int", 9, 2, 8, 25, 15 ], [ "jump", "eq_done_6", 25, 15 ], "eq_ni_7", [ "is_num", 10, 2, 25, 15 ], [ "jump_false", 10, "eq_nn_8", 25, 15 ], "_nop_tc_2", [ "jump", "eq_nn_8", 25, 15 ], [ "eq_float", 9, 2, 8, 25, 15 ], [ "jump", "eq_done_6", 25, 15 ], "eq_nn_8", [ "is_text", 10, 2, 25, 15 ], [ "jump_false", 10, "eq_nt_9", 25, 15 ], "_nop_tc_3", [ "jump", "eq_nt_9", 25, 15 ], [ "eq_text", 9, 2, 8, 25, 15 ], [ "jump", "eq_done_6", 25, 15 ], "eq_nt_9", [ "is_null", 10, 2, 25, 15 ], [ "jump_false", 10, "eq_nnl_10", 25, 15 ], "_nop_tc_4", "_nop_tc_5", [ "true", 9, 25, 15 ], [ "jump", "eq_done_6", 25, 15 ], "eq_nnl_10", [ "is_bool", 10, 2, 25, 15 ], [ "jump_false", 10, "eq_nb_11", 25, 15 ], "_nop_tc_6", [ "jump", "eq_nb_11", 25, 15 ], [ "eq_bool", 9, 2, 8, 25, 15 ], [ "jump", "eq_done_6", 25, 15 ], "eq_nb_11", [ "false", 9, 25, 15 ], "eq_done_6", [ "jump_false", 9, "if_else_4", 25, 15 ], [ "return", 1, 25, 28 ], "_nop_ur_1", "if_else_4", "if_end_5", [ "access", 12, 1, 26, 26 ], [ "add", 13, 2, 12, 26, 26 ], [ "access", 15, { "name": "text", "kind": "name", "make": "intrinsic" }, 26, 10 ], [ "frame", 16, 15, 2, 26, 10 ], [ "null", 17, 26, 10 ], [ "setarg", 16, 0, 17, 26, 10 ], [ "setarg", 16, 1, 1, 26, 10 ], [ "setarg", 16, 2, 13, 26, 10 ], [ "tail_invoke", 16, 14, 26, 10 ], [ "return", 14, 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, 4, 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_14", 31, 15 ], [ "is_int", 10, 2, 31, 15 ], [ "jump_false", 10, "eq_ni_15", 31, 15 ], "_nop_tc_1", [ "jump", "eq_ni_15", 31, 15 ], [ "eq_int", 9, 2, 8, 31, 15 ], [ "jump", "eq_done_14", 31, 15 ], "eq_ni_15", [ "is_num", 10, 2, 31, 15 ], [ "jump_false", 10, "eq_nn_16", 31, 15 ], "_nop_tc_2", [ "jump", "eq_nn_16", 31, 15 ], [ "eq_float", 9, 2, 8, 31, 15 ], [ "jump", "eq_done_14", 31, 15 ], "eq_nn_16", [ "is_text", 10, 2, 31, 15 ], [ "jump_false", 10, "eq_nt_17", 31, 15 ], "_nop_tc_3", [ "jump", "eq_nt_17", 31, 15 ], [ "eq_text", 9, 2, 8, 31, 15 ], [ "jump", "eq_done_14", 31, 15 ], "eq_nt_17", [ "is_null", 10, 2, 31, 15 ], [ "jump_false", 10, "eq_nnl_18", 31, 15 ], "_nop_tc_4", "_nop_tc_5", [ "true", 9, 31, 15 ], [ "jump", "eq_done_14", 31, 15 ], "eq_nnl_18", [ "is_bool", 10, 2, 31, 15 ], [ "jump_false", 10, "eq_nb_19", 31, 15 ], "_nop_tc_6", [ "jump", "eq_nb_19", 31, 15 ], [ "eq_bool", 9, 2, 8, 31, 15 ], [ "jump", "eq_done_14", 31, 15 ], "eq_nb_19", [ "false", 9, 31, 15 ], "eq_done_14", [ "jump_false", 9, "if_else_12", 31, 15 ], [ "access", 12, "", 31, 28 ], [ "return", 12, 31, 28 ], "_nop_ur_1", "if_else_12", "if_end_13", [ "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, 4, 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_22", 37, 15 ], [ "is_int", 10, 2, 37, 15 ], [ "jump_false", 10, "eq_ni_23", 37, 15 ], "_nop_tc_1", [ "jump", "eq_ni_23", 37, 15 ], [ "eq_int", 9, 2, 8, 37, 15 ], [ "jump", "eq_done_22", 37, 15 ], "eq_ni_23", [ "is_num", 10, 2, 37, 15 ], [ "jump_false", 10, "eq_nn_24", 37, 15 ], "_nop_tc_2", [ "jump", "eq_nn_24", 37, 15 ], [ "eq_float", 9, 2, 8, 37, 15 ], [ "jump", "eq_done_22", 37, 15 ], "eq_nn_24", [ "is_text", 10, 2, 37, 15 ], [ "jump_false", 10, "eq_nt_25", 37, 15 ], "_nop_tc_3", [ "jump", "eq_nt_25", 37, 15 ], [ "eq_text", 9, 2, 8, 37, 15 ], [ "jump", "eq_done_22", 37, 15 ], "eq_nt_25", [ "is_null", 10, 2, 37, 15 ], [ "jump_false", 10, "eq_nnl_26", 37, 15 ], "_nop_tc_4", "_nop_tc_5", [ "true", 9, 37, 15 ], [ "jump", "eq_done_22", 37, 15 ], "eq_nnl_26", [ "is_bool", 10, 2, 37, 15 ], [ "jump_false", 10, "eq_nb_27", 37, 15 ], "_nop_tc_6", [ "jump", "eq_nb_27", 37, 15 ], [ "eq_bool", 9, 2, 8, 37, 15 ], [ "jump", "eq_done_22", 37, 15 ], "eq_nb_27", [ "false", 9, 37, 15 ], "eq_done_22", [ "jump_false", 9, "if_else_20", 37, 15 ], [ "return", 1, 37, 28 ], "_nop_ur_1", "if_else_20", "if_end_21", [ "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": 31, "nr_close_slots": 0, "instructions": [ [ "move", 4, 2, 42, 14 ], [ "null", 9, 43, 15 ], [ "is_identical", 10, 4, 9, 43, 15 ], [ "jump_true", 10, "eq_done_30", 43, 15 ], [ "is_int", 11, 4, 43, 15 ], [ "jump_false", 11, "eq_ni_31", 43, 15 ], "_nop_tc_1", [ "jump", "eq_ni_31", 43, 15 ], [ "eq_int", 10, 4, 9, 43, 15 ], [ "jump", "eq_done_30", 43, 15 ], "eq_ni_31", [ "is_num", 11, 4, 43, 15 ], [ "jump_false", 11, "eq_nn_32", 43, 15 ], "_nop_tc_2", [ "jump", "eq_nn_32", 43, 15 ], [ "eq_float", 10, 4, 9, 43, 15 ], [ "jump", "eq_done_30", 43, 15 ], "eq_nn_32", [ "is_text", 11, 4, 43, 15 ], [ "jump_false", 11, "eq_nt_33", 43, 15 ], "_nop_tc_3", [ "jump", "eq_nt_33", 43, 15 ], [ "eq_text", 10, 4, 9, 43, 15 ], [ "jump", "eq_done_30", 43, 15 ], "eq_nt_33", [ "is_null", 11, 4, 43, 15 ], [ "jump_false", 11, "eq_nnl_34", 43, 15 ], "_nop_tc_4", "_nop_tc_5", [ "true", 10, 43, 15 ], [ "jump", "eq_done_30", 43, 15 ], "eq_nnl_34", [ "is_bool", 11, 4, 43, 15 ], [ "jump_false", 11, "eq_nb_35", 43, 15 ], "_nop_tc_6", [ "jump", "eq_nb_35", 43, 15 ], [ "eq_bool", 10, 4, 9, 43, 15 ], [ "jump", "eq_done_30", 43, 15 ], "eq_nb_35", [ "false", 10, 43, 15 ], "eq_done_30", [ "jump_false", 10, "if_else_28", 43, 15 ], [ "access", 13, ".", 43, 28 ], [ "move", 4, 13, 43, 28 ], [ "jump", "if_end_29", 43, 28 ], "if_else_28", "if_end_29", [ "array", 14, 0, 44, 17 ], [ "move", 6, 14, 44, 17 ], [ "get", 16, 2, 1, 92, 12 ], [ "is_proxy", 17, 16, 92, 12 ], [ "jump_false", 17, "record_path_36", 92, 12 ], [ "null", 18, 92, 12 ], [ "access", 19, "stat", 92, 12 ], [ "array", 20, 0, 92, 12 ], [ "push", 20, 4, 92, 12 ], [ "frame", 21, 16, 2, 92, 12 ], [ "setarg", 21, 0, 18, 92, 12 ], [ "setarg", 21, 1, 19, 92, 12 ], [ "setarg", 21, 2, 20, 92, 12 ], [ "invoke", 21, 15, 92, 12 ], [ "jump", "call_done_37", 92, 12 ], "record_path_36", [ "load_field", 22, 16, "stat", 92, 12 ], [ "frame", 23, 22, 1, 92, 12 ], [ "setarg", 23, 0, 16, 92, 12 ], [ "setarg", 23, 1, 4, 92, 12 ], [ "invoke", 23, 15, 92, 12 ], "call_done_37", [ "move", 8, 15, 92, 12 ], [ "move", 24, 8, 93, 7 ], [ "jump_false", 24, "and_end_40", 93, 7 ], [ "load_field", 25, 8, "isDirectory", 93, 13 ], [ "move", 24, 25, 93, 13 ], "and_end_40", [ "jump_false", 24, "if_else_38", 93, 13 ], [ "access", 26, "", 94, 17 ], [ "frame", 28, 3, 2, 94, 5 ], [ "null", 29, 94, 5 ], [ "setarg", 28, 0, 29, 94, 5 ], [ "setarg", 28, 1, 4, 94, 5 ], [ "setarg", 28, 2, 26, 94, 5 ], [ "invoke", 28, 27, 94, 5 ], [ "jump", "if_end_39", 94, 5 ], "if_else_38", "if_end_39", [ "return", 6, 97, 10 ], "_nop_ur_1", "_nop_ur_2" ], "name": "", "filename": "fd.cm", "nr_args": 2 } ], "main": { "nr_args": 0, "nr_close_slots": 0, "nr_slots": 22, "instructions": [ [ "function", 5, 1, 0, 0 ], [ "move", 4, 5, 0, 0 ], [ "function", 6, 2, 0, 0 ], [ "move", 1, 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", 2, 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", 3, 13, 2, 16 ], [ "store_field", 2, 1, "join_paths", 22, 1 ], [ "function", 17, 3, 23, 15 ], [ "store_field", 2, 17, "basename", 23, 1 ], [ "function", 18, 4, 29, 14 ], [ "store_field", 2, 18, "dirname", 29, 1 ], [ "function", 19, 5, 35, 11 ], [ "store_field", 2, 19, "stem", 35, 1 ], [ "function", 20, 6, 41, 13 ], [ "store_field", 2, 20, "globfs", 41, 1 ], [ "return", 2, 100, 8 ], "_nop_ur_1", "_nop_ur_2" ] }, "filename": "fd.cm", "data": {} }