xo-gc: retire Collector.forward_inplace + mock x-gc utest

W/ MockCollector supporting AGCObjectVisitor facet
This commit is contained in:
Roland Conybeare 2026-04-07 21:16:55 -04:00
commit 1387673f15
14 changed files with 342 additions and 42 deletions

View file

@ -274,13 +274,18 @@ namespace xo {
/** Execute gc immediately, for all generations < @p upto **/
void execute_gc(Generation upto) noexcept;
#ifdef OBSOLETE // replaced by visit_child()
/** Evacuate object at @p *lhs_data to to-space.
* Replace original with forwarding pointer to new location
**/
void forward_inplace(AGCObject * lhs_iface, void ** lhs_data);
#endif
/** Supports the GCObjectVisitor facet.
* Synonym for forward_inplace
/** Supports GCObjectVisitor facet.
* During gc phase:
* 1. evacuate object at @p *lhs_data to to-space.
* 2. replace @p *lhs_data with forwarding pointer
* to new location.
**/
void visit_child(AGCObject * lhs_iface, void ** lhs_data);

View file

@ -111,12 +111,6 @@ Require: gc not in progress **/
Source must be owned by this collector.
Increments object age **/
static void * alloc_copy(DX1Collector & self, std::byte * src);
/** evacuate @p *lhs, that refers to state with interface @p lhs_iface,
to collector @p d's to-space. Replace *lhs_data with forwarding pointer
Require: gc in progress
**/
static void forward_inplace(DX1Collector & self, AGCObject * lhs_iface, void ** lhs_data);
///@}
};