xo-interpreter2 stack: + reason arg to visit_gco_children()
Helps streamline DX1Collector in xo-gc/. Want both forward and verify entry points for the same representation.
This commit is contained in:
parent
7a1b1b5cd3
commit
ec639ebb4b
276 changed files with 772 additions and 596 deletions
|
|
@ -907,7 +907,8 @@ namespace xo {
|
|||
#endif
|
||||
|
||||
void
|
||||
ParserStateMachine::visit_gco_children(obj<AGCObjectVisitor> gc) noexcept
|
||||
ParserStateMachine::visit_gco_children(VisitReason reason,
|
||||
obj<AGCObjectVisitor> gc) noexcept
|
||||
{
|
||||
//scope log(XO_DEBUG(true));
|
||||
|
||||
|
|
@ -916,23 +917,23 @@ namespace xo {
|
|||
|
||||
//log && log("forward stack_", xtag("addr", stack_));
|
||||
if (stack_) {
|
||||
stack_->visit_gco_children(gc);
|
||||
stack_->visit_gco_children(reason, gc);
|
||||
}
|
||||
|
||||
// static_assert(!expr_alloc_.is_gc_eligible());
|
||||
// static_assert(!aux_alloc_.is_gc_eligible());
|
||||
|
||||
//log && log("global_symtab_", xtag("addr", global_symtab_.data()));
|
||||
gc.visit_child(&global_symtab_);
|
||||
gc.visit_child(reason, &global_symtab_);
|
||||
|
||||
//log && log("local_symtab_", xtag("addr", local_symtab_.data()));
|
||||
gc.visit_child(&local_symtab_);
|
||||
gc.visit_child(reason, &local_symtab_);
|
||||
|
||||
//log && log("global_env_", xtag("addr", global_env_.data()));
|
||||
gc.visit_child(&global_env_);
|
||||
gc.visit_child(reason, &global_env_);
|
||||
|
||||
//log && log("result_");
|
||||
result_.visit_gco_children(gc);
|
||||
result_.visit_gco_children(reason, gc);
|
||||
}
|
||||
|
||||
} /*namespace scm*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue