xo-umbrella2/xo-alloc
2026-08-02 20:47:41 -04:00
..
cmake git subrepo clone git@github.com:Rconybea/xo-alloc.git xo-alloc 2026-06-06 22:03:21 -04:00
docs git subrepo clone git@github.com:Rconybea/xo-alloc.git xo-alloc 2026-06-06 22:03:21 -04:00
include/xo/alloc xo-alloc: clang-format include order [TIDY] 2026-08-02 17:16:27 -04:00
src/alloc infra: deps on xo-reflect must get xo-indentlog themselves [REFACTOR] 2026-08-02 20:47:41 -04:00
utest infra: deps on xo-reflect must get xo-indentlog themselves [REFACTOR] 2026-08-02 20:47:41 -04:00
.gitrepo git subrepo clone git@github.com:Rconybea/xo-alloc.git xo-alloc 2026-06-06 22:03:21 -04:00
CMakeLists.txt git subrepo clone git@github.com:Rconybea/xo-alloc.git xo-alloc 2026-06-06 22:03:21 -04:00
README.md git subrepo clone git@github.com:Rconybea/xo-alloc.git xo-alloc 2026-06-06 22:03:21 -04:00

xo-alloc -- arena allocator and incremental garbage collector

Rules for writing garbage-collected classes.

Topics

  • allocation - allocate Objects (inheriting xo::Object) before owned scratch space. Can relax this if/when abandon the bad-for-locality use of two pointers into to-space to keep track of grey objects. Want to use stack anyway so we can do depth-first search.
  • destructors - can omit except for finalization
  • assignment - MUST USE Object::assign_member() to assign pointers to gc-owned memory. Only necessary for old->new pointers, so don't need to worry about this for initialization.
  • finalization - not supported (yet)
  • padding - use IAlloc::with_padding(z) for hand-allocated objects.