15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "jvmci/jvmci_globals.hpp"
27 #include "utilities/defaultStream.hpp"
28 #include "runtime/globals_extension.hpp"
29
30 JVMCI_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \
31 MATERIALIZE_PD_DEVELOPER_FLAG, \
32 MATERIALIZE_PRODUCT_FLAG, \
33 MATERIALIZE_PD_PRODUCT_FLAG, \
34 MATERIALIZE_DIAGNOSTIC_FLAG, \
35 MATERIALIZE_EXPERIMENTAL_FLAG, \
36 MATERIALIZE_NOTPRODUCT_FLAG,
37 IGNORE_RANGE, \
38 IGNORE_CONSTRAINT)
39
40 #define JVMCI_IGNORE_FLAG_FOUR_PARAM(type, name, value, doc)
41 #define JVMCI_IGNORE_FLAG_THREE_PARAM(type, name, doc)
42
43 // Return true if jvmci flags are consistent.
44 bool JVMCIGlobals::check_jvmci_flags_are_consistent() {
45 if (EnableJVMCI) {
46 return true;
47 }
48
49 // "FLAG_IS_DEFAULT" fail count.
50 int fail_count = 0;
51 // Number of "FLAG_IS_DEFAULT" fails that should be skipped before code
52 // detect real consistency failure.
53 int skip_fail_count;
54
71
72 #define EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(FLAG) \
73 if (!FLAG_IS_DEFAULT(FLAG)) { \
74 fail_count++; \
75 if (fail_count > skip_fail_count) { \
76 return false; \
77 } \
78 }
79
80 #define JVMCI_DIAGNOSTIC_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name)
81 #define JVMCI_EXPERIMENTAL_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name)
82
83 // Check consistency of diagnostic flags if UnlockDiagnosticVMOptions is true
84 // or not default. UnlockDiagnosticVMOptions is default true in debug builds.
85 if (UnlockDiagnosticVMOptions || !FLAG_IS_DEFAULT(UnlockDiagnosticVMOptions)) {
86 JVMCI_FLAGS(JVMCI_IGNORE_FLAG_FOUR_PARAM, \
87 JVMCI_IGNORE_FLAG_THREE_PARAM, \
88 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
89 JVMCI_IGNORE_FLAG_THREE_PARAM, \
90 JVMCI_DIAGNOSTIC_FLAG_VALUE_CHANGED_CHECK_CODE, \
91 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
92 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
93 IGNORE_RANGE, \
94 IGNORE_CONSTRAINT)
95 }
96
97 // Check consistency of experimental flags if UnlockExperimentalVMOptions is
98 // true or not default.
99 if (UnlockExperimentalVMOptions || !FLAG_IS_DEFAULT(UnlockExperimentalVMOptions)) {
100 JVMCI_FLAGS(JVMCI_IGNORE_FLAG_FOUR_PARAM, \
101 JVMCI_IGNORE_FLAG_THREE_PARAM, \
102 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
103 JVMCI_IGNORE_FLAG_THREE_PARAM, \
104 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
105 JVMCI_EXPERIMENTAL_FLAG_VALUE_CHANGED_CHECK_CODE, \
106 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
107 IGNORE_RANGE, \
108 IGNORE_CONSTRAINT)
109 }
110
111 #ifndef PRODUCT
112 #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)
114 #define JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name)
115 #else
116 #define JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc)
117 #define JVMCI_PD_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, doc)
118 #define JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc)
119 #endif
120
121 #define JVMCI_PD_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name)
122 #define JVMCI_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name)
123
124 JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE, \
125 JVMCI_PD_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE, \
126 JVMCI_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE, \
127 JVMCI_PD_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE, \
128 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
129 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
130 JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE, \
131 IGNORE_RANGE, \
132 IGNORE_CONSTRAINT)
133
134 #undef EMIT_FLAG_VALUE_CHANGED_CHECK_CODE
135 #undef JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE
136 #undef JVMCI_PD_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE
137 #undef JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE
138 #undef JVMCI_DIAGNOSTIC_FLAG_VALUE_CHANGED_CHECK_CODE
139 #undef JVMCI_PD_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE
140 #undef JVMCI_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE
141 #undef JVMCI_EXPERIMENTAL_FLAG_VALUE_CHANGED_CHECK_CODE
142
143 return true;
144 }
145
146 // Print jvmci arguments inconsistency error message.
147 void JVMCIGlobals::print_jvmci_args_inconsistency_error_message() {
148 const char* error_msg = "Improperly specified VM option '%s'\n";
149 jio_fprintf(defaultStream::error_stream(), "EnableJVMCI must be enabled\n");
150
151 #define EMIT_CHECK_PRINT_ERR_MSG_CODE(FLAG) \
152 if (!FLAG_IS_DEFAULT(FLAG)) { \
153 if (strcmp(#FLAG, "EnableJVMCI")) { \
154 jio_fprintf(defaultStream::error_stream(), error_msg, #FLAG); \
155 } \
156 }
157
158 #define JVMCI_DIAGNOSTIC_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name)
159 #define JVMCI_EXPERIMENTAL_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name)
160
161 if (UnlockDiagnosticVMOptions || !FLAG_IS_DEFAULT(UnlockDiagnosticVMOptions)) {
162 JVMCI_FLAGS(JVMCI_IGNORE_FLAG_FOUR_PARAM, \
163 JVMCI_IGNORE_FLAG_THREE_PARAM, \
164 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
165 JVMCI_IGNORE_FLAG_THREE_PARAM, \
166 JVMCI_DIAGNOSTIC_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
167 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
168 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
169 IGNORE_RANGE, \
170 IGNORE_CONSTRAINT)
171 }
172
173 if (UnlockExperimentalVMOptions || !FLAG_IS_DEFAULT(UnlockExperimentalVMOptions)) {
174 JVMCI_FLAGS(JVMCI_IGNORE_FLAG_FOUR_PARAM, \
175 JVMCI_IGNORE_FLAG_THREE_PARAM, \
176 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
177 JVMCI_IGNORE_FLAG_THREE_PARAM, \
178 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
179 JVMCI_EXPERIMENTAL_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
180 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
181 IGNORE_RANGE, \
182 IGNORE_CONSTRAINT)
183 }
184
185 #ifndef PRODUCT
186 #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)
188 #define JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name)
189 #else
190 #define JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc)
191 #define JVMCI_PD_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, doc)
192 #define JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc)
193 #endif
194
195 #define JVMCI_PD_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name)
196 #define JVMCI_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name)
197
198 JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
199 JVMCI_PD_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
200 JVMCI_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
201 JVMCI_PD_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
202 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
203 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
204 JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
205 IGNORE_RANGE, \
206 IGNORE_CONSTRAINT)
207
208 #undef EMIT_CHECK_PRINT_ERR_MSG_CODE
209 #undef JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE
210 #undef JVMCI_PD_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE
211 #undef JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE
212 #undef JVMCI_PD_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE
213 #undef JVMCI_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE
214 #undef JVMCI_DIAGNOSTIC_FLAG_CHECK_PRINT_ERR_MSG_CODE
215 #undef JVMCI_EXPERIMENTAL_FLAG_CHECK_PRINT_ERR_MSG_CODE
216
217 }
218
219 #undef JVMCI_IGNORE_FLAG_FOUR_PARAM
220 #undef JVMCI_IGNORE_FLAG_THREE_PARAM
|
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "jvmci/jvmci_globals.hpp"
27 #include "utilities/defaultStream.hpp"
28 #include "runtime/globals_extension.hpp"
29
30 JVMCI_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \
31 MATERIALIZE_PD_DEVELOPER_FLAG, \
32 MATERIALIZE_PRODUCT_FLAG, \
33 MATERIALIZE_PD_PRODUCT_FLAG, \
34 MATERIALIZE_DIAGNOSTIC_FLAG, \
35 MATERIALIZE_PD_DIAGNOSTIC_FLAG, \
36 MATERIALIZE_EXPERIMENTAL_FLAG, \
37 MATERIALIZE_NOTPRODUCT_FLAG,
38 IGNORE_RANGE, \
39 IGNORE_CONSTRAINT)
40
41 #define JVMCI_IGNORE_FLAG_FOUR_PARAM(type, name, value, doc)
42 #define JVMCI_IGNORE_FLAG_THREE_PARAM(type, name, doc)
43
44 // Return true if jvmci flags are consistent.
45 bool JVMCIGlobals::check_jvmci_flags_are_consistent() {
46 if (EnableJVMCI) {
47 return true;
48 }
49
50 // "FLAG_IS_DEFAULT" fail count.
51 int fail_count = 0;
52 // Number of "FLAG_IS_DEFAULT" fails that should be skipped before code
53 // detect real consistency failure.
54 int skip_fail_count;
55
72
73 #define EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(FLAG) \
74 if (!FLAG_IS_DEFAULT(FLAG)) { \
75 fail_count++; \
76 if (fail_count > skip_fail_count) { \
77 return false; \
78 } \
79 }
80
81 #define JVMCI_DIAGNOSTIC_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name)
82 #define JVMCI_EXPERIMENTAL_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name)
83
84 // Check consistency of diagnostic flags if UnlockDiagnosticVMOptions is true
85 // or not default. UnlockDiagnosticVMOptions is default true in debug builds.
86 if (UnlockDiagnosticVMOptions || !FLAG_IS_DEFAULT(UnlockDiagnosticVMOptions)) {
87 JVMCI_FLAGS(JVMCI_IGNORE_FLAG_FOUR_PARAM, \
88 JVMCI_IGNORE_FLAG_THREE_PARAM, \
89 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
90 JVMCI_IGNORE_FLAG_THREE_PARAM, \
91 JVMCI_DIAGNOSTIC_FLAG_VALUE_CHANGED_CHECK_CODE, \
92 JVMCI_IGNORE_FLAG_THREE_PARAM, \
93 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
94 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
95 IGNORE_RANGE, \
96 IGNORE_CONSTRAINT)
97 }
98
99 // Check consistency of experimental flags if UnlockExperimentalVMOptions is
100 // true or not default.
101 if (UnlockExperimentalVMOptions || !FLAG_IS_DEFAULT(UnlockExperimentalVMOptions)) {
102 JVMCI_FLAGS(JVMCI_IGNORE_FLAG_FOUR_PARAM, \
103 JVMCI_IGNORE_FLAG_THREE_PARAM, \
104 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
105 JVMCI_IGNORE_FLAG_THREE_PARAM, \
106 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
107 JVMCI_IGNORE_FLAG_THREE_PARAM, \
108 JVMCI_EXPERIMENTAL_FLAG_VALUE_CHANGED_CHECK_CODE, \
109 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
110 IGNORE_RANGE, \
111 IGNORE_CONSTRAINT)
112 }
113
114 #ifndef PRODUCT
115 #define JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, 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)
117 #define JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name)
118 #else
119 #define JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc)
120 #define JVMCI_PD_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, doc)
121 #define JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc)
122 #endif
123
124 #define JVMCI_PD_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name)
125 #define JVMCI_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE(type, name, value, doc) EMIT_FLAG_VALUE_CHANGED_CHECK_CODE(name)
126
127 JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE, \
128 JVMCI_PD_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE, \
129 JVMCI_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE, \
130 JVMCI_PD_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE, \
131 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
132 JVMCI_IGNORE_FLAG_THREE_PARAM, \
133 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
134 JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE, \
135 IGNORE_RANGE, \
136 IGNORE_CONSTRAINT)
137
138 #undef EMIT_FLAG_VALUE_CHANGED_CHECK_CODE
139 #undef JVMCI_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE
140 #undef JVMCI_PD_DEVELOP_FLAG_VALUE_CHANGED_CHECK_CODE
141 #undef JVMCI_NOTPRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE
142 #undef JVMCI_DIAGNOSTIC_FLAG_VALUE_CHANGED_CHECK_CODE
143 #undef JVMCI_PD_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE
144 #undef JVMCI_PRODUCT_FLAG_VALUE_CHANGED_CHECK_CODE
145 #undef JVMCI_EXPERIMENTAL_FLAG_VALUE_CHANGED_CHECK_CODE
146
147 return true;
148 }
149
150 // Print jvmci arguments inconsistency error message.
151 void JVMCIGlobals::print_jvmci_args_inconsistency_error_message() {
152 const char* error_msg = "Improperly specified VM option '%s'\n";
153 jio_fprintf(defaultStream::error_stream(), "EnableJVMCI must be enabled\n");
154
155 #define EMIT_CHECK_PRINT_ERR_MSG_CODE(FLAG) \
156 if (!FLAG_IS_DEFAULT(FLAG)) { \
157 if (strcmp(#FLAG, "EnableJVMCI")) { \
158 jio_fprintf(defaultStream::error_stream(), error_msg, #FLAG); \
159 } \
160 }
161
162 #define JVMCI_DIAGNOSTIC_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name)
163 #define JVMCI_EXPERIMENTAL_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name)
164
165 if (UnlockDiagnosticVMOptions || !FLAG_IS_DEFAULT(UnlockDiagnosticVMOptions)) {
166 JVMCI_FLAGS(JVMCI_IGNORE_FLAG_FOUR_PARAM, \
167 JVMCI_IGNORE_FLAG_THREE_PARAM, \
168 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
169 JVMCI_IGNORE_FLAG_THREE_PARAM, \
170 JVMCI_DIAGNOSTIC_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
171 JVMCI_IGNORE_FLAG_THREE_PARAM, \
172 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
173 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
174 IGNORE_RANGE, \
175 IGNORE_CONSTRAINT)
176 }
177
178 if (UnlockExperimentalVMOptions || !FLAG_IS_DEFAULT(UnlockExperimentalVMOptions)) {
179 JVMCI_FLAGS(JVMCI_IGNORE_FLAG_FOUR_PARAM, \
180 JVMCI_IGNORE_FLAG_THREE_PARAM, \
181 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
182 JVMCI_IGNORE_FLAG_THREE_PARAM, \
183 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
184 JVMCI_IGNORE_FLAG_THREE_PARAM, \
185 JVMCI_EXPERIMENTAL_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
186 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
187 IGNORE_RANGE, \
188 IGNORE_CONSTRAINT)
189 }
190
191 #ifndef PRODUCT
192 #define JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, 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)
194 #define JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name)
195 #else
196 #define JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc)
197 #define JVMCI_PD_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, doc)
198 #define JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc)
199 #endif
200
201 #define JVMCI_PD_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name)
202 #define JVMCI_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE(type, name, value, doc) EMIT_CHECK_PRINT_ERR_MSG_CODE(name)
203
204 JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
205 JVMCI_PD_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
206 JVMCI_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
207 JVMCI_PD_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
208 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
209 JVMCI_IGNORE_FLAG_THREE_PARAM, \
210 JVMCI_IGNORE_FLAG_FOUR_PARAM, \
211 JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE, \
212 IGNORE_RANGE, \
213 IGNORE_CONSTRAINT)
214
215 #undef EMIT_CHECK_PRINT_ERR_MSG_CODE
216 #undef JVMCI_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE
217 #undef JVMCI_PD_DEVELOP_FLAG_CHECK_PRINT_ERR_MSG_CODE
218 #undef JVMCI_NOTPRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE
219 #undef JVMCI_PD_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE
220 #undef JVMCI_PRODUCT_FLAG_CHECK_PRINT_ERR_MSG_CODE
221 #undef JVMCI_DIAGNOSTIC_FLAG_CHECK_PRINT_ERR_MSG_CODE
222 #undef JVMCI_EXPERIMENTAL_FLAG_CHECK_PRINT_ERR_MSG_CODE
223
224 }
225
226 #undef JVMCI_IGNORE_FLAG_FOUR_PARAM
227 #undef JVMCI_IGNORE_FLAG_THREE_PARAM
|