6666#include " utilities/align.hpp"
6767#include " utilities/debug.hpp"
6868#include " utilities/defaultStream.hpp"
69+ #include " utilities/globalDefinitions.hpp"
6970#include " utilities/macros.hpp"
7071#include " utilities/parseInteger.hpp"
7172#include " utilities/powerOfTwo.hpp"
@@ -538,7 +539,6 @@ static SpecialFlag const special_jvm_flags[] = {
538539#endif
539540 { " ParallelRefProcEnabled" , JDK_Version::jdk (26 ), JDK_Version::jdk (27 ), JDK_Version::jdk (28 ) },
540541 { " ParallelRefProcBalancingEnabled" , JDK_Version::jdk (26 ), JDK_Version::jdk (27 ), JDK_Version::jdk (28 ) },
541- { " MaxRAM" , JDK_Version::jdk (26 ), JDK_Version::jdk (27 ), JDK_Version::jdk (28 ) },
542542 { " AggressiveHeap" , JDK_Version::jdk (26 ), JDK_Version::jdk (27 ), JDK_Version::jdk (28 ) },
543543 { " NeverActAsServerClassMachine" , JDK_Version::jdk (26 ), JDK_Version::jdk (27 ), JDK_Version::jdk (28 ) },
544544 { " AlwaysActAsServerClassMachine" , JDK_Version::jdk (26 ), JDK_Version::jdk (27 ), JDK_Version::jdk (28 ) },
@@ -553,6 +553,7 @@ static SpecialFlag const special_jvm_flags[] = {
553553#endif
554554
555555 { " PSChunkLargeArrays" , JDK_Version::jdk (26 ), JDK_Version::jdk (27 ), JDK_Version::jdk (28 ) },
556+ { " MaxRAM" , JDK_Version::jdk (26 ), JDK_Version::jdk (27 ), JDK_Version::jdk (28 ) },
556557
557558#ifdef ASSERT
558559 { " DummyObsoleteTestFlag" , JDK_Version::undefined (), JDK_Version::jdk (18 ), JDK_Version::undefined () },
@@ -1510,25 +1511,19 @@ void Arguments::set_heap_size() {
15101511 // Check if the user has configured any limit on the amount of RAM we may use.
15111512 bool has_ram_limit = !FLAG_IS_DEFAULT (MaxRAMPercentage) ||
15121513 !FLAG_IS_DEFAULT (MinRAMPercentage) ||
1513- !FLAG_IS_DEFAULT (InitialRAMPercentage) ||
1514- !FLAG_IS_DEFAULT (MaxRAM);
1514+ !FLAG_IS_DEFAULT (InitialRAMPercentage);
15151515
1516- if (FLAG_IS_DEFAULT (MaxRAM)) {
1517- if (CompilerConfig::should_set_client_emulation_mode_flags ()) {
1518- // Limit the available memory if client emulation mode is enabled.
1519- FLAG_SET_ERGO (MaxRAM, 1ULL *G);
1520- } else {
1521- // Use the available physical memory on the system.
1522- FLAG_SET_ERGO (MaxRAM, os::physical_memory ());
1523- }
1524- }
1516+ // Limit the available memory if client emulation mode is enabled.
1517+ const size_t phys_mem = CompilerConfig::should_set_client_emulation_mode_flags ()
1518+ ? 1ULL *G
1519+ : os::physical_memory ();
15251520
15261521 // If the maximum heap size has not been set with -Xmx, then set it as
15271522 // fraction of the size of physical memory, respecting the maximum and
15281523 // minimum sizes of the heap.
15291524 if (FLAG_IS_DEFAULT (MaxHeapSize)) {
1530- uint64_t min_memory = (uint64_t )(((double )MaxRAM * MinRAMPercentage) / 100 );
1531- uint64_t max_memory = (uint64_t )(((double )MaxRAM * MaxRAMPercentage) / 100 );
1525+ uint64_t min_memory = (uint64_t )(((double )phys_mem * MinRAMPercentage) / 100 );
1526+ uint64_t max_memory = (uint64_t )(((double )phys_mem * MaxRAMPercentage) / 100 );
15321527
15331528 const size_t reasonable_min = clamp_by_size_t_max (min_memory);
15341529 size_t reasonable_max = clamp_by_size_t_max (max_memory);
@@ -1615,7 +1610,7 @@ void Arguments::set_heap_size() {
16151610 reasonable_minimum = limit_heap_by_allocatable_memory (reasonable_minimum);
16161611
16171612 if (InitialHeapSize == 0 ) {
1618- uint64_t initial_memory = (uint64_t )(((double )MaxRAM * InitialRAMPercentage) / 100 );
1613+ uint64_t initial_memory = (uint64_t )(((double )phys_mem * InitialRAMPercentage) / 100 );
16191614 size_t reasonable_initial = clamp_by_size_t_max (initial_memory);
16201615 reasonable_initial = limit_heap_by_allocatable_memory (reasonable_initial);
16211616
0 commit comments