summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gc.c7
2 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index c338a69ee7..1c0a84c9cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Dec 6 18:37:11 2013 Koichi Sasada <[email protected]>
+
+ * gc.c (rb_objspace_alloc, Init_heap): initialize
+ oldmalloc_increase_limit at Init_heap.
+
+ rb_objspace_alloc() is not called on some platforms.
+
Fri Dec 6 18:33:39 2013 Koichi Sasada <[email protected]>
* gc.c (garbage_collect_body): bug fix.
diff --git a/gc.c b/gc.c
index 419cb58f3a..ac17d03f81 100644
--- a/gc.c
+++ b/gc.c
@@ -867,9 +867,6 @@ rb_objspace_alloc(void)
ruby_gc_stress = ruby_initial_gc_stress;
malloc_limit = gc_params.malloc_limit_min;
-#if RGENGC_ESTIMATE_OLDMALLOC
- objspace->rgengc.oldmalloc_increase_limit = gc_params.oldmalloc_limit_min;
-#endif
return objspace;
}
@@ -1649,6 +1646,10 @@ Init_heap(void)
{
rb_objspace_t *objspace = &rb_objspace;
+#if RGENGC_ESTIMATE_OLDMALLOC
+ objspace->rgengc.oldmalloc_increase_limit = gc_params.oldmalloc_limit_min;
+#endif
+
heap_add_pages(objspace, heap_eden, gc_params.heap_init_slots / HEAP_OBJ_LIMIT);
init_mark_stack(&objspace->mark_stack);