diff options
| author | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-09-05 20:00:52 +0000 |
|---|---|---|
| committer | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-09-05 20:00:52 +0000 |
| commit | 784a9cc733e95c10a7e3a91d8eb75413e4017454 (patch) | |
| tree | fd0c6c3d77158cc30e706e4ddafbe6b2dcca3dbb | |
| parent | b7b36ad788569a4f542538fa7d5195d7726ffd17 (diff) | |
| download | ruby-784a9cc733e95c10a7e3a91d8eb75413e4017454.tar.gz ruby-784a9cc733e95c10a7e3a91d8eb75413e4017454.tar.xz ruby-784a9cc733e95c10a7e3a91d8eb75413e4017454.zip | |
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@2800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 8 | ||||
| -rw-r--r-- | gc.c | 2 | ||||
| -rw-r--r-- | intern.h | 1 | ||||
| -rw-r--r-- | parse.y | 8 |
4 files changed, 19 insertions, 0 deletions
@@ -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(). @@ -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){ @@ -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)); @@ -5358,6 +5358,14 @@ ruby_parser_stack_on_heap() } void +rb_gc_mark_parser() +{ + if (ruby_in_compile) { + rb_gc_mark_maybe(yylval.val); + } +} + +void rb_parser_append_print() { ruby_eval_tree = |
