From f09ad1dc5de28dd71cc92fd2de35f85a786ca112 Mon Sep 17 00:00:00 2001 From: mame Date: Thu, 9 Nov 2017 01:32:11 +0000 Subject: [PATCH] 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 --- parse.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parse.y b/parse.y index d9b3e2da03..658f64d035 100644 --- a/parse.y +++ b/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; }