hotspot/src/share/vm/runtime/globals.hpp
changeset 39117 59fa99a45873
parent 38289 96e35aced4ef
child 39412 1d5ad28744ca
equal deleted inserted replaced
39107:2a5697a98620 39117:59fa99a45873
   642 #define RUNTIME_FLAGS(develop, \
   642 #define RUNTIME_FLAGS(develop, \
   643                       develop_pd, \
   643                       develop_pd, \
   644                       product, \
   644                       product, \
   645                       product_pd, \
   645                       product_pd, \
   646                       diagnostic, \
   646                       diagnostic, \
       
   647                       diagnostic_pd, \
   647                       experimental, \
   648                       experimental, \
   648                       notproduct, \
   649                       notproduct, \
   649                       manageable, \
   650                       manageable, \
   650                       product_rw, \
   651                       product_rw, \
   651                       lp64_product, \
   652                       lp64_product, \
  2527           "monitors")                                                       \
  2528           "monitors")                                                       \
  2528                                                                             \
  2529                                                                             \
  2529   develop(bool, GenerateRangeChecks, true,                                  \
  2530   develop(bool, GenerateRangeChecks, true,                                  \
  2530           "Generate range checks for array accesses")                       \
  2531           "Generate range checks for array accesses")                       \
  2531                                                                             \
  2532                                                                             \
  2532   develop_pd(bool, ImplicitNullChecks,                                      \
  2533   diagnostic_pd(bool, ImplicitNullChecks,                                   \
  2533           "Generate code for implicit null checks")                         \
  2534           "Generate code for implicit null checks")                         \
  2534                                                                             \
  2535                                                                             \
  2535   product_pd(bool, TrapBasedNullChecks,                                     \
  2536   product_pd(bool, TrapBasedNullChecks,                                     \
  2536           "Generate code for null checks that uses a cmp and trap "         \
  2537           "Generate code for null checks that uses a cmp and trap "         \
  2537           "instruction raising SIGTRAP.  This is only used if an access to" \
  2538           "instruction raising SIGTRAP.  This is only used if an access to" \
  3161                                                                             \
  3162                                                                             \
  3162   develop(intx, InlineFrequencyRatio,    20,                                \
  3163   develop(intx, InlineFrequencyRatio,    20,                                \
  3163           "Ratio of call site execution to caller method invocation")       \
  3164           "Ratio of call site execution to caller method invocation")       \
  3164           range(0, max_jint)                                                \
  3165           range(0, max_jint)                                                \
  3165                                                                             \
  3166                                                                             \
  3166   develop_pd(intx, InlineFrequencyCount,                                    \
  3167   diagnostic_pd(intx, InlineFrequencyCount,                                 \
  3167           "Count of call site execution necessary to trigger frequent "     \
  3168           "Count of call site execution necessary to trigger frequent "     \
  3168           "inlining")                                                       \
  3169           "inlining")                                                       \
  3169           range(0, max_jint)                                                \
  3170           range(0, max_jint)                                                \
  3170                                                                             \
  3171                                                                             \
  3171   develop(intx, InlineThrowCount,    50,                                    \
  3172   develop(intx, InlineThrowCount,    50,                                    \
  4142              "(3) no orphan methods exist for class C (i.e., methods for "  \
  4143              "(3) no orphan methods exist for class C (i.e., methods for "  \
  4143              "which the VM declares an intrinsic but that are not declared "\
  4144              "which the VM declares an intrinsic but that are not declared "\
  4144              "in the loaded class C. "                                      \
  4145              "in the loaded class C. "                                      \
  4145              "Check (3) is available only in debug builds.")                \
  4146              "Check (3) is available only in debug builds.")                \
  4146                                                                             \
  4147                                                                             \
  4147   develop_pd(intx, InitArrayShortSize,                                      \
  4148   diagnostic_pd(intx, InitArrayShortSize,                                   \
  4148           "Threshold small size (in bytes) for clearing arrays. "           \
  4149           "Threshold small size (in bytes) for clearing arrays. "           \
  4149           "Anything this size or smaller may get converted to discrete "    \
  4150           "Anything this size or smaller may get converted to discrete "    \
  4150           "scalar stores.")                                                 \
  4151           "scalar stores.")                                                 \
  4151           range(0, max_intx)                                                \
  4152           range(0, max_intx)                                                \
  4152           constraint(InitArrayShortSizeConstraintFunc, AfterErgo)           \
  4153           constraint(InitArrayShortSizeConstraintFunc, AfterErgo)           \
  4166 
  4167 
  4167 // Interface macros
  4168 // Interface macros
  4168 #define DECLARE_PRODUCT_FLAG(type, name, value, doc)      extern "C" type name;
  4169 #define DECLARE_PRODUCT_FLAG(type, name, value, doc)      extern "C" type name;
  4169 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc)          extern "C" type name;
  4170 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc)          extern "C" type name;
  4170 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc)   extern "C" type name;
  4171 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc)   extern "C" type name;
       
  4172 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc)       extern "C" type name;
  4171 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
  4173 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
  4172 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc)   extern "C" type name;
  4174 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc)   extern "C" type name;
  4173 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc)   extern "C" type name;
  4175 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc)   extern "C" type name;
  4174 #ifdef PRODUCT
  4176 #ifdef PRODUCT
  4175 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc)    const type name = value;
  4177 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc)    const type name = value;
  4189 
  4191 
  4190 // Implementation macros
  4192 // Implementation macros
  4191 #define MATERIALIZE_PRODUCT_FLAG(type, name, value, doc)      type name = value;
  4193 #define MATERIALIZE_PRODUCT_FLAG(type, name, value, doc)      type name = value;
  4192 #define MATERIALIZE_PD_PRODUCT_FLAG(type, name, doc)          type name = pd_##name;
  4194 #define MATERIALIZE_PD_PRODUCT_FLAG(type, name, doc)          type name = pd_##name;
  4193 #define MATERIALIZE_DIAGNOSTIC_FLAG(type, name, value, doc)   type name = value;
  4195 #define MATERIALIZE_DIAGNOSTIC_FLAG(type, name, value, doc)   type name = value;
       
  4196 #define MATERIALIZE_PD_DIAGNOSTIC_FLAG(type, name, doc)       type name = pd_##name;
  4194 #define MATERIALIZE_EXPERIMENTAL_FLAG(type, name, value, doc) type name = value;
  4197 #define MATERIALIZE_EXPERIMENTAL_FLAG(type, name, value, doc) type name = value;
  4195 #define MATERIALIZE_MANAGEABLE_FLAG(type, name, value, doc)   type name = value;
  4198 #define MATERIALIZE_MANAGEABLE_FLAG(type, name, value, doc)   type name = value;
  4196 #define MATERIALIZE_PRODUCT_RW_FLAG(type, name, value, doc)   type name = value;
  4199 #define MATERIALIZE_PRODUCT_RW_FLAG(type, name, value, doc)   type name = value;
  4197 #ifdef PRODUCT
  4200 #ifdef PRODUCT
  4198 #define MATERIALIZE_DEVELOPER_FLAG(type, name, value, doc)
  4201 #define MATERIALIZE_DEVELOPER_FLAG(type, name, value, doc)
  4219 RUNTIME_FLAGS(DECLARE_DEVELOPER_FLAG, \
  4222 RUNTIME_FLAGS(DECLARE_DEVELOPER_FLAG, \
  4220               DECLARE_PD_DEVELOPER_FLAG, \
  4223               DECLARE_PD_DEVELOPER_FLAG, \
  4221               DECLARE_PRODUCT_FLAG, \
  4224               DECLARE_PRODUCT_FLAG, \
  4222               DECLARE_PD_PRODUCT_FLAG, \
  4225               DECLARE_PD_PRODUCT_FLAG, \
  4223               DECLARE_DIAGNOSTIC_FLAG, \
  4226               DECLARE_DIAGNOSTIC_FLAG, \
       
  4227               DECLARE_PD_DIAGNOSTIC_FLAG, \
  4224               DECLARE_EXPERIMENTAL_FLAG, \
  4228               DECLARE_EXPERIMENTAL_FLAG, \
  4225               DECLARE_NOTPRODUCT_FLAG, \
  4229               DECLARE_NOTPRODUCT_FLAG, \
  4226               DECLARE_MANAGEABLE_FLAG, \
  4230               DECLARE_MANAGEABLE_FLAG, \
  4227               DECLARE_PRODUCT_RW_FLAG, \
  4231               DECLARE_PRODUCT_RW_FLAG, \
  4228               DECLARE_LP64_PRODUCT_FLAG, \
  4232               DECLARE_LP64_PRODUCT_FLAG, \
  4233 RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, \
  4237 RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, \
  4234                  DECLARE_PD_DEVELOPER_FLAG, \
  4238                  DECLARE_PD_DEVELOPER_FLAG, \
  4235                  DECLARE_PRODUCT_FLAG, \
  4239                  DECLARE_PRODUCT_FLAG, \
  4236                  DECLARE_PD_PRODUCT_FLAG, \
  4240                  DECLARE_PD_PRODUCT_FLAG, \
  4237                  DECLARE_DIAGNOSTIC_FLAG, \
  4241                  DECLARE_DIAGNOSTIC_FLAG, \
       
  4242                  DECLARE_PD_DIAGNOSTIC_FLAG, \
  4238                  DECLARE_NOTPRODUCT_FLAG, \
  4243                  DECLARE_NOTPRODUCT_FLAG, \
  4239                  IGNORE_RANGE, \
  4244                  IGNORE_RANGE, \
  4240                  IGNORE_CONSTRAINT, \
  4245                  IGNORE_CONSTRAINT, \
  4241                  IGNORE_WRITEABLE)
  4246                  IGNORE_WRITEABLE)
  4242 
  4247