< prev index next >
src/share/vm/memory/metaspace.cpp
Print this page
rev 13204 : imported patch dither
*** 938,949 ****
if (word_size < BlockFreelist::min_dictionary_size()) {
// If allocation in small blocks fails, this is Dark Matter. Too small for dictionary.
return NULL;
}
! Metablock* free_block =
! dictionary()->get_chunk(word_size, FreeBlockDictionary<Metablock>::atLeast);
if (free_block == NULL) {
return NULL;
}
const size_t block_size = free_block->size();
--- 938,948 ----
if (word_size < BlockFreelist::min_dictionary_size()) {
// If allocation in small blocks fails, this is Dark Matter. Too small for dictionary.
return NULL;
}
! Metablock* free_block = dictionary()->get_chunk(word_size);
if (free_block == NULL) {
return NULL;
}
const size_t block_size = free_block->size();
*** 1910,1922 ****
free_list->remove_chunk(chunk);
log_trace(gc, metaspace, freelist)("ChunkManager::free_chunks_get: free_list " PTR_FORMAT " head " PTR_FORMAT " size " SIZE_FORMAT,
p2i(free_list), p2i(chunk), chunk->word_size());
} else {
! chunk = humongous_dictionary()->get_chunk(
! word_size,
! FreeBlockDictionary<Metachunk>::atLeast);
if (chunk == NULL) {
return NULL;
}
--- 1909,1919 ----
free_list->remove_chunk(chunk);
log_trace(gc, metaspace, freelist)("ChunkManager::free_chunks_get: free_list " PTR_FORMAT " head " PTR_FORMAT " size " SIZE_FORMAT,
p2i(free_list), p2i(chunk), chunk->word_size());
} else {
! chunk = humongous_dictionary()->get_chunk(word_size);
if (chunk == NULL) {
return NULL;
}
< prev index next >