< prev index next >

src/share/vm/runtime/arguments.cpp

Print this page




1518   // with.
1519   size_t heap_alignment = GenCollectedHeap::conservative_max_heap_alignment();
1520 #if INCLUDE_ALL_GCS
1521   if (UseParallelGC) {
1522     heap_alignment = ParallelScavengeHeap::conservative_max_heap_alignment();
1523   } else if (UseG1GC) {
1524     heap_alignment = G1CollectedHeap::conservative_max_heap_alignment();
1525   }
1526 #endif // INCLUDE_ALL_GCS
1527   _conservative_max_heap_alignment = MAX4(heap_alignment,
1528                                           (size_t)os::vm_allocation_granularity(),
1529                                           os::max_page_size(),
1530                                           CollectorPolicy::compute_heap_alignment());
1531 }
1532 
1533 void Arguments::select_gc_ergonomically() {
1534   if (os::is_server_class_machine()) {
1535     if (should_auto_select_low_pause_collector()) {
1536       FLAG_SET_ERGO(bool, UseConcMarkSweepGC, true);
1537     } else {

1538       FLAG_SET_ERGO(bool, UseParallelGC, true);



1539     }
1540   } else {
1541     FLAG_SET_ERGO(bool, UseSerialGC, true);
1542   }
1543 }
1544 
1545 void Arguments::select_gc() {
1546   if (!gc_selected()) {
1547     select_gc_ergonomically();
1548     guarantee(gc_selected(), "No GC selected");
1549   }
1550 }
1551 
1552 void Arguments::set_ergonomics_flags() {
1553   select_gc();
1554 
1555 #ifdef COMPILER2
1556   // Shared spaces work fine with other GCs but causes bytecode rewriting
1557   // to be disabled, which hurts interpreter performance and decreases
1558   // server performance.  When -server is specified, keep the default off




1518   // with.
1519   size_t heap_alignment = GenCollectedHeap::conservative_max_heap_alignment();
1520 #if INCLUDE_ALL_GCS
1521   if (UseParallelGC) {
1522     heap_alignment = ParallelScavengeHeap::conservative_max_heap_alignment();
1523   } else if (UseG1GC) {
1524     heap_alignment = G1CollectedHeap::conservative_max_heap_alignment();
1525   }
1526 #endif // INCLUDE_ALL_GCS
1527   _conservative_max_heap_alignment = MAX4(heap_alignment,
1528                                           (size_t)os::vm_allocation_granularity(),
1529                                           os::max_page_size(),
1530                                           CollectorPolicy::compute_heap_alignment());
1531 }
1532 
1533 void Arguments::select_gc_ergonomically() {
1534   if (os::is_server_class_machine()) {
1535     if (should_auto_select_low_pause_collector()) {
1536       FLAG_SET_ERGO(bool, UseConcMarkSweepGC, true);
1537     } else {
1538 #if defined(JAVASE_EMBEDDED)
1539       FLAG_SET_ERGO(bool, UseParallelGC, true);
1540 #else
1541       FLAG_SET_ERGO(bool, UseG1GC, true);
1542 #endif
1543     }
1544   } else {
1545     FLAG_SET_ERGO(bool, UseSerialGC, true);
1546   }
1547 }
1548 
1549 void Arguments::select_gc() {
1550   if (!gc_selected()) {
1551     select_gc_ergonomically();
1552     guarantee(gc_selected(), "No GC selected");
1553   }
1554 }
1555 
1556 void Arguments::set_ergonomics_flags() {
1557   select_gc();
1558 
1559 #ifdef COMPILER2
1560   // Shared spaces work fine with other GCs but causes bytecode rewriting
1561   // to be disabled, which hurts interpreter performance and decreases
1562   // server performance.  When -server is specified, keep the default off


< prev index next >