Files
cell/boot/bootstrap.cm.mcode

11449 lines
109 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,
27,
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,
17,
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,
15,
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,
15,
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,
11,
1,
40,
7
],
[
"load_dynamic",
4,
3,
1,
40,
17
],
[
"jump_false",
4,
"if_else_12",
40,
17
],
[
"get",
5,
11,
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,
18,
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,
11,
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",
4,
50,
20
],
[
"null",
5,
51,
14
],
[
"null",
7,
52,
16
],
[
"null",
6,
53,
20
],
[
"null",
3,
54,
19
],
[
"get",
16,
15,
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,
15,
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",
4,
24,
56,
18
],
[
"get",
34,
10,
1,
57,
12
],
[
"frame",
35,
34,
1,
57,
12
],
[
"null",
36,
57,
12
],
[
"setarg",
35,
0,
36,
57,
12
],
[
"setarg",
35,
1,
4,
57,
12
],
[
"invoke",
35,
33,
57,
12
],
[
"move",
5,
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,
5,
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,
15,
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,
15,
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,
4,
62,
18
],
[
"invoke",
66,
64,
62,
18
],
[
"move",
6,
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,
6,
63,
17
],
[
"invoke",
70,
68,
63,
17
],
[
"move",
3,
68,
63,
17
],
[
"jump_false",
7,
"if_else_27",
64,
9
],
[
"get",
73,
2,
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,
15,
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,
3,
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,
3,
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,
3,
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",
2,
106,
23
],
[
"null",
3,
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",
3,
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,
3,
"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,
3,
"mcode",
111,
36
],
[
"add",
55,
53,
54,
111,
36
],
[
"move",
8,
55,
111,
36
],
[
"get",
57,
15,
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,
15,
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,
15,
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",
2,
75,
113,
23
],
[
"get",
85,
15,
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,
2,
"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,
3,
"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,
4,
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,
4,
1,
131,
57
],
[
"get",
20,
21,
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",
11,
19,
131,
13
],
[
"access",
8,
0,
132,
12
],
[
"access",
5,
-1,
133,
19
],
[
"null",
6,
134,
18
],
[
"null",
12,
135,
11
],
[
"null",
3,
136,
13
],
[
"null",
7,
137,
14
],
[
"null",
9,
138,
13
],
[
"load_field",
23,
11,
"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,
11,
"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",
10,
28,
139,
63
],
[
"jump_false",
10,
"if_else_75",
140,
7
],
"while_start_77",
[
"load_field",
35,
11,
"errors",
141,
24
],
[
"length",
36,
35,
141,
24
],
[
"is_int",
38,
8,
141,
24
],
[
"jump_false",
38,
"rel_ni_79",
141,
24
],
"_nop_tc_16",
"_nop_tc_17",
[
"lt_int",
37,
8,
36,
141,
24
],
[
"jump",
"rel_done_81",
141,
24
],
"rel_ni_79",
[
"is_num",
38,
8,
141,
24
],
[
"jump_false",
38,
"rel_nn_80",
141,
24
],
"_nop_tc_18",
"_nop_tc_19",
[
"lt_float",
37,
8,
36,
141,
24
],
[
"jump",
"rel_done_81",
141,
24
],
"rel_nn_80",
[
"is_text",
38,
8,
141,
24
],
[
"jump_false",
38,
"rel_err_82",
141,
24
],
"_nop_tc_20",
[
"jump",
"rel_err_82",
141,
24
],
[
"lt_text",
37,
8,
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,
11,
"errors",
142,
11
],
[
"load_dynamic",
41,
40,
8,
142,
22
],
[
"move",
12,
41,
142,
22
],
[
"load_field",
42,
12,
"message",
143,
13
],
[
"move",
3,
42,
143,
13
],
[
"load_field",
43,
12,
"line",
144,
14
],
[
"move",
7,
43,
144,
14
],
[
"load_field",
44,
12,
"column",
145,
13
],
[
"move",
9,
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,
7,
5,
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,
7,
146,
38
],
[
"jump_false",
50,
"ne_nn_97",
146,
38
],
[
"is_int",
51,
5,
146,
38
],
[
"jump_false",
51,
"ne_nn_97",
146,
38
],
[
"ne_int",
49,
7,
5,
146,
38
],
[
"jump",
"ne_done_94",
146,
38
],
"ne_nn_97",
[
"is_num",
50,
7,
146,
38
],
[
"jump_false",
50,
"ne_nt_98",
146,
38
],
[
"is_num",
51,
5,
146,
38
],
[
"jump_false",
51,
"ne_nt_98",
146,
38
],
[
"ne_float",
49,
7,
5,
146,
38
],
[
"jump",
"ne_done_94",
146,
38
],
"ne_nt_98",
[
"is_text",
50,
7,
146,
38
],
[
"jump_false",
50,
"ne_nnl_99",
146,
38
],
[
"is_text",
51,
5,
146,
38
],
[
"jump_false",
51,
"ne_nnl_99",
146,
38
],
[
"ne_text",
49,
7,
5,
146,
38
],
[
"jump",
"ne_done_94",
146,
38
],
"ne_nnl_99",
[
"is_null",
50,
7,
146,
38
],
[
"jump_false",
50,
"ne_nb_100",
146,
38
],
[
"is_null",
51,
5,
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,
7,
146,
38
],
[
"jump_false",
50,
"ne_mis_101",
146,
38
],
[
"is_bool",
51,
5,
146,
38
],
[
"jump_false",
51,
"ne_mis_101",
146,
38
],
[
"ne_bool",
49,
7,
5,
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,
7,
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,
7,
147,
21
],
[
"jump_false",
54,
"ne_nn_108",
147,
21
],
"_nop_tc_21",
[
"jump",
"ne_nn_108",
147,
21
],
[
"ne_int",
53,
7,
52,
147,
21
],
[
"jump",
"ne_done_105",
147,
21
],
"ne_nn_108",
[
"is_num",
54,
7,
147,
21
],
[
"jump_false",
54,
"ne_nt_109",
147,
21
],
"_nop_tc_22",
[
"jump",
"ne_nt_109",
147,
21
],
[
"ne_float",
53,
7,
52,
147,
21
],
[
"jump",
"ne_done_105",
147,
21
],
"ne_nt_109",
[
"is_text",
54,
7,
147,
21
],
[
"jump_false",
54,
"ne_nnl_110",
147,
21
],
"_nop_tc_23",
[
"jump",
"ne_nnl_110",
147,
21
],
[
"ne_text",
53,
7,
52,
147,
21
],
[
"jump",
"ne_done_105",
147,
21
],
"ne_nnl_110",
[
"is_null",
54,
7,
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,
7,
147,
21
],
[
"jump_false",
54,
"ne_mis_112",
147,
21
],
"_nop_tc_26",
[
"jump",
"ne_mis_112",
147,
21
],
[
"ne_bool",
53,
7,
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,
9,
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,
9,
147,
36
],
[
"jump_false",
59,
"ne_nn_116",
147,
36
],
"_nop_tc_27",
[
"jump",
"ne_nn_116",
147,
36
],
[
"ne_int",
58,
9,
57,
147,
36
],
[
"jump",
"ne_done_113",
147,
36
],
"ne_nn_116",
[
"is_num",
59,
9,
147,
36
],
[
"jump_false",
59,
"ne_nt_117",
147,
36
],
"_nop_tc_28",
[
"jump",
"ne_nt_117",
147,
36
],
[
"ne_float",
58,
9,
57,
147,
36
],
[
"jump",
"ne_done_113",
147,
36
],
"ne_nt_117",
[
"is_text",
59,
9,
147,
36
],
[
"jump_false",
59,
"ne_nnl_118",
147,
36
],
"_nop_tc_29",
[
"jump",
"ne_nnl_118",
147,
36
],
[
"ne_text",
58,
9,
57,
147,
36
],
[
"jump",
"ne_done_113",
147,
36
],
"ne_nnl_118",
[
"is_null",
59,
9,
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,
9,
147,
36
],
[
"jump_false",
59,
"ne_mis_120",
147,
36
],
"_nop_tc_32",
[
"jump",
"ne_mis_120",
147,
36
],
[
"ne_bool",
58,
9,
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,
7,
1,
1
],
[
"invoke",
63,
61,
1,
1
],
[
"access",
66,
{
"name": "text",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
[
"frame",
67,
66,
1,
1,
1
],
[
"null",
68,
1,
1
],
[
"setarg",
67,
0,
68,
1,
1
],
[
"setarg",
67,
1,
9,
1,
1
],
[
"invoke",
67,
65,
1,
1
],
[
"array",
69,
0,
1,
1
],
[
"push",
69,
2,
1,
1
],
[
"push",
69,
61,
1,
1
],
[
"push",
69,
65,
1,
1
],
[
"push",
69,
3,
1,
1
],
[
"access",
70,
{
"name": "format",
"kind": "name",
"make": "intrinsic"
},
1,
1
],
[
"access",
71,
"{0}:{1}:{2}: error: {3}",
1,
1
],
[
"frame",
73,
70,
2,
1,
1
],
[
"null",
74,
1,
1
],
[
"setarg",
73,
0,
74,
1,
1
],
[
"setarg",
73,
1,
71,
1,
1
],
[
"setarg",
73,
2,
69,
1,
1
],
[
"invoke",
73,
72,
1,
1
],
[
"access",
76,
{
"name": "print",
"kind": "name",
"make": "intrinsic"
},
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",
5,
7,
153,
19
],
[
"move",
6,
3,
154,
18
],
[
"access",
89,
1,
155,
17
],
[
"add",
90,
8,
89,
155,
17
],
[
"move",
8,
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,
11,
159,
9
],
[
"invoke",
93,
91,
159,
9
],
[
"move",
11,
91,
159,
9
],
[
"return",
11,
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,
5,
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,
16,
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,
9,
1,
175,
47
],
[
"get",
22,
14,
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,
16,
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,
16,
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,
23,
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",
7,
27,
180,
19
],
[
"load_field",
31,
7,
"_verify",
182,
7
],
[
"jump_false",
31,
"if_else_131",
182,
7
],
[
"delete",
32,
7,
"_verify"
],
[
"delete",
33,
7,
"_verify_mod"
],
[
"jump",
"if_end_132",
184,
12
],
"if_else_131",
"if_end_132",
[
"get",
35,
24,
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,
7,
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,
7,
186,
20
],
[
"invoke",
42,
34,
186,
20
],
"call_done_134",
[
"move",
5,
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,
5,
187,
19
],
[
"invoke",
45,
43,
187,
19
],
[
"move",
6,
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,
6,
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,
5,
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,
24,
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,
5,
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,
23,
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,
24,
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",
6,
213,
19
],
[
"null",
4,
214,
20
],
[
"null",
5,
215,
20
],
[
"get",
15,
15,
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,
15,
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,
10,
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,
15,
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,
15,
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",
6,
68,
224,
17
],
[
"jump_false",
9,
"if_else_152",
225,
9
],
[
"get",
73,
2,
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,
15,
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,
6,
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,
6,
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,
6,
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",
8,
91,
232,
31
],
[
"get",
93,
15,
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,
8,
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,
8,
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,
7,
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,
8,
234,
16
],
[
"invoke",
107,
105,
234,
16
],
[
"move",
5,
105,
234,
16
],
[
"access",
109,
"engine",
235,
18
],
[
"get",
111,
19,
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",
18,
28,
0,
0
],
[
"function",
29,
1,
0,
0
],
[
"move",
10,
29,
0,
0
],
[
"function",
30,
2,
0,
0
],
[
"move",
12,
30,
0,
0
],
[
"function",
31,
3,
0,
0
],
[
"move",
2,
31,
0,
0
],
[
"function",
32,
4,
0,
0
],
[
"move",
25,
32,
0,
0
],
[
"function",
33,
5,
0,
0
],
[
"move",
14,
33,
0,
0
],
[
"function",
34,
6,
0,
0
],
[
"move",
8,
34,
0,
0
],
[
"function",
35,
7,
0,
0
],
[
"move",
7,
35,
0,
0
],
[
"function",
36,
8,
0,
0
],
[
"move",
19,
36,
0,
0
],
[
"function",
37,
9,
0,
0
],
[
"move",
20,
37,
0,
0
],
[
"function",
38,
10,
0,
0
],
[
"move",
26,
38,
0,
0
],
[
"function",
39,
11,
0,
0
],
[
"move",
3,
39,
0,
0
],
[
"access",
40,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
5,
21
],
[
"load_field",
41,
40,
"load_internal",
5,
21
],
[
"move",
27,
41,
5,
21
],
[
"access",
42,
"fd",
10,
20
],
[
"frame",
44,
18,
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",
15,
43,
10,
10
],
[
"access",
46,
"json",
11,
22
],
[
"frame",
48,
18,
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",
24,
47,
11,
12
],
[
"access",
50,
"crypto",
12,
24
],
[
"frame",
52,
18,
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",
17,
51,
12,
14
],
[
"record",
54,
0
],
[
"move",
11,
54,
14,
17
],
[
"access",
55,
"fd",
15,
11
],
[
"store_field",
11,
15,
55,
15,
11
],
[
"access",
56,
{
"name": "os",
"kind": "name",
"make": "intrinsic"
},
16,
19
],
[
"access",
57,
"os",
16,
11
],
[
"store_field",
11,
56,
57,
16,
11
],
[
"access",
58,
"json",
17,
11
],
[
"store_field",
11,
24,
58,
17,
11
],
[
"access",
59,
"crypto",
18,
11
],
[
"store_field",
11,
17,
59,
18,
11
],
[
"record",
60,
0
],
[
"store_field",
60,
25,
"use",
74,
22
],
[
"move",
9,
60,
74,
22
],
[
"access",
61,
"tokenize",
75,
30
],
[
"frame",
63,
14,
2,
75,
20
],
[
"null",
64,
75,
20
],
[
"setarg",
63,
0,
64,
75,
20
],
[
"setarg",
63,
1,
61,
75,
20
],
[
"setarg",
63,
2,
9,
75,
20
],
[
"invoke",
63,
62,
75,
20
],
[
"move",
4,
62,
75,
20
],
[
"access",
65,
"parse",
76,
27
],
[
"frame",
67,
14,
2,
76,
17
],
[
"null",
68,
76,
17
],
[
"setarg",
67,
0,
68,
76,
17
],
[
"setarg",
67,
1,
65,
76,
17
],
[
"setarg",
67,
2,
9,
76,
17
],
[
"invoke",
67,
66,
76,
17
],
[
"move",
21,
66,
76,
17
],
[
"access",
69,
"fold",
77,
26
],
[
"frame",
71,
14,
2,
77,
16
],
[
"null",
72,
77,
16
],
[
"setarg",
71,
0,
72,
77,
16
],
[
"setarg",
71,
1,
69,
77,
16
],
[
"setarg",
71,
2,
9,
77,
16
],
[
"invoke",
71,
70,
77,
16
],
[
"move",
13,
70,
77,
16
],
[
"access",
73,
"tokenize",
78,
11
],
[
"store_field",
11,
4,
73,
78,
11
],
[
"access",
74,
"parse",
79,
11
],
[
"store_field",
11,
21,
74,
79,
11
],
[
"access",
75,
"fold",
80,
11
],
[
"store_field",
11,
13,
75,
80,
11
],
[
"access",
76,
"mcode",
83,
27
],
[
"frame",
78,
14,
2,
83,
17
],
[
"null",
79,
83,
17
],
[
"setarg",
78,
0,
79,
83,
17
],
[
"setarg",
78,
1,
76,
83,
17
],
[
"setarg",
78,
2,
9,
83,
17
],
[
"invoke",
78,
77,
83,
17
],
[
"move",
5,
77,
83,
17
],
[
"access",
80,
"mcode",
84,
11
],
[
"store_field",
11,
5,
80,
84,
11
],
[
"null",
23,
85,
22
],
[
"frame",
82,
8,
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,
14,
2,
164,
18
],
[
"null",
87,
164,
18
],
[
"setarg",
86,
0,
87,
164,
18
],
[
"setarg",
86,
1,
84,
164,
18
],
[
"setarg",
86,
2,
9,
164,
18
],
[
"invoke",
86,
85,
164,
18
],
[
"move",
23,
85,
164,
18
],
[
"access",
88,
"streamline",
165,
11
],
[
"store_field",
11,
23,
88,
165,
11
],
[
"null",
16,
168,
22
],
[
"null",
22,
240,
15
],
[
"array",
89,
0,
241,
17
],
[
"move",
1,
89,
241,
17
],
[
"access",
6,
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",
22,
97,
246,
18
],
"_nop_bl_1",
[
"jump_true",
22,
"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",
6,
104,
251,
8
],
"while_start_170",
[
"access",
105,
{
"name": "args",
"kind": "name",
"make": "intrinsic"
},
252,
22
],
[
"length",
106,
105,
252,
22
],
[
"is_int",
108,
6,
252,
22
],
[
"jump_false",
108,
"rel_ni_172",
252,
22
],
"_nop_tc_7",
"_nop_tc_8",
[
"lt_int",
107,
6,
106,
252,
22
],
[
"jump",
"rel_done_174",
252,
22
],
"rel_ni_172",
[
"is_num",
108,
6,
252,
22
],
[
"jump_false",
108,
"rel_nn_173",
252,
22
],
"_nop_tc_9",
"_nop_tc_10",
[
"lt_float",
107,
6,
106,
252,
22
],
[
"jump",
"rel_done_174",
252,
22
],
"rel_nn_173",
[
"is_text",
108,
6,
252,
22
],
[
"jump_false",
108,
"rel_err_175",
252,
22
],
"_nop_tc_11",
[
"jump",
"rel_err_175",
252,
22
],
[
"lt_text",
107,
6,
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,
6,
253,
26
],
[
"is_array",
112,
1,
253,
26
],
[
"jump_false",
112,
"push_err_176",
253,
26
],
[
"push",
1,
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,
6,
113,
254,
15
],
[
"move",
6,
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,
22,
"program",
259,
21
],
[
"store_field",
118,
1,
"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,
24,
"json",
260,
55
],
[
"store_field",
115,
7,
"analyze",
261,
14
],
[
"store_field",
115,
19,
"run_ast_fn",
261,
35
],
[
"store_field",
115,
20,
"run_ast_noopt_fn",
261,
62
],
[
"store_field",
115,
11,
"use_cache",
262,
16
],
[
"store_field",
115,
10,
"content_hash",
263,
19
],
[
"store_field",
115,
12,
"cache_path",
263,
45
],
[
"store_field",
115,
2,
"ensure_build_dir",
264,
23
],
[
"store_field",
115,
26,
"compile_to_blob_fn",
264,
61
],
[
"frame",
122,
3,
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,
24,
"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,
7,
"analyze",
271,
14
],
[
"store_field",
124,
19,
"run_ast_fn",
271,
35
],
[
"store_field",
124,
20,
"run_ast_noopt_fn",
271,
62
],
[
"store_field",
124,
11,
"use_cache",
272,
16
],
[
"store_field",
124,
10,
"content_hash",
273,
19
],
[
"store_field",
124,
12,
"cache_path",
273,
45
],
[
"store_field",
124,
2,
"ensure_build_dir",
274,
23
],
[
"store_field",
124,
26,
"compile_to_blob_fn",
274,
61
],
[
"frame",
133,
3,
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": {}
}