[MLton-commit] r4205
Matthew Fluet
MLton@mlton.org
Fri, 11 Nov 2005 19:11:52 -0800
Eliminate skipObjects loop in forwardInterGenerationalObjptrs
----------------------------------------------------------------------
U mlton/branches/on-20050822-x86_64-branch/runtime/gc/done.c
U mlton/branches/on-20050822-x86_64-branch/runtime/gc/forward.c
U mlton/branches/on-20050822-x86_64-branch/runtime/gc/init.c
U mlton/branches/on-20050822-x86_64-branch/runtime/gc/statistics.h
----------------------------------------------------------------------
Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gc/done.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gc/done.c 2005-11-12 02:53:20 UTC (rev 4204)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gc/done.c 2005-11-12 03:11:49 UTC (rev 4205)
@@ -84,8 +84,6 @@
uintmaxToCommaString (s->cumulativeStatistics.markedCards));
fprintf (out, "minor scanned: %s bytes\n",
uintmaxToCommaString (s->cumulativeStatistics.minorBytesScanned));
- fprintf (out, "minor skipped: %s bytes\n",
- uintmaxToCommaString (s->cumulativeStatistics.minorBytesSkipped));
}
releaseHeap (s, &s->heap);
releaseHeap (s, &s->secondaryHeap);
Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gc/forward.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gc/forward.c 2005-11-12 02:53:20 UTC (rev 4204)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gc/forward.c 2005-11-12 03:11:49 UTC (rev 4205)
@@ -194,21 +194,12 @@
assert (objectStart < oldGenStart + cardMapIndexToSize (cardIndex + 1));
if (cardMap[cardIndex]) {
pointer lastObject;
- size_t size;
s->cumulativeStatistics.markedCards++;
if (DEBUG_GENERATIONAL)
fprintf (stderr, "card %zu is marked objectStart = "FMTPTR"\n",
cardIndex, (uintptr_t)objectStart);
- lastObject = objectStart;
-skipObjects:
assert (isFrontierAligned (s, objectStart));
- size = sizeofObject (s, advanceToObjectData (s, objectStart));
- if (objectStart + size < cardStart) {
- objectStart += size;
- goto skipObjects;
- }
- s->cumulativeStatistics.minorBytesSkipped += objectStart - lastObject;
cardEnd = cardStart + CARD_SIZE;
if (oldGenEnd < cardEnd)
cardEnd = oldGenEnd;
Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gc/init.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gc/init.c 2005-11-12 02:53:20 UTC (rev 4204)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gc/init.c 2005-11-12 03:11:49 UTC (rev 4205)
@@ -249,7 +249,6 @@
s->cumulativeStatistics.maxHeapSizeSeen = 0;
s->cumulativeStatistics.maxStackSizeSeen = 0;
s->cumulativeStatistics.minorBytesScanned = 0;
- s->cumulativeStatistics.minorBytesSkipped = 0;
s->cumulativeStatistics.numLimitChecks = 0;
s->cumulativeStatistics.numCopyingGCs = 0;
s->cumulativeStatistics.numHashConsGCs = 0;
Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gc/statistics.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gc/statistics.h 2005-11-12 02:53:20 UTC (rev 4204)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gc/statistics.h 2005-11-12 03:11:49 UTC (rev 4205)
@@ -19,7 +19,6 @@
size_t maxStackSizeSeen;
uintmax_t minorBytesScanned;
- uintmax_t minorBytesSkipped;
uintmax_t numLimitChecks;