1a6bf8f2f3
xo-alloc2: utest: refactor to use xo-testutil/
2026-05-22 07:47:11 -04:00
550b33323c
xo-alloc2: + utest harness for catch2
...
accept additional commandline arguments
2026-05-19 08:27:10 -04:00
6583fff677
xo-gc stack: many small utest improvements.
2026-05-17 12:30:09 -04:00
eea239d6ad
xo-gc stack: coverage improvement + related tidying
2026-05-11 09:27:24 -04:00
002c94d02e
xo-alloc2 xo-gc: assorted utest-guided cleanup ++ coverage
2026-05-10 18:19:41 -04:00
1780a50e45
xo-alloc2: missed operator defs
2026-05-08 20:10:40 -04:00
8459c883f1
xo-alloc2: tidy for ++ utest coverage
2026-05-08 08:19:31 -04:00
b64940fa0a
xo-gc stack: fix mutation setup + xo-reader2 utest
2026-05-07 23:44:32 -04:00
3625758272
xo-gc stack: refactor + streamline.
...
Retiring unused Collector typealiases.
Fix #include topology.
Fix/improve write barrier setup.
2026-05-02 13:49:29 -04:00
4ab49af785
xo-object2: streamline write barriers for DList,DArray muts
2026-05-01 20:38:38 -04:00
29c60f0089
xo-object2 stack: RAllocator.assign_barrier() works.
...
use for DList::assign_head(), DArray::assign_at().
2026-05-01 20:14:26 -04:00
f7ab6beff0
refactor focusing on xo-alloc2/ xo-gc/ write-barrier
...
ability to inform allocator of gco->gco mutation, via AAllocator i/face.
2026-05-01 19:54:26 -04:00
f79e44a2b9
xo-object2: obj<ACollector> argument to DArray::push_back()
2026-04-28 23:17:00 -04:00
2d149ced0d
xo-gc: tidy: + Generation methods .g0(), .g1()
...
Use in GCObjectStore.test.cpp
2026-04-12 15:42:49 -04:00
c4983b2172
xo-gc: doc: + comment on GCObjectVisitor entry points
2026-04-12 15:38:42 -04:00
d0cb7437de
xo-gc: bugfixes for GCObjectStore, unit test exapnded
...
In particular: drop casual assignment to DList.rest_,
will break acyclic assumption of DList.size()
2026-04-11 16:51:52 -04:00
f8a687ce11
xo-arena: + src_fn argument in alloc_error + contributaries
2026-04-10 20:32:23 -04:00
ec639ebb4b
xo-interpreter2 stack: + reason arg to visit_gco_children()
...
Helps streamline DX1Collector in xo-gc/.
Want both forward and verify entry points for the same
representation.
2026-04-10 01:10:03 -04:00
8f2c67ee4a
xo-gc: retire Collector.forward_inplace + mock x-gc utest
...
W/ MockCollector supporting AGCObjectVisitor facet
2026-04-07 21:16:55 -04:00
10e61a1d78
xo-gc: cosmetic: rename xo::mm::role -> xo::mm::Role
2026-04-06 23:33:05 -04:00
f0f4fc6366
refactor: xo-gc: + GCObjectVisitor.generation_of()
...
Concession to narrow MutationLogStore to only use GCObjectVisitor
instead of assuming X1Collector.
2026-04-06 23:18:45 -04:00
908faba2cb
xo-gc: refactoring to narrow collector<->mlog store interaction [WIP]
2026-04-06 23:02:15 -04:00
fda1167bfb
xo-gc stack: refactor: + alloc_info() method
...
replicated form AAllocator facet
2026-04-06 17:15:30 -04:00
e95353f1c8
refactor: use GCObjectVisitor api w/ gco_shallow_move
2026-04-06 15:21:48 -04:00
547f897c31
refactor: make shallow_move() available from AGCObjectVisitor
2026-04-06 00:11:08 -04:00
801bb9e39d
refactor: + narrower interface for gc pointer forwarding
...
add AGCObjectVisitor, instead of requiring ACollector.
2026-04-05 23:53:02 -04:00
57688a826a
xo-gc stack: refactor: introduce GCObjectVisitor facet
...
Plan using to properly level GCObjectStore and MutationLogStore
below Collector.
[WIP] not used yet
2026-04-05 18:07:14 -04:00
30dee1b97f
refactor: retire GCObject.shallow_size()
...
Not needed. Rely on size stored in gc-owned object header
2026-04-04 17:30:03 -04:00
5eb7abf5f2
refactor: void return type for Collector.forward_children()
2026-04-04 16:54:46 -04:00
5172de7862
refactor: rename RCollector.std_copy_for -> std_move_for
2026-04-04 16:37:17 -04:00
8bb460f402
refactor: rename shallow_copy -> shallow_move + streamline
...
Use RCollector.std_copy_for where appropriate
2026-04-04 16:33:35 -04:00
a129508224
xo-alloc2: nit: RCollector.std_copy_for returns T*
...
was returning void*
2026-04-04 16:30:20 -04:00
06161d2b50
refactor: rename GCObject.shallow_copy -> shallow_move
...
resolve conflict since relying on move constructor in std_copy_for
2026-04-04 15:00:53 -04:00
45dd3749e0
xo-alloc2: minor streamline RCollector.std_copy_for
...
For consistency with equivalent RAllocator version
2026-04-04 15:00:05 -04:00
fa3e988b1e
xo-alloc2: Use move semantics for std_copy_for
...
Prep for moving to ACollector interface
2026-04-04 14:38:57 -04:00
e41d69be23
refactor: make AGCObject.shallow_copy() non-const
...
prep for moving to ACollector interface
2026-04-04 14:38:14 -04:00
116dfa2306
xo-gc stack: + ACollector.shallow_copy()
2026-04-03 18:33:09 -04:00
ebf39b8cc2
xo-alloc2: tidy: generation.hpp -> Generation.hpp
2026-04-03 00:04:34 -04:00
a8536f89cb
xo-procedure2 stack: + report-gc-object-ages() primitive
2026-03-30 14:51:51 -04:00
0137fe11cc
xo-gc stack: + gc-location-of() primitive
2026-03-29 19:47:15 -04:00
057f0acc72
xo-gc stack: + gc-report-object-types() primitive
2026-03-29 17:19:23 -04:00
70e6d3a5bc
xo-gc: use DArenaVector for DX1Collector.object_types_
...
Original implementation predated DArenaVector,
using it is more natural
2026-03-29 15:17:31 -04:00
1dd3a6543f
xo-gc stack: + request-gc-statistics() primitive
...
1. xo-gc now depends on xo-object2.
2. use genfacet for ICollector_DX1Collector
3. moves xo-gc utest previously in xo-object2 to more natural
location in xo-gc/
2026-03-29 13:44:19 -04:00
cd236dcfbe
xo-alloc2: in forward_inplace() helper strip const for facet lookup
2026-03-28 13:17:16 -04:00
933d121cbf
xo-gc stack: genfacet for Collector + facet registry bugfix
2026-03-27 22:33:21 -04:00
48cb87bcb9
xo-alloc2: + ACollector2
...
temporary, planning to codegen Collector facet
2026-03-27 20:56:46 -04:00
7845dac09a
xo-gc stack: + contains() method
2026-03-26 14:58:14 -04:00
666555f485
xo-alloc2: abox: fix for non-anonymous abox instances
2026-03-26 14:57:15 -04:00
04fc5250fd
xo-gc: generation -> Generation + bugfix idle test
2026-03-26 11:30:16 -04:00
a2d01663f3
xo-alloc2: abox: nice message on alloc fail
2026-03-25 21:12:23 -04:00