Files
cell/boot/bootstrap.cm.mcode
2026-02-14 14:02:15 -06:00

2459 lines
74 KiB
Plaintext

{
"name": "internal/bootstrap.cm",
"functions": [
{
"disruption_pc": 0,
"nr_slots": 11,
"nr_close_slots": 0,
"instructions": [
["access", 2, "js_", 7, 24],
["add", 3, 2, 1, 7, 32],
["access", 4, "_use", 7, 39],
["add", 5, 3, 4, 7, 39],
["get", 7, 17, 1, 7, 10],
["frame", 8, 7, 1, 7, 10],
["null", 9, 7, 10],
["setarg", 8, 0, 9, 7, 10],
["setarg", 8, 1, 5, 7, 10],
["tail_invoke", 8, 6, 7, 10],
["return", 6, 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, 18, 1, 21, 15],
["is_proxy", 4, 3, 21, 15],
["jump_false", 4, "record_path_0", 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_1", 21, 15],
"record_path_0",
["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_1",
["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": 12,
"nr_close_slots": 0,
"instructions": [
[
"access",
2,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
25,
8
],
"_nop_bl_1",
["jump_true", 2, "if_else_2", 25, 8],
["null", 4, 25, 26],
["return", 4, 25, 26],
"_nop_ur_1",
"if_else_2",
"if_end_3",
[
"access",
5,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
26,
10
],
["access", 6, "/build/", 26, 22],
["add", 7, 5, 6, 26, 22],
["add", 8, 7, 1, 26, 34],
["access", 9, ".mach", 26, 41],
["add", 10, 8, 9, 26, 41],
["return", 10, 26, 41],
"_nop_ur_2",
"_nop_ur_3"
],
"name": "cache_path",
"filename": "internal/bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 28,
"nr_close_slots": 0,
"instructions": [
[
"access",
2,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
30,
8
],
"_nop_bl_1",
["jump_true", 2, "if_else_4", 30, 8],
["null", 4, 30, 26],
["return", 4, 30, 26],
"_nop_ur_1",
"if_else_4",
"if_end_5",
[
"access",
5,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
31,
13
],
["access", 6, "/build", 31, 25],
["add", 7, 5, 6, 31, 25],
["move", 1, 7, 31, 25],
["get", 9, 14, 1, 32, 8],
["is_proxy", 10, 9, 32, 8],
["jump_false", 10, "record_path_8", 32, 8],
["null", 11, 32, 8],
["access", 12, "is_dir", 32, 8],
["array", 13, 0, 32, 8],
["push", 13, 1, 32, 8],
["frame", 14, 9, 2, 32, 8],
["setarg", 14, 0, 11, 32, 8],
["setarg", 14, 1, 12, 32, 8],
["setarg", 14, 2, 13, 32, 8],
["invoke", 14, 8, 32, 8],
["jump", "call_done_9", 32, 8],
"record_path_8",
["load_field", 15, 9, "is_dir", 32, 8],
["frame", 16, 15, 1, 32, 8],
["setarg", 16, 0, 9, 32, 8],
["setarg", 16, 1, 1, 32, 8],
["invoke", 16, 8, 32, 8],
"call_done_9",
"_nop_bl_2",
["jump_true", 8, "if_else_6", 32, 8],
["get", 19, 14, 1, 33, 5],
["is_proxy", 20, 19, 33, 5],
["jump_false", 20, "record_path_10", 33, 5],
["null", 21, 33, 5],
["access", 22, "mkdir", 33, 5],
["array", 23, 0, 33, 5],
["push", 23, 1, 33, 5],
["frame", 24, 19, 2, 33, 5],
["setarg", 24, 0, 21, 33, 5],
["setarg", 24, 1, 22, 33, 5],
["setarg", 24, 2, 23, 33, 5],
["invoke", 24, 18, 33, 5],
["jump", "call_done_11", 33, 5],
"record_path_10",
["load_field", 25, 19, "mkdir", 33, 5],
["frame", 26, 25, 1, 33, 5],
["setarg", 26, 0, 19, 33, 5],
["setarg", 26, 1, 1, 33, 5],
["invoke", 26, 18, 33, 5],
"call_done_11",
["jump", "if_end_7", 33, 5],
"if_else_6",
"if_end_7",
["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, 19, 1, 40, 7],
["load_dynamic", 4, 3, 1, 40, 17],
["jump_false", 4, "if_else_12", 40, 17],
["get", 5, 19, 1, 41, 12],
["load_dynamic", 6, 5, 1, 41, 22],
["return", 6, 41, 22],
"_nop_ur_1",
"if_else_12",
"if_end_13",
["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, 20, 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, 19, 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": 98,
"nr_close_slots": 0,
"instructions": [
[
"access",
9,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
49,
20
],
["access", 10, "/boot/", 49, 32],
["add", 11, 9, 10, 49, 32],
["add", 12, 11, 1, 49, 43],
["access", 13, ".cm.mcode", 49, 50],
["add", 14, 12, 13, 49, 50],
["move", 8, 14, 49, 50],
["null", 3, 50, 20],
["null", 4, 51, 14],
["null", 7, 52, 16],
["null", 5, 53, 20],
["null", 6, 54, 19],
["get", 16, 14, 1, 55, 7],
["is_proxy", 17, 16, 55, 7],
["jump_false", 17, "record_path_16", 55, 7],
["null", 18, 55, 7],
["access", 19, "is_file", 55, 7],
["array", 20, 0, 55, 7],
["push", 20, 8, 55, 7],
["frame", 21, 16, 2, 55, 7],
["setarg", 21, 0, 18, 55, 7],
["setarg", 21, 1, 19, 55, 7],
["setarg", 21, 2, 20, 55, 7],
["invoke", 21, 15, 55, 7],
["jump", "call_done_17", 55, 7],
"record_path_16",
["load_field", 22, 16, "is_file", 55, 7],
["frame", 23, 22, 1, 55, 7],
["setarg", 23, 0, 16, 55, 7],
["setarg", 23, 1, 8, 55, 7],
["invoke", 23, 15, 55, 7],
"call_done_17",
["jump_false", 15, "if_else_14", 55, 7],
["get", 25, 14, 1, 56, 18],
["is_proxy", 26, 25, 56, 18],
["jump_false", 26, "record_path_18", 56, 18],
["null", 27, 56, 18],
["access", 28, "slurp", 56, 18],
["array", 29, 0, 56, 18],
["push", 29, 8, 56, 18],
["frame", 30, 25, 2, 56, 18],
["setarg", 30, 0, 27, 56, 18],
["setarg", 30, 1, 28, 56, 18],
["setarg", 30, 2, 29, 56, 18],
["invoke", 30, 24, 56, 18],
["jump", "call_done_19", 56, 18],
"record_path_18",
["load_field", 31, 25, "slurp", 56, 18],
["frame", 32, 31, 1, 56, 18],
["setarg", 32, 0, 25, 56, 18],
["setarg", 32, 1, 8, 56, 18],
["invoke", 32, 24, 56, 18],
"call_done_19",
["move", 3, 24, 56, 18],
["get", 34, 8, 1, 57, 12],
["frame", 35, 34, 1, 57, 12],
["null", 36, 57, 12],
["setarg", 35, 0, 36, 57, 12],
["setarg", 35, 1, 3, 57, 12],
["invoke", 35, 33, 57, 12],
["move", 4, 33, 57, 12],
["get", 38, 12, 1, 58, 14],
["frame", 39, 38, 1, 58, 14],
["null", 40, 58, 14],
["setarg", 39, 0, 40, 58, 14],
["setarg", 39, 1, 4, 58, 14],
["invoke", 39, 37, 58, 14],
["move", 7, 37, 58, 14],
["move", 41, 7, 59, 9],
["jump_false", 41, "and_end_22", 59, 9],
["get", 43, 14, 1, 59, 19],
["is_proxy", 44, 43, 59, 19],
["jump_false", 44, "record_path_23", 59, 19],
["null", 45, 59, 19],
["access", 46, "is_file", 59, 19],
["array", 47, 0, 59, 19],
["push", 47, 7, 59, 19],
["frame", 48, 43, 2, 59, 19],
["setarg", 48, 0, 45, 59, 19],
["setarg", 48, 1, 46, 59, 19],
["setarg", 48, 2, 47, 59, 19],
["invoke", 48, 42, 59, 19],
["jump", "call_done_24", 59, 19],
"record_path_23",
["load_field", 49, 43, "is_file", 59, 19],
["frame", 50, 49, 1, 59, 19],
["setarg", 50, 0, 43, 59, 19],
["setarg", 50, 1, 7, 59, 19],
["invoke", 50, 42, 59, 19],
"call_done_24",
["move", 41, 42, 59, 19],
"and_end_22",
["jump_false", 41, "if_else_20", 59, 19],
["get", 52, 14, 1, 60, 24],
["is_proxy", 53, 52, 60, 24],
["jump_false", 53, "record_path_25", 60, 24],
["null", 54, 60, 24],
["access", 55, "slurp", 60, 24],
["array", 56, 0, 60, 24],
["push", 56, 7, 60, 24],
["frame", 57, 52, 2, 60, 24],
["setarg", 57, 0, 54, 60, 24],
["setarg", 57, 1, 55, 60, 24],
["setarg", 57, 2, 56, 60, 24],
["invoke", 57, 51, 60, 24],
["jump", "call_done_26", 60, 24],
"record_path_25",
["load_field", 58, 52, "slurp", 60, 24],
["frame", 59, 58, 1, 60, 24],
["setarg", 59, 0, 52, 60, 24],
["setarg", 59, 1, 7, 60, 24],
["invoke", 59, 51, 60, 24],
"call_done_26",
[
"access",
61,
{
"name": "mach_load",
"kind": "name",
"make": "intrinsic"
},
60,
14
],
["frame", 62, 61, 2, 60, 14],
["null", 63, 60, 14],
["setarg", 62, 0, 63, 60, 14],
["setarg", 62, 1, 51, 60, 14],
["setarg", 62, 2, 2, 60, 14],
["tail_invoke", 62, 60, 60, 14],
["return", 60, 60, 14],
"_nop_ur_1",
"if_else_20",
"if_end_21",
[
"access",
65,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
62,
18
],
["frame", 66, 65, 1, 62, 18],
["null", 67, 62, 18],
["setarg", 66, 0, 67, 62, 18],
["setarg", 66, 1, 3, 62, 18],
["invoke", 66, 64, 62, 18],
["move", 5, 64, 62, 18],
[
"access",
69,
{
"name": "mach_compile_mcode_bin",
"kind": "name",
"make": "intrinsic"
},
63,
17
],
["frame", 70, 69, 2, 63, 17],
["null", 71, 63, 17],
["setarg", 70, 0, 71, 63, 17],
["setarg", 70, 1, 1, 63, 17],
["setarg", 70, 2, 5, 63, 17],
["invoke", 70, 68, 63, 17],
["move", 6, 68, 63, 17],
["jump_false", 7, "if_else_27", 64, 9],
["get", 73, 1, 1, 65, 7],
["frame", 74, 73, 0, 65, 7],
["null", 75, 65, 7],
["setarg", 74, 0, 75, 65, 7],
["invoke", 74, 72, 65, 7],
["get", 77, 14, 1, 66, 7],
["is_proxy", 78, 77, 66, 7],
["jump_false", 78, "record_path_29", 66, 7],
["null", 79, 66, 7],
["access", 80, "slurpwrite", 66, 7],
["array", 81, 0, 66, 7],
["push", 81, 7, 66, 7],
["push", 81, 6, 66, 7],
["frame", 82, 77, 2, 66, 7],
["setarg", 82, 0, 79, 66, 7],
["setarg", 82, 1, 80, 66, 7],
["setarg", 82, 2, 81, 66, 7],
["invoke", 82, 76, 66, 7],
["jump", "call_done_30", 66, 7],
"record_path_29",
["load_field", 83, 77, "slurpwrite", 66, 7],
["frame", 84, 83, 2, 66, 7],
["setarg", 84, 0, 77, 66, 7],
["setarg", 84, 1, 7, 66, 7],
["setarg", 84, 2, 6, 66, 7],
["invoke", 84, 76, 66, 7],
"call_done_30",
["jump", "if_end_28", 66, 7],
"if_else_27",
"if_end_28",
[
"access",
86,
{
"name": "mach_load",
"kind": "name",
"make": "intrinsic"
},
68,
12
],
["frame", 87, 86, 2, 68, 12],
["null", 88, 68, 12],
["setarg", 87, 0, 88, 68, 12],
["setarg", 87, 1, 6, 68, 12],
["setarg", 87, 2, 2, 68, 12],
["tail_invoke", 87, 85, 68, 12],
["return", 85, 68, 12],
"_nop_ur_2",
"if_else_14",
"if_end_15",
["access", 89, "error: missing bootstrap bytecode: ", 70, 9],
["add", 90, 89, 1, 70, 49],
["access", 91, "\n", 70, 56],
["add", 92, 90, 91, 70, 56],
[
"access",
94,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
70,
3
],
["frame", 95, 94, 1, 70, 3],
["null", 96, 70, 3],
["setarg", 95, 0, 96, 70, 3],
["setarg", 95, 1, 92, 70, 3],
["invoke", 95, 93, 70, 3],
["disrupt", 71, 3],
["null", 97, 71, 3],
["return", 97, 71, 3]
],
"name": "boot_load",
"filename": "internal/bootstrap.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 126,
"nr_close_slots": 0,
"instructions": [
["record", 9, 0],
["access", 10, "tokenize.cm", 90, 11],
["store_field", 9, 10, "src", 90, 11],
["access", 11, "boot/tokenize.cm.mcode", 90, 33],
["store_field", 9, 11, "mcode", 90, 33],
["record", 12, 0],
["access", 13, "parse.cm", 91, 11],
["store_field", 12, 13, "src", 91, 11],
["access", 14, "boot/parse.cm.mcode", 91, 30],
["store_field", 12, 14, "mcode", 91, 30],
["record", 15, 0],
["access", 16, "fold.cm", 92, 11],
["store_field", 15, 16, "src", 92, 11],
["access", 17, "boot/fold.cm.mcode", 92, 29],
["store_field", 15, 17, "mcode", 92, 29],
["record", 18, 0],
["access", 19, "mcode.cm", 93, 11],
["store_field", 18, 19, "src", 93, 11],
["access", 20, "boot/mcode.cm.mcode", 93, 30],
["store_field", 18, 20, "mcode", 93, 30],
["record", 21, 0],
["access", 22, "streamline.cm", 94, 11],
["store_field", 21, 22, "src", 94, 11],
["access", 23, "boot/streamline.cm.mcode", 94, 35],
["store_field", 21, 23, "mcode", 94, 35],
["record", 24, 0],
["access", 25, "qbe.cm", 95, 11],
["store_field", 24, 25, "src", 95, 11],
["access", 26, "boot/qbe.cm.mcode", 95, 28],
["store_field", 24, 26, "mcode", 95, 28],
["record", 27, 0],
["access", 28, "qbe_emit.cm", 96, 11],
["store_field", 27, 28, "src", 96, 11],
["access", 29, "boot/qbe_emit.cm.mcode", 96, 33],
["store_field", 27, 29, "mcode", 96, 33],
["record", 30, 0],
["access", 31, "verify_ir.cm", 97, 11],
["store_field", 30, 31, "src", 97, 11],
["access", 32, "boot/verify_ir.cm.mcode", 97, 34],
["store_field", 30, 32, "mcode", 97, 34],
["record", 33, 0],
["access", 34, "internal/bootstrap.cm", 98, 11],
["store_field", 33, 34, "src", 98, 11],
["access", 35, "boot/bootstrap.cm.mcode", 98, 43],
["store_field", 33, 35, "mcode", 98, 43],
["record", 36, 0],
["access", 37, "internal/engine.cm", 99, 11],
["store_field", 36, 37, "src", 99, 11],
["access", 38, "boot/engine.cm.mcode", 99, 40],
["store_field", 36, 38, "mcode", 99, 40],
["array", 39, 0, 99, 40],
["push", 39, 9, 99, 40],
["push", 39, 12, 99, 40],
["push", 39, 15, 99, 40],
["push", 39, 18, 99, 40],
["push", 39, 21, 99, 40],
["push", 39, 24, 99, 40],
["push", 39, 27, 99, 40],
["push", 39, 30, 99, 40],
["push", 39, 33, 99, 40],
["push", 39, 36, 99, 40],
["move", 6, 39, 99, 40],
["array", 40, 0, 101, 15],
["move", 4, 40, 101, 15],
["access", 7, 0, 102, 12],
["null", 1, 103, 17],
["null", 8, 104, 20],
["null", 5, 105, 17],
["null", 3, 106, 23],
["null", 2, 107, 15],
"while_start_31",
["length", 41, 6, 108, 22],
["is_int", 43, 7, 108, 22],
["jump_false", 43, "rel_ni_33", 108, 22],
"_nop_tc_1",
"_nop_tc_2",
["lt_int", 42, 7, 41, 108, 22],
["jump", "rel_done_35", 108, 22],
"rel_ni_33",
["is_num", 43, 7, 108, 22],
["jump_false", 43, "rel_nn_34", 108, 22],
"_nop_tc_3",
"_nop_tc_4",
["lt_float", 42, 7, 41, 108, 22],
["jump", "rel_done_35", 108, 22],
"rel_nn_34",
["is_text", 43, 7, 108, 22],
["jump_false", 43, "rel_err_36", 108, 22],
"_nop_tc_5",
["jump", "rel_err_36", 108, 22],
["lt_text", 42, 7, 41, 108, 22],
["jump", "rel_done_35", 108, 22],
"rel_err_36",
["disrupt", 108, 22],
"rel_done_35",
["jump_false", 42, "while_end_32", 108, 22],
["load_dynamic", 45, 6, 7, 109, 21],
["move", 2, 45, 109, 21],
[
"access",
46,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
110,
15
],
["access", 47, "/", 110, 27],
["add", 48, 46, 47, 110, 27],
["load_field", 49, 2, "src", 110, 33],
["add", 50, 48, 49, 110, 33],
["move", 1, 50, 110, 33],
[
"access",
51,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
111,
18
],
["access", 52, "/", 111, 30],
["add", 53, 51, 52, 111, 30],
["load_field", 54, 2, "mcode", 111, 36],
["add", 55, 53, 54, 111, 36],
["move", 8, 55, 111, 36],
["get", 57, 14, 1, 112, 9],
["is_proxy", 58, 57, 112, 9],
["jump_false", 58, "record_path_40", 112, 9],
["null", 59, 112, 9],
["access", 60, "is_file", 112, 9],
["array", 61, 0, 112, 9],
["push", 61, 8, 112, 9],
["frame", 62, 57, 2, 112, 9],
["setarg", 62, 0, 59, 112, 9],
["setarg", 62, 1, 60, 112, 9],
["setarg", 62, 2, 61, 112, 9],
["invoke", 62, 56, 112, 9],
["jump", "call_done_41", 112, 9],
"record_path_40",
["load_field", 63, 57, "is_file", 112, 9],
["frame", 64, 63, 1, 112, 9],
["setarg", 64, 0, 57, 112, 9],
["setarg", 64, 1, 8, 112, 9],
["invoke", 64, 56, 112, 9],
"call_done_41",
["move", 65, 56, 112, 9],
["jump_false", 65, "and_end_39", 112, 9],
["get", 67, 14, 1, 112, 35],
["is_proxy", 68, 67, 112, 35],
["jump_false", 68, "record_path_42", 112, 35],
["null", 69, 112, 35],
["access", 70, "is_file", 112, 35],
["array", 71, 0, 112, 35],
["push", 71, 1, 112, 35],
["frame", 72, 67, 2, 112, 35],
["setarg", 72, 0, 69, 112, 35],
["setarg", 72, 1, 70, 112, 35],
["setarg", 72, 2, 71, 112, 35],
["invoke", 72, 66, 112, 35],
["jump", "call_done_43", 112, 35],
"record_path_42",
["load_field", 73, 67, "is_file", 112, 35],
["frame", 74, 73, 1, 112, 35],
["setarg", 74, 0, 67, 112, 35],
["setarg", 74, 1, 1, 112, 35],
["invoke", 74, 66, 112, 35],
"call_done_43",
["move", 65, 66, 112, 35],
"and_end_39",
["jump_false", 65, "if_else_37", 112, 35],
["get", 76, 14, 1, 113, 23],
["is_proxy", 77, 76, 113, 23],
["jump_false", 77, "record_path_44", 113, 23],
["null", 78, 113, 23],
["access", 79, "stat", 113, 23],
["array", 80, 0, 113, 23],
["push", 80, 8, 113, 23],
["frame", 81, 76, 2, 113, 23],
["setarg", 81, 0, 78, 113, 23],
["setarg", 81, 1, 79, 113, 23],
["setarg", 81, 2, 80, 113, 23],
["invoke", 81, 75, 113, 23],
["jump", "call_done_45", 113, 23],
"record_path_44",
["load_field", 82, 76, "stat", 113, 23],
["frame", 83, 82, 1, 113, 23],
["setarg", 83, 0, 76, 113, 23],
["setarg", 83, 1, 8, 113, 23],
["invoke", 83, 75, 113, 23],
"call_done_45",
["move", 3, 75, 113, 23],
["get", 85, 14, 1, 114, 17],
["is_proxy", 86, 85, 114, 17],
["jump_false", 86, "record_path_46", 114, 17],
["null", 87, 114, 17],
["access", 88, "stat", 114, 17],
["array", 89, 0, 114, 17],
["push", 89, 1, 114, 17],
["frame", 90, 85, 2, 114, 17],
["setarg", 90, 0, 87, 114, 17],
["setarg", 90, 1, 88, 114, 17],
["setarg", 90, 2, 89, 114, 17],
["invoke", 90, 84, 114, 17],
["jump", "call_done_47", 114, 17],
"record_path_46",
["load_field", 91, 85, "stat", 114, 17],
["frame", 92, 91, 1, 114, 17],
["setarg", 92, 0, 85, 114, 17],
["setarg", 92, 1, 1, 114, 17],
["invoke", 92, 84, 114, 17],
"call_done_47",
["move", 5, 84, 114, 17],
["load_field", 93, 5, "mtime", 115, 11],
["load_field", 94, 3, "mtime", 115, 27],
["is_int", 96, 93, 115, 27],
["jump_false", 96, "rel_ni_50", 115, 27],
["is_int", 97, 94, 115, 27],
["jump_false", 97, "rel_ni_50", 115, 27],
["gt_int", 95, 93, 94, 115, 27],
["jump", "rel_done_52", 115, 27],
"rel_ni_50",
["is_num", 96, 93, 115, 27],
["jump_false", 96, "rel_nn_51", 115, 27],
["is_num", 97, 94, 115, 27],
["jump_false", 97, "rel_nn_51", 115, 27],
["gt_float", 95, 93, 94, 115, 27],
["jump", "rel_done_52", 115, 27],
"rel_nn_51",
["is_text", 96, 93, 115, 27],
["jump_false", 96, "rel_err_53", 115, 27],
["is_text", 97, 94, 115, 27],
["jump_false", 97, "rel_err_53", 115, 27],
["gt_text", 95, 93, 94, 115, 27],
["jump", "rel_done_52", 115, 27],
"rel_err_53",
["disrupt", 115, 27],
"rel_done_52",
["jump_false", 95, "if_else_48", 115, 27],
["load_field", 98, 2, "src", 116, 21],
["is_array", 99, 4, 116, 21],
["jump_false", 99, "push_err_54", 116, 21],
["push", 4, 98, 116, 21],
["jump", "push_done_55", 116, 21],
"push_err_54",
["disrupt", 116, 21],
"push_done_55",
["jump", "if_end_49", 116, 21],
"if_else_48",
"if_end_49",
["jump", "if_end_38", 116, 21],
"if_else_37",
"if_end_38",
["access", 100, 1, 119, 15],
["add", 101, 7, 100, 119, 15],
["move", 7, 101, 119, 15],
["jump", "while_start_31", 119, 15],
"while_end_32",
["length", 102, 4, 121, 14],
["access", 103, 0, 121, 23],
"_nop_tc_6",
"_nop_tc_7",
"_nop_tc_8",
["jump", "rel_ni_58", 121, 23],
["gt_int", 104, 102, 103, 121, 23],
["jump", "rel_done_60", 121, 23],
"rel_ni_58",
"_nop_tc_9",
"_nop_tc_10",
"_nop_tc_11",
"_nop_tc_12",
["gt_float", 104, 102, 103, 121, 23],
["jump", "rel_done_60", 121, 23],
"rel_nn_59",
"_nop_tc_13",
["jump", "rel_err_61", 121, 23],
"_nop_tc_14",
["jump", "rel_err_61", 121, 23],
["gt_text", 104, 102, 103, 121, 23],
["jump", "rel_done_60", 121, 23],
"rel_err_61",
["disrupt", 121, 23],
"rel_done_60",
["jump_false", 104, "if_else_56", 121, 23],
["access", 107, "warning: bytecode is stale for: ", 122, 11],
["access", 108, ", ", 122, 60],
[
"access",
110,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
122,
48
],
["frame", 111, 110, 2, 122, 48],
["null", 112, 122, 48],
["setarg", 111, 0, 112, 122, 48],
["setarg", 111, 1, 4, 122, 48],
["setarg", 111, 2, 108, 122, 48],
["invoke", 111, 109, 122, 48],
["add", 113, 107, 109, 122, 48],
["access", 114, "\n", 122, 68],
["add", 115, 113, 114, 122, 68],
[
"access",
117,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
122,
5
],
["frame", 118, 117, 1, 122, 5],
["null", 119, 122, 5],
["setarg", 118, 0, 119, 122, 5],
["setarg", 118, 1, 115, 122, 5],
["invoke", 118, 116, 122, 5],
["access", 120, "run 'make regen' to update\n", 123, 11],
[
"access",
122,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
123,
5
],
["frame", 123, 122, 1, 123, 5],
["null", 124, 123, 5],
["setarg", 123, 0, 124, 123, 5],
["setarg", 123, 1, 120, 123, 5],
["invoke", 123, 121, 123, 5],
["jump", "if_end_57", 123, 5],
"if_else_56",
"if_end_57",
["null", 125, 123, 5],
["return", 125, 123, 5]
],
"name": "check_mach_stale",
"filename": "internal/bootstrap.cm",
"nr_args": 0
},
{
"disruption_pc": 0,
"nr_slots": 96,
"nr_close_slots": 0,
"instructions": [
["get", 14, 3, 1, 130, 20],
["frame", 15, 14, 2, 130, 20],
["null", 16, 130, 20],
["setarg", 15, 0, 16, 130, 20],
["setarg", 15, 1, 1, 130, 20],
["setarg", 15, 2, 2, 130, 20],
["invoke", 15, 13, 130, 20],
["move", 4, 13, 130, 20],
["load_field", 17, 4, "tokens", 131, 23],
["get", 18, 3, 1, 131, 57],
["get", 20, 23, 1, 131, 13],
["frame", 21, 20, 4, 131, 13],
["null", 22, 131, 13],
["setarg", 21, 0, 22, 131, 13],
["setarg", 21, 1, 17, 131, 13],
["setarg", 21, 2, 1, 131, 13],
["setarg", 21, 3, 2, 131, 13],
["setarg", 21, 4, 18, 131, 13],
["invoke", 21, 19, 131, 13],
["move", 10, 19, 131, 13],
["access", 7, 0, 132, 12],
["access", 12, -1, 133, 19],
["null", 6, 134, 18],
["null", 11, 135, 11],
["null", 3, 136, 13],
["null", 5, 137, 14],
["null", 8, 138, 13],
["load_field", 23, 10, "errors", 139, 20],
["null", 24, 139, 34],
["is_identical", 25, 23, 24, 139, 34],
["jump_true", 25, "ne_nid_64", 139, 34],
["jump", "ne_ni_65", 139, 34],
"ne_nid_64",
["false", 25, 139, 34],
["jump", "ne_done_63", 139, 34],
"ne_ni_65",
["is_int", 26, 23, 139, 34],
["jump_false", 26, "ne_nn_66", 139, 34],
"_nop_tc_1",
["jump", "ne_nn_66", 139, 34],
["ne_int", 25, 23, 24, 139, 34],
["jump", "ne_done_63", 139, 34],
"ne_nn_66",
["is_num", 26, 23, 139, 34],
["jump_false", 26, "ne_nt_67", 139, 34],
"_nop_tc_2",
["jump", "ne_nt_67", 139, 34],
["ne_float", 25, 23, 24, 139, 34],
["jump", "ne_done_63", 139, 34],
"ne_nt_67",
["is_text", 26, 23, 139, 34],
["jump_false", 26, "ne_nnl_68", 139, 34],
"_nop_tc_3",
["jump", "ne_nnl_68", 139, 34],
["ne_text", 25, 23, 24, 139, 34],
["jump", "ne_done_63", 139, 34],
"ne_nnl_68",
["is_null", 26, 23, 139, 34],
["jump_false", 26, "ne_nb_69", 139, 34],
"_nop_tc_4",
"_nop_tc_5",
["false", 25, 139, 34],
["jump", "ne_done_63", 139, 34],
"ne_nb_69",
["is_bool", 26, 23, 139, 34],
["jump_false", 26, "ne_mis_70", 139, 34],
"_nop_tc_6",
["jump", "ne_mis_70", 139, 34],
["ne_bool", 25, 23, 24, 139, 34],
["jump", "ne_done_63", 139, 34],
"ne_mis_70",
["true", 25, 139, 34],
"ne_done_63",
["move", 28, 25, 139, 34],
["jump_false", 28, "and_end_62", 139, 34],
["load_field", 29, 10, "errors", 139, 49],
["length", 30, 29, 139, 49],
["access", 31, 0, 139, 63],
"_nop_tc_7",
"_nop_tc_8",
"_nop_tc_9",
["jump", "rel_ni_71", 139, 63],
["gt_int", 32, 30, 31, 139, 63],
["jump", "rel_done_73", 139, 63],
"rel_ni_71",
"_nop_tc_10",
"_nop_tc_11",
"_nop_tc_12",
"_nop_tc_13",
["gt_float", 32, 30, 31, 139, 63],
["jump", "rel_done_73", 139, 63],
"rel_nn_72",
"_nop_tc_14",
["jump", "rel_err_74", 139, 63],
"_nop_tc_15",
["jump", "rel_err_74", 139, 63],
["gt_text", 32, 30, 31, 139, 63],
["jump", "rel_done_73", 139, 63],
"rel_err_74",
["disrupt", 139, 63],
"rel_done_73",
["move", 28, 32, 139, 63],
"and_end_62",
["move", 9, 28, 139, 63],
["jump_false", 9, "if_else_75", 140, 7],
"while_start_77",
["load_field", 35, 10, "errors", 141, 24],
["length", 36, 35, 141, 24],
["is_int", 38, 7, 141, 24],
["jump_false", 38, "rel_ni_79", 141, 24],
"_nop_tc_16",
"_nop_tc_17",
["lt_int", 37, 7, 36, 141, 24],
["jump", "rel_done_81", 141, 24],
"rel_ni_79",
["is_num", 38, 7, 141, 24],
["jump_false", 38, "rel_nn_80", 141, 24],
"_nop_tc_18",
"_nop_tc_19",
["lt_float", 37, 7, 36, 141, 24],
["jump", "rel_done_81", 141, 24],
"rel_nn_80",
["is_text", 38, 7, 141, 24],
["jump_false", 38, "rel_err_82", 141, 24],
"_nop_tc_20",
["jump", "rel_err_82", 141, 24],
["lt_text", 37, 7, 36, 141, 24],
["jump", "rel_done_81", 141, 24],
"rel_err_82",
["disrupt", 141, 24],
"rel_done_81",
["jump_false", 37, "while_end_78", 141, 24],
["load_field", 40, 10, "errors", 142, 11],
["load_dynamic", 41, 40, 7, 142, 22],
["move", 11, 41, 142, 22],
["load_field", 42, 11, "message", 143, 13],
["move", 3, 42, 143, 13],
["load_field", 43, 11, "line", 144, 14],
["move", 5, 43, 144, 14],
["load_field", 44, 11, "column", 145, 13],
["move", 8, 44, 145, 13],
["is_identical", 45, 3, 6, 146, 18],
["jump_true", 45, "ne_nid_87", 146, 18],
["jump", "ne_ni_88", 146, 18],
"ne_nid_87",
["false", 45, 146, 18],
["jump", "ne_done_86", 146, 18],
"ne_ni_88",
["is_int", 46, 3, 146, 18],
["jump_false", 46, "ne_nn_89", 146, 18],
["is_int", 47, 6, 146, 18],
["jump_false", 47, "ne_nn_89", 146, 18],
["ne_int", 45, 3, 6, 146, 18],
["jump", "ne_done_86", 146, 18],
"ne_nn_89",
["is_num", 46, 3, 146, 18],
["jump_false", 46, "ne_nt_90", 146, 18],
["is_num", 47, 6, 146, 18],
["jump_false", 47, "ne_nt_90", 146, 18],
["ne_float", 45, 3, 6, 146, 18],
["jump", "ne_done_86", 146, 18],
"ne_nt_90",
["is_text", 46, 3, 146, 18],
["jump_false", 46, "ne_nnl_91", 146, 18],
["is_text", 47, 6, 146, 18],
["jump_false", 47, "ne_nnl_91", 146, 18],
["ne_text", 45, 3, 6, 146, 18],
["jump", "ne_done_86", 146, 18],
"ne_nnl_91",
["is_null", 46, 3, 146, 18],
["jump_false", 46, "ne_nb_92", 146, 18],
["is_null", 47, 6, 146, 18],
["jump_false", 47, "ne_nb_92", 146, 18],
["false", 45, 146, 18],
["jump", "ne_done_86", 146, 18],
"ne_nb_92",
["is_bool", 46, 3, 146, 18],
["jump_false", 46, "ne_mis_93", 146, 18],
["is_bool", 47, 6, 146, 18],
["jump_false", 47, "ne_mis_93", 146, 18],
["ne_bool", 45, 3, 6, 146, 18],
["jump", "ne_done_86", 146, 18],
"ne_mis_93",
["true", 45, 146, 18],
"ne_done_86",
["move", 48, 45, 146, 18],
["jump_true", 48, "or_end_85", 146, 18],
["is_identical", 49, 5, 12, 146, 38],
["jump_true", 49, "ne_nid_95", 146, 38],
["jump", "ne_ni_96", 146, 38],
"ne_nid_95",
["false", 49, 146, 38],
["jump", "ne_done_94", 146, 38],
"ne_ni_96",
["is_int", 50, 5, 146, 38],
["jump_false", 50, "ne_nn_97", 146, 38],
["is_int", 51, 12, 146, 38],
["jump_false", 51, "ne_nn_97", 146, 38],
["ne_int", 49, 5, 12, 146, 38],
["jump", "ne_done_94", 146, 38],
"ne_nn_97",
["is_num", 50, 5, 146, 38],
["jump_false", 50, "ne_nt_98", 146, 38],
["is_num", 51, 12, 146, 38],
["jump_false", 51, "ne_nt_98", 146, 38],
["ne_float", 49, 5, 12, 146, 38],
["jump", "ne_done_94", 146, 38],
"ne_nt_98",
["is_text", 50, 5, 146, 38],
["jump_false", 50, "ne_nnl_99", 146, 38],
["is_text", 51, 12, 146, 38],
["jump_false", 51, "ne_nnl_99", 146, 38],
["ne_text", 49, 5, 12, 146, 38],
["jump", "ne_done_94", 146, 38],
"ne_nnl_99",
["is_null", 50, 5, 146, 38],
["jump_false", 50, "ne_nb_100", 146, 38],
["is_null", 51, 12, 146, 38],
["jump_false", 51, "ne_nb_100", 146, 38],
["false", 49, 146, 38],
["jump", "ne_done_94", 146, 38],
"ne_nb_100",
["is_bool", 50, 5, 146, 38],
["jump_false", 50, "ne_mis_101", 146, 38],
["is_bool", 51, 12, 146, 38],
["jump_false", 51, "ne_mis_101", 146, 38],
["ne_bool", 49, 5, 12, 146, 38],
["jump", "ne_done_94", 146, 38],
"ne_mis_101",
["true", 49, 146, 38],
"ne_done_94",
["move", 48, 49, 146, 38],
"or_end_85",
["jump_false", 48, "if_else_83", 146, 38],
["null", 52, 147, 21],
["is_identical", 53, 5, 52, 147, 21],
["jump_true", 53, "ne_nid_106", 147, 21],
["jump", "ne_ni_107", 147, 21],
"ne_nid_106",
["false", 53, 147, 21],
["jump", "ne_done_105", 147, 21],
"ne_ni_107",
["is_int", 54, 5, 147, 21],
["jump_false", 54, "ne_nn_108", 147, 21],
"_nop_tc_21",
["jump", "ne_nn_108", 147, 21],
["ne_int", 53, 5, 52, 147, 21],
["jump", "ne_done_105", 147, 21],
"ne_nn_108",
["is_num", 54, 5, 147, 21],
["jump_false", 54, "ne_nt_109", 147, 21],
"_nop_tc_22",
["jump", "ne_nt_109", 147, 21],
["ne_float", 53, 5, 52, 147, 21],
["jump", "ne_done_105", 147, 21],
"ne_nt_109",
["is_text", 54, 5, 147, 21],
["jump_false", 54, "ne_nnl_110", 147, 21],
"_nop_tc_23",
["jump", "ne_nnl_110", 147, 21],
["ne_text", 53, 5, 52, 147, 21],
["jump", "ne_done_105", 147, 21],
"ne_nnl_110",
["is_null", 54, 5, 147, 21],
["jump_false", 54, "ne_nb_111", 147, 21],
"_nop_tc_24",
"_nop_tc_25",
["false", 53, 147, 21],
["jump", "ne_done_105", 147, 21],
"ne_nb_111",
["is_bool", 54, 5, 147, 21],
["jump_false", 54, "ne_mis_112", 147, 21],
"_nop_tc_26",
["jump", "ne_mis_112", 147, 21],
["ne_bool", 53, 5, 52, 147, 21],
["jump", "ne_done_105", 147, 21],
"ne_mis_112",
["true", 53, 147, 21],
"ne_done_105",
["move", 56, 53, 147, 21],
["jump_false", 56, "and_end_104", 147, 21],
["null", 57, 147, 36],
["is_identical", 58, 8, 57, 147, 36],
["jump_true", 58, "ne_nid_114", 147, 36],
["jump", "ne_ni_115", 147, 36],
"ne_nid_114",
["false", 58, 147, 36],
["jump", "ne_done_113", 147, 36],
"ne_ni_115",
["is_int", 59, 8, 147, 36],
["jump_false", 59, "ne_nn_116", 147, 36],
"_nop_tc_27",
["jump", "ne_nn_116", 147, 36],
["ne_int", 58, 8, 57, 147, 36],
["jump", "ne_done_113", 147, 36],
"ne_nn_116",
["is_num", 59, 8, 147, 36],
["jump_false", 59, "ne_nt_117", 147, 36],
"_nop_tc_28",
["jump", "ne_nt_117", 147, 36],
["ne_float", 58, 8, 57, 147, 36],
["jump", "ne_done_113", 147, 36],
"ne_nt_117",
["is_text", 59, 8, 147, 36],
["jump_false", 59, "ne_nnl_118", 147, 36],
"_nop_tc_29",
["jump", "ne_nnl_118", 147, 36],
["ne_text", 58, 8, 57, 147, 36],
["jump", "ne_done_113", 147, 36],
"ne_nnl_118",
["is_null", 59, 8, 147, 36],
["jump_false", 59, "ne_nb_119", 147, 36],
"_nop_tc_30",
"_nop_tc_31",
["false", 58, 147, 36],
["jump", "ne_done_113", 147, 36],
"ne_nb_119",
["is_bool", 59, 8, 147, 36],
["jump_false", 59, "ne_mis_120", 147, 36],
"_nop_tc_32",
["jump", "ne_mis_120", 147, 36],
["ne_bool", 58, 8, 57, 147, 36],
["jump", "ne_done_113", 147, 36],
"ne_mis_120",
["true", 58, 147, 36],
"ne_done_113",
["move", 56, 58, 147, 36],
"and_end_104",
["jump_false", 56, "if_else_102", 147, 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, 8, 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"
},
148,
11
],
["frame", 77, 76, 1, 148, 11],
["null", 78, 148, 11],
["setarg", 77, 0, 78, 148, 11],
["setarg", 77, 1, 72, 148, 11],
["invoke", 77, 75, 148, 11],
["jump", "if_end_103", 148, 11],
"if_else_102",
["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"
},
150,
11
],
["frame", 87, 86, 1, 150, 11],
["null", 88, 150, 11],
["setarg", 87, 0, 88, 150, 11],
["setarg", 87, 1, 82, 150, 11],
["invoke", 87, 85, 150, 11],
"if_end_103",
["jump", "if_end_84", 150, 11],
"if_else_83",
"if_end_84",
["move", 12, 5, 153, 19],
["move", 6, 3, 154, 18],
["access", 89, 1, 155, 17],
["add", 90, 7, 89, 155, 17],
["move", 7, 90, 155, 17],
["jump", "while_start_77", 155, 17],
"while_end_78",
["disrupt", 157, 5],
["jump", "if_end_76", 157, 5],
"if_else_75",
"if_end_76",
["get", 92, 13, 1, 159, 9],
["frame", 93, 92, 1, 159, 9],
["null", 94, 159, 9],
["setarg", 93, 0, 94, 159, 9],
["setarg", 93, 1, 10, 159, 9],
["invoke", 93, 91, 159, 9],
["move", 10, 91, 159, 9],
["return", 10, 160, 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, 22, 1, 172, 18],
["frame", 10, 9, 1, 172, 18],
["null", 11, 172, 18],
["setarg", 10, 0, 11, 172, 18],
["setarg", 10, 1, 2, 172, 18],
["invoke", 10, 8, 172, 18],
["move", 4, 8, 172, 18],
[
"access",
12,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
173,
7
],
["load_field", 13, 12, "_verify_ir", 173, 7],
["jump_false", 13, "if_else_121", 173, 7],
["get", 14, 15, 1, 174, 9],
["null", 15, 174, 27],
["is_identical", 16, 14, 15, 174, 27],
["jump_true", 16, "eq_done_125", 174, 27],
["is_int", 17, 14, 174, 27],
["jump_false", 17, "eq_ni_126", 174, 27],
"_nop_tc_1",
["jump", "eq_ni_126", 174, 27],
["eq_int", 16, 14, 15, 174, 27],
["jump", "eq_done_125", 174, 27],
"eq_ni_126",
["is_num", 17, 14, 174, 27],
["jump_false", 17, "eq_nn_127", 174, 27],
"_nop_tc_2",
["jump", "eq_nn_127", 174, 27],
["eq_float", 16, 14, 15, 174, 27],
["jump", "eq_done_125", 174, 27],
"eq_nn_127",
["is_text", 17, 14, 174, 27],
["jump_false", 17, "eq_nt_128", 174, 27],
"_nop_tc_3",
["jump", "eq_nt_128", 174, 27],
["eq_text", 16, 14, 15, 174, 27],
["jump", "eq_done_125", 174, 27],
"eq_nt_128",
["is_null", 17, 14, 174, 27],
["jump_false", 17, "eq_nnl_129", 174, 27],
"_nop_tc_4",
"_nop_tc_5",
["true", 16, 174, 27],
["jump", "eq_done_125", 174, 27],
"eq_nnl_129",
["is_bool", 17, 14, 174, 27],
["jump_false", 17, "eq_nb_130", 174, 27],
"_nop_tc_6",
["jump", "eq_nb_130", 174, 27],
["eq_bool", 16, 14, 15, 174, 27],
["jump", "eq_done_125", 174, 27],
"eq_nb_130",
["false", 16, 174, 27],
"eq_done_125",
["jump_false", 16, "if_else_123", 174, 27],
["access", 19, "verify_ir", 175, 34],
["get", 20, 7, 1, 175, 47],
["get", 22, 24, 1, 175, 24],
["frame", 23, 22, 2, 175, 24],
["null", 24, 175, 24],
["setarg", 23, 0, 24, 175, 24],
["setarg", 23, 1, 19, 175, 24],
["setarg", 23, 2, 20, 175, 24],
["invoke", 23, 21, 175, 24],
["put", 21, 15, 1, 175, 24],
["jump", "if_end_124", 175, 24],
"if_else_123",
"if_end_124",
["true", 25, 177, 24],
["store_field", 4, 25, "_verify", 177, 5],
["get", 26, 15, 1, 178, 28],
["store_field", 4, 26, "_verify_mod", 178, 5],
["jump", "if_end_122", 178, 5],
"if_else_121",
"if_end_122",
["get", 28, 26, 1, 180, 19],
["frame", 29, 28, 1, 180, 19],
["null", 30, 180, 19],
["setarg", 29, 0, 30, 180, 19],
["setarg", 29, 1, 4, 180, 19],
["invoke", 29, 27, 180, 19],
["move", 5, 27, 180, 19],
["load_field", 31, 5, "_verify", 182, 7],
["jump_false", 31, "if_else_131", 182, 7],
["delete", 32, 5, "_verify"],
["delete", 33, 5, "_verify_mod"],
["jump", "if_end_132", 184, 12],
"if_else_131",
"if_end_132",
["get", 35, 27, 1, 186, 20],
["is_proxy", 36, 35, 186, 20],
["jump_false", 36, "record_path_133", 186, 20],
["null", 37, 186, 20],
["access", 38, "encode", 186, 20],
["array", 39, 0, 186, 20],
["push", 39, 5, 186, 20],
["frame", 40, 35, 2, 186, 20],
["setarg", 40, 0, 37, 186, 20],
["setarg", 40, 1, 38, 186, 20],
["setarg", 40, 2, 39, 186, 20],
["invoke", 40, 34, 186, 20],
["jump", "call_done_134", 186, 20],
"record_path_133",
["load_field", 41, 35, "encode", 186, 20],
["frame", 42, 41, 1, 186, 20],
["setarg", 42, 0, 35, 186, 20],
["setarg", 42, 1, 5, 186, 20],
["invoke", 42, 34, 186, 20],
"call_done_134",
["move", 6, 34, 186, 20],
[
"access",
44,
{
"name": "mach_compile_mcode_bin",
"kind": "name",
"make": "intrinsic"
},
187,
19
],
["frame", 45, 44, 2, 187, 19],
["null", 46, 187, 19],
["setarg", 45, 0, 46, 187, 19],
["setarg", 45, 1, 1, 187, 19],
["setarg", 45, 2, 6, 187, 19],
["invoke", 45, 43, 187, 19],
["move", 7, 43, 187, 19],
[
"access",
48,
{
"name": "mach_load",
"kind": "name",
"make": "intrinsic"
},
188,
10
],
["frame", 49, 48, 2, 188, 10],
["null", 50, 188, 10],
["setarg", 49, 0, 50, 188, 10],
["setarg", 49, 1, 7, 188, 10],
["setarg", 49, 2, 3, 188, 10],
["tail_invoke", 49, 47, 188, 10],
["return", 47, 188, 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, 22, 1, 193, 18],
["frame", 9, 8, 1, 193, 18],
["null", 10, 193, 18],
["setarg", 9, 0, 10, 193, 18],
["setarg", 9, 1, 2, 193, 18],
["invoke", 9, 7, 193, 18],
["move", 4, 7, 193, 18],
["get", 12, 27, 1, 194, 20],
["is_proxy", 13, 12, 194, 20],
["jump_false", 13, "record_path_135", 194, 20],
["null", 14, 194, 20],
["access", 15, "encode", 194, 20],
["array", 16, 0, 194, 20],
["push", 16, 4, 194, 20],
["frame", 17, 12, 2, 194, 20],
["setarg", 17, 0, 14, 194, 20],
["setarg", 17, 1, 15, 194, 20],
["setarg", 17, 2, 16, 194, 20],
["invoke", 17, 11, 194, 20],
["jump", "call_done_136", 194, 20],
"record_path_135",
["load_field", 18, 12, "encode", 194, 20],
["frame", 19, 18, 1, 194, 20],
["setarg", 19, 0, 12, 194, 20],
["setarg", 19, 1, 4, 194, 20],
["invoke", 19, 11, 194, 20],
"call_done_136",
["move", 5, 11, 194, 20],
[
"access",
21,
{
"name": "mach_compile_mcode_bin",
"kind": "name",
"make": "intrinsic"
},
195,
19
],
["frame", 22, 21, 2, 195, 19],
["null", 23, 195, 19],
["setarg", 22, 0, 23, 195, 19],
["setarg", 22, 1, 1, 195, 19],
["setarg", 22, 2, 5, 195, 19],
["invoke", 22, 20, 195, 19],
["move", 6, 20, 195, 19],
[
"access",
25,
{
"name": "mach_load",
"kind": "name",
"make": "intrinsic"
},
196,
10
],
["frame", 26, 25, 2, 196, 10],
["null", 27, 196, 10],
["setarg", 26, 0, 27, 196, 10],
["setarg", 26, 1, 6, 196, 10],
["setarg", 26, 2, 3, 196, 10],
["tail_invoke", 26, 24, 196, 10],
["return", 24, 196, 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, 22, 1, 201, 18],
["frame", 7, 6, 1, 201, 18],
["null", 8, 201, 18],
["setarg", 7, 0, 8, 201, 18],
["setarg", 7, 1, 2, 201, 18],
["invoke", 7, 5, 201, 18],
["move", 3, 5, 201, 18],
["get", 10, 26, 1, 202, 19],
["frame", 11, 10, 1, 202, 19],
["null", 12, 202, 19],
["setarg", 11, 0, 12, 202, 19],
["setarg", 11, 1, 3, 202, 19],
["invoke", 11, 9, 202, 19],
["move", 4, 9, 202, 19],
["get", 14, 27, 1, 203, 39],
["is_proxy", 15, 14, 203, 39],
["jump_false", 15, "record_path_137", 203, 39],
["null", 16, 203, 39],
["access", 17, "encode", 203, 39],
["array", 18, 0, 203, 39],
["push", 18, 4, 203, 39],
["frame", 19, 14, 2, 203, 39],
["setarg", 19, 0, 16, 203, 39],
["setarg", 19, 1, 17, 203, 39],
["setarg", 19, 2, 18, 203, 39],
["invoke", 19, 13, 203, 39],
["jump", "call_done_138", 203, 39],
"record_path_137",
["load_field", 20, 14, "encode", 203, 39],
["frame", 21, 20, 1, 203, 39],
["setarg", 21, 0, 14, 203, 39],
["setarg", 21, 1, 4, 203, 39],
["invoke", 21, 13, 203, 39],
"call_done_138",
[
"access",
23,
{
"name": "mach_compile_mcode_bin",
"kind": "name",
"make": "intrinsic"
},
203,
10
],
["frame", 24, 23, 2, 203, 10],
["null", 25, 203, 10],
["setarg", 24, 0, 25, 203, 10],
["setarg", 24, 1, 1, 203, 10],
["setarg", 24, 2, 13, 203, 10],
["tail_invoke", 24, 22, 203, 10],
["return", 22, 203, 10],
"_nop_ur_1",
"_nop_ur_2"
],
"name": "compile_to_blob",
"filename": "internal/bootstrap.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 115,
"nr_close_slots": 0,
"instructions": [
[
"access",
11,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
208,
20
],
["access", 12, "/boot/engine.cm.mcode", 208, 32],
["add", 13, 11, 12, 208, 32],
["move", 10, 13, 208, 32],
["null", 2, 209, 20],
["null", 3, 210, 14],
["null", 9, 211, 16],
["null", 7, 212, 20],
["null", 8, 213, 19],
["null", 4, 214, 20],
["null", 5, 215, 20],
["get", 15, 14, 1, 216, 7],
["is_proxy", 16, 15, 216, 7],
["jump_false", 16, "record_path_141", 216, 7],
["null", 17, 216, 7],
["access", 18, "is_file", 216, 7],
["array", 19, 0, 216, 7],
["push", 19, 10, 216, 7],
["frame", 20, 15, 2, 216, 7],
["setarg", 20, 0, 17, 216, 7],
["setarg", 20, 1, 18, 216, 7],
["setarg", 20, 2, 19, 216, 7],
["invoke", 20, 14, 216, 7],
["jump", "call_done_142", 216, 7],
"record_path_141",
["load_field", 21, 15, "is_file", 216, 7],
["frame", 22, 21, 1, 216, 7],
["setarg", 22, 0, 15, 216, 7],
["setarg", 22, 1, 10, 216, 7],
["invoke", 22, 14, 216, 7],
"call_done_142",
["jump_false", 14, "if_else_139", 216, 7],
["get", 24, 14, 1, 217, 18],
["is_proxy", 25, 24, 217, 18],
["jump_false", 25, "record_path_143", 217, 18],
["null", 26, 217, 18],
["access", 27, "slurp", 217, 18],
["array", 28, 0, 217, 18],
["push", 28, 10, 217, 18],
["frame", 29, 24, 2, 217, 18],
["setarg", 29, 0, 26, 217, 18],
["setarg", 29, 1, 27, 217, 18],
["setarg", 29, 2, 28, 217, 18],
["invoke", 29, 23, 217, 18],
["jump", "call_done_144", 217, 18],
"record_path_143",
["load_field", 30, 24, "slurp", 217, 18],
["frame", 31, 30, 1, 217, 18],
["setarg", 31, 0, 24, 217, 18],
["setarg", 31, 1, 10, 217, 18],
["invoke", 31, 23, 217, 18],
"call_done_144",
["move", 2, 23, 217, 18],
["get", 33, 8, 1, 218, 12],
["frame", 34, 33, 1, 218, 12],
["null", 35, 218, 12],
["setarg", 34, 0, 35, 218, 12],
["setarg", 34, 1, 2, 218, 12],
["invoke", 34, 32, 218, 12],
["move", 3, 32, 218, 12],
["get", 37, 12, 1, 219, 14],
["frame", 38, 37, 1, 219, 14],
["null", 39, 219, 14],
["setarg", 38, 0, 39, 219, 14],
["setarg", 38, 1, 3, 219, 14],
["invoke", 38, 36, 219, 14],
["move", 9, 36, 219, 14],
["move", 40, 9, 220, 9],
["jump_false", 40, "and_end_147", 220, 9],
["get", 42, 14, 1, 220, 19],
["is_proxy", 43, 42, 220, 19],
["jump_false", 43, "record_path_148", 220, 19],
["null", 44, 220, 19],
["access", 45, "is_file", 220, 19],
["array", 46, 0, 220, 19],
["push", 46, 9, 220, 19],
["frame", 47, 42, 2, 220, 19],
["setarg", 47, 0, 44, 220, 19],
["setarg", 47, 1, 45, 220, 19],
["setarg", 47, 2, 46, 220, 19],
["invoke", 47, 41, 220, 19],
["jump", "call_done_149", 220, 19],
"record_path_148",
["load_field", 48, 42, "is_file", 220, 19],
["frame", 49, 48, 1, 220, 19],
["setarg", 49, 0, 42, 220, 19],
["setarg", 49, 1, 9, 220, 19],
["invoke", 49, 41, 220, 19],
"call_done_149",
["move", 40, 41, 220, 19],
"and_end_147",
["jump_false", 40, "if_else_145", 220, 19],
["get", 51, 14, 1, 221, 24],
["is_proxy", 52, 51, 221, 24],
["jump_false", 52, "record_path_150", 221, 24],
["null", 53, 221, 24],
["access", 54, "slurp", 221, 24],
["array", 55, 0, 221, 24],
["push", 55, 9, 221, 24],
["frame", 56, 51, 2, 221, 24],
["setarg", 56, 0, 53, 221, 24],
["setarg", 56, 1, 54, 221, 24],
["setarg", 56, 2, 55, 221, 24],
["invoke", 56, 50, 221, 24],
["jump", "call_done_151", 221, 24],
"record_path_150",
["load_field", 57, 51, "slurp", 221, 24],
["frame", 58, 57, 1, 221, 24],
["setarg", 58, 0, 51, 221, 24],
["setarg", 58, 1, 9, 221, 24],
["invoke", 58, 50, 221, 24],
"call_done_151",
[
"access",
60,
{
"name": "mach_load",
"kind": "name",
"make": "intrinsic"
},
221,
14
],
["frame", 61, 60, 2, 221, 14],
["null", 62, 221, 14],
["setarg", 61, 0, 62, 221, 14],
["setarg", 61, 1, 50, 221, 14],
["setarg", 61, 2, 1, 221, 14],
["tail_invoke", 61, 59, 221, 14],
["return", 59, 221, 14],
"_nop_ur_1",
"if_else_145",
"if_end_146",
[
"access",
64,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
223,
18
],
["frame", 65, 64, 1, 223, 18],
["null", 66, 223, 18],
["setarg", 65, 0, 66, 223, 18],
["setarg", 65, 1, 2, 223, 18],
["invoke", 65, 63, 223, 18],
["move", 7, 63, 223, 18],
["access", 67, "engine", 224, 40],
[
"access",
69,
{
"name": "mach_compile_mcode_bin",
"kind": "name",
"make": "intrinsic"
},
224,
17
],
["frame", 70, 69, 2, 224, 17],
["null", 71, 224, 17],
["setarg", 70, 0, 71, 224, 17],
["setarg", 70, 1, 67, 224, 17],
["setarg", 70, 2, 7, 224, 17],
["invoke", 70, 68, 224, 17],
["move", 8, 68, 224, 17],
["jump_false", 9, "if_else_152", 225, 9],
["get", 73, 1, 1, 226, 7],
["frame", 74, 73, 0, 226, 7],
["null", 75, 226, 7],
["setarg", 74, 0, 75, 226, 7],
["invoke", 74, 72, 226, 7],
["get", 77, 14, 1, 227, 7],
["is_proxy", 78, 77, 227, 7],
["jump_false", 78, "record_path_154", 227, 7],
["null", 79, 227, 7],
["access", 80, "slurpwrite", 227, 7],
["array", 81, 0, 227, 7],
["push", 81, 9, 227, 7],
["push", 81, 8, 227, 7],
["frame", 82, 77, 2, 227, 7],
["setarg", 82, 0, 79, 227, 7],
["setarg", 82, 1, 80, 227, 7],
["setarg", 82, 2, 81, 227, 7],
["invoke", 82, 76, 227, 7],
["jump", "call_done_155", 227, 7],
"record_path_154",
["load_field", 83, 77, "slurpwrite", 227, 7],
["frame", 84, 83, 2, 227, 7],
["setarg", 84, 0, 77, 227, 7],
["setarg", 84, 1, 9, 227, 7],
["setarg", 84, 2, 8, 227, 7],
["invoke", 84, 76, 227, 7],
"call_done_155",
["jump", "if_end_153", 227, 7],
"if_else_152",
"if_end_153",
[
"access",
86,
{
"name": "mach_load",
"kind": "name",
"make": "intrinsic"
},
229,
12
],
["frame", 87, 86, 2, 229, 12],
["null", 88, 229, 12],
["setarg", 87, 0, 88, 229, 12],
["setarg", 87, 1, 8, 229, 12],
["setarg", 87, 2, 1, 229, 12],
["tail_invoke", 87, 85, 229, 12],
["return", 85, 229, 12],
"_nop_ur_2",
"if_else_139",
"if_end_140",
[
"access",
89,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
232,
19
],
["access", 90, "/internal/engine.cm", 232, 31],
["add", 91, 89, 90, 232, 31],
["move", 6, 91, 232, 31],
["get", 93, 14, 1, 233, 21],
["is_proxy", 94, 93, 233, 21],
["jump_false", 94, "record_path_156", 233, 21],
["null", 95, 233, 21],
["access", 96, "slurp", 233, 21],
["array", 97, 0, 233, 21],
["push", 97, 6, 233, 21],
["frame", 98, 93, 2, 233, 21],
["setarg", 98, 0, 95, 233, 21],
["setarg", 98, 1, 96, 233, 21],
["setarg", 98, 2, 97, 233, 21],
["invoke", 98, 92, 233, 21],
["jump", "call_done_157", 233, 21],
"record_path_156",
["load_field", 99, 93, "slurp", 233, 21],
["frame", 100, 99, 1, 233, 21],
["setarg", 100, 0, 93, 233, 21],
["setarg", 100, 1, 6, 233, 21],
["invoke", 100, 92, 233, 21],
"call_done_157",
[
"access",
102,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
233,
16
],
["frame", 103, 102, 1, 233, 16],
["null", 104, 233, 16],
["setarg", 103, 0, 104, 233, 16],
["setarg", 103, 1, 92, 233, 16],
["invoke", 103, 101, 233, 16],
["move", 4, 101, 233, 16],
["get", 106, 5, 1, 234, 16],
["frame", 107, 106, 2, 234, 16],
["null", 108, 234, 16],
["setarg", 107, 0, 108, 234, 16],
["setarg", 107, 1, 4, 234, 16],
["setarg", 107, 2, 6, 234, 16],
["invoke", 107, 105, 234, 16],
["move", 5, 105, 234, 16],
["access", 109, "engine", 235, 18],
["get", 111, 21, 1, 235, 10],
["frame", 112, 111, 3, 235, 10],
["null", 113, 235, 10],
["setarg", 112, 0, 113, 235, 10],
["setarg", 112, 1, 109, 235, 10],
["setarg", 112, 2, 5, 235, 10],
["setarg", 112, 3, 1, 235, 10],
["tail_invoke", 112, 110, 235, 10],
["return", 110, 235, 10],
"_nop_ur_3",
"_nop_ur_4"
],
"name": "load_engine",
"filename": "internal/bootstrap.cm",
"nr_args": 1
}
],
"main": {
"nr_args": 0,
"nr_close_slots": 0,
"nr_slots": 136,
"instructions": [
["function", 28, 0, 0, 0],
["move", 20, 28, 0, 0],
["function", 29, 1, 0, 0],
["move", 8, 29, 0, 0],
["function", 30, 2, 0, 0],
["move", 12, 30, 0, 0],
["function", 31, 3, 0, 0],
["move", 1, 31, 0, 0],
["function", 32, 4, 0, 0],
["move", 11, 32, 0, 0],
["function", 33, 5, 0, 0],
["move", 24, 33, 0, 0],
["function", 34, 6, 0, 0],
["move", 6, 34, 0, 0],
["function", 35, 7, 0, 0],
["move", 5, 35, 0, 0],
["function", 36, 8, 0, 0],
["move", 21, 36, 0, 0],
["function", 37, 9, 0, 0],
["move", 9, 37, 0, 0],
["function", 38, 10, 0, 0],
["move", 10, 38, 0, 0],
["function", 39, 11, 0, 0],
["move", 16, 39, 0, 0],
[
"access",
40,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
5,
21
],
["load_field", 41, 40, "load_internal", 5, 21],
["move", 17, 41, 5, 21],
["access", 42, "fd", 10, 20],
["frame", 44, 20, 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", 14, 43, 10, 10],
["access", 46, "json", 11, 22],
["frame", 48, 20, 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", 27, 47, 11, 12],
["access", 50, "crypto", 12, 24],
["frame", 52, 20, 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", 18, 51, 12, 14],
["record", 54, 0],
["move", 19, 54, 14, 17],
["access", 55, "fd", 15, 11],
["store_field", 19, 14, 55, 15, 11],
[
"access",
56,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
16,
19
],
["access", 57, "os", 16, 11],
["store_field", 19, 56, 57, 16, 11],
["access", 58, "json", 17, 11],
["store_field", 19, 27, 58, 17, 11],
["access", 59, "crypto", 18, 11],
["store_field", 19, 18, 59, 18, 11],
["record", 60, 0],
["store_field", 60, 11, "use", 74, 22],
["move", 7, 60, 74, 22],
["access", 61, "tokenize", 75, 30],
["frame", 63, 24, 2, 75, 20],
["null", 64, 75, 20],
["setarg", 63, 0, 64, 75, 20],
["setarg", 63, 1, 61, 75, 20],
["setarg", 63, 2, 7, 75, 20],
["invoke", 63, 62, 75, 20],
["move", 3, 62, 75, 20],
["access", 65, "parse", 76, 27],
["frame", 67, 24, 2, 76, 17],
["null", 68, 76, 17],
["setarg", 67, 0, 68, 76, 17],
["setarg", 67, 1, 65, 76, 17],
["setarg", 67, 2, 7, 76, 17],
["invoke", 67, 66, 76, 17],
["move", 23, 66, 76, 17],
["access", 69, "fold", 77, 26],
["frame", 71, 24, 2, 77, 16],
["null", 72, 77, 16],
["setarg", 71, 0, 72, 77, 16],
["setarg", 71, 1, 69, 77, 16],
["setarg", 71, 2, 7, 77, 16],
["invoke", 71, 70, 77, 16],
["move", 13, 70, 77, 16],
["access", 73, "tokenize", 78, 11],
["store_field", 19, 3, 73, 78, 11],
["access", 74, "parse", 79, 11],
["store_field", 19, 23, 74, 79, 11],
["access", 75, "fold", 80, 11],
["store_field", 19, 13, 75, 80, 11],
["access", 76, "mcode", 83, 27],
["frame", 78, 24, 2, 83, 17],
["null", 79, 83, 17],
["setarg", 78, 0, 79, 83, 17],
["setarg", 78, 1, 76, 83, 17],
["setarg", 78, 2, 7, 83, 17],
["invoke", 78, 77, 83, 17],
["move", 22, 77, 83, 17],
["access", 80, "mcode", 84, 11],
["store_field", 19, 22, 80, 84, 11],
["null", 26, 85, 22],
["frame", 82, 6, 0, 126, 1],
["null", 83, 126, 1],
["setarg", 82, 0, 83, 126, 1],
["invoke", 82, 81, 126, 1],
["access", 84, "streamline", 164, 28],
["frame", 86, 24, 2, 164, 18],
["null", 87, 164, 18],
["setarg", 86, 0, 87, 164, 18],
["setarg", 86, 1, 84, 164, 18],
["setarg", 86, 2, 7, 164, 18],
["invoke", 86, 85, 164, 18],
["move", 26, 85, 164, 18],
["access", 88, "streamline", 165, 11],
["store_field", 19, 26, 88, 165, 11],
["null", 15, 168, 22],
["null", 25, 240, 15],
["array", 89, 0, 241, 17],
["move", 2, 89, 241, 17],
["access", 4, 0, 242, 10],
[
"access",
90,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
244,
5
],
["null", 91, 244, 13],
["is_identical", 92, 90, 91, 244, 13],
["jump_true", 92, "ne_nid_161", 244, 13],
["jump", "ne_ni_162", 244, 13],
"ne_nid_161",
["false", 92, 244, 13],
["jump", "ne_done_160", 244, 13],
"ne_ni_162",
["is_int", 93, 90, 244, 13],
["jump_false", 93, "ne_nn_163", 244, 13],
"_nop_tc_1",
["jump", "ne_nn_163", 244, 13],
["ne_int", 92, 90, 91, 244, 13],
["jump", "ne_done_160", 244, 13],
"ne_nn_163",
["is_num", 93, 90, 244, 13],
["jump_false", 93, "ne_nt_164", 244, 13],
"_nop_tc_2",
["jump", "ne_nt_164", 244, 13],
["ne_float", 92, 90, 91, 244, 13],
["jump", "ne_done_160", 244, 13],
"ne_nt_164",
["is_text", 93, 90, 244, 13],
["jump_false", 93, "ne_nnl_165", 244, 13],
"_nop_tc_3",
["jump", "ne_nnl_165", 244, 13],
["ne_text", 92, 90, 91, 244, 13],
["jump", "ne_done_160", 244, 13],
"ne_nnl_165",
["is_null", 93, 90, 244, 13],
["jump_false", 93, "ne_nb_166", 244, 13],
"_nop_tc_4",
"_nop_tc_5",
["false", 92, 244, 13],
["jump", "ne_done_160", 244, 13],
"ne_nb_166",
["is_bool", 93, 90, 244, 13],
["jump_false", 93, "ne_mis_167", 244, 13],
"_nop_tc_6",
["jump", "ne_mis_167", 244, 13],
["ne_bool", 92, 90, 91, 244, 13],
["jump", "ne_done_160", 244, 13],
"ne_mis_167",
["true", 92, 244, 13],
"ne_done_160",
["jump_false", 92, "if_else_158", 244, 13],
[
"access",
95,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
246,
13
],
["access", 96, 0, 246, 18],
["load_index", 97, 95, 96, 246, 18],
["move", 25, 97, 246, 18],
"_nop_bl_1",
["jump_true", 25, "if_else_168", 247, 8],
["access", 99, "error: no program specified\n", 248, 11],
[
"access",
101,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
248,
5
],
["frame", 102, 101, 1, 248, 5],
["null", 103, 248, 5],
["setarg", 102, 0, 103, 248, 5],
["setarg", 102, 1, 99, 248, 5],
["invoke", 102, 100, 248, 5],
["disrupt", 249, 5],
["jump", "if_end_169", 249, 5],
"if_else_168",
"if_end_169",
["access", 104, 1, 251, 8],
["move", 4, 104, 251, 8],
"while_start_170",
[
"access",
105,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
252,
22
],
["length", 106, 105, 252, 22],
["is_int", 108, 4, 252, 22],
["jump_false", 108, "rel_ni_172", 252, 22],
"_nop_tc_7",
"_nop_tc_8",
["lt_int", 107, 4, 106, 252, 22],
["jump", "rel_done_174", 252, 22],
"rel_ni_172",
["is_num", 108, 4, 252, 22],
["jump_false", 108, "rel_nn_173", 252, 22],
"_nop_tc_9",
"_nop_tc_10",
["lt_float", 107, 4, 106, 252, 22],
["jump", "rel_done_174", 252, 22],
"rel_nn_173",
["is_text", 108, 4, 252, 22],
["jump_false", 108, "rel_err_175", 252, 22],
"_nop_tc_11",
["jump", "rel_err_175", 252, 22],
["lt_text", 107, 4, 106, 252, 22],
["jump", "rel_done_174", 252, 22],
"rel_err_175",
["disrupt", 252, 22],
"rel_done_174",
["jump_false", 107, "while_end_171", 252, 22],
[
"access",
110,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
253,
21
],
["load_dynamic", 111, 110, 4, 253, 26],
["is_array", 112, 2, 253, 26],
["jump_false", 112, "push_err_176", 253, 26],
["push", 2, 111, 253, 26],
["jump", "push_done_177", 253, 26],
"push_err_176",
["disrupt", 253, 26],
"push_done_177",
["access", 113, 1, 254, 15],
["add", 114, 4, 113, 254, 15],
["move", 4, 114, 254, 15],
["jump", "while_start_170", 254, 15],
"while_end_171",
["record", 115, 0],
[
"access",
116,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
258,
9
],
["store_field", 115, 116, "os", 258, 9],
[
"access",
117,
{
"name": "actorsym",
"kind": "name",
"make": "intrinsic"
},
258,
23
],
["store_field", 115, 117, "actorsym", 258, 23],
["record", 118, 0],
["store_field", 118, 25, "program", 259, 21],
["store_field", 118, 2, "arg", 259, 35],
["store_field", 115, 118, "init", 259, 35],
[
"access",
119,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
260,
16
],
["store_field", 115, 119, "core_path", 260, 16],
[
"access",
120,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
260,
38
],
["store_field", 115, 120, "shop_path", 260, 38],
["store_field", 115, 27, "json", 260, 55],
["store_field", 115, 5, "analyze", 261, 14],
["store_field", 115, 21, "run_ast_fn", 261, 35],
["store_field", 115, 9, "run_ast_noopt_fn", 261, 62],
["store_field", 115, 19, "use_cache", 262, 16],
["store_field", 115, 8, "content_hash", 263, 19],
["store_field", 115, 12, "cache_path", 263, 45],
["store_field", 115, 1, "ensure_build_dir", 264, 23],
["store_field", 115, 10, "compile_to_blob_fn", 264, 61],
["frame", 122, 16, 1, 257, 3],
["null", 123, 257, 3],
["setarg", 122, 0, 123, 257, 3],
["setarg", 122, 1, 115, 257, 3],
["invoke", 122, 121, 257, 3],
["jump", "if_end_159", 257, 3],
"if_else_158",
["record", 124, 0],
[
"access",
125,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
269,
9
],
["store_field", 124, 125, "os", 269, 9],
[
"access",
126,
{
"name": "actorsym",
"kind": "name",
"make": "intrinsic"
},
269,
23
],
["store_field", 124, 126, "actorsym", 269, 23],
[
"access",
127,
{
"name": "init",
"kind": "name",
"make": "intrinsic"
},
269,
39
],
["store_field", 124, 127, "init", 269, 39],
[
"access",
128,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
270,
16
],
["store_field", 124, 128, "core_path", 270, 16],
[
"access",
129,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
270,
38
],
["store_field", 124, 129, "shop_path", 270, 38],
["store_field", 124, 27, "json", 270, 55],
[
"access",
130,
{
"name": "nota",
"kind": "name",
"make": "intrinsic"
},
270,
67
],
["store_field", 124, 130, "nota", 270, 67],
[
"access",
131,
{
"name": "wota",
"kind": "name",
"make": "intrinsic"
},
270,
79
],
["store_field", 124, 131, "wota", 270, 79],
["store_field", 124, 5, "analyze", 271, 14],
["store_field", 124, 21, "run_ast_fn", 271, 35],
["store_field", 124, 9, "run_ast_noopt_fn", 271, 62],
["store_field", 124, 19, "use_cache", 272, 16],
["store_field", 124, 8, "content_hash", 273, 19],
["store_field", 124, 12, "cache_path", 273, 45],
["store_field", 124, 1, "ensure_build_dir", 274, 23],
["store_field", 124, 10, "compile_to_blob_fn", 274, 61],
["frame", 133, 16, 1, 268, 3],
["null", 134, 268, 3],
["setarg", 133, 0, 134, 268, 3],
["setarg", 133, 1, 124, 268, 3],
["invoke", 133, 132, 268, 3],
"if_end_159",
["null", 135, 268, 3],
["return", 135, 268, 3]
]
},
"filename": "internal/bootstrap.cm",
"data": {}
}