From 8e1d6b214a696333290df5d54dcc9a472d4b2df6 Mon Sep 17 00:00:00 2001 From: akr Date: Tue, 4 Mar 2008 04:42:31 +0000 Subject: [PATCH] * gc.c (add_heap): fix previous change. [ruby-dev:33988] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ gc.c | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 67d2acf336..8d6ee0cc91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Mar 4 13:41:46 2008 Tanaka Akira + + * gc.c (add_heap): fix previous change. [ruby-dev:33988] + Tue Mar 4 10:21:03 2008 Nobuyoshi Nakada * gc.c (add_heap): use binary search to find the place to insert the diff --git a/gc.c b/gc.c index a1106abcc4..928c312bea 100644 --- a/gc.c +++ b/gc.c @@ -466,14 +466,15 @@ add_heap(void) } } + membase = p; if ((VALUE)p % sizeof(RVALUE) == 0) heap_slots += 1; else p = (RVALUE*)((VALUE)p + sizeof(RVALUE) - ((VALUE)p % sizeof(RVALUE))); if (hi < heaps_used) { - MEMMOVE(&heaps[hi+1], &heaps[hi], VALUE, heaps_used - hi); + MEMMOVE(&heaps[hi+1], &heaps[hi], struct heaps_slot, heaps_used - hi); } - heaps[hi].membase = p; + heaps[hi].membase = membase; heaps[hi].slot = p; heaps[hi].limit = heap_slots; pend = p + heap_slots;