mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 21:49:06 +02:00
Stash tmpbuffer inside internal structs
I guess those AST node were actually used for something, so we'd better not touch them. Instead this commit just puts the tmpbuffer inside a different internal struct so that we can mark them.
This commit is contained in:
parent
8cd845aa5b
commit
8f096226e1
3 changed files with 16 additions and 4 deletions
12
node.c
12
node.c
|
@ -1265,6 +1265,16 @@ mark_ast_value(void *ctx, NODE * node)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case NODE_ARYPTN:
|
||||
{
|
||||
struct rb_ary_pattern_info *apinfo = node->nd_apinfo;
|
||||
rb_gc_mark(apinfo->imemo);
|
||||
}
|
||||
case NODE_ARGS:
|
||||
{
|
||||
struct rb_args_info *args = node->nd_ainfo;
|
||||
rb_gc_mark(args->imemo);
|
||||
}
|
||||
case NODE_LIT:
|
||||
case NODE_STR:
|
||||
case NODE_XSTR:
|
||||
|
@ -1272,8 +1282,6 @@ mark_ast_value(void *ctx, NODE * node)
|
|||
case NODE_DXSTR:
|
||||
case NODE_DREGX:
|
||||
case NODE_DSYM:
|
||||
case NODE_ARGS:
|
||||
case NODE_ARYPTN:
|
||||
rb_gc_mark(node->nd_lit);
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue