< prev index next >

src/share/vm/runtime/arguments.cpp

Print this page
rev 8396 : imported patch epsilon-base

@@ -1721,10 +1721,26 @@
           UseParallelGC || UseParallelOldGC));
 }
 #endif // ASSERT
 #endif // INCLUDE_ALL_GCS
 
+void Arguments::set_epsilon_flags() {
+  assert(UseEpsilonGC, "Error");
+
+  // Forcefully exit when OOME is detected. Nothing we can do at that point.
+  if (FLAG_IS_DEFAULT(ExitOnOutOfMemoryError)) {
+    FLAG_SET_DEFAULT(ExitOnOutOfMemoryError, true);
+  }
+
+#if INCLUDE_ALL_GCS
+  if (EpsilonMaxTLABSize < MinTLABSize) {
+    warning("EpsilonMaxTLABSize < MinTLABSize, adjusting it to " SIZE_FORMAT, MinTLABSize);
+    EpsilonMaxTLABSize = MinTLABSize;
+  }
+#endif
+}
+
 void Arguments::set_gc_specific_flags() {
 #if INCLUDE_ALL_GCS
   // Set per-collector flags
   if (UseParallelGC || UseParallelOldGC) {
     set_parallel_gc_flags();

@@ -1732,10 +1748,12 @@
     set_cms_and_parnew_gc_flags();
   } else if (UseParNewGC) {  // Skipped if CMS is set above
     set_parnew_gc_flags();
   } else if (UseG1GC) {
     set_g1_gc_flags();
+  } else if (UseEpsilonGC) {
+    set_epsilon_flags();
   }
   check_deprecated_gcs();
   check_deprecated_gc_flags();
   if (AssumeMP && !UseSerialGC) {
     if (FLAG_IS_DEFAULT(ParallelGCThreads) && ParallelGCThreads == 1) {

@@ -2118,10 +2136,11 @@
   uint i = 0;
   if (UseSerialGC)                       i++;
   if (UseConcMarkSweepGC || UseParNewGC) i++;
   if (UseParallelGC || UseParallelOldGC) i++;
   if (UseG1GC)                           i++;
+  if (UseEpsilonGC)                      i++;
   if (i > 1) {
     jio_fprintf(defaultStream::error_stream(),
                 "Conflicting collector combinations in option list; "
                 "please refer to the release notes for the combinations "
                 "allowed\n");
< prev index next >