1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* gc.c (gc_sweep): should mark parser.

* parse.y (rb_gc_mark_parser): new function.
* intern.h (rb_gc_mark_parser): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
aamine 2002-09-05 20:00:52 +00:00
parent 49cd091cf2
commit 7ac3b71611
4 changed files with 19 additions and 0 deletions

View file

@ -1,3 +1,11 @@
Fri Sep 6 05:03:50 2002 Minero Aoki <aamine@loveruby.net>
* gc.c (gc_sweep): should mark parser.
* parse.y (rb_gc_mark_parser): new function.
* intern.h (rb_gc_mark_parser): added.
Thu Sep 5 18:32:32 2002 Yukihiro Matsumoto <matz@ruby-lang.org>
* variable.c (rb_path2class): should not use rb_eval_string().

2
gc.c
View file

@ -1186,6 +1186,8 @@ rb_gc()
/* mark generic instance variables for special constants */
rb_mark_generic_ivar_tbl();
rb_gc_mark_parser();
/* gc_mark objects whose marking are not completed*/
while (!MARK_STACK_EMPTY){

View file

@ -292,6 +292,7 @@ ID rb_id_attrset _((ID));
void rb_parser_append_print _((void));
void rb_parser_while_loop _((int, int));
int ruby_parser_stack_on_heap _((void));
void rb_gc_mark_parser _((void));
int rb_is_const_id _((ID));
int rb_is_instance_id _((ID));
int rb_is_class_id _((ID));

View file

@ -5357,6 +5357,14 @@ ruby_parser_stack_on_heap()
#endif
}
void
rb_gc_mark_parser()
{
if (ruby_in_compile) {
rb_gc_mark_maybe(yylval.val);
}
}
void
rb_parser_append_print()
{