Files
cell/internal/bootstrap.cm.mcode
2026-02-13 07:26:49 -06:00

2598 lines
83 KiB
Plaintext

{
"name": "internal/bootstrap.cm",
"functions": [
{
"disruption_pc": 0,
"nr_slots": 15,
"nr_close_slots": 0,
"instructions": [
["access", 2, "js_", 7, 24],
"_nop_tc_1",
["jump", "add_ni_0", 7, 32],
["is_int", 5, 1, 7, 32],
["jump_false", 5, "add_ni_0", 7, 32],
["add_int", 3, 2, 1, 7, 32],
["jump", "add_done_2", 7, 32],
"add_ni_0",
["is_text", 5, 1, 7, 32],
["jump_false", 5, "add_nt_1", 7, 32],
["concat", 3, 2, 1, 7, 32],
["jump", "add_done_2", 7, 32],
"add_nt_1",
["is_num", 4, 2, 7, 32],
["jump_false", 4, "add_err_3", 7, 32],
["is_num", 5, 1, 7, 32],
["jump_false", 5, "add_err_3", 7, 32],
["add_float", 3, 2, 1, 7, 32],
["jump", "add_done_2", 7, 32],
"add_err_3",
["disrupt", 7, 32],
"add_done_2",
["access", 6, "_use", 7, 39],
["is_int", 8, 3, 7, 39],
["jump_false", 8, "add_ni_4", 7, 39],
"_nop_tc_2",
["jump", "add_ni_4", 7, 39],
["add_int", 7, 3, 6, 7, 39],
["jump", "add_done_6", 7, 39],
"add_ni_4",
["is_text", 8, 3, 7, 39],
["jump_false", 8, "add_nt_5", 7, 39],
["concat", 7, 3, 6, 7, 39],
["jump", "add_done_6", 7, 39],
"add_nt_5",
["is_num", 8, 3, 7, 39],
["jump_false", 8, "add_err_7", 7, 39],
["is_num", 9, 6, 7, 39],
["jump_false", 9, "add_err_7", 7, 39],
["add_float", 7, 3, 6, 7, 39],
["jump", "add_done_6", 7, 39],
"add_err_7",
["disrupt", 7, 39],
"add_done_6",
["get", 11, 9, 1, 7, 10],
["frame", 12, 11, 1, 7, 10],
["null", 13, 7, 10],
["setarg", 12, 0, 13, 7, 10],
["setarg", 12, 1, 7, 7, 10],
["invoke", 12, 10, 7, 10],
["return", 10, 7, 10],
["null", 14, 7, 10],
["return", 14, 7, 10]
],
"name": "use_embed",
"filename": "internal/bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 19,
"nr_close_slots": 0,
"instructions": [
["get", 3, 18, 1, 20, 7],
["load_dynamic", 4, 3, 1, 20, 17],
["jump_false", 4, "if_else_8", 20, 17],
["get", 5, 18, 1, 21, 12],
["load_dynamic", 6, 5, 1, 21, 22],
["return", 6, 21, 22],
["jump", "if_end_9", 21, 22],
"if_else_8",
"if_end_9",
["access", 7, "/", 22, 40],
["access", 8, "_", 22, 45],
[
"access",
10,
{
"name": "replace",
"kind": "name",
"make": "intrinsic"
},
22,
26
],
["frame", 11, 10, 3, 22, 26],
["null", 12, 22, 26],
["setarg", 11, 0, 12, 22, 26],
["setarg", 11, 1, 1, 22, 26],
["setarg", 11, 2, 7, 22, 26],
["setarg", 11, 3, 8, 22, 26],
["invoke", 11, 9, 22, 26],
["get", 14, 1, 1, 22, 16],
["frame", 15, 14, 1, 22, 16],
["null", 16, 22, 16],
["setarg", 15, 0, 16, 22, 16],
["setarg", 15, 1, 9, 22, 16],
["invoke", 15, 13, 22, 16],
["move", 2, 13, 22, 16],
["get", 17, 18, 1, 23, 3],
["store_dynamic", 17, 2, 1, 23, 13],
["return", 2, 24, 10],
["null", 18, 24, 10],
["return", 18, 24, 10]
],
"name": "use_basic",
"filename": "internal/bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 92,
"nr_close_slots": 0,
"instructions": [
[
"access",
7,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
29,
19
],
["access", 8, "/", 29, 31],
["is_int", 10, 7, 29, 31],
["jump_false", 10, "add_ni_10", 29, 31],
"_nop_tc_1",
["jump", "add_ni_10", 29, 31],
["add_int", 9, 7, 8, 29, 31],
["jump", "add_done_12", 29, 31],
"add_ni_10",
["is_text", 10, 7, 29, 31],
["jump_false", 10, "add_nt_11", 29, 31],
["concat", 9, 7, 8, 29, 31],
["jump", "add_done_12", 29, 31],
"add_nt_11",
["is_num", 10, 7, 29, 31],
["jump_false", 10, "add_err_13", 29, 31],
["is_num", 11, 8, 29, 31],
["jump_false", 11, "add_err_13", 29, 31],
["add_float", 9, 7, 8, 29, 31],
["jump", "add_done_12", 29, 31],
"add_err_13",
["disrupt", 29, 31],
"add_done_12",
["is_int", 13, 9, 29, 37],
["jump_false", 13, "add_ni_14", 29, 37],
["is_int", 14, 1, 29, 37],
["jump_false", 14, "add_ni_14", 29, 37],
["add_int", 12, 9, 1, 29, 37],
["jump", "add_done_16", 29, 37],
"add_ni_14",
["is_text", 13, 9, 29, 37],
["jump_false", 13, "add_nt_15", 29, 37],
["is_text", 14, 1, 29, 37],
["jump_false", 14, "add_nt_15", 29, 37],
["concat", 12, 9, 1, 29, 37],
["jump", "add_done_16", 29, 37],
"add_nt_15",
["is_num", 13, 9, 29, 37],
["jump_false", 13, "add_err_17", 29, 37],
["is_num", 14, 1, 29, 37],
["jump_false", 14, "add_err_17", 29, 37],
["add_float", 12, 9, 1, 29, 37],
["jump", "add_done_16", 29, 37],
"add_err_17",
["disrupt", 29, 37],
"add_done_16",
["access", 15, ".cm.mach", 29, 44],
["is_int", 17, 12, 29, 44],
["jump_false", 17, "add_ni_18", 29, 44],
"_nop_tc_2",
["jump", "add_ni_18", 29, 44],
["add_int", 16, 12, 15, 29, 44],
["jump", "add_done_20", 29, 44],
"add_ni_18",
["is_text", 17, 12, 29, 44],
["jump_false", 17, "add_nt_19", 29, 44],
["concat", 16, 12, 15, 29, 44],
["jump", "add_done_20", 29, 44],
"add_nt_19",
["is_num", 17, 12, 29, 44],
["jump_false", 17, "add_err_21", 29, 44],
["is_num", 18, 15, 29, 44],
["jump_false", 18, "add_err_21", 29, 44],
["add_float", 16, 12, 15, 29, 44],
["jump", "add_done_20", 29, 44],
"add_err_21",
["disrupt", 29, 44],
"add_done_20",
["move", 4, 16, 29, 44],
[
"access",
19,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
30,
20
],
["access", 20, "/", 30, 32],
["is_int", 22, 19, 30, 32],
["jump_false", 22, "add_ni_22", 30, 32],
"_nop_tc_3",
["jump", "add_ni_22", 30, 32],
["add_int", 21, 19, 20, 30, 32],
["jump", "add_done_24", 30, 32],
"add_ni_22",
["is_text", 22, 19, 30, 32],
["jump_false", 22, "add_nt_23", 30, 32],
["concat", 21, 19, 20, 30, 32],
["jump", "add_done_24", 30, 32],
"add_nt_23",
["is_num", 22, 19, 30, 32],
["jump_false", 22, "add_err_25", 30, 32],
["is_num", 23, 20, 30, 32],
["jump_false", 23, "add_err_25", 30, 32],
["add_float", 21, 19, 20, 30, 32],
["jump", "add_done_24", 30, 32],
"add_err_25",
["disrupt", 30, 32],
"add_done_24",
["is_int", 25, 21, 30, 38],
["jump_false", 25, "add_ni_26", 30, 38],
["is_int", 26, 1, 30, 38],
["jump_false", 26, "add_ni_26", 30, 38],
["add_int", 24, 21, 1, 30, 38],
["jump", "add_done_28", 30, 38],
"add_ni_26",
["is_text", 25, 21, 30, 38],
["jump_false", 25, "add_nt_27", 30, 38],
["is_text", 26, 1, 30, 38],
["jump_false", 26, "add_nt_27", 30, 38],
["concat", 24, 21, 1, 30, 38],
["jump", "add_done_28", 30, 38],
"add_nt_27",
["is_num", 25, 21, 30, 38],
["jump_false", 25, "add_err_29", 30, 38],
["is_num", 26, 1, 30, 38],
["jump_false", 26, "add_err_29", 30, 38],
["add_float", 24, 21, 1, 30, 38],
["jump", "add_done_28", 30, 38],
"add_err_29",
["disrupt", 30, 38],
"add_done_28",
["access", 27, ".cm.mcode", 30, 45],
["is_int", 29, 24, 30, 45],
["jump_false", 29, "add_ni_30", 30, 45],
"_nop_tc_4",
["jump", "add_ni_30", 30, 45],
["add_int", 28, 24, 27, 30, 45],
["jump", "add_done_32", 30, 45],
"add_ni_30",
["is_text", 29, 24, 30, 45],
["jump_false", 29, "add_nt_31", 30, 45],
["concat", 28, 24, 27, 30, 45],
["jump", "add_done_32", 30, 45],
"add_nt_31",
["is_num", 29, 24, 30, 45],
["jump_false", 29, "add_err_33", 30, 45],
["is_num", 30, 27, 30, 45],
["jump_false", 30, "add_err_33", 30, 45],
["add_float", 28, 24, 27, 30, 45],
["jump", "add_done_32", 30, 45],
"add_err_33",
["disrupt", 30, 45],
"add_done_32",
["move", 6, 28, 30, 45],
["null", 3, 31, 14],
["null", 5, 32, 20],
["get", 32, 4, 1, 33, 7],
["is_proxy", 33, 32, 33, 7],
["jump_false", 33, "record_path_36", 33, 7],
["null", 34, 33, 7],
["access", 35, "is_file", 33, 7],
["array", 36, 0, 33, 7],
["push", 36, 4, 33, 7],
["frame", 37, 32, 2, 33, 7],
["setarg", 37, 0, 34, 33, 7],
["setarg", 37, 1, 35, 33, 7],
["setarg", 37, 2, 36, 33, 7],
["invoke", 37, 31, 33, 7],
["jump", "call_done_37", 33, 7],
"record_path_36",
["load_field", 38, 32, "is_file", 33, 7],
["frame", 39, 38, 1, 33, 7],
["setarg", 39, 0, 32, 33, 7],
["setarg", 39, 1, 4, 33, 7],
["invoke", 39, 31, 33, 7],
"call_done_37",
["jump_false", 31, "if_else_34", 33, 7],
["get", 41, 4, 1, 34, 12],
["is_proxy", 42, 41, 34, 12],
["jump_false", 42, "record_path_38", 34, 12],
["null", 43, 34, 12],
["access", 44, "slurp", 34, 12],
["array", 45, 0, 34, 12],
["push", 45, 4, 34, 12],
["frame", 46, 41, 2, 34, 12],
["setarg", 46, 0, 43, 34, 12],
["setarg", 46, 1, 44, 34, 12],
["setarg", 46, 2, 45, 34, 12],
["invoke", 46, 40, 34, 12],
["jump", "call_done_39", 34, 12],
"record_path_38",
["load_field", 47, 41, "slurp", 34, 12],
["frame", 48, 47, 1, 34, 12],
["setarg", 48, 0, 41, 34, 12],
["setarg", 48, 1, 4, 34, 12],
["invoke", 48, 40, 34, 12],
"call_done_39",
["move", 3, 40, 34, 12],
[
"access",
50,
{
"name": "mach_load",
"kind": "name",
"make": "intrinsic"
},
35,
12
],
["frame", 51, 50, 2, 35, 12],
["null", 52, 35, 12],
["setarg", 51, 0, 52, 35, 12],
["setarg", 51, 1, 3, 35, 12],
["setarg", 51, 2, 2, 35, 12],
["invoke", 51, 49, 35, 12],
["return", 49, 35, 12],
["jump", "if_end_35", 35, 12],
"if_else_34",
"if_end_35",
["get", 54, 4, 1, 37, 7],
["is_proxy", 55, 54, 37, 7],
["jump_false", 55, "record_path_42", 37, 7],
["null", 56, 37, 7],
["access", 57, "is_file", 37, 7],
["array", 58, 0, 37, 7],
["push", 58, 6, 37, 7],
["frame", 59, 54, 2, 37, 7],
["setarg", 59, 0, 56, 37, 7],
["setarg", 59, 1, 57, 37, 7],
["setarg", 59, 2, 58, 37, 7],
["invoke", 59, 53, 37, 7],
["jump", "call_done_43", 37, 7],
"record_path_42",
["load_field", 60, 54, "is_file", 37, 7],
["frame", 61, 60, 1, 37, 7],
["setarg", 61, 0, 54, 37, 7],
["setarg", 61, 1, 6, 37, 7],
["invoke", 61, 53, 37, 7],
"call_done_43",
["jump_false", 53, "if_else_40", 37, 7],
["get", 63, 4, 1, 38, 23],
["is_proxy", 64, 63, 38, 23],
["jump_false", 64, "record_path_44", 38, 23],
["null", 65, 38, 23],
["access", 66, "slurp", 38, 23],
["array", 67, 0, 38, 23],
["push", 67, 6, 38, 23],
["frame", 68, 63, 2, 38, 23],
["setarg", 68, 0, 65, 38, 23],
["setarg", 68, 1, 66, 38, 23],
["setarg", 68, 2, 67, 38, 23],
["invoke", 68, 62, 38, 23],
["jump", "call_done_45", 38, 23],
"record_path_44",
["load_field", 69, 63, "slurp", 38, 23],
["frame", 70, 69, 1, 38, 23],
["setarg", 70, 0, 63, 38, 23],
["setarg", 70, 1, 6, 38, 23],
["invoke", 70, 62, 38, 23],
"call_done_45",
[
"access",
72,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
38,
18
],
["frame", 73, 72, 1, 38, 18],
["null", 74, 38, 18],
["setarg", 73, 0, 74, 38, 18],
["setarg", 73, 1, 62, 38, 18],
["invoke", 73, 71, 38, 18],
["move", 5, 71, 38, 18],
[
"access",
76,
{
"name": "mach_eval_mcode",
"kind": "name",
"make": "intrinsic"
},
39,
12
],
["frame", 77, 76, 3, 39, 12],
["null", 78, 39, 12],
["setarg", 77, 0, 78, 39, 12],
["setarg", 77, 1, 1, 39, 12],
["setarg", 77, 2, 5, 39, 12],
["setarg", 77, 3, 2, 39, 12],
["invoke", 77, 75, 39, 12],
["return", 75, 39, 12],
["jump", "if_end_41", 39, 12],
"if_else_40",
"if_end_41",
["access", 79, "error: missing bootstrap bytecode: ", 41, 9],
"_nop_tc_5",
["jump", "add_ni_46", 41, 49],
["is_int", 82, 1, 41, 49],
["jump_false", 82, "add_ni_46", 41, 49],
["add_int", 80, 79, 1, 41, 49],
["jump", "add_done_48", 41, 49],
"add_ni_46",
["is_text", 82, 1, 41, 49],
["jump_false", 82, "add_nt_47", 41, 49],
["concat", 80, 79, 1, 41, 49],
["jump", "add_done_48", 41, 49],
"add_nt_47",
["is_num", 81, 79, 41, 49],
["jump_false", 81, "add_err_49", 41, 49],
["is_num", 82, 1, 41, 49],
["jump_false", 82, "add_err_49", 41, 49],
["add_float", 80, 79, 1, 41, 49],
["jump", "add_done_48", 41, 49],
"add_err_49",
["disrupt", 41, 49],
"add_done_48",
["access", 83, "\n", 41, 56],
["is_int", 85, 80, 41, 56],
["jump_false", 85, "add_ni_50", 41, 56],
"_nop_tc_6",
["jump", "add_ni_50", 41, 56],
["add_int", 84, 80, 83, 41, 56],
["jump", "add_done_52", 41, 56],
"add_ni_50",
["is_text", 85, 80, 41, 56],
["jump_false", 85, "add_nt_51", 41, 56],
["concat", 84, 80, 83, 41, 56],
["jump", "add_done_52", 41, 56],
"add_nt_51",
["is_num", 85, 80, 41, 56],
["jump_false", 85, "add_err_53", 41, 56],
["is_num", 86, 83, 41, 56],
["jump_false", 86, "add_err_53", 41, 56],
["add_float", 84, 80, 83, 41, 56],
["jump", "add_done_52", 41, 56],
"add_err_53",
["disrupt", 41, 56],
"add_done_52",
[
"access",
88,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
41,
3
],
["frame", 89, 88, 1, 41, 3],
["null", 90, 41, 3],
["setarg", 89, 0, 90, 41, 3],
["setarg", 89, 1, 84, 41, 3],
["invoke", 89, 87, 41, 3],
["disrupt", 42, 3],
["null", 91, 42, 3],
["return", 91, 42, 3]
],
"name": "boot_load",
"filename": "internal/bootstrap.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 152,
"nr_close_slots": 0,
"instructions": [
["access", 10, "tokenize.cm", 61, 5],
["access", 11, "parse.cm", 62, 5],
["access", 12, "fold.cm", 63, 5],
["access", 13, "mcode.cm", 64, 5],
["access", 14, "streamline.cm", 65, 5],
["access", 15, "qbe.cm", 66, 5],
["access", 16, "qbe_emit.cm", 67, 5],
["access", 17, "verify_ir.cm", 68, 5],
["access", 18, "internal/bootstrap.cm", 69, 5],
["access", 19, "internal/engine.cm", 70, 5],
["array", 20, 0, 70, 5],
["push", 20, 10, 70, 5],
["push", 20, 11, 70, 5],
["push", 20, 12, 70, 5],
["push", 20, 13, 70, 5],
["push", 20, 14, 70, 5],
["push", 20, 15, 70, 5],
["push", 20, 16, 70, 5],
["push", 20, 17, 70, 5],
["push", 20, 18, 70, 5],
["push", 20, 19, 70, 5],
["move", 7, 20, 70, 5],
["array", 21, 0, 72, 15],
["move", 2, 21, 72, 15],
["access", 8, 0, 73, 12],
["null", 1, 74, 17],
["null", 3, 75, 19],
["null", 9, 76, 20],
["null", 4, 77, 17],
["null", 5, 78, 23],
["null", 6, 79, 20],
"while_start_54",
["length", 22, 7, 80, 22],
["is_int", 24, 8, 80, 22],
["jump_false", 24, "rel_ni_56", 80, 22],
"_nop_tc_1",
"_nop_tc_2",
["lt_int", 23, 8, 22, 80, 22],
["jump", "rel_done_58", 80, 22],
"rel_ni_56",
["is_num", 24, 8, 80, 22],
["jump_false", 24, "rel_nn_57", 80, 22],
["is_num", 25, 22, 80, 22],
["jump_false", 25, "rel_nn_57", 80, 22],
["lt_float", 23, 8, 22, 80, 22],
["jump", "rel_done_58", 80, 22],
"rel_nn_57",
["is_text", 24, 8, 80, 22],
["jump_false", 24, "rel_err_59", 80, 22],
["is_text", 25, 22, 80, 22],
["jump_false", 25, "rel_err_59", 80, 22],
["lt_text", 23, 8, 22, 80, 22],
["jump", "rel_done_58", 80, 22],
"rel_err_59",
["disrupt", 80, 22],
"rel_done_58",
["jump_false", 23, "while_end_55", 80, 22],
[
"access",
26,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
81,
15
],
["access", 27, "/", 81, 27],
["is_int", 29, 26, 81, 27],
["jump_false", 29, "add_ni_60", 81, 27],
"_nop_tc_3",
["jump", "add_ni_60", 81, 27],
["add_int", 28, 26, 27, 81, 27],
["jump", "add_done_62", 81, 27],
"add_ni_60",
["is_text", 29, 26, 81, 27],
["jump_false", 29, "add_nt_61", 81, 27],
["concat", 28, 26, 27, 81, 27],
["jump", "add_done_62", 81, 27],
"add_nt_61",
["is_num", 29, 26, 81, 27],
["jump_false", 29, "add_err_63", 81, 27],
["is_num", 30, 27, 81, 27],
["jump_false", 30, "add_err_63", 81, 27],
["add_float", 28, 26, 27, 81, 27],
["jump", "add_done_62", 81, 27],
"add_err_63",
["disrupt", 81, 27],
"add_done_62",
["load_dynamic", 31, 7, 8, 81, 41],
["is_int", 33, 28, 81, 41],
["jump_false", 33, "add_ni_64", 81, 41],
["is_int", 34, 31, 81, 41],
["jump_false", 34, "add_ni_64", 81, 41],
["add_int", 32, 28, 31, 81, 41],
["jump", "add_done_66", 81, 41],
"add_ni_64",
["is_text", 33, 28, 81, 41],
["jump_false", 33, "add_nt_65", 81, 41],
["is_text", 34, 31, 81, 41],
["jump_false", 34, "add_nt_65", 81, 41],
["concat", 32, 28, 31, 81, 41],
["jump", "add_done_66", 81, 41],
"add_nt_65",
["is_num", 33, 28, 81, 41],
["jump_false", 33, "add_err_67", 81, 41],
["is_num", 34, 31, 81, 41],
["jump_false", 34, "add_err_67", 81, 41],
["add_float", 32, 28, 31, 81, 41],
["jump", "add_done_66", 81, 41],
"add_err_67",
["disrupt", 81, 41],
"add_done_66",
["move", 1, 32, 81, 41],
["access", 35, ".mach", 82, 27],
["is_int", 37, 1, 82, 27],
["jump_false", 37, "add_ni_68", 82, 27],
"_nop_tc_4",
["jump", "add_ni_68", 82, 27],
["add_int", 36, 1, 35, 82, 27],
["jump", "add_done_70", 82, 27],
"add_ni_68",
["is_text", 37, 1, 82, 27],
["jump_false", 37, "add_nt_69", 82, 27],
["concat", 36, 1, 35, 82, 27],
["jump", "add_done_70", 82, 27],
"add_nt_69",
["is_num", 37, 1, 82, 27],
["jump_false", 37, "add_err_71", 82, 27],
["is_num", 38, 35, 82, 27],
["jump_false", 38, "add_err_71", 82, 27],
["add_float", 36, 1, 35, 82, 27],
["jump", "add_done_70", 82, 27],
"add_err_71",
["disrupt", 82, 27],
"add_done_70",
["move", 3, 36, 82, 27],
["access", 39, ".mcode", 83, 28],
["is_int", 41, 1, 83, 28],
["jump_false", 41, "add_ni_72", 83, 28],
"_nop_tc_5",
["jump", "add_ni_72", 83, 28],
["add_int", 40, 1, 39, 83, 28],
["jump", "add_done_74", 83, 28],
"add_ni_72",
["is_text", 41, 1, 83, 28],
["jump_false", 41, "add_nt_73", 83, 28],
["concat", 40, 1, 39, 83, 28],
["jump", "add_done_74", 83, 28],
"add_nt_73",
["is_num", 41, 1, 83, 28],
["jump_false", 41, "add_err_75", 83, 28],
["is_num", 42, 39, 83, 28],
["jump_false", 42, "add_err_75", 83, 28],
["add_float", 40, 1, 39, 83, 28],
["jump", "add_done_74", 83, 28],
"add_err_75",
["disrupt", 83, 28],
"add_done_74",
["move", 9, 40, 83, 28],
["null", 43, 84, 18],
["move", 6, 43, 84, 18],
["get", 45, 4, 1, 85, 9],
["is_proxy", 46, 45, 85, 9],
["jump_false", 46, "record_path_78", 85, 9],
["null", 47, 85, 9],
["access", 48, "is_file", 85, 9],
["array", 49, 0, 85, 9],
["push", 49, 3, 85, 9],
["frame", 50, 45, 2, 85, 9],
["setarg", 50, 0, 47, 85, 9],
["setarg", 50, 1, 48, 85, 9],
["setarg", 50, 2, 49, 85, 9],
["invoke", 50, 44, 85, 9],
["jump", "call_done_79", 85, 9],
"record_path_78",
["load_field", 51, 45, "is_file", 85, 9],
["frame", 52, 51, 1, 85, 9],
["setarg", 52, 0, 45, 85, 9],
["setarg", 52, 1, 3, 85, 9],
["invoke", 52, 44, 85, 9],
"call_done_79",
["jump_false", 44, "if_else_76", 85, 9],
["get", 54, 4, 1, 86, 20],
["is_proxy", 55, 54, 86, 20],
["jump_false", 55, "record_path_80", 86, 20],
["null", 56, 86, 20],
["access", 57, "stat", 86, 20],
["array", 58, 0, 86, 20],
["push", 58, 3, 86, 20],
["frame", 59, 54, 2, 86, 20],
["setarg", 59, 0, 56, 86, 20],
["setarg", 59, 1, 57, 86, 20],
["setarg", 59, 2, 58, 86, 20],
["invoke", 59, 53, 86, 20],
["jump", "call_done_81", 86, 20],
"record_path_80",
["load_field", 60, 54, "stat", 86, 20],
["frame", 61, 60, 1, 86, 20],
["setarg", 61, 0, 54, 86, 20],
["setarg", 61, 1, 3, 86, 20],
["invoke", 61, 53, 86, 20],
"call_done_81",
["load_field", 62, 53, "mtime", 86, 20],
["move", 6, 62, 86, 20],
["jump", "if_end_77", 86, 20],
"if_else_76",
"if_end_77",
["get", 64, 4, 1, 88, 9],
["is_proxy", 65, 64, 88, 9],
["jump_false", 65, "record_path_84", 88, 9],
["null", 66, 88, 9],
["access", 67, "is_file", 88, 9],
["array", 68, 0, 88, 9],
["push", 68, 9, 88, 9],
["frame", 69, 64, 2, 88, 9],
["setarg", 69, 0, 66, 88, 9],
["setarg", 69, 1, 67, 88, 9],
["setarg", 69, 2, 68, 88, 9],
["invoke", 69, 63, 88, 9],
["jump", "call_done_85", 88, 9],
"record_path_84",
["load_field", 70, 64, "is_file", 88, 9],
["frame", 71, 70, 1, 88, 9],
["setarg", 71, 0, 64, 88, 9],
["setarg", 71, 1, 9, 88, 9],
["invoke", 71, 63, 88, 9],
"call_done_85",
["jump_false", 63, "if_else_82", 88, 9],
["get", 73, 4, 1, 89, 23],
["is_proxy", 74, 73, 89, 23],
["jump_false", 74, "record_path_86", 89, 23],
["null", 75, 89, 23],
["access", 76, "stat", 89, 23],
["array", 77, 0, 89, 23],
["push", 77, 9, 89, 23],
["frame", 78, 73, 2, 89, 23],
["setarg", 78, 0, 75, 89, 23],
["setarg", 78, 1, 76, 89, 23],
["setarg", 78, 2, 77, 89, 23],
["invoke", 78, 72, 89, 23],
["jump", "call_done_87", 89, 23],
"record_path_86",
["load_field", 79, 73, "stat", 89, 23],
["frame", 80, 79, 1, 89, 23],
["setarg", 80, 0, 73, 89, 23],
["setarg", 80, 1, 9, 89, 23],
["invoke", 80, 72, 89, 23],
"call_done_87",
["move", 5, 72, 89, 23],
["null", 81, 90, 25],
["is_identical", 82, 6, 81, 90, 25],
["jump_true", 82, "eq_done_91", 90, 25],
["is_int", 83, 6, 90, 25],
["jump_false", 83, "eq_ni_92", 90, 25],
"_nop_tc_6",
["jump", "eq_ni_92", 90, 25],
["eq_int", 82, 6, 81, 90, 25],
["jump", "eq_done_91", 90, 25],
"eq_ni_92",
["is_num", 83, 6, 90, 25],
["jump_false", 83, "eq_nn_93", 90, 25],
["is_num", 84, 81, 90, 25],
["jump_false", 84, "eq_nn_93", 90, 25],
["eq_float", 82, 6, 81, 90, 25],
["jump", "eq_done_91", 90, 25],
"eq_nn_93",
["is_text", 83, 6, 90, 25],
["jump_false", 83, "eq_nt_94", 90, 25],
["is_text", 84, 81, 90, 25],
["jump_false", 84, "eq_nt_94", 90, 25],
["eq_text", 82, 6, 81, 90, 25],
["jump", "eq_done_91", 90, 25],
"eq_nt_94",
["is_null", 83, 6, 90, 25],
["jump_false", 83, "eq_nnl_95", 90, 25],
["is_null", 84, 81, 90, 25],
["jump_false", 84, "eq_nnl_95", 90, 25],
["true", 82, 90, 25],
["jump", "eq_done_91", 90, 25],
"eq_nnl_95",
["is_bool", 83, 6, 90, 25],
["jump_false", 83, "eq_nb_96", 90, 25],
["is_bool", 84, 81, 90, 25],
["jump_false", 84, "eq_nb_96", 90, 25],
["eq_bool", 82, 6, 81, 90, 25],
["jump", "eq_done_91", 90, 25],
"eq_nb_96",
["false", 82, 90, 25],
"eq_done_91",
["move", 85, 82, 90, 25],
["jump_true", 85, "or_end_90", 90, 25],
["load_field", 86, 5, "mtime", 90, 33],
["is_int", 88, 86, 90, 55],
["jump_false", 88, "rel_ni_97", 90, 55],
["is_int", 89, 6, 90, 55],
["jump_false", 89, "rel_ni_97", 90, 55],
["gt_int", 87, 86, 6, 90, 55],
["jump", "rel_done_99", 90, 55],
"rel_ni_97",
["is_num", 88, 86, 90, 55],
["jump_false", 88, "rel_nn_98", 90, 55],
["is_num", 89, 6, 90, 55],
["jump_false", 89, "rel_nn_98", 90, 55],
["gt_float", 87, 86, 6, 90, 55],
["jump", "rel_done_99", 90, 55],
"rel_nn_98",
["is_text", 88, 86, 90, 55],
["jump_false", 88, "rel_err_100", 90, 55],
["is_text", 89, 6, 90, 55],
["jump_false", 89, "rel_err_100", 90, 55],
["gt_text", 87, 86, 6, 90, 55],
["jump", "rel_done_99", 90, 55],
"rel_err_100",
["disrupt", 90, 55],
"rel_done_99",
["move", 85, 87, 90, 55],
"or_end_90",
["jump_false", 85, "if_else_88", 90, 55],
["load_field", 90, 5, "mtime", 91, 22],
["move", 6, 90, 91, 22],
["jump", "if_end_89", 91, 22],
"if_else_88",
"if_end_89",
["jump", "if_end_83", 91, 22],
"if_else_82",
"if_end_83",
["null", 91, 94, 23],
["is_identical", 92, 6, 91, 94, 23],
["jump_true", 92, "ne_nid_105", 94, 23],
["jump", "ne_ni_106", 94, 23],
"ne_nid_105",
["false", 92, 94, 23],
["jump", "ne_done_104", 94, 23],
"ne_ni_106",
["is_int", 93, 6, 94, 23],
["jump_false", 93, "ne_nn_107", 94, 23],
["is_int", 94, 91, 94, 23],
["jump_false", 94, "ne_nn_107", 94, 23],
["ne_int", 92, 6, 91, 94, 23],
["jump", "ne_done_104", 94, 23],
"ne_nn_107",
["is_num", 93, 6, 94, 23],
["jump_false", 93, "ne_nt_108", 94, 23],
["is_num", 94, 91, 94, 23],
["jump_false", 94, "ne_nt_108", 94, 23],
["ne_float", 92, 6, 91, 94, 23],
["jump", "ne_done_104", 94, 23],
"ne_nt_108",
["is_text", 93, 6, 94, 23],
["jump_false", 93, "ne_nnl_109", 94, 23],
["is_text", 94, 91, 94, 23],
["jump_false", 94, "ne_nnl_109", 94, 23],
["ne_text", 92, 6, 91, 94, 23],
["jump", "ne_done_104", 94, 23],
"ne_nnl_109",
["is_null", 93, 6, 94, 23],
["jump_false", 93, "ne_nb_110", 94, 23],
["is_null", 94, 91, 94, 23],
["jump_false", 94, "ne_nb_110", 94, 23],
["false", 92, 94, 23],
["jump", "ne_done_104", 94, 23],
"ne_nb_110",
["is_bool", 93, 6, 94, 23],
["jump_false", 93, "ne_mis_111", 94, 23],
["is_bool", 94, 91, 94, 23],
["jump_false", 94, "ne_mis_111", 94, 23],
["ne_bool", 92, 6, 91, 94, 23],
["jump", "ne_done_104", 94, 23],
"ne_mis_111",
["true", 92, 94, 23],
"ne_done_104",
["move", 95, 92, 94, 23],
["jump_false", 95, "and_end_103", 94, 23],
["get", 97, 4, 1, 94, 31],
["is_proxy", 98, 97, 94, 31],
["jump_false", 98, "record_path_112", 94, 31],
["null", 99, 94, 31],
["access", 100, "is_file", 94, 31],
["array", 101, 0, 94, 31],
["push", 101, 1, 94, 31],
["frame", 102, 97, 2, 94, 31],
["setarg", 102, 0, 99, 94, 31],
["setarg", 102, 1, 100, 94, 31],
["setarg", 102, 2, 101, 94, 31],
["invoke", 102, 96, 94, 31],
["jump", "call_done_113", 94, 31],
"record_path_112",
["load_field", 103, 97, "is_file", 94, 31],
["frame", 104, 103, 1, 94, 31],
["setarg", 104, 0, 97, 94, 31],
["setarg", 104, 1, 1, 94, 31],
["invoke", 104, 96, 94, 31],
"call_done_113",
["move", 95, 96, 94, 31],
"and_end_103",
["jump_false", 95, "if_else_101", 94, 31],
["get", 106, 4, 1, 95, 17],
["is_proxy", 107, 106, 95, 17],
["jump_false", 107, "record_path_114", 95, 17],
["null", 108, 95, 17],
["access", 109, "stat", 95, 17],
["array", 110, 0, 95, 17],
["push", 110, 1, 95, 17],
["frame", 111, 106, 2, 95, 17],
["setarg", 111, 0, 108, 95, 17],
["setarg", 111, 1, 109, 95, 17],
["setarg", 111, 2, 110, 95, 17],
["invoke", 111, 105, 95, 17],
["jump", "call_done_115", 95, 17],
"record_path_114",
["load_field", 112, 106, "stat", 95, 17],
["frame", 113, 112, 1, 95, 17],
["setarg", 113, 0, 106, 95, 17],
["setarg", 113, 1, 1, 95, 17],
["invoke", 113, 105, 95, 17],
"call_done_115",
["move", 4, 105, 95, 17],
["load_field", 114, 4, "mtime", 96, 11],
["is_int", 116, 114, 96, 27],
["jump_false", 116, "rel_ni_118", 96, 27],
["is_int", 117, 6, 96, 27],
["jump_false", 117, "rel_ni_118", 96, 27],
["gt_int", 115, 114, 6, 96, 27],
["jump", "rel_done_120", 96, 27],
"rel_ni_118",
["is_num", 116, 114, 96, 27],
["jump_false", 116, "rel_nn_119", 96, 27],
["is_num", 117, 6, 96, 27],
["jump_false", 117, "rel_nn_119", 96, 27],
["gt_float", 115, 114, 6, 96, 27],
["jump", "rel_done_120", 96, 27],
"rel_nn_119",
["is_text", 116, 114, 96, 27],
["jump_false", 116, "rel_err_121", 96, 27],
["is_text", 117, 6, 96, 27],
["jump_false", 117, "rel_err_121", 96, 27],
["gt_text", 115, 114, 6, 96, 27],
["jump", "rel_done_120", 96, 27],
"rel_err_121",
["disrupt", 96, 27],
"rel_done_120",
["jump_false", 115, "if_else_116", 96, 27],
["load_dynamic", 118, 7, 8, 97, 29],
["is_array", 119, 2, 97, 29],
["jump_false", 119, "push_err_122", 97, 29],
["push", 2, 118, 97, 29],
["jump", "push_done_123", 97, 29],
"push_err_122",
["disrupt", 97, 29],
"push_done_123",
["jump", "if_end_117", 97, 29],
"if_else_116",
"if_end_117",
["jump", "if_end_102", 97, 29],
"if_else_101",
"if_end_102",
["access", 120, 1, 100, 15],
["is_int", 122, 8, 100, 15],
["jump_false", 122, "add_ni_124", 100, 15],
["add_int", 121, 8, 120, 100, 15],
["jump", "add_done_126", 100, 15],
"add_ni_124",
["is_text", 122, 8, 100, 15],
["jump_false", 122, "add_nt_125", 100, 15],
["is_text", 123, 120, 100, 15],
["jump_false", 123, "add_nt_125", 100, 15],
["concat", 121, 8, 120, 100, 15],
["jump", "add_done_126", 100, 15],
"add_nt_125",
["is_num", 122, 8, 100, 15],
["jump_false", 122, "add_err_127", 100, 15],
["add_float", 121, 8, 120, 100, 15],
["jump", "add_done_126", 100, 15],
"add_err_127",
["disrupt", 100, 15],
"add_done_126",
["move", 8, 121, 100, 15],
["jump", "while_start_54", 100, 15],
"while_end_55",
["length", 124, 2, 102, 14],
["access", 125, 0, 102, 23],
"_nop_tc_7",
"_nop_tc_8",
"_nop_tc_9",
["jump", "rel_ni_130", 102, 23],
["gt_int", 126, 124, 125, 102, 23],
["jump", "rel_done_132", 102, 23],
"rel_ni_130",
["is_num", 127, 124, 102, 23],
["jump_false", 127, "rel_nn_131", 102, 23],
["is_num", 128, 125, 102, 23],
["jump_false", 128, "rel_nn_131", 102, 23],
["gt_float", 126, 124, 125, 102, 23],
["jump", "rel_done_132", 102, 23],
"rel_nn_131",
["is_text", 127, 124, 102, 23],
["jump_false", 127, "rel_err_133", 102, 23],
["is_text", 128, 125, 102, 23],
["jump_false", 128, "rel_err_133", 102, 23],
["gt_text", 126, 124, 125, 102, 23],
["jump", "rel_done_132", 102, 23],
"rel_err_133",
["disrupt", 102, 23],
"rel_done_132",
["jump_false", 126, "if_else_128", 102, 23],
["access", 129, "warning: bytecode is stale for: ", 103, 11],
["access", 130, ", ", 103, 60],
[
"access",
132,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
103,
48
],
["frame", 133, 132, 2, 103, 48],
["null", 134, 103, 48],
["setarg", 133, 0, 134, 103, 48],
["setarg", 133, 1, 2, 103, 48],
["setarg", 133, 2, 130, 103, 48],
["invoke", 133, 131, 103, 48],
"_nop_tc_10",
["jump", "add_ni_134", 103, 48],
["is_int", 137, 131, 103, 48],
["jump_false", 137, "add_ni_134", 103, 48],
["add_int", 135, 129, 131, 103, 48],
["jump", "add_done_136", 103, 48],
"add_ni_134",
["is_text", 137, 131, 103, 48],
["jump_false", 137, "add_nt_135", 103, 48],
["concat", 135, 129, 131, 103, 48],
["jump", "add_done_136", 103, 48],
"add_nt_135",
["is_num", 136, 129, 103, 48],
["jump_false", 136, "add_err_137", 103, 48],
["is_num", 137, 131, 103, 48],
["jump_false", 137, "add_err_137", 103, 48],
["add_float", 135, 129, 131, 103, 48],
["jump", "add_done_136", 103, 48],
"add_err_137",
["disrupt", 103, 48],
"add_done_136",
["access", 138, "\n", 103, 68],
["is_int", 140, 135, 103, 68],
["jump_false", 140, "add_ni_138", 103, 68],
"_nop_tc_11",
["jump", "add_ni_138", 103, 68],
["add_int", 139, 135, 138, 103, 68],
["jump", "add_done_140", 103, 68],
"add_ni_138",
["is_text", 140, 135, 103, 68],
["jump_false", 140, "add_nt_139", 103, 68],
["concat", 139, 135, 138, 103, 68],
["jump", "add_done_140", 103, 68],
"add_nt_139",
["is_num", 140, 135, 103, 68],
["jump_false", 140, "add_err_141", 103, 68],
["is_num", 141, 138, 103, 68],
["jump_false", 141, "add_err_141", 103, 68],
["add_float", 139, 135, 138, 103, 68],
["jump", "add_done_140", 103, 68],
"add_err_141",
["disrupt", 103, 68],
"add_done_140",
[
"access",
143,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
103,
5
],
["frame", 144, 143, 1, 103, 5],
["null", 145, 103, 5],
["setarg", 144, 0, 145, 103, 5],
["setarg", 144, 1, 139, 103, 5],
["invoke", 144, 142, 103, 5],
["access", 146, "run 'make regen' to update\n", 104, 11],
[
"access",
148,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
104,
5
],
["frame", 149, 148, 1, 104, 5],
["null", 150, 104, 5],
["setarg", 149, 0, 150, 104, 5],
["setarg", 149, 1, 146, 104, 5],
["invoke", 149, 147, 104, 5],
["jump", "if_end_129", 104, 5],
"if_else_128",
"if_end_129",
["null", 151, 104, 5],
["return", 151, 104, 5]
],
"name": "check_mach_stale",
"filename": "internal/bootstrap.cm",
"nr_args": 0
},
{
"disruption_pc": 0,
"nr_slots": 98,
"nr_close_slots": 0,
"instructions": [
["get", 14, 7, 1, 111, 20],
["frame", 15, 14, 2, 111, 20],
["null", 16, 111, 20],
["setarg", 15, 0, 16, 111, 20],
["setarg", 15, 1, 1, 111, 20],
["setarg", 15, 2, 2, 111, 20],
["invoke", 15, 13, 111, 20],
["move", 4, 13, 111, 20],
["load_field", 17, 4, "tokens", 112, 23],
["get", 18, 7, 1, 112, 57],
["get", 20, 5, 1, 112, 13],
["frame", 21, 20, 4, 112, 13],
["null", 22, 112, 13],
["setarg", 21, 0, 22, 112, 13],
["setarg", 21, 1, 17, 112, 13],
["setarg", 21, 2, 1, 112, 13],
["setarg", 21, 3, 2, 112, 13],
["setarg", 21, 4, 18, 112, 13],
["invoke", 21, 19, 112, 13],
["move", 11, 19, 112, 13],
["access", 7, 0, 113, 12],
["access", 8, -1, 114, 19],
["null", 6, 115, 18],
["null", 12, 116, 11],
["null", 3, 117, 13],
["null", 5, 118, 14],
["null", 9, 119, 13],
["load_field", 23, 11, "errors", 120, 20],
["null", 24, 120, 34],
["is_identical", 25, 23, 24, 120, 34],
["jump_true", 25, "ne_nid_144", 120, 34],
["jump", "ne_ni_145", 120, 34],
"ne_nid_144",
["false", 25, 120, 34],
["jump", "ne_done_143", 120, 34],
"ne_ni_145",
["is_int", 26, 23, 120, 34],
["jump_false", 26, "ne_nn_146", 120, 34],
["is_int", 27, 24, 120, 34],
["jump_false", 27, "ne_nn_146", 120, 34],
["ne_int", 25, 23, 24, 120, 34],
["jump", "ne_done_143", 120, 34],
"ne_nn_146",
["is_num", 26, 23, 120, 34],
["jump_false", 26, "ne_nt_147", 120, 34],
["is_num", 27, 24, 120, 34],
["jump_false", 27, "ne_nt_147", 120, 34],
["ne_float", 25, 23, 24, 120, 34],
["jump", "ne_done_143", 120, 34],
"ne_nt_147",
["is_text", 26, 23, 120, 34],
["jump_false", 26, "ne_nnl_148", 120, 34],
["is_text", 27, 24, 120, 34],
["jump_false", 27, "ne_nnl_148", 120, 34],
["ne_text", 25, 23, 24, 120, 34],
["jump", "ne_done_143", 120, 34],
"ne_nnl_148",
["is_null", 26, 23, 120, 34],
["jump_false", 26, "ne_nb_149", 120, 34],
["is_null", 27, 24, 120, 34],
["jump_false", 27, "ne_nb_149", 120, 34],
["false", 25, 120, 34],
["jump", "ne_done_143", 120, 34],
"ne_nb_149",
["is_bool", 26, 23, 120, 34],
["jump_false", 26, "ne_mis_150", 120, 34],
["is_bool", 27, 24, 120, 34],
["jump_false", 27, "ne_mis_150", 120, 34],
["ne_bool", 25, 23, 24, 120, 34],
["jump", "ne_done_143", 120, 34],
"ne_mis_150",
["true", 25, 120, 34],
"ne_done_143",
["move", 28, 25, 120, 34],
["jump_false", 28, "and_end_142", 120, 34],
["load_field", 29, 11, "errors", 120, 49],
["length", 30, 29, 120, 49],
["access", 31, 0, 120, 63],
"_nop_tc_1",
"_nop_tc_2",
"_nop_tc_3",
["jump", "rel_ni_151", 120, 63],
["gt_int", 32, 30, 31, 120, 63],
["jump", "rel_done_153", 120, 63],
"rel_ni_151",
["is_num", 33, 30, 120, 63],
["jump_false", 33, "rel_nn_152", 120, 63],
["is_num", 34, 31, 120, 63],
["jump_false", 34, "rel_nn_152", 120, 63],
["gt_float", 32, 30, 31, 120, 63],
["jump", "rel_done_153", 120, 63],
"rel_nn_152",
["is_text", 33, 30, 120, 63],
["jump_false", 33, "rel_err_154", 120, 63],
["is_text", 34, 31, 120, 63],
["jump_false", 34, "rel_err_154", 120, 63],
["gt_text", 32, 30, 31, 120, 63],
["jump", "rel_done_153", 120, 63],
"rel_err_154",
["disrupt", 120, 63],
"rel_done_153",
["move", 28, 32, 120, 63],
"and_end_142",
["move", 10, 28, 120, 63],
["jump_false", 10, "if_else_155", 121, 7],
"while_start_157",
["load_field", 35, 11, "errors", 122, 24],
["length", 36, 35, 122, 24],
["is_int", 38, 7, 122, 24],
["jump_false", 38, "rel_ni_159", 122, 24],
"_nop_tc_4",
"_nop_tc_5",
["lt_int", 37, 7, 36, 122, 24],
["jump", "rel_done_161", 122, 24],
"rel_ni_159",
["is_num", 38, 7, 122, 24],
["jump_false", 38, "rel_nn_160", 122, 24],
["is_num", 39, 36, 122, 24],
["jump_false", 39, "rel_nn_160", 122, 24],
["lt_float", 37, 7, 36, 122, 24],
["jump", "rel_done_161", 122, 24],
"rel_nn_160",
["is_text", 38, 7, 122, 24],
["jump_false", 38, "rel_err_162", 122, 24],
["is_text", 39, 36, 122, 24],
["jump_false", 39, "rel_err_162", 122, 24],
["lt_text", 37, 7, 36, 122, 24],
["jump", "rel_done_161", 122, 24],
"rel_err_162",
["disrupt", 122, 24],
"rel_done_161",
["jump_false", 37, "while_end_158", 122, 24],
["load_field", 40, 11, "errors", 123, 11],
["load_dynamic", 41, 40, 7, 123, 22],
["move", 12, 41, 123, 22],
["load_field", 42, 12, "message", 124, 13],
["move", 3, 42, 124, 13],
["load_field", 43, 12, "line", 125, 14],
["move", 5, 43, 125, 14],
["load_field", 44, 12, "column", 126, 13],
["move", 9, 44, 126, 13],
["is_identical", 45, 3, 6, 127, 18],
["jump_true", 45, "ne_nid_167", 127, 18],
["jump", "ne_ni_168", 127, 18],
"ne_nid_167",
["false", 45, 127, 18],
["jump", "ne_done_166", 127, 18],
"ne_ni_168",
["is_int", 46, 3, 127, 18],
["jump_false", 46, "ne_nn_169", 127, 18],
["is_int", 47, 6, 127, 18],
["jump_false", 47, "ne_nn_169", 127, 18],
["ne_int", 45, 3, 6, 127, 18],
["jump", "ne_done_166", 127, 18],
"ne_nn_169",
["is_num", 46, 3, 127, 18],
["jump_false", 46, "ne_nt_170", 127, 18],
["is_num", 47, 6, 127, 18],
["jump_false", 47, "ne_nt_170", 127, 18],
["ne_float", 45, 3, 6, 127, 18],
["jump", "ne_done_166", 127, 18],
"ne_nt_170",
["is_text", 46, 3, 127, 18],
["jump_false", 46, "ne_nnl_171", 127, 18],
["is_text", 47, 6, 127, 18],
["jump_false", 47, "ne_nnl_171", 127, 18],
["ne_text", 45, 3, 6, 127, 18],
["jump", "ne_done_166", 127, 18],
"ne_nnl_171",
["is_null", 46, 3, 127, 18],
["jump_false", 46, "ne_nb_172", 127, 18],
["is_null", 47, 6, 127, 18],
["jump_false", 47, "ne_nb_172", 127, 18],
["false", 45, 127, 18],
["jump", "ne_done_166", 127, 18],
"ne_nb_172",
["is_bool", 46, 3, 127, 18],
["jump_false", 46, "ne_mis_173", 127, 18],
["is_bool", 47, 6, 127, 18],
["jump_false", 47, "ne_mis_173", 127, 18],
["ne_bool", 45, 3, 6, 127, 18],
["jump", "ne_done_166", 127, 18],
"ne_mis_173",
["true", 45, 127, 18],
"ne_done_166",
["move", 48, 45, 127, 18],
["jump_true", 48, "or_end_165", 127, 18],
["is_identical", 49, 5, 8, 127, 38],
["jump_true", 49, "ne_nid_175", 127, 38],
["jump", "ne_ni_176", 127, 38],
"ne_nid_175",
["false", 49, 127, 38],
["jump", "ne_done_174", 127, 38],
"ne_ni_176",
["is_int", 50, 5, 127, 38],
["jump_false", 50, "ne_nn_177", 127, 38],
["is_int", 51, 8, 127, 38],
["jump_false", 51, "ne_nn_177", 127, 38],
["ne_int", 49, 5, 8, 127, 38],
["jump", "ne_done_174", 127, 38],
"ne_nn_177",
["is_num", 50, 5, 127, 38],
["jump_false", 50, "ne_nt_178", 127, 38],
["is_num", 51, 8, 127, 38],
["jump_false", 51, "ne_nt_178", 127, 38],
["ne_float", 49, 5, 8, 127, 38],
["jump", "ne_done_174", 127, 38],
"ne_nt_178",
["is_text", 50, 5, 127, 38],
["jump_false", 50, "ne_nnl_179", 127, 38],
["is_text", 51, 8, 127, 38],
["jump_false", 51, "ne_nnl_179", 127, 38],
["ne_text", 49, 5, 8, 127, 38],
["jump", "ne_done_174", 127, 38],
"ne_nnl_179",
["is_null", 50, 5, 127, 38],
["jump_false", 50, "ne_nb_180", 127, 38],
["is_null", 51, 8, 127, 38],
["jump_false", 51, "ne_nb_180", 127, 38],
["false", 49, 127, 38],
["jump", "ne_done_174", 127, 38],
"ne_nb_180",
["is_bool", 50, 5, 127, 38],
["jump_false", 50, "ne_mis_181", 127, 38],
["is_bool", 51, 8, 127, 38],
["jump_false", 51, "ne_mis_181", 127, 38],
["ne_bool", 49, 5, 8, 127, 38],
["jump", "ne_done_174", 127, 38],
"ne_mis_181",
["true", 49, 127, 38],
"ne_done_174",
["move", 48, 49, 127, 38],
"or_end_165",
["jump_false", 48, "if_else_163", 127, 38],
["null", 52, 128, 21],
["is_identical", 53, 5, 52, 128, 21],
["jump_true", 53, "ne_nid_186", 128, 21],
["jump", "ne_ni_187", 128, 21],
"ne_nid_186",
["false", 53, 128, 21],
["jump", "ne_done_185", 128, 21],
"ne_ni_187",
["is_int", 54, 5, 128, 21],
["jump_false", 54, "ne_nn_188", 128, 21],
["is_int", 55, 52, 128, 21],
["jump_false", 55, "ne_nn_188", 128, 21],
["ne_int", 53, 5, 52, 128, 21],
["jump", "ne_done_185", 128, 21],
"ne_nn_188",
["is_num", 54, 5, 128, 21],
["jump_false", 54, "ne_nt_189", 128, 21],
["is_num", 55, 52, 128, 21],
["jump_false", 55, "ne_nt_189", 128, 21],
["ne_float", 53, 5, 52, 128, 21],
["jump", "ne_done_185", 128, 21],
"ne_nt_189",
["is_text", 54, 5, 128, 21],
["jump_false", 54, "ne_nnl_190", 128, 21],
["is_text", 55, 52, 128, 21],
["jump_false", 55, "ne_nnl_190", 128, 21],
["ne_text", 53, 5, 52, 128, 21],
["jump", "ne_done_185", 128, 21],
"ne_nnl_190",
["is_null", 54, 5, 128, 21],
["jump_false", 54, "ne_nb_191", 128, 21],
["is_null", 55, 52, 128, 21],
["jump_false", 55, "ne_nb_191", 128, 21],
["false", 53, 128, 21],
["jump", "ne_done_185", 128, 21],
"ne_nb_191",
["is_bool", 54, 5, 128, 21],
["jump_false", 54, "ne_mis_192", 128, 21],
["is_bool", 55, 52, 128, 21],
["jump_false", 55, "ne_mis_192", 128, 21],
["ne_bool", 53, 5, 52, 128, 21],
["jump", "ne_done_185", 128, 21],
"ne_mis_192",
["true", 53, 128, 21],
"ne_done_185",
["move", 56, 53, 128, 21],
["jump_false", 56, "and_end_184", 128, 21],
["null", 57, 128, 36],
["is_identical", 58, 9, 57, 128, 36],
["jump_true", 58, "ne_nid_194", 128, 36],
["jump", "ne_ni_195", 128, 36],
"ne_nid_194",
["false", 58, 128, 36],
["jump", "ne_done_193", 128, 36],
"ne_ni_195",
["is_int", 59, 9, 128, 36],
["jump_false", 59, "ne_nn_196", 128, 36],
["is_int", 60, 57, 128, 36],
["jump_false", 60, "ne_nn_196", 128, 36],
["ne_int", 58, 9, 57, 128, 36],
["jump", "ne_done_193", 128, 36],
"ne_nn_196",
["is_num", 59, 9, 128, 36],
["jump_false", 59, "ne_nt_197", 128, 36],
["is_num", 60, 57, 128, 36],
["jump_false", 60, "ne_nt_197", 128, 36],
["ne_float", 58, 9, 57, 128, 36],
["jump", "ne_done_193", 128, 36],
"ne_nt_197",
["is_text", 59, 9, 128, 36],
["jump_false", 59, "ne_nnl_198", 128, 36],
["is_text", 60, 57, 128, 36],
["jump_false", 60, "ne_nnl_198", 128, 36],
["ne_text", 58, 9, 57, 128, 36],
["jump", "ne_done_193", 128, 36],
"ne_nnl_198",
["is_null", 59, 9, 128, 36],
["jump_false", 59, "ne_nb_199", 128, 36],
["is_null", 60, 57, 128, 36],
["jump_false", 60, "ne_nb_199", 128, 36],
["false", 58, 128, 36],
["jump", "ne_done_193", 128, 36],
"ne_nb_199",
["is_bool", 59, 9, 128, 36],
["jump_false", 59, "ne_mis_200", 128, 36],
["is_bool", 60, 57, 128, 36],
["jump_false", 60, "ne_mis_200", 128, 36],
["ne_bool", 58, 9, 57, 128, 36],
["jump", "ne_done_193", 128, 36],
"ne_mis_200",
["true", 58, 128, 36],
"ne_done_193",
["move", 56, 58, 128, 36],
"and_end_184",
["jump_false", 56, "if_else_182", 128, 36],
[
"access",
62,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["frame", 63, 62, 1, 1, 1],
["null", 64, 1, 1],
["setarg", 63, 0, 64, 1, 1],
["setarg", 63, 1, 5, 1, 1],
["invoke", 63, 61, 1, 1],
[
"access",
66,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["frame", 67, 66, 1, 1, 1],
["null", 68, 1, 1],
["setarg", 67, 0, 68, 1, 1],
["setarg", 67, 1, 9, 1, 1],
["invoke", 67, 65, 1, 1],
["array", 69, 0, 1, 1],
["push", 69, 2, 1, 1],
["push", 69, 61, 1, 1],
["push", 69, 65, 1, 1],
["push", 69, 3, 1, 1],
[
"access",
70,
{
"name": "format",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["access", 71, "{0}:{1}:{2}: error: {3}", 1, 1],
["frame", 73, 70, 2, 1, 1],
["null", 74, 1, 1],
["setarg", 73, 0, 74, 1, 1],
["setarg", 73, 1, 71, 1, 1],
["setarg", 73, 2, 69, 1, 1],
["invoke", 73, 72, 1, 1],
[
"access",
76,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
129,
11
],
["frame", 77, 76, 1, 129, 11],
["null", 78, 129, 11],
["setarg", 77, 0, 78, 129, 11],
["setarg", 77, 1, 72, 129, 11],
["invoke", 77, 75, 129, 11],
["jump", "if_end_183", 129, 11],
"if_else_182",
["array", 79, 0, 1, 1],
["push", 79, 2, 1, 1],
["push", 79, 3, 1, 1],
[
"access",
80,
{
"name": "format",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["access", 81, "{0}: error: {1}", 1, 1],
["frame", 83, 80, 2, 1, 1],
["null", 84, 1, 1],
["setarg", 83, 0, 84, 1, 1],
["setarg", 83, 1, 81, 1, 1],
["setarg", 83, 2, 79, 1, 1],
["invoke", 83, 82, 1, 1],
[
"access",
86,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
131,
11
],
["frame", 87, 86, 1, 131, 11],
["null", 88, 131, 11],
["setarg", 87, 0, 88, 131, 11],
["setarg", 87, 1, 82, 131, 11],
["invoke", 87, 85, 131, 11],
"if_end_183",
["jump", "if_end_164", 131, 11],
"if_else_163",
"if_end_164",
["move", 8, 5, 134, 19],
["move", 6, 3, 135, 18],
["access", 89, 1, 136, 17],
["is_int", 91, 7, 136, 17],
["jump_false", 91, "add_ni_201", 136, 17],
["add_int", 90, 7, 89, 136, 17],
["jump", "add_done_203", 136, 17],
"add_ni_201",
["is_text", 91, 7, 136, 17],
["jump_false", 91, "add_nt_202", 136, 17],
["is_text", 92, 89, 136, 17],
["jump_false", 92, "add_nt_202", 136, 17],
["concat", 90, 7, 89, 136, 17],
["jump", "add_done_203", 136, 17],
"add_nt_202",
["is_num", 91, 7, 136, 17],
["jump_false", 91, "add_err_204", 136, 17],
["add_float", 90, 7, 89, 136, 17],
["jump", "add_done_203", 136, 17],
"add_err_204",
["disrupt", 136, 17],
"add_done_203",
["move", 7, 90, 136, 17],
["jump", "while_start_157", 136, 17],
"while_end_158",
["disrupt", 138, 5],
["jump", "if_end_156", 138, 5],
"if_else_155",
"if_end_156",
["get", 94, 2, 1, 140, 9],
["frame", 95, 94, 1, 140, 9],
["null", 96, 140, 9],
["setarg", 95, 0, 96, 140, 9],
["setarg", 95, 1, 11, 140, 9],
["invoke", 95, 93, 140, 9],
["move", 11, 93, 140, 9],
["return", 11, 141, 10],
["null", 97, 141, 10],
["return", 97, 141, 10]
],
"name": "analyze",
"filename": "internal/bootstrap.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 46,
"nr_close_slots": 0,
"instructions": [
["get", 7, 10, 1, 153, 18],
["frame", 8, 7, 1, 153, 18],
["null", 9, 153, 18],
["setarg", 8, 0, 9, 153, 18],
["setarg", 8, 1, 2, 153, 18],
["invoke", 8, 6, 153, 18],
["move", 4, 6, 153, 18],
[
"access",
10,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
154,
7
],
["load_field", 11, 10, "_verify_ir", 154, 7],
["jump_false", 11, "if_else_205", 154, 7],
["get", 12, 8, 1, 155, 9],
["null", 13, 155, 27],
["is_identical", 14, 12, 13, 155, 27],
["jump_true", 14, "eq_done_209", 155, 27],
["is_int", 15, 12, 155, 27],
["jump_false", 15, "eq_ni_210", 155, 27],
"_nop_tc_1",
["jump", "eq_ni_210", 155, 27],
["eq_int", 14, 12, 13, 155, 27],
["jump", "eq_done_209", 155, 27],
"eq_ni_210",
["is_num", 15, 12, 155, 27],
["jump_false", 15, "eq_nn_211", 155, 27],
["is_num", 16, 13, 155, 27],
["jump_false", 16, "eq_nn_211", 155, 27],
["eq_float", 14, 12, 13, 155, 27],
["jump", "eq_done_209", 155, 27],
"eq_nn_211",
["is_text", 15, 12, 155, 27],
["jump_false", 15, "eq_nt_212", 155, 27],
["is_text", 16, 13, 155, 27],
["jump_false", 16, "eq_nt_212", 155, 27],
["eq_text", 14, 12, 13, 155, 27],
["jump", "eq_done_209", 155, 27],
"eq_nt_212",
["is_null", 15, 12, 155, 27],
["jump_false", 15, "eq_nnl_213", 155, 27],
["is_null", 16, 13, 155, 27],
["jump_false", 16, "eq_nnl_213", 155, 27],
["true", 14, 155, 27],
["jump", "eq_done_209", 155, 27],
"eq_nnl_213",
["is_bool", 15, 12, 155, 27],
["jump_false", 15, "eq_nb_214", 155, 27],
["is_bool", 16, 13, 155, 27],
["jump_false", 16, "eq_nb_214", 155, 27],
["eq_bool", 14, 12, 13, 155, 27],
["jump", "eq_done_209", 155, 27],
"eq_nb_214",
["false", 14, 155, 27],
"eq_done_209",
["jump_false", 14, "if_else_207", 155, 27],
["access", 17, "verify_ir", 156, 34],
["get", 18, 13, 1, 156, 47],
["get", 20, 17, 1, 156, 24],
["frame", 21, 20, 2, 156, 24],
["null", 22, 156, 24],
["setarg", 21, 0, 22, 156, 24],
["setarg", 21, 1, 17, 156, 24],
["setarg", 21, 2, 18, 156, 24],
["invoke", 21, 19, 156, 24],
["put", 19, 8, 1, 156, 24],
["jump", "if_end_208", 156, 24],
"if_else_207",
"if_end_208",
["true", 23, 158, 24],
["store_field", 4, 23, "_verify", 158, 5],
["get", 24, 8, 1, 159, 28],
["store_field", 4, 24, "_verify_mod", 159, 5],
["jump", "if_end_206", 159, 5],
"if_else_205",
"if_end_206",
["get", 26, 20, 1, 161, 19],
["frame", 27, 26, 1, 161, 19],
["null", 28, 161, 19],
["setarg", 27, 0, 28, 161, 19],
["setarg", 27, 1, 4, 161, 19],
["invoke", 27, 25, 161, 19],
["move", 5, 25, 161, 19],
["load_field", 29, 5, "_verify", 163, 7],
["jump_false", 29, "if_else_215", 163, 7],
["delete", 30, 5, "_verify"],
["delete", 31, 5, "_verify_mod"],
["jump", "if_end_216", 165, 12],
"if_else_215",
"if_end_216",
["get", 33, 21, 1, 167, 32],
["is_proxy", 34, 33, 167, 32],
["jump_false", 34, "record_path_217", 167, 32],
["null", 35, 167, 32],
["access", 36, "encode", 167, 32],
["array", 37, 0, 167, 32],
["push", 37, 5, 167, 32],
["frame", 38, 33, 2, 167, 32],
["setarg", 38, 0, 35, 167, 32],
["setarg", 38, 1, 36, 167, 32],
["setarg", 38, 2, 37, 167, 32],
["invoke", 38, 32, 167, 32],
["jump", "call_done_218", 167, 32],
"record_path_217",
["load_field", 39, 33, "encode", 167, 32],
["frame", 40, 39, 1, 167, 32],
["setarg", 40, 0, 33, 167, 32],
["setarg", 40, 1, 5, 167, 32],
["invoke", 40, 32, 167, 32],
"call_done_218",
[
"access",
42,
{
"name": "mach_eval_mcode",
"kind": "name",
"make": "intrinsic"
},
167,
10
],
["frame", 43, 42, 3, 167, 10],
["null", 44, 167, 10],
["setarg", 43, 0, 44, 167, 10],
["setarg", 43, 1, 1, 167, 10],
["setarg", 43, 2, 32, 167, 10],
["setarg", 43, 3, 3, 167, 10],
["invoke", 43, 41, 167, 10],
["return", 41, 167, 10],
["null", 45, 167, 10],
["return", 45, 167, 10]
],
"name": "run_ast",
"filename": "internal/bootstrap.cm",
"nr_args": 3
},
{
"disruption_pc": 0,
"nr_slots": 23,
"nr_close_slots": 0,
"instructions": [
["get", 6, 10, 1, 172, 18],
["frame", 7, 6, 1, 172, 18],
["null", 8, 172, 18],
["setarg", 7, 0, 8, 172, 18],
["setarg", 7, 1, 2, 172, 18],
["invoke", 7, 5, 172, 18],
["move", 4, 5, 172, 18],
["get", 10, 21, 1, 173, 32],
["is_proxy", 11, 10, 173, 32],
["jump_false", 11, "record_path_219", 173, 32],
["null", 12, 173, 32],
["access", 13, "encode", 173, 32],
["array", 14, 0, 173, 32],
["push", 14, 4, 173, 32],
["frame", 15, 10, 2, 173, 32],
["setarg", 15, 0, 12, 173, 32],
["setarg", 15, 1, 13, 173, 32],
["setarg", 15, 2, 14, 173, 32],
["invoke", 15, 9, 173, 32],
["jump", "call_done_220", 173, 32],
"record_path_219",
["load_field", 16, 10, "encode", 173, 32],
["frame", 17, 16, 1, 173, 32],
["setarg", 17, 0, 10, 173, 32],
["setarg", 17, 1, 4, 173, 32],
["invoke", 17, 9, 173, 32],
"call_done_220",
[
"access",
19,
{
"name": "mach_eval_mcode",
"kind": "name",
"make": "intrinsic"
},
173,
10
],
["frame", 20, 19, 3, 173, 10],
["null", 21, 173, 10],
["setarg", 20, 0, 21, 173, 10],
["setarg", 20, 1, 1, 173, 10],
["setarg", 20, 2, 9, 173, 10],
["setarg", 20, 3, 3, 173, 10],
["invoke", 20, 18, 173, 10],
["return", 18, 173, 10],
["null", 22, 173, 10],
["return", 22, 173, 10]
],
"name": "run_ast_noopt",
"filename": "internal/bootstrap.cm",
"nr_args": 3
},
{
"disruption_pc": 0,
"nr_slots": 95,
"nr_close_slots": 0,
"instructions": [
[
"access",
8,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
178,
21
],
["access", 9, "/internal/engine.cm.mach", 178, 33],
["is_int", 11, 8, 178, 33],
["jump_false", 11, "add_ni_221", 178, 33],
"_nop_tc_1",
["jump", "add_ni_221", 178, 33],
["add_int", 10, 8, 9, 178, 33],
["jump", "add_done_223", 178, 33],
"add_ni_221",
["is_text", 11, 8, 178, 33],
["jump_false", 11, "add_nt_222", 178, 33],
["concat", 10, 8, 9, 178, 33],
["jump", "add_done_223", 178, 33],
"add_nt_222",
["is_num", 11, 8, 178, 33],
["jump_false", 11, "add_err_224", 178, 33],
["is_num", 12, 9, 178, 33],
["jump_false", 12, "add_err_224", 178, 33],
["add_float", 10, 8, 9, 178, 33],
["jump", "add_done_223", 178, 33],
"add_err_224",
["disrupt", 178, 33],
"add_done_223",
["move", 3, 10, 178, 33],
[
"access",
13,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
179,
20
],
["access", 14, "/internal/engine.cm.mcode", 179, 32],
["is_int", 16, 13, 179, 32],
["jump_false", 16, "add_ni_225", 179, 32],
"_nop_tc_2",
["jump", "add_ni_225", 179, 32],
["add_int", 15, 13, 14, 179, 32],
["jump", "add_done_227", 179, 32],
"add_ni_225",
["is_text", 16, 13, 179, 32],
["jump_false", 16, "add_nt_226", 179, 32],
["concat", 15, 13, 14, 179, 32],
["jump", "add_done_227", 179, 32],
"add_nt_226",
["is_num", 16, 13, 179, 32],
["jump_false", 16, "add_err_228", 179, 32],
["is_num", 17, 14, 179, 32],
["jump_false", 17, "add_err_228", 179, 32],
["add_float", 15, 13, 14, 179, 32],
["jump", "add_done_227", 179, 32],
"add_err_228",
["disrupt", 179, 32],
"add_done_227",
["move", 7, 15, 179, 32],
["null", 2, 180, 14],
["null", 6, 181, 20],
["null", 4, 182, 20],
["null", 5, 183, 20],
["get", 19, 4, 1, 184, 7],
["is_proxy", 20, 19, 184, 7],
["jump_false", 20, "record_path_231", 184, 7],
["null", 21, 184, 7],
["access", 22, "is_file", 184, 7],
["array", 23, 0, 184, 7],
["push", 23, 3, 184, 7],
["frame", 24, 19, 2, 184, 7],
["setarg", 24, 0, 21, 184, 7],
["setarg", 24, 1, 22, 184, 7],
["setarg", 24, 2, 23, 184, 7],
["invoke", 24, 18, 184, 7],
["jump", "call_done_232", 184, 7],
"record_path_231",
["load_field", 25, 19, "is_file", 184, 7],
["frame", 26, 25, 1, 184, 7],
["setarg", 26, 0, 19, 184, 7],
["setarg", 26, 1, 3, 184, 7],
["invoke", 26, 18, 184, 7],
"call_done_232",
["jump_false", 18, "if_else_229", 184, 7],
["get", 28, 4, 1, 185, 12],
["is_proxy", 29, 28, 185, 12],
["jump_false", 29, "record_path_233", 185, 12],
["null", 30, 185, 12],
["access", 31, "slurp", 185, 12],
["array", 32, 0, 185, 12],
["push", 32, 3, 185, 12],
["frame", 33, 28, 2, 185, 12],
["setarg", 33, 0, 30, 185, 12],
["setarg", 33, 1, 31, 185, 12],
["setarg", 33, 2, 32, 185, 12],
["invoke", 33, 27, 185, 12],
["jump", "call_done_234", 185, 12],
"record_path_233",
["load_field", 34, 28, "slurp", 185, 12],
["frame", 35, 34, 1, 185, 12],
["setarg", 35, 0, 28, 185, 12],
["setarg", 35, 1, 3, 185, 12],
["invoke", 35, 27, 185, 12],
"call_done_234",
["move", 2, 27, 185, 12],
[
"access",
37,
{
"name": "mach_load",
"kind": "name",
"make": "intrinsic"
},
186,
12
],
["frame", 38, 37, 2, 186, 12],
["null", 39, 186, 12],
["setarg", 38, 0, 39, 186, 12],
["setarg", 38, 1, 2, 186, 12],
["setarg", 38, 2, 1, 186, 12],
["invoke", 38, 36, 186, 12],
["return", 36, 186, 12],
["jump", "if_end_230", 186, 12],
"if_else_229",
"if_end_230",
["get", 41, 4, 1, 188, 7],
["is_proxy", 42, 41, 188, 7],
["jump_false", 42, "record_path_237", 188, 7],
["null", 43, 188, 7],
["access", 44, "is_file", 188, 7],
["array", 45, 0, 188, 7],
["push", 45, 7, 188, 7],
["frame", 46, 41, 2, 188, 7],
["setarg", 46, 0, 43, 188, 7],
["setarg", 46, 1, 44, 188, 7],
["setarg", 46, 2, 45, 188, 7],
["invoke", 46, 40, 188, 7],
["jump", "call_done_238", 188, 7],
"record_path_237",
["load_field", 47, 41, "is_file", 188, 7],
["frame", 48, 47, 1, 188, 7],
["setarg", 48, 0, 41, 188, 7],
["setarg", 48, 1, 7, 188, 7],
["invoke", 48, 40, 188, 7],
"call_done_238",
["jump_false", 40, "if_else_235", 188, 7],
["get", 50, 4, 1, 189, 23],
["is_proxy", 51, 50, 189, 23],
["jump_false", 51, "record_path_239", 189, 23],
["null", 52, 189, 23],
["access", 53, "slurp", 189, 23],
["array", 54, 0, 189, 23],
["push", 54, 7, 189, 23],
["frame", 55, 50, 2, 189, 23],
["setarg", 55, 0, 52, 189, 23],
["setarg", 55, 1, 53, 189, 23],
["setarg", 55, 2, 54, 189, 23],
["invoke", 55, 49, 189, 23],
["jump", "call_done_240", 189, 23],
"record_path_239",
["load_field", 56, 50, "slurp", 189, 23],
["frame", 57, 56, 1, 189, 23],
["setarg", 57, 0, 50, 189, 23],
["setarg", 57, 1, 7, 189, 23],
["invoke", 57, 49, 189, 23],
"call_done_240",
[
"access",
59,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
189,
18
],
["frame", 60, 59, 1, 189, 18],
["null", 61, 189, 18],
["setarg", 60, 0, 61, 189, 18],
["setarg", 60, 1, 49, 189, 18],
["invoke", 60, 58, 189, 18],
["move", 6, 58, 189, 18],
["access", 62, "engine", 190, 28],
[
"access",
64,
{
"name": "mach_eval_mcode",
"kind": "name",
"make": "intrinsic"
},
190,
12
],
["frame", 65, 64, 3, 190, 12],
["null", 66, 190, 12],
["setarg", 65, 0, 66, 190, 12],
["setarg", 65, 1, 62, 190, 12],
["setarg", 65, 2, 6, 190, 12],
["setarg", 65, 3, 1, 190, 12],
["invoke", 65, 63, 190, 12],
["return", 63, 190, 12],
["jump", "if_end_236", 190, 12],
"if_else_235",
"if_end_236",
[
"access",
67,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
192,
17
],
["access", 68, "/internal/engine.cm", 192, 29],
["is_int", 70, 67, 192, 29],
["jump_false", 70, "add_ni_241", 192, 29],
"_nop_tc_3",
["jump", "add_ni_241", 192, 29],
["add_int", 69, 67, 68, 192, 29],
["jump", "add_done_243", 192, 29],
"add_ni_241",
["is_text", 70, 67, 192, 29],
["jump_false", 70, "add_nt_242", 192, 29],
["concat", 69, 67, 68, 192, 29],
["jump", "add_done_243", 192, 29],
"add_nt_242",
["is_num", 70, 67, 192, 29],
["jump_false", 70, "add_err_244", 192, 29],
["is_num", 71, 68, 192, 29],
["jump_false", 71, "add_err_244", 192, 29],
["add_float", 69, 67, 68, 192, 29],
["jump", "add_done_243", 192, 29],
"add_err_244",
["disrupt", 192, 29],
"add_done_243",
["move", 3, 69, 192, 29],
["get", 73, 4, 1, 193, 21],
["is_proxy", 74, 73, 193, 21],
["jump_false", 74, "record_path_245", 193, 21],
["null", 75, 193, 21],
["access", 76, "slurp", 193, 21],
["array", 77, 0, 193, 21],
["push", 77, 3, 193, 21],
["frame", 78, 73, 2, 193, 21],
["setarg", 78, 0, 75, 193, 21],
["setarg", 78, 1, 76, 193, 21],
["setarg", 78, 2, 77, 193, 21],
["invoke", 78, 72, 193, 21],
["jump", "call_done_246", 193, 21],
"record_path_245",
["load_field", 79, 73, "slurp", 193, 21],
["frame", 80, 79, 1, 193, 21],
["setarg", 80, 0, 73, 193, 21],
["setarg", 80, 1, 3, 193, 21],
["invoke", 80, 72, 193, 21],
"call_done_246",
[
"access",
82,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
193,
16
],
["frame", 83, 82, 1, 193, 16],
["null", 84, 193, 16],
["setarg", 83, 0, 84, 193, 16],
["setarg", 83, 1, 72, 193, 16],
["invoke", 83, 81, 193, 16],
["move", 4, 81, 193, 16],
["get", 86, 11, 1, 194, 16],
["frame", 87, 86, 2, 194, 16],
["null", 88, 194, 16],
["setarg", 87, 0, 88, 194, 16],
["setarg", 87, 1, 4, 194, 16],
["setarg", 87, 2, 3, 194, 16],
["invoke", 87, 85, 194, 16],
["move", 5, 85, 194, 16],
["access", 89, "engine", 195, 18],
["get", 91, 14, 1, 195, 10],
["frame", 92, 91, 3, 195, 10],
["null", 93, 195, 10],
["setarg", 92, 0, 93, 195, 10],
["setarg", 92, 1, 89, 195, 10],
["setarg", 92, 2, 5, 195, 10],
["setarg", 92, 3, 1, 195, 10],
["invoke", 92, 90, 195, 10],
["return", 90, 195, 10],
["null", 94, 195, 10],
["return", 94, 195, 10]
],
"name": "load_engine",
"filename": "internal/bootstrap.cm",
"nr_args": 1
}
],
"main": {
"nr_args": 0,
"nr_close_slots": 0,
"nr_slots": 124,
"instructions": [
["function", 23, 0, 0, 0],
["move", 1, 23, 0, 0],
["function", 24, 1, 0, 0],
["move", 3, 24, 0, 0],
["function", 25, 2, 0, 0],
["move", 17, 25, 0, 0],
["function", 26, 3, 0, 0],
["move", 12, 26, 0, 0],
["function", 27, 4, 0, 0],
["move", 11, 27, 0, 0],
["function", 28, 5, 0, 0],
["move", 14, 28, 0, 0],
["function", 29, 6, 0, 0],
["move", 22, 29, 0, 0],
["function", 30, 7, 0, 0],
["move", 6, 30, 0, 0],
[
"access",
31,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
5,
21
],
["load_field", 32, 31, "load_internal", 5, 21],
["move", 9, 32, 5, 21],
["access", 33, "fd", 10, 20],
["frame", 35, 1, 1, 10, 10],
["null", 36, 10, 10],
["setarg", 35, 0, 36, 10, 10],
["setarg", 35, 1, 33, 10, 10],
["invoke", 35, 34, 10, 10],
["move", 4, 34, 10, 10],
["access", 37, "json", 11, 22],
["frame", 39, 1, 1, 11, 12],
["null", 40, 11, 12],
["setarg", 39, 0, 40, 11, 12],
["setarg", 39, 1, 37, 11, 12],
["invoke", 39, 38, 11, 12],
["move", 21, 38, 11, 12],
["record", 41, 0],
["move", 18, 41, 13, 17],
["access", 42, "fd", 14, 11],
["store_field", 18, 4, 42, 14, 11],
[
"access",
43,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
15,
19
],
["access", 44, "os", 15, 11],
["store_field", 18, 43, 44, 15, 11],
["access", 45, "json", 16, 11],
["store_field", 18, 21, 45, 16, 11],
["record", 46, 0],
["store_field", 46, 3, "use", 45, 22],
["move", 13, 46, 45, 22],
["access", 47, "tokenize", 46, 30],
["frame", 49, 17, 2, 46, 20],
["null", 50, 46, 20],
["setarg", 49, 0, 50, 46, 20],
["setarg", 49, 1, 47, 46, 20],
["setarg", 49, 2, 13, 46, 20],
["invoke", 49, 48, 46, 20],
["move", 7, 48, 46, 20],
["access", 51, "parse", 47, 27],
["frame", 53, 17, 2, 47, 17],
["null", 54, 47, 17],
["setarg", 53, 0, 54, 47, 17],
["setarg", 53, 1, 51, 47, 17],
["setarg", 53, 2, 13, 47, 17],
["invoke", 53, 52, 47, 17],
["move", 5, 52, 47, 17],
["access", 55, "fold", 48, 26],
["frame", 57, 17, 2, 48, 16],
["null", 58, 48, 16],
["setarg", 57, 0, 58, 48, 16],
["setarg", 57, 1, 55, 48, 16],
["setarg", 57, 2, 13, 48, 16],
["invoke", 57, 56, 48, 16],
["move", 2, 56, 48, 16],
["access", 59, "tokenize", 49, 11],
["store_field", 18, 7, 59, 49, 11],
["access", 60, "parse", 50, 11],
["store_field", 18, 5, 60, 50, 11],
["access", 61, "fold", 51, 11],
["store_field", 18, 2, 61, 51, 11],
["access", 62, "mcode", 54, 27],
["frame", 64, 17, 2, 54, 17],
["null", 65, 54, 17],
["setarg", 64, 0, 65, 54, 17],
["setarg", 64, 1, 62, 54, 17],
["setarg", 64, 2, 13, 54, 17],
["invoke", 64, 63, 54, 17],
["move", 10, 63, 54, 17],
["access", 66, "mcode", 55, 11],
["store_field", 18, 10, 66, 55, 11],
["null", 20, 56, 22],
["frame", 68, 12, 0, 107, 1],
["null", 69, 107, 1],
["setarg", 68, 0, 69, 107, 1],
["invoke", 68, 67, 107, 1],
["access", 70, "streamline", 145, 28],
["frame", 72, 17, 2, 145, 18],
["null", 73, 145, 18],
["setarg", 72, 0, 73, 145, 18],
["setarg", 72, 1, 70, 145, 18],
["setarg", 72, 2, 13, 145, 18],
["invoke", 72, 71, 145, 18],
["move", 20, 71, 145, 18],
["access", 74, "streamline", 146, 11],
["store_field", 18, 20, 74, 146, 11],
["null", 8, 149, 22],
["null", 19, 200, 15],
["array", 75, 0, 201, 17],
["move", 15, 75, 201, 17],
["access", 16, 0, 202, 10],
[
"access",
76,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
204,
5
],
["null", 77, 204, 13],
["is_identical", 78, 76, 77, 204, 13],
["jump_true", 78, "ne_nid_250", 204, 13],
["jump", "ne_ni_251", 204, 13],
"ne_nid_250",
["false", 78, 204, 13],
["jump", "ne_done_249", 204, 13],
"ne_ni_251",
["is_int", 79, 76, 204, 13],
["jump_false", 79, "ne_nn_252", 204, 13],
["is_int", 80, 77, 204, 13],
["jump_false", 80, "ne_nn_252", 204, 13],
["ne_int", 78, 76, 77, 204, 13],
["jump", "ne_done_249", 204, 13],
"ne_nn_252",
["is_num", 79, 76, 204, 13],
["jump_false", 79, "ne_nt_253", 204, 13],
["is_num", 80, 77, 204, 13],
["jump_false", 80, "ne_nt_253", 204, 13],
["ne_float", 78, 76, 77, 204, 13],
["jump", "ne_done_249", 204, 13],
"ne_nt_253",
["is_text", 79, 76, 204, 13],
["jump_false", 79, "ne_nnl_254", 204, 13],
["is_text", 80, 77, 204, 13],
["jump_false", 80, "ne_nnl_254", 204, 13],
["ne_text", 78, 76, 77, 204, 13],
["jump", "ne_done_249", 204, 13],
"ne_nnl_254",
["is_null", 79, 76, 204, 13],
["jump_false", 79, "ne_nb_255", 204, 13],
["is_null", 80, 77, 204, 13],
["jump_false", 80, "ne_nb_255", 204, 13],
["false", 78, 204, 13],
["jump", "ne_done_249", 204, 13],
"ne_nb_255",
["is_bool", 79, 76, 204, 13],
["jump_false", 79, "ne_mis_256", 204, 13],
["is_bool", 80, 77, 204, 13],
["jump_false", 80, "ne_mis_256", 204, 13],
["ne_bool", 78, 76, 77, 204, 13],
["jump", "ne_done_249", 204, 13],
"ne_mis_256",
["true", 78, 204, 13],
"ne_done_249",
["jump_false", 78, "if_else_247", 204, 13],
[
"access",
81,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
206,
13
],
["access", 82, 0, 206, 18],
["load_index", 83, 81, 82, 206, 18],
["move", 19, 83, 206, 18],
"_nop_bl_1",
["jump_true", 19, "if_else_257", 207, 8],
["access", 85, "error: no program specified\n", 208, 11],
[
"access",
87,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
208,
5
],
["frame", 88, 87, 1, 208, 5],
["null", 89, 208, 5],
["setarg", 88, 0, 89, 208, 5],
["setarg", 88, 1, 85, 208, 5],
["invoke", 88, 86, 208, 5],
["disrupt", 209, 5],
["jump", "if_end_258", 209, 5],
"if_else_257",
"if_end_258",
["access", 90, 1, 211, 8],
["move", 16, 90, 211, 8],
"while_start_259",
[
"access",
91,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
212,
22
],
["length", 92, 91, 212, 22],
["is_int", 94, 16, 212, 22],
["jump_false", 94, "rel_ni_261", 212, 22],
"_nop_tc_1",
"_nop_tc_2",
["lt_int", 93, 16, 92, 212, 22],
["jump", "rel_done_263", 212, 22],
"rel_ni_261",
["is_num", 94, 16, 212, 22],
["jump_false", 94, "rel_nn_262", 212, 22],
["is_num", 95, 92, 212, 22],
["jump_false", 95, "rel_nn_262", 212, 22],
["lt_float", 93, 16, 92, 212, 22],
["jump", "rel_done_263", 212, 22],
"rel_nn_262",
["is_text", 94, 16, 212, 22],
["jump_false", 94, "rel_err_264", 212, 22],
["is_text", 95, 92, 212, 22],
["jump_false", 95, "rel_err_264", 212, 22],
["lt_text", 93, 16, 92, 212, 22],
["jump", "rel_done_263", 212, 22],
"rel_err_264",
["disrupt", 212, 22],
"rel_done_263",
["jump_false", 93, "while_end_260", 212, 22],
[
"access",
96,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
213,
21
],
["load_dynamic", 97, 96, 16, 213, 26],
["is_array", 98, 15, 213, 26],
["jump_false", 98, "push_err_265", 213, 26],
["push", 15, 97, 213, 26],
["jump", "push_done_266", 213, 26],
"push_err_265",
["disrupt", 213, 26],
"push_done_266",
["access", 99, 1, 214, 15],
["is_int", 101, 16, 214, 15],
["jump_false", 101, "add_ni_267", 214, 15],
["add_int", 100, 16, 99, 214, 15],
["jump", "add_done_269", 214, 15],
"add_ni_267",
["is_text", 101, 16, 214, 15],
["jump_false", 101, "add_nt_268", 214, 15],
["is_text", 102, 99, 214, 15],
["jump_false", 102, "add_nt_268", 214, 15],
["concat", 100, 16, 99, 214, 15],
["jump", "add_done_269", 214, 15],
"add_nt_268",
["is_num", 101, 16, 214, 15],
["jump_false", 101, "add_err_270", 214, 15],
["add_float", 100, 16, 99, 214, 15],
["jump", "add_done_269", 214, 15],
"add_err_270",
["disrupt", 214, 15],
"add_done_269",
["move", 16, 100, 214, 15],
["jump", "while_start_259", 214, 15],
"while_end_260",
["record", 103, 0],
[
"access",
104,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
218,
9
],
["store_field", 103, 104, "os", 218, 9],
[
"access",
105,
{
"name": "actorsym",
"kind": "name",
"make": "intrinsic"
},
218,
23
],
["store_field", 103, 105, "actorsym", 218, 23],
["record", 106, 0],
["store_field", 106, 19, "program", 219, 21],
["store_field", 106, 15, "arg", 219, 35],
["store_field", 103, 106, "init", 219, 35],
[
"access",
107,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
220,
16
],
["store_field", 103, 107, "core_path", 220, 16],
[
"access",
108,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
220,
38
],
["store_field", 103, 108, "shop_path", 220, 38],
["store_field", 103, 21, "json", 220, 55],
["store_field", 103, 11, "analyze", 221, 14],
["store_field", 103, 14, "run_ast_fn", 221, 35],
["store_field", 103, 22, "run_ast_noopt_fn", 221, 62],
["store_field", 103, 18, "use_cache", 222, 16],
["frame", 110, 6, 1, 217, 3],
["null", 111, 217, 3],
["setarg", 110, 0, 111, 217, 3],
["setarg", 110, 1, 103, 217, 3],
["invoke", 110, 109, 217, 3],
["jump", "if_end_248", 217, 3],
"if_else_247",
["record", 112, 0],
[
"access",
113,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
227,
9
],
["store_field", 112, 113, "os", 227, 9],
[
"access",
114,
{
"name": "actorsym",
"kind": "name",
"make": "intrinsic"
},
227,
23
],
["store_field", 112, 114, "actorsym", 227, 23],
[
"access",
115,
{
"name": "init",
"kind": "name",
"make": "intrinsic"
},
227,
39
],
["store_field", 112, 115, "init", 227, 39],
[
"access",
116,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
228,
16
],
["store_field", 112, 116, "core_path", 228, 16],
[
"access",
117,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
228,
38
],
["store_field", 112, 117, "shop_path", 228, 38],
["store_field", 112, 21, "json", 228, 55],
[
"access",
118,
{
"name": "nota",
"kind": "name",
"make": "intrinsic"
},
228,
67
],
["store_field", 112, 118, "nota", 228, 67],
[
"access",
119,
{
"name": "wota",
"kind": "name",
"make": "intrinsic"
},
228,
79
],
["store_field", 112, 119, "wota", 228, 79],
["store_field", 112, 11, "analyze", 229, 14],
["store_field", 112, 14, "run_ast_fn", 229, 35],
["store_field", 112, 22, "run_ast_noopt_fn", 229, 62],
["store_field", 112, 18, "use_cache", 230, 16],
["frame", 121, 6, 1, 226, 3],
["null", 122, 226, 3],
["setarg", 121, 0, 122, 226, 3],
["setarg", 121, 1, 112, 226, 3],
["invoke", 121, 120, 226, 3],
"if_end_248",
["null", 123, 226, 3],
["return", 123, 226, 3]
]
},
"filename": "internal/bootstrap.cm",
"data": {}
}