aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--gc.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index b1c54d0a31..1258a0260d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Aug 15 17:43:15 2013 Koichi Sasada <ko1@atdot.net>
+
+ * gc.c (gc_lazy_sweep): remove heap_increment() here because heap_inc
+ may be 0.
+
Thu Aug 15 16:59:56 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* io.c (rb_io_rewind): remove fsync() for Windows to improve the
diff --git a/gc.c b/gc.c
index 6cb2594a2c..f7540eb03b 100644
--- a/gc.c
+++ b/gc.c
@@ -859,7 +859,7 @@ heap_increment(rb_objspace_t *objspace)
rgengc_report(5, objspace, "heap_increment: heap_inc: %d\n", heap_inc);
if (heap_inc > 0) {
- heap_assign_slot(objspace);
+ heap_assign_slot(objspace);
heap_inc--;
return TRUE;
}
@@ -2389,8 +2389,6 @@ gc_lazy_sweep(rb_objspace_t *objspace)
gc_prof_sweep_timer_start(objspace);
- heap_increment(objspace);
-
slot = objspace->heap.sweep_slots;
while (slot) {