summaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
authoraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-06 02:44:51 +0000
committeraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-06 02:44:51 +0000
commit0baa4f2c725d54973c13a5e97b5c4d528414760c (patch)
tree56f93c87135e9ee80ba50fcc20c3f7ea1137d915 /parse.y
parentbd163f2cff04da20ec2240f28f2f4172099d265f (diff)
downloadruby-0baa4f2c725d54973c13a5e97b5c4d528414760c.tar.gz
ruby-0baa4f2c725d54973c13a5e97b5c4d528414760c.tar.xz
ruby-0baa4f2c725d54973c13a5e97b5c4d528414760c.zip
* parse.y (rb_gc_mark_parser): should mark parse.y global variables.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y12
1 files changed, 7 insertions, 5 deletions
diff --git a/parse.y b/parse.y
index 0945560aa..153f66951 100644
--- a/parse.y
+++ b/parse.y
@@ -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;