xo-reader2: expand utest to run gc [WIP]
This commit is contained in:
parent
c715f0d8be
commit
ce800d700c
3 changed files with 256 additions and 146 deletions
|
|
@ -477,6 +477,10 @@ namespace xo {
|
|||
DLambdaSsm::forward_children(obj<ACollector> gc) noexcept
|
||||
{
|
||||
gc.forward_inplace(&local_symtab_);
|
||||
|
||||
// explicit_return_td not gcobject
|
||||
// lambda_td not gcobject
|
||||
|
||||
gc.forward_pivot_inplace(&body_);
|
||||
gc.forward_pivot_inplace(&parent_symtab_);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -913,9 +913,12 @@ namespace xo {
|
|||
void
|
||||
ParserStateMachine::forward_children(obj<ACollector> gc) noexcept
|
||||
{
|
||||
scope log(XO_DEBUG(true));
|
||||
|
||||
assert(!stringtable_.is_gc_eligible());
|
||||
assert(!parser_alloc_.is_gc_eligible());
|
||||
|
||||
log && log("forward stack_");
|
||||
if (stack_) {
|
||||
stack_->forward_children(gc);
|
||||
}
|
||||
|
|
@ -923,10 +926,16 @@ namespace xo {
|
|||
// static_assert(!expr_alloc_.is_gc_eligible());
|
||||
// static_assert(!aux_alloc_.is_gc_eligible());
|
||||
|
||||
log && log("global_symtab_");
|
||||
gc.forward_inplace(&global_symtab_);
|
||||
|
||||
log && log("local_symtab_");
|
||||
gc.forward_inplace(&local_symtab_);
|
||||
|
||||
log && log("global_env_");
|
||||
gc.forward_inplace(&global_env_);
|
||||
|
||||
log && log("result_");
|
||||
result_.forward_children(gc);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue