1728 // adjust _unallocated_block downward, as necessary |
1728 // adjust _unallocated_block downward, as necessary |
1729 _bt.freed((HeapWord*)chunk, size); |
1729 _bt.freed((HeapWord*)chunk, size); |
1730 _dictionary->return_chunk(chunk); |
1730 _dictionary->return_chunk(chunk); |
1731 #ifndef PRODUCT |
1731 #ifndef PRODUCT |
1732 if (CMSCollector::abstract_state() != CMSCollector::Sweeping) { |
1732 if (CMSCollector::abstract_state() != CMSCollector::Sweeping) { |
1733 TreeChunk<FreeChunk, AdaptiveFreeList>* tc = TreeChunk<FreeChunk, AdaptiveFreeList>::as_TreeChunk(chunk); |
1733 TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >* tc = TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >::as_TreeChunk(chunk); |
1734 TreeList<FreeChunk, AdaptiveFreeList>* tl = tc->list(); |
1734 TreeList<FreeChunk, AdaptiveFreeList<FreeChunk> >* tl = tc->list(); |
1735 tl->verify_stats(); |
1735 tl->verify_stats(); |
1736 } |
1736 } |
1737 #endif // PRODUCT |
1737 #endif // PRODUCT |
1738 } |
1738 } |
1739 |
1739 |
2539 guarantee(n == num, "Incorrect count"); |
2539 guarantee(n == num, "Incorrect count"); |
2540 } |
2540 } |
2541 |
2541 |
2542 #ifndef PRODUCT |
2542 #ifndef PRODUCT |
2543 void CompactibleFreeListSpace::check_free_list_consistency() const { |
2543 void CompactibleFreeListSpace::check_free_list_consistency() const { |
2544 assert((TreeChunk<FreeChunk, AdaptiveFreeList>::min_size() <= IndexSetSize), |
2544 assert((TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >::min_size() <= IndexSetSize), |
2545 "Some sizes can't be allocated without recourse to" |
2545 "Some sizes can't be allocated without recourse to" |
2546 " linear allocation buffers"); |
2546 " linear allocation buffers"); |
2547 assert((TreeChunk<FreeChunk, AdaptiveFreeList>::min_size()*HeapWordSize == sizeof(TreeChunk<FreeChunk, AdaptiveFreeList>)), |
2547 assert((TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >::min_size()*HeapWordSize == sizeof(TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >)), |
2548 "else MIN_TREE_CHUNK_SIZE is wrong"); |
2548 "else MIN_TREE_CHUNK_SIZE is wrong"); |
2549 assert(IndexSetStart != 0, "IndexSetStart not initialized"); |
2549 assert(IndexSetStart != 0, "IndexSetStart not initialized"); |
2550 assert(IndexSetStride != 0, "IndexSetStride not initialized"); |
2550 assert(IndexSetStride != 0, "IndexSetStride not initialized"); |
2551 } |
2551 } |
2552 #endif |
2552 #endif |