refactor: + narrower interface for gc pointer forwarding

add AGCObjectVisitor, instead of requiring ACollector.
This commit is contained in:
Roland Conybeare 2026-04-05 23:53:02 -04:00
commit 7e583b1337
36 changed files with 138 additions and 179 deletions

View file

@ -40,26 +40,18 @@ namespace xo {
return result;
}
std::size_t
DVsmApplyFrame::shallow_size() const noexcept
{
return sizeof(DVsmApplyFrame);
}
DVsmApplyFrame *
DVsmApplyFrame::shallow_move(obj<ACollector> gc) noexcept
{
return gc.std_move_for(this);
}
std::size_t
DVsmApplyFrame::forward_children(obj<ACollector> gc) noexcept
void
DVsmApplyFrame::visit_gco_children(obj<AGCObjectVisitor> gc) noexcept
{
gc.forward_inplace(&parent_);
gc.forward_inplace(&fn_);
gc.forward_inplace(&args_);
return this->shallow_size();
gc.visit_child(&parent_);
gc.visit_child(&fn_);
gc.visit_child(&args_);
}
bool