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:
mame 2017-11-09 01:32:11 +00:00
Родитель 3ba9e6b639
Коммит f09ad1dc5d
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -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;
}