shape-gc 0.1.2

Garbage collection infrastructure for the Shape runtime
Documentation
  • Coverage
  • 94.07%
    254 out of 270 items documented0 out of 217 items with examples
  • Size
  • Source code size: 180.24 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 6.96 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 12s Average build duration of successful builds.
  • all releases: 14s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • shape-lang/shape
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • DAmesberger

shape-gc: Zero-pause hardware-assisted garbage collector for the Shape VM.

Replaces Arc refcounting with a concurrent mark-relocate GC using hardware pointer masking (ARM TBI / x86-64 LAM) for zero-pause collection.

Architecture

  • Bump allocation with thread-local allocation buffers (TLABs) for ~1 cycle alloc
  • Tri-color marking (white/gray/black) with incremental mark steps
  • Hardware pointer masking to store GC metadata in upper pointer bits
  • Concurrent relocation with forwarding table + SIGSEGV trap handler
  • Generational collection with card table write barriers