1957 #ifdef ASSERT |
1957 #ifdef ASSERT |
1958 // Check the sanity of save_marks() etc. |
1958 // Check the sanity of save_marks() etc. |
1959 MemRegion ur = used_region(); |
1959 MemRegion ur = used_region(); |
1960 MemRegion urasm = used_region_at_save_marks(); |
1960 MemRegion urasm = used_region_at_save_marks(); |
1961 assert(ur.contains(urasm), |
1961 assert(ur.contains(urasm), |
1962 err_msg(" Error at save_marks(): [" PTR_FORMAT "," PTR_FORMAT ")" |
1962 " Error at save_marks(): [" PTR_FORMAT "," PTR_FORMAT ")" |
1963 " should contain [" PTR_FORMAT "," PTR_FORMAT ")", |
1963 " should contain [" PTR_FORMAT "," PTR_FORMAT ")", |
1964 p2i(ur.start()), p2i(ur.end()), p2i(urasm.start()), p2i(urasm.end()))); |
1964 p2i(ur.start()), p2i(ur.end()), p2i(urasm.start()), p2i(urasm.end())); |
1965 #endif |
1965 #endif |
1966 // inform allocator that promotions should be tracked. |
1966 // inform allocator that promotions should be tracked. |
1967 assert(_promoInfo.noPromotions(), "_promoInfo inconsistency"); |
1967 assert(_promoInfo.noPromotions(), "_promoInfo inconsistency"); |
1968 _promoInfo.startTrackingPromotions(); |
1968 _promoInfo.startTrackingPromotions(); |
1969 } |
1969 } |
2873 _bt.verify_not_unallocated((HeapWord*)rem_fc, rem_fc->size()); |
2873 _bt.verify_not_unallocated((HeapWord*)rem_fc, rem_fc->size()); |
2874 _indexedFreeList[rem].return_chunk_at_head(rem_fc); |
2874 _indexedFreeList[rem].return_chunk_at_head(rem_fc); |
2875 smallSplitBirth(rem); |
2875 smallSplitBirth(rem); |
2876 } |
2876 } |
2877 assert(n * word_sz == fc->size(), |
2877 assert(n * word_sz == fc->size(), |
2878 err_msg("Chunk size " SIZE_FORMAT " is not exactly splittable by " |
2878 "Chunk size " SIZE_FORMAT " is not exactly splittable by " |
2879 SIZE_FORMAT " sized chunks of size " SIZE_FORMAT, |
2879 SIZE_FORMAT " sized chunks of size " SIZE_FORMAT, |
2880 fc->size(), n, word_sz)); |
2880 fc->size(), n, word_sz); |
2881 return fc; |
2881 return fc; |
2882 } |
2882 } |
2883 |
2883 |
2884 void CompactibleFreeListSpace:: par_get_chunk_of_blocks_dictionary(size_t word_sz, size_t targetted_number_of_chunks, AdaptiveFreeList<FreeChunk>* fl) { |
2884 void CompactibleFreeListSpace:: par_get_chunk_of_blocks_dictionary(size_t word_sz, size_t targetted_number_of_chunks, AdaptiveFreeList<FreeChunk>* fl) { |
2885 |
2885 |