29 #include "runtime/globals.hpp" |
29 #include "runtime/globals.hpp" |
30 #include "runtime/globals_extension.hpp" |
30 #include "runtime/globals_extension.hpp" |
31 #include "utilities/macros.hpp" |
31 #include "utilities/macros.hpp" |
32 |
32 |
33 void GCArguments::initialize() { |
33 void GCArguments::initialize() { |
34 #if INCLUDE_ALL_GCS |
34 if (FullGCALot && FLAG_IS_DEFAULT(MarkSweepAlwaysCompactCount)) { |
|
35 MarkSweepAlwaysCompactCount = 1; // Move objects every gc. |
|
36 } |
|
37 |
|
38 if (!(UseParallelGC || UseParallelOldGC) && FLAG_IS_DEFAULT(ScavengeBeforeFullGC)) { |
|
39 FLAG_SET_DEFAULT(ScavengeBeforeFullGC, false); |
|
40 } |
|
41 |
|
42 if (GCTimeLimit == 100) { |
|
43 // Turn off gc-overhead-limit-exceeded checks |
|
44 FLAG_SET_DEFAULT(UseGCOverheadLimit, false); |
|
45 } |
|
46 |
35 if (MinHeapFreeRatio == 100) { |
47 if (MinHeapFreeRatio == 100) { |
36 // Keeping the heap 100% free is hard ;-) so limit it to 99%. |
48 // Keeping the heap 100% free is hard ;-) so limit it to 99%. |
37 FLAG_SET_ERGO(uintx, MinHeapFreeRatio, 99); |
49 FLAG_SET_ERGO(uintx, MinHeapFreeRatio, 99); |
38 } |
50 } |
39 |
51 |
40 // If class unloading is disabled, also disable concurrent class unloading. |
|
41 if (!ClassUnloading) { |
52 if (!ClassUnloading) { |
42 FLAG_SET_CMDLINE(bool, CMSClassUnloadingEnabled, false); |
53 // If class unloading is disabled, also disable concurrent class unloading. |
43 FLAG_SET_CMDLINE(bool, ClassUnloadingWithConcurrentMark, false); |
54 FLAG_SET_CMDLINE(bool, ClassUnloadingWithConcurrentMark, false); |
44 } |
55 } |
45 #endif // INCLUDE_ALL_GCS |
|
46 } |
56 } |