diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | parse.y | 12 |
2 files changed, 12 insertions, 5 deletions
@@ -1,3 +1,8 @@ +Fri Sep 6 11:47:37 2002 Minero Aoki <aamine@loveruby.net> + + * parse.y (rb_gc_mark_parser): should mark parse.y global + variables. + Fri Sep 6 10:34:32 2002 Minero Aoki <aamine@loveruby.net> * io.c (rb_io_puts): RSTRING(line)->ptr might be NULL. @@ -5356,9 +5356,13 @@ ruby_parser_stack_on_heap() void rb_gc_mark_parser() { - if (ruby_in_compile) { - rb_gc_mark_maybe((VALUE)yylval.node); - } + if (!ruby_in_compile) return; + + rb_gc_mark_maybe((VALUE)yylval.node); + rb_gc_mark((VALUE)ruby_eval_tree_begin); + rb_gc_mark((VALUE)ruby_eval_tree); + rb_gc_mark((VALUE)lex_lastline); + rb_gc_mark((VALUE)lex_strterm); } void @@ -5443,8 +5447,6 @@ Init_sym() { sym_tbl = st_init_strtable_with_size(200); sym_rev_tbl = st_init_numtable_with_size(200); - rb_global_variable((VALUE*)&lex_lastline); - rb_global_variable((VALUE*)&lex_strterm); } static ID last_id = LAST_TOKEN; |