DuckLogic/zerogc

Implement a Generational Garbage Collector

Techcable opened this issue · 0 comments

Implement a heavy-duty generational garbage collector. This should significantly improve performance for applications where allocations are frequent. It is intended primarily for use in language VMs and JITs (#12).

Tasks

  • Basic Implementation
  • Use card tables for efficient write barriers
  • Extremely efficent bump-pointer allocation for new generation
    • Properly relocate pointers
  • Handle "humongous objects" properly
    • Most GCs allocate very large objects (4KB+) directly into a dedicated space, bypassing the new generation