< prev index next >

src/share/vm/runtime/globals.cpp

Print this page




  25 #include "precompiled.hpp"
  26 #include "memory/allocation.inline.hpp"
  27 #include "oops/oop.inline.hpp"
  28 #include "runtime/arguments.hpp"
  29 #include "runtime/globals.hpp"
  30 #include "runtime/globals_extension.hpp"
  31 #include "runtime/commandLineFlagConstraintList.hpp"
  32 #include "runtime/commandLineFlagRangeList.hpp"
  33 #include "runtime/os.hpp"
  34 #include "runtime/sharedRuntime.hpp"
  35 #include "trace/tracing.hpp"
  36 #include "utilities/macros.hpp"
  37 #include "utilities/ostream.hpp"
  38 #include "utilities/top.hpp"
  39 #if INCLUDE_ALL_GCS
  40 #include "gc/g1/g1_globals.hpp"
  41 #endif // INCLUDE_ALL_GCS
  42 #ifdef COMPILER1
  43 #include "c1/c1_globals.hpp"
  44 #endif



  45 #ifdef COMPILER2
  46 #include "opto/c2_globals.hpp"
  47 #endif
  48 #ifdef SHARK
  49 #include "shark/shark_globals.hpp"
  50 #endif
  51 
  52 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
  53 
  54 RUNTIME_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \
  55               MATERIALIZE_PD_DEVELOPER_FLAG, \
  56               MATERIALIZE_PRODUCT_FLAG, \
  57               MATERIALIZE_PD_PRODUCT_FLAG, \
  58               MATERIALIZE_DIAGNOSTIC_FLAG, \
  59               MATERIALIZE_EXPERIMENTAL_FLAG, \
  60               MATERIALIZE_NOTPRODUCT_FLAG, \
  61               MATERIALIZE_MANAGEABLE_FLAG, \
  62               MATERIALIZE_PRODUCT_RW_FLAG, \
  63               MATERIALIZE_LP64_PRODUCT_FLAG, \
  64               IGNORE_RANGE, \


 424 
 425 #ifndef PRODUCT
 426       if (withComments) {
 427         st->print("%s", _doc);
 428       }
 429 #endif
 430 
 431       st->cr();
 432 
 433     }
 434   }
 435 }
 436 
 437 void Flag::print_kind(outputStream* st) {
 438   struct Data {
 439     int flag;
 440     const char* name;
 441   };
 442 
 443   Data data[] = {

 444       { KIND_C1, "C1" },
 445       { KIND_C2, "C2" },
 446       { KIND_ARCH, "ARCH" },
 447       { KIND_SHARK, "SHARK" },
 448       { KIND_PLATFORM_DEPENDENT, "pd" },
 449       { KIND_PRODUCT, "product" },
 450       { KIND_MANAGEABLE, "manageable" },
 451       { KIND_DIAGNOSTIC, "diagnostic" },
 452       { KIND_EXPERIMENTAL, "experimental" },
 453       { KIND_COMMERCIAL, "commercial" },
 454       { KIND_NOT_PRODUCT, "notproduct" },
 455       { KIND_DEVELOP, "develop" },
 456       { KIND_LP64_PRODUCT, "lp64_product" },
 457       { KIND_READ_WRITE, "rw" },
 458       { -1, "" }
 459   };
 460 
 461   if ((_flags & KIND_MASK) != 0) {
 462     st->print("{");
 463     bool is_first = true;


 531     case Flag::SUCCESS: return "SUCCESS";
 532     default: ShouldNotReachHere(); return "NULL";
 533   }
 534 }
 535 
 536 // 4991491 do not "optimize out" the was_set false values: omitting them
 537 // tickles a Microsoft compiler bug causing flagTable to be malformed
 538 
 539 #define NAME(name) NOT_PRODUCT(&name) PRODUCT_ONLY(&CONST_##name)
 540 
 541 #define RUNTIME_PRODUCT_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_PRODUCT) },
 542 #define RUNTIME_PD_PRODUCT_FLAG_STRUCT(  type, name,        doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_PRODUCT | Flag::KIND_PLATFORM_DEPENDENT) },
 543 #define RUNTIME_DIAGNOSTIC_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DIAGNOSTIC) },
 544 #define RUNTIME_EXPERIMENTAL_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_EXPERIMENTAL) },
 545 #define RUNTIME_MANAGEABLE_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_MANAGEABLE) },
 546 #define RUNTIME_PRODUCT_RW_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_PRODUCT | Flag::KIND_READ_WRITE) },
 547 #define RUNTIME_DEVELOP_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DEVELOP) },
 548 #define RUNTIME_PD_DEVELOP_FLAG_STRUCT(  type, name,        doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
 549 #define RUNTIME_NOTPRODUCT_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_NOT_PRODUCT) },
 550 








 551 #ifdef _LP64
 552 #define RUNTIME_LP64_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_LP64_PRODUCT) },
 553 #else
 554 #define RUNTIME_LP64_PRODUCT_FLAG_STRUCT(type, name, value, doc) /* flag is constant */
 555 #endif // _LP64
 556 
 557 #define C1_PRODUCT_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_PRODUCT) },
 558 #define C1_PD_PRODUCT_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_PRODUCT | Flag::KIND_PLATFORM_DEPENDENT) },
 559 #define C1_DIAGNOSTIC_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DIAGNOSTIC) },
 560 #define C1_DEVELOP_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DEVELOP) },
 561 #define C1_PD_DEVELOP_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
 562 #define C1_NOTPRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_NOT_PRODUCT) },
 563 
 564 #define C2_PRODUCT_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_PRODUCT) },
 565 #define C2_PD_PRODUCT_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_PRODUCT | Flag::KIND_PLATFORM_DEPENDENT) },
 566 #define C2_DIAGNOSTIC_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DIAGNOSTIC) },
 567 #define C2_EXPERIMENTAL_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_EXPERIMENTAL) },
 568 #define C2_DEVELOP_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DEVELOP) },
 569 #define C2_PD_DEVELOP_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
 570 #define C2_NOTPRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_NOT_PRODUCT) },


 599                   RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
 600                   RUNTIME_PRODUCT_FLAG_STRUCT, \
 601                   RUNTIME_PD_PRODUCT_FLAG_STRUCT, \
 602                   RUNTIME_DIAGNOSTIC_FLAG_STRUCT, \
 603                   RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
 604                   IGNORE_RANGE, \
 605                   IGNORE_CONSTRAINT)
 606 #if INCLUDE_ALL_GCS
 607  G1_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, \
 608           RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
 609           RUNTIME_PRODUCT_FLAG_STRUCT, \
 610           RUNTIME_PD_PRODUCT_FLAG_STRUCT, \
 611           RUNTIME_DIAGNOSTIC_FLAG_STRUCT, \
 612           RUNTIME_EXPERIMENTAL_FLAG_STRUCT, \
 613           RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
 614           RUNTIME_MANAGEABLE_FLAG_STRUCT, \
 615           RUNTIME_PRODUCT_RW_FLAG_STRUCT, \
 616           IGNORE_RANGE, \
 617           IGNORE_CONSTRAINT)
 618 #endif // INCLUDE_ALL_GCS











 619 #ifdef COMPILER1
 620  C1_FLAGS(C1_DEVELOP_FLAG_STRUCT, \
 621           C1_PD_DEVELOP_FLAG_STRUCT, \
 622           C1_PRODUCT_FLAG_STRUCT, \
 623           C1_PD_PRODUCT_FLAG_STRUCT, \
 624           C1_DIAGNOSTIC_FLAG_STRUCT, \
 625           C1_NOTPRODUCT_FLAG_STRUCT, \
 626           IGNORE_RANGE, \
 627           IGNORE_CONSTRAINT)
 628 #endif // COMPILER1
 629 #ifdef COMPILER2
 630  C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, \
 631           C2_PD_DEVELOP_FLAG_STRUCT, \
 632           C2_PRODUCT_FLAG_STRUCT, \
 633           C2_PD_PRODUCT_FLAG_STRUCT, \
 634           C2_DIAGNOSTIC_FLAG_STRUCT, \
 635           C2_EXPERIMENTAL_FLAG_STRUCT, \
 636           C2_NOTPRODUCT_FLAG_STRUCT, \
 637           IGNORE_RANGE, \
 638           IGNORE_CONSTRAINT)




  25 #include "precompiled.hpp"
  26 #include "memory/allocation.inline.hpp"
  27 #include "oops/oop.inline.hpp"
  28 #include "runtime/arguments.hpp"
  29 #include "runtime/globals.hpp"
  30 #include "runtime/globals_extension.hpp"
  31 #include "runtime/commandLineFlagConstraintList.hpp"
  32 #include "runtime/commandLineFlagRangeList.hpp"
  33 #include "runtime/os.hpp"
  34 #include "runtime/sharedRuntime.hpp"
  35 #include "trace/tracing.hpp"
  36 #include "utilities/macros.hpp"
  37 #include "utilities/ostream.hpp"
  38 #include "utilities/top.hpp"
  39 #if INCLUDE_ALL_GCS
  40 #include "gc/g1/g1_globals.hpp"
  41 #endif // INCLUDE_ALL_GCS
  42 #ifdef COMPILER1
  43 #include "c1/c1_globals.hpp"
  44 #endif
  45 #if INCLUDE_JVMCI
  46 #include "jvmci/jvmci_globals.hpp"
  47 #endif
  48 #ifdef COMPILER2
  49 #include "opto/c2_globals.hpp"
  50 #endif
  51 #ifdef SHARK
  52 #include "shark/shark_globals.hpp"
  53 #endif
  54 
  55 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
  56 
  57 RUNTIME_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \
  58               MATERIALIZE_PD_DEVELOPER_FLAG, \
  59               MATERIALIZE_PRODUCT_FLAG, \
  60               MATERIALIZE_PD_PRODUCT_FLAG, \
  61               MATERIALIZE_DIAGNOSTIC_FLAG, \
  62               MATERIALIZE_EXPERIMENTAL_FLAG, \
  63               MATERIALIZE_NOTPRODUCT_FLAG, \
  64               MATERIALIZE_MANAGEABLE_FLAG, \
  65               MATERIALIZE_PRODUCT_RW_FLAG, \
  66               MATERIALIZE_LP64_PRODUCT_FLAG, \
  67               IGNORE_RANGE, \


 427 
 428 #ifndef PRODUCT
 429       if (withComments) {
 430         st->print("%s", _doc);
 431       }
 432 #endif
 433 
 434       st->cr();
 435 
 436     }
 437   }
 438 }
 439 
 440 void Flag::print_kind(outputStream* st) {
 441   struct Data {
 442     int flag;
 443     const char* name;
 444   };
 445 
 446   Data data[] = {
 447       { KIND_JVMCI, "JVMCI" },
 448       { KIND_C1, "C1" },
 449       { KIND_C2, "C2" },
 450       { KIND_ARCH, "ARCH" },
 451       { KIND_SHARK, "SHARK" },
 452       { KIND_PLATFORM_DEPENDENT, "pd" },
 453       { KIND_PRODUCT, "product" },
 454       { KIND_MANAGEABLE, "manageable" },
 455       { KIND_DIAGNOSTIC, "diagnostic" },
 456       { KIND_EXPERIMENTAL, "experimental" },
 457       { KIND_COMMERCIAL, "commercial" },
 458       { KIND_NOT_PRODUCT, "notproduct" },
 459       { KIND_DEVELOP, "develop" },
 460       { KIND_LP64_PRODUCT, "lp64_product" },
 461       { KIND_READ_WRITE, "rw" },
 462       { -1, "" }
 463   };
 464 
 465   if ((_flags & KIND_MASK) != 0) {
 466     st->print("{");
 467     bool is_first = true;


 535     case Flag::SUCCESS: return "SUCCESS";
 536     default: ShouldNotReachHere(); return "NULL";
 537   }
 538 }
 539 
 540 // 4991491 do not "optimize out" the was_set false values: omitting them
 541 // tickles a Microsoft compiler bug causing flagTable to be malformed
 542 
 543 #define NAME(name) NOT_PRODUCT(&name) PRODUCT_ONLY(&CONST_##name)
 544 
 545 #define RUNTIME_PRODUCT_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_PRODUCT) },
 546 #define RUNTIME_PD_PRODUCT_FLAG_STRUCT(  type, name,        doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_PRODUCT | Flag::KIND_PLATFORM_DEPENDENT) },
 547 #define RUNTIME_DIAGNOSTIC_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DIAGNOSTIC) },
 548 #define RUNTIME_EXPERIMENTAL_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_EXPERIMENTAL) },
 549 #define RUNTIME_MANAGEABLE_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_MANAGEABLE) },
 550 #define RUNTIME_PRODUCT_RW_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_PRODUCT | Flag::KIND_READ_WRITE) },
 551 #define RUNTIME_DEVELOP_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DEVELOP) },
 552 #define RUNTIME_PD_DEVELOP_FLAG_STRUCT(  type, name,        doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
 553 #define RUNTIME_NOTPRODUCT_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_NOT_PRODUCT) },
 554 
 555 #define JVMCI_PRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_PRODUCT) },
 556 #define JVMCI_PD_PRODUCT_FLAG_STRUCT(    type, name,        doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_PRODUCT | Flag::KIND_PLATFORM_DEPENDENT) },
 557 #define JVMCI_DEVELOP_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_DEVELOP) },
 558 #define JVMCI_PD_DEVELOP_FLAG_STRUCT(    type, name,        doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
 559 #define JVMCI_DIAGNOSTIC_FLAG_STRUCT(    type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_DIAGNOSTIC) },
 560 #define JVMCI_EXPERIMENTAL_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_EXPERIMENTAL) },
 561 #define JVMCI_NOTPRODUCT_FLAG_STRUCT(    type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_NOT_PRODUCT) },
 562 
 563 #ifdef _LP64
 564 #define RUNTIME_LP64_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_LP64_PRODUCT) },
 565 #else
 566 #define RUNTIME_LP64_PRODUCT_FLAG_STRUCT(type, name, value, doc) /* flag is constant */
 567 #endif // _LP64
 568 
 569 #define C1_PRODUCT_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_PRODUCT) },
 570 #define C1_PD_PRODUCT_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_PRODUCT | Flag::KIND_PLATFORM_DEPENDENT) },
 571 #define C1_DIAGNOSTIC_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DIAGNOSTIC) },
 572 #define C1_DEVELOP_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DEVELOP) },
 573 #define C1_PD_DEVELOP_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
 574 #define C1_NOTPRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_NOT_PRODUCT) },
 575 
 576 #define C2_PRODUCT_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_PRODUCT) },
 577 #define C2_PD_PRODUCT_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_PRODUCT | Flag::KIND_PLATFORM_DEPENDENT) },
 578 #define C2_DIAGNOSTIC_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DIAGNOSTIC) },
 579 #define C2_EXPERIMENTAL_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), &name,      NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_EXPERIMENTAL) },
 580 #define C2_DEVELOP_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DEVELOP) },
 581 #define C2_PD_DEVELOP_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
 582 #define C2_NOTPRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), NAME(name), NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_NOT_PRODUCT) },


 611                   RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
 612                   RUNTIME_PRODUCT_FLAG_STRUCT, \
 613                   RUNTIME_PD_PRODUCT_FLAG_STRUCT, \
 614                   RUNTIME_DIAGNOSTIC_FLAG_STRUCT, \
 615                   RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
 616                   IGNORE_RANGE, \
 617                   IGNORE_CONSTRAINT)
 618 #if INCLUDE_ALL_GCS
 619  G1_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, \
 620           RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
 621           RUNTIME_PRODUCT_FLAG_STRUCT, \
 622           RUNTIME_PD_PRODUCT_FLAG_STRUCT, \
 623           RUNTIME_DIAGNOSTIC_FLAG_STRUCT, \
 624           RUNTIME_EXPERIMENTAL_FLAG_STRUCT, \
 625           RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
 626           RUNTIME_MANAGEABLE_FLAG_STRUCT, \
 627           RUNTIME_PRODUCT_RW_FLAG_STRUCT, \
 628           IGNORE_RANGE, \
 629           IGNORE_CONSTRAINT)
 630 #endif // INCLUDE_ALL_GCS
 631 #if INCLUDE_JVMCI
 632  JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_STRUCT, \
 633              JVMCI_PD_DEVELOP_FLAG_STRUCT, \
 634              JVMCI_PRODUCT_FLAG_STRUCT, \
 635              JVMCI_PD_PRODUCT_FLAG_STRUCT, \
 636              JVMCI_DIAGNOSTIC_FLAG_STRUCT, \
 637              JVMCI_EXPERIMENTAL_FLAG_STRUCT, \
 638              JVMCI_NOTPRODUCT_FLAG_STRUCT, \
 639              IGNORE_RANGE, \
 640              IGNORE_CONSTRAINT)
 641 #endif // INCLUDE_JVMCI
 642 #ifdef COMPILER1
 643  C1_FLAGS(C1_DEVELOP_FLAG_STRUCT, \
 644           C1_PD_DEVELOP_FLAG_STRUCT, \
 645           C1_PRODUCT_FLAG_STRUCT, \
 646           C1_PD_PRODUCT_FLAG_STRUCT, \
 647           C1_DIAGNOSTIC_FLAG_STRUCT, \
 648           C1_NOTPRODUCT_FLAG_STRUCT, \
 649           IGNORE_RANGE, \
 650           IGNORE_CONSTRAINT)
 651 #endif // COMPILER1
 652 #ifdef COMPILER2
 653  C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, \
 654           C2_PD_DEVELOP_FLAG_STRUCT, \
 655           C2_PRODUCT_FLAG_STRUCT, \
 656           C2_PD_PRODUCT_FLAG_STRUCT, \
 657           C2_DIAGNOSTIC_FLAG_STRUCT, \
 658           C2_EXPERIMENTAL_FLAG_STRUCT, \
 659           C2_NOTPRODUCT_FLAG_STRUCT, \
 660           IGNORE_RANGE, \
 661           IGNORE_CONSTRAINT)


< prev index next >