Module mmtk::policy::immix

source ·

Re-exports§

Modules§

Macros§

Constants§

  • Mark/sweep memory for block-level only
  • Do we allow Immix to do defragmentation?
  • Mark every allocated block as defragmentation source before GC. (for debugging)
  • Percentage of heap size reserved for defragmentation. According to this paper, Immix works well with headroom between 1% to 3% of the heap size.
  • Mark lines when scanning objects. Otherwise, do it at mark time.
  • The max object size for immix: half of a block
  • In some cases/settings, Immix may never move objects. Currently we only have two cases where we move objects: 1. defrag, 2. nursery copy. If we do neither, we will not move objects. If we have other reasons to move objects, we need to add them here.
  • If Immix is used as a nursery space, do we prefer copy?
  • Make every GC a defragment GC. (for debugging)

Functions§