Index: MMTk/src/org/mmtk/utility/heap/FreeListPageResource.java =================================================================== --- MMTk/src/org/mmtk/utility/heap/FreeListPageResource.java (revision 14819) +++ MMTk/src/org/mmtk/utility/heap/FreeListPageResource.java (working copy) @@ -216,6 +216,13 @@ nextRegionStart += PAGES_IN_CHUNK; if (VM.VERIFY_ASSERTIONS) VM.assertions._assert(regionStart >= 0 && nextRegionStart < GenericFreeList.MAX_UNITS); completelyFreed = (freed == nextRegionStart - regionStart); + + if (completelyFreed) { + freeContiguousChunk(start.plus(Conversions.pagesToBytes(regionStart))); + unlock(); + return; + } + } if (completelyFreed) freeContiguousChunk(Space.chunkAlign(first, true));