Skip to content
  • Ben Gamari's avatar
    nonmoving: Clear filled segment bitmaps during sweep · fa930827
    Ben Gamari authored
    Previously we would clear the bitmaps of all filled segments during the
    preparatory pause. However, this means we would do O(heap size) work
    during the preparatory pause resulting in poor pause times.
    
    This refactors things to rather clear filled segments' bitmaps during the
    (concurrent) sweep phase. This means that during the preparatory pause
    we now only need to clear the bitmaps of segments that were recently
    filled due to evacuation.
    
    The idea is that instead of adding filled segments to the filled segment
    list, sweep rather adds them directly back to the sweep list, where they
    will be picked up by the next major GC.
    fa930827