summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
authoraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-02 12:19:30 +0000
committeraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-02 12:19:30 +0000
commit10c4364287e67e8d74d28f90c72b667aa8d8be3b (patch)
treee76417887fb3e3fe98f895eac82cfbd1ff060953 /ruby.c
parentd92e76de6451d13ae4d22be61f3a9e21bebfa775 (diff)
* gc.c (gc_sweep): does reclaim nodes in also compile time, if we can.
* ruby.c (load_file): omit GC if we can. * parse.y (ruby_parser_stack_on_heap): new function. * intern.h (ruby_parser_stack_on_heap): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ruby.c b/ruby.c
index 8aa20ce11e..dfaa2e1c9c 100644
--- a/ruby.c
+++ b/ruby.c
@@ -856,7 +856,10 @@ load_file(fname, script)
else if (f != rb_stdin) {
rb_io_close(f);
}
- rb_gc();
+
+ if (ruby_parser_stack_on_heap()) {
+ rb_gc();
+ }
}
void