src/share/vm/runtime/arguments.cpp

Print this page

        

@@ -1124,10 +1124,20 @@
   }
   if (!UseInterpreter) { // -Xcomp
     Tier3InvokeNotifyFreqLog = 0;
     Tier4InvocationThreshold = 0;
   }
+  if (FLAG_IS_DEFAULT(NmethodSweepFraction)) {
+    // Make sure that NmethodSweepFraction is between 1 and 16.
+    if (ReservedCodeCacheSize < (16 * M)) {
+      FLAG_SET_DEFAULT(NmethodSweepFraction, 1);
+    } else if (ReservedCodeCacheSize > (256 * M)) {
+      FLAG_SET_DEFAULT(NmethodSweepFraction, 16);
+    } else {
+      FLAG_SET_DEFAULT(NmethodSweepFraction, ReservedCodeCacheSize / (16 * M));
+    }
+  }
 }
 
 #if INCLUDE_ALL_GCS
 static void disable_adaptive_size_policy(const char* collector_name) {
   if (UseAdaptiveSizePolicy) {