< prev index next >

src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp

Print this page

        

@@ -29,18 +29,16 @@
 #include "runtime/os.hpp"
 #include "interpreter/invocationCounter.hpp"
 #include "runtime/arguments.hpp"
 #include "runtime/flags/jvmFlag.hpp"
 #include "runtime/flags/jvmFlagConstraintsCompiler.hpp"
-#include "runtime/flags/jvmFlagRangeList.hpp"
 #include "runtime/globals.hpp"
 #include "runtime/globals_extension.hpp"
-#include "utilities/defaultStream.hpp"
 
 JVMFlag::Error AliasLevelConstraintFunc(intx value, bool verbose) {
   if ((value <= 1) && (Arguments::mode() == Arguments::_comp || Arguments::mode() == Arguments::_mixed)) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "AliasLevel (" INTX_FORMAT ") is not "
                             "compatible with -Xcomp or -Xmixed\n",
                             value);
     return JVMFlag::VIOLATES_CONSTRAINT;
   } else {

@@ -80,11 +78,11 @@
   // to be true here (the option is validated later) and
   // min_number_of_compiler_threads to exceed CI_COMPILER_COUNT.
   min_number_of_compiler_threads = MIN2(min_number_of_compiler_threads, CI_COMPILER_COUNT);
 
   if (value < (intx)min_number_of_compiler_threads) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "CICompilerCount (" INTX_FORMAT ") must be "
                             "at least %d \n",
                             value, min_number_of_compiler_threads);
     return JVMFlag::VIOLATES_CONSTRAINT;
   } else {

@@ -92,11 +90,11 @@
   }
 }
 
 JVMFlag::Error AllocatePrefetchDistanceConstraintFunc(intx value, bool verbose) {
   if (value < 0 || value > 512) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "AllocatePrefetchDistance (" INTX_FORMAT ") must be "
                             "between 0 and " INTX_FORMAT "\n",
                             AllocatePrefetchDistance, 512);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }

@@ -105,11 +103,11 @@
 }
 
 JVMFlag::Error AllocatePrefetchStepSizeConstraintFunc(intx value, bool verbose) {
   if (AllocatePrefetchStyle == 3) {
     if (value % wordSize != 0) {
-      CommandLineError::print(verbose,
+      JVMFlag::printError(verbose,
                               "AllocatePrefetchStepSize (" INTX_FORMAT ") must be multiple of %d\n",
                               value, wordSize);
       return JVMFlag::VIOLATES_CONSTRAINT;
     }
   }

@@ -122,22 +120,22 @@
   max_value = 1;
 #elif defined(X86)
   max_value = 3;
 #endif
   if (value < 0 || value > max_value) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "AllocatePrefetchInstr (" INTX_FORMAT ") must be "
                             "between 0 and " INTX_FORMAT "\n", value, max_value);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }
 
   return JVMFlag::SUCCESS;
 }
 
 JVMFlag::Error CompileThresholdConstraintFunc(intx value, bool verbose) {
   if (value < 0 || value > INT_MAX >> InvocationCounter::count_shift) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "CompileThreshold (" INTX_FORMAT ") "
                             "must be between 0 and %d\n",
                             value,
                             INT_MAX >> InvocationCounter::count_shift);
     return JVMFlag::VIOLATES_CONSTRAINT;

@@ -148,43 +146,43 @@
 
 JVMFlag::Error OnStackReplacePercentageConstraintFunc(intx value, bool verbose) {
   int backward_branch_limit;
   if (ProfileInterpreter) {
     if (OnStackReplacePercentage < InterpreterProfilePercentage) {
-      CommandLineError::print(verbose,
+      JVMFlag::printError(verbose,
                               "OnStackReplacePercentage (" INTX_FORMAT ") must be "
                               "larger than InterpreterProfilePercentage (" INTX_FORMAT ")\n",
                               OnStackReplacePercentage, InterpreterProfilePercentage);
       return JVMFlag::VIOLATES_CONSTRAINT;
     }
 
     backward_branch_limit = ((CompileThreshold * (OnStackReplacePercentage - InterpreterProfilePercentage)) / 100)
                             << InvocationCounter::count_shift;
 
     if (backward_branch_limit < 0) {
-      CommandLineError::print(verbose,
+      JVMFlag::printError(verbose,
                               "CompileThreshold * (InterpreterProfilePercentage - OnStackReplacePercentage) / 100 = "
                               INTX_FORMAT " "
                               "must be between 0 and " INTX_FORMAT ", try changing "
                               "CompileThreshold, InterpreterProfilePercentage, and/or OnStackReplacePercentage\n",
                               (CompileThreshold * (OnStackReplacePercentage - InterpreterProfilePercentage)) / 100,
                               INT_MAX >> InvocationCounter::count_shift);
       return JVMFlag::VIOLATES_CONSTRAINT;
     }
   } else {
     if (OnStackReplacePercentage < 0 ) {
-      CommandLineError::print(verbose,
+      JVMFlag::printError(verbose,
                               "OnStackReplacePercentage (" INTX_FORMAT ") must be "
                               "non-negative\n", OnStackReplacePercentage);
       return JVMFlag::VIOLATES_CONSTRAINT;
     }
 
     backward_branch_limit = ((CompileThreshold * OnStackReplacePercentage) / 100)
                             << InvocationCounter::count_shift;
 
     if (backward_branch_limit < 0) {
-      CommandLineError::print(verbose,
+      JVMFlag::printError(verbose,
                               "CompileThreshold * OnStackReplacePercentage / 100 = " INTX_FORMAT " "
                               "must be between 0 and " INTX_FORMAT ", try changing "
                               "CompileThreshold and/or OnStackReplacePercentage\n",
                               (CompileThreshold * OnStackReplacePercentage) / 100,
                               INT_MAX >> InvocationCounter::count_shift);

@@ -194,29 +192,29 @@
   return JVMFlag::SUCCESS;
 }
 
 JVMFlag::Error CodeCacheSegmentSizeConstraintFunc(uintx value, bool verbose) {
   if (CodeCacheSegmentSize < (uintx)CodeEntryAlignment) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "CodeCacheSegmentSize  (" UINTX_FORMAT ") must be "
                             "larger than or equal to CodeEntryAlignment (" INTX_FORMAT ") "
                             "to align entry points\n",
                             CodeCacheSegmentSize, CodeEntryAlignment);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }
 
   if (CodeCacheSegmentSize < sizeof(jdouble)) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "CodeCacheSegmentSize  (" UINTX_FORMAT ") must be "
                             "at least " SIZE_FORMAT " to align constants\n",
                             CodeCacheSegmentSize, sizeof(jdouble));
     return JVMFlag::VIOLATES_CONSTRAINT;
   }
 
 #ifdef COMPILER2
   if (CodeCacheSegmentSize < (uintx)OptoLoopAlignment) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "CodeCacheSegmentSize  (" UINTX_FORMAT ") must be "
                             "larger than or equal to OptoLoopAlignment (" INTX_FORMAT ") "
                             "to align inner loops\n",
                             CodeCacheSegmentSize, OptoLoopAlignment);
     return JVMFlag::VIOLATES_CONSTRAINT;

@@ -228,11 +226,11 @@
 
 JVMFlag::Error CompilerThreadPriorityConstraintFunc(intx value, bool verbose) {
 #ifdef SOLARIS
   if ((value < MinimumPriority || value > MaximumPriority) &&
       (value != -1) && (value != -FXCriticalPriority)) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "CompileThreadPriority (" INTX_FORMAT ") must be "
                             "between %d and %d inclusively or -1 (means no change) "
                             "or %d (special value for critical thread class/priority)\n",
                             value, MinimumPriority, MaximumPriority, -FXCriticalPriority);
     return JVMFlag::VIOLATES_CONSTRAINT;

@@ -243,26 +241,26 @@
 }
 
 JVMFlag::Error CodeEntryAlignmentConstraintFunc(intx value, bool verbose) {
 #ifdef SPARC
   if (CodeEntryAlignment % relocInfo::addr_unit() != 0) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "CodeEntryAlignment (" INTX_FORMAT ") must be "
                             "multiple of NOP size\n", CodeEntryAlignment);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }
 #endif
 
   if (!is_power_of_2(value)) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "CodeEntryAlignment (" INTX_FORMAT ") must be "
                             "a power of two\n", CodeEntryAlignment);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }
 
   if (CodeEntryAlignment < 16) {
-      CommandLineError::print(verbose,
+      JVMFlag::printError(verbose,
                               "CodeEntryAlignment (" INTX_FORMAT ") must be "
                               "greater than or equal to %d\n",
                               CodeEntryAlignment, 16);
       return JVMFlag::VIOLATES_CONSTRAINT;
   }

@@ -270,21 +268,21 @@
   return JVMFlag::SUCCESS;
 }
 
 JVMFlag::Error OptoLoopAlignmentConstraintFunc(intx value, bool verbose) {
   if (!is_power_of_2(value)) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "OptoLoopAlignment (" INTX_FORMAT ") "
                             "must be a power of two\n",
                             value);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }
 
   // Relevant on ppc, s390, sparc. Will be optimized where
   // addr_unit() == 1.
   if (OptoLoopAlignment % relocInfo::addr_unit() != 0) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "OptoLoopAlignment (" INTX_FORMAT ") must be "
                             "multiple of NOP size (%d)\n",
                             value, relocInfo::addr_unit());
     return JVMFlag::VIOLATES_CONSTRAINT;
   }

@@ -292,22 +290,22 @@
   return JVMFlag::SUCCESS;
 }
 
 JVMFlag::Error ArraycopyDstPrefetchDistanceConstraintFunc(uintx value, bool verbose) {
   if (value >= 4032) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "ArraycopyDstPrefetchDistance (" UINTX_FORMAT ") must be"
                             "between 0 and 4031\n", value);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }
 
   return JVMFlag::SUCCESS;
 }
 
 JVMFlag::Error ArraycopySrcPrefetchDistanceConstraintFunc(uintx value, bool verbose) {
   if (value >= 4032) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "ArraycopySrcPrefetchDistance (" UINTX_FORMAT ") must be"
                             "between 0 and 4031\n", value);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }
 

@@ -315,11 +313,11 @@
 }
 
 JVMFlag::Error TypeProfileLevelConstraintFunc(uintx value, bool verbose) {
   for (int i = 0; i < 3; i++) {
     if (value % 10 > 2) {
-      CommandLineError::print(verbose,
+      JVMFlag::printError(verbose,
                               "Invalid value (" UINTX_FORMAT ") "
                               "in TypeProfileLevel at position %d\n", value, i);
       return JVMFlag::VIOLATES_CONSTRAINT;
     }
     value = value / 10;

@@ -337,28 +335,28 @@
 }
 
 #ifdef COMPILER2
 JVMFlag::Error InteriorEntryAlignmentConstraintFunc(intx value, bool verbose) {
   if (InteriorEntryAlignment > CodeEntryAlignment) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                            "InteriorEntryAlignment (" INTX_FORMAT ") must be "
                            "less than or equal to CodeEntryAlignment (" INTX_FORMAT ")\n",
                            InteriorEntryAlignment, CodeEntryAlignment);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }
 
 #ifdef SPARC
   if (InteriorEntryAlignment % relocInfo::addr_unit() != 0) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "InteriorEntryAlignment (" INTX_FORMAT ") must be "
                             "multiple of NOP size\n");
     return JVMFlag::VIOLATES_CONSTRAINT;
   }
 #endif
 
   if (!is_power_of_2(value)) {
-     CommandLineError::print(verbose,
+     JVMFlag::printError(verbose,
                              "InteriorEntryAlignment (" INTX_FORMAT ") must be "
                              "a power of two\n", InteriorEntryAlignment);
      return JVMFlag::VIOLATES_CONSTRAINT;
    }
 

@@ -368,11 +366,11 @@
 #elif defined(S390)
   minimum_alignment = 2;
 #endif
 
   if (InteriorEntryAlignment < minimum_alignment) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "InteriorEntryAlignment (" INTX_FORMAT ") must be "
                             "greater than or equal to %d\n",
                             InteriorEntryAlignment, minimum_alignment);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }

@@ -380,11 +378,11 @@
   return JVMFlag::SUCCESS;
 }
 
 JVMFlag::Error NodeLimitFudgeFactorConstraintFunc(intx value, bool verbose) {
   if (value < MaxNodeLimit * 2 / 100 || value > MaxNodeLimit * 40 / 100) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "NodeLimitFudgeFactor must be between 2%% and 40%% "
                             "of MaxNodeLimit (" INTX_FORMAT ")\n",
                             MaxNodeLimit);
     return JVMFlag::VIOLATES_CONSTRAINT;
   }

@@ -394,11 +392,11 @@
 #endif // COMPILER2
 
 JVMFlag::Error RTMTotalCountIncrRateConstraintFunc(int value, bool verbose) {
 #if INCLUDE_RTM_OPT
   if (UseRTMLocking && !is_power_of_2(RTMTotalCountIncrRate)) {
-    CommandLineError::print(verbose,
+    JVMFlag::printError(verbose,
                             "RTMTotalCountIncrRate (" INTX_FORMAT
                             ") must be a power of 2, resetting it to 64\n",
                             RTMTotalCountIncrRate);
     FLAG_SET_DEFAULT(RTMTotalCountIncrRate, 64);
   }
< prev index next >