xo-gc stack: + ACollector.shallow_copy()

This commit is contained in:
Roland Conybeare 2026-04-03 18:33:09 -04:00
commit 0de80c6fc0
2 changed files with 9 additions and 0 deletions

View file

@ -107,6 +107,10 @@ Return false if installation fails (e.g. memory exhausted) **/
Require: gc not in progress **/
static void assign_member(DX1Collector & self, void * parent, obj<AGCObject> * p_lhs, obj<AGCObject> & rhs);
/** allocate copy of source object at address @p src.
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

View file

@ -95,6 +95,11 @@ namespace xo {
self.assign_member(parent, p_lhs, rhs);
}
auto
ICollector_DX1Collector::alloc_copy(DX1Collector & self, std::byte * src) -> void *
{
return self.alloc_copy(src);
}
auto
ICollector_DX1Collector::forward_inplace(DX1Collector & self, AGCObject * lhs_iface, void ** lhs_data) -> void
{
self.forward_inplace(lhs_iface, lhs_data);