xo-gc/utest/DMockCollector.cpp
Roland Conybeare c4eb58f6ff 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

47 lines
1.3 KiB
C++

/** @file DMockCollector.cpp
*
* @author Roland Conybeare, Apr 2026
**/
#include "MockCollector.hpp"
namespace xo {
namespace mm {
Generation
DMockCollector::generation_of(Role r, const void * addr) const noexcept
{
return p_gco_store_->generation_of(r, addr);
}
AllocInfo
DMockCollector::alloc_info(void * mem) const noexcept
{
return p_gco_store_->alloc_info((std::byte *)mem);
}
void
DMockCollector::visit_child(VisitReason reason, AGCObject * lhs_iface, void ** lhs_data)
{
switch (reason.code()) {
case VisitReason::code::forward:
p_gco_store_->forward_inplace_aux
(this->ref<AGCObjectVisitor>(), lhs_iface, lhs_data, upto_);
break;
case VisitReason::code::verify:
p_gco_store_->verify_aux(lhs_iface, *lhs_data);
break;
default:
assert(false);
}
}
std::byte *
DMockCollector::alloc_copy(void * src) noexcept {
return p_gco_store_->new_space()->alloc_copy((std::byte *)src);
}
} /*namespace mm*/
} /*namespace xo*/
/* end DMockCollector.cpp */