xo-gc: retire Collector.forward_inplace + mock x-gc utest
W/ MockCollector supporting AGCObjectVisitor facet
This commit is contained in:
parent
a67d8b962a
commit
1387673f15
14 changed files with 342 additions and 42 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
///@}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue