equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
33 MATERIALIZE_PD_PRODUCT_FLAG, \ |
33 MATERIALIZE_PD_PRODUCT_FLAG, \ |
34 MATERIALIZE_DIAGNOSTIC_FLAG, \ |
34 MATERIALIZE_DIAGNOSTIC_FLAG, \ |
35 MATERIALIZE_EXPERIMENTAL_FLAG, \ |
35 MATERIALIZE_EXPERIMENTAL_FLAG, \ |
36 MATERIALIZE_NOTPRODUCT_FLAG, |
36 MATERIALIZE_NOTPRODUCT_FLAG, |
37 IGNORE_RANGE, \ |
37 IGNORE_RANGE, \ |
38 IGNORE_CONSTRAINT) |
38 IGNORE_CONSTRAINT, \ |
|
39 IGNORE_WRITEABLE) |
39 |
40 |
40 #define JVMCI_IGNORE_FLAG_FOUR_PARAM(type, name, value, doc) |
41 #define JVMCI_IGNORE_FLAG_FOUR_PARAM(type, name, value, doc) |
41 #define JVMCI_IGNORE_FLAG_THREE_PARAM(type, name, doc) |
42 #define JVMCI_IGNORE_FLAG_THREE_PARAM(type, name, doc) |
42 |
43 |
43 // Return true if jvmci flags are consistent. |
44 // Return true if jvmci flags are consistent. |
89 JVMCI_IGNORE_FLAG_THREE_PARAM, \ |
90 JVMCI_IGNORE_FLAG_THREE_PARAM, \ |
90 JVMCI_DIAGNOSTIC_FLAG_VALUE_CHANGED_CHECK_CODE, \ |
91 JVMCI_DIAGNOSTIC_FLAG_VALUE_CHANGED_CHECK_CODE, \ |
91 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
92 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
92 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
93 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
93 IGNORE_RANGE, \ |
94 IGNORE_RANGE, \ |
94 IGNORE_CONSTRAINT) |
95 IGNORE_CONSTRAINT, \ |
|
96 IGNORE_WRITEABLE) |
95 } |
97 } |
96 |
98 |
97 // Check consistency of experimental flags if UnlockExperimentalVMOptions is |
99 // Check consistency of experimental flags if UnlockExperimentalVMOptions is |
98 // true or not default. |
100 // true or not default. |
99 if (UnlockExperimentalVMOptions || !FLAG_IS_DEFAULT(UnlockExperimentalVMOptions)) { |
101 if (UnlockExperimentalVMOptions || !FLAG_IS_DEFAULT(UnlockExperimentalVMOptions)) { |
103 JVMCI_IGNORE_FLAG_THREE_PARAM, \ |
105 JVMCI_IGNORE_FLAG_THREE_PARAM, \ |
104 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
106 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
105 JVMCI_EXPERIMENTAL_FLAG_VALUE_CHANGED_CHECK_CODE, \ |
107 JVMCI_EXPERIMENTAL_FLAG_VALUE_CHANGED_CHECK_CODE, \ |
106 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
108 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
107 IGNORE_RANGE, \ |
109 IGNORE_RANGE, \ |
108 IGNORE_CONSTRAINT) |
110 IGNORE_CONSTRAINT, \ |
|
111 IGNORE_WRITEABLE) |
109 } |
112 } |
110 |
113 |
111 #ifndef PRODUCT |
114 #ifndef PRODUCT |
112 #define JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name) |
115 #define JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name) |
113 #define JVMCI_PD_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name) |
116 #define JVMCI_PD_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name) |
127 JVMCI_PD_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE, \ |
130 JVMCI_PD_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE, \ |
128 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
131 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
129 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
132 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
130 JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE, \ |
133 JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE, \ |
131 IGNORE_RANGE, \ |
134 IGNORE_RANGE, \ |
132 IGNORE_CONSTRAINT) |
135 IGNORE_CONSTRAINT, \ |
|
136 IGNORE_WRITEABLE) |
133 |
137 |
134 #undef EMIT_FLAG_VALUE_CHANGED_CHECK_CODE |
138 #undef EMIT_FLAG_VALUE_CHANGED_CHECK_CODE |
135 #undef JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE |
139 #undef JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE |
136 #undef JVMCI_PD_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE |
140 #undef JVMCI_PD_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE |
137 #undef JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE |
141 #undef JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE |
165 JVMCI_IGNORE_FLAG_THREE_PARAM, \ |
169 JVMCI_IGNORE_FLAG_THREE_PARAM, \ |
166 JVMCI_DIAGNOSTIC_FLAG_CHECK_PRINT_ERR_MSG_CODE, \ |
170 JVMCI_DIAGNOSTIC_FLAG_CHECK_PRINT_ERR_MSG_CODE, \ |
167 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
171 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
168 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
172 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
169 IGNORE_RANGE, \ |
173 IGNORE_RANGE, \ |
170 IGNORE_CONSTRAINT) |
174 IGNORE_CONSTRAINT, \ |
|
175 IGNORE_WRITEABLE) |
171 } |
176 } |
172 |
177 |
173 if (UnlockExperimentalVMOptions || !FLAG_IS_DEFAULT(UnlockExperimentalVMOptions)) { |
178 if (UnlockExperimentalVMOptions || !FLAG_IS_DEFAULT(UnlockExperimentalVMOptions)) { |
174 JVMCI_FLAGS(JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
179 JVMCI_FLAGS(JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
175 JVMCI_IGNORE_FLAG_THREE_PARAM, \ |
180 JVMCI_IGNORE_FLAG_THREE_PARAM, \ |
177 JVMCI_IGNORE_FLAG_THREE_PARAM, \ |
182 JVMCI_IGNORE_FLAG_THREE_PARAM, \ |
178 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
183 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
179 JVMCI_EXPERIMENTAL_FLAG_CHECK_PRINT_ERR_MSG_CODE, \ |
184 JVMCI_EXPERIMENTAL_FLAG_CHECK_PRINT_ERR_MSG_CODE, \ |
180 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
185 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
181 IGNORE_RANGE, \ |
186 IGNORE_RANGE, \ |
182 IGNORE_CONSTRAINT) |
187 IGNORE_CONSTRAINT, \ |
|
188 IGNORE_WRITEABLE) |
183 } |
189 } |
184 |
190 |
185 #ifndef PRODUCT |
191 #ifndef PRODUCT |
186 #define JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name) |
192 #define JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name) |
187 #define JVMCI_PD_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name) |
193 #define JVMCI_PD_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name) |
201 JVMCI_PD_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE, \ |
207 JVMCI_PD_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE, \ |
202 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
208 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
203 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
209 JVMCI_IGNORE_FLAG_FOUR_PARAM, \ |
204 JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE, \ |
210 JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE, \ |
205 IGNORE_RANGE, \ |
211 IGNORE_RANGE, \ |
206 IGNORE_CONSTRAINT) |
212 IGNORE_CONSTRAINT, \ |
|
213 IGNORE_WRITEABLE) |
207 |
214 |
208 #undef EMIT_CHECK_PRINT_ERR_MSG_CODE |
215 #undef EMIT_CHECK_PRINT_ERR_MSG_CODE |
209 #undef JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE |
216 #undef JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE |
210 #undef JVMCI_PD_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE |
217 #undef JVMCI_PD_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE |
211 #undef JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE |
218 #undef JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE |