зеркало из https://github.com/github/ruby.git
use `rb_ast_dispose` instead of `rb_ast_free`
`rb_ast_dispose` calls `rb_gc_writebarrier_remember`. Unless we call it, the marked objects may not be GC'ed until `rb_ast_t` is GC'ed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
3ba9e6b639
Коммит
f09ad1dc5d
2
parse.y
2
parse.y
|
@ -12109,7 +12109,7 @@ ripper_parse0(VALUE parser_v)
|
|||
parser_prepare(parser);
|
||||
parser->ast = rb_ast_new();
|
||||
ripper_yyparse((void*)parser);
|
||||
rb_ast_free(parser->ast);
|
||||
rb_ast_dispose(parser->ast);
|
||||
parser->ast = 0;
|
||||
return parser->result;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче