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

2232 lines
79 KiB
Plaintext

{
"name": "internal/bootstrap.cm",
"functions": [
{
"disruption_pc": 0,
"nr_slots": 15,
"nr_close_slots": 0,
"instructions": [
["access", 2, "js_core_", 7, 24],
"_nop_tc_1",
"_nop_tc_2",
["is_text", 5, 1, 7, 37],
["jump_false", 5, "add_cn_1", 7, 37],
["concat", 3, 2, 1, 7, 37],
["jump", "add_done_0", 7, 37],
"add_cn_1",
"_nop_tc_3",
["jump", "add_err_2", 7, 37],
["is_num", 5, 1, 7, 37],
["jump_false", 5, "add_err_2", 7, 37],
["add", 3, 2, 1, 7, 37],
["jump", "add_done_0", 7, 37],
"add_err_2",
["disrupt", 7, 37],
"add_done_0",
["access", 6, "_use", 7, 44],
["is_text", 8, 3, 7, 44],
["jump_false", 8, "add_cn_4", 7, 44],
"_nop_tc_4",
"_nop_tc_5",
["concat", 7, 3, 6, 7, 44],
["jump", "add_done_3", 7, 44],
"add_cn_4",
["is_num", 8, 3, 7, 44],
["jump_false", 8, "add_err_5", 7, 44],
"_nop_tc_6",
["jump", "add_err_5", 7, 44],
["add", 7, 3, 6, 7, 44],
["jump", "add_done_3", 7, 44],
"add_err_5",
["disrupt", 7, 44],
"add_done_3",
["get", 11, 16, 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],
["tail_invoke", 12, 10, 7, 10],
["return", 10, 7, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "use_embed",
"filename": "internal/bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 17,
"nr_close_slots": 0,
"instructions": [
["get", 3, 10, 1, 21, 15],
["is_proxy", 4, 3, 21, 15],
["jump_false", 4, "record_path_6", 21, 15],
["null", 5, 21, 15],
["access", 6, "blake2", 21, 15],
["array", 7, 0, 21, 15],
["push", 7, 1, 21, 15],
["frame", 8, 3, 2, 21, 15],
["setarg", 8, 0, 5, 21, 15],
["setarg", 8, 1, 6, 21, 15],
["setarg", 8, 2, 7, 21, 15],
["invoke", 8, 2, 21, 15],
["jump", "call_done_7", 21, 15],
"record_path_6",
["load_field", 9, 3, "blake2", 21, 15],
["frame", 10, 9, 1, 21, 15],
["setarg", 10, 0, 3, 21, 15],
["setarg", 10, 1, 1, 21, 15],
["invoke", 10, 2, 21, 15],
"call_done_7",
["access", 11, "h", 21, 39],
["access", 13, {"name":"text","kind":"name","make":"intrinsic"}, 21, 10],
["frame", 14, 13, 2, 21, 10],
["null", 15, 21, 10],
["setarg", 14, 0, 15, 21, 10],
["setarg", 14, 1, 2, 21, 10],
["setarg", 14, 2, 11, 21, 10],
["tail_invoke", 14, 12, 21, 10],
["return", 12, 21, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "content_hash",
"filename": "internal/bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 14,
"nr_close_slots": 0,
"instructions": [
["access", 2, {"name":"shop_path","kind":"name","make":"intrinsic"}, 25, 8],
"_nop_bl_1",
["jump_true", 2, "if_else_8", 25, 8],
["null", 4, 25, 26],
["return", 4, 25, 26],
"_nop_ur_1",
"if_else_8",
"if_end_9",
["access", 5, {"name":"shop_path","kind":"name","make":"intrinsic"}, 26, 10],
["access", 6, "/build/", 26, 22],
["is_text", 8, 5, 26, 22],
["jump_false", 8, "add_cn_11", 26, 22],
"_nop_tc_1",
"_nop_tc_2",
["concat", 7, 5, 6, 26, 22],
["jump", "add_done_10", 26, 22],
"add_cn_11",
["is_num", 8, 5, 26, 22],
["jump_false", 8, "add_err_12", 26, 22],
"_nop_tc_3",
["jump", "add_err_12", 26, 22],
["add", 7, 5, 6, 26, 22],
["jump", "add_done_10", 26, 22],
"add_err_12",
["disrupt", 26, 22],
"add_done_10",
["is_text", 11, 7, 26, 34],
["jump_false", 11, "add_cn_14", 26, 34],
["is_text", 12, 1, 26, 34],
["jump_false", 12, "add_cn_14", 26, 34],
["concat", 10, 7, 1, 26, 34],
["jump", "add_done_13", 26, 34],
"add_cn_14",
["is_num", 11, 7, 26, 34],
["jump_false", 11, "add_err_15", 26, 34],
["is_num", 12, 1, 26, 34],
["jump_false", 12, "add_err_15", 26, 34],
["add", 10, 7, 1, 26, 34],
["jump", "add_done_13", 26, 34],
"add_err_15",
["disrupt", 26, 34],
"add_done_13",
["return", 10, 26, 34],
"_nop_ur_2",
"_nop_ur_3"
],
"name": "cache_path",
"filename": "internal/bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 30,
"nr_close_slots": 0,
"instructions": [
["access", 2, {"name":"shop_path","kind":"name","make":"intrinsic"}, 30, 8],
"_nop_bl_1",
["jump_true", 2, "if_else_16", 30, 8],
["null", 4, 30, 26],
["return", 4, 30, 26],
"_nop_ur_1",
"if_else_16",
"if_end_17",
["access", 5, {"name":"shop_path","kind":"name","make":"intrinsic"}, 31, 13],
["access", 6, "/build", 31, 25],
["is_text", 8, 5, 31, 25],
["jump_false", 8, "add_cn_19", 31, 25],
"_nop_tc_1",
"_nop_tc_2",
["concat", 7, 5, 6, 31, 25],
["jump", "add_done_18", 31, 25],
"add_cn_19",
["is_num", 8, 5, 31, 25],
["jump_false", 8, "add_err_20", 31, 25],
"_nop_tc_3",
["jump", "add_err_20", 31, 25],
["add", 7, 5, 6, 31, 25],
["jump", "add_done_18", 31, 25],
"add_err_20",
["disrupt", 31, 25],
"add_done_18",
["move", 1, 7, 31, 25],
["get", 11, 12, 1, 32, 8],
["is_proxy", 12, 11, 32, 8],
["jump_false", 12, "record_path_23", 32, 8],
["null", 13, 32, 8],
["access", 14, "is_dir", 32, 8],
["array", 15, 0, 32, 8],
["push", 15, 1, 32, 8],
["frame", 16, 11, 2, 32, 8],
["setarg", 16, 0, 13, 32, 8],
["setarg", 16, 1, 14, 32, 8],
["setarg", 16, 2, 15, 32, 8],
["invoke", 16, 10, 32, 8],
["jump", "call_done_24", 32, 8],
"record_path_23",
["load_field", 17, 11, "is_dir", 32, 8],
["frame", 18, 17, 1, 32, 8],
["setarg", 18, 0, 11, 32, 8],
["setarg", 18, 1, 1, 32, 8],
["invoke", 18, 10, 32, 8],
"call_done_24",
"_nop_bl_2",
["jump_true", 10, "if_else_21", 32, 8],
["get", 21, 12, 1, 33, 5],
["is_proxy", 22, 21, 33, 5],
["jump_false", 22, "record_path_25", 33, 5],
["null", 23, 33, 5],
["access", 24, "mkdir", 33, 5],
["array", 25, 0, 33, 5],
["push", 25, 1, 33, 5],
["frame", 26, 21, 2, 33, 5],
["setarg", 26, 0, 23, 33, 5],
["setarg", 26, 1, 24, 33, 5],
["setarg", 26, 2, 25, 33, 5],
["invoke", 26, 20, 33, 5],
["jump", "call_done_26", 33, 5],
"record_path_25",
["load_field", 27, 21, "mkdir", 33, 5],
["frame", 28, 27, 1, 33, 5],
["setarg", 28, 0, 21, 33, 5],
["setarg", 28, 1, 1, 33, 5],
["invoke", 28, 20, 33, 5],
"call_done_26",
["jump", "if_end_22", 33, 5],
"if_else_21",
"if_end_22",
["return", 1, 35, 10],
"_nop_ur_2",
"_nop_ur_3"
],
"name": "ensure_build_dir",
"filename": "internal/bootstrap.cm",
"nr_args": 0
},
{
"disruption_pc": 0,
"nr_slots": 19,
"nr_close_slots": 0,
"instructions": [
["get", 3, 25, 1, 40, 7],
["load_dynamic", 4, 3, 1, 40, 17],
["jump_false", 4, "if_else_27", 40, 17],
["get", 5, 25, 1, 41, 12],
["load_dynamic", 6, 5, 1, 41, 22],
["return", 6, 41, 22],
"_nop_ur_1",
"if_else_27",
"if_end_28",
["access", 7, "/", 42, 40],
["access", 8, "_", 42, 45],
["access", 10, {"name":"replace","kind":"name","make":"intrinsic"}, 42, 26],
["frame", 11, 10, 3, 42, 26],
["null", 12, 42, 26],
["setarg", 11, 0, 12, 42, 26],
["setarg", 11, 1, 1, 42, 26],
["setarg", 11, 2, 7, 42, 26],
["setarg", 11, 3, 8, 42, 26],
["invoke", 11, 9, 42, 26],
["get", 14, 26, 1, 42, 16],
["frame", 15, 14, 1, 42, 16],
["null", 16, 42, 16],
["setarg", 15, 0, 16, 42, 16],
["setarg", 15, 1, 9, 42, 16],
["invoke", 15, 13, 42, 16],
["move", 2, 13, 42, 16],
["get", 17, 25, 1, 43, 3],
["store_dynamic", 17, 2, 1, 43, 13],
["return", 2, 44, 10],
"_nop_ur_2",
"_nop_ur_3"
],
"name": "use_basic",
"filename": "internal/bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 108,
"nr_close_slots": 0,
"instructions": [
["access", 9, {"name":"core_path","kind":"name","make":"intrinsic"}, 49, 20],
["access", 10, "/boot/", 49, 32],
["is_text", 12, 9, 49, 32],
["jump_false", 12, "add_cn_30", 49, 32],
"_nop_tc_1",
"_nop_tc_2",
["concat", 11, 9, 10, 49, 32],
["jump", "add_done_29", 49, 32],
"add_cn_30",
["is_num", 12, 9, 49, 32],
["jump_false", 12, "add_err_31", 49, 32],
"_nop_tc_3",
["jump", "add_err_31", 49, 32],
["add", 11, 9, 10, 49, 32],
["jump", "add_done_29", 49, 32],
"add_err_31",
["disrupt", 49, 32],
"add_done_29",
["is_text", 15, 11, 49, 43],
["jump_false", 15, "add_cn_33", 49, 43],
["is_text", 16, 1, 49, 43],
["jump_false", 16, "add_cn_33", 49, 43],
["concat", 14, 11, 1, 49, 43],
["jump", "add_done_32", 49, 43],
"add_cn_33",
["is_num", 15, 11, 49, 43],
["jump_false", 15, "add_err_34", 49, 43],
["is_num", 16, 1, 49, 43],
["jump_false", 16, "add_err_34", 49, 43],
["add", 14, 11, 1, 49, 43],
["jump", "add_done_32", 49, 43],
"add_err_34",
["disrupt", 49, 43],
"add_done_32",
["access", 17, ".cm.mcode", 49, 50],
["is_text", 19, 14, 49, 50],
["jump_false", 19, "add_cn_36", 49, 50],
"_nop_tc_4",
"_nop_tc_5",
["concat", 18, 14, 17, 49, 50],
["jump", "add_done_35", 49, 50],
"add_cn_36",
["is_num", 19, 14, 49, 50],
["jump_false", 19, "add_err_37", 49, 50],
"_nop_tc_6",
["jump", "add_err_37", 49, 50],
["add", 18, 14, 17, 49, 50],
["jump", "add_done_35", 49, 50],
"add_err_37",
["disrupt", 49, 50],
"add_done_35",
["move", 8, 18, 49, 50],
["null", 6, 50, 20],
["null", 4, 51, 14],
["null", 3, 52, 16],
["null", 7, 53, 20],
["null", 5, 54, 19],
["get", 22, 12, 1, 55, 7],
["is_proxy", 23, 22, 55, 7],
["jump_false", 23, "record_path_40", 55, 7],
["null", 24, 55, 7],
["access", 25, "is_file", 55, 7],
["array", 26, 0, 55, 7],
["push", 26, 8, 55, 7],
["frame", 27, 22, 2, 55, 7],
["setarg", 27, 0, 24, 55, 7],
["setarg", 27, 1, 25, 55, 7],
["setarg", 27, 2, 26, 55, 7],
["invoke", 27, 21, 55, 7],
["jump", "call_done_41", 55, 7],
"record_path_40",
["load_field", 28, 22, "is_file", 55, 7],
["frame", 29, 28, 1, 55, 7],
["setarg", 29, 0, 22, 55, 7],
["setarg", 29, 1, 8, 55, 7],
["invoke", 29, 21, 55, 7],
"call_done_41",
["jump_false", 21, "if_else_38", 55, 7],
["get", 31, 12, 1, 56, 18],
["is_proxy", 32, 31, 56, 18],
["jump_false", 32, "record_path_42", 56, 18],
["null", 33, 56, 18],
["access", 34, "slurp", 56, 18],
["array", 35, 0, 56, 18],
["push", 35, 8, 56, 18],
["frame", 36, 31, 2, 56, 18],
["setarg", 36, 0, 33, 56, 18],
["setarg", 36, 1, 34, 56, 18],
["setarg", 36, 2, 35, 56, 18],
["invoke", 36, 30, 56, 18],
["jump", "call_done_43", 56, 18],
"record_path_42",
["load_field", 37, 31, "slurp", 56, 18],
["frame", 38, 37, 1, 56, 18],
["setarg", 38, 0, 31, 56, 18],
["setarg", 38, 1, 8, 56, 18],
["invoke", 38, 30, 56, 18],
"call_done_43",
["move", 6, 30, 56, 18],
["get", 40, 9, 1, 57, 12],
["frame", 41, 40, 1, 57, 12],
["null", 42, 57, 12],
["setarg", 41, 0, 42, 57, 12],
["setarg", 41, 1, 6, 57, 12],
["invoke", 41, 39, 57, 12],
["move", 4, 39, 57, 12],
["get", 44, 6, 1, 58, 14],
["frame", 45, 44, 1, 58, 14],
["null", 46, 58, 14],
["setarg", 45, 0, 46, 58, 14],
["setarg", 45, 1, 4, 58, 14],
["invoke", 45, 43, 58, 14],
["move", 3, 43, 58, 14],
["move", 47, 3, 59, 9],
["jump_false", 47, "and_end_46", 59, 9],
["get", 49, 12, 1, 59, 19],
["is_proxy", 50, 49, 59, 19],
["jump_false", 50, "record_path_47", 59, 19],
["null", 51, 59, 19],
["access", 52, "is_file", 59, 19],
["array", 53, 0, 59, 19],
["push", 53, 3, 59, 19],
["frame", 54, 49, 2, 59, 19],
["setarg", 54, 0, 51, 59, 19],
["setarg", 54, 1, 52, 59, 19],
["setarg", 54, 2, 53, 59, 19],
["invoke", 54, 48, 59, 19],
["jump", "call_done_48", 59, 19],
"record_path_47",
["load_field", 55, 49, "is_file", 59, 19],
["frame", 56, 55, 1, 59, 19],
["setarg", 56, 0, 49, 59, 19],
["setarg", 56, 1, 3, 59, 19],
["invoke", 56, 48, 59, 19],
"call_done_48",
["move", 47, 48, 59, 19],
"and_end_46",
["jump_false", 47, "if_else_44", 59, 19],
["get", 58, 12, 1, 60, 24],
["is_proxy", 59, 58, 60, 24],
["jump_false", 59, "record_path_49", 60, 24],
["null", 60, 60, 24],
["access", 61, "slurp", 60, 24],
["array", 62, 0, 60, 24],
["push", 62, 3, 60, 24],
["frame", 63, 58, 2, 60, 24],
["setarg", 63, 0, 60, 60, 24],
["setarg", 63, 1, 61, 60, 24],
["setarg", 63, 2, 62, 60, 24],
["invoke", 63, 57, 60, 24],
["jump", "call_done_50", 60, 24],
"record_path_49",
["load_field", 64, 58, "slurp", 60, 24],
["frame", 65, 64, 1, 60, 24],
["setarg", 65, 0, 58, 60, 24],
["setarg", 65, 1, 3, 60, 24],
["invoke", 65, 57, 60, 24],
"call_done_50",
["access", 67, {"name":"mach_load","kind":"name","make":"intrinsic"}, 60, 14],
["frame", 68, 67, 2, 60, 14],
["null", 69, 60, 14],
["setarg", 68, 0, 69, 60, 14],
["setarg", 68, 1, 57, 60, 14],
["setarg", 68, 2, 2, 60, 14],
["tail_invoke", 68, 66, 60, 14],
["return", 66, 60, 14],
"_nop_ur_1",
"if_else_44",
"if_end_45",
["access", 71, {"name":"text","kind":"name","make":"intrinsic"}, 62, 18],
["frame", 72, 71, 1, 62, 18],
["null", 73, 62, 18],
["setarg", 72, 0, 73, 62, 18],
["setarg", 72, 1, 6, 62, 18],
["invoke", 72, 70, 62, 18],
["move", 7, 70, 62, 18],
["access", 75, {"name":"mach_compile_mcode_bin","kind":"name","make":"intrinsic"}, 63, 17],
["frame", 76, 75, 2, 63, 17],
["null", 77, 63, 17],
["setarg", 76, 0, 77, 63, 17],
["setarg", 76, 1, 1, 63, 17],
["setarg", 76, 2, 7, 63, 17],
["invoke", 76, 74, 63, 17],
["move", 5, 74, 63, 17],
["jump_false", 3, "if_else_51", 64, 9],
["get", 79, 11, 1, 65, 7],
["frame", 80, 79, 0, 65, 7],
["null", 81, 65, 7],
["setarg", 80, 0, 81, 65, 7],
["invoke", 80, 78, 65, 7],
["get", 83, 12, 1, 66, 7],
["is_proxy", 84, 83, 66, 7],
["jump_false", 84, "record_path_53", 66, 7],
["null", 85, 66, 7],
["access", 86, "slurpwrite", 66, 7],
["array", 87, 0, 66, 7],
["push", 87, 3, 66, 7],
["push", 87, 5, 66, 7],
["frame", 88, 83, 2, 66, 7],
["setarg", 88, 0, 85, 66, 7],
["setarg", 88, 1, 86, 66, 7],
["setarg", 88, 2, 87, 66, 7],
["invoke", 88, 82, 66, 7],
["jump", "call_done_54", 66, 7],
"record_path_53",
["load_field", 89, 83, "slurpwrite", 66, 7],
["frame", 90, 89, 2, 66, 7],
["setarg", 90, 0, 83, 66, 7],
["setarg", 90, 1, 3, 66, 7],
["setarg", 90, 2, 5, 66, 7],
["invoke", 90, 82, 66, 7],
"call_done_54",
["jump", "if_end_52", 66, 7],
"if_else_51",
"if_end_52",
["access", 92, {"name":"mach_load","kind":"name","make":"intrinsic"}, 68, 12],
["frame", 93, 92, 2, 68, 12],
["null", 94, 68, 12],
["setarg", 93, 0, 94, 68, 12],
["setarg", 93, 1, 5, 68, 12],
["setarg", 93, 2, 2, 68, 12],
["tail_invoke", 93, 91, 68, 12],
["return", 91, 68, 12],
"_nop_ur_2",
"if_else_38",
"if_end_39",
["access", 95, "error: missing bootstrap bytecode: ", 70, 9],
"_nop_tc_7",
"_nop_tc_8",
["is_text", 98, 1, 70, 49],
["jump_false", 98, "add_cn_56", 70, 49],
["concat", 96, 95, 1, 70, 49],
["jump", "add_done_55", 70, 49],
"add_cn_56",
"_nop_tc_9",
["jump", "add_err_57", 70, 49],
["is_num", 98, 1, 70, 49],
["jump_false", 98, "add_err_57", 70, 49],
["add", 96, 95, 1, 70, 49],
["jump", "add_done_55", 70, 49],
"add_err_57",
["disrupt", 70, 49],
"add_done_55",
["access", 99, "\n", 70, 56],
["is_text", 101, 96, 70, 56],
["jump_false", 101, "add_cn_59", 70, 56],
"_nop_tc_10",
"_nop_tc_11",
["concat", 100, 96, 99, 70, 56],
["jump", "add_done_58", 70, 56],
"add_cn_59",
["is_num", 101, 96, 70, 56],
["jump_false", 101, "add_err_60", 70, 56],
"_nop_tc_12",
["jump", "add_err_60", 70, 56],
["add", 100, 96, 99, 70, 56],
["jump", "add_done_58", 70, 56],
"add_err_60",
["disrupt", 70, 56],
"add_done_58",
["access", 104, {"name":"print","kind":"name","make":"intrinsic"}, 70, 3],
["frame", 105, 104, 1, 70, 3],
["null", 106, 70, 3],
["setarg", 105, 0, 106, 70, 3],
["setarg", 105, 1, 100, 70, 3],
["invoke", 105, 103, 70, 3],
["disrupt", 71, 3],
["null", 107, 71, 3],
["return", 107, 71, 3]
],
"name": "boot_load",
"filename": "internal/bootstrap.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 140,
"nr_close_slots": 0,
"instructions": [
["record", 9, 2],
["access", 10, "tokenize.cm", 91, 11],
["store_field", 9, 10, "src", 91, 11],
["access", 11, "boot/tokenize.cm.mcode", 91, 33],
["store_field", 9, 11, "mcode", 91, 33],
["record", 12, 2],
["access", 13, "parse.cm", 92, 11],
["store_field", 12, 13, "src", 92, 11],
["access", 14, "boot/parse.cm.mcode", 92, 30],
["store_field", 12, 14, "mcode", 92, 30],
["record", 15, 2],
["access", 16, "fold.cm", 93, 11],
["store_field", 15, 16, "src", 93, 11],
["access", 17, "boot/fold.cm.mcode", 93, 29],
["store_field", 15, 17, "mcode", 93, 29],
["record", 18, 2],
["access", 19, "mcode.cm", 94, 11],
["store_field", 18, 19, "src", 94, 11],
["access", 20, "boot/mcode.cm.mcode", 94, 30],
["store_field", 18, 20, "mcode", 94, 30],
["record", 21, 2],
["access", 22, "streamline.cm", 95, 11],
["store_field", 21, 22, "src", 95, 11],
["access", 23, "boot/streamline.cm.mcode", 95, 35],
["store_field", 21, 23, "mcode", 95, 35],
["record", 24, 2],
["access", 25, "qbe.cm", 96, 11],
["store_field", 24, 25, "src", 96, 11],
["access", 26, "boot/qbe.cm.mcode", 96, 28],
["store_field", 24, 26, "mcode", 96, 28],
["record", 27, 2],
["access", 28, "qbe_emit.cm", 97, 11],
["store_field", 27, 28, "src", 97, 11],
["access", 29, "boot/qbe_emit.cm.mcode", 97, 33],
["store_field", 27, 29, "mcode", 97, 33],
["record", 30, 2],
["access", 31, "verify_ir.cm", 98, 11],
["store_field", 30, 31, "src", 98, 11],
["access", 32, "boot/verify_ir.cm.mcode", 98, 34],
["store_field", 30, 32, "mcode", 98, 34],
["record", 33, 2],
["access", 34, "internal/bootstrap.cm", 99, 11],
["store_field", 33, 34, "src", 99, 11],
["access", 35, "boot/bootstrap.cm.mcode", 99, 43],
["store_field", 33, 35, "mcode", 99, 43],
["record", 36, 2],
["access", 37, "internal/engine.cm", 100, 11],
["store_field", 36, 37, "src", 100, 11],
["access", 38, "boot/engine.cm.mcode", 100, 40],
["store_field", 36, 38, "mcode", 100, 40],
["array", 39, 10, 100, 40],
["push", 39, 9, 100, 40],
["push", 39, 12, 100, 40],
["push", 39, 15, 100, 40],
["push", 39, 18, 100, 40],
["push", 39, 21, 100, 40],
["push", 39, 24, 100, 40],
["push", 39, 27, 100, 40],
["push", 39, 30, 100, 40],
["push", 39, 33, 100, 40],
["push", 39, 36, 100, 40],
["move", 7, 39, 100, 40],
["array", 40, 0, 102, 15],
["move", 8, 40, 102, 15],
["access", 1, 0, 103, 12],
["null", 2, 104, 17],
["null", 6, 105, 20],
["null", 3, 106, 17],
["null", 4, 107, 23],
["null", 5, 108, 15],
"while_start_61",
["length", 41, 7, 109, 22],
["is_int", 43, 1, 109, 22],
["jump_false", 43, "rel_ni_63", 109, 22],
"_nop_tc_1",
"_nop_tc_2",
["lt_int", 42, 1, 41, 109, 22],
["jump", "rel_done_65", 109, 22],
"rel_ni_63",
["is_num", 43, 1, 109, 22],
["jump_false", 43, "rel_nn_64", 109, 22],
"_nop_tc_3",
"_nop_tc_4",
["lt_float", 42, 1, 41, 109, 22],
["jump", "rel_done_65", 109, 22],
"rel_nn_64",
["is_text", 43, 1, 109, 22],
["jump_false", 43, "rel_err_66", 109, 22],
"_nop_tc_5",
["jump", "rel_err_66", 109, 22],
["lt_text", 42, 1, 41, 109, 22],
["jump", "rel_done_65", 109, 22],
"rel_err_66",
["disrupt", 109, 22],
"rel_done_65",
["jump_false", 42, "while_end_62", 109, 22],
["load_dynamic", 45, 7, 1, 110, 21],
["move", 5, 45, 110, 21],
["access", 46, {"name":"core_path","kind":"name","make":"intrinsic"}, 111, 15],
["access", 47, "/", 111, 27],
["is_text", 49, 46, 111, 27],
["jump_false", 49, "add_cn_68", 111, 27],
"_nop_tc_6",
"_nop_tc_7",
["concat", 48, 46, 47, 111, 27],
["jump", "add_done_67", 111, 27],
"add_cn_68",
["is_num", 49, 46, 111, 27],
["jump_false", 49, "add_err_69", 111, 27],
"_nop_tc_8",
["jump", "add_err_69", 111, 27],
["add", 48, 46, 47, 111, 27],
["jump", "add_done_67", 111, 27],
"add_err_69",
["disrupt", 111, 27],
"add_done_67",
["load_field", 51, 5, "src", 111, 33],
["is_text", 53, 48, 111, 33],
["jump_false", 53, "add_cn_71", 111, 33],
["is_text", 54, 51, 111, 33],
["jump_false", 54, "add_cn_71", 111, 33],
["concat", 52, 48, 51, 111, 33],
["jump", "add_done_70", 111, 33],
"add_cn_71",
["is_num", 53, 48, 111, 33],
["jump_false", 53, "add_err_72", 111, 33],
["is_num", 54, 51, 111, 33],
["jump_false", 54, "add_err_72", 111, 33],
["add", 52, 48, 51, 111, 33],
["jump", "add_done_70", 111, 33],
"add_err_72",
["disrupt", 111, 33],
"add_done_70",
["move", 2, 52, 111, 33],
["access", 55, {"name":"core_path","kind":"name","make":"intrinsic"}, 112, 18],
["access", 56, "/", 112, 30],
["is_text", 58, 55, 112, 30],
["jump_false", 58, "add_cn_74", 112, 30],
"_nop_tc_9",
"_nop_tc_10",
["concat", 57, 55, 56, 112, 30],
["jump", "add_done_73", 112, 30],
"add_cn_74",
["is_num", 58, 55, 112, 30],
["jump_false", 58, "add_err_75", 112, 30],
"_nop_tc_11",
["jump", "add_err_75", 112, 30],
["add", 57, 55, 56, 112, 30],
["jump", "add_done_73", 112, 30],
"add_err_75",
["disrupt", 112, 30],
"add_done_73",
["load_field", 60, 5, "mcode", 112, 36],
["is_text", 62, 57, 112, 36],
["jump_false", 62, "add_cn_77", 112, 36],
["is_text", 63, 60, 112, 36],
["jump_false", 63, "add_cn_77", 112, 36],
["concat", 61, 57, 60, 112, 36],
["jump", "add_done_76", 112, 36],
"add_cn_77",
["is_num", 62, 57, 112, 36],
["jump_false", 62, "add_err_78", 112, 36],
["is_num", 63, 60, 112, 36],
["jump_false", 63, "add_err_78", 112, 36],
["add", 61, 57, 60, 112, 36],
["jump", "add_done_76", 112, 36],
"add_err_78",
["disrupt", 112, 36],
"add_done_76",
["move", 6, 61, 112, 36],
["get", 65, 12, 1, 113, 9],
["is_proxy", 66, 65, 113, 9],
["jump_false", 66, "record_path_82", 113, 9],
["null", 67, 113, 9],
["access", 68, "is_file", 113, 9],
["array", 69, 0, 113, 9],
["push", 69, 6, 113, 9],
["frame", 70, 65, 2, 113, 9],
["setarg", 70, 0, 67, 113, 9],
["setarg", 70, 1, 68, 113, 9],
["setarg", 70, 2, 69, 113, 9],
["invoke", 70, 64, 113, 9],
["jump", "call_done_83", 113, 9],
"record_path_82",
["load_field", 71, 65, "is_file", 113, 9],
["frame", 72, 71, 1, 113, 9],
["setarg", 72, 0, 65, 113, 9],
["setarg", 72, 1, 6, 113, 9],
["invoke", 72, 64, 113, 9],
"call_done_83",
["move", 73, 64, 113, 9],
["jump_false", 73, "and_end_81", 113, 9],
["get", 75, 12, 1, 113, 35],
["is_proxy", 76, 75, 113, 35],
["jump_false", 76, "record_path_84", 113, 35],
["null", 77, 113, 35],
["access", 78, "is_file", 113, 35],
["array", 79, 0, 113, 35],
["push", 79, 2, 113, 35],
["frame", 80, 75, 2, 113, 35],
["setarg", 80, 0, 77, 113, 35],
["setarg", 80, 1, 78, 113, 35],
["setarg", 80, 2, 79, 113, 35],
["invoke", 80, 74, 113, 35],
["jump", "call_done_85", 113, 35],
"record_path_84",
["load_field", 81, 75, "is_file", 113, 35],
["frame", 82, 81, 1, 113, 35],
["setarg", 82, 0, 75, 113, 35],
["setarg", 82, 1, 2, 113, 35],
["invoke", 82, 74, 113, 35],
"call_done_85",
["move", 73, 74, 113, 35],
"and_end_81",
["jump_false", 73, "if_else_79", 113, 35],
["get", 84, 12, 1, 114, 23],
["is_proxy", 85, 84, 114, 23],
["jump_false", 85, "record_path_86", 114, 23],
["null", 86, 114, 23],
["access", 87, "stat", 114, 23],
["array", 88, 0, 114, 23],
["push", 88, 6, 114, 23],
["frame", 89, 84, 2, 114, 23],
["setarg", 89, 0, 86, 114, 23],
["setarg", 89, 1, 87, 114, 23],
["setarg", 89, 2, 88, 114, 23],
["invoke", 89, 83, 114, 23],
["jump", "call_done_87", 114, 23],
"record_path_86",
["load_field", 90, 84, "stat", 114, 23],
["frame", 91, 90, 1, 114, 23],
["setarg", 91, 0, 84, 114, 23],
["setarg", 91, 1, 6, 114, 23],
["invoke", 91, 83, 114, 23],
"call_done_87",
["move", 4, 83, 114, 23],
["get", 93, 12, 1, 115, 17],
["is_proxy", 94, 93, 115, 17],
["jump_false", 94, "record_path_88", 115, 17],
["null", 95, 115, 17],
["access", 96, "stat", 115, 17],
["array", 97, 0, 115, 17],
["push", 97, 2, 115, 17],
["frame", 98, 93, 2, 115, 17],
["setarg", 98, 0, 95, 115, 17],
["setarg", 98, 1, 96, 115, 17],
["setarg", 98, 2, 97, 115, 17],
["invoke", 98, 92, 115, 17],
["jump", "call_done_89", 115, 17],
"record_path_88",
["load_field", 99, 93, "stat", 115, 17],
["frame", 100, 99, 1, 115, 17],
["setarg", 100, 0, 93, 115, 17],
["setarg", 100, 1, 2, 115, 17],
["invoke", 100, 92, 115, 17],
"call_done_89",
["move", 3, 92, 115, 17],
["load_field", 101, 3, "mtime", 116, 11],
["load_field", 102, 4, "mtime", 116, 27],
["is_int", 104, 101, 116, 27],
["jump_false", 104, "rel_ni_92", 116, 27],
["is_int", 105, 102, 116, 27],
["jump_false", 105, "rel_ni_92", 116, 27],
["gt_int", 103, 101, 102, 116, 27],
["jump", "rel_done_94", 116, 27],
"rel_ni_92",
["is_num", 104, 101, 116, 27],
["jump_false", 104, "rel_nn_93", 116, 27],
["is_num", 105, 102, 116, 27],
["jump_false", 105, "rel_nn_93", 116, 27],
["gt_float", 103, 101, 102, 116, 27],
["jump", "rel_done_94", 116, 27],
"rel_nn_93",
["is_text", 104, 101, 116, 27],
["jump_false", 104, "rel_err_95", 116, 27],
["is_text", 105, 102, 116, 27],
["jump_false", 105, "rel_err_95", 116, 27],
["gt_text", 103, 101, 102, 116, 27],
["jump", "rel_done_94", 116, 27],
"rel_err_95",
["disrupt", 116, 27],
"rel_done_94",
["jump_false", 103, "if_else_90", 116, 27],
["load_field", 106, 5, "src", 117, 21],
["is_array", 107, 8, 117, 21],
["jump_false", 107, "push_err_96", 117, 21],
["push", 8, 106, 117, 21],
["jump", "push_done_97", 117, 21],
"push_err_96",
["disrupt", 117, 21],
"push_done_97",
["jump", "if_end_91", 117, 21],
"if_else_90",
"if_end_91",
["jump", "if_end_80", 117, 21],
"if_else_79",
"if_end_80",
["access", 108, 1, 120, 15],
["is_text", 110, 1, 120, 15],
["jump_false", 110, "add_cn_99", 120, 15],
"_nop_tc_12",
["jump", "add_cn_99", 120, 15],
["concat", 109, 1, 108, 120, 15],
["jump", "add_done_98", 120, 15],
"add_cn_99",
["is_num", 110, 1, 120, 15],
["jump_false", 110, "add_err_100", 120, 15],
"_nop_tc_13",
"_nop_tc_14",
["add", 109, 1, 108, 120, 15],
["jump", "add_done_98", 120, 15],
"add_err_100",
["disrupt", 120, 15],
"add_done_98",
["move", 1, 109, 120, 15],
["jump", "while_start_61", 120, 15],
"while_end_62",
["length", 112, 8, 122, 14],
["access", 113, 0, 122, 23],
"_nop_tc_15",
"_nop_tc_16",
"_nop_tc_17",
"_nop_tc_18",
["gt_int", 114, 112, 113, 122, 23],
["jump", "rel_done_105", 122, 23],
"rel_ni_103",
"_nop_tc_19",
"_nop_tc_20",
"_nop_tc_21",
"_nop_tc_22",
["gt_float", 114, 112, 113, 122, 23],
["jump", "rel_done_105", 122, 23],
"rel_nn_104",
"_nop_tc_23",
["jump", "rel_err_106", 122, 23],
"_nop_tc_24",
["jump", "rel_err_106", 122, 23],
["gt_text", 114, 112, 113, 122, 23],
["jump", "rel_done_105", 122, 23],
"rel_err_106",
["disrupt", 122, 23],
"rel_done_105",
["jump_false", 114, "if_else_101", 122, 23],
["access", 117, "warning: bytecode is stale for: ", 123, 11],
["access", 118, ", ", 123, 60],
["access", 120, {"name":"text","kind":"name","make":"intrinsic"}, 123, 48],
["frame", 121, 120, 2, 123, 48],
["null", 122, 123, 48],
["setarg", 121, 0, 122, 123, 48],
["setarg", 121, 1, 8, 123, 48],
["setarg", 121, 2, 118, 123, 48],
["invoke", 121, 119, 123, 48],
"_nop_tc_25",
"_nop_tc_26",
["is_text", 125, 119, 123, 48],
["jump_false", 125, "add_cn_108", 123, 48],
["concat", 123, 117, 119, 123, 48],
["jump", "add_done_107", 123, 48],
"add_cn_108",
"_nop_tc_27",
["jump", "add_err_109", 123, 48],
["is_num", 125, 119, 123, 48],
["jump_false", 125, "add_err_109", 123, 48],
["add", 123, 117, 119, 123, 48],
["jump", "add_done_107", 123, 48],
"add_err_109",
["disrupt", 123, 48],
"add_done_107",
["access", 126, "\n", 123, 68],
["is_text", 128, 123, 123, 68],
["jump_false", 128, "add_cn_111", 123, 68],
"_nop_tc_28",
"_nop_tc_29",
["concat", 127, 123, 126, 123, 68],
["jump", "add_done_110", 123, 68],
"add_cn_111",
["is_num", 128, 123, 123, 68],
["jump_false", 128, "add_err_112", 123, 68],
"_nop_tc_30",
["jump", "add_err_112", 123, 68],
["add", 127, 123, 126, 123, 68],
["jump", "add_done_110", 123, 68],
"add_err_112",
["disrupt", 123, 68],
"add_done_110",
["access", 131, {"name":"print","kind":"name","make":"intrinsic"}, 123, 5],
["frame", 132, 131, 1, 123, 5],
["null", 133, 123, 5],
["setarg", 132, 0, 133, 123, 5],
["setarg", 132, 1, 127, 123, 5],
["invoke", 132, 130, 123, 5],
["access", 134, "run 'make regen' to update\n", 124, 11],
["access", 136, {"name":"print","kind":"name","make":"intrinsic"}, 124, 5],
["frame", 137, 136, 1, 124, 5],
["null", 138, 124, 5],
["setarg", 137, 0, 138, 124, 5],
["setarg", 137, 1, 134, 124, 5],
["invoke", 137, 135, 124, 5],
["jump", "if_end_102", 124, 5],
"if_else_101",
"if_end_102",
["null", 139, 124, 5],
["return", 139, 124, 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, 23, 1, 131, 20],
["frame", 15, 14, 2, 131, 20],
["null", 16, 131, 20],
["setarg", 15, 0, 16, 131, 20],
["setarg", 15, 1, 1, 131, 20],
["setarg", 15, 2, 2, 131, 20],
["invoke", 15, 13, 131, 20],
["move", 12, 13, 131, 20],
["load_field", 17, 12, "tokens", 132, 23],
["get", 18, 23, 1, 132, 57],
["get", 20, 18, 1, 132, 13],
["frame", 21, 20, 4, 132, 13],
["null", 22, 132, 13],
["setarg", 21, 0, 22, 132, 13],
["setarg", 21, 1, 17, 132, 13],
["setarg", 21, 2, 1, 132, 13],
["setarg", 21, 3, 2, 132, 13],
["setarg", 21, 4, 18, 132, 13],
["invoke", 21, 19, 132, 13],
["move", 4, 19, 132, 13],
["access", 3, 0, 133, 12],
["access", 10, -1, 134, 19],
["null", 11, 135, 18],
["null", 6, 136, 11],
["null", 9, 137, 13],
["null", 8, 138, 14],
["null", 5, 139, 13],
["load_field", 23, 4, "errors", 140, 20],
["null", 24, 140, 34],
["is_identical", 25, 23, 24, 140, 34],
["jump_true", 25, "ne_nid_115", 140, 34],
["jump", "ne_ni_116", 140, 34],
"ne_nid_115",
["false", 25, 140, 34],
["jump", "ne_done_114", 140, 34],
"ne_ni_116",
["is_int", 26, 23, 140, 34],
["jump_false", 26, "ne_nn_117", 140, 34],
"_nop_tc_1",
["jump", "ne_nn_117", 140, 34],
["ne_int", 25, 23, 24, 140, 34],
["jump", "ne_done_114", 140, 34],
"ne_nn_117",
["is_num", 26, 23, 140, 34],
["jump_false", 26, "ne_nt_118", 140, 34],
"_nop_tc_2",
["jump", "ne_nt_118", 140, 34],
["ne_float", 25, 23, 24, 140, 34],
["jump", "ne_done_114", 140, 34],
"ne_nt_118",
["is_text", 26, 23, 140, 34],
["jump_false", 26, "ne_nnl_119", 140, 34],
"_nop_tc_3",
["jump", "ne_nnl_119", 140, 34],
["ne_text", 25, 23, 24, 140, 34],
["jump", "ne_done_114", 140, 34],
"ne_nnl_119",
["is_null", 26, 23, 140, 34],
["jump_false", 26, "ne_nb_120", 140, 34],
"_nop_tc_4",
"_nop_tc_5",
["false", 25, 140, 34],
["jump", "ne_done_114", 140, 34],
"ne_nb_120",
["is_bool", 26, 23, 140, 34],
["jump_false", 26, "ne_mis_121", 140, 34],
"_nop_tc_6",
["jump", "ne_mis_121", 140, 34],
["ne_bool", 25, 23, 24, 140, 34],
["jump", "ne_done_114", 140, 34],
"ne_mis_121",
["true", 25, 140, 34],
"ne_done_114",
["move", 28, 25, 140, 34],
["jump_false", 28, "and_end_113", 140, 34],
["load_field", 29, 4, "errors", 140, 49],
["length", 30, 29, 140, 49],
["access", 31, 0, 140, 63],
"_nop_tc_7",
"_nop_tc_8",
"_nop_tc_9",
"_nop_tc_10",
["gt_int", 32, 30, 31, 140, 63],
["jump", "rel_done_124", 140, 63],
"rel_ni_122",
"_nop_tc_11",
"_nop_tc_12",
"_nop_tc_13",
"_nop_tc_14",
["gt_float", 32, 30, 31, 140, 63],
["jump", "rel_done_124", 140, 63],
"rel_nn_123",
"_nop_tc_15",
["jump", "rel_err_125", 140, 63],
"_nop_tc_16",
["jump", "rel_err_125", 140, 63],
["gt_text", 32, 30, 31, 140, 63],
["jump", "rel_done_124", 140, 63],
"rel_err_125",
["disrupt", 140, 63],
"rel_done_124",
["move", 28, 32, 140, 63],
"and_end_113",
["move", 7, 28, 140, 63],
["jump_false", 7, "if_else_126", 141, 7],
"while_start_128",
["load_field", 35, 4, "errors", 142, 24],
["length", 36, 35, 142, 24],
["is_int", 38, 3, 142, 24],
["jump_false", 38, "rel_ni_130", 142, 24],
"_nop_tc_17",
"_nop_tc_18",
["lt_int", 37, 3, 36, 142, 24],
["jump", "rel_done_132", 142, 24],
"rel_ni_130",
["is_num", 38, 3, 142, 24],
["jump_false", 38, "rel_nn_131", 142, 24],
"_nop_tc_19",
"_nop_tc_20",
["lt_float", 37, 3, 36, 142, 24],
["jump", "rel_done_132", 142, 24],
"rel_nn_131",
["is_text", 38, 3, 142, 24],
["jump_false", 38, "rel_err_133", 142, 24],
"_nop_tc_21",
["jump", "rel_err_133", 142, 24],
["lt_text", 37, 3, 36, 142, 24],
["jump", "rel_done_132", 142, 24],
"rel_err_133",
["disrupt", 142, 24],
"rel_done_132",
["jump_false", 37, "while_end_129", 142, 24],
["load_field", 40, 4, "errors", 143, 11],
["load_dynamic", 41, 40, 3, 143, 22],
["move", 6, 41, 143, 22],
["load_field", 42, 6, "message", 144, 13],
["move", 9, 42, 144, 13],
["load_field", 43, 6, "line", 145, 14],
["move", 8, 43, 145, 14],
["load_field", 44, 6, "column", 146, 13],
["move", 5, 44, 146, 13],
["is_identical", 45, 9, 11, 147, 18],
["jump_true", 45, "ne_nid_138", 147, 18],
["jump", "ne_ni_139", 147, 18],
"ne_nid_138",
["false", 45, 147, 18],
["jump", "ne_done_137", 147, 18],
"ne_ni_139",
["is_int", 46, 9, 147, 18],
["jump_false", 46, "ne_nn_140", 147, 18],
["is_int", 47, 11, 147, 18],
["jump_false", 47, "ne_nn_140", 147, 18],
["ne_int", 45, 9, 11, 147, 18],
["jump", "ne_done_137", 147, 18],
"ne_nn_140",
["is_num", 46, 9, 147, 18],
["jump_false", 46, "ne_nt_141", 147, 18],
["is_num", 47, 11, 147, 18],
["jump_false", 47, "ne_nt_141", 147, 18],
["ne_float", 45, 9, 11, 147, 18],
["jump", "ne_done_137", 147, 18],
"ne_nt_141",
["is_text", 46, 9, 147, 18],
["jump_false", 46, "ne_nnl_142", 147, 18],
["is_text", 47, 11, 147, 18],
["jump_false", 47, "ne_nnl_142", 147, 18],
["ne_text", 45, 9, 11, 147, 18],
["jump", "ne_done_137", 147, 18],
"ne_nnl_142",
["is_null", 46, 9, 147, 18],
["jump_false", 46, "ne_nb_143", 147, 18],
["is_null", 47, 11, 147, 18],
["jump_false", 47, "ne_nb_143", 147, 18],
["false", 45, 147, 18],
["jump", "ne_done_137", 147, 18],
"ne_nb_143",
["is_bool", 46, 9, 147, 18],
["jump_false", 46, "ne_mis_144", 147, 18],
["is_bool", 47, 11, 147, 18],
["jump_false", 47, "ne_mis_144", 147, 18],
["ne_bool", 45, 9, 11, 147, 18],
["jump", "ne_done_137", 147, 18],
"ne_mis_144",
["true", 45, 147, 18],
"ne_done_137",
["move", 48, 45, 147, 18],
["jump_true", 48, "or_end_136", 147, 18],
["is_identical", 49, 8, 10, 147, 38],
["jump_true", 49, "ne_nid_146", 147, 38],
["jump", "ne_ni_147", 147, 38],
"ne_nid_146",
["false", 49, 147, 38],
["jump", "ne_done_145", 147, 38],
"ne_ni_147",
["is_int", 50, 8, 147, 38],
["jump_false", 50, "ne_nn_148", 147, 38],
["is_int", 51, 10, 147, 38],
["jump_false", 51, "ne_nn_148", 147, 38],
["ne_int", 49, 8, 10, 147, 38],
["jump", "ne_done_145", 147, 38],
"ne_nn_148",
["is_num", 50, 8, 147, 38],
["jump_false", 50, "ne_nt_149", 147, 38],
["is_num", 51, 10, 147, 38],
["jump_false", 51, "ne_nt_149", 147, 38],
["ne_float", 49, 8, 10, 147, 38],
["jump", "ne_done_145", 147, 38],
"ne_nt_149",
["is_text", 50, 8, 147, 38],
["jump_false", 50, "ne_nnl_150", 147, 38],
["is_text", 51, 10, 147, 38],
["jump_false", 51, "ne_nnl_150", 147, 38],
["ne_text", 49, 8, 10, 147, 38],
["jump", "ne_done_145", 147, 38],
"ne_nnl_150",
["is_null", 50, 8, 147, 38],
["jump_false", 50, "ne_nb_151", 147, 38],
["is_null", 51, 10, 147, 38],
["jump_false", 51, "ne_nb_151", 147, 38],
["false", 49, 147, 38],
["jump", "ne_done_145", 147, 38],
"ne_nb_151",
["is_bool", 50, 8, 147, 38],
["jump_false", 50, "ne_mis_152", 147, 38],
["is_bool", 51, 10, 147, 38],
["jump_false", 51, "ne_mis_152", 147, 38],
["ne_bool", 49, 8, 10, 147, 38],
["jump", "ne_done_145", 147, 38],
"ne_mis_152",
["true", 49, 147, 38],
"ne_done_145",
["move", 48, 49, 147, 38],
"or_end_136",
["jump_false", 48, "if_else_134", 147, 38],
["null", 52, 148, 21],
["is_identical", 53, 8, 52, 148, 21],
["jump_true", 53, "ne_nid_157", 148, 21],
["jump", "ne_ni_158", 148, 21],
"ne_nid_157",
["false", 53, 148, 21],
["jump", "ne_done_156", 148, 21],
"ne_ni_158",
["is_int", 54, 8, 148, 21],
["jump_false", 54, "ne_nn_159", 148, 21],
"_nop_tc_22",
["jump", "ne_nn_159", 148, 21],
["ne_int", 53, 8, 52, 148, 21],
["jump", "ne_done_156", 148, 21],
"ne_nn_159",
["is_num", 54, 8, 148, 21],
["jump_false", 54, "ne_nt_160", 148, 21],
"_nop_tc_23",
["jump", "ne_nt_160", 148, 21],
["ne_float", 53, 8, 52, 148, 21],
["jump", "ne_done_156", 148, 21],
"ne_nt_160",
["is_text", 54, 8, 148, 21],
["jump_false", 54, "ne_nnl_161", 148, 21],
"_nop_tc_24",
["jump", "ne_nnl_161", 148, 21],
["ne_text", 53, 8, 52, 148, 21],
["jump", "ne_done_156", 148, 21],
"ne_nnl_161",
["is_null", 54, 8, 148, 21],
["jump_false", 54, "ne_nb_162", 148, 21],
"_nop_tc_25",
"_nop_tc_26",
["false", 53, 148, 21],
["jump", "ne_done_156", 148, 21],
"ne_nb_162",
["is_bool", 54, 8, 148, 21],
["jump_false", 54, "ne_mis_163", 148, 21],
"_nop_tc_27",
["jump", "ne_mis_163", 148, 21],
["ne_bool", 53, 8, 52, 148, 21],
["jump", "ne_done_156", 148, 21],
"ne_mis_163",
["true", 53, 148, 21],
"ne_done_156",
["move", 56, 53, 148, 21],
["jump_false", 56, "and_end_155", 148, 21],
["null", 57, 148, 36],
["is_identical", 58, 5, 57, 148, 36],
["jump_true", 58, "ne_nid_165", 148, 36],
["jump", "ne_ni_166", 148, 36],
"ne_nid_165",
["false", 58, 148, 36],
["jump", "ne_done_164", 148, 36],
"ne_ni_166",
["is_int", 59, 5, 148, 36],
["jump_false", 59, "ne_nn_167", 148, 36],
"_nop_tc_28",
["jump", "ne_nn_167", 148, 36],
["ne_int", 58, 5, 57, 148, 36],
["jump", "ne_done_164", 148, 36],
"ne_nn_167",
["is_num", 59, 5, 148, 36],
["jump_false", 59, "ne_nt_168", 148, 36],
"_nop_tc_29",
["jump", "ne_nt_168", 148, 36],
["ne_float", 58, 5, 57, 148, 36],
["jump", "ne_done_164", 148, 36],
"ne_nt_168",
["is_text", 59, 5, 148, 36],
["jump_false", 59, "ne_nnl_169", 148, 36],
"_nop_tc_30",
["jump", "ne_nnl_169", 148, 36],
["ne_text", 58, 5, 57, 148, 36],
["jump", "ne_done_164", 148, 36],
"ne_nnl_169",
["is_null", 59, 5, 148, 36],
["jump_false", 59, "ne_nb_170", 148, 36],
"_nop_tc_31",
"_nop_tc_32",
["false", 58, 148, 36],
["jump", "ne_done_164", 148, 36],
"ne_nb_170",
["is_bool", 59, 5, 148, 36],
["jump_false", 59, "ne_mis_171", 148, 36],
"_nop_tc_33",
["jump", "ne_mis_171", 148, 36],
["ne_bool", 58, 5, 57, 148, 36],
["jump", "ne_done_164", 148, 36],
"ne_mis_171",
["true", 58, 148, 36],
"ne_done_164",
["move", 56, 58, 148, 36],
"and_end_155",
["jump_false", 56, "if_else_153", 148, 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, 8, 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, 5, 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, 9, 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"}, 149, 11],
["frame", 77, 76, 1, 149, 11],
["null", 78, 149, 11],
["setarg", 77, 0, 78, 149, 11],
["setarg", 77, 1, 72, 149, 11],
["invoke", 77, 75, 149, 11],
["jump", "if_end_154", 149, 11],
"if_else_153",
["array", 79, 0, 1, 1],
["push", 79, 2, 1, 1],
["push", 79, 9, 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"}, 151, 11],
["frame", 87, 86, 1, 151, 11],
["null", 88, 151, 11],
["setarg", 87, 0, 88, 151, 11],
["setarg", 87, 1, 82, 151, 11],
["invoke", 87, 85, 151, 11],
"if_end_154",
["jump", "if_end_135", 151, 11],
"if_else_134",
"if_end_135",
["move", 10, 8, 154, 19],
["move", 11, 9, 155, 18],
["access", 89, 1, 156, 17],
["is_text", 91, 3, 156, 17],
["jump_false", 91, "add_cn_173", 156, 17],
"_nop_tc_34",
["jump", "add_cn_173", 156, 17],
["concat", 90, 3, 89, 156, 17],
["jump", "add_done_172", 156, 17],
"add_cn_173",
["is_num", 91, 3, 156, 17],
["jump_false", 91, "add_err_174", 156, 17],
"_nop_tc_35",
"_nop_tc_36",
["add", 90, 3, 89, 156, 17],
["jump", "add_done_172", 156, 17],
"add_err_174",
["disrupt", 156, 17],
"add_done_172",
["move", 3, 90, 156, 17],
["jump", "while_start_128", 156, 17],
"while_end_129",
["disrupt", 158, 5],
["jump", "if_end_127", 158, 5],
"if_else_126",
"if_end_127",
["get", 94, 13, 1, 160, 9],
["frame", 95, 94, 1, 160, 9],
["null", 96, 160, 9],
["setarg", 95, 0, 96, 160, 9],
["setarg", 95, 1, 4, 160, 9],
["invoke", 95, 93, 160, 9],
["move", 4, 93, 160, 9],
["return", 4, 161, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "analyze",
"filename": "internal/bootstrap.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 52,
"nr_close_slots": 0,
"instructions": [
["get", 9, 17, 1, 174, 18],
["frame", 10, 9, 1, 174, 18],
["null", 11, 174, 18],
["setarg", 10, 0, 11, 174, 18],
["setarg", 10, 1, 2, 174, 18],
["invoke", 10, 8, 174, 18],
["move", 4, 8, 174, 18],
["access", 12, {"name":"os","kind":"name","make":"intrinsic"}, 175, 7],
["load_field", 13, 12, "_verify_ir", 175, 7],
["jump_false", 13, "if_else_175", 175, 7],
["get", 14, 2, 1, 176, 9],
["null", 15, 176, 27],
["is_identical", 16, 14, 15, 176, 27],
["jump_true", 16, "eq_done_179", 176, 27],
["is_int", 17, 14, 176, 27],
["jump_false", 17, "eq_ni_180", 176, 27],
"_nop_tc_1",
["jump", "eq_ni_180", 176, 27],
["eq_int", 16, 14, 15, 176, 27],
["jump", "eq_done_179", 176, 27],
"eq_ni_180",
["is_num", 17, 14, 176, 27],
["jump_false", 17, "eq_nn_181", 176, 27],
"_nop_tc_2",
["jump", "eq_nn_181", 176, 27],
["eq_float", 16, 14, 15, 176, 27],
["jump", "eq_done_179", 176, 27],
"eq_nn_181",
["is_text", 17, 14, 176, 27],
["jump_false", 17, "eq_nt_182", 176, 27],
"_nop_tc_3",
["jump", "eq_nt_182", 176, 27],
["eq_text", 16, 14, 15, 176, 27],
["jump", "eq_done_179", 176, 27],
"eq_nt_182",
["is_null", 17, 14, 176, 27],
["jump_false", 17, "eq_nnl_183", 176, 27],
"_nop_tc_4",
"_nop_tc_5",
["true", 16, 176, 27],
["jump", "eq_done_179", 176, 27],
"eq_nnl_183",
["is_bool", 17, 14, 176, 27],
["jump_false", 17, "eq_nb_184", 176, 27],
"_nop_tc_6",
["jump", "eq_nb_184", 176, 27],
["eq_bool", 16, 14, 15, 176, 27],
["jump", "eq_done_179", 176, 27],
"eq_nb_184",
["false", 16, 176, 27],
"eq_done_179",
["jump_false", 16, "if_else_177", 176, 27],
["access", 19, "verify_ir", 177, 34],
["get", 20, 4, 1, 177, 47],
["get", 22, 5, 1, 177, 24],
["frame", 23, 22, 2, 177, 24],
["null", 24, 177, 24],
["setarg", 23, 0, 24, 177, 24],
["setarg", 23, 1, 19, 177, 24],
["setarg", 23, 2, 20, 177, 24],
["invoke", 23, 21, 177, 24],
["put", 21, 2, 1, 177, 24],
["jump", "if_end_178", 177, 24],
"if_else_177",
"if_end_178",
["true", 25, 179, 24],
["store_field", 4, 25, "_verify", 179, 5],
["get", 26, 2, 1, 180, 28],
["store_field", 4, 26, "_verify_mod", 180, 5],
["jump", "if_end_176", 180, 5],
"if_else_175",
"if_end_176",
["get", 28, 22, 1, 182, 19],
["frame", 29, 28, 1, 182, 19],
["null", 30, 182, 19],
["setarg", 29, 0, 30, 182, 19],
["setarg", 29, 1, 4, 182, 19],
["invoke", 29, 27, 182, 19],
["move", 7, 27, 182, 19],
["load_field", 31, 7, "_verify", 184, 7],
["jump_false", 31, "if_else_185", 184, 7],
["delete", 32, 7, "_verify"],
["delete", 33, 7, "_verify_mod"],
["jump", "if_end_186", 186, 12],
"if_else_185",
"if_end_186",
["get", 35, 14, 1, 188, 20],
["is_proxy", 36, 35, 188, 20],
["jump_false", 36, "record_path_187", 188, 20],
["null", 37, 188, 20],
["access", 38, "encode", 188, 20],
["array", 39, 0, 188, 20],
["push", 39, 7, 188, 20],
["frame", 40, 35, 2, 188, 20],
["setarg", 40, 0, 37, 188, 20],
["setarg", 40, 1, 38, 188, 20],
["setarg", 40, 2, 39, 188, 20],
["invoke", 40, 34, 188, 20],
["jump", "call_done_188", 188, 20],
"record_path_187",
["load_field", 41, 35, "encode", 188, 20],
["frame", 42, 41, 1, 188, 20],
["setarg", 42, 0, 35, 188, 20],
["setarg", 42, 1, 7, 188, 20],
["invoke", 42, 34, 188, 20],
"call_done_188",
["move", 6, 34, 188, 20],
["access", 44, {"name":"mach_compile_mcode_bin","kind":"name","make":"intrinsic"}, 189, 19],
["frame", 45, 44, 2, 189, 19],
["null", 46, 189, 19],
["setarg", 45, 0, 46, 189, 19],
["setarg", 45, 1, 1, 189, 19],
["setarg", 45, 2, 6, 189, 19],
["invoke", 45, 43, 189, 19],
["move", 5, 43, 189, 19],
["access", 48, {"name":"mach_load","kind":"name","make":"intrinsic"}, 190, 10],
["frame", 49, 48, 2, 190, 10],
["null", 50, 190, 10],
["setarg", 49, 0, 50, 190, 10],
["setarg", 49, 1, 5, 190, 10],
["setarg", 49, 2, 3, 190, 10],
["tail_invoke", 49, 47, 190, 10],
["return", 47, 190, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "run_ast",
"filename": "internal/bootstrap.cm",
"nr_args": 3
},
{
"disruption_pc": 0,
"nr_slots": 29,
"nr_close_slots": 0,
"instructions": [
["get", 8, 17, 1, 195, 18],
["frame", 9, 8, 1, 195, 18],
["null", 10, 195, 18],
["setarg", 9, 0, 10, 195, 18],
["setarg", 9, 1, 2, 195, 18],
["invoke", 9, 7, 195, 18],
["move", 4, 7, 195, 18],
["get", 12, 14, 1, 196, 20],
["is_proxy", 13, 12, 196, 20],
["jump_false", 13, "record_path_189", 196, 20],
["null", 14, 196, 20],
["access", 15, "encode", 196, 20],
["array", 16, 0, 196, 20],
["push", 16, 4, 196, 20],
["frame", 17, 12, 2, 196, 20],
["setarg", 17, 0, 14, 196, 20],
["setarg", 17, 1, 15, 196, 20],
["setarg", 17, 2, 16, 196, 20],
["invoke", 17, 11, 196, 20],
["jump", "call_done_190", 196, 20],
"record_path_189",
["load_field", 18, 12, "encode", 196, 20],
["frame", 19, 18, 1, 196, 20],
["setarg", 19, 0, 12, 196, 20],
["setarg", 19, 1, 4, 196, 20],
["invoke", 19, 11, 196, 20],
"call_done_190",
["move", 6, 11, 196, 20],
["access", 21, {"name":"mach_compile_mcode_bin","kind":"name","make":"intrinsic"}, 197, 19],
["frame", 22, 21, 2, 197, 19],
["null", 23, 197, 19],
["setarg", 22, 0, 23, 197, 19],
["setarg", 22, 1, 1, 197, 19],
["setarg", 22, 2, 6, 197, 19],
["invoke", 22, 20, 197, 19],
["move", 5, 20, 197, 19],
["access", 25, {"name":"mach_load","kind":"name","make":"intrinsic"}, 198, 10],
["frame", 26, 25, 2, 198, 10],
["null", 27, 198, 10],
["setarg", 26, 0, 27, 198, 10],
["setarg", 26, 1, 5, 198, 10],
["setarg", 26, 2, 3, 198, 10],
["tail_invoke", 26, 24, 198, 10],
["return", 24, 198, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "run_ast_noopt",
"filename": "internal/bootstrap.cm",
"nr_args": 3
},
{
"disruption_pc": 0,
"nr_slots": 27,
"nr_close_slots": 0,
"instructions": [
["get", 6, 17, 1, 203, 18],
["frame", 7, 6, 1, 203, 18],
["null", 8, 203, 18],
["setarg", 7, 0, 8, 203, 18],
["setarg", 7, 1, 2, 203, 18],
["invoke", 7, 5, 203, 18],
["move", 3, 5, 203, 18],
["get", 10, 22, 1, 204, 19],
["frame", 11, 10, 1, 204, 19],
["null", 12, 204, 19],
["setarg", 11, 0, 12, 204, 19],
["setarg", 11, 1, 3, 204, 19],
["invoke", 11, 9, 204, 19],
["move", 4, 9, 204, 19],
["get", 14, 14, 1, 205, 39],
["is_proxy", 15, 14, 205, 39],
["jump_false", 15, "record_path_191", 205, 39],
["null", 16, 205, 39],
["access", 17, "encode", 205, 39],
["array", 18, 0, 205, 39],
["push", 18, 4, 205, 39],
["frame", 19, 14, 2, 205, 39],
["setarg", 19, 0, 16, 205, 39],
["setarg", 19, 1, 17, 205, 39],
["setarg", 19, 2, 18, 205, 39],
["invoke", 19, 13, 205, 39],
["jump", "call_done_192", 205, 39],
"record_path_191",
["load_field", 20, 14, "encode", 205, 39],
["frame", 21, 20, 1, 205, 39],
["setarg", 21, 0, 14, 205, 39],
["setarg", 21, 1, 4, 205, 39],
["invoke", 21, 13, 205, 39],
"call_done_192",
["access", 23, {"name":"mach_compile_mcode_bin","kind":"name","make":"intrinsic"}, 205, 10],
["frame", 24, 23, 2, 205, 10],
["null", 25, 205, 10],
["setarg", 24, 0, 25, 205, 10],
["setarg", 24, 1, 1, 205, 10],
["setarg", 24, 2, 13, 205, 10],
["tail_invoke", 24, 22, 205, 10],
["return", 22, 205, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "compile_to_blob",
"filename": "internal/bootstrap.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 119,
"nr_close_slots": 0,
"instructions": [
["access", 11, {"name":"core_path","kind":"name","make":"intrinsic"}, 210, 20],
["access", 12, "/boot/engine.cm.mcode", 210, 32],
["is_text", 14, 11, 210, 32],
["jump_false", 14, "add_cn_194", 210, 32],
"_nop_tc_1",
"_nop_tc_2",
["concat", 13, 11, 12, 210, 32],
["jump", "add_done_193", 210, 32],
"add_cn_194",
["is_num", 14, 11, 210, 32],
["jump_false", 14, "add_err_195", 210, 32],
"_nop_tc_3",
["jump", "add_err_195", 210, 32],
["add", 13, 11, 12, 210, 32],
["jump", "add_done_193", 210, 32],
"add_err_195",
["disrupt", 210, 32],
"add_done_193",
["move", 10, 13, 210, 32],
["null", 8, 211, 20],
["null", 6, 212, 14],
["null", 2, 213, 16],
["null", 9, 214, 20],
["null", 7, 215, 19],
["null", 5, 216, 20],
["null", 3, 217, 20],
["get", 17, 12, 1, 218, 7],
["is_proxy", 18, 17, 218, 7],
["jump_false", 18, "record_path_198", 218, 7],
["null", 19, 218, 7],
["access", 20, "is_file", 218, 7],
["array", 21, 0, 218, 7],
["push", 21, 10, 218, 7],
["frame", 22, 17, 2, 218, 7],
["setarg", 22, 0, 19, 218, 7],
["setarg", 22, 1, 20, 218, 7],
["setarg", 22, 2, 21, 218, 7],
["invoke", 22, 16, 218, 7],
["jump", "call_done_199", 218, 7],
"record_path_198",
["load_field", 23, 17, "is_file", 218, 7],
["frame", 24, 23, 1, 218, 7],
["setarg", 24, 0, 17, 218, 7],
["setarg", 24, 1, 10, 218, 7],
["invoke", 24, 16, 218, 7],
"call_done_199",
["jump_false", 16, "if_else_196", 218, 7],
["get", 26, 12, 1, 219, 18],
["is_proxy", 27, 26, 219, 18],
["jump_false", 27, "record_path_200", 219, 18],
["null", 28, 219, 18],
["access", 29, "slurp", 219, 18],
["array", 30, 0, 219, 18],
["push", 30, 10, 219, 18],
["frame", 31, 26, 2, 219, 18],
["setarg", 31, 0, 28, 219, 18],
["setarg", 31, 1, 29, 219, 18],
["setarg", 31, 2, 30, 219, 18],
["invoke", 31, 25, 219, 18],
["jump", "call_done_201", 219, 18],
"record_path_200",
["load_field", 32, 26, "slurp", 219, 18],
["frame", 33, 32, 1, 219, 18],
["setarg", 33, 0, 26, 219, 18],
["setarg", 33, 1, 10, 219, 18],
["invoke", 33, 25, 219, 18],
"call_done_201",
["move", 8, 25, 219, 18],
["get", 35, 9, 1, 220, 12],
["frame", 36, 35, 1, 220, 12],
["null", 37, 220, 12],
["setarg", 36, 0, 37, 220, 12],
["setarg", 36, 1, 8, 220, 12],
["invoke", 36, 34, 220, 12],
["move", 6, 34, 220, 12],
["get", 39, 6, 1, 221, 14],
["frame", 40, 39, 1, 221, 14],
["null", 41, 221, 14],
["setarg", 40, 0, 41, 221, 14],
["setarg", 40, 1, 6, 221, 14],
["invoke", 40, 38, 221, 14],
["move", 2, 38, 221, 14],
["move", 42, 2, 222, 9],
["jump_false", 42, "and_end_204", 222, 9],
["get", 44, 12, 1, 222, 19],
["is_proxy", 45, 44, 222, 19],
["jump_false", 45, "record_path_205", 222, 19],
["null", 46, 222, 19],
["access", 47, "is_file", 222, 19],
["array", 48, 0, 222, 19],
["push", 48, 2, 222, 19],
["frame", 49, 44, 2, 222, 19],
["setarg", 49, 0, 46, 222, 19],
["setarg", 49, 1, 47, 222, 19],
["setarg", 49, 2, 48, 222, 19],
["invoke", 49, 43, 222, 19],
["jump", "call_done_206", 222, 19],
"record_path_205",
["load_field", 50, 44, "is_file", 222, 19],
["frame", 51, 50, 1, 222, 19],
["setarg", 51, 0, 44, 222, 19],
["setarg", 51, 1, 2, 222, 19],
["invoke", 51, 43, 222, 19],
"call_done_206",
["move", 42, 43, 222, 19],
"and_end_204",
["jump_false", 42, "if_else_202", 222, 19],
["get", 53, 12, 1, 223, 24],
["is_proxy", 54, 53, 223, 24],
["jump_false", 54, "record_path_207", 223, 24],
["null", 55, 223, 24],
["access", 56, "slurp", 223, 24],
["array", 57, 0, 223, 24],
["push", 57, 2, 223, 24],
["frame", 58, 53, 2, 223, 24],
["setarg", 58, 0, 55, 223, 24],
["setarg", 58, 1, 56, 223, 24],
["setarg", 58, 2, 57, 223, 24],
["invoke", 58, 52, 223, 24],
["jump", "call_done_208", 223, 24],
"record_path_207",
["load_field", 59, 53, "slurp", 223, 24],
["frame", 60, 59, 1, 223, 24],
["setarg", 60, 0, 53, 223, 24],
["setarg", 60, 1, 2, 223, 24],
["invoke", 60, 52, 223, 24],
"call_done_208",
["access", 62, {"name":"mach_load","kind":"name","make":"intrinsic"}, 223, 14],
["frame", 63, 62, 2, 223, 14],
["null", 64, 223, 14],
["setarg", 63, 0, 64, 223, 14],
["setarg", 63, 1, 52, 223, 14],
["setarg", 63, 2, 1, 223, 14],
["tail_invoke", 63, 61, 223, 14],
["return", 61, 223, 14],
"_nop_ur_1",
"if_else_202",
"if_end_203",
["access", 66, {"name":"text","kind":"name","make":"intrinsic"}, 225, 18],
["frame", 67, 66, 1, 225, 18],
["null", 68, 225, 18],
["setarg", 67, 0, 68, 225, 18],
["setarg", 67, 1, 8, 225, 18],
["invoke", 67, 65, 225, 18],
["move", 9, 65, 225, 18],
["access", 69, "engine", 226, 40],
["access", 71, {"name":"mach_compile_mcode_bin","kind":"name","make":"intrinsic"}, 226, 17],
["frame", 72, 71, 2, 226, 17],
["null", 73, 226, 17],
["setarg", 72, 0, 73, 226, 17],
["setarg", 72, 1, 69, 226, 17],
["setarg", 72, 2, 9, 226, 17],
["invoke", 72, 70, 226, 17],
["move", 7, 70, 226, 17],
["jump_false", 2, "if_else_209", 227, 9],
["get", 75, 11, 1, 228, 7],
["frame", 76, 75, 0, 228, 7],
["null", 77, 228, 7],
["setarg", 76, 0, 77, 228, 7],
["invoke", 76, 74, 228, 7],
["get", 79, 12, 1, 229, 7],
["is_proxy", 80, 79, 229, 7],
["jump_false", 80, "record_path_211", 229, 7],
["null", 81, 229, 7],
["access", 82, "slurpwrite", 229, 7],
["array", 83, 0, 229, 7],
["push", 83, 2, 229, 7],
["push", 83, 7, 229, 7],
["frame", 84, 79, 2, 229, 7],
["setarg", 84, 0, 81, 229, 7],
["setarg", 84, 1, 82, 229, 7],
["setarg", 84, 2, 83, 229, 7],
["invoke", 84, 78, 229, 7],
["jump", "call_done_212", 229, 7],
"record_path_211",
["load_field", 85, 79, "slurpwrite", 229, 7],
["frame", 86, 85, 2, 229, 7],
["setarg", 86, 0, 79, 229, 7],
["setarg", 86, 1, 2, 229, 7],
["setarg", 86, 2, 7, 229, 7],
["invoke", 86, 78, 229, 7],
"call_done_212",
["jump", "if_end_210", 229, 7],
"if_else_209",
"if_end_210",
["access", 88, {"name":"mach_load","kind":"name","make":"intrinsic"}, 231, 12],
["frame", 89, 88, 2, 231, 12],
["null", 90, 231, 12],
["setarg", 89, 0, 90, 231, 12],
["setarg", 89, 1, 7, 231, 12],
["setarg", 89, 2, 1, 231, 12],
["tail_invoke", 89, 87, 231, 12],
["return", 87, 231, 12],
"_nop_ur_2",
"if_else_196",
"if_end_197",
["access", 91, {"name":"core_path","kind":"name","make":"intrinsic"}, 234, 19],
["access", 92, "/internal/engine.cm", 234, 31],
["is_text", 94, 91, 234, 31],
["jump_false", 94, "add_cn_214", 234, 31],
"_nop_tc_4",
"_nop_tc_5",
["concat", 93, 91, 92, 234, 31],
["jump", "add_done_213", 234, 31],
"add_cn_214",
["is_num", 94, 91, 234, 31],
["jump_false", 94, "add_err_215", 234, 31],
"_nop_tc_6",
["jump", "add_err_215", 234, 31],
["add", 93, 91, 92, 234, 31],
["jump", "add_done_213", 234, 31],
"add_err_215",
["disrupt", 234, 31],
"add_done_213",
["move", 4, 93, 234, 31],
["get", 97, 12, 1, 235, 21],
["is_proxy", 98, 97, 235, 21],
["jump_false", 98, "record_path_216", 235, 21],
["null", 99, 235, 21],
["access", 100, "slurp", 235, 21],
["array", 101, 0, 235, 21],
["push", 101, 4, 235, 21],
["frame", 102, 97, 2, 235, 21],
["setarg", 102, 0, 99, 235, 21],
["setarg", 102, 1, 100, 235, 21],
["setarg", 102, 2, 101, 235, 21],
["invoke", 102, 96, 235, 21],
["jump", "call_done_217", 235, 21],
"record_path_216",
["load_field", 103, 97, "slurp", 235, 21],
["frame", 104, 103, 1, 235, 21],
["setarg", 104, 0, 97, 235, 21],
["setarg", 104, 1, 4, 235, 21],
["invoke", 104, 96, 235, 21],
"call_done_217",
["access", 106, {"name":"text","kind":"name","make":"intrinsic"}, 235, 16],
["frame", 107, 106, 1, 235, 16],
["null", 108, 235, 16],
["setarg", 107, 0, 108, 235, 16],
["setarg", 107, 1, 96, 235, 16],
["invoke", 107, 105, 235, 16],
["move", 5, 105, 235, 16],
["get", 110, 3, 1, 236, 16],
["frame", 111, 110, 2, 236, 16],
["null", 112, 236, 16],
["setarg", 111, 0, 112, 236, 16],
["setarg", 111, 1, 5, 236, 16],
["setarg", 111, 2, 4, 236, 16],
["invoke", 111, 109, 236, 16],
["move", 3, 109, 236, 16],
["access", 113, "engine", 237, 18],
["get", 115, 20, 1, 237, 10],
["frame", 116, 115, 3, 237, 10],
["null", 117, 237, 10],
["setarg", 116, 0, 117, 237, 10],
["setarg", 116, 1, 113, 237, 10],
["setarg", 116, 2, 3, 237, 10],
["setarg", 116, 3, 1, 237, 10],
["tail_invoke", 116, 114, 237, 10],
["return", 114, 237, 10],
"_nop_ur_3",
"_nop_ur_4"
],
"name": "load_engine",
"filename": "internal/bootstrap.cm",
"nr_args": 1
}
],
"main": {
"nr_slots": 138,
"nr_close_slots": 0,
"instructions": [
["function", 28, 0, 0, 0],
["move", 26, 28, 0, 0],
["function", 29, 1, 0, 0],
["move", 9, 29, 0, 0],
["function", 30, 2, 0, 0],
["move", 6, 30, 0, 0],
["function", 31, 3, 0, 0],
["move", 11, 31, 0, 0],
["function", 32, 4, 0, 0],
["move", 24, 32, 0, 0],
["function", 33, 5, 0, 0],
["move", 5, 33, 0, 0],
["function", 34, 6, 0, 0],
["move", 7, 34, 0, 0],
["function", 35, 7, 0, 0],
["move", 3, 35, 0, 0],
["function", 36, 8, 0, 0],
["move", 20, 36, 0, 0],
["function", 37, 9, 0, 0],
["move", 21, 37, 0, 0],
["function", 38, 10, 0, 0],
["move", 8, 38, 0, 0],
["function", 39, 11, 0, 0],
["move", 15, 39, 0, 0],
["access", 40, {"name":"os","kind":"name","make":"intrinsic"}, 5, 21],
["load_field", 41, 40, "load_internal", 5, 21],
["move", 16, 41, 5, 21],
["access", 42, "internal_fd", 10, 20],
["frame", 44, 26, 1, 10, 10],
["null", 45, 10, 10],
["setarg", 44, 0, 45, 10, 10],
["setarg", 44, 1, 42, 10, 10],
["invoke", 44, 43, 10, 10],
["move", 12, 43, 10, 10],
["access", 46, "json", 11, 22],
["frame", 48, 26, 1, 11, 12],
["null", 49, 11, 12],
["setarg", 48, 0, 49, 11, 12],
["setarg", 48, 1, 46, 11, 12],
["invoke", 48, 47, 11, 12],
["move", 14, 47, 11, 12],
["access", 50, "crypto", 12, 24],
["frame", 52, 26, 1, 12, 14],
["null", 53, 12, 14],
["setarg", 52, 0, 53, 12, 14],
["setarg", 52, 1, 50, 12, 14],
["invoke", 52, 51, 12, 14],
["move", 10, 51, 12, 14],
["record", 54, 0],
["move", 25, 54, 14, 17],
["access", 55, "fd", 15, 11],
["store_field", 25, 12, 55, 15, 11],
["access", 56, {"name":"os","kind":"name","make":"intrinsic"}, 16, 19],
["access", 57, "os", 16, 11],
["store_field", 25, 56, 57, 16, 11],
["access", 58, "json", 17, 11],
["store_field", 25, 14, 58, 17, 11],
["access", 59, "crypto", 18, 11],
["store_field", 25, 10, 59, 18, 11],
["record", 60, 1],
["store_field", 60, 24, "use", 74, 22],
["move", 4, 60, 74, 22],
["access", 61, "tokenize", 75, 30],
["frame", 63, 5, 2, 75, 20],
["null", 64, 75, 20],
["setarg", 63, 0, 64, 75, 20],
["setarg", 63, 1, 61, 75, 20],
["setarg", 63, 2, 4, 75, 20],
["invoke", 63, 62, 75, 20],
["move", 23, 62, 75, 20],
["access", 65, "parse", 76, 27],
["frame", 67, 5, 2, 76, 17],
["null", 68, 76, 17],
["setarg", 67, 0, 68, 76, 17],
["setarg", 67, 1, 65, 76, 17],
["setarg", 67, 2, 4, 76, 17],
["invoke", 67, 66, 76, 17],
["move", 18, 66, 76, 17],
["access", 69, "fold", 77, 26],
["frame", 71, 5, 2, 77, 16],
["null", 72, 77, 16],
["setarg", 71, 0, 72, 77, 16],
["setarg", 71, 1, 69, 77, 16],
["setarg", 71, 2, 4, 77, 16],
["invoke", 71, 70, 77, 16],
["move", 13, 70, 77, 16],
["access", 73, "tokenize", 78, 11],
["store_field", 25, 23, 73, 78, 11],
["access", 74, "parse", 79, 11],
["store_field", 25, 18, 74, 79, 11],
["access", 75, "fold", 80, 11],
["store_field", 25, 13, 75, 80, 11],
["access", 76, "mcode", 83, 27],
["frame", 78, 5, 2, 83, 17],
["null", 79, 83, 17],
["setarg", 78, 0, 79, 83, 17],
["setarg", 78, 1, 76, 83, 17],
["setarg", 78, 2, 4, 83, 17],
["invoke", 78, 77, 83, 17],
["move", 17, 77, 83, 17],
["access", 80, "mcode", 84, 11],
["store_field", 25, 17, 80, 84, 11],
["access", 81, "core/mcode", 85, 11],
["store_field", 25, 17, 81, 85, 11],
["null", 22, 86, 22],
["frame", 83, 7, 0, 127, 1],
["null", 84, 127, 1],
["setarg", 83, 0, 84, 127, 1],
["invoke", 83, 82, 127, 1],
["access", 85, "streamline", 165, 28],
["frame", 87, 5, 2, 165, 18],
["null", 88, 165, 18],
["setarg", 87, 0, 88, 165, 18],
["setarg", 87, 1, 85, 165, 18],
["setarg", 87, 2, 4, 165, 18],
["invoke", 87, 86, 165, 18],
["move", 22, 86, 165, 18],
["access", 89, "streamline", 166, 11],
["store_field", 25, 22, 89, 166, 11],
["access", 90, "core/streamline", 167, 11],
["store_field", 25, 22, 90, 167, 11],
["null", 2, 170, 22],
["null", 19, 242, 15],
["array", 91, 0, 243, 17],
["move", 27, 91, 243, 17],
["access", 1, 0, 244, 10],
["access", 92, {"name":"args","kind":"name","make":"intrinsic"}, 246, 5],
["null", 93, 246, 13],
["is_identical", 94, 92, 93, 246, 13],
["jump_true", 94, "ne_nid_221", 246, 13],
["jump", "ne_ni_222", 246, 13],
"ne_nid_221",
["false", 94, 246, 13],
["jump", "ne_done_220", 246, 13],
"ne_ni_222",
["is_int", 95, 92, 246, 13],
["jump_false", 95, "ne_nn_223", 246, 13],
"_nop_tc_1",
["jump", "ne_nn_223", 246, 13],
["ne_int", 94, 92, 93, 246, 13],
["jump", "ne_done_220", 246, 13],
"ne_nn_223",
["is_num", 95, 92, 246, 13],
["jump_false", 95, "ne_nt_224", 246, 13],
"_nop_tc_2",
["jump", "ne_nt_224", 246, 13],
["ne_float", 94, 92, 93, 246, 13],
["jump", "ne_done_220", 246, 13],
"ne_nt_224",
["is_text", 95, 92, 246, 13],
["jump_false", 95, "ne_nnl_225", 246, 13],
"_nop_tc_3",
["jump", "ne_nnl_225", 246, 13],
["ne_text", 94, 92, 93, 246, 13],
["jump", "ne_done_220", 246, 13],
"ne_nnl_225",
["is_null", 95, 92, 246, 13],
["jump_false", 95, "ne_nb_226", 246, 13],
"_nop_tc_4",
"_nop_tc_5",
["false", 94, 246, 13],
["jump", "ne_done_220", 246, 13],
"ne_nb_226",
["is_bool", 95, 92, 246, 13],
["jump_false", 95, "ne_mis_227", 246, 13],
"_nop_tc_6",
["jump", "ne_mis_227", 246, 13],
["ne_bool", 94, 92, 93, 246, 13],
["jump", "ne_done_220", 246, 13],
"ne_mis_227",
["true", 94, 246, 13],
"ne_done_220",
["jump_false", 94, "if_else_218", 246, 13],
["access", 97, {"name":"args","kind":"name","make":"intrinsic"}, 248, 13],
["access", 98, 0, 248, 18],
["load_index", 99, 97, 98, 248, 18],
["move", 19, 99, 248, 18],
"_nop_bl_1",
["jump_true", 19, "if_else_228", 249, 8],
["access", 101, "error: no program specified\n", 250, 11],
["access", 103, {"name":"print","kind":"name","make":"intrinsic"}, 250, 5],
["frame", 104, 103, 1, 250, 5],
["null", 105, 250, 5],
["setarg", 104, 0, 105, 250, 5],
["setarg", 104, 1, 101, 250, 5],
["invoke", 104, 102, 250, 5],
["disrupt", 251, 5],
["jump", "if_end_229", 251, 5],
"if_else_228",
"if_end_229",
["access", 106, 1, 253, 8],
["move", 1, 106, 253, 8],
"while_start_230",
["access", 107, {"name":"args","kind":"name","make":"intrinsic"}, 254, 22],
["length", 108, 107, 254, 22],
["is_int", 110, 1, 254, 22],
["jump_false", 110, "rel_ni_232", 254, 22],
"_nop_tc_7",
"_nop_tc_8",
["lt_int", 109, 1, 108, 254, 22],
["jump", "rel_done_234", 254, 22],
"rel_ni_232",
["is_num", 110, 1, 254, 22],
["jump_false", 110, "rel_nn_233", 254, 22],
"_nop_tc_9",
"_nop_tc_10",
["lt_float", 109, 1, 108, 254, 22],
["jump", "rel_done_234", 254, 22],
"rel_nn_233",
["is_text", 110, 1, 254, 22],
["jump_false", 110, "rel_err_235", 254, 22],
"_nop_tc_11",
["jump", "rel_err_235", 254, 22],
["lt_text", 109, 1, 108, 254, 22],
["jump", "rel_done_234", 254, 22],
"rel_err_235",
["disrupt", 254, 22],
"rel_done_234",
["jump_false", 109, "while_end_231", 254, 22],
["access", 112, {"name":"args","kind":"name","make":"intrinsic"}, 255, 21],
["load_dynamic", 113, 112, 1, 255, 26],
["is_array", 114, 27, 255, 26],
["jump_false", 114, "push_err_236", 255, 26],
["push", 27, 113, 255, 26],
["jump", "push_done_237", 255, 26],
"push_err_236",
["disrupt", 255, 26],
"push_done_237",
["access", 115, 1, 256, 15],
["is_text", 117, 1, 256, 15],
["jump_false", 117, "add_cn_239", 256, 15],
"_nop_tc_12",
["jump", "add_cn_239", 256, 15],
["concat", 116, 1, 115, 256, 15],
["jump", "add_done_238", 256, 15],
"add_cn_239",
["is_num", 117, 1, 256, 15],
["jump_false", 117, "add_err_240", 256, 15],
"_nop_tc_13",
"_nop_tc_14",
["add", 116, 1, 115, 256, 15],
["jump", "add_done_238", 256, 15],
"add_err_240",
["disrupt", 256, 15],
"add_done_238",
["move", 1, 116, 256, 15],
["jump", "while_start_230", 256, 15],
"while_end_231",
["record", 119, 14],
["access", 120, {"name":"os","kind":"name","make":"intrinsic"}, 260, 9],
["store_field", 119, 120, "os", 260, 9],
["access", 121, {"name":"actorsym","kind":"name","make":"intrinsic"}, 260, 23],
["store_field", 119, 121, "actorsym", 260, 23],
["record", 122, 2],
["store_field", 122, 19, "program", 261, 21],
["store_field", 122, 27, "arg", 261, 35],
["store_field", 119, 122, "init", 261, 35],
["access", 123, {"name":"core_path","kind":"name","make":"intrinsic"}, 262, 16],
["store_field", 119, 123, "core_path", 262, 16],
["access", 124, {"name":"shop_path","kind":"name","make":"intrinsic"}, 262, 38],
["store_field", 119, 124, "shop_path", 262, 38],
["store_field", 119, 14, "json", 262, 55],
["store_field", 119, 3, "analyze", 263, 14],
["store_field", 119, 20, "run_ast_fn", 263, 35],
["store_field", 119, 21, "run_ast_noopt_fn", 263, 62],
["store_field", 119, 25, "use_cache", 264, 16],
["store_field", 119, 9, "content_hash", 265, 19],
["store_field", 119, 6, "cache_path", 265, 45],
["store_field", 119, 11, "ensure_build_dir", 266, 23],
["store_field", 119, 8, "compile_to_blob_fn", 266, 61],
["frame", 126, 15, 1, 259, 3],
["null", 127, 259, 3],
["setarg", 126, 0, 127, 259, 3],
["setarg", 126, 1, 119, 259, 3],
["invoke", 126, 125, 259, 3],
["jump", "if_end_219", 259, 3],
"if_else_218",
["record", 128, 14],
["access", 129, {"name":"os","kind":"name","make":"intrinsic"}, 271, 9],
["store_field", 128, 129, "os", 271, 9],
["access", 130, {"name":"actorsym","kind":"name","make":"intrinsic"}, 271, 23],
["store_field", 128, 130, "actorsym", 271, 23],
["access", 131, {"name":"init","kind":"name","make":"intrinsic"}, 271, 39],
["store_field", 128, 131, "init", 271, 39],
["access", 132, {"name":"core_path","kind":"name","make":"intrinsic"}, 272, 16],
["store_field", 128, 132, "core_path", 272, 16],
["access", 133, {"name":"shop_path","kind":"name","make":"intrinsic"}, 272, 38],
["store_field", 128, 133, "shop_path", 272, 38],
["store_field", 128, 14, "json", 272, 55],
["store_field", 128, 3, "analyze", 273, 14],
["store_field", 128, 20, "run_ast_fn", 273, 35],
["store_field", 128, 21, "run_ast_noopt_fn", 273, 62],
["store_field", 128, 25, "use_cache", 274, 16],
["store_field", 128, 9, "content_hash", 275, 19],
["store_field", 128, 6, "cache_path", 275, 45],
["store_field", 128, 11, "ensure_build_dir", 276, 23],
["store_field", 128, 8, "compile_to_blob_fn", 276, 61],
["frame", 135, 15, 1, 270, 3],
["null", 136, 270, 3],
["setarg", 135, 0, 136, 270, 3],
["setarg", 135, 1, 128, 270, 3],
["invoke", 135, 134, 270, 3],
"if_end_219",
["null", 137, 270, 3],
["return", 137, 270, 3]
],
"nr_args": 0
},
"filename": "internal/bootstrap.cm",
"data": {}
}