< prev index next >
src/share/vm/runtime/virtualspace.cpp
Print this page
rev 7765 : 8072434: 8064457: introduces performance regressions in 9-b47
Reviewed-by: coleenp
@@ -501,15 +501,16 @@
// zerobased: Attempt to allocate in the lower 32G.
// But leave room for the compressed class pointers, which is allocated above
// the heap.
char *zerobased_max = (char *)OopEncodingHeapMax;
+ const size_t class_space = align_size_up(CompressedClassSpaceSize, alignment);
// For small heaps, save some space for compressed class pointer
// space so it can be decoded with no base.
if (UseCompressedClassPointers && !UseSharedSpaces &&
- OopEncodingHeapMax <= KlassEncodingMetaspaceMax) {
- const size_t class_space = align_size_up(CompressedClassSpaceSize, alignment);
+ OopEncodingHeapMax <= KlassEncodingMetaspaceMax &&
+ (uint64_t)(aligned_heap_base_min_address + size + class_space) <= KlassEncodingMetaspaceMax) {
zerobased_max = (char *)OopEncodingHeapMax - class_space;
}
// Give it several tries from top of range to bottom.
if (aligned_heap_base_min_address + size <= zerobased_max && // Zerobased theoretical possible.
< prev index next >