Commit graph

3,130 commits

Author SHA1 Message Date
e6a9b648ef xo-gc: missed files in prev commit 2026-04-12 15:06:01 -04:00
125775d0c5 xo-gc: tidy: SetupGc.*pp -> setup_gc.*pp 2026-04-12 15:05:39 -04:00
95cc1efb5e xo-gc: tidy: reorder method defns 2026-04-12 15:03:05 -04:00
19035920a0 xo-gc: streamline: drop .visit_child methods
no longer needed, thanks to DGCObjectStoreVisitor
2026-04-12 15:00:48 -04:00
456ea4dbb9 xo-gc: refactor: demote GCObjectVisitor to GCObjectStore
No longer needed by DX1Collector
Also retires utest/MockCollector
2026-04-12 14:54:38 -04:00
f09ec770aa xo-gc: utest: refactor for modularity 2026-04-11 19:02:05 -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
4d23eeef40 xo-gc: refactor: migrate verify impl DX1Collector -> GCObjectStore 2026-04-10 20:32:55 -04:00
f8a687ce11 xo-arena: + src_fn argument in alloc_error + contributaries 2026-04-10 20:32:23 -04:00
ccb8127219 xo-object2: missed DDictionary.hpp update 2026-04-10 20:31:54 -04:00
26379aad1c xo-object2: DArray: + DArray.pop_back + no ub on oom 2026-04-10 20:31:26 -04:00
585173a4ba xo-object2: DDictionary: fail without ub on oom. 2026-04-10 20:31:05 -04:00
680e79119b xo-object2: DInteger: fail without ub on oom. 2026-04-10 20:30:46 -04:00
6c31b56132 xo-stringtable2: DString: fail without ub when alloc fails 2026-04-10 20:29:53 -04:00
3f91dee6e7 xo-arena: + print_backtrace() + print_backtrace_dwarf()
using libunwind and elfutils
2026-04-10 20:28:59 -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
7a1b1b5cd3 xo-gc: utest: minor improvements for coverage 2026-04-09 21:30:52 -04:00
269b7b6cf4 build: coverage build working in umbrella builds (!)
1. more recent lcov is persnickety, need to ignore some errors.
2. need more careful assembly of subdirs with .gcda/.gcno info.
   lcov doesn't like duplication here.
2026-04-09 20:50:32 -04:00
7988f92ed7 + xo-gc: utest: + README.md 2026-04-09 19:30:58 -04:00
c19171fb8b xo-gc: utest: fairly comprehensive GCObjectStore utest
Generative!
2026-04-09 19:12:41 -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
e6036946bd xo-gc: scaffold utest for GCObjectStore 2026-04-07 11:44:02 -04:00
10e61a1d78 xo-gc: cosmetic: rename xo::mm::role -> xo::mm::Role 2026-04-06 23:33:05 -04:00
431e2fbd0e xo-gc: MutationLogStore uses only AGCObjectVisitor
Previously assumed DX1Collector
2026-04-06 23:22:13 -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
7154761ba2 xo-gc: MutationLogStore -> GCObjectStore 2026-04-06 19:37:11 -04:00
fda1167bfb xo-gc stack: refactor: + alloc_info() method
replicated form AAllocator facet
2026-04-06 17:15:30 -04:00
a804fc71df xo-gc: refactor: GCObjectStore only uses AGCObjectVisitor now
previously needed DX1Collector*
2026-04-06 16:36:48 -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
e6c789b4e6 refactor: retire GCObject.shallow_copy()
Collector gets this info from gc-owned object header
2026-04-04 18:01:25 -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
e5ff5c8779 build: + --clobber feature for .build/reconfigure script
copies reconfigure script to /tmp before
killing build directory.
2026-04-04 14:34:57 -04:00
116dfa2306 xo-gc stack: + ACollector.shallow_copy() 2026-04-03 18:33:09 -04:00
d4848fd6cb xo-gc: refactor: + GCObjectStore.verify_ok()
+ use in DX1Collector.verify_ok()
2026-04-03 18:04:52 -04:00
2fe88567e0 xo-gc: tidy: drop _ prefix to GCObjectStore._deep_move_root. 2026-04-03 17:49:00 -04:00
7226c1ba3b xo-gc: improve public/private between MutationLogStore and X1 2026-04-03 17:47:06 -04:00
0a0b9eae06 xo-gc: streamline naming 2026-04-03 17:31:02 -04:00
0c8275d02c xo-gc: streamlining/simplifying 2026-04-03 17:29:18 -04:00