hotspot/src/share/vm/runtime/commandLineFlagConstraintList.cpp
changeset 32613 73bec9f941d7
parent 32601 c5df671276bd
child 33144 c56850e328fc
child 33160 c59f1676d27e
--- a/hotspot/src/share/vm/runtime/commandLineFlagConstraintList.cpp	Wed Sep 02 11:41:42 2015 -0400
+++ b/hotspot/src/share/vm/runtime/commandLineFlagConstraintList.cpp	Wed Sep 02 17:49:46 2015 -0700
@@ -220,7 +220,7 @@
 #define EMIT_CONSTRAINT_CHECK(func, type)                               , func, CommandLineFlagConstraint::type
 
 // the "name" argument must be a string literal
-#define INITIAL_CONSTRAINTS_SIZE 40
+#define INITIAL_CONSTRAINTS_SIZE 16
 GrowableArray<CommandLineFlagConstraint*>* CommandLineFlagConstraintList::_constraints = NULL;
 CommandLineFlagConstraint::ConstraintType CommandLineFlagConstraintList::_validating_type = CommandLineFlagConstraint::AtParse;
 
@@ -274,7 +274,7 @@
                                    EMIT_CONSTRAINT_CHECK));
 #endif // COMPILER2
 
-#if INCLUDE_ALL_GCS
+#ifndef INCLUDE_ALL_GCS
   emit_constraint_no(NULL G1_FLAGS(EMIT_CONSTRAINT_DEVELOPER_FLAG,
                                    EMIT_CONSTRAINT_PD_DEVELOPER_FLAG,
                                    EMIT_CONSTRAINT_PRODUCT_FLAG,
@@ -305,7 +305,10 @@
 
 // Check constraints for specific constraint type.
 bool CommandLineFlagConstraintList::check_constraints(CommandLineFlagConstraint::ConstraintType type) {
-  guarantee(type > _validating_type, "Constraint check is out of order.");
+  // Skip if we already checked.
+  if (type < _validating_type) {
+    return true;
+  }
   _validating_type = type;
 
   bool status = true;