Commit 2569dcd
authored
Make chunk map as global side metadata, and each space only lists its own chunks using chunk map (#1304)
The chunk map records the lowest chunk and the highest chunk used by a
space, and accesses all the chunk states (local side metadata) in the
range. There are multiple issues when we use discontiguous spaces.
1. Chunks in the range may be ~~used~~ unused, thus the local side
metadata may be unmapped.
2. Chunks in the range may belong to other spaces. If other spaces also
use the chunk map, they will list all the chunks even when the chunks do
not belong to the space.
This PR makes the chunk state side metadata as a global side metadata.
We need the chunk map for plans that use the chunk map. As we will use
mark sweep or nonmoving immix as the non moving policy, they both use
the chunk map, and the non moving policy is included in every plan, we
just include the side metadata for every plan.
This PR fixes #1197.1 parent 5c1c8b1 commit 2569dcd
File tree
8 files changed
+156
-59
lines changed- src
- policy
- immix
- marksweepspace/native_ms
- util
- heap
- metadata/side_metadata
- vm/tests/mock_tests
8 files changed
+156
-59
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
254 | 254 | | |
255 | 255 | | |
256 | 256 | | |
257 | | - | |
258 | 257 | | |
259 | 258 | | |
260 | 259 | | |
| |||
266 | 265 | | |
267 | 266 | | |
268 | 267 | | |
269 | | - | |
270 | 268 | | |
271 | 269 | | |
272 | 270 | | |
| |||
315 | 313 | | |
316 | 314 | | |
317 | 315 | | |
| 316 | + | |
318 | 317 | | |
319 | 318 | | |
320 | 319 | | |
| |||
332 | 331 | | |
333 | 332 | | |
334 | 333 | | |
335 | | - | |
| 334 | + | |
336 | 335 | | |
337 | 336 | | |
338 | 337 | | |
| |||
541 | 540 | | |
542 | 541 | | |
543 | 542 | | |
544 | | - | |
| 543 | + | |
545 | 544 | | |
546 | 545 | | |
547 | 546 | | |
| |||
928 | 927 | | |
929 | 928 | | |
930 | 929 | | |
931 | | - | |
| 930 | + | |
932 | 931 | | |
933 | 932 | | |
934 | 933 | | |
| |||
979 | 978 | | |
980 | 979 | | |
981 | 980 | | |
982 | | - | |
| 981 | + | |
983 | 982 | | |
984 | 983 | | |
985 | 984 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
288 | 288 | | |
289 | 289 | | |
290 | 290 | | |
291 | | - | |
| 291 | + | |
292 | 292 | | |
293 | 293 | | |
294 | 294 | | |
| |||
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
303 | | - | |
304 | 303 | | |
305 | 304 | | |
306 | 305 | | |
307 | 306 | | |
| 307 | + | |
308 | 308 | | |
309 | 309 | | |
310 | 310 | | |
| |||
322 | 322 | | |
323 | 323 | | |
324 | 324 | | |
325 | | - | |
| 325 | + | |
326 | 326 | | |
327 | 327 | | |
328 | 328 | | |
| |||
402 | 402 | | |
403 | 403 | | |
404 | 404 | | |
405 | | - | |
| 405 | + | |
406 | 406 | | |
407 | 407 | | |
408 | 408 | | |
| |||
567 | 567 | | |
568 | 568 | | |
569 | 569 | | |
570 | | - | |
| 570 | + | |
571 | 571 | | |
572 | 572 | | |
573 | 573 | | |
| |||
581 | 581 | | |
582 | 582 | | |
583 | 583 | | |
584 | | - | |
| 584 | + | |
585 | 585 | | |
586 | 586 | | |
587 | 587 | | |
| |||
617 | 617 | | |
618 | 618 | | |
619 | 619 | | |
620 | | - | |
| 620 | + | |
621 | 621 | | |
622 | 622 | | |
623 | 623 | | |
| |||
636 | 636 | | |
637 | 637 | | |
638 | 638 | | |
639 | | - | |
| 639 | + | |
640 | 640 | | |
641 | 641 | | |
642 | 642 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
55 | 94 | | |
56 | 95 | | |
57 | 96 | | |
58 | 97 | | |
59 | | - | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
60 | 101 | | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
61 | 109 | | |
62 | 110 | | |
63 | 111 | | |
| |||
66 | 114 | | |
67 | 115 | | |
68 | 116 | | |
69 | | - | |
| 117 | + | |
70 | 118 | | |
| 119 | + | |
71 | 120 | | |
72 | 121 | | |
73 | 122 | | |
74 | 123 | | |
75 | | - | |
76 | | - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
77 | 131 | | |
78 | | - | |
| 132 | + | |
79 | 133 | | |
80 | 134 | | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
81 | 147 | | |
82 | | - | |
| 148 | + | |
83 | 149 | | |
84 | | - | |
| 150 | + | |
85 | 151 | | |
86 | 152 | | |
87 | 153 | | |
| |||
96 | 162 | | |
97 | 163 | | |
98 | 164 | | |
99 | | - | |
100 | | - | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
101 | 173 | | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
| 174 | + | |
107 | 175 | | |
108 | 176 | | |
109 | | - | |
110 | | - | |
| 177 | + | |
| 178 | + | |
111 | 179 | | |
112 | 180 | | |
| 181 | + | |
113 | 182 | | |
114 | 183 | | |
115 | 184 | | |
| |||
118 | 187 | | |
119 | 188 | | |
120 | 189 | | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
| 190 | + | |
125 | 191 | | |
126 | 192 | | |
127 | 193 | | |
128 | 194 | | |
129 | 195 | | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1345 | 1345 | | |
1346 | 1346 | | |
1347 | 1347 | | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
1348 | 1353 | | |
1349 | 1354 | | |
1350 | 1355 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
| 64 | + | |
63 | 65 | | |
64 | 66 | | |
65 | 67 | | |
| |||
75 | 77 | | |
76 | 78 | | |
77 | 79 | | |
78 | | - | |
79 | | - | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
| 8 | + | |
12 | 9 | | |
13 | 10 | | |
14 | 11 | | |
| |||
85 | 82 | | |
86 | 83 | | |
87 | 84 | | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
93 | 88 | | |
94 | 89 | | |
95 | 90 | | |
| |||
0 commit comments