[MLton-commit] r4572

Matthew Fluet MLton@mlton.org
Tue, 23 May 2006 19:18:56 -0700


Calling translateHeap with s->heap.oldGenSize is incorrect, because
when heapRemap fails and heapCreate succeeds, s->heap is updated with
an newly initialized heap with oldGenSize == 0.  Instead, call
translateHeap with size, which has the original oldGenSize.


----------------------------------------------------------------------

U   mlton/trunk/runtime/gc.c

----------------------------------------------------------------------

Modified: mlton/trunk/runtime/gc.c
===================================================================
--- mlton/trunk/runtime/gc.c	2006-05-24 02:17:01 UTC (rev 4571)
+++ mlton/trunk/runtime/gc.c	2006-05-24 02:18:53 UTC (rev 4572)
@@ -2887,7 +2887,7 @@
         }
 done:
         unless (old == s->heap.start) {
-                translateHeap (s, old, s->heap.start, s->oldGenSize);
+                translateHeap (s, old, s->heap.start, size);
                 setCardMapForMutator (s);
         }
 }