comparison src/share/vm/runtime/globals_extension.hpp @ 350:d28aa69f0959

6618726: Introduce -XX:+UnlockExperimentalVMOptions flag Summary: experimental() flags will protect features of an experimental nature that are not supported in the regular product build. Made UseG1GC an experimental flag. Reviewed-by: jmasa, kamg, coleenp
author ysr
date Mon, 30 Jun 2008 17:04:59 -0700
parents 37f87013dfd8
children 1ee8caae33af
comparison
equal deleted inserted replaced
349:73278b62f36c 350:d28aa69f0959
28 #define FLAG_MEMBER(flag) Flag_##flag 28 #define FLAG_MEMBER(flag) Flag_##flag
29 29
30 #define RUNTIME_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 30 #define RUNTIME_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
31 #define RUNTIME_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 31 #define RUNTIME_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name),
32 #define RUNTIME_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 32 #define RUNTIME_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
33 #define RUNTIME_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
33 #define RUNTIME_MANAGEABLE_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 34 #define RUNTIME_MANAGEABLE_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
34 #define RUNTIME_PRODUCT_RW_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 35 #define RUNTIME_PRODUCT_RW_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
35 #ifdef PRODUCT 36 #ifdef PRODUCT
36 #define RUNTIME_DEVELOP_FLAG_MEMBER(type, name, value, doc) /* flag is constant */ 37 #define RUNTIME_DEVELOP_FLAG_MEMBER(type, name, value, doc) /* flag is constant */
37 #define RUNTIME_PD_DEVELOP_FLAG_MEMBER(type, name, doc) /* flag is constant */ 38 #define RUNTIME_PD_DEVELOP_FLAG_MEMBER(type, name, doc) /* flag is constant */
72 #define C2_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 73 #define C2_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name),
73 #define C2_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 74 #define C2_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name),
74 #endif 75 #endif
75 76
76 typedef enum { 77 typedef enum {
77 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER, RUNTIME_LP64_PRODUCT_FLAG_MEMBER) 78 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_EXPERIMENTAL_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER, RUNTIME_LP64_PRODUCT_FLAG_MEMBER)
78 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER) 79 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER)
79 #ifndef KERNEL 80 #ifndef KERNEL
80 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER) 81 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, RUNTIME_PD_DEVELOP_FLAG_MEMBER, RUNTIME_PRODUCT_FLAG_MEMBER, RUNTIME_PD_PRODUCT_FLAG_MEMBER, RUNTIME_DIAGNOSTIC_FLAG_MEMBER, RUNTIME_EXPERIMENTAL_FLAG_MEMBER, RUNTIME_NOTPRODUCT_FLAG_MEMBER, RUNTIME_MANAGEABLE_FLAG_MEMBER, RUNTIME_PRODUCT_RW_FLAG_MEMBER)
81 #endif 82 #endif
82 #ifdef COMPILER1 83 #ifdef COMPILER1
83 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER, C1_PD_DEVELOP_FLAG_MEMBER, C1_PRODUCT_FLAG_MEMBER, C1_PD_PRODUCT_FLAG_MEMBER, C1_NOTPRODUCT_FLAG_MEMBER) 84 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER, C1_PD_DEVELOP_FLAG_MEMBER, C1_PRODUCT_FLAG_MEMBER, C1_PD_PRODUCT_FLAG_MEMBER, C1_NOTPRODUCT_FLAG_MEMBER)
84 #endif 85 #endif
85 #ifdef COMPILER2 86 #ifdef COMPILER2
93 #define FLAG_MEMBER_WITH_TYPE(flag,type) Flag_##flag##_##type 94 #define FLAG_MEMBER_WITH_TYPE(flag,type) Flag_##flag##_##type
94 95
95 #define RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 96 #define RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
96 #define RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 97 #define RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type),
97 #define RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 98 #define RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
99 #define RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
98 #define RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 100 #define RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
99 #define RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 101 #define RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type),
100 #ifdef PRODUCT 102 #ifdef PRODUCT
101 #define RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) /* flag is constant */ 103 #define RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) /* flag is constant */
102 #define RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) /* flag is constant */ 104 #define RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) /* flag is constant */
142 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE, 144 RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
143 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 145 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
144 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, 146 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE,
145 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 147 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
146 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 148 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
149 RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
147 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 150 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE,
148 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE, 151 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE,
149 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE, 152 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE,
150 RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE) 153 RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE)
151 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE, 154 RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
158 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE, 161 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE,
159 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 162 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE,
160 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, 163 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE,
161 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 164 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE,
162 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 165 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE,
166 RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
163 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 167 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE,
164 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE, 168 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE,
165 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE) 169 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE)
166 #endif // KERNEL 170 #endif // KERNEL
167 #ifdef COMPILER1 171 #ifdef COMPILER1