faster streamline

This commit is contained in:
2026-02-14 17:14:43 -06:00
parent f2c4fa2f2b
commit a93218e1ff
13 changed files with 24688 additions and 25808 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -11456,7 +11456,7 @@
[
"get",
9,
20,
19,
1,
147,
9
@@ -11685,7 +11685,7 @@
[
"get",
16,
20,
19,
1,
147,
34
@@ -11709,7 +11709,7 @@
[
"get",
17,
20,
19,
1,
148,
5
@@ -11810,7 +11810,7 @@
[
"get",
8,
20,
19,
1,
153,
9
@@ -12049,7 +12049,7 @@
[
"get",
15,
20,
19,
1,
154,
12
@@ -36525,7 +36525,7 @@
[
"get",
136,
14,
20,
1,
365,
19
@@ -36594,7 +36594,7 @@
[
"get",
141,
14,
20,
1,
366,
20
@@ -37103,7 +37103,7 @@
[
"get",
155,
14,
20,
1,
368,
19
@@ -37632,7 +37632,7 @@
[
"get",
170,
14,
20,
1,
369,
56
@@ -38821,7 +38821,7 @@
[
"get",
199,
14,
20,
1,
371,
25
@@ -39547,7 +39547,7 @@
[
"get",
217,
14,
20,
1,
375,
25
@@ -39616,7 +39616,7 @@
[
"get",
222,
14,
20,
1,
376,
19
@@ -39685,7 +39685,7 @@
[
"get",
227,
14,
20,
1,
377,
19
@@ -39970,7 +39970,7 @@
[
"get",
236,
14,
20,
1,
379,
25
@@ -40188,7 +40188,7 @@
[
"get",
248,
14,
20,
1,
382,
24
@@ -40659,7 +40659,7 @@
[
"get",
267,
14,
20,
1,
388,
24
@@ -41138,7 +41138,7 @@
[
"get",
287,
14,
20,
1,
394,
30
@@ -41617,7 +41617,7 @@
[
"get",
307,
14,
20,
1,
400,
24
@@ -45337,7 +45337,7 @@
[
"get",
397,
14,
20,
1,
410,
20
@@ -45866,7 +45866,7 @@
[
"get",
412,
19,
18,
1,
416,
13
@@ -53944,7 +53944,7 @@
[
"get",
624,
18,
17,
1,
457,
16
@@ -78063,7 +78063,7 @@
[
"get",
24,
14,
20,
1,
590,
20
@@ -78581,7 +78581,7 @@
[
"get",
46,
17,
14,
1,
597,
24
@@ -78905,7 +78905,7 @@
[
"get",
58,
14,
20,
1,
603,
25
@@ -79192,7 +79192,7 @@
[
"get",
67,
14,
20,
1,
607,
25
@@ -80856,7 +80856,7 @@
[
"get",
137,
17,
14,
1,
623,
18
@@ -81610,7 +81610,7 @@
[
"get",
167,
14,
20,
1,
633,
25
@@ -82515,7 +82515,7 @@
[
"get",
200,
14,
20,
1,
640,
25
@@ -83494,7 +83494,7 @@
[
"get",
225,
17,
14,
1,
647,
23
@@ -83570,7 +83570,7 @@
[
"get",
230,
14,
20,
1,
649,
23
@@ -83884,7 +83884,7 @@
[
"get",
240,
14,
20,
1,
652,
42
@@ -84197,7 +84197,7 @@
[
"get",
250,
14,
20,
1,
653,
46
@@ -84785,7 +84785,7 @@
[
"get",
269,
14,
20,
1,
658,
25
@@ -85359,7 +85359,7 @@
[
"get",
287,
17,
14,
1,
666,
24
@@ -85876,7 +85876,7 @@
[
"get",
15,
17,
14,
1,
683,
14
@@ -90049,7 +90049,7 @@
[
"get",
31,
14,
20,
1,
723,
35
@@ -102816,7 +102816,7 @@
[
"get",
33,
2,
3,
1,
895,
9
@@ -112771,7 +112771,7 @@
],
[
"null",
3,
2,
740,
15
],
@@ -113195,7 +113195,7 @@
],
[
"move",
3,
2,
33,
753,
20
@@ -113210,7 +113210,7 @@
[
"is_identical",
35,
3,
2,
34,
754,
20
@@ -113245,7 +113245,7 @@
[
"is_int",
36,
3,
2,
754,
20
],
@@ -113266,7 +113266,7 @@
[
"ne_int",
35,
3,
2,
34,
754,
20
@@ -113281,7 +113281,7 @@
[
"is_num",
36,
3,
2,
754,
20
],
@@ -113302,7 +113302,7 @@
[
"ne_float",
35,
3,
2,
34,
754,
20
@@ -113317,7 +113317,7 @@
[
"is_text",
36,
3,
2,
754,
20
],
@@ -113333,7 +113333,7 @@
[
"ne_text",
35,
3,
2,
34,
754,
20
@@ -113348,7 +113348,7 @@
[
"is_null",
36,
3,
2,
754,
20
],
@@ -113382,7 +113382,7 @@
[
"is_bool",
36,
3,
2,
754,
20
],
@@ -113403,7 +113403,7 @@
[
"ne_bool",
35,
3,
2,
34,
754,
20
@@ -113433,7 +113433,7 @@
"load_dynamic",
38,
10,
3,
2,
755,
22
],
@@ -114412,7 +114412,7 @@
"delete",
61,
10,
3,
2,
757,
23
],
@@ -114966,7 +114966,7 @@
],
[
"move",
2,
3,
88,
886,
27
@@ -115307,7 +115307,7 @@
[
"load_dynamic",
112,
2,
3,
111,
995,
42
@@ -115885,7 +115885,7 @@
],
[
"move",
18,
17,
49,
85,
19
@@ -115967,7 +115967,7 @@
],
[
"move",
20,
19,
55,
142,
20
@@ -116007,7 +116007,7 @@
],
[
"move",
19,
18,
58,
151,
19
@@ -116122,13 +116122,13 @@
],
[
"null",
14,
20,
335,
19
],
[
"null",
17,
14,
336,
19
],
@@ -116147,7 +116147,7 @@
],
[
"move",
14,
20,
65,
339,
15
@@ -116167,7 +116167,7 @@
],
[
"move",
17,
14,
66,
580,
15

File diff suppressed because it is too large Load Diff

View File

@@ -29,7 +29,7 @@
[
"put",
3,
55,
54,
1,
19,
16
@@ -2565,7 +2565,7 @@
[
"get",
2,
55,
54,
1,
80,
19
@@ -2589,7 +2589,7 @@
[
"get",
4,
55,
54,
1,
81,
22
@@ -31240,7 +31240,7 @@
[
"get",
996,
56,
55,
1,
458,
14
@@ -42787,7 +42787,7 @@
[
"get",
168,
54,
56,
1,
643,
12
@@ -86624,7 +86624,7 @@
[
"get",
887,
56,
55,
1,
1314,
14
@@ -147106,7 +147106,7 @@
],
[
"null",
55,
54,
11,
18
],
@@ -147579,7 +147579,7 @@
],
[
"null",
56,
55,
120,
30
],
@@ -147626,7 +147626,7 @@
],
[
"move",
54,
56,
100,
500,
23
@@ -148589,7 +148589,7 @@
],
[
"move",
56,
55,
165,
832,
26

File diff suppressed because it is too large Load Diff

View File

@@ -73,7 +73,7 @@
[
"get",
1,
15,
14,
1,
22,
11
@@ -96,7 +96,7 @@
[
"put",
3,
15,
14,
1,
22,
17
@@ -111,7 +111,7 @@
[
"get",
5,
15,
14,
1,
23,
23
@@ -972,7 +972,7 @@
[
"get",
5,
12,
17,
1,
47,
9
@@ -1216,7 +1216,7 @@
[
"get",
11,
12,
17,
1,
47,
40
@@ -1637,7 +1637,7 @@
[
"get",
46,
12,
17,
1,
54,
5
@@ -2615,7 +2615,7 @@
[
"get",
34,
14,
13,
1,
80,
12
@@ -3791,7 +3791,7 @@
[
"get",
108,
14,
13,
1,
124,
20
@@ -6700,7 +6700,7 @@
[
"get",
278,
13,
12,
1,
163,
16
@@ -7172,7 +7172,7 @@
[
"get",
303,
13,
12,
1,
167,
18
@@ -9092,7 +9092,7 @@
[
"get",
405,
13,
12,
1,
178,
18
@@ -44816,7 +44816,7 @@
[
"get",
2414,
16,
15,
1,
497,
14
@@ -45096,7 +45096,7 @@
[
"get",
2422,
13,
12,
1,
499,
16
@@ -46975,7 +46975,7 @@
[
"get",
2531,
16,
15,
1,
519,
14
@@ -47255,7 +47255,7 @@
[
"get",
2539,
13,
12,
1,
521,
16
@@ -50060,7 +50060,7 @@
[
"get",
2694,
14,
13,
1,
1,
1
@@ -50668,7 +50668,7 @@
[
"get",
2730,
14,
13,
1,
1,
1
@@ -51412,7 +51412,7 @@
[
"get",
2776,
14,
13,
1,
1,
1
@@ -52227,7 +52227,7 @@
[
"get",
2828,
14,
13,
1,
1,
1
@@ -53042,7 +53042,7 @@
[
"get",
2880,
14,
13,
1,
1,
1
@@ -53786,7 +53786,7 @@
[
"get",
2926,
14,
13,
1,
1,
1
@@ -54530,7 +54530,7 @@
[
"get",
2972,
14,
13,
1,
1,
1
@@ -62492,7 +62492,7 @@
],
[
"move",
12,
17,
20,
9,
19
@@ -62506,7 +62506,7 @@
],
[
"access",
15,
14,
0,
11,
13
@@ -62562,7 +62562,7 @@
],
[
"move",
14,
13,
24,
30,
18
@@ -62576,7 +62576,7 @@
],
[
"move",
13,
12,
25,
46,
20
@@ -62590,7 +62590,7 @@
],
[
"move",
16,
15,
26,
62,
19
@@ -62937,7 +62937,7 @@
],
[
"access",
17,
16,
0,
711,
12
@@ -62953,7 +62953,7 @@
[
"is_int",
50,
17,
16,
712,
22
],
@@ -62969,7 +62969,7 @@
[
"lt_int",
49,
17,
16,
48,
712,
22
@@ -62984,7 +62984,7 @@
[
"is_num",
50,
17,
16,
712,
22
],
@@ -63000,7 +63000,7 @@
[
"lt_float",
49,
17,
16,
48,
712,
22
@@ -63015,7 +63015,7 @@
[
"is_text",
50,
17,
16,
712,
22
],
@@ -63036,7 +63036,7 @@
[
"lt_text",
49,
17,
16,
48,
712,
22
@@ -63065,7 +63065,7 @@
"load_dynamic",
52,
3,
17,
16,
713,
27
],
@@ -63113,14 +63113,14 @@
[
"add",
55,
17,
16,
54,
714,
15
],
[
"move",
17,
16,
55,
714,
15
@@ -63289,7 +63289,7 @@
],
[
"move",
17,
16,
63,
718,
8
@@ -63305,7 +63305,7 @@
[
"is_int",
66,
17,
16,
719,
22
],
@@ -63321,7 +63321,7 @@
[
"lt_int",
65,
17,
16,
64,
719,
22
@@ -63336,7 +63336,7 @@
[
"is_num",
66,
17,
16,
719,
22
],
@@ -63352,7 +63352,7 @@
[
"lt_float",
65,
17,
16,
64,
719,
22
@@ -63367,7 +63367,7 @@
[
"is_text",
66,
17,
16,
719,
22
],
@@ -63388,7 +63388,7 @@
[
"lt_text",
65,
17,
16,
64,
719,
22
@@ -63417,7 +63417,7 @@
"load_dynamic",
68,
6,
17,
16,
720,
22
],
@@ -63465,14 +63465,14 @@
[
"add",
71,
17,
16,
70,
721,
15
],
[
"move",
17,
16,
71,
721,
15

View File

@@ -9,7 +9,7 @@
[
"get",
3,
1,
3,
1,
16,
7
@@ -32,7 +32,7 @@
[
"get",
5,
1,
3,
1,
17,
12
@@ -165,7 +165,7 @@
[
"get",
18,
19,
13,
1,
18,
16
@@ -224,7 +224,7 @@
[
"get",
21,
1,
3,
1,
20,
5
@@ -335,7 +335,7 @@
[
"get",
11,
3,
2,
1,
30,
8
@@ -569,7 +569,7 @@
[
"get",
29,
3,
2,
1,
34,
21
@@ -764,7 +764,7 @@
[
"get",
42,
18,
17,
1,
35,
50
@@ -862,7 +862,7 @@
[
"get",
9,
7,
4,
1,
51,
20
@@ -930,7 +930,7 @@
[
"get",
13,
7,
4,
1,
52,
57
@@ -938,7 +938,7 @@
[
"get",
15,
14,
18,
1,
52,
13
@@ -2234,7 +2234,7 @@
[
"get",
77,
4,
1,
1,
68,
10
@@ -2297,7 +2297,7 @@
[
"get",
8,
8,
11,
1,
72,
18
@@ -2349,7 +2349,7 @@
[
"get",
12,
16,
14,
1,
73,
19
@@ -2664,7 +2664,7 @@
[
"get",
8,
1,
3,
1,
85,
7
@@ -2687,7 +2687,7 @@
[
"get",
10,
1,
3,
1,
86,
12
@@ -2820,7 +2820,7 @@
[
"get",
23,
19,
13,
1,
89,
12
@@ -2879,7 +2879,7 @@
[
"get",
26,
1,
3,
1,
91,
5
@@ -2960,7 +2960,7 @@
[
"get",
34,
3,
2,
1,
97,
7
@@ -3102,7 +3102,7 @@
[
"get",
43,
3,
2,
1,
98,
23
@@ -3297,7 +3297,7 @@
[
"get",
56,
12,
8,
1,
99,
54
@@ -3384,7 +3384,7 @@
[
"get",
61,
1,
3,
1,
100,
5
@@ -3431,7 +3431,7 @@
[
"get",
65,
3,
2,
1,
106,
8
@@ -3638,7 +3638,7 @@
[
"get",
81,
3,
2,
1,
108,
7
@@ -3780,7 +3780,7 @@
[
"get",
90,
3,
2,
1,
109,
19
@@ -3970,7 +3970,7 @@
[
"get",
103,
11,
7,
1,
110,
11
@@ -4035,7 +4035,7 @@
[
"get",
107,
12,
8,
1,
111,
39
@@ -4051,7 +4051,7 @@
[
"get",
109,
13,
10,
1,
111,
14
@@ -4119,7 +4119,7 @@
[
"get",
112,
1,
3,
1,
112,
5
@@ -4256,7 +4256,7 @@
],
[
"move",
18,
17,
20,
0,
0
@@ -4270,7 +4270,7 @@
],
[
"move",
2,
12,
21,
0,
0
@@ -4284,7 +4284,7 @@
],
[
"move",
11,
7,
22,
0,
0
@@ -4298,7 +4298,7 @@
],
[
"move",
13,
10,
23,
0,
0
@@ -4312,7 +4312,7 @@
],
[
"move",
12,
8,
24,
0,
0
@@ -4338,7 +4338,7 @@
],
[
"move",
19,
13,
26,
7,
21
@@ -4353,7 +4353,7 @@
[
"frame",
29,
19,
13,
1,
8,
10
@@ -4389,7 +4389,7 @@
],
[
"move",
3,
2,
28,
8,
10
@@ -4401,7 +4401,7 @@
],
[
"move",
1,
3,
31,
10,
17
@@ -4415,8 +4415,8 @@
],
[
"store_field",
1,
3,
2,
32,
11,
11
@@ -4441,7 +4441,7 @@
],
[
"store_field",
1,
3,
33,
34,
12,
@@ -4467,7 +4467,7 @@
],
[
"store_field",
1,
3,
35,
36,
13,
@@ -4483,7 +4483,7 @@
[
"frame",
39,
2,
12,
1,
38,
20
@@ -4519,7 +4519,7 @@
],
[
"move",
7,
4,
38,
38,
20
@@ -4534,7 +4534,7 @@
[
"frame",
43,
2,
12,
1,
39,
17
@@ -4570,7 +4570,7 @@
],
[
"move",
14,
18,
42,
39,
17
@@ -4585,7 +4585,7 @@
[
"frame",
47,
2,
12,
1,
40,
16
@@ -4621,7 +4621,7 @@
],
[
"move",
4,
1,
46,
40,
16
@@ -4636,7 +4636,7 @@
[
"frame",
51,
2,
12,
1,
41,
17
@@ -4672,7 +4672,7 @@
],
[
"move",
8,
11,
50,
41,
17
@@ -4687,7 +4687,7 @@
[
"frame",
55,
2,
12,
1,
42,
22
@@ -4723,7 +4723,7 @@
],
[
"move",
16,
14,
54,
42,
22
@@ -4737,8 +4737,8 @@
],
[
"store_field",
1,
7,
3,
4,
57,
44,
11
@@ -4752,8 +4752,8 @@
],
[
"store_field",
1,
14,
3,
18,
58,
45,
11
@@ -4767,8 +4767,8 @@
],
[
"store_field",
3,
1,
4,
59,
46,
11
@@ -4782,8 +4782,8 @@
],
[
"store_field",
1,
8,
3,
11,
60,
47,
11
@@ -4797,8 +4797,8 @@
],
[
"store_field",
1,
16,
3,
14,
61,
48,
11
@@ -4845,33 +4845,33 @@
],
[
"move",
6,
9,
65,
122,
17
],
[
"access",
9,
5,
1,
123,
10
],
[
"null",
5,
16,
124,
17
],
[
"null",
10,
6,
125,
14
],
[
"null",
17,
19,
126,
11
],
@@ -4973,7 +4973,7 @@
[
"is_int",
75,
9,
5,
133,
20
],
@@ -4989,7 +4989,7 @@
[
"lt_int",
74,
9,
5,
73,
133,
20
@@ -5004,7 +5004,7 @@
[
"is_num",
75,
9,
5,
133,
20
],
@@ -5020,7 +5020,7 @@
[
"lt_float",
74,
9,
5,
73,
133,
20
@@ -5035,7 +5035,7 @@
[
"is_text",
75,
9,
5,
133,
20
],
@@ -5056,7 +5056,7 @@
[
"lt_text",
74,
9,
5,
73,
133,
20
@@ -5096,14 +5096,14 @@
"load_dynamic",
78,
77,
9,
5,
134,
24
],
[
"is_array",
79,
6,
9,
134,
24
],
@@ -5116,7 +5116,7 @@
],
[
"push",
6,
9,
78,
134,
24
@@ -5144,14 +5144,14 @@
[
"add",
81,
9,
5,
80,
135,
13
],
[
"move",
9,
5,
81,
135,
13
@@ -5180,7 +5180,7 @@
],
[
"move",
5,
16,
83,
138,
23
@@ -5188,7 +5188,7 @@
[
"is_proxy",
85,
3,
2,
139,
6
],
@@ -5222,14 +5222,14 @@
[
"push",
88,
5,
16,
139,
6
],
[
"frame",
89,
3,
2,
2,
139,
6
@@ -5275,7 +5275,7 @@
[
"load_field",
90,
3,
2,
"is_file",
139,
6
@@ -5292,7 +5292,7 @@
"setarg",
91,
0,
3,
2,
139,
6
],
@@ -5300,7 +5300,7 @@
"setarg",
91,
1,
5,
16,
139,
6
],
@@ -5371,7 +5371,7 @@
],
[
"move",
5,
16,
98,
140,
43
@@ -5387,7 +5387,7 @@
[
"is_proxy",
100,
3,
2,
141,
6
],
@@ -5421,14 +5421,14 @@
[
"push",
103,
5,
16,
141,
6
],
[
"frame",
104,
3,
2,
2,
141,
6
@@ -5474,7 +5474,7 @@
[
"load_field",
105,
3,
2,
"is_file",
141,
6
@@ -5491,7 +5491,7 @@
"setarg",
106,
0,
3,
2,
141,
6
],
@@ -5499,7 +5499,7 @@
"setarg",
106,
1,
5,
16,
141,
6
],
@@ -5536,7 +5536,7 @@
],
[
"move",
5,
16,
109,
142,
25
@@ -5544,7 +5544,7 @@
[
"is_proxy",
111,
3,
2,
143,
8
],
@@ -5578,14 +5578,14 @@
[
"push",
114,
5,
16,
143,
8
],
[
"frame",
115,
3,
2,
2,
143,
8
@@ -5631,7 +5631,7 @@
[
"load_field",
116,
3,
2,
"is_file",
143,
8
@@ -5648,7 +5648,7 @@
"setarg",
117,
0,
3,
2,
143,
8
],
@@ -5656,7 +5656,7 @@
"setarg",
117,
1,
5,
16,
143,
8
],
@@ -5727,7 +5727,7 @@
],
[
"move",
5,
16,
124,
144,
45
@@ -5751,7 +5751,7 @@
[
"is_proxy",
126,
3,
2,
146,
6
],
@@ -5785,14 +5785,14 @@
[
"push",
129,
5,
16,
146,
6
],
[
"frame",
130,
3,
2,
2,
146,
6
@@ -5838,7 +5838,7 @@
[
"load_field",
131,
3,
2,
"is_file",
146,
6
@@ -5855,7 +5855,7 @@
"setarg",
132,
0,
3,
2,
146,
6
],
@@ -5863,7 +5863,7 @@
"setarg",
132,
1,
5,
16,
146,
6
],
@@ -5977,7 +5977,7 @@
[
"is_proxy",
143,
3,
2,
151,
15
],
@@ -6011,14 +6011,14 @@
[
"push",
146,
5,
16,
151,
15
],
[
"frame",
147,
3,
2,
2,
151,
15
@@ -6064,7 +6064,7 @@
[
"load_field",
148,
3,
2,
"slurp",
151,
15
@@ -6081,7 +6081,7 @@
"setarg",
149,
0,
3,
2,
151,
15
],
@@ -6089,7 +6089,7 @@
"setarg",
149,
1,
5,
16,
151,
15
],
@@ -6151,7 +6151,7 @@
],
[
"move",
10,
6,
150,
151,
10
@@ -6159,7 +6159,7 @@
[
"frame",
155,
11,
7,
2,
152,
7
@@ -6182,7 +6182,7 @@
"setarg",
155,
1,
10,
6,
152,
7
],
@@ -6190,7 +6190,7 @@
"setarg",
155,
2,
5,
16,
152,
7
],
@@ -6203,7 +6203,7 @@
],
[
"move",
17,
19,
154,
152,
7
@@ -6216,7 +6216,7 @@
[
"store_field",
157,
12,
8,
"use",
153,
29
@@ -6224,7 +6224,7 @@
[
"store_field",
157,
6,
9,
"args",
153,
43
@@ -6232,7 +6232,7 @@
[
"frame",
159,
13,
10,
3,
153,
1
@@ -6263,7 +6263,7 @@
"setarg",
159,
2,
17,
19,
153,
1
],

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -45,39 +45,39 @@
],
[
"move",
10,
9,
14,
152,
16
],
[
"access",
11,
10,
0,
153,
11
],
[
"null",
6,
5,
154,
15
],
[
"null",
8,
7,
155,
12
],
[
"null",
5,
11,
156,
19
],
[
"access",
9,
8,
0,
157,
11
@@ -90,7 +90,7 @@
],
[
"null",
7,
6,
159,
13
],
@@ -304,7 +304,7 @@
],
[
"return",
10,
9,
161,
36
],
@@ -322,7 +322,7 @@
[
"is_int",
21,
11,
10,
163,
21
],
@@ -338,7 +338,7 @@
[
"lt_int",
20,
11,
10,
19,
163,
21
@@ -353,7 +353,7 @@
[
"is_num",
21,
11,
10,
163,
21
],
@@ -369,7 +369,7 @@
[
"lt_float",
20,
11,
10,
19,
163,
21
@@ -384,7 +384,7 @@
[
"is_text",
21,
11,
10,
163,
21
],
@@ -405,7 +405,7 @@
[
"lt_text",
20,
11,
10,
19,
163,
21
@@ -434,13 +434,13 @@
"load_dynamic",
23,
3,
11,
10,
164,
26
],
[
"move",
6,
5,
23,
164,
26
@@ -448,7 +448,7 @@
[
"is_array",
24,
6,
5,
165,
18
],
@@ -469,14 +469,14 @@
[
"load_index",
26,
6,
5,
25,
166,
18
],
[
"move",
8,
7,
26,
166,
18
@@ -484,7 +484,7 @@
[
"get",
27,
2,
3,
1,
167,
19
@@ -493,13 +493,13 @@
"load_dynamic",
28,
27,
8,
7,
167,
34
],
[
"move",
5,
11,
28,
167,
34
@@ -513,7 +513,7 @@
[
"is_identical",
30,
5,
11,
29,
168,
24
@@ -548,7 +548,7 @@
[
"is_int",
31,
5,
11,
168,
24
],
@@ -569,7 +569,7 @@
[
"ne_int",
30,
5,
11,
29,
168,
24
@@ -584,7 +584,7 @@
[
"is_num",
31,
5,
11,
168,
24
],
@@ -605,7 +605,7 @@
[
"ne_float",
30,
5,
11,
29,
168,
24
@@ -620,7 +620,7 @@
[
"is_text",
31,
5,
11,
168,
24
],
@@ -641,7 +641,7 @@
[
"ne_text",
30,
5,
11,
29,
168,
24
@@ -656,7 +656,7 @@
[
"is_null",
31,
5,
11,
168,
24
],
@@ -685,7 +685,7 @@
[
"is_bool",
31,
5,
11,
168,
24
],
@@ -706,7 +706,7 @@
[
"ne_bool",
30,
5,
11,
29,
168,
24
@@ -741,7 +741,7 @@
],
[
"move",
9,
8,
33,
169,
13
@@ -750,14 +750,14 @@
[
"length",
34,
5,
11,
170,
27
],
[
"is_int",
36,
9,
8,
170,
27
],
@@ -773,7 +773,7 @@
[
"lt_int",
35,
9,
8,
34,
170,
27
@@ -788,7 +788,7 @@
[
"is_num",
36,
9,
8,
170,
27
],
@@ -804,7 +804,7 @@
[
"lt_float",
35,
9,
8,
34,
170,
27
@@ -819,7 +819,7 @@
[
"is_text",
36,
9,
8,
170,
27
],
@@ -840,7 +840,7 @@
[
"lt_text",
35,
9,
8,
34,
170,
27
@@ -868,8 +868,8 @@
[
"load_dynamic",
38,
5,
9,
11,
8,
171,
27
],
@@ -898,7 +898,7 @@
[
"length",
41,
6,
5,
172,
28
],
@@ -1062,14 +1062,14 @@
[
"load_dynamic",
47,
6,
5,
4,
173,
25
],
[
"move",
7,
6,
47,
173,
25
@@ -1077,7 +1077,7 @@
[
"is_num",
48,
7,
6,
174,
27
],
@@ -1105,7 +1105,7 @@
[
"is_int",
52,
7,
6,
174,
42
],
@@ -1126,7 +1126,7 @@
[
"lt_int",
51,
7,
6,
50,
174,
42
@@ -1141,7 +1141,7 @@
[
"is_num",
52,
7,
6,
174,
42
],
@@ -1157,7 +1157,7 @@
[
"lt_float",
51,
7,
6,
50,
174,
42
@@ -1172,7 +1172,7 @@
[
"is_text",
52,
7,
6,
174,
42
],
@@ -1193,7 +1193,7 @@
[
"lt_text",
51,
7,
6,
50,
174,
42
@@ -1228,7 +1228,7 @@
[
"is_int",
56,
7,
6,
174,
54
],
@@ -1256,7 +1256,7 @@
[
"ge_int",
55,
7,
6,
2,
174,
54
@@ -1271,7 +1271,7 @@
[
"is_num",
56,
7,
6,
174,
54
],
@@ -1299,7 +1299,7 @@
[
"ge_float",
55,
7,
6,
2,
174,
54
@@ -1314,7 +1314,7 @@
[
"is_text",
56,
7,
6,
174,
54
],
@@ -1342,7 +1342,7 @@
[
"ge_text",
55,
7,
6,
2,
174,
54
@@ -1420,7 +1420,7 @@
"setarg",
60,
1,
11,
10,
1,
1
],
@@ -1434,8 +1434,8 @@
[
"load_dynamic",
62,
5,
9,
11,
8,
1,
16
],
@@ -1524,7 +1524,7 @@
"setarg",
69,
1,
7,
6,
1,
1
],
@@ -1615,7 +1615,7 @@
[
"push",
77,
8,
7,
1,
1
],
@@ -1706,7 +1706,7 @@
[
"is_array",
83,
10,
9,
1,
1
],
@@ -1719,7 +1719,7 @@
],
[
"push",
10,
9,
80,
1,
1
@@ -1763,14 +1763,14 @@
[
"add",
85,
9,
8,
84,
178,
19
],
[
"move",
9,
8,
85,
178,
19
@@ -1808,14 +1808,14 @@
[
"add",
87,
11,
10,
86,
182,
13
],
[
"move",
11,
10,
87,
182,
13
@@ -1829,7 +1829,7 @@
"while_end_9",
[
"return",
10,
9,
184,
10
],
@@ -1907,13 +1907,13 @@
],
[
"null",
5,
3,
196,
19
],
[
"null",
3,
5,
197,
16
],
@@ -2612,7 +2612,7 @@
[
"get",
42,
5,
7,
1,
216,
19
@@ -2627,7 +2627,7 @@
],
[
"move",
5,
3,
43,
216,
34
@@ -2641,7 +2641,7 @@
[
"is_identical",
45,
5,
3,
44,
217,
24
@@ -2676,7 +2676,7 @@
[
"is_int",
46,
5,
3,
217,
24
],
@@ -2697,7 +2697,7 @@
[
"ne_int",
45,
5,
3,
44,
217,
24
@@ -2712,7 +2712,7 @@
[
"is_num",
46,
5,
3,
217,
24
],
@@ -2733,7 +2733,7 @@
[
"ne_float",
45,
5,
3,
44,
217,
24
@@ -2748,7 +2748,7 @@
[
"is_text",
46,
5,
3,
217,
24
],
@@ -2769,7 +2769,7 @@
[
"ne_text",
45,
5,
3,
44,
217,
24
@@ -2784,7 +2784,7 @@
[
"is_null",
46,
5,
3,
217,
24
],
@@ -2813,7 +2813,7 @@
[
"is_bool",
46,
5,
3,
217,
24
],
@@ -2834,7 +2834,7 @@
[
"ne_bool",
45,
5,
3,
44,
217,
24
@@ -2870,7 +2870,7 @@
[
"add",
49,
5,
3,
48,
218,
36
@@ -2885,7 +2885,7 @@
],
[
"move",
3,
5,
50,
218,
36
@@ -2893,7 +2893,7 @@
[
"is_text",
51,
3,
5,
219,
21
],
@@ -2915,7 +2915,7 @@
"load_dynamic",
53,
2,
3,
5,
219,
39
],
@@ -3227,7 +3227,7 @@
[
"push",
62,
3,
5,
1,
1
],
@@ -14364,7 +14364,7 @@
[
"get",
409,
1,
6,
1,
348,
9
@@ -16256,7 +16256,7 @@
[
"get",
41,
5,
7,
1,
393,
19
@@ -17612,7 +17612,7 @@
[
"get",
26,
8,
1,
1,
415,
18
@@ -17959,7 +17959,7 @@
[
"get",
45,
3,
4,
1,
422,
18
@@ -18306,7 +18306,7 @@
[
"get",
64,
4,
5,
1,
429,
18
@@ -18653,7 +18653,7 @@
[
"get",
83,
6,
2,
1,
436,
18
@@ -23255,7 +23255,7 @@
],
[
"move",
2,
3,
9,
108,
15
@@ -24317,7 +24317,7 @@
],
[
"move",
1,
6,
306,
133,
16
@@ -24389,7 +24389,7 @@
],
[
"move",
5,
7,
382,
144,
18
@@ -24403,7 +24403,7 @@
],
[
"move",
8,
1,
387,
149,
25
@@ -24417,7 +24417,7 @@
],
[
"move",
3,
4,
388,
189,
26
@@ -24431,7 +24431,7 @@
],
[
"move",
4,
5,
389,
231,
30
@@ -24445,7 +24445,7 @@
],
[
"move",
6,
2,
390,
366,
29
@@ -24459,7 +24459,7 @@
],
[
"move",
7,
8,
391,
408,
18
@@ -24472,7 +24472,7 @@
[
"store_field",
392,
7,
8,
"verify_all",
447,
15
@@ -24480,7 +24480,7 @@
[
"store_field",
392,
8,
1,
"check_slot_bounds",
448,
22
@@ -24488,7 +24488,7 @@
[
"store_field",
392,
3,
4,
"check_jump_targets",
449,
23
@@ -24496,7 +24496,7 @@
[
"store_field",
392,
4,
5,
"check_type_consistency",
450,
27
@@ -24504,7 +24504,7 @@
[
"store_field",
392,
6,
2,
"check_nop_consistency",
451,
26

View File

@@ -376,6 +376,7 @@ static void print_usage(const char *prog)
printf(" --core <path> Set core path directly (overrides CELL_CORE)\n");
printf(" --shop <path> Set shop path (overrides CELL_SHOP)\n");
printf(" --dev Dev mode (shop=.cell, core=.)\n");
printf(" --heap <size> Initial heap size (e.g. 256MB, 1GB)\n");
printf(" --seed Use seed bootstrap (minimal, for regen)\n");
printf(" --test [heap_size] Run C test suite\n");
printf(" -h, --help Show this help message\n");
@@ -410,6 +411,7 @@ int cell_init(int argc, char **argv)
/* Default: run script through bootstrap pipeline */
int arg_start = 1;
int seed_mode = 0;
size_t heap_size = 1024 * 1024; /* 1MB default */
const char *shop_override = NULL;
const char *core_override = NULL;
@@ -432,6 +434,17 @@ int cell_init(int argc, char **argv)
} else if (strcmp(argv[arg_start], "--seed") == 0) {
seed_mode = 1;
arg_start++;
} else if (strcmp(argv[arg_start], "--heap") == 0) {
if (arg_start + 1 >= argc) {
printf("ERROR: --heap requires a size argument (e.g. 1GB, 256MB, 65536)\n");
return 1;
}
char *end = NULL;
heap_size = strtoull(argv[arg_start + 1], &end, 0);
if (end && (*end == 'G' || *end == 'g')) heap_size *= 1024ULL * 1024 * 1024;
else if (end && (*end == 'M' || *end == 'm')) heap_size *= 1024ULL * 1024;
else if (end && (*end == 'K' || *end == 'k')) heap_size *= 1024ULL;
arg_start += 2;
} else if (strcmp(argv[arg_start], "--dev") == 0) {
shop_override = ".cell";
core_override = ".";
@@ -480,7 +493,7 @@ int cell_init(int argc, char **argv)
free(bin_data);
return 1;
}
JSContext *ctx = JS_NewContextWithHeapSize(g_runtime, 1024 * 1024);
JSContext *ctx = JS_NewContextWithHeapSize(g_runtime, heap_size);
if (!ctx) {
printf("Failed to create JS context\n");
free(bin_data); JS_FreeRuntime(g_runtime);

View File

@@ -424,9 +424,8 @@ var streamline = function(ir, log) {
var eliminate_type_checks = function(func, param_types, write_types, log) {
var instructions = func.instructions
var nr_args = func.nr_args != null ? func.nr_args : 0
var has_params = false
var has_writes = false
var num_instr = 0
var base_types = null
var slot_types = null
var nc = 0
var i = 0
@@ -453,35 +452,32 @@ var streamline = function(ir, log) {
}
num_instr = length(instructions)
// Pre-compute base types: params + write-invariant types
base_types = array(func.nr_slots)
j = 1
while (j <= nr_args) {
if (param_types[j] != null) {
has_params = true
base_types[j] = param_types[j]
}
j = j + 1
}
j = 0
while (j < length(write_types)) {
if (write_types[j] != null) {
base_types[j] = write_types[j]
}
j = j + 1
}
has_writes = some(write_types, function(x) { return x != null })
slot_types = array(func.nr_slots)
if (has_params) {
seed_params(slot_types, param_types, nr_args)
}
if (has_writes) {
seed_writes(slot_types, write_types)
}
slot_types = array(base_types)
i = 0
while (i < num_instr) {
instr = instructions[i]
if (is_text(instr)) {
slot_types = array(func.nr_slots)
if (has_params) {
seed_params(slot_types, param_types, nr_args)
}
if (has_writes) {
seed_writes(slot_types, write_types)
}
slot_types = array(base_types)
i = i + 1
continue
}