xo-expression2/xo-alloc
2025-11-20 21:26:18 -05:00
..
cmake Add 'xo-alloc/' from commit '8970f51dbd' 2025-07-29 07:20:49 -05:00
docs xo-alloc: doc improvements 2025-11-15 12:25:03 -05:00
include/xo/alloc xo-interpreter: setting up for gc in interactive interpreter 2025-11-20 21:26:18 -05:00
src/alloc xo-interpreter: setting up for gc in interactive interpreter 2025-11-20 21:26:18 -05:00
utest xo-interpreter adds + explict mm arg to ctors (retiring Object::mm) 2025-11-16 20:10:23 -05:00
CMakeLists.txt xo-alloc: reserve virtual memory, commit pages on demand 2025-08-12 00:14:30 -05:00
README.md xo-interpreter: prep for xo-symboltable 2025-11-17 22:31:10 -05: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.