fixing gc bugs; nearly idempotent

This commit is contained in:
2026-02-15 13:14:26 -06:00
parent 7de20b39da
commit ebd624b772
22 changed files with 656663 additions and 184850 deletions

View File

@@ -1607,7 +1607,7 @@
[
"get",
3,
27,
15,
1,
1,
1
@@ -1892,7 +1892,7 @@
[
"get",
3,
27,
15,
1,
1,
1
@@ -3354,7 +3354,7 @@
[
"get",
14,
42,
43,
1,
249,
22
@@ -3369,7 +3369,7 @@
[
"get",
15,
42,
43,
1,
250,
18
@@ -3490,7 +3490,7 @@
[
"get",
24,
59,
60,
1,
255,
20
@@ -3536,7 +3536,7 @@
[
"get",
27,
59,
60,
1,
258,
16
@@ -4606,7 +4606,7 @@
[
"record",
5,
0
5
],
[
"access",
@@ -4778,7 +4778,7 @@
[
"record",
5,
0
5
],
[
"access",
@@ -4950,7 +4950,7 @@
[
"record",
5,
0
5
],
[
"access",
@@ -5122,7 +5122,7 @@
[
"record",
5,
0
5
],
[
"access",
@@ -5294,7 +5294,7 @@
[
"record",
5,
0
5
],
[
"access",
@@ -5466,7 +5466,7 @@
[
"record",
5,
0
5
],
[
"access",
@@ -7829,7 +7829,7 @@
[
"get",
6,
44,
45,
1,
470,
15
@@ -8016,7 +8016,7 @@
[
"put",
5,
44,
45,
1,
478,
48
@@ -8024,7 +8024,7 @@
[
"get",
7,
71,
28,
1,
478,
58
@@ -8118,7 +8118,7 @@
[
"put",
5,
44,
45,
1,
479,
48
@@ -8126,7 +8126,7 @@
[
"get",
7,
71,
28,
1,
479,
58
@@ -8220,7 +8220,7 @@
[
"put",
5,
44,
45,
1,
480,
48
@@ -8228,7 +8228,7 @@
[
"get",
7,
71,
28,
1,
480,
58
@@ -8322,7 +8322,7 @@
[
"put",
5,
44,
45,
1,
481,
48
@@ -8330,7 +8330,7 @@
[
"get",
7,
71,
28,
1,
481,
58
@@ -8424,7 +8424,7 @@
[
"put",
5,
44,
45,
1,
482,
48
@@ -8432,7 +8432,7 @@
[
"get",
7,
71,
28,
1,
482,
58
@@ -8526,7 +8526,7 @@
[
"put",
5,
44,
45,
1,
483,
48
@@ -8534,7 +8534,7 @@
[
"get",
7,
71,
28,
1,
483,
58
@@ -8621,7 +8621,7 @@
[
"get",
7,
44,
45,
1,
488,
16
@@ -8844,7 +8844,7 @@
[
"put",
5,
44,
45,
1,
498,
47
@@ -8867,7 +8867,7 @@
[
"get",
8,
7,
8,
1,
498,
73
@@ -8961,7 +8961,7 @@
[
"put",
5,
44,
45,
1,
499,
47
@@ -8984,7 +8984,7 @@
[
"get",
8,
7,
8,
1,
499,
73
@@ -9078,7 +9078,7 @@
[
"put",
5,
44,
45,
1,
500,
47
@@ -9101,7 +9101,7 @@
[
"get",
8,
7,
8,
1,
500,
74
@@ -9195,7 +9195,7 @@
[
"put",
5,
44,
45,
1,
501,
47
@@ -9218,7 +9218,7 @@
[
"get",
8,
7,
8,
1,
501,
74
@@ -9312,7 +9312,7 @@
[
"put",
5,
44,
45,
1,
502,
47
@@ -9335,7 +9335,7 @@
[
"get",
8,
7,
8,
1,
502,
74
@@ -9429,7 +9429,7 @@
[
"put",
5,
44,
45,
1,
503,
47
@@ -9452,7 +9452,7 @@
[
"get",
8,
7,
8,
1,
503,
74
@@ -9986,9 +9986,8 @@
}
],
"main": {
"nr_args": 0,
"nr_slots": 143,
"nr_close_slots": 0,
"nr_slots": 142,
"instructions": [
[
"access",
@@ -9999,35 +9998,35 @@
],
[
"access",
42,
43,
3,
11,
16
],
[
"access",
59,
60,
35,
12,
15
],
[
"access",
43,
44,
15,
13,
20
],
[
"access",
61,
41,
27,
14,
21
],
[
"null",
44,
45,
17,
12
],
@@ -10045,7 +10044,7 @@
],
[
"access",
27,
15,
4503599627370495,
23,
21
@@ -10073,7 +10072,7 @@
],
[
"move",
15,
13,
75,
35,
17
@@ -10087,7 +10086,7 @@
],
[
"move",
53,
54,
76,
44,
15
@@ -10115,7 +10114,7 @@
],
[
"move",
48,
49,
78,
56,
20
@@ -10143,7 +10142,7 @@
],
[
"move",
65,
61,
80,
68,
19
@@ -10199,7 +10198,7 @@
],
[
"move",
13,
12,
84,
125,
15
@@ -10213,7 +10212,7 @@
],
[
"move",
12,
71,
85,
132,
19
@@ -10241,7 +10240,7 @@
],
[
"move",
41,
42,
87,
188,
15
@@ -10255,7 +10254,7 @@
],
[
"move",
60,
62,
88,
195,
16
@@ -10297,7 +10296,7 @@
],
[
"move",
5,
4,
91,
218,
11
@@ -10325,7 +10324,7 @@
],
[
"move",
50,
51,
93,
228,
11
@@ -10381,7 +10380,7 @@
],
[
"move",
62,
63,
97,
338,
10
@@ -10395,7 +10394,7 @@
],
[
"move",
45,
46,
98,
343,
10
@@ -10423,7 +10422,7 @@
],
[
"move",
63,
64,
100,
353,
10
@@ -10437,7 +10436,7 @@
],
[
"move",
64,
65,
101,
358,
10
@@ -10451,7 +10450,7 @@
],
[
"move",
51,
52,
102,
368,
11
@@ -10479,7 +10478,7 @@
],
[
"move",
28,
27,
104,
380,
11
@@ -10507,7 +10506,7 @@
],
[
"move",
54,
55,
106,
396,
12
@@ -10535,7 +10534,7 @@
],
[
"move",
56,
57,
108,
411,
11
@@ -10549,7 +10548,7 @@
],
[
"move",
47,
48,
109,
416,
12
@@ -10563,7 +10562,7 @@
],
[
"move",
52,
53,
110,
421,
11
@@ -10605,7 +10604,7 @@
],
[
"move",
4,
5,
113,
442,
14
@@ -10703,7 +10702,7 @@
],
[
"move",
8,
7,
120,
465,
14
@@ -10717,7 +10716,7 @@
],
[
"move",
71,
28,
121,
469,
17
@@ -10773,7 +10772,7 @@
],
[
"move",
57,
58,
125,
481,
16
@@ -10801,7 +10800,7 @@
],
[
"move",
46,
47,
127,
483,
16
@@ -10815,7 +10814,7 @@
],
[
"move",
7,
8,
128,
487,
16
@@ -10913,7 +10912,7 @@
],
[
"move",
55,
56,
135,
506,
15
@@ -10927,7 +10926,7 @@
],
[
"move",
49,
50,
136,
514,
15
@@ -10941,7 +10940,7 @@
],
[
"move",
58,
59,
137,
523,
20
@@ -10949,7 +10948,7 @@
[
"record",
138,
0
65
],
[
"access",
@@ -10969,7 +10968,7 @@
[
"store_field",
138,
42,
43,
"js_false",
538,
13
@@ -10977,7 +10976,7 @@
[
"store_field",
138,
59,
60,
"js_true",
539,
12
@@ -10997,10 +10996,17 @@
540,
17
],
[
"access",
141,
27,
541,
18
],
[
"store_field",
138,
61,
141,
"js_empty_text",
541,
18
@@ -11016,7 +11022,7 @@
[
"store_field",
138,
15,
13,
"is_number",
544,
14
@@ -11024,7 +11030,7 @@
[
"store_field",
138,
53,
54,
"is_null",
545,
12
@@ -11040,7 +11046,7 @@
[
"store_field",
138,
48,
49,
"is_exception",
547,
17
@@ -11056,7 +11062,7 @@
[
"store_field",
138,
65,
61,
"is_imm_text",
549,
16
@@ -11088,7 +11094,7 @@
[
"store_field",
138,
13,
12,
"get_ptr",
554,
12
@@ -11096,7 +11102,7 @@
[
"store_field",
138,
12,
71,
"get_float64",
555,
16
@@ -11112,7 +11118,7 @@
[
"store_field",
138,
41,
42,
"new_int",
558,
12
@@ -11120,7 +11126,7 @@
[
"store_field",
138,
60,
62,
"new_bool",
559,
13
@@ -11144,7 +11150,7 @@
[
"store_field",
138,
5,
4,
"sub",
563,
8
@@ -11160,7 +11166,7 @@
[
"store_field",
138,
50,
51,
"div",
565,
8
@@ -11184,7 +11190,7 @@
[
"store_field",
138,
62,
63,
"ne",
569,
7
@@ -11192,7 +11198,7 @@
[
"store_field",
138,
45,
46,
"lt",
570,
7
@@ -11208,7 +11214,7 @@
[
"store_field",
138,
63,
64,
"gt",
572,
7
@@ -11216,7 +11222,7 @@
[
"store_field",
138,
64,
65,
"ge",
573,
7
@@ -11224,7 +11230,7 @@
[
"store_field",
138,
51,
52,
"neg",
575,
8
@@ -11240,7 +11246,7 @@
[
"store_field",
138,
28,
27,
"dec",
577,
8
@@ -11256,7 +11262,7 @@
[
"store_field",
138,
54,
55,
"bnot",
579,
9
@@ -11272,7 +11278,7 @@
[
"store_field",
138,
56,
57,
"bor",
582,
8
@@ -11280,7 +11286,7 @@
[
"store_field",
138,
47,
48,
"bxor",
583,
9
@@ -11288,7 +11294,7 @@
[
"store_field",
138,
52,
53,
"shl",
584,
8
@@ -11312,7 +11318,7 @@
[
"store_field",
138,
4,
5,
"concat",
588,
11
@@ -11360,7 +11366,7 @@
[
"store_field",
138,
8,
7,
"ge_int",
595,
11
@@ -11392,7 +11398,7 @@
[
"store_field",
138,
57,
58,
"le_float",
600,
13
@@ -11408,7 +11414,7 @@
[
"store_field",
138,
46,
47,
"ge_float",
602,
13
@@ -11464,7 +11470,7 @@
[
"store_field",
138,
55,
56,
"eq_bool",
611,
12
@@ -11472,7 +11478,7 @@
[
"store_field",
138,
49,
50,
"ne_bool",
612,
12
@@ -11480,7 +11486,7 @@
[
"store_field",
138,
58,
59,
"is_identical",
614,
17
@@ -11493,7 +11499,8 @@
],
"_nop_ur_1",
"_nop_ur_2"
]
],
"nr_args": 0
},
"filename": "qbe.cm",
"data": {}