4071 range(0, max_intx) \ 4072 constraint(InitArrayShortSizeConstraintFunc, AfterErgo) \ 4073 \ 4074 diagnostic(bool, CompilerDirectivesIgnoreCompileCommands, false, \ 4075 "Disable backwards compatibility for compile commands.") \ 4076 \ 4077 diagnostic(bool, CompilerDirectivesPrint, false, \ 4078 "Print compiler directives on installation.") \ 4079 diagnostic(int, CompilerDirectivesLimit, 50, \ 4080 "Limit on number of compiler directives.") \ 4081 \ 4082 product(bool, EnableValhalla, false, \ 4083 "Enable experimental Valhalla features") \ 4084 \ 4085 product(bool, EnableMVT, false, \ 4086 "Enable experimental Minimal Value Types") \ 4087 \ 4088 develop_pd(bool, ValueTypePassFieldsAsArgs, \ 4089 "Pass each value type field as an argument at calls") \ 4090 \ 4091 develop(bool, FullGCALotWithValueTypes, false, \ 4092 "Force full GCs to stress test handling of value types") \ 4093 4094 4095 /* 4096 * Macros for factoring of globals 4097 */ 4098 4099 // Interface macros 4100 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; 4101 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name; 4102 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name; 4103 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc) extern "C" type name; 4104 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name; 4105 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name; 4106 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name; 4107 #ifdef PRODUCT 4108 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value; 4109 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name; 4110 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) const type name = value; | 4071 range(0, max_intx) \ 4072 constraint(InitArrayShortSizeConstraintFunc, AfterErgo) \ 4073 \ 4074 diagnostic(bool, CompilerDirectivesIgnoreCompileCommands, false, \ 4075 "Disable backwards compatibility for compile commands.") \ 4076 \ 4077 diagnostic(bool, CompilerDirectivesPrint, false, \ 4078 "Print compiler directives on installation.") \ 4079 diagnostic(int, CompilerDirectivesLimit, 50, \ 4080 "Limit on number of compiler directives.") \ 4081 \ 4082 product(bool, EnableValhalla, false, \ 4083 "Enable experimental Valhalla features") \ 4084 \ 4085 product(bool, EnableMVT, false, \ 4086 "Enable experimental Minimal Value Types") \ 4087 \ 4088 develop_pd(bool, ValueTypePassFieldsAsArgs, \ 4089 "Pass each value type field as an argument at calls") \ 4090 \ 4091 develop_pd(bool, ValueTypeReturnedAsFields, \ 4092 "return fields instead of a value type reference") \ 4093 \ 4094 develop(bool, FullGCALotWithValueTypes, false, \ 4095 "Force full GCs to stress test handling of value types") \ 4096 4097 4098 /* 4099 * Macros for factoring of globals 4100 */ 4101 4102 // Interface macros 4103 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; 4104 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name; 4105 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name; 4106 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc) extern "C" type name; 4107 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name; 4108 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name; 4109 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name; 4110 #ifdef PRODUCT 4111 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value; 4112 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name; 4113 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) const type name = value; |