27 28 #include "runtime/globals.hpp" 29 #include "utilities/macros.hpp" 30 #include "utilities/top.hpp" 31 32 // Construct enum of Flag_<cmdline-arg> constants. 33 34 // Parenthesis left off in the following for the enum decl below. 35 #define FLAG_MEMBER(flag) Flag_##flag 36 37 #define RUNTIME_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 38 #define RUNTIME_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 39 #define RUNTIME_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 40 #define RUNTIME_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 41 #define RUNTIME_MANAGEABLE_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 42 #define RUNTIME_PRODUCT_RW_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 43 #define RUNTIME_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 44 #define RUNTIME_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 45 #define RUNTIME_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 46 47 #ifdef _LP64 48 #define RUNTIME_LP64_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 49 #else 50 #define RUNTIME_LP64_PRODUCT_FLAG_MEMBER(type, name, value, doc) /* flag is constant */ 51 #endif // _LP64 52 53 #define C1_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 54 #define C1_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 55 #define C1_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 56 #define C1_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 57 #define C1_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 58 #define C1_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 59 60 #define C2_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 61 #define C2_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 62 #define C2_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 63 #define C2_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 64 #define C2_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 65 #define C2_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 66 #define C2_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 88 RUNTIME_PD_DEVELOP_FLAG_MEMBER, \ 89 RUNTIME_PRODUCT_FLAG_MEMBER, \ 90 RUNTIME_PD_PRODUCT_FLAG_MEMBER, \ 91 RUNTIME_DIAGNOSTIC_FLAG_MEMBER, \ 92 RUNTIME_NOTPRODUCT_FLAG_MEMBER, \ 93 IGNORE_RANGE, \ 94 IGNORE_CONSTRAINT) 95 #if INCLUDE_ALL_GCS 96 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, \ 97 RUNTIME_PD_DEVELOP_FLAG_MEMBER, \ 98 RUNTIME_PRODUCT_FLAG_MEMBER, \ 99 RUNTIME_PD_PRODUCT_FLAG_MEMBER, \ 100 RUNTIME_DIAGNOSTIC_FLAG_MEMBER, \ 101 RUNTIME_EXPERIMENTAL_FLAG_MEMBER, \ 102 RUNTIME_NOTPRODUCT_FLAG_MEMBER, \ 103 RUNTIME_MANAGEABLE_FLAG_MEMBER, \ 104 RUNTIME_PRODUCT_RW_FLAG_MEMBER, \ 105 IGNORE_RANGE, \ 106 IGNORE_CONSTRAINT) 107 #endif // INCLUDE_ALL_GCS 108 #ifdef COMPILER1 109 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER, \ 110 C1_PD_DEVELOP_FLAG_MEMBER, \ 111 C1_PRODUCT_FLAG_MEMBER, \ 112 C1_PD_PRODUCT_FLAG_MEMBER, \ 113 C1_DIAGNOSTIC_FLAG_MEMBER, \ 114 C1_NOTPRODUCT_FLAG_MEMBER, \ 115 IGNORE_RANGE, \ 116 IGNORE_CONSTRAINT) 117 #endif 118 #ifdef COMPILER2 119 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER, \ 120 C2_PD_DEVELOP_FLAG_MEMBER, \ 121 C2_PRODUCT_FLAG_MEMBER, \ 122 C2_PD_PRODUCT_FLAG_MEMBER, \ 123 C2_DIAGNOSTIC_FLAG_MEMBER, \ 124 C2_EXPERIMENTAL_FLAG_MEMBER, \ 125 C2_NOTPRODUCT_FLAG_MEMBER, \ 126 IGNORE_RANGE, \ 127 IGNORE_CONSTRAINT) 134 IGNORE_RANGE, \ 135 IGNORE_CONSTRAINT) 136 COMMANDLINEFLAG_EXT 137 NUM_CommandLineFlag 138 } CommandLineFlag; 139 140 // Construct enum of Flag_<cmdline-arg>_<type> constants. 141 142 #define FLAG_MEMBER_WITH_TYPE(flag,type) Flag_##flag##_##type 143 144 #define RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 145 #define RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 146 #define RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 147 #define RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 148 #define RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 149 #define RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 150 #define RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 151 #define RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 152 #define RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 153 154 #define C1_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 155 #define C1_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 156 #define C1_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 157 #define C1_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 158 #define C1_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 159 #define C1_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 160 161 #ifdef _LP64 162 #define RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 163 #else 164 #define RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) /* flag is constant */ 165 #endif // _LP64 166 167 #define C2_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 168 #define C2_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 169 #define C2_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 170 #define C2_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 171 #define C2_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 172 #define C2_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 173 #define C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 195 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 196 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, 197 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 198 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 199 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 200 IGNORE_RANGE, 201 IGNORE_CONSTRAINT) 202 #if INCLUDE_ALL_GCS 203 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE, 204 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 205 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, 206 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 207 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 208 RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE, 209 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 210 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE, 211 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE, 212 IGNORE_RANGE, 213 IGNORE_CONSTRAINT) 214 #endif // INCLUDE_ALL_GCS 215 #ifdef COMPILER1 216 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER_WITH_TYPE, 217 C1_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 218 C1_PRODUCT_FLAG_MEMBER_WITH_TYPE, 219 C1_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 220 C1_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 221 C1_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 222 IGNORE_RANGE, 223 IGNORE_CONSTRAINT) 224 #endif 225 #ifdef COMPILER2 226 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER_WITH_TYPE, 227 C2_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 228 C2_PRODUCT_FLAG_MEMBER_WITH_TYPE, 229 C2_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 230 C2_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 231 C2_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE, 232 C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 233 IGNORE_RANGE, 234 IGNORE_CONSTRAINT) | 27 28 #include "runtime/globals.hpp" 29 #include "utilities/macros.hpp" 30 #include "utilities/top.hpp" 31 32 // Construct enum of Flag_<cmdline-arg> constants. 33 34 // Parenthesis left off in the following for the enum decl below. 35 #define FLAG_MEMBER(flag) Flag_##flag 36 37 #define RUNTIME_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 38 #define RUNTIME_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 39 #define RUNTIME_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 40 #define RUNTIME_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 41 #define RUNTIME_MANAGEABLE_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 42 #define RUNTIME_PRODUCT_RW_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 43 #define RUNTIME_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 44 #define RUNTIME_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 45 #define RUNTIME_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 46 47 #define JVMCI_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 48 #define JVMCI_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 49 #define JVMCI_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 50 #define JVMCI_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 51 #define JVMCI_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 52 #define JVMCI_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 53 #define JVMCI_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 54 55 #ifdef _LP64 56 #define RUNTIME_LP64_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 57 #else 58 #define RUNTIME_LP64_PRODUCT_FLAG_MEMBER(type, name, value, doc) /* flag is constant */ 59 #endif // _LP64 60 61 #define C1_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 62 #define C1_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 63 #define C1_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 64 #define C1_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 65 #define C1_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 66 #define C1_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 67 68 #define C2_PRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 69 #define C2_PD_PRODUCT_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 70 #define C2_DIAGNOSTIC_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 71 #define C2_EXPERIMENTAL_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 72 #define C2_DEVELOP_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 73 #define C2_PD_DEVELOP_FLAG_MEMBER(type, name, doc) FLAG_MEMBER(name), 74 #define C2_NOTPRODUCT_FLAG_MEMBER(type, name, value, doc) FLAG_MEMBER(name), 96 RUNTIME_PD_DEVELOP_FLAG_MEMBER, \ 97 RUNTIME_PRODUCT_FLAG_MEMBER, \ 98 RUNTIME_PD_PRODUCT_FLAG_MEMBER, \ 99 RUNTIME_DIAGNOSTIC_FLAG_MEMBER, \ 100 RUNTIME_NOTPRODUCT_FLAG_MEMBER, \ 101 IGNORE_RANGE, \ 102 IGNORE_CONSTRAINT) 103 #if INCLUDE_ALL_GCS 104 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER, \ 105 RUNTIME_PD_DEVELOP_FLAG_MEMBER, \ 106 RUNTIME_PRODUCT_FLAG_MEMBER, \ 107 RUNTIME_PD_PRODUCT_FLAG_MEMBER, \ 108 RUNTIME_DIAGNOSTIC_FLAG_MEMBER, \ 109 RUNTIME_EXPERIMENTAL_FLAG_MEMBER, \ 110 RUNTIME_NOTPRODUCT_FLAG_MEMBER, \ 111 RUNTIME_MANAGEABLE_FLAG_MEMBER, \ 112 RUNTIME_PRODUCT_RW_FLAG_MEMBER, \ 113 IGNORE_RANGE, \ 114 IGNORE_CONSTRAINT) 115 #endif // INCLUDE_ALL_GCS 116 #if INCLUDE_JVMCI 117 JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_MEMBER, \ 118 JVMCI_PD_DEVELOP_FLAG_MEMBER, \ 119 JVMCI_PRODUCT_FLAG_MEMBER, \ 120 JVMCI_PD_PRODUCT_FLAG_MEMBER, \ 121 JVMCI_DIAGNOSTIC_FLAG_MEMBER, \ 122 JVMCI_EXPERIMENTAL_FLAG_MEMBER, \ 123 JVMCI_NOTPRODUCT_FLAG_MEMBER, \ 124 IGNORE_RANGE, \ 125 IGNORE_CONSTRAINT) 126 #endif // INCLUDE_JVMCI 127 #ifdef COMPILER1 128 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER, \ 129 C1_PD_DEVELOP_FLAG_MEMBER, \ 130 C1_PRODUCT_FLAG_MEMBER, \ 131 C1_PD_PRODUCT_FLAG_MEMBER, \ 132 C1_DIAGNOSTIC_FLAG_MEMBER, \ 133 C1_NOTPRODUCT_FLAG_MEMBER, \ 134 IGNORE_RANGE, \ 135 IGNORE_CONSTRAINT) 136 #endif 137 #ifdef COMPILER2 138 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER, \ 139 C2_PD_DEVELOP_FLAG_MEMBER, \ 140 C2_PRODUCT_FLAG_MEMBER, \ 141 C2_PD_PRODUCT_FLAG_MEMBER, \ 142 C2_DIAGNOSTIC_FLAG_MEMBER, \ 143 C2_EXPERIMENTAL_FLAG_MEMBER, \ 144 C2_NOTPRODUCT_FLAG_MEMBER, \ 145 IGNORE_RANGE, \ 146 IGNORE_CONSTRAINT) 153 IGNORE_RANGE, \ 154 IGNORE_CONSTRAINT) 155 COMMANDLINEFLAG_EXT 156 NUM_CommandLineFlag 157 } CommandLineFlag; 158 159 // Construct enum of Flag_<cmdline-arg>_<type> constants. 160 161 #define FLAG_MEMBER_WITH_TYPE(flag,type) Flag_##flag##_##type 162 163 #define RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 164 #define RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 165 #define RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 166 #define RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 167 #define RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 168 #define RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 169 #define RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 170 #define RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 171 #define RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 172 173 #define JVMCI_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 174 #define JVMCI_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 175 #define JVMCI_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 176 #define JVMCI_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 177 #define JVMCI_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 178 #define JVMCI_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 179 #define JVMCI_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 180 181 #define C1_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 182 #define C1_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 183 #define C1_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 184 #define C1_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 185 #define C1_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 186 #define C1_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 187 188 #ifdef _LP64 189 #define RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 190 #else 191 #define RUNTIME_LP64_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) /* flag is constant */ 192 #endif // _LP64 193 194 #define C2_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 195 #define C2_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 196 #define C2_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 197 #define C2_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 198 #define C2_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 199 #define C2_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE(type, name, doc) FLAG_MEMBER_WITH_TYPE(name,type), 200 #define C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE(type, name, value, doc) FLAG_MEMBER_WITH_TYPE(name,type), 222 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 223 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, 224 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 225 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 226 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 227 IGNORE_RANGE, 228 IGNORE_CONSTRAINT) 229 #if INCLUDE_ALL_GCS 230 G1_FLAGS(RUNTIME_DEVELOP_FLAG_MEMBER_WITH_TYPE, 231 RUNTIME_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 232 RUNTIME_PRODUCT_FLAG_MEMBER_WITH_TYPE, 233 RUNTIME_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 234 RUNTIME_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 235 RUNTIME_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE, 236 RUNTIME_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 237 RUNTIME_MANAGEABLE_FLAG_MEMBER_WITH_TYPE, 238 RUNTIME_PRODUCT_RW_FLAG_MEMBER_WITH_TYPE, 239 IGNORE_RANGE, 240 IGNORE_CONSTRAINT) 241 #endif // INCLUDE_ALL_GCS 242 #if INCLUDE_JVMCI 243 JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_MEMBER_WITH_TYPE, 244 JVMCI_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 245 JVMCI_PRODUCT_FLAG_MEMBER_WITH_TYPE, 246 JVMCI_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 247 JVMCI_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 248 JVMCI_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE, 249 JVMCI_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 250 IGNORE_RANGE, 251 IGNORE_CONSTRAINT) 252 #endif // INCLUDE_JVMCI 253 #ifdef COMPILER1 254 C1_FLAGS(C1_DEVELOP_FLAG_MEMBER_WITH_TYPE, 255 C1_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 256 C1_PRODUCT_FLAG_MEMBER_WITH_TYPE, 257 C1_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 258 C1_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 259 C1_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 260 IGNORE_RANGE, 261 IGNORE_CONSTRAINT) 262 #endif 263 #ifdef COMPILER2 264 C2_FLAGS(C2_DEVELOP_FLAG_MEMBER_WITH_TYPE, 265 C2_PD_DEVELOP_FLAG_MEMBER_WITH_TYPE, 266 C2_PRODUCT_FLAG_MEMBER_WITH_TYPE, 267 C2_PD_PRODUCT_FLAG_MEMBER_WITH_TYPE, 268 C2_DIAGNOSTIC_FLAG_MEMBER_WITH_TYPE, 269 C2_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE, 270 C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE, 271 IGNORE_RANGE, 272 IGNORE_CONSTRAINT) |