< prev index next >

src/share/vm/runtime/arguments.cpp

Print this page




1505 
1506 
1507 // NOTE: set_use_compressed_klass_ptrs() must be called after calling
1508 // set_use_compressed_oops().
1509 void Arguments::set_use_compressed_klass_ptrs() {
1510 #ifndef ZERO
1511 #ifdef _LP64
1512   // UseCompressedOops must be on for UseCompressedClassPointers to be on.
1513   if (!UseCompressedOops) {
1514     if (UseCompressedClassPointers) {
1515       warning("UseCompressedClassPointers requires UseCompressedOops");
1516     }
1517     FLAG_SET_DEFAULT(UseCompressedClassPointers, false);
1518   } else {
1519     // Turn on UseCompressedClassPointers too
1520     if (FLAG_IS_DEFAULT(UseCompressedClassPointers)) {
1521       FLAG_SET_ERGO(bool, UseCompressedClassPointers, true);
1522     }
1523     // Check the CompressedClassSpaceSize to make sure we use compressed klass ptrs.
1524     if (UseCompressedClassPointers) {














1525       if (CompressedClassSpaceSize > KlassEncodingMetaspaceMax) {
1526         warning("CompressedClassSpaceSize is too large for UseCompressedClassPointers");
1527         FLAG_SET_DEFAULT(UseCompressedClassPointers, false);
1528       }
1529     }
1530   }
1531 #endif // _LP64
1532 #endif // !ZERO
1533 }
1534 
1535 void Arguments::set_conservative_max_heap_alignment() {
1536   // The conservative maximum required alignment for the heap is the maximum of
1537   // the alignments imposed by several sources: any requirements from the heap
1538   // itself, the collector policy and the maximum page size we may run the VM
1539   // with.
1540   size_t heap_alignment = GenCollectedHeap::conservative_max_heap_alignment();
1541 #if INCLUDE_ALL_GCS
1542   if (UseParallelGC) {
1543     heap_alignment = ParallelScavengeHeap::conservative_max_heap_alignment();
1544   } else if (UseG1GC) {




1505 
1506 
1507 // NOTE: set_use_compressed_klass_ptrs() must be called after calling
1508 // set_use_compressed_oops().
1509 void Arguments::set_use_compressed_klass_ptrs() {
1510 #ifndef ZERO
1511 #ifdef _LP64
1512   // UseCompressedOops must be on for UseCompressedClassPointers to be on.
1513   if (!UseCompressedOops) {
1514     if (UseCompressedClassPointers) {
1515       warning("UseCompressedClassPointers requires UseCompressedOops");
1516     }
1517     FLAG_SET_DEFAULT(UseCompressedClassPointers, false);
1518   } else {
1519     // Turn on UseCompressedClassPointers too
1520     if (FLAG_IS_DEFAULT(UseCompressedClassPointers)) {
1521       FLAG_SET_ERGO(bool, UseCompressedClassPointers, true);
1522     }
1523     // Check the CompressedClassSpaceSize to make sure we use compressed klass ptrs.
1524     if (UseCompressedClassPointers) {
1525       size_t min_metaspace_sz = InitialBootClassLoaderMetaspaceSize +
1526                                (64 * K * HeapWordSize); // MediumChunk in bytes.
1527 
1528       if ((min_metaspace_sz + CompressedClassSpaceSize) >  MaxMetaspaceSize) {
1529         if (min_metaspace_sz >= MaxMetaspaceSize) {
1530           vm_exit_during_initialization(
1531                    "InitialBootClassLoaderMetaspaceSize should be " 
1532                                                 "less than MaxMetaspaceSize.");
1533         } else {
1534           FLAG_SET_ERGO(size_t, CompressedClassSpaceSize,
1535                                         MaxMetaspaceSize - min_metaspace_sz);
1536         }
1537       }
1538 
1539       if (CompressedClassSpaceSize > KlassEncodingMetaspaceMax) {
1540         warning("CompressedClassSpaceSize is too large for UseCompressedClassPointers");
1541         FLAG_SET_DEFAULT(UseCompressedClassPointers, false);
1542       }
1543     }
1544   }
1545 #endif // _LP64
1546 #endif // !ZERO
1547 }
1548 
1549 void Arguments::set_conservative_max_heap_alignment() {
1550   // The conservative maximum required alignment for the heap is the maximum of
1551   // the alignments imposed by several sources: any requirements from the heap
1552   // itself, the collector policy and the maximum page size we may run the VM
1553   // with.
1554   size_t heap_alignment = GenCollectedHeap::conservative_max_heap_alignment();
1555 #if INCLUDE_ALL_GCS
1556   if (UseParallelGC) {
1557     heap_alignment = ParallelScavengeHeap::conservative_max_heap_alignment();
1558   } else if (UseG1GC) {


< prev index next >