* gc.c: We have no chance to expand the heap when lazy sweeping is
restricted. So collecting is often invoked if there is not enough free space in the heap. Try to expand heap when this is the case. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
052c0e67d9
commit
3ad60679e3
@ -1,3 +1,10 @@
|
||||
Sun Mar 24 12:55:47 2013 Narihiro Nakamura <authornari@gmail.com>
|
||||
|
||||
* gc.c: We have no chance to expand the heap when lazy sweeping is
|
||||
restricted. So collecting is often invoked if there is not
|
||||
enough free space in the heap. Try to expand heap when this is
|
||||
the case.
|
||||
|
||||
Sun Mar 24 11:03:31 2013 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* test/ruby/test_require.rb: Remove temporally files in the tests.
|
||||
|
10
gc.c
10
gc.c
@ -2043,8 +2043,14 @@ gc_prepare_free_objects(rb_objspace_t *objspace)
|
||||
{
|
||||
int res;
|
||||
|
||||
if (objspace->flags.dont_lazy_sweep)
|
||||
return garbage_collect(objspace);
|
||||
if (objspace->flags.dont_lazy_sweep) {
|
||||
if (heaps_increment(objspace)) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
return garbage_collect(objspace);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!ready_to_gc(objspace)) return TRUE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user