< prev index next >

src/share/vm/runtime/commandLineFlagRangeList.cpp

Print this page
rev 9473 : [mq]: webrev.00


 233 
 234 // No constraint emitting
 235 void emit_range_no(...)                         { /* NOP */ }
 236 
 237 // No constraint emitting if function argument is NOT provided
 238 void emit_range_bool(const char* /*name*/)      { /* NOP */ }
 239 void emit_range_ccstr(const char* /*name*/)     { /* NOP */ }
 240 void emit_range_ccstrlist(const char* /*name*/) { /* NOP */ }
 241 void emit_range_int(const char* /*name*/)       { /* NOP */ }
 242 void emit_range_intx(const char* /*name*/)      { /* NOP */ }
 243 void emit_range_uint(const char* /*name*/)      { /* NOP */ }
 244 void emit_range_uintx(const char* /*name*/)     { /* NOP */ }
 245 void emit_range_uint64_t(const char* /*name*/)  { /* NOP */ }
 246 void emit_range_size_t(const char* /*name*/)    { /* NOP */ }
 247 void emit_range_double(const char* /*name*/)    { /* NOP */ }
 248 
 249 // CommandLineFlagRange emitting code functions if range arguments are provided
 250 void emit_range_intx(const char* name, intx min, intx max) {
 251   CommandLineFlagRangeList::add(new CommandLineFlagRange_intx(name, min, max));
 252 }



 253 void emit_range_uintx(const char* name, uintx min, uintx max) {
 254   CommandLineFlagRangeList::add(new CommandLineFlagRange_uintx(name, min, max));
 255 }
 256 void emit_range_uint64_t(const char* name, uint64_t min, uint64_t max) {
 257   CommandLineFlagRangeList::add(new CommandLineFlagRange_uint64_t(name, min, max));
 258 }
 259 void emit_range_size_t(const char* name, size_t min, size_t max) {
 260   CommandLineFlagRangeList::add(new CommandLineFlagRange_size_t(name, min, max));
 261 }
 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 320
 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 




 233 
 234 // No constraint emitting
 235 void emit_range_no(...)                         { /* NOP */ }
 236 
 237 // No constraint emitting if function argument is NOT provided
 238 void emit_range_bool(const char* /*name*/)      { /* NOP */ }
 239 void emit_range_ccstr(const char* /*name*/)     { /* NOP */ }
 240 void emit_range_ccstrlist(const char* /*name*/) { /* NOP */ }
 241 void emit_range_int(const char* /*name*/)       { /* NOP */ }
 242 void emit_range_intx(const char* /*name*/)      { /* NOP */ }
 243 void emit_range_uint(const char* /*name*/)      { /* NOP */ }
 244 void emit_range_uintx(const char* /*name*/)     { /* NOP */ }
 245 void emit_range_uint64_t(const char* /*name*/)  { /* NOP */ }
 246 void emit_range_size_t(const char* /*name*/)    { /* NOP */ }
 247 void emit_range_double(const char* /*name*/)    { /* NOP */ }
 248 
 249 // CommandLineFlagRange emitting code functions if range arguments are provided
 250 void emit_range_intx(const char* name, intx min, intx max) {
 251   CommandLineFlagRangeList::add(new CommandLineFlagRange_intx(name, min, max));
 252 }
 253 void emit_range_uint(const char* name, uint min, uint max) {
 254   CommandLineFlagRangeList::add(new CommandLineFlagRange_uint(name, min, max));
 255 }
 256 void emit_range_uintx(const char* name, uintx min, uintx max) {
 257   CommandLineFlagRangeList::add(new CommandLineFlagRange_uintx(name, min, max));
 258 }
 259 void emit_range_uint64_t(const char* name, uint64_t min, uint64_t max) {
 260   CommandLineFlagRangeList::add(new CommandLineFlagRange_uint64_t(name, min, max));
 261 }
 262 void emit_range_size_t(const char* name, size_t min, size_t max) {
 263   CommandLineFlagRangeList::add(new CommandLineFlagRange_size_t(name, min, max));
 264 }
 265 void emit_range_double(const char* name, double min, double max) {
 266   CommandLineFlagRangeList::add(new CommandLineFlagRange_double(name, min, max));
 267 }
 268 
 269 // Generate code to call emit_range_xxx function
 270 #define EMIT_RANGE_PRODUCT_FLAG(type, name, value, doc)      ); emit_range_##type(#name
 271 #define EMIT_RANGE_COMMERCIAL_FLAG(type, name, value, doc)   ); emit_range_##type(#name
 272 #define EMIT_RANGE_DIAGNOSTIC_FLAG(type, name, value, doc)   ); emit_range_##type(#name
 273 #define EMIT_RANGE_EXPERIMENTAL_FLAG(type, name, value, doc) ); emit_range_##type(#name
 274 #define EMIT_RANGE_MANAGEABLE_FLAG(type, name, value, doc)   ); emit_range_##type(#name
 275 #define EMIT_RANGE_PRODUCT_RW_FLAG(type, name, value, doc)   ); emit_range_##type(#name
 276 #define EMIT_RANGE_PD_PRODUCT_FLAG(type, name, doc)          ); emit_range_##type(#name
 277 #define EMIT_RANGE_DEVELOPER_FLAG(type, name, value, doc)    ); emit_range_##type(#name
 278 #define EMIT_RANGE_PD_DEVELOPER_FLAG(type, name, doc)        ); emit_range_##type(#name
 279 #define EMIT_RANGE_NOTPRODUCT_FLAG(type, name, value, doc)   ); emit_range_##type(#name
 280 #define EMIT_RANGE_LP64_PRODUCT_FLAG(type, name, value, doc) ); emit_range_##type(#name
 281 
 282 // Generate func argument to pass into emit_range_xxx functions
 283 #define EMIT_RANGE_CHECK(a, b)                               , a, b
 284 
 285 #define INITIAL_RANGES_SIZE 379
 286 GrowableArray<CommandLineFlagRange*>* CommandLineFlagRangeList::_ranges = NULL;
 287 
 288 // Check the ranges of all flags that have them
 289 void CommandLineFlagRangeList::init(void) {
 290 
 291   _ranges = new (ResourceObj::C_HEAP, mtInternal) GrowableArray<CommandLineFlagRange*>(INITIAL_RANGES_SIZE, true);
 292 
 293   emit_range_no(NULL RUNTIME_FLAGS(EMIT_RANGE_DEVELOPER_FLAG,
 294                                    EMIT_RANGE_PD_DEVELOPER_FLAG,
 295                                    EMIT_RANGE_PRODUCT_FLAG,
 296                                    EMIT_RANGE_PD_PRODUCT_FLAG,
 297                                    EMIT_RANGE_DIAGNOSTIC_FLAG,
 298                                    EMIT_RANGE_EXPERIMENTAL_FLAG,
 299                                    EMIT_RANGE_NOTPRODUCT_FLAG,
 300                                    EMIT_RANGE_MANAGEABLE_FLAG,
 301                                    EMIT_RANGE_PRODUCT_RW_FLAG,
 302                                    EMIT_RANGE_LP64_PRODUCT_FLAG,
 303                                    EMIT_RANGE_CHECK,
 304                                    IGNORE_CONSTRAINT) );
 305 


< prev index next >