Uh oh!
There was an error while loading. Please reload this page.
Make sure we at least sweep the loh even when we wanted to compact it - #74626
Make sure we at least sweep the loh even when we wanted to compact it#74626cshung wants to merge 1 commit into
Conversation
ghost
commented
Aug 26, 2022
Tagging subscribers to this area: @dotnet/gc Issue DetailsFor regions, it is possible for This is causing a problem for LOH compaction because we are expecting the LOH is already swept at this point or it will be compacted in the compact_phase, but neither will happen if This fix will make sure the LOH is swept if that happened. This is important to make sure the mark bits are reset for LOH.
|
Maoni0
commented
Sep 7, 2022
we shouldn't be reverting the loh_compacted_p here because we would have already done the work of planning loh earlier which would be pointless to do. I think we should move the code that does I noticed this suspicious line -
this should be done for all heaps, not just heap0. I think when I wrote this code I meant just for the decay to be reduced on heap0 but used on all heaps. but that's just not worth it. we might as well make |
7639dbd to
137c82cCompare137c82c to
173a63dCompare173a63d to
5427f49Comparecshung
commented
Sep 27, 2022
Move the deletion of the pin queue later as well |
5427f49 to
21c9835Compare
For regions, it is possible for
special_sweep_pto override the behavior ofis_compaction_mandatorywhen all heaps are joining to make the decision whether to sweep or to compact.This is causing a problem for LOH compaction because we are expecting the LOH is already swept at this point or it will be compacted in the
compact_phase, but neither will happen ifloh_compacted_pistruebut got overridden byspecial_sweep_p.This fix will make sure the LOH is swept if that happened. This is important to make sure the mark bits are reset for LOH.