src/share/vm/memory/metaspace.cpp
Print this page
*** 691,701 ****
void BlockFreelist::return_block(MetaWord* p, size_t word_size) {
Metablock* free_chunk = initialize_free_chunk(p, word_size);
if (dictionary() == NULL) {
_dictionary = new BlockTreeDictionary();
}
! dictionary()->return_chunk(free_chunk);
}
MetaWord* BlockFreelist::get_block(size_t word_size) {
if (dictionary() == NULL) {
return NULL;
--- 691,701 ----
void BlockFreelist::return_block(MetaWord* p, size_t word_size) {
Metablock* free_chunk = initialize_free_chunk(p, word_size);
if (dictionary() == NULL) {
_dictionary = new BlockTreeDictionary();
}
! dictionary()->return_chunk(free_chunk, false);
}
MetaWord* BlockFreelist::get_block(size_t word_size) {
if (dictionary() == NULL) {
return NULL;
*** 2041,2051 ****
HumongousChunkGranularity),
err_msg("Humongous chunk size is wrong: word size " SIZE_FORMAT
" granularity " SIZE_FORMAT,
humongous_chunks->word_size(), HumongousChunkGranularity));
Metachunk* next_humongous_chunks = humongous_chunks->next();
! chunk_manager->humongous_dictionary()->return_chunk(humongous_chunks);
humongous_chunks = next_humongous_chunks;
}
if (TraceMetadataChunkAllocation && Verbose) {
gclog_or_tty->print_cr("");
gclog_or_tty->print_cr("updated dictionary count %d %s",
--- 2041,2051 ----
HumongousChunkGranularity),
err_msg("Humongous chunk size is wrong: word size " SIZE_FORMAT
" granularity " SIZE_FORMAT,
humongous_chunks->word_size(), HumongousChunkGranularity));
Metachunk* next_humongous_chunks = humongous_chunks->next();
! chunk_manager->humongous_dictionary()->return_chunk(humongous_chunks, false);
humongous_chunks = next_humongous_chunks;
}
if (TraceMetadataChunkAllocation && Verbose) {
gclog_or_tty->print_cr("");
gclog_or_tty->print_cr("updated dictionary count %d %s",