comparison src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp @ 342:37f87013dfd8

6711316: Open source the Garbage-First garbage collector Summary: First mercurial integration of the code for the Garbage-First garbage collector. Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
author ysr
date Thu, 05 Jun 2008 15:57:56 -0700
parents ba764ed4b6f2
children 6aae2f9d0294
comparison
equal deleted inserted replaced
189:0b27f3512f9e 342:37f87013dfd8
788 } 788 }
789 return NULL; 789 return NULL;
790 } 790 }
791 791
792 792
793 HeapWord* CompactibleFreeListSpace::block_start(const void* p) const { 793 HeapWord* CompactibleFreeListSpace::block_start_const(const void* p) const {
794 NOT_PRODUCT(verify_objects_initialized()); 794 NOT_PRODUCT(verify_objects_initialized());
795 return _bt.block_start(p); 795 return _bt.block_start(p);
796 } 796 }
797 797
798 HeapWord* CompactibleFreeListSpace::block_start_careful(const void* p) const { 798 HeapWord* CompactibleFreeListSpace::block_start_careful(const void* p) const {
2283 verifyIndexedFreeList(i); 2283 verifyIndexedFreeList(i);
2284 } 2284 }
2285 } 2285 }
2286 2286
2287 void CompactibleFreeListSpace::verifyIndexedFreeList(size_t size) const { 2287 void CompactibleFreeListSpace::verifyIndexedFreeList(size_t size) const {
2288 guarantee(size % 2 == 0, "Odd slots should be empty"); 2288 FreeChunk* fc = _indexedFreeList[size].head();
2289 for (FreeChunk* fc = _indexedFreeList[size].head(); fc != NULL; 2289 guarantee((size % 2 == 0) || fc == NULL, "Odd slots should be empty");
2290 fc = fc->next()) { 2290 for (; fc != NULL; fc = fc->next()) {
2291 guarantee(fc->size() == size, "Size inconsistency"); 2291 guarantee(fc->size() == size, "Size inconsistency");
2292 guarantee(fc->isFree(), "!free?"); 2292 guarantee(fc->isFree(), "!free?");
2293 guarantee(fc->next() == NULL || fc->next()->prev() == fc, "Broken list"); 2293 guarantee(fc->next() == NULL || fc->next()->prev() == fc, "Broken list");
2294 } 2294 }
2295 } 2295 }