262 void emit_range_double(const char* name, double min, double max) {
263 CommandLineFlagRangeList::add(new CommandLineFlagRange_double(name, min, max));
264 }
265
266 // Generate code to call emit_range_xxx function
267 #define EMIT_RANGE_PRODUCT_FLAG(type, name, value, doc) ); emit_range_##type(#name
268 #define EMIT_RANGE_COMMERCIAL_FLAG(type, name, value, doc) ); emit_range_##type(#name
269 #define EMIT_RANGE_DIAGNOSTIC_FLAG(type, name, value, doc) ); emit_range_##type(#name
270 #define EMIT_RANGE_EXPERIMENTAL_FLAG(type, name, value, doc) ); emit_range_##type(#name
271 #define EMIT_RANGE_MANAGEABLE_FLAG(type, name, value, doc) ); emit_range_##type(#name
272 #define EMIT_RANGE_PRODUCT_RW_FLAG(type, name, value, doc) ); emit_range_##type(#name
273 #define EMIT_RANGE_PD_PRODUCT_FLAG(type, name, doc) ); emit_range_##type(#name
274 #define EMIT_RANGE_DEVELOPER_FLAG(type, name, value, doc) ); emit_range_##type(#name
275 #define EMIT_RANGE_PD_DEVELOPER_FLAG(type, name, doc) ); emit_range_##type(#name
276 #define EMIT_RANGE_NOTPRODUCT_FLAG(type, name, value, doc) ); emit_range_##type(#name
277 #define EMIT_RANGE_LP64_PRODUCT_FLAG(type, name, value, doc) ); emit_range_##type(#name
278
279 // Generate func argument to pass into emit_range_xxx functions
280 #define EMIT_RANGE_CHECK(a, b) , a, b
281
282 #define INITIAL_RANGES_SIZE 204
283 GrowableArray<CommandLineFlagRange*>* CommandLineFlagRangeList::_ranges = NULL;
284
285 // Check the ranges of all flags that have them
286 void CommandLineFlagRangeList::init(void) {
287
288 _ranges = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<CommandLineFlagRange*>(INITIAL_RANGES_SIZE, true);
289
290 emit_range_no(NULL RUNTIME_FLAGS(EMIT_RANGE_DEVELOPER_FLAG,
291 EMIT_RANGE_PD_DEVELOPER_FLAG,
292 EMIT_RANGE_PRODUCT_FLAG,
293 EMIT_RANGE_PD_PRODUCT_FLAG,
294 EMIT_RANGE_DIAGNOSTIC_FLAG,
295 EMIT_RANGE_EXPERIMENTAL_FLAG,
296 EMIT_RANGE_NOTPRODUCT_FLAG,
297 EMIT_RANGE_MANAGEABLE_FLAG,
298 EMIT_RANGE_PRODUCT_RW_FLAG,
299 EMIT_RANGE_LP64_PRODUCT_FLAG,
300 EMIT_RANGE_CHECK,
301 IGNORE_CONSTRAINT) );
302
|
262 void emit_range_double(const char* name, double min, double max) {
263 CommandLineFlagRangeList::add(new CommandLineFlagRange_double(name, min, max));
264 }
265
266 // Generate code to call emit_range_xxx function
267 #define EMIT_RANGE_PRODUCT_FLAG(type, name, value, doc) ); emit_range_##type(#name
268 #define EMIT_RANGE_COMMERCIAL_FLAG(type, name, value, doc) ); emit_range_##type(#name
269 #define EMIT_RANGE_DIAGNOSTIC_FLAG(type, name, value, doc) ); emit_range_##type(#name
270 #define EMIT_RANGE_EXPERIMENTAL_FLAG(type, name, value, doc) ); emit_range_##type(#name
271 #define EMIT_RANGE_MANAGEABLE_FLAG(type, name, value, doc) ); emit_range_##type(#name
272 #define EMIT_RANGE_PRODUCT_RW_FLAG(type, name, value, doc) ); emit_range_##type(#name
273 #define EMIT_RANGE_PD_PRODUCT_FLAG(type, name, doc) ); emit_range_##type(#name
274 #define EMIT_RANGE_DEVELOPER_FLAG(type, name, value, doc) ); emit_range_##type(#name
275 #define EMIT_RANGE_PD_DEVELOPER_FLAG(type, name, doc) ); emit_range_##type(#name
276 #define EMIT_RANGE_NOTPRODUCT_FLAG(type, name, value, doc) ); emit_range_##type(#name
277 #define EMIT_RANGE_LP64_PRODUCT_FLAG(type, name, value, doc) ); emit_range_##type(#name
278
279 // Generate func argument to pass into emit_range_xxx functions
280 #define EMIT_RANGE_CHECK(a, b) , a, b
281
282 #define INITIAL_RANGES_SIZE 319
283 GrowableArray<CommandLineFlagRange*>* CommandLineFlagRangeList::_ranges = NULL;
284
285 // Check the ranges of all flags that have them
286 void CommandLineFlagRangeList::init(void) {
287
288 _ranges = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<CommandLineFlagRange*>(INITIAL_RANGES_SIZE, true);
289
290 emit_range_no(NULL RUNTIME_FLAGS(EMIT_RANGE_DEVELOPER_FLAG,
291 EMIT_RANGE_PD_DEVELOPER_FLAG,
292 EMIT_RANGE_PRODUCT_FLAG,
293 EMIT_RANGE_PD_PRODUCT_FLAG,
294 EMIT_RANGE_DIAGNOSTIC_FLAG,
295 EMIT_RANGE_EXPERIMENTAL_FLAG,
296 EMIT_RANGE_NOTPRODUCT_FLAG,
297 EMIT_RANGE_MANAGEABLE_FLAG,
298 EMIT_RANGE_PRODUCT_RW_FLAG,
299 EMIT_RANGE_LP64_PRODUCT_FLAG,
300 EMIT_RANGE_CHECK,
301 IGNORE_CONSTRAINT) );
302
|