< prev index next >

src/share/vm/runtime/thread.cpp

Print this page

        

@@ -50,10 +50,12 @@
 #include "prims/jvmtiThreadState.hpp"
 #include "prims/privilegedStack.hpp"
 #include "runtime/arguments.hpp"
 #include "runtime/atomic.inline.hpp"
 #include "runtime/biasedLocking.hpp"
+#include "runtime/commandLineFlagConstraintList.hpp"
+#include "runtime/commandLineFlagRangeList.hpp"
 #include "runtime/deoptimization.hpp"
 #include "runtime/fprofiler.hpp"
 #include "runtime/frame.inline.hpp"
 #include "runtime/globals.hpp"
 #include "runtime/init.hpp"

@@ -3320,15 +3322,21 @@
   os::init_before_ergo();
 
   jint ergo_result = Arguments::apply_ergo();
   if (ergo_result != JNI_OK) return ergo_result;
 
-  // Final check of all arguments after ergonomics which may change values.
-  if (!CommandLineFlags::check_all_ranges_and_constraints()) {
+  // Final check of all ranges after ergonomics which may change values.
+  if (!CommandLineFlagRangeList::check_ranges()) {
     return JNI_EINVAL;
   }
 
+  // Final check of all 'AfterErgo' constraints after ergonomics which may change values.
+  if (!CommandLineFlagConstraintList::check_constraints(CommandLineFlagConstraint::AfterErgo)) {
+    return JNI_EINVAL;
+  }
+  Arguments::post_after_ergo_constraint_check();
+
   if (PauseAtStartup) {
     os::pause();
   }
 
   HOTSPOT_VM_INIT_BEGIN();
< prev index next >