Files
cell/boot/bootstrap.cm.mcode
2026-02-16 23:05:00 -06:00

1687 lines
52 KiB
Plaintext

{
"name": "bootstrap.cm",
"functions": [
{
"disruption_pc": 0,
"nr_slots": 29,
"nr_close_slots": 0,
"instructions": [
["access", 2, "js_core_", 6, 24],
["is_text", 4, 2, 6, 37],
["jump_false", 4, "add_cn_1", 6, 37],
["is_text", 5, 1, 6, 37],
["jump_false", 5, "add_cn_1", 6, 37],
["concat", 3, 2, 1, 6, 37],
["jump", "add_done_0", 6, 37],
"add_cn_1",
["is_num", 4, 2, 6, 37],
["jump_false", 4, "add_err_2", 6, 37],
["is_num", 5, 1, 6, 37],
["jump_false", 5, "add_err_2", 6, 37],
["add", 3, 2, 1, 6, 37],
["jump", "add_done_0", 6, 37],
"add_err_2",
[
"access",
6,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
6,
37
],
["access", 7, "error", 6, 37],
["access", 8, "cannot apply '+': operands must both be text or both be numbers", 6, 37],
["array", 9, 0, 6, 37],
["push", 9, 8, 6, 37],
["frame", 11, 6, 2, 6, 37],
["null", 12, 6, 37],
["setarg", 11, 0, 12, 6, 37],
["setarg", 11, 1, 7, 6, 37],
["setarg", 11, 2, 9, 6, 37],
["invoke", 11, 10, 6, 37],
["disrupt", 6, 37],
"add_done_0",
["access", 13, "_use", 6, 44],
["is_text", 15, 3, 6, 44],
["jump_false", 15, "add_cn_4", 6, 44],
["is_text", 16, 13, 6, 44],
["jump_false", 16, "add_cn_4", 6, 44],
["concat", 14, 3, 13, 6, 44],
["jump", "add_done_3", 6, 44],
"add_cn_4",
["is_num", 15, 3, 6, 44],
["jump_false", 15, "add_err_5", 6, 44],
["is_num", 16, 13, 6, 44],
["jump_false", 16, "add_err_5", 6, 44],
["add", 14, 3, 13, 6, 44],
["jump", "add_done_3", 6, 44],
"add_err_5",
[
"access",
17,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
6,
44
],
["access", 18, "error", 6, 44],
["access", 19, "cannot apply '+': operands must both be text or both be numbers", 6, 44],
["array", 20, 0, 6, 44],
["push", 20, 19, 6, 44],
["frame", 22, 17, 2, 6, 44],
["null", 23, 6, 44],
["setarg", 22, 0, 23, 6, 44],
["setarg", 22, 1, 18, 6, 44],
["setarg", 22, 2, 20, 6, 44],
["invoke", 22, 21, 6, 44],
["disrupt", 6, 44],
"add_done_3",
["get", 25, 13, 1, 6, 10],
["frame", 26, 25, 1, 6, 10],
["null", 27, 6, 10],
["setarg", 26, 0, 27, 6, 10],
["setarg", 26, 1, 14, 6, 10],
["tail_invoke", 26, 24, 6, 10],
["return", 24, 6, 10],
["null", 28, 6, 10],
["return", 28, 6, 10]
],
"name": "use_embed",
"filename": "bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 17,
"nr_close_slots": 0,
"instructions": [
["get", 3, 7, 1, 14, 15],
["is_proxy", 4, 3, 14, 15],
["jump_false", 4, "record_path_6", 14, 15],
["null", 5, 14, 15],
["access", 6, "blake2", 14, 15],
["array", 7, 0, 14, 15],
["push", 7, 1, 14, 15],
["frame", 8, 3, 2, 14, 15],
["setarg", 8, 0, 5, 14, 15],
["setarg", 8, 1, 6, 14, 15],
["setarg", 8, 2, 7, 14, 15],
["invoke", 8, 2, 14, 15],
["jump", "call_done_7", 14, 15],
"record_path_6",
["load_field", 9, 3, "blake2", 14, 15],
["frame", 10, 9, 1, 14, 15],
["setarg", 10, 0, 3, 14, 15],
["setarg", 10, 1, 1, 14, 15],
["invoke", 10, 2, 14, 15],
"call_done_7",
["access", 11, "h", 14, 39],
[
"access",
13,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
14,
10
],
["frame", 14, 13, 2, 14, 10],
["null", 15, 14, 10],
["setarg", 14, 0, 15, 14, 10],
["setarg", 14, 1, 2, 14, 10],
["setarg", 14, 2, 11, 14, 10],
["tail_invoke", 14, 12, 14, 10],
["return", 12, 14, 10],
["null", 16, 14, 10],
["return", 16, 14, 10]
],
"name": "content_hash",
"filename": "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"
},
18,
8
],
["not", 3, 2, 18, 8],
["jump_false", 3, "if_else_8", 18, 8],
["null", 4, 18, 26],
["return", 4, 18, 26],
["jump", "if_end_9", 18, 26],
"if_else_8",
"if_end_9",
[
"access",
5,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
19,
10
],
["access", 6, "/build/", 19, 22],
["is_text", 8, 5, 19, 22],
["jump_false", 8, "add_cn_11", 19, 22],
["is_text", 9, 6, 19, 22],
["jump_false", 9, "add_cn_11", 19, 22],
["concat", 7, 5, 6, 19, 22],
["jump", "add_done_10", 19, 22],
"add_cn_11",
["is_num", 8, 5, 19, 22],
["jump_false", 8, "add_err_12", 19, 22],
["is_num", 9, 6, 19, 22],
["jump_false", 9, "add_err_12", 19, 22],
["add", 7, 5, 6, 19, 22],
["jump", "add_done_10", 19, 22],
"add_err_12",
[
"access",
10,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
19,
22
],
["access", 11, "error", 19, 22],
["access", 12, "cannot apply '+': operands must both be text or both be numbers", 19, 22],
["array", 13, 0, 19, 22],
["push", 13, 12, 19, 22],
["frame", 15, 10, 2, 19, 22],
["null", 16, 19, 22],
["setarg", 15, 0, 16, 19, 22],
["setarg", 15, 1, 11, 19, 22],
["setarg", 15, 2, 13, 19, 22],
["invoke", 15, 14, 19, 22],
["disrupt", 19, 22],
"add_done_10",
["is_text", 18, 7, 19, 34],
["jump_false", 18, "add_cn_14", 19, 34],
["is_text", 19, 1, 19, 34],
["jump_false", 19, "add_cn_14", 19, 34],
["concat", 17, 7, 1, 19, 34],
["jump", "add_done_13", 19, 34],
"add_cn_14",
["is_num", 18, 7, 19, 34],
["jump_false", 18, "add_err_15", 19, 34],
["is_num", 19, 1, 19, 34],
["jump_false", 19, "add_err_15", 19, 34],
["add", 17, 7, 1, 19, 34],
["jump", "add_done_13", 19, 34],
"add_err_15",
[
"access",
20,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
19,
34
],
["access", 21, "error", 19, 34],
["access", 22, "cannot apply '+': operands must both be text or both be numbers", 19, 34],
["array", 23, 0, 19, 34],
["push", 23, 22, 19, 34],
["frame", 25, 20, 2, 19, 34],
["null", 26, 19, 34],
["setarg", 25, 0, 26, 19, 34],
["setarg", 25, 1, 21, 19, 34],
["setarg", 25, 2, 23, 19, 34],
["invoke", 25, 24, 19, 34],
["disrupt", 19, 34],
"add_done_13",
["return", 17, 19, 34],
["null", 27, 19, 34],
["return", 27, 19, 34]
],
"name": "cache_path",
"filename": "bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 37,
"nr_close_slots": 0,
"instructions": [
[
"access",
2,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
23,
8
],
["not", 3, 2, 23, 8],
["jump_false", 3, "if_else_16", 23, 8],
["null", 4, 23, 26],
["return", 4, 23, 26],
["jump", "if_end_17", 23, 26],
"if_else_16",
"if_end_17",
[
"access",
5,
{
"name": "shop_path",
"kind": "name",
"make": "intrinsic"
},
24,
13
],
["access", 6, "/build", 24, 25],
["is_text", 8, 5, 24, 25],
["jump_false", 8, "add_cn_19", 24, 25],
["is_text", 9, 6, 24, 25],
["jump_false", 9, "add_cn_19", 24, 25],
["concat", 7, 5, 6, 24, 25],
["jump", "add_done_18", 24, 25],
"add_cn_19",
["is_num", 8, 5, 24, 25],
["jump_false", 8, "add_err_20", 24, 25],
["is_num", 9, 6, 24, 25],
["jump_false", 9, "add_err_20", 24, 25],
["add", 7, 5, 6, 24, 25],
["jump", "add_done_18", 24, 25],
"add_err_20",
[
"access",
10,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
24,
25
],
["access", 11, "error", 24, 25],
["access", 12, "cannot apply '+': operands must both be text or both be numbers", 24, 25],
["array", 13, 0, 24, 25],
["push", 13, 12, 24, 25],
["frame", 15, 10, 2, 24, 25],
["null", 16, 24, 25],
["setarg", 15, 0, 16, 24, 25],
["setarg", 15, 1, 11, 24, 25],
["setarg", 15, 2, 13, 24, 25],
["invoke", 15, 14, 24, 25],
["disrupt", 24, 25],
"add_done_18",
["move", 1, 7, 24, 25],
["get", 18, 10, 1, 25, 8],
["is_proxy", 19, 18, 25, 8],
["jump_false", 19, "record_path_23", 25, 8],
["null", 20, 25, 8],
["access", 21, "is_dir", 25, 8],
["array", 22, 0, 25, 8],
["push", 22, 1, 25, 8],
["frame", 23, 18, 2, 25, 8],
["setarg", 23, 0, 20, 25, 8],
["setarg", 23, 1, 21, 25, 8],
["setarg", 23, 2, 22, 25, 8],
["invoke", 23, 17, 25, 8],
["jump", "call_done_24", 25, 8],
"record_path_23",
["load_field", 24, 18, "is_dir", 25, 8],
["frame", 25, 24, 1, 25, 8],
["setarg", 25, 0, 18, 25, 8],
["setarg", 25, 1, 1, 25, 8],
["invoke", 25, 17, 25, 8],
"call_done_24",
["not", 26, 17, 25, 8],
["jump_false", 26, "if_else_21", 25, 8],
["get", 28, 10, 1, 25, 24],
["is_proxy", 29, 28, 25, 24],
["jump_false", 29, "record_path_25", 25, 24],
["null", 30, 25, 24],
["access", 31, "mkdir", 25, 24],
["array", 32, 0, 25, 24],
["push", 32, 1, 25, 24],
["frame", 33, 28, 2, 25, 24],
["setarg", 33, 0, 30, 25, 24],
["setarg", 33, 1, 31, 25, 24],
["setarg", 33, 2, 32, 25, 24],
["invoke", 33, 27, 25, 24],
["jump", "call_done_26", 25, 24],
"record_path_25",
["load_field", 34, 28, "mkdir", 25, 24],
["frame", 35, 34, 1, 25, 24],
["setarg", 35, 0, 28, 25, 24],
["setarg", 35, 1, 1, 25, 24],
["invoke", 35, 27, 25, 24],
"call_done_26",
["jump", "if_end_22", 25, 24],
"if_else_21",
"if_end_22",
["return", 1, 26, 10],
["null", 36, 26, 10],
["return", 36, 26, 10]
],
"name": "ensure_build_dir",
"filename": "bootstrap.cm",
"nr_args": 0
},
{
"disruption_pc": 0,
"nr_slots": 102,
"nr_close_slots": 0,
"instructions": [
[
"access",
5,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
31,
20
],
["access", 6, "/boot/", 31, 32],
["is_text", 8, 5, 31, 32],
["jump_false", 8, "add_cn_28", 31, 32],
["is_text", 9, 6, 31, 32],
["jump_false", 9, "add_cn_28", 31, 32],
["concat", 7, 5, 6, 31, 32],
["jump", "add_done_27", 31, 32],
"add_cn_28",
["is_num", 8, 5, 31, 32],
["jump_false", 8, "add_err_29", 31, 32],
["is_num", 9, 6, 31, 32],
["jump_false", 9, "add_err_29", 31, 32],
["add", 7, 5, 6, 31, 32],
["jump", "add_done_27", 31, 32],
"add_err_29",
[
"access",
10,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
31,
32
],
["access", 11, "error", 31, 32],
["access", 12, "cannot apply '+': operands must both be text or both be numbers", 31, 32],
["array", 13, 0, 31, 32],
["push", 13, 12, 31, 32],
["frame", 15, 10, 2, 31, 32],
["null", 16, 31, 32],
["setarg", 15, 0, 16, 31, 32],
["setarg", 15, 1, 11, 31, 32],
["setarg", 15, 2, 13, 31, 32],
["invoke", 15, 14, 31, 32],
["disrupt", 31, 32],
"add_done_27",
["is_text", 18, 7, 31, 43],
["jump_false", 18, "add_cn_31", 31, 43],
["is_text", 19, 1, 31, 43],
["jump_false", 19, "add_cn_31", 31, 43],
["concat", 17, 7, 1, 31, 43],
["jump", "add_done_30", 31, 43],
"add_cn_31",
["is_num", 18, 7, 31, 43],
["jump_false", 18, "add_err_32", 31, 43],
["is_num", 19, 1, 31, 43],
["jump_false", 19, "add_err_32", 31, 43],
["add", 17, 7, 1, 31, 43],
["jump", "add_done_30", 31, 43],
"add_err_32",
[
"access",
20,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
31,
43
],
["access", 21, "error", 31, 43],
["access", 22, "cannot apply '+': operands must both be text or both be numbers", 31, 43],
["array", 23, 0, 31, 43],
["push", 23, 22, 31, 43],
["frame", 25, 20, 2, 31, 43],
["null", 26, 31, 43],
["setarg", 25, 0, 26, 31, 43],
["setarg", 25, 1, 21, 31, 43],
["setarg", 25, 2, 23, 31, 43],
["invoke", 25, 24, 31, 43],
["disrupt", 31, 43],
"add_done_30",
["access", 27, ".cm.mcode", 31, 50],
["is_text", 29, 17, 31, 50],
["jump_false", 29, "add_cn_34", 31, 50],
["is_text", 30, 27, 31, 50],
["jump_false", 30, "add_cn_34", 31, 50],
["concat", 28, 17, 27, 31, 50],
["jump", "add_done_33", 31, 50],
"add_cn_34",
["is_num", 29, 17, 31, 50],
["jump_false", 29, "add_err_35", 31, 50],
["is_num", 30, 27, 31, 50],
["jump_false", 30, "add_err_35", 31, 50],
["add", 28, 17, 27, 31, 50],
["jump", "add_done_33", 31, 50],
"add_err_35",
[
"access",
31,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
31,
50
],
["access", 32, "error", 31, 50],
["access", 33, "cannot apply '+': operands must both be text or both be numbers", 31, 50],
["array", 34, 0, 31, 50],
["push", 34, 33, 31, 50],
["frame", 36, 31, 2, 31, 50],
["null", 37, 31, 50],
["setarg", 36, 0, 37, 31, 50],
["setarg", 36, 1, 32, 31, 50],
["setarg", 36, 2, 34, 31, 50],
["invoke", 36, 35, 31, 50],
["disrupt", 31, 50],
"add_done_33",
["move", 4, 28, 31, 50],
["null", 3, 32, 20],
["null", 2, 33, 19],
["get", 39, 10, 1, 34, 8],
["is_proxy", 40, 39, 34, 8],
["jump_false", 40, "record_path_38", 34, 8],
["null", 41, 34, 8],
["access", 42, "is_file", 34, 8],
["array", 43, 0, 34, 8],
["push", 43, 4, 34, 8],
["frame", 44, 39, 2, 34, 8],
["setarg", 44, 0, 41, 34, 8],
["setarg", 44, 1, 42, 34, 8],
["setarg", 44, 2, 43, 34, 8],
["invoke", 44, 38, 34, 8],
["jump", "call_done_39", 34, 8],
"record_path_38",
["load_field", 45, 39, "is_file", 34, 8],
["frame", 46, 45, 1, 34, 8],
["setarg", 46, 0, 39, 34, 8],
["setarg", 46, 1, 4, 34, 8],
["invoke", 46, 38, 34, 8],
"call_done_39",
["not", 47, 38, 34, 8],
["jump_false", 47, "if_else_36", 34, 8],
["access", 48, "error: missing seed: ", 35, 11],
["is_text", 50, 48, 35, 37],
["jump_false", 50, "add_cn_41", 35, 37],
["is_text", 51, 1, 35, 37],
["jump_false", 51, "add_cn_41", 35, 37],
["concat", 49, 48, 1, 35, 37],
["jump", "add_done_40", 35, 37],
"add_cn_41",
["is_num", 50, 48, 35, 37],
["jump_false", 50, "add_err_42", 35, 37],
["is_num", 51, 1, 35, 37],
["jump_false", 51, "add_err_42", 35, 37],
["add", 49, 48, 1, 35, 37],
["jump", "add_done_40", 35, 37],
"add_err_42",
[
"access",
52,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
35,
37
],
["access", 53, "error", 35, 37],
["access", 54, "cannot apply '+': operands must both be text or both be numbers", 35, 37],
["array", 55, 0, 35, 37],
["push", 55, 54, 35, 37],
["frame", 57, 52, 2, 35, 37],
["null", 58, 35, 37],
["setarg", 57, 0, 58, 35, 37],
["setarg", 57, 1, 53, 35, 37],
["setarg", 57, 2, 55, 35, 37],
["invoke", 57, 56, 35, 37],
["disrupt", 35, 37],
"add_done_40",
["access", 59, "\n", 35, 44],
["is_text", 61, 49, 35, 44],
["jump_false", 61, "add_cn_44", 35, 44],
["is_text", 62, 59, 35, 44],
["jump_false", 62, "add_cn_44", 35, 44],
["concat", 60, 49, 59, 35, 44],
["jump", "add_done_43", 35, 44],
"add_cn_44",
["is_num", 61, 49, 35, 44],
["jump_false", 61, "add_err_45", 35, 44],
["is_num", 62, 59, 35, 44],
["jump_false", 62, "add_err_45", 35, 44],
["add", 60, 49, 59, 35, 44],
["jump", "add_done_43", 35, 44],
"add_err_45",
[
"access",
63,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
35,
44
],
["access", 64, "error", 35, 44],
["access", 65, "cannot apply '+': operands must both be text or both be numbers", 35, 44],
["array", 66, 0, 35, 44],
["push", 66, 65, 35, 44],
["frame", 68, 63, 2, 35, 44],
["null", 69, 35, 44],
["setarg", 68, 0, 69, 35, 44],
["setarg", 68, 1, 64, 35, 44],
["setarg", 68, 2, 66, 35, 44],
["invoke", 68, 67, 35, 44],
["disrupt", 35, 44],
"add_done_43",
[
"access",
71,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
35,
5
],
["frame", 72, 71, 1, 35, 5],
["null", 73, 35, 5],
["setarg", 72, 0, 73, 35, 5],
["setarg", 72, 1, 60, 35, 5],
["invoke", 72, 70, 35, 5],
["disrupt", 36, 5],
["jump", "if_end_37", 36, 5],
"if_else_36",
"if_end_37",
["get", 75, 10, 1, 38, 16],
["is_proxy", 76, 75, 38, 16],
["jump_false", 76, "record_path_46", 38, 16],
["null", 77, 38, 16],
["access", 78, "slurp", 38, 16],
["array", 79, 0, 38, 16],
["push", 79, 4, 38, 16],
["frame", 80, 75, 2, 38, 16],
["setarg", 80, 0, 77, 38, 16],
["setarg", 80, 1, 78, 38, 16],
["setarg", 80, 2, 79, 38, 16],
["invoke", 80, 74, 38, 16],
["jump", "call_done_47", 38, 16],
"record_path_46",
["load_field", 81, 75, "slurp", 38, 16],
["frame", 82, 81, 1, 38, 16],
["setarg", 82, 0, 75, 38, 16],
["setarg", 82, 1, 4, 38, 16],
["invoke", 82, 74, 38, 16],
"call_done_47",
["move", 3, 74, 38, 16],
[
"access",
84,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
39,
44
],
["frame", 85, 84, 1, 39, 44],
["null", 86, 39, 44],
["setarg", 85, 0, 86, 39, 44],
["setarg", 85, 1, 3, 39, 44],
["invoke", 85, 83, 39, 44],
[
"access",
88,
{
"name": "mach_compile_mcode_bin",
"kind": "name",
"make": "intrinsic"
},
39,
15
],
["frame", 89, 88, 2, 39, 15],
["null", 90, 39, 15],
["setarg", 89, 0, 90, 39, 15],
["setarg", 89, 1, 1, 39, 15],
["setarg", 89, 2, 83, 39, 15],
["invoke", 89, 87, 39, 15],
["move", 2, 87, 39, 15],
["record", 91, 1],
["get", 92, 18, 1, 40, 43],
["store_field", 91, 92, "use", 40, 43],
[
"access",
94,
{
"name": "stone",
"kind": "name",
"make": "intrinsic"
},
40,
31
],
["frame", 95, 94, 1, 40, 31],
["null", 96, 40, 31],
["setarg", 95, 0, 96, 40, 31],
["setarg", 95, 1, 91, 40, 31],
["invoke", 95, 93, 40, 31],
[
"access",
98,
{
"name": "mach_load",
"kind": "name",
"make": "intrinsic"
},
40,
10
],
["frame", 99, 98, 2, 40, 10],
["null", 100, 40, 10],
["setarg", 99, 0, 100, 40, 10],
["setarg", 99, 1, 2, 40, 10],
["setarg", 99, 2, 93, 40, 10],
["tail_invoke", 99, 97, 40, 10],
["return", 97, 40, 10],
["null", 101, 40, 10],
["return", 101, 40, 10]
],
"name": "boot_load",
"filename": "bootstrap.cm",
"nr_args": 1
},
{
"disruption_pc": 0,
"nr_slots": 110,
"nr_close_slots": 0,
"instructions": [
["get", 10, 17, 1, 49, 20],
["frame", 11, 10, 2, 49, 20],
["null", 12, 49, 20],
["setarg", 11, 0, 12, 49, 20],
["setarg", 11, 1, 1, 49, 20],
["setarg", 11, 2, 2, 49, 20],
["invoke", 11, 9, 49, 20],
["move", 8, 9, 49, 20],
["load_field", 13, 8, "tokens", 50, 23],
["get", 14, 17, 1, 50, 57],
["get", 16, 15, 1, 50, 13],
["frame", 17, 16, 4, 50, 13],
["null", 18, 50, 13],
["setarg", 17, 0, 18, 50, 13],
["setarg", 17, 1, 13, 50, 13],
["setarg", 17, 2, 1, 50, 13],
["setarg", 17, 3, 2, 50, 13],
["setarg", 17, 4, 14, 50, 13],
["invoke", 17, 15, 50, 13],
["move", 4, 15, 50, 13],
["access", 3, 0, 51, 12],
["null", 5, 52, 11],
["null", 7, 53, 13],
["load_field", 19, 4, "errors", 54, 20],
["null", 20, 54, 34],
["is_identical", 21, 19, 20, 54, 34],
["jump_true", 21, "ne_nid_50", 54, 34],
["jump", "ne_ni_51", 54, 34],
"ne_nid_50",
["false", 21, 54, 34],
["jump", "ne_done_49", 54, 34],
"ne_ni_51",
["is_int", 22, 19, 54, 34],
["jump_false", 22, "ne_nn_52", 54, 34],
["is_int", 23, 20, 54, 34],
["jump_false", 23, "ne_nn_52", 54, 34],
["ne_int", 21, 19, 20, 54, 34],
["jump", "ne_done_49", 54, 34],
"ne_nn_52",
["is_num", 22, 19, 54, 34],
["jump_false", 22, "ne_nt_53", 54, 34],
["is_num", 23, 20, 54, 34],
["jump_false", 23, "ne_nt_53", 54, 34],
["ne_float", 21, 19, 20, 54, 34],
["jump", "ne_done_49", 54, 34],
"ne_nt_53",
["is_text", 22, 19, 54, 34],
["jump_false", 22, "ne_nnl_54", 54, 34],
["is_text", 23, 20, 54, 34],
["jump_false", 23, "ne_nnl_54", 54, 34],
["ne_text", 21, 19, 20, 54, 34],
["jump", "ne_done_49", 54, 34],
"ne_nnl_54",
["is_null", 22, 19, 54, 34],
["jump_false", 22, "ne_nb_55", 54, 34],
["is_null", 23, 20, 54, 34],
["jump_false", 23, "ne_nb_55", 54, 34],
["false", 21, 54, 34],
["jump", "ne_done_49", 54, 34],
"ne_nb_55",
["is_bool", 22, 19, 54, 34],
["jump_false", 22, "ne_mis_56", 54, 34],
["is_bool", 23, 20, 54, 34],
["jump_false", 23, "ne_mis_56", 54, 34],
["ne_bool", 21, 19, 20, 54, 34],
["jump", "ne_done_49", 54, 34],
"ne_mis_56",
["true", 21, 54, 34],
"ne_done_49",
["move", 24, 21, 54, 34],
["jump_false", 24, "and_end_48", 54, 34],
["load_field", 25, 4, "errors", 54, 49],
["length", 26, 25, 54, 49],
["access", 27, 0, 54, 63],
["is_int", 29, 26, 54, 63],
["jump_false", 29, "rel_ni_57", 54, 63],
["is_int", 30, 27, 54, 63],
["jump_false", 30, "rel_ni_57", 54, 63],
["gt_int", 28, 26, 27, 54, 63],
["jump", "rel_done_59", 54, 63],
"rel_ni_57",
["is_num", 29, 26, 54, 63],
["jump_false", 29, "rel_nn_58", 54, 63],
["is_num", 30, 27, 54, 63],
["jump_false", 30, "rel_nn_58", 54, 63],
["gt_float", 28, 26, 27, 54, 63],
["jump", "rel_done_59", 54, 63],
"rel_nn_58",
["is_text", 29, 26, 54, 63],
["jump_false", 29, "rel_err_60", 54, 63],
["is_text", 30, 27, 54, 63],
["jump_false", 30, "rel_err_60", 54, 63],
["gt_text", 28, 26, 27, 54, 63],
["jump", "rel_done_59", 54, 63],
"rel_err_60",
[
"access",
31,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
54,
63
],
["access", 32, "error", 54, 63],
["access", 33, "cannot compare with '>': operands must be same type", 54, 63],
["array", 34, 0, 54, 63],
["push", 34, 33, 54, 63],
["frame", 36, 31, 2, 54, 63],
["null", 37, 54, 63],
["setarg", 36, 0, 37, 54, 63],
["setarg", 36, 1, 32, 54, 63],
["setarg", 36, 2, 34, 54, 63],
["invoke", 36, 35, 54, 63],
["disrupt", 54, 63],
"rel_done_59",
["move", 24, 28, 54, 63],
"and_end_48",
["move", 6, 24, 54, 63],
["jump_false", 6, "if_else_61", 55, 7],
"while_start_63",
["load_field", 38, 4, "errors", 56, 24],
["length", 39, 38, 56, 24],
["is_int", 41, 3, 56, 24],
["jump_false", 41, "rel_ni_65", 56, 24],
["is_int", 42, 39, 56, 24],
["jump_false", 42, "rel_ni_65", 56, 24],
["lt_int", 40, 3, 39, 56, 24],
["jump", "rel_done_67", 56, 24],
"rel_ni_65",
["is_num", 41, 3, 56, 24],
["jump_false", 41, "rel_nn_66", 56, 24],
["is_num", 42, 39, 56, 24],
["jump_false", 42, "rel_nn_66", 56, 24],
["lt_float", 40, 3, 39, 56, 24],
["jump", "rel_done_67", 56, 24],
"rel_nn_66",
["is_text", 41, 3, 56, 24],
["jump_false", 41, "rel_err_68", 56, 24],
["is_text", 42, 39, 56, 24],
["jump_false", 42, "rel_err_68", 56, 24],
["lt_text", 40, 3, 39, 56, 24],
["jump", "rel_done_67", 56, 24],
"rel_err_68",
[
"access",
43,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
56,
24
],
["access", 44, "error", 56, 24],
["access", 45, "cannot compare with '<': operands must be same type", 56, 24],
["array", 46, 0, 56, 24],
["push", 46, 45, 56, 24],
["frame", 48, 43, 2, 56, 24],
["null", 49, 56, 24],
["setarg", 48, 0, 49, 56, 24],
["setarg", 48, 1, 44, 56, 24],
["setarg", 48, 2, 46, 56, 24],
["invoke", 48, 47, 56, 24],
["disrupt", 56, 24],
"rel_done_67",
["jump_false", 40, "while_end_64", 56, 24],
["load_field", 50, 4, "errors", 57, 11],
["load_dynamic", 51, 50, 3, 57, 22],
["move", 5, 51, 57, 22],
["load_field", 52, 5, "message", 58, 13],
["move", 7, 52, 58, 13],
["load_field", 53, 5, "line", 59, 11],
["null", 54, 59, 21],
["is_identical", 55, 53, 54, 59, 21],
["jump_true", 55, "ne_nid_73", 59, 21],
["jump", "ne_ni_74", 59, 21],
"ne_nid_73",
["false", 55, 59, 21],
["jump", "ne_done_72", 59, 21],
"ne_ni_74",
["is_int", 56, 53, 59, 21],
["jump_false", 56, "ne_nn_75", 59, 21],
["is_int", 57, 54, 59, 21],
["jump_false", 57, "ne_nn_75", 59, 21],
["ne_int", 55, 53, 54, 59, 21],
["jump", "ne_done_72", 59, 21],
"ne_nn_75",
["is_num", 56, 53, 59, 21],
["jump_false", 56, "ne_nt_76", 59, 21],
["is_num", 57, 54, 59, 21],
["jump_false", 57, "ne_nt_76", 59, 21],
["ne_float", 55, 53, 54, 59, 21],
["jump", "ne_done_72", 59, 21],
"ne_nt_76",
["is_text", 56, 53, 59, 21],
["jump_false", 56, "ne_nnl_77", 59, 21],
["is_text", 57, 54, 59, 21],
["jump_false", 57, "ne_nnl_77", 59, 21],
["ne_text", 55, 53, 54, 59, 21],
["jump", "ne_done_72", 59, 21],
"ne_nnl_77",
["is_null", 56, 53, 59, 21],
["jump_false", 56, "ne_nb_78", 59, 21],
["is_null", 57, 54, 59, 21],
["jump_false", 57, "ne_nb_78", 59, 21],
["false", 55, 59, 21],
["jump", "ne_done_72", 59, 21],
"ne_nb_78",
["is_bool", 56, 53, 59, 21],
["jump_false", 56, "ne_mis_79", 59, 21],
["is_bool", 57, 54, 59, 21],
["jump_false", 57, "ne_mis_79", 59, 21],
["ne_bool", 55, 53, 54, 59, 21],
["jump", "ne_done_72", 59, 21],
"ne_mis_79",
["true", 55, 59, 21],
"ne_done_72",
["move", 58, 55, 59, 21],
["jump_false", 58, "and_end_71", 59, 21],
["load_field", 59, 5, "column", 59, 29],
["null", 60, 59, 41],
["is_identical", 61, 59, 60, 59, 41],
["jump_true", 61, "ne_nid_81", 59, 41],
["jump", "ne_ni_82", 59, 41],
"ne_nid_81",
["false", 61, 59, 41],
["jump", "ne_done_80", 59, 41],
"ne_ni_82",
["is_int", 62, 59, 59, 41],
["jump_false", 62, "ne_nn_83", 59, 41],
["is_int", 63, 60, 59, 41],
["jump_false", 63, "ne_nn_83", 59, 41],
["ne_int", 61, 59, 60, 59, 41],
["jump", "ne_done_80", 59, 41],
"ne_nn_83",
["is_num", 62, 59, 59, 41],
["jump_false", 62, "ne_nt_84", 59, 41],
["is_num", 63, 60, 59, 41],
["jump_false", 63, "ne_nt_84", 59, 41],
["ne_float", 61, 59, 60, 59, 41],
["jump", "ne_done_80", 59, 41],
"ne_nt_84",
["is_text", 62, 59, 59, 41],
["jump_false", 62, "ne_nnl_85", 59, 41],
["is_text", 63, 60, 59, 41],
["jump_false", 63, "ne_nnl_85", 59, 41],
["ne_text", 61, 59, 60, 59, 41],
["jump", "ne_done_80", 59, 41],
"ne_nnl_85",
["is_null", 62, 59, 59, 41],
["jump_false", 62, "ne_nb_86", 59, 41],
["is_null", 63, 60, 59, 41],
["jump_false", 63, "ne_nb_86", 59, 41],
["false", 61, 59, 41],
["jump", "ne_done_80", 59, 41],
"ne_nb_86",
["is_bool", 62, 59, 59, 41],
["jump_false", 62, "ne_mis_87", 59, 41],
["is_bool", 63, 60, 59, 41],
["jump_false", 63, "ne_mis_87", 59, 41],
["ne_bool", 61, 59, 60, 59, 41],
["jump", "ne_done_80", 59, 41],
"ne_mis_87",
["true", 61, 59, 41],
"ne_done_80",
["move", 58, 61, 59, 41],
"and_end_71",
["jump_false", 58, "if_else_69", 59, 41],
["load_field", 64, 5, "line", 1, 6],
[
"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, 64, 1, 1],
["invoke", 67, 65, 1, 1],
["load_field", 69, 5, "column", 1, 6],
[
"access",
71,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["frame", 72, 71, 1, 1, 1],
["null", 73, 1, 1],
["setarg", 72, 0, 73, 1, 1],
["setarg", 72, 1, 69, 1, 1],
["invoke", 72, 70, 1, 1],
["array", 74, 0, 1, 1],
["push", 74, 2, 1, 1],
["push", 74, 65, 1, 1],
["push", 74, 70, 1, 1],
["push", 74, 7, 1, 1],
[
"access",
75,
{
"name": "format",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["access", 76, "{0}:{1}:{2}: error: {3}", 1, 1],
["frame", 78, 75, 2, 1, 1],
["null", 79, 1, 1],
["setarg", 78, 0, 79, 1, 1],
["setarg", 78, 1, 76, 1, 1],
["setarg", 78, 2, 74, 1, 1],
["invoke", 78, 77, 1, 1],
[
"access",
81,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
60,
9
],
["frame", 82, 81, 1, 60, 9],
["null", 83, 60, 9],
["setarg", 82, 0, 83, 60, 9],
["setarg", 82, 1, 77, 60, 9],
["invoke", 82, 80, 60, 9],
["jump", "if_end_70", 60, 9],
"if_else_69",
["array", 84, 0, 1, 1],
["push", 84, 2, 1, 1],
["push", 84, 7, 1, 1],
[
"access",
85,
{
"name": "format",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
["access", 86, "{0}: error: {1}", 1, 1],
["frame", 88, 85, 2, 1, 1],
["null", 89, 1, 1],
["setarg", 88, 0, 89, 1, 1],
["setarg", 88, 1, 86, 1, 1],
["setarg", 88, 2, 84, 1, 1],
["invoke", 88, 87, 1, 1],
[
"access",
91,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
62,
9
],
["frame", 92, 91, 1, 62, 9],
["null", 93, 62, 9],
["setarg", 92, 0, 93, 62, 9],
["setarg", 92, 1, 87, 62, 9],
["invoke", 92, 90, 62, 9],
"if_end_70",
["access", 94, 1, 63, 17],
["is_num", 96, 3, 63, 17],
["jump_false", 96, "num_err_88", 63, 17],
["is_num", 97, 94, 63, 17],
["jump_false", 97, "num_err_88", 63, 17],
["add", 95, 3, 94, 63, 17],
["jump", "num_done_89", 63, 17],
"num_err_88",
[
"access",
98,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
63,
17
],
["access", 99, "error", 63, 17],
["access", 100, "cannot apply '+': operands must be numbers", 63, 17],
["array", 101, 0, 63, 17],
["push", 101, 100, 63, 17],
["frame", 103, 98, 2, 63, 17],
["null", 104, 63, 17],
["setarg", 103, 0, 104, 63, 17],
["setarg", 103, 1, 99, 63, 17],
["setarg", 103, 2, 101, 63, 17],
["invoke", 103, 102, 63, 17],
["disrupt", 63, 17],
"num_done_89",
["move", 3, 95, 63, 17],
["jump", "while_start_63", 63, 17],
"while_end_64",
["disrupt", 65, 5],
["jump", "if_end_62", 65, 5],
"if_else_61",
"if_end_62",
["get", 106, 11, 1, 67, 10],
["frame", 107, 106, 1, 67, 10],
["null", 108, 67, 10],
["setarg", 107, 0, 108, 67, 10],
["setarg", 107, 1, 4, 67, 10],
["tail_invoke", 107, 105, 67, 10],
["return", 105, 67, 10],
["null", 109, 67, 10],
["return", 109, 67, 10]
],
"name": "analyze",
"filename": "bootstrap.cm",
"nr_args": 2
},
{
"disruption_pc": 0,
"nr_slots": 77,
"nr_close_slots": 0,
"instructions": [
["get", 11, 10, 1, 71, 21],
["is_proxy", 12, 11, 71, 21],
["jump_false", 12, "record_path_90", 71, 21],
["null", 13, 71, 21],
["access", 14, "slurp", 71, 21],
["array", 15, 0, 71, 21],
["push", 15, 2, 71, 21],
["frame", 16, 11, 2, 71, 21],
["setarg", 16, 0, 13, 71, 21],
["setarg", 16, 1, 14, 71, 21],
["setarg", 16, 2, 15, 71, 21],
["invoke", 16, 10, 71, 21],
["jump", "call_done_91", 71, 21],
"record_path_90",
["load_field", 17, 11, "slurp", 71, 21],
["frame", 18, 17, 1, 71, 21],
["setarg", 18, 0, 11, 71, 21],
["setarg", 18, 1, 2, 71, 21],
["invoke", 18, 10, 71, 21],
"call_done_91",
["move", 9, 10, 71, 21],
["get", 20, 6, 1, 72, 14],
["frame", 21, 20, 1, 72, 14],
["null", 22, 72, 14],
["setarg", 21, 0, 22, 72, 14],
["setarg", 21, 1, 9, 72, 14],
["invoke", 21, 19, 72, 14],
["move", 6, 19, 72, 14],
["get", 24, 4, 1, 73, 16],
["frame", 25, 24, 1, 73, 16],
["null", 26, 73, 16],
["setarg", 25, 0, 26, 73, 16],
["setarg", 25, 1, 6, 73, 16],
["invoke", 25, 23, 73, 16],
["move", 4, 23, 73, 16],
["null", 3, 74, 13],
["null", 5, 75, 18],
["null", 8, 76, 20],
["null", 7, 77, 19],
["move", 27, 4, 78, 7],
["jump_false", 27, "and_end_94", 78, 7],
["get", 29, 10, 1, 78, 17],
["is_proxy", 30, 29, 78, 17],
["jump_false", 30, "record_path_95", 78, 17],
["null", 31, 78, 17],
["access", 32, "is_file", 78, 17],
["array", 33, 0, 78, 17],
["push", 33, 4, 78, 17],
["frame", 34, 29, 2, 78, 17],
["setarg", 34, 0, 31, 78, 17],
["setarg", 34, 1, 32, 78, 17],
["setarg", 34, 2, 33, 78, 17],
["invoke", 34, 28, 78, 17],
["jump", "call_done_96", 78, 17],
"record_path_95",
["load_field", 35, 29, "is_file", 78, 17],
["frame", 36, 35, 1, 78, 17],
["setarg", 36, 0, 29, 78, 17],
["setarg", 36, 1, 4, 78, 17],
["invoke", 36, 28, 78, 17],
"call_done_96",
["move", 27, 28, 78, 17],
"and_end_94",
["jump_false", 27, "if_else_92", 78, 17],
["null", 37, 78, 37],
["return", 37, 78, 37],
["jump", "if_end_93", 78, 37],
"if_else_92",
"if_end_93",
[
"access",
39,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
79,
17
],
["frame", 40, 39, 1, 79, 17],
["null", 41, 79, 17],
["setarg", 40, 0, 41, 79, 17],
["setarg", 40, 1, 9, 79, 17],
["invoke", 40, 38, 79, 17],
["get", 43, 2, 1, 79, 9],
["frame", 44, 43, 2, 79, 9],
["null", 45, 79, 9],
["setarg", 44, 0, 45, 79, 9],
["setarg", 44, 1, 38, 79, 9],
["setarg", 44, 2, 2, 79, 9],
["invoke", 44, 42, 79, 9],
["move", 3, 42, 79, 9],
["get", 47, 14, 1, 80, 14],
["frame", 48, 47, 1, 80, 14],
["null", 49, 80, 14],
["setarg", 48, 0, 49, 80, 14],
["setarg", 48, 1, 3, 80, 14],
["invoke", 48, 46, 80, 14],
["move", 5, 46, 80, 14],
["get", 51, 12, 1, 81, 16],
["is_proxy", 52, 51, 81, 16],
["jump_false", 52, "record_path_97", 81, 16],
["null", 53, 81, 16],
["access", 54, "encode", 81, 16],
["array", 55, 0, 81, 16],
["push", 55, 5, 81, 16],
["frame", 56, 51, 2, 81, 16],
["setarg", 56, 0, 53, 81, 16],
["setarg", 56, 1, 54, 81, 16],
["setarg", 56, 2, 55, 81, 16],
["invoke", 56, 50, 81, 16],
["jump", "call_done_98", 81, 16],
"record_path_97",
["load_field", 57, 51, "encode", 81, 16],
["frame", 58, 57, 1, 81, 16],
["setarg", 58, 0, 51, 81, 16],
["setarg", 58, 1, 5, 81, 16],
["invoke", 58, 50, 81, 16],
"call_done_98",
["move", 8, 50, 81, 16],
[
"access",
60,
{
"name": "mach_compile_mcode_bin",
"kind": "name",
"make": "intrinsic"
},
82,
15
],
["frame", 61, 60, 2, 82, 15],
["null", 62, 82, 15],
["setarg", 61, 0, 62, 82, 15],
["setarg", 61, 1, 1, 82, 15],
["setarg", 61, 2, 8, 82, 15],
["invoke", 61, 59, 82, 15],
["move", 7, 59, 82, 15],
["jump_false", 4, "if_else_99", 83, 7],
["get", 64, 8, 1, 84, 5],
["frame", 65, 64, 0, 84, 5],
["null", 66, 84, 5],
["setarg", 65, 0, 66, 84, 5],
["invoke", 65, 63, 84, 5],
["get", 68, 10, 1, 85, 5],
["is_proxy", 69, 68, 85, 5],
["jump_false", 69, "record_path_101", 85, 5],
["null", 70, 85, 5],
["access", 71, "slurpwrite", 85, 5],
["array", 72, 0, 85, 5],
["push", 72, 4, 85, 5],
["push", 72, 7, 85, 5],
["frame", 73, 68, 2, 85, 5],
["setarg", 73, 0, 70, 85, 5],
["setarg", 73, 1, 71, 85, 5],
["setarg", 73, 2, 72, 85, 5],
["invoke", 73, 67, 85, 5],
["jump", "call_done_102", 85, 5],
"record_path_101",
["load_field", 74, 68, "slurpwrite", 85, 5],
["frame", 75, 74, 2, 85, 5],
["setarg", 75, 0, 68, 85, 5],
["setarg", 75, 1, 4, 85, 5],
["setarg", 75, 2, 7, 85, 5],
["invoke", 75, 67, 85, 5],
"call_done_102",
["jump", "if_end_100", 85, 5],
"if_else_99",
"if_end_100",
["null", 76, 85, 5],
["return", 76, 85, 5]
],
"name": "compile_and_cache",
"filename": "bootstrap.cm",
"nr_args": 2
}
],
"main": {
"nr_slots": 130,
"nr_close_slots": 0,
"instructions": [
["function", 19, 0, 0, 0],
["move", 18, 19, 0, 0],
["function", 20, 1, 0, 0],
["move", 6, 20, 0, 0],
["function", 21, 2, 0, 0],
["move", 4, 21, 0, 0],
["function", 22, 3, 0, 0],
["move", 8, 22, 0, 0],
["function", 23, 4, 0, 0],
["move", 3, 23, 0, 0],
["function", 24, 5, 0, 0],
["move", 2, 24, 0, 0],
["function", 25, 6, 0, 0],
["move", 5, 25, 0, 0],
[
"access",
26,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
4,
21
],
["load_field", 27, 26, "load_internal", 4, 21],
["move", 13, 27, 4, 21],
["access", 28, "internal_fd", 9, 20],
["frame", 30, 18, 1, 9, 10],
["null", 31, 9, 10],
["setarg", 30, 0, 31, 9, 10],
["setarg", 30, 1, 28, 9, 10],
["invoke", 30, 29, 9, 10],
["move", 10, 29, 9, 10],
["access", 32, "json", 10, 26],
["frame", 34, 18, 1, 10, 16],
["null", 35, 10, 16],
["setarg", 34, 0, 35, 10, 16],
["setarg", 34, 1, 32, 10, 16],
["invoke", 34, 33, 10, 16],
["move", 12, 33, 10, 16],
["access", 36, "crypto", 11, 24],
["frame", 38, 18, 1, 11, 14],
["null", 39, 11, 14],
["setarg", 38, 0, 39, 11, 14],
["setarg", 38, 1, 36, 11, 14],
["invoke", 38, 37, 11, 14],
["move", 7, 37, 11, 14],
["access", 40, "tokenize", 43, 30],
["frame", 42, 3, 1, 43, 20],
["null", 43, 43, 20],
["setarg", 42, 0, 43, 43, 20],
["setarg", 42, 1, 40, 43, 20],
["invoke", 42, 41, 43, 20],
["move", 17, 41, 43, 20],
["access", 44, "parse", 44, 27],
["frame", 46, 3, 1, 44, 17],
["null", 47, 44, 17],
["setarg", 46, 0, 47, 44, 17],
["setarg", 46, 1, 44, 44, 17],
["invoke", 46, 45, 44, 17],
["move", 15, 45, 44, 17],
["access", 48, "fold", 45, 26],
["frame", 50, 3, 1, 45, 16],
["null", 51, 45, 16],
["setarg", 50, 0, 51, 45, 16],
["setarg", 50, 1, 48, 45, 16],
["invoke", 50, 49, 45, 16],
["move", 11, 49, 45, 16],
["access", 52, "mcode", 46, 27],
["frame", 54, 3, 1, 46, 17],
["null", 55, 46, 17],
["setarg", 54, 0, 55, 46, 17],
["setarg", 54, 1, 52, 46, 17],
["invoke", 54, 53, 46, 17],
["move", 14, 53, 46, 17],
["record", 56, 2],
["access", 57, "tokenize", 91, 10],
["store_field", 56, 57, "name", 91, 10],
["access", 58, "tokenize.cm", 91, 28],
["store_field", 56, 58, "path", 91, 28],
["record", 59, 2],
["access", 60, "parse", 92, 10],
["store_field", 59, 60, "name", 92, 10],
["access", 61, "parse.cm", 92, 25],
["store_field", 59, 61, "path", 92, 25],
["record", 62, 2],
["access", 63, "fold", 93, 10],
["store_field", 62, 63, "name", 93, 10],
["access", 64, "fold.cm", 93, 24],
["store_field", 62, 64, "path", 93, 24],
["record", 65, 2],
["access", 66, "mcode", 94, 10],
["store_field", 65, 66, "name", 94, 10],
["access", 67, "mcode.cm", 94, 25],
["store_field", 65, 67, "path", 94, 25],
["record", 68, 2],
["access", 69, "streamline", 95, 10],
["store_field", 68, 69, "name", 95, 10],
["access", 70, "streamline.cm", 95, 30],
["store_field", 68, 70, "path", 95, 30],
["record", 71, 2],
["access", 72, "engine", 96, 10],
["store_field", 71, 72, "name", 96, 10],
["access", 73, "internal/engine.cm", 96, 26],
["store_field", 71, 73, "path", 96, 26],
["array", 74, 6, 96, 26],
["push", 74, 56, 96, 26],
["push", 74, 59, 96, 26],
["push", 74, 62, 96, 26],
["push", 74, 65, 96, 26],
["push", 74, 68, 96, 26],
["push", 74, 71, 96, 26],
["move", 16, 74, 96, 26],
["access", 1, 0, 98, 10],
["null", 9, 99, 13],
"while_start_103",
["length", 75, 16, 100, 20],
["is_int", 77, 1, 100, 20],
["jump_false", 77, "rel_ni_105", 100, 20],
["is_int", 78, 75, 100, 20],
["jump_false", 78, "rel_ni_105", 100, 20],
["lt_int", 76, 1, 75, 100, 20],
["jump", "rel_done_107", 100, 20],
"rel_ni_105",
["is_num", 77, 1, 100, 20],
["jump_false", 77, "rel_nn_106", 100, 20],
["is_num", 78, 75, 100, 20],
["jump_false", 78, "rel_nn_106", 100, 20],
["lt_float", 76, 1, 75, 100, 20],
["jump", "rel_done_107", 100, 20],
"rel_nn_106",
["is_text", 77, 1, 100, 20],
["jump_false", 77, "rel_err_108", 100, 20],
["is_text", 78, 75, 100, 20],
["jump_false", 78, "rel_err_108", 100, 20],
["lt_text", 76, 1, 75, 100, 20],
["jump", "rel_done_107", 100, 20],
"rel_err_108",
[
"access",
79,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
100,
20
],
["access", 80, "error", 100, 20],
["access", 81, "cannot compare with '<': operands must be same type", 100, 20],
["array", 82, 0, 100, 20],
["push", 82, 81, 100, 20],
["frame", 84, 79, 2, 100, 20],
["null", 85, 100, 20],
["setarg", 84, 0, 85, 100, 20],
["setarg", 84, 1, 80, 100, 20],
["setarg", 84, 2, 82, 100, 20],
["invoke", 84, 83, 100, 20],
["disrupt", 100, 20],
"rel_done_107",
["jump_false", 76, "while_end_104", 100, 20],
["load_dynamic", 86, 16, 1, 101, 22],
["move", 9, 86, 101, 22],
["load_field", 87, 9, "name", 102, 21],
[
"access",
88,
{
"name": "core_path",
"kind": "name",
"make": "intrinsic"
},
102,
33
],
["access", 89, "/", 102, 45],
["is_text", 91, 88, 102, 45],
["jump_false", 91, "add_cn_110", 102, 45],
["is_text", 92, 89, 102, 45],
["jump_false", 92, "add_cn_110", 102, 45],
["concat", 90, 88, 89, 102, 45],
["jump", "add_done_109", 102, 45],
"add_cn_110",
["is_num", 91, 88, 102, 45],
["jump_false", 91, "add_err_111", 102, 45],
["is_num", 92, 89, 102, 45],
["jump_false", 92, "add_err_111", 102, 45],
["add", 90, 88, 89, 102, 45],
["jump", "add_done_109", 102, 45],
"add_err_111",
[
"access",
93,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
102,
45
],
["access", 94, "error", 102, 45],
["access", 95, "cannot apply '+': operands must both be text or both be numbers", 102, 45],
["array", 96, 0, 102, 45],
["push", 96, 95, 102, 45],
["frame", 98, 93, 2, 102, 45],
["null", 99, 102, 45],
["setarg", 98, 0, 99, 102, 45],
["setarg", 98, 1, 94, 102, 45],
["setarg", 98, 2, 96, 102, 45],
["invoke", 98, 97, 102, 45],
["disrupt", 102, 45],
"add_done_109",
["load_field", 100, 9, "path", 102, 51],
["is_text", 102, 90, 102, 51],
["jump_false", 102, "add_cn_113", 102, 51],
["is_text", 103, 100, 102, 51],
["jump_false", 103, "add_cn_113", 102, 51],
["concat", 101, 90, 100, 102, 51],
["jump", "add_done_112", 102, 51],
"add_cn_113",
["is_num", 102, 90, 102, 51],
["jump_false", 102, "add_err_114", 102, 51],
["is_num", 103, 100, 102, 51],
["jump_false", 103, "add_err_114", 102, 51],
["add", 101, 90, 100, 102, 51],
["jump", "add_done_112", 102, 51],
"add_err_114",
[
"access",
104,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
102,
51
],
["access", 105, "error", 102, 51],
["access", 106, "cannot apply '+': operands must both be text or both be numbers", 102, 51],
["array", 107, 0, 102, 51],
["push", 107, 106, 102, 51],
["frame", 109, 104, 2, 102, 51],
["null", 110, 102, 51],
["setarg", 109, 0, 110, 102, 51],
["setarg", 109, 1, 105, 102, 51],
["setarg", 109, 2, 107, 102, 51],
["invoke", 109, 108, 102, 51],
["disrupt", 102, 51],
"add_done_112",
["frame", 112, 5, 2, 102, 3],
["null", 113, 102, 3],
["setarg", 112, 0, 113, 102, 3],
["setarg", 112, 1, 87, 102, 3],
["setarg", 112, 2, 101, 102, 3],
["invoke", 112, 111, 102, 3],
["access", 114, 1, 103, 13],
["is_num", 116, 1, 103, 13],
["jump_false", 116, "num_err_115", 103, 13],
["is_num", 117, 114, 103, 13],
["jump_false", 117, "num_err_115", 103, 13],
["add", 115, 1, 114, 103, 13],
["jump", "num_done_116", 103, 13],
"num_err_115",
[
"access",
118,
{
"name": "log",
"kind": "name",
"make": "intrinsic"
},
103,
13
],
["access", 119, "error", 103, 13],
["access", 120, "cannot apply '+': operands must be numbers", 103, 13],
["array", 121, 0, 103, 13],
["push", 121, 120, 103, 13],
["frame", 123, 118, 2, 103, 13],
["null", 124, 103, 13],
["setarg", 123, 0, 124, 103, 13],
["setarg", 123, 1, 119, 103, 13],
["setarg", 123, 2, 121, 103, 13],
["invoke", 123, 122, 103, 13],
["disrupt", 103, 13],
"num_done_116",
["move", 1, 115, 103, 13],
["jump", "while_start_103", 103, 13],
"while_end_104",
["access", 125, "bootstrap: cache seeded\n", 105, 7],
[
"access",
127,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
105,
1
],
["frame", 128, 127, 1, 105, 1],
["null", 129, 105, 1],
["setarg", 128, 0, 129, 105, 1],
["setarg", 128, 1, 125, 105, 1],
["invoke", 128, 126, 105, 1],
["return", 126, 105, 1]
],
"nr_args": 0
},
"filename": "bootstrap.cm",
"data": {}
}