Schematika reader, using facet object model
  • C++ 98%
  • CMake 2%
Find a file
Roland Conybeare a30f52375b Split 'xo-numeric/' into commit '5f2de0ad5a'
git-subtree-dir: xo-numeric
git-subtree-mainline: 8888986784c73c417110df62254ff958c83200d8
git-subtree-split: 5f2de0ad5a
2026-05-30 12:07:21 -04:00
cmake xo-cmake: setup to make share target available via cmake install 2026-02-27 19:38:53 +11:00
docs xo-alloc: doc improvements 2025-11-15 12:25:03 -05:00
include/xo/alloc xo-alloc: nix requires specific include path 2026-02-27 11:33:40 +11:00
src/alloc xo-alloc: nix-build + compiler nits 2026-02-26 12:20:34 +11:00
utest xo-ordinaltree: expand unittest + debug logging 2025-12-05 18:38:29 -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.