Files
cell/boot/seed_bootstrap.cm.mcode

1344 lines
39 KiB
Plaintext

{
"name": "boot/seed_bootstrap.cm",
"functions": [
{
"disruption_pc": 0,
"nr_slots": 24,
"nr_close_slots": 0,
"instructions": [
["get", 3, 1, 1, 16, 7],
["load_dynamic", 4, 3, 1, 16, 17],
["jump_false", 4, "if_else_0", 16, 17],
["get", 5, 1, 1, 17, 12],
["load_dynamic", 6, 5, 1, 17, 22],
["return", 6, 17, 22],
"_nop_ur_1",
"if_else_0",
"if_end_1",
["access", 7, "js_core_", 18, 30],
["access", 8, "/", 18, 57],
["access", 9, "_", 18, 62],
[
"access",
11,
{
"name": "replace",
"kind": "name",
"make": "intrinsic"
},
18,
43
],
["frame", 12, 11, 3, 18, 43],
["null", 13, 18, 43],
["setarg", 12, 0, 13, 18, 43],
["setarg", 12, 1, 1, 18, 43],
["setarg", 12, 2, 8, 18, 43],
["setarg", 12, 3, 9, 18, 43],
["invoke", 12, 10, 18, 43],
["add", 14, 7, 10, 18, 43],
["access", 15, "_use", 18, 69],
["add", 16, 14, 15, 18, 69],
["get", 18, 9, 1, 18, 16],
["frame", 19, 18, 1, 18, 16],
["null", 20, 18, 16],
["setarg", 19, 0, 20, 18, 16],
["setarg", 19, 1, 16, 18, 16],
["invoke", 19, 17, 18, 16],
["move", 2, 17, 18, 16],
["jump_false", 2, "if_else_2", 19, 7],
["get", 21, 1, 1, 20, 5],
["store_dynamic", 21, 2, 1, 20, 15],
["return", 2, 21, 12],
"_nop_ur_2",
"if_else_2",
"if_end_3",
["null", 22, 23, 10],
["return", 22, 23, 10],
"_nop_ur_3",
"_nop_ur_4"
],
"name": "use_basic",
"filename": "boot/seed_bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 48,
"nr_close_slots": 0,
"instructions": [
[
"access",
4,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
28,
20
],
["access", 5, "/boot/", 28, 32],
["add", 6, 4, 5, 28, 32],
["add", 7, 6, 1, 28, 43],
["access", 8, ".cm.mcode", 28, 50],
["add", 9, 7, 8, 28, 50],
["move", 2, 9, 28, 50],
["null", 3, 29, 20],
["get", 11, 3, 1, 30, 8],
["is_proxy", 12, 11, 30, 8],
["jump_false", 12, "record_path_6", 30, 8],
["null", 13, 30, 8],
["access", 14, "is_file", 30, 8],
["array", 15, 0, 30, 8],
["push", 15, 2, 30, 8],
["frame", 16, 11, 2, 30, 8],
["setarg", 16, 0, 13, 30, 8],
["setarg", 16, 1, 14, 30, 8],
["setarg", 16, 2, 15, 30, 8],
["invoke", 16, 10, 30, 8],
["jump", "call_done_7", 30, 8],
"record_path_6",
["load_field", 17, 11, "is_file", 30, 8],
["frame", 18, 17, 1, 30, 8],
["setarg", 18, 0, 11, 30, 8],
["setarg", 18, 1, 2, 30, 8],
["invoke", 18, 10, 30, 8],
"call_done_7",
"_nop_bl_1",
["jump_true", 10, "if_else_4", 30, 8],
["access", 20, "seed: missing boot mcode: ", 31, 11],
["add", 21, 20, 2, 31, 42],
["access", 22, "\n", 31, 55],
["add", 23, 21, 22, 31, 55],
[
"access",
25,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
31,
5
],
["frame", 26, 25, 1, 31, 5],
["null", 27, 31, 5],
["setarg", 26, 0, 27, 31, 5],
["setarg", 26, 1, 23, 31, 5],
["invoke", 26, 24, 31, 5],
["disrupt", 32, 5],
["jump", "if_end_5", 32, 5],
"if_else_4",
"if_end_5",
["get", 29, 3, 1, 34, 21],
["is_proxy", 30, 29, 34, 21],
["jump_false", 30, "record_path_8", 34, 21],
["null", 31, 34, 21],
["access", 32, "slurp", 34, 21],
["array", 33, 0, 34, 21],
["push", 33, 2, 34, 21],
["frame", 34, 29, 2, 34, 21],
["setarg", 34, 0, 31, 34, 21],
["setarg", 34, 1, 32, 34, 21],
["setarg", 34, 2, 33, 34, 21],
["invoke", 34, 28, 34, 21],
["jump", "call_done_9", 34, 21],
"record_path_8",
["load_field", 35, 29, "slurp", 34, 21],
["frame", 36, 35, 1, 34, 21],
["setarg", 36, 0, 29, 34, 21],
["setarg", 36, 1, 2, 34, 21],
["invoke", 36, 28, 34, 21],
"call_done_9",
[
"access",
38,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
34,
16
],
["frame", 39, 38, 1, 34, 16],
["null", 40, 34, 16],
["setarg", 39, 0, 40, 34, 16],
["setarg", 39, 1, 28, 34, 16],
["invoke", 39, 37, 34, 16],
["move", 3, 37, 34, 16],
["record", 41, 0],
["get", 42, 19, 1, 35, 50],
["store_field", 41, 42, "use", 35, 50],
[
"access",
44,
{
"name": "mach_eval_mcode",
"kind": "name",
"make": "intrinsic"
},
35,
10
],
["frame", 45, 44, 3, 35, 10],
["null", 46, 35, 10],
["setarg", 45, 0, 46, 35, 10],
["setarg", 45, 1, 1, 35, 10],
["setarg", 45, 2, 3, 35, 10],
["setarg", 45, 3, 41, 35, 10],
["tail_invoke", 45, 43, 35, 10],
["return", 43, 35, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "boot_load",
"filename": "boot/seed_bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 81,
"nr_close_slots": 0,
"instructions": [
["get", 9, 6, 1, 51, 20],
["frame", 10, 9, 2, 51, 20],
["null", 11, 51, 20],
["setarg", 10, 0, 11, 51, 20],
["setarg", 10, 1, 1, 51, 20],
["setarg", 10, 2, 2, 51, 20],
["invoke", 10, 8, 51, 20],
["move", 3, 8, 51, 20],
["load_field", 12, 3, "tokens", 52, 23],
["get", 13, 6, 1, 52, 57],
["get", 15, 4, 1, 52, 13],
["frame", 16, 15, 4, 52, 13],
["null", 17, 52, 13],
["setarg", 16, 0, 17, 52, 13],
["setarg", 16, 1, 12, 52, 13],
["setarg", 16, 2, 1, 52, 13],
["setarg", 16, 3, 2, 52, 13],
["setarg", 16, 4, 13, 52, 13],
["invoke", 16, 14, 52, 13],
["move", 5, 14, 52, 13],
["access", 7, 0, 53, 12],
["null", 6, 54, 11],
["load_field", 18, 5, "errors", 55, 20],
["null", 19, 55, 34],
["is_identical", 20, 18, 19, 55, 34],
["jump_true", 20, "ne_nid_12", 55, 34],
["jump", "ne_ni_13", 55, 34],
"ne_nid_12",
["false", 20, 55, 34],
["jump", "ne_done_11", 55, 34],
"ne_ni_13",
["is_int", 21, 18, 55, 34],
["jump_false", 21, "ne_nn_14", 55, 34],
"_nop_tc_1",
["jump", "ne_nn_14", 55, 34],
["ne_int", 20, 18, 19, 55, 34],
["jump", "ne_done_11", 55, 34],
"ne_nn_14",
["is_num", 21, 18, 55, 34],
["jump_false", 21, "ne_nt_15", 55, 34],
"_nop_tc_2",
["jump", "ne_nt_15", 55, 34],
["ne_float", 20, 18, 19, 55, 34],
["jump", "ne_done_11", 55, 34],
"ne_nt_15",
["is_text", 21, 18, 55, 34],
["jump_false", 21, "ne_nnl_16", 55, 34],
"_nop_tc_3",
["jump", "ne_nnl_16", 55, 34],
["ne_text", 20, 18, 19, 55, 34],
["jump", "ne_done_11", 55, 34],
"ne_nnl_16",
["is_null", 21, 18, 55, 34],
["jump_false", 21, "ne_nb_17", 55, 34],
"_nop_tc_4",
"_nop_tc_5",
["false", 20, 55, 34],
["jump", "ne_done_11", 55, 34],
"ne_nb_17",
["is_bool", 21, 18, 55, 34],
["jump_false", 21, "ne_mis_18", 55, 34],
"_nop_tc_6",
["jump", "ne_mis_18", 55, 34],
["ne_bool", 20, 18, 19, 55, 34],
["jump", "ne_done_11", 55, 34],
"ne_mis_18",
["true", 20, 55, 34],
"ne_done_11",
["move", 23, 20, 55, 34],
["jump_false", 23, "and_end_10", 55, 34],
["load_field", 24, 5, "errors", 55, 49],
["length", 25, 24, 55, 49],
["access", 26, 0, 55, 63],
"_nop_tc_7",
"_nop_tc_8",
"_nop_tc_9",
["jump", "rel_ni_19", 55, 63],
["gt_int", 27, 25, 26, 55, 63],
["jump", "rel_done_21", 55, 63],
"rel_ni_19",
"_nop_tc_10",
"_nop_tc_11",
"_nop_tc_12",
"_nop_tc_13",
["gt_float", 27, 25, 26, 55, 63],
["jump", "rel_done_21", 55, 63],
"rel_nn_20",
"_nop_tc_14",
["jump", "rel_err_22", 55, 63],
"_nop_tc_15",
["jump", "rel_err_22", 55, 63],
["gt_text", 27, 25, 26, 55, 63],
["jump", "rel_done_21", 55, 63],
"rel_err_22",
["disrupt", 55, 63],
"rel_done_21",
["move", 23, 27, 55, 63],
"and_end_10",
["move", 4, 23, 55, 63],
["jump_false", 4, "if_else_23", 56, 7],
"while_start_25",
["load_field", 30, 5, "errors", 57, 24],
["length", 31, 30, 57, 24],
["is_int", 33, 7, 57, 24],
["jump_false", 33, "rel_ni_27", 57, 24],
"_nop_tc_16",
"_nop_tc_17",
["lt_int", 32, 7, 31, 57, 24],
["jump", "rel_done_29", 57, 24],
"rel_ni_27",
["is_num", 33, 7, 57, 24],
["jump_false", 33, "rel_nn_28", 57, 24],
"_nop_tc_18",
"_nop_tc_19",
["lt_float", 32, 7, 31, 57, 24],
["jump", "rel_done_29", 57, 24],
"rel_nn_28",
["is_text", 33, 7, 57, 24],
["jump_false", 33, "rel_err_30", 57, 24],
"_nop_tc_20",
["jump", "rel_err_30", 57, 24],
["lt_text", 32, 7, 31, 57, 24],
["jump", "rel_done_29", 57, 24],
"rel_err_30",
["disrupt", 57, 24],
"rel_done_29",
["jump_false", 32, "while_end_26", 57, 24],
["load_field", 35, 5, "errors", 58, 11],
["load_dynamic", 36, 35, 7, 58, 22],
["move", 6, 36, 58, 22],
["load_field", 37, 6, "line", 59, 11],
["null", 38, 59, 21],
["is_identical", 39, 37, 38, 59, 21],
["jump_true", 39, "ne_nid_34", 59, 21],
["jump", "ne_ni_35", 59, 21],
"ne_nid_34",
["false", 39, 59, 21],
["jump", "ne_done_33", 59, 21],
"ne_ni_35",
["is_int", 40, 37, 59, 21],
["jump_false", 40, "ne_nn_36", 59, 21],
"_nop_tc_21",
["jump", "ne_nn_36", 59, 21],
["ne_int", 39, 37, 38, 59, 21],
["jump", "ne_done_33", 59, 21],
"ne_nn_36",
["is_num", 40, 37, 59, 21],
["jump_false", 40, "ne_nt_37", 59, 21],
"_nop_tc_22",
["jump", "ne_nt_37", 59, 21],
["ne_float", 39, 37, 38, 59, 21],
["jump", "ne_done_33", 59, 21],
"ne_nt_37",
["is_text", 40, 37, 59, 21],
["jump_false", 40, "ne_nnl_38", 59, 21],
"_nop_tc_23",
["jump", "ne_nnl_38", 59, 21],
["ne_text", 39, 37, 38, 59, 21],
["jump", "ne_done_33", 59, 21],
"ne_nnl_38",
["is_null", 40, 37, 59, 21],
["jump_false", 40, "ne_nb_39", 59, 21],
"_nop_tc_24",
"_nop_tc_25",
["false", 39, 59, 21],
["jump", "ne_done_33", 59, 21],
"ne_nb_39",
["is_bool", 40, 37, 59, 21],
["jump_false", 40, "ne_mis_40", 59, 21],
"_nop_tc_26",
["jump", "ne_mis_40", 59, 21],
["ne_bool", 39, 37, 38, 59, 21],
["jump", "ne_done_33", 59, 21],
"ne_mis_40",
["true", 39, 59, 21],
"ne_done_33",
["jump_false", 39, "if_else_31", 59, 21],
["load_field", 42, 6, "line", 1, 6],
[
"access",
44,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["frame", 45, 44, 1, 1, 1],
["null", 46, 1, 1],
["setarg", 45, 0, 46, 1, 1],
["setarg", 45, 1, 42, 1, 1],
["invoke", 45, 43, 1, 1],
["load_field", 47, 6, "column", 1, 6],
[
"access",
49,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["frame", 50, 49, 1, 1, 1],
["null", 51, 1, 1],
["setarg", 50, 0, 51, 1, 1],
["setarg", 50, 1, 47, 1, 1],
["invoke", 50, 48, 1, 1],
["load_field", 52, 6, "message", 1, 1],
["array", 53, 0, 1, 1],
["push", 53, 2, 1, 1],
["push", 53, 43, 1, 1],
["push", 53, 48, 1, 1],
["push", 53, 52, 1, 1],
[
"access",
54,
{
"name": "format",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["access", 55, "{0}:{1}:{2}: error: {3}", 1, 1],
["frame", 57, 54, 2, 1, 1],
["null", 58, 1, 1],
["setarg", 57, 0, 58, 1, 1],
["setarg", 57, 1, 55, 1, 1],
["setarg", 57, 2, 53, 1, 1],
["invoke", 57, 56, 1, 1],
[
"access",
60,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
60,
9
],
["frame", 61, 60, 1, 60, 9],
["null", 62, 60, 9],
["setarg", 61, 0, 62, 60, 9],
["setarg", 61, 1, 56, 60, 9],
["invoke", 61, 59, 60, 9],
["jump", "if_end_32", 60, 9],
"if_else_31",
["load_field", 63, 6, "message", 1, 1],
["array", 64, 0, 1, 1],
["push", 64, 2, 1, 1],
["push", 64, 63, 1, 1],
[
"access",
65,
{
"name": "format",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["access", 66, "{0}: error: {1}", 1, 1],
["frame", 68, 65, 2, 1, 1],
["null", 69, 1, 1],
["setarg", 68, 0, 69, 1, 1],
["setarg", 68, 1, 66, 1, 1],
["setarg", 68, 2, 64, 1, 1],
["invoke", 68, 67, 1, 1],
[
"access",
71,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
62,
9
],
["frame", 72, 71, 1, 62, 9],
["null", 73, 62, 9],
["setarg", 72, 0, 73, 62, 9],
["setarg", 72, 1, 67, 62, 9],
["invoke", 72, 70, 62, 9],
"if_end_32",
["access", 74, 1, 64, 17],
["add", 75, 7, 74, 64, 17],
["move", 7, 75, 64, 17],
["jump", "while_start_25", 64, 17],
"while_end_26",
["disrupt", 66, 5],
["jump", "if_end_24", 66, 5],
"if_else_23",
"if_end_24",
["get", 77, 2, 1, 68, 10],
["frame", 78, 77, 1, 68, 10],
["null", 79, 68, 10],
["setarg", 78, 0, 79, 68, 10],
["setarg", 78, 1, 5, 68, 10],
["tail_invoke", 78, 76, 68, 10],
["return", 76, 68, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "analyze",
"filename": "boot/seed_bootstrap.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 29,
"nr_close_slots": 0,
"instructions": [
["get", 8, 7, 1, 72, 18],
["frame", 9, 8, 1, 72, 18],
["null", 10, 72, 18],
["setarg", 9, 0, 10, 72, 18],
["setarg", 9, 1, 2, 72, 18],
["invoke", 9, 7, 72, 18],
["move", 4, 7, 72, 18],
["get", 12, 17, 1, 73, 19],
["frame", 13, 12, 1, 73, 19],
["null", 14, 73, 19],
["setarg", 13, 0, 14, 73, 19],
["setarg", 13, 1, 4, 73, 19],
["invoke", 13, 11, 73, 19],
["move", 6, 11, 73, 19],
[
"access",
16,
{
"name": "json",
"kind": "name",
"make": "intrinsic"
},
74,
20
],
["is_proxy", 17, 16, 74, 20],
["jump_false", 17, "record_path_41", 74, 20],
["null", 18, 74, 20],
["access", 19, "encode", 74, 20],
["array", 20, 0, 74, 20],
["push", 20, 6, 74, 20],
["frame", 21, 16, 2, 74, 20],
["setarg", 21, 0, 18, 74, 20],
["setarg", 21, 1, 19, 74, 20],
["setarg", 21, 2, 20, 74, 20],
["invoke", 21, 15, 74, 20],
["jump", "call_done_42", 74, 20],
"record_path_41",
["load_field", 22, 16, "encode", 74, 20],
["frame", 23, 22, 1, 74, 20],
["setarg", 23, 0, 16, 74, 20],
["setarg", 23, 1, 6, 74, 20],
["invoke", 23, 15, 74, 20],
"call_done_42",
["move", 5, 15, 74, 20],
[
"access",
25,
{
"name": "mach_eval_mcode",
"kind": "name",
"make": "intrinsic"
},
75,
10
],
["frame", 26, 25, 3, 75, 10],
["null", 27, 75, 10],
["setarg", 26, 0, 27, 75, 10],
["setarg", 26, 1, 1, 75, 10],
["setarg", 26, 2, 5, 75, 10],
["setarg", 26, 3, 3, 75, 10],
["tail_invoke", 26, 24, 75, 10],
["return", 24, 75, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "run_ast",
"filename": "boot/seed_bootstrap.cm",
"nr_args": 3
},
{
"disruption_pc": 0,
"nr_slots": 122,
"nr_close_slots": 0,
"instructions": [
["null", 3, 79, 16],
["null", 2, 80, 19],
["null", 4, 81, 16],
["null", 5, 82, 13],
["null", 7, 83, 20],
["null", 6, 84, 20],
["get", 8, 1, 1, 85, 7],
["load_dynamic", 9, 8, 1, 85, 17],
["jump_false", 9, "if_else_43", 85, 17],
["get", 10, 1, 1, 86, 12],
["load_dynamic", 11, 10, 1, 86, 22],
["return", 11, 86, 22],
"_nop_ur_1",
"if_else_43",
"if_end_44",
["access", 12, "js_core_", 89, 26],
["access", 13, "/", 89, 53],
["access", 14, "_", 89, 58],
[
"access",
16,
{
"name": "replace",
"kind": "name",
"make": "intrinsic"
},
89,
39
],
["frame", 17, 16, 3, 89, 39],
["null", 18, 89, 39],
["setarg", 17, 0, 18, 89, 39],
["setarg", 17, 1, 1, 89, 39],
["setarg", 17, 2, 13, 89, 39],
["setarg", 17, 3, 14, 89, 39],
["invoke", 17, 15, 89, 39],
["add", 19, 12, 15, 89, 39],
["access", 20, "_use", 89, 65],
["add", 21, 19, 20, 89, 65],
["get", 23, 9, 1, 89, 12],
["frame", 24, 23, 1, 89, 12],
["null", 25, 89, 12],
["setarg", 24, 0, 25, 89, 12],
["setarg", 24, 1, 21, 89, 12],
["invoke", 24, 22, 89, 12],
["move", 3, 22, 89, 12],
["jump_false", 3, "if_else_45", 90, 7],
["get", 26, 1, 1, 91, 5],
["store_dynamic", 26, 3, 1, 91, 15],
["return", 3, 92, 12],
"_nop_ur_2",
"if_else_45",
"if_end_46",
[
"access",
27,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
96,
16
],
["access", 28, "/boot/", 96, 28],
["add", 29, 27, 28, 96, 28],
["add", 30, 29, 1, 96, 39],
["access", 31, ".cm.mcode", 96, 46],
["add", 32, 30, 31, 96, 46],
["move", 7, 32, 96, 46],
["get", 34, 3, 1, 97, 7],
["is_proxy", 35, 34, 97, 7],
["jump_false", 35, "record_path_49", 97, 7],
["null", 36, 97, 7],
["access", 37, "is_file", 97, 7],
["array", 38, 0, 97, 7],
["push", 38, 7, 97, 7],
["frame", 39, 34, 2, 97, 7],
["setarg", 39, 0, 36, 97, 7],
["setarg", 39, 1, 37, 97, 7],
["setarg", 39, 2, 38, 97, 7],
["invoke", 39, 33, 97, 7],
["jump", "call_done_50", 97, 7],
"record_path_49",
["load_field", 40, 34, "is_file", 97, 7],
["frame", 41, 40, 1, 97, 7],
["setarg", 41, 0, 34, 97, 7],
["setarg", 41, 1, 7, 97, 7],
["invoke", 41, 33, 97, 7],
"call_done_50",
["jump_false", 33, "if_else_47", 97, 7],
["get", 43, 3, 1, 98, 23],
["is_proxy", 44, 43, 98, 23],
["jump_false", 44, "record_path_51", 98, 23],
["null", 45, 98, 23],
["access", 46, "slurp", 98, 23],
["array", 47, 0, 98, 23],
["push", 47, 7, 98, 23],
["frame", 48, 43, 2, 98, 23],
["setarg", 48, 0, 45, 98, 23],
["setarg", 48, 1, 46, 98, 23],
["setarg", 48, 2, 47, 98, 23],
["invoke", 48, 42, 98, 23],
["jump", "call_done_52", 98, 23],
"record_path_51",
["load_field", 49, 43, "slurp", 98, 23],
["frame", 50, 49, 1, 98, 23],
["setarg", 50, 0, 43, 98, 23],
["setarg", 50, 1, 7, 98, 23],
["invoke", 50, 42, 98, 23],
"call_done_52",
[
"access",
52,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
98,
18
],
["frame", 53, 52, 1, 98, 18],
["null", 54, 98, 18],
["setarg", 53, 0, 54, 98, 18],
["setarg", 53, 1, 42, 98, 18],
["invoke", 53, 51, 98, 18],
["move", 6, 51, 98, 18],
["record", 55, 0],
["get", 56, 11, 1, 99, 54],
["store_field", 55, 56, "use", 99, 54],
[
"access",
58,
{
"name": "mach_eval_mcode",
"kind": "name",
"make": "intrinsic"
},
99,
14
],
["frame", 59, 58, 3, 99, 14],
["null", 60, 99, 14],
["setarg", 59, 0, 60, 99, 14],
["setarg", 59, 1, 1, 99, 14],
["setarg", 59, 2, 6, 99, 14],
["setarg", 59, 3, 55, 99, 14],
["invoke", 59, 57, 99, 14],
["move", 3, 57, 99, 14],
["get", 61, 1, 1, 100, 5],
["store_dynamic", 61, 3, 1, 100, 15],
["return", 3, 101, 12],
"_nop_ur_3",
"if_else_47",
"if_end_48",
["access", 62, ".cm", 105, 22],
["add", 63, 1, 62, 105, 22],
["move", 2, 63, 105, 22],
["get", 65, 3, 1, 106, 8],
["is_proxy", 66, 65, 106, 8],
["jump_false", 66, "record_path_55", 106, 8],
["null", 67, 106, 8],
["access", 68, "is_file", 106, 8],
["array", 69, 0, 106, 8],
["push", 69, 2, 106, 8],
["frame", 70, 65, 2, 106, 8],
["setarg", 70, 0, 67, 106, 8],
["setarg", 70, 1, 68, 106, 8],
["setarg", 70, 2, 69, 106, 8],
["invoke", 70, 64, 106, 8],
["jump", "call_done_56", 106, 8],
"record_path_55",
["load_field", 71, 65, "is_file", 106, 8],
["frame", 72, 71, 1, 106, 8],
["setarg", 72, 0, 65, 106, 8],
["setarg", 72, 1, 2, 106, 8],
["invoke", 72, 64, 106, 8],
"call_done_56",
"_nop_bl_1",
["jump_true", 64, "if_else_53", 106, 8],
[
"access",
74,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
107,
17
],
["access", 75, "/", 107, 29],
["add", 76, 74, 75, 107, 29],
["add", 77, 76, 1, 107, 35],
["access", 78, ".cm", 107, 42],
["add", 79, 77, 78, 107, 42],
["move", 2, 79, 107, 42],
["jump", "if_end_54", 107, 42],
"if_else_53",
"if_end_54",
["get", 81, 3, 1, 108, 7],
["is_proxy", 82, 81, 108, 7],
["jump_false", 82, "record_path_59", 108, 7],
["null", 83, 108, 7],
["access", 84, "is_file", 108, 7],
["array", 85, 0, 108, 7],
["push", 85, 2, 108, 7],
["frame", 86, 81, 2, 108, 7],
["setarg", 86, 0, 83, 108, 7],
["setarg", 86, 1, 84, 108, 7],
["setarg", 86, 2, 85, 108, 7],
["invoke", 86, 80, 108, 7],
["jump", "call_done_60", 108, 7],
"record_path_59",
["load_field", 87, 81, "is_file", 108, 7],
["frame", 88, 87, 1, 108, 7],
["setarg", 88, 0, 81, 108, 7],
["setarg", 88, 1, 2, 108, 7],
["invoke", 88, 80, 108, 7],
"call_done_60",
["jump_false", 80, "if_else_57", 108, 7],
["get", 90, 3, 1, 109, 19],
["is_proxy", 91, 90, 109, 19],
["jump_false", 91, "record_path_61", 109, 19],
["null", 92, 109, 19],
["access", 93, "slurp", 109, 19],
["array", 94, 0, 109, 19],
["push", 94, 2, 109, 19],
["frame", 95, 90, 2, 109, 19],
["setarg", 95, 0, 92, 109, 19],
["setarg", 95, 1, 93, 109, 19],
["setarg", 95, 2, 94, 109, 19],
["invoke", 95, 89, 109, 19],
["jump", "call_done_62", 109, 19],
"record_path_61",
["load_field", 96, 90, "slurp", 109, 19],
["frame", 97, 96, 1, 109, 19],
["setarg", 97, 0, 90, 109, 19],
["setarg", 97, 1, 2, 109, 19],
["invoke", 97, 89, 109, 19],
"call_done_62",
[
"access",
99,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
109,
14
],
["frame", 100, 99, 1, 109, 14],
["null", 101, 109, 14],
["setarg", 100, 0, 101, 109, 14],
["setarg", 100, 1, 89, 109, 14],
["invoke", 100, 98, 109, 14],
["move", 4, 98, 109, 14],
["get", 103, 10, 1, 110, 11],
["frame", 104, 103, 2, 110, 11],
["null", 105, 110, 11],
["setarg", 104, 0, 105, 110, 11],
["setarg", 104, 1, 4, 110, 11],
["setarg", 104, 2, 2, 110, 11],
["invoke", 104, 102, 110, 11],
["move", 5, 102, 110, 11],
["record", 106, 0],
["get", 107, 11, 1, 111, 39],
["store_field", 106, 107, "use", 111, 39],
["get", 109, 13, 1, 111, 14],
["frame", 110, 109, 3, 111, 14],
["null", 111, 111, 14],
["setarg", 110, 0, 111, 111, 14],
["setarg", 110, 1, 1, 111, 14],
["setarg", 110, 2, 5, 111, 14],
["setarg", 110, 3, 106, 111, 14],
["invoke", 110, 108, 111, 14],
["move", 3, 108, 111, 14],
["get", 112, 1, 1, 112, 5],
["store_dynamic", 112, 3, 1, 112, 15],
["return", 3, 113, 12],
"_nop_ur_4",
"if_else_57",
"if_end_58",
["access", 113, "seed: module not found: ", 116, 9],
["add", 114, 113, 1, 116, 38],
["access", 115, "\n", 116, 45],
["add", 116, 114, 115, 116, 45],
[
"access",
118,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
116,
3
],
["frame", 119, 118, 1, 116, 3],
["null", 120, 116, 3],
["setarg", 119, 0, 120, 116, 3],
["setarg", 119, 1, 116, 116, 3],
["invoke", 119, 117, 116, 3],
["disrupt", 117, 3],
["null", 121, 117, 3],
["return", 121, 117, 3]
],
"name": "use_fn",
"filename": "boot/seed_bootstrap.cm",
"nr_args": 1
}
],
"main": {
"nr_args": 0,
"nr_close_slots": 0,
"nr_slots": 161,
"instructions": [
["function", 20, 0, 0, 0],
["move", 19, 20, 0, 0],
["function", 21, 1, 0, 0],
["move", 12, 21, 0, 0],
["function", 22, 2, 0, 0],
["move", 10, 22, 0, 0],
["function", 23, 3, 0, 0],
["move", 13, 23, 0, 0],
["function", 24, 4, 0, 0],
["move", 11, 24, 0, 0],
[
"access",
25,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
7,
21
],
["load_field", 26, 25, "load_internal", 7, 21],
["move", 9, 26, 7, 21],
["access", 27, "js_core_internal_fd_use", 8, 24],
["frame", 29, 9, 1, 8, 10],
["null", 30, 8, 10],
["setarg", 29, 0, 30, 8, 10],
["setarg", 29, 1, 27, 8, 10],
["invoke", 29, 28, 8, 10],
["move", 3, 28, 8, 10],
["record", 31, 0],
["move", 1, 31, 10, 17],
["access", 32, "fd", 11, 11],
["store_field", 1, 3, 32, 11, 11],
[
"access",
33,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
12,
19
],
["access", 34, "os", 12, 11],
["store_field", 1, 33, 34, 12, 11],
[
"access",
35,
{
"name": "json",
"kind": "name",
"make": "intrinsic"
},
13,
21
],
["access", 36, "json", 13, 11],
["store_field", 1, 35, 36, 13, 11],
["access", 37, "tokenize", 38, 30],
["frame", 39, 12, 1, 38, 20],
["null", 40, 38, 20],
["setarg", 39, 0, 40, 38, 20],
["setarg", 39, 1, 37, 38, 20],
["invoke", 39, 38, 38, 20],
["move", 6, 38, 38, 20],
["access", 41, "parse", 39, 27],
["frame", 43, 12, 1, 39, 17],
["null", 44, 39, 17],
["setarg", 43, 0, 44, 39, 17],
["setarg", 43, 1, 41, 39, 17],
["invoke", 43, 42, 39, 17],
["move", 4, 42, 39, 17],
["access", 45, "fold", 40, 26],
["frame", 47, 12, 1, 40, 16],
["null", 48, 40, 16],
["setarg", 47, 0, 48, 40, 16],
["setarg", 47, 1, 45, 40, 16],
["invoke", 47, 46, 40, 16],
["move", 2, 46, 40, 16],
["access", 49, "mcode", 41, 27],
["frame", 51, 12, 1, 41, 17],
["null", 52, 41, 17],
["setarg", 51, 0, 52, 41, 17],
["setarg", 51, 1, 49, 41, 17],
["invoke", 51, 50, 41, 17],
["move", 7, 50, 41, 17],
["access", 53, "streamline", 42, 32],
["frame", 55, 12, 1, 42, 22],
["null", 56, 42, 22],
["setarg", 55, 0, 56, 42, 22],
["setarg", 55, 1, 53, 42, 22],
["invoke", 55, 54, 42, 22],
["move", 17, 54, 42, 22],
["access", 57, "tokenize", 44, 11],
["store_field", 1, 6, 57, 44, 11],
["access", 58, "parse", 45, 11],
["store_field", 1, 4, 58, 45, 11],
["access", 59, "fold", 46, 11],
["store_field", 1, 2, 59, 46, 11],
["access", 60, "mcode", 47, 11],
["store_field", 1, 7, 60, 47, 11],
["access", 61, "streamline", 48, 11],
["store_field", 1, 17, 61, 48, 11],
[
"access",
62,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
121,
15
],
["access", 63, 0, 121, 20],
["load_index", 64, 62, 63, 121, 20],
["move", 16, 64, 121, 20],
["array", 65, 0, 122, 17],
["move", 14, 65, 122, 17],
["access", 8, 1, 123, 10],
["null", 15, 124, 17],
["null", 5, 125, 14],
["null", 18, 126, 11],
"_nop_bl_1",
["jump_true", 16, "if_else_63", 128, 6],
["access", 67, "seed: no program specified\n", 129, 9],
[
"access",
69,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
129,
3
],
["frame", 70, 69, 1, 129, 3],
["null", 71, 129, 3],
["setarg", 70, 0, 71, 129, 3],
["setarg", 70, 1, 67, 129, 3],
["invoke", 70, 68, 129, 3],
["disrupt", 130, 3],
["jump", "if_end_64", 130, 3],
"if_else_63",
"if_end_64",
"while_start_65",
[
"access",
72,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
133,
20
],
["length", 73, 72, 133, 20],
["is_int", 75, 8, 133, 20],
["jump_false", 75, "rel_ni_67", 133, 20],
"_nop_tc_1",
"_nop_tc_2",
["lt_int", 74, 8, 73, 133, 20],
["jump", "rel_done_69", 133, 20],
"rel_ni_67",
["is_num", 75, 8, 133, 20],
["jump_false", 75, "rel_nn_68", 133, 20],
"_nop_tc_3",
"_nop_tc_4",
["lt_float", 74, 8, 73, 133, 20],
["jump", "rel_done_69", 133, 20],
"rel_nn_68",
["is_text", 75, 8, 133, 20],
["jump_false", 75, "rel_err_70", 133, 20],
"_nop_tc_5",
["jump", "rel_err_70", 133, 20],
["lt_text", 74, 8, 73, 133, 20],
["jump", "rel_done_69", 133, 20],
"rel_err_70",
["disrupt", 133, 20],
"rel_done_69",
["jump_false", 74, "while_end_66", 133, 20],
[
"access",
77,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
134,
19
],
["load_dynamic", 78, 77, 8, 134, 24],
["is_array", 79, 14, 134, 24],
["jump_false", 79, "push_err_71", 134, 24],
["push", 14, 78, 134, 24],
["jump", "push_done_72", 134, 24],
"push_err_71",
["disrupt", 134, 24],
"push_done_72",
["access", 80, 1, 135, 13],
["add", 81, 8, 80, 135, 13],
["move", 8, 81, 135, 13],
["jump", "while_start_65", 135, 13],
"while_end_66",
["access", 82, ".ce", 138, 23],
["add", 83, 16, 82, 138, 23],
["move", 15, 83, 138, 23],
["is_proxy", 85, 3, 139, 6],
["jump_false", 85, "record_path_75", 139, 6],
["null", 86, 139, 6],
["access", 87, "is_file", 139, 6],
["array", 88, 0, 139, 6],
["push", 88, 15, 139, 6],
["frame", 89, 3, 2, 139, 6],
["setarg", 89, 0, 86, 139, 6],
["setarg", 89, 1, 87, 139, 6],
["setarg", 89, 2, 88, 139, 6],
["invoke", 89, 84, 139, 6],
["jump", "call_done_76", 139, 6],
"record_path_75",
["load_field", 90, 3, "is_file", 139, 6],
["frame", 91, 90, 1, 139, 6],
["setarg", 91, 0, 3, 139, 6],
["setarg", 91, 1, 15, 139, 6],
["invoke", 91, 84, 139, 6],
"call_done_76",
"_nop_bl_2",
["jump_true", 84, "if_else_73", 139, 6],
[
"access",
93,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
140,
15
],
["access", 94, "/", 140, 27],
["add", 95, 93, 94, 140, 27],
["add", 96, 95, 16, 140, 33],
["access", 97, ".ce", 140, 43],
["add", 98, 96, 97, 140, 43],
["move", 15, 98, 140, 43],
["jump", "if_end_74", 140, 43],
"if_else_73",
"if_end_74",
["is_proxy", 100, 3, 141, 6],
["jump_false", 100, "record_path_79", 141, 6],
["null", 101, 141, 6],
["access", 102, "is_file", 141, 6],
["array", 103, 0, 141, 6],
["push", 103, 15, 141, 6],
["frame", 104, 3, 2, 141, 6],
["setarg", 104, 0, 101, 141, 6],
["setarg", 104, 1, 102, 141, 6],
["setarg", 104, 2, 103, 141, 6],
["invoke", 104, 99, 141, 6],
["jump", "call_done_80", 141, 6],
"record_path_79",
["load_field", 105, 3, "is_file", 141, 6],
["frame", 106, 105, 1, 141, 6],
["setarg", 106, 0, 3, 141, 6],
["setarg", 106, 1, 15, 141, 6],
["invoke", 106, 99, 141, 6],
"call_done_80",
"_nop_bl_3",
["jump_true", 99, "if_else_77", 141, 6],
["access", 108, ".cm", 142, 25],
["add", 109, 16, 108, 142, 25],
["move", 15, 109, 142, 25],
["is_proxy", 111, 3, 143, 8],
["jump_false", 111, "record_path_83", 143, 8],
["null", 112, 143, 8],
["access", 113, "is_file", 143, 8],
["array", 114, 0, 143, 8],
["push", 114, 15, 143, 8],
["frame", 115, 3, 2, 143, 8],
["setarg", 115, 0, 112, 143, 8],
["setarg", 115, 1, 113, 143, 8],
["setarg", 115, 2, 114, 143, 8],
["invoke", 115, 110, 143, 8],
["jump", "call_done_84", 143, 8],
"record_path_83",
["load_field", 116, 3, "is_file", 143, 8],
["frame", 117, 116, 1, 143, 8],
["setarg", 117, 0, 3, 143, 8],
["setarg", 117, 1, 15, 143, 8],
["invoke", 117, 110, 143, 8],
"call_done_84",
"_nop_bl_4",
["jump_true", 110, "if_else_81", 143, 8],
[
"access",
119,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
144,
17
],
["access", 120, "/", 144, 29],
["add", 121, 119, 120, 144, 29],
["add", 122, 121, 16, 144, 35],
["access", 123, ".cm", 144, 45],
["add", 124, 122, 123, 144, 45],
["move", 15, 124, 144, 45],
["jump", "if_end_82", 144, 45],
"if_else_81",
"if_end_82",
["jump", "if_end_78", 144, 45],
"if_else_77",
"if_end_78",
["is_proxy", 126, 3, 146, 6],
["jump_false", 126, "record_path_87", 146, 6],
["null", 127, 146, 6],
["access", 128, "is_file", 146, 6],
["array", 129, 0, 146, 6],
["push", 129, 15, 146, 6],
["frame", 130, 3, 2, 146, 6],
["setarg", 130, 0, 127, 146, 6],
["setarg", 130, 1, 128, 146, 6],
["setarg", 130, 2, 129, 146, 6],
["invoke", 130, 125, 146, 6],
["jump", "call_done_88", 146, 6],
"record_path_87",
["load_field", 131, 3, "is_file", 146, 6],
["frame", 132, 131, 1, 146, 6],
["setarg", 132, 0, 3, 146, 6],
["setarg", 132, 1, 15, 146, 6],
["invoke", 132, 125, 146, 6],
"call_done_88",
"_nop_bl_5",
["jump_true", 125, "if_else_85", 146, 6],
["access", 134, "seed: program not found: ", 147, 9],
["add", 135, 134, 16, 147, 39],
["access", 136, "\n", 147, 49],
["add", 137, 135, 136, 147, 49],
[
"access",
139,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
147,
3
],
["frame", 140, 139, 1, 147, 3],
["null", 141, 147, 3],
["setarg", 140, 0, 141, 147, 3],
["setarg", 140, 1, 137, 147, 3],
["invoke", 140, 138, 147, 3],
["disrupt", 148, 3],
["jump", "if_end_86", 148, 3],
"if_else_85",
"if_end_86",
["is_proxy", 143, 3, 151, 15],
["jump_false", 143, "record_path_89", 151, 15],
["null", 144, 151, 15],
["access", 145, "slurp", 151, 15],
["array", 146, 0, 151, 15],
["push", 146, 15, 151, 15],
["frame", 147, 3, 2, 151, 15],
["setarg", 147, 0, 144, 151, 15],
["setarg", 147, 1, 145, 151, 15],
["setarg", 147, 2, 146, 151, 15],
["invoke", 147, 142, 151, 15],
["jump", "call_done_90", 151, 15],
"record_path_89",
["load_field", 148, 3, "slurp", 151, 15],
["frame", 149, 148, 1, 151, 15],
["setarg", 149, 0, 3, 151, 15],
["setarg", 149, 1, 15, 151, 15],
["invoke", 149, 142, 151, 15],
"call_done_90",
[
"access",
151,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
151,
10
],
["frame", 152, 151, 1, 151, 10],
["null", 153, 151, 10],
["setarg", 152, 0, 153, 151, 10],
["setarg", 152, 1, 142, 151, 10],
["invoke", 152, 150, 151, 10],
["move", 5, 150, 151, 10],
["frame", 155, 10, 2, 152, 7],
["null", 156, 152, 7],
["setarg", 155, 0, 156, 152, 7],
["setarg", 155, 1, 5, 152, 7],
["setarg", 155, 2, 15, 152, 7],
["invoke", 155, 154, 152, 7],
["move", 18, 154, 152, 7],
["record", 157, 0],
["store_field", 157, 11, "use", 153, 29],
["store_field", 157, 14, "args", 153, 43],
["frame", 159, 13, 3, 153, 1],
["null", 160, 153, 1],
["setarg", 159, 0, 160, 153, 1],
["setarg", 159, 1, 16, 153, 1],
["setarg", 159, 2, 18, 153, 1],
["setarg", 159, 3, 157, 153, 1],
["invoke", 159, 158, 153, 1],
["return", 158, 153, 1]
]
},
"filename": "boot/seed_bootstrap.cm",
"data": {}
}