Skip to content
  • Ben Gamari's avatar
    nonmoving: Don't do two passes over large and compact object lists · 495397b4
    Ben Gamari authored
    Previously we would first move the new objects to their appropriate
    non-moving GC list, then do another pass over that list to clear their
    mark bits. This is needlessly expensive. First clear the mark bits of
    the existing objects, then add the newly evacuated objects and, at the
    same time, clear their mark bits.
    
    This cuts the preparatory GC time in half for the Pusher benchmark with
    a large queue size.
    495397b4