remove if/else dispatch from compile chain

This commit is contained in:
2026-02-14 17:57:48 -06:00
parent a93218e1ff
commit a765872017
16 changed files with 184177 additions and 231986 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,7 @@
[
"get",
3,
3,
1,
1,
16,
7
@@ -32,7 +32,7 @@
[
"get",
5,
3,
1,
1,
17,
12
@@ -224,7 +224,7 @@
[
"get",
21,
3,
1,
1,
20,
5
@@ -335,7 +335,7 @@
[
"get",
11,
2,
4,
1,
30,
8
@@ -569,7 +569,7 @@
[
"get",
29,
2,
4,
1,
34,
21
@@ -764,7 +764,7 @@
[
"get",
42,
17,
19,
1,
35,
50
@@ -862,7 +862,7 @@
[
"get",
9,
4,
6,
1,
51,
20
@@ -930,7 +930,7 @@
[
"get",
13,
4,
6,
1,
52,
57
@@ -938,7 +938,7 @@
[
"get",
15,
18,
14,
1,
52,
13
@@ -2234,7 +2234,7 @@
[
"get",
77,
1,
2,
1,
68,
10
@@ -2297,7 +2297,7 @@
[
"get",
8,
11,
7,
1,
72,
18
@@ -2349,7 +2349,7 @@
[
"get",
12,
14,
17,
1,
73,
19
@@ -2664,7 +2664,7 @@
[
"get",
8,
3,
1,
1,
85,
7
@@ -2687,7 +2687,7 @@
[
"get",
10,
3,
1,
1,
86,
12
@@ -2879,7 +2879,7 @@
[
"get",
26,
3,
1,
1,
91,
5
@@ -2960,7 +2960,7 @@
[
"get",
34,
2,
4,
1,
97,
7
@@ -3102,7 +3102,7 @@
[
"get",
43,
2,
4,
1,
98,
23
@@ -3297,7 +3297,7 @@
[
"get",
56,
8,
10,
1,
99,
54
@@ -3384,7 +3384,7 @@
[
"get",
61,
3,
1,
1,
100,
5
@@ -3431,7 +3431,7 @@
[
"get",
65,
2,
4,
1,
106,
8
@@ -3638,7 +3638,7 @@
[
"get",
81,
2,
4,
1,
108,
7
@@ -3780,7 +3780,7 @@
[
"get",
90,
2,
4,
1,
109,
19
@@ -3970,7 +3970,7 @@
[
"get",
103,
7,
9,
1,
110,
11
@@ -4035,7 +4035,7 @@
[
"get",
107,
8,
10,
1,
111,
39
@@ -4051,7 +4051,7 @@
[
"get",
109,
10,
12,
1,
111,
14
@@ -4119,7 +4119,7 @@
[
"get",
112,
3,
1,
1,
112,
5
@@ -4243,9 +4243,8 @@
}
],
"main": {
"nr_args": 0,
"nr_close_slots": 0,
"nr_slots": 161,
"nr_close_slots": 0,
"instructions": [
[
"function",
@@ -4256,7 +4255,7 @@
],
[
"move",
17,
19,
20,
0,
0
@@ -4270,7 +4269,7 @@
],
[
"move",
12,
3,
21,
0,
0
@@ -4284,7 +4283,7 @@
],
[
"move",
7,
9,
22,
0,
0
@@ -4298,7 +4297,7 @@
],
[
"move",
10,
12,
23,
0,
0
@@ -4312,7 +4311,7 @@
],
[
"move",
8,
10,
24,
0,
0
@@ -4389,7 +4388,7 @@
],
[
"move",
2,
4,
28,
8,
10
@@ -4401,7 +4400,7 @@
],
[
"move",
3,
1,
31,
10,
17
@@ -4415,8 +4414,8 @@
],
[
"store_field",
3,
2,
1,
4,
32,
11,
11
@@ -4441,7 +4440,7 @@
],
[
"store_field",
3,
1,
33,
34,
12,
@@ -4467,7 +4466,7 @@
],
[
"store_field",
3,
1,
35,
36,
13,
@@ -4483,7 +4482,7 @@
[
"frame",
39,
12,
3,
1,
38,
20
@@ -4519,7 +4518,7 @@
],
[
"move",
4,
6,
38,
38,
20
@@ -4534,7 +4533,7 @@
[
"frame",
43,
12,
3,
1,
39,
17
@@ -4570,7 +4569,7 @@
],
[
"move",
18,
14,
42,
39,
17
@@ -4585,7 +4584,7 @@
[
"frame",
47,
12,
3,
1,
40,
16
@@ -4621,7 +4620,7 @@
],
[
"move",
1,
2,
46,
40,
16
@@ -4636,7 +4635,7 @@
[
"frame",
51,
12,
3,
1,
41,
17
@@ -4672,7 +4671,7 @@
],
[
"move",
11,
7,
50,
41,
17
@@ -4687,7 +4686,7 @@
[
"frame",
55,
12,
3,
1,
42,
22
@@ -4723,7 +4722,7 @@
],
[
"move",
14,
17,
54,
42,
22
@@ -4737,8 +4736,8 @@
],
[
"store_field",
3,
4,
1,
6,
57,
44,
11
@@ -4752,8 +4751,8 @@
],
[
"store_field",
3,
18,
1,
14,
58,
45,
11
@@ -4767,8 +4766,8 @@
],
[
"store_field",
3,
1,
2,
59,
46,
11
@@ -4782,8 +4781,8 @@
],
[
"store_field",
3,
11,
1,
7,
60,
47,
11
@@ -4797,8 +4796,8 @@
],
[
"store_field",
3,
14,
1,
17,
61,
48,
11
@@ -4831,7 +4830,7 @@
],
[
"move",
15,
16,
64,
121,
20
@@ -4845,40 +4844,40 @@
],
[
"move",
9,
11,
65,
122,
17
],
[
"access",
5,
8,
1,
123,
10
],
[
"null",
16,
15,
124,
17
],
[
"null",
6,
5,
125,
14
],
[
"null",
19,
18,
126,
11
],
"_nop_bl_1",
[
"jump_true",
15,
16,
"if_else_63",
128,
6
@@ -4973,7 +4972,7 @@
[
"is_int",
75,
5,
8,
133,
20
],
@@ -4989,7 +4988,7 @@
[
"lt_int",
74,
5,
8,
73,
133,
20
@@ -5004,7 +5003,7 @@
[
"is_num",
75,
5,
8,
133,
20
],
@@ -5020,7 +5019,7 @@
[
"lt_float",
74,
5,
8,
73,
133,
20
@@ -5035,7 +5034,7 @@
[
"is_text",
75,
5,
8,
133,
20
],
@@ -5056,7 +5055,7 @@
[
"lt_text",
74,
5,
8,
73,
133,
20
@@ -5096,14 +5095,14 @@
"load_dynamic",
78,
77,
5,
8,
134,
24
],
[
"is_array",
79,
9,
11,
134,
24
],
@@ -5116,7 +5115,7 @@
],
[
"push",
9,
11,
78,
134,
24
@@ -5144,14 +5143,14 @@
[
"add",
81,
5,
8,
80,
135,
13
],
[
"move",
5,
8,
81,
135,
13
@@ -5173,14 +5172,14 @@
[
"add",
83,
15,
16,
82,
138,
23
],
[
"move",
16,
15,
83,
138,
23
@@ -5188,7 +5187,7 @@
[
"is_proxy",
85,
2,
4,
139,
6
],
@@ -5222,14 +5221,14 @@
[
"push",
88,
16,
15,
139,
6
],
[
"frame",
89,
2,
4,
2,
139,
6
@@ -5275,7 +5274,7 @@
[
"load_field",
90,
2,
4,
"is_file",
139,
6
@@ -5292,7 +5291,7 @@
"setarg",
91,
0,
2,
4,
139,
6
],
@@ -5300,7 +5299,7 @@
"setarg",
91,
1,
16,
15,
139,
6
],
@@ -5350,7 +5349,7 @@
"add",
96,
95,
15,
16,
140,
33
],
@@ -5371,7 +5370,7 @@
],
[
"move",
16,
15,
98,
140,
43
@@ -5387,7 +5386,7 @@
[
"is_proxy",
100,
2,
4,
141,
6
],
@@ -5421,14 +5420,14 @@
[
"push",
103,
16,
15,
141,
6
],
[
"frame",
104,
2,
4,
2,
141,
6
@@ -5474,7 +5473,7 @@
[
"load_field",
105,
2,
4,
"is_file",
141,
6
@@ -5491,7 +5490,7 @@
"setarg",
106,
0,
2,
4,
141,
6
],
@@ -5499,7 +5498,7 @@
"setarg",
106,
1,
16,
15,
141,
6
],
@@ -5529,14 +5528,14 @@
[
"add",
109,
15,
16,
108,
142,
25
],
[
"move",
16,
15,
109,
142,
25
@@ -5544,7 +5543,7 @@
[
"is_proxy",
111,
2,
4,
143,
8
],
@@ -5578,14 +5577,14 @@
[
"push",
114,
16,
15,
143,
8
],
[
"frame",
115,
2,
4,
2,
143,
8
@@ -5631,7 +5630,7 @@
[
"load_field",
116,
2,
4,
"is_file",
143,
8
@@ -5648,7 +5647,7 @@
"setarg",
117,
0,
2,
4,
143,
8
],
@@ -5656,7 +5655,7 @@
"setarg",
117,
1,
16,
15,
143,
8
],
@@ -5706,7 +5705,7 @@
"add",
122,
121,
15,
16,
144,
35
],
@@ -5727,7 +5726,7 @@
],
[
"move",
16,
15,
124,
144,
45
@@ -5751,7 +5750,7 @@
[
"is_proxy",
126,
2,
4,
146,
6
],
@@ -5785,14 +5784,14 @@
[
"push",
129,
16,
15,
146,
6
],
[
"frame",
130,
2,
4,
2,
146,
6
@@ -5838,7 +5837,7 @@
[
"load_field",
131,
2,
4,
"is_file",
146,
6
@@ -5855,7 +5854,7 @@
"setarg",
132,
0,
2,
4,
146,
6
],
@@ -5863,7 +5862,7 @@
"setarg",
132,
1,
16,
15,
146,
6
],
@@ -5894,7 +5893,7 @@
"add",
135,
134,
15,
16,
147,
39
],
@@ -5977,7 +5976,7 @@
[
"is_proxy",
143,
2,
4,
151,
15
],
@@ -6011,14 +6010,14 @@
[
"push",
146,
16,
15,
151,
15
],
[
"frame",
147,
2,
4,
2,
151,
15
@@ -6064,7 +6063,7 @@
[
"load_field",
148,
2,
4,
"slurp",
151,
15
@@ -6081,7 +6080,7 @@
"setarg",
149,
0,
2,
4,
151,
15
],
@@ -6089,7 +6088,7 @@
"setarg",
149,
1,
16,
15,
151,
15
],
@@ -6151,7 +6150,7 @@
],
[
"move",
6,
5,
150,
151,
10
@@ -6159,7 +6158,7 @@
[
"frame",
155,
7,
9,
2,
152,
7
@@ -6182,7 +6181,7 @@
"setarg",
155,
1,
6,
5,
152,
7
],
@@ -6190,7 +6189,7 @@
"setarg",
155,
2,
16,
15,
152,
7
],
@@ -6203,7 +6202,7 @@
],
[
"move",
19,
18,
154,
152,
7
@@ -6216,7 +6215,7 @@
[
"store_field",
157,
8,
10,
"use",
153,
29
@@ -6224,7 +6223,7 @@
[
"store_field",
157,
9,
11,
"args",
153,
43
@@ -6232,7 +6231,7 @@
[
"frame",
159,
10,
12,
3,
153,
1
@@ -6255,7 +6254,7 @@
"setarg",
159,
1,
15,
16,
153,
1
],
@@ -6263,7 +6262,7 @@
"setarg",
159,
2,
19,
18,
153,
1
],
@@ -6288,7 +6287,8 @@
153,
1
]
]
],
"nr_args": 0
},
"filename": "boot/seed_bootstrap.cm",
"data": {}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff