hotspot/src/share/vm/runtime/globals.cpp
changeset 39117 59fa99a45873
parent 38273 2634194d7555
child 39960 ec06b2cf8575
equal deleted inserted replaced
39107:2a5697a98620 39117:59fa99a45873
    56 RUNTIME_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \
    56 RUNTIME_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \
    57               MATERIALIZE_PD_DEVELOPER_FLAG, \
    57               MATERIALIZE_PD_DEVELOPER_FLAG, \
    58               MATERIALIZE_PRODUCT_FLAG, \
    58               MATERIALIZE_PRODUCT_FLAG, \
    59               MATERIALIZE_PD_PRODUCT_FLAG, \
    59               MATERIALIZE_PD_PRODUCT_FLAG, \
    60               MATERIALIZE_DIAGNOSTIC_FLAG, \
    60               MATERIALIZE_DIAGNOSTIC_FLAG, \
       
    61               MATERIALIZE_PD_DIAGNOSTIC_FLAG, \
    61               MATERIALIZE_EXPERIMENTAL_FLAG, \
    62               MATERIALIZE_EXPERIMENTAL_FLAG, \
    62               MATERIALIZE_NOTPRODUCT_FLAG, \
    63               MATERIALIZE_NOTPRODUCT_FLAG, \
    63               MATERIALIZE_MANAGEABLE_FLAG, \
    64               MATERIALIZE_MANAGEABLE_FLAG, \
    64               MATERIALIZE_PRODUCT_RW_FLAG, \
    65               MATERIALIZE_PRODUCT_RW_FLAG, \
    65               MATERIALIZE_LP64_PRODUCT_FLAG, \
    66               MATERIALIZE_LP64_PRODUCT_FLAG, \
    70 RUNTIME_OS_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \
    71 RUNTIME_OS_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \
    71                  MATERIALIZE_PD_DEVELOPER_FLAG, \
    72                  MATERIALIZE_PD_DEVELOPER_FLAG, \
    72                  MATERIALIZE_PRODUCT_FLAG, \
    73                  MATERIALIZE_PRODUCT_FLAG, \
    73                  MATERIALIZE_PD_PRODUCT_FLAG, \
    74                  MATERIALIZE_PD_PRODUCT_FLAG, \
    74                  MATERIALIZE_DIAGNOSTIC_FLAG, \
    75                  MATERIALIZE_DIAGNOSTIC_FLAG, \
       
    76                  MATERIALIZE_PD_DIAGNOSTIC_FLAG, \
    75                  MATERIALIZE_NOTPRODUCT_FLAG, \
    77                  MATERIALIZE_NOTPRODUCT_FLAG, \
    76                  IGNORE_RANGE, \
    78                  IGNORE_RANGE, \
    77                  IGNORE_CONSTRAINT, \
    79                  IGNORE_CONSTRAINT, \
    78                  IGNORE_WRITEABLE)
    80                  IGNORE_WRITEABLE)
    79 
    81 
   648 // tickles a Microsoft compiler bug causing flagTable to be malformed
   650 // tickles a Microsoft compiler bug causing flagTable to be malformed
   649 
   651 
   650 #define RUNTIME_PRODUCT_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_PRODUCT) },
   652 #define RUNTIME_PRODUCT_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_PRODUCT) },
   651 #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) },
   653 #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) },
   652 #define RUNTIME_DIAGNOSTIC_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DIAGNOSTIC) },
   654 #define RUNTIME_DIAGNOSTIC_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DIAGNOSTIC) },
       
   655 #define RUNTIME_PD_DIAGNOSTIC_FLAG_STRUCT(type, name,       doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DIAGNOSTIC | Flag::KIND_PLATFORM_DEPENDENT) },
   653 #define RUNTIME_EXPERIMENTAL_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_EXPERIMENTAL) },
   656 #define RUNTIME_EXPERIMENTAL_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_EXPERIMENTAL) },
   654 #define RUNTIME_MANAGEABLE_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_MANAGEABLE) },
   657 #define RUNTIME_MANAGEABLE_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_MANAGEABLE) },
   655 #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) },
   658 #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) },
   656 #define RUNTIME_DEVELOP_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DEVELOP) },
   659 #define RUNTIME_DEVELOP_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DEVELOP) },
   657 #define RUNTIME_PD_DEVELOP_FLAG_STRUCT(  type, name,        doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
   660 #define RUNTIME_PD_DEVELOP_FLAG_STRUCT(  type, name,        doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
   658 #define RUNTIME_NOTPRODUCT_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_NOT_PRODUCT) },
   661 #define RUNTIME_NOTPRODUCT_FLAG_STRUCT(  type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_NOT_PRODUCT) },
   659 
   662 
   660 #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) },
   663 #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) },
   661 #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) },
   664 #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) },
   662 #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) },
   665 #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) },
       
   666 #define JVMCI_PD_DIAGNOSTIC_FLAG_STRUCT( type, name,        doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_DIAGNOSTIC | Flag::KIND_PLATFORM_DEPENDENT) },
   663 #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) },
   667 #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) },
   664 #define JVMCI_DEVELOP_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_DEVELOP) },
   668 #define JVMCI_DEVELOP_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_DEVELOP) },
   665 #define JVMCI_PD_DEVELOP_FLAG_STRUCT(    type, name,        doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
   669 #define JVMCI_PD_DEVELOP_FLAG_STRUCT(    type, name,        doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
   666 #define JVMCI_NOTPRODUCT_FLAG_STRUCT(    type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_NOT_PRODUCT) },
   670 #define JVMCI_NOTPRODUCT_FLAG_STRUCT(    type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_JVMCI | Flag::KIND_NOT_PRODUCT) },
   667 
   671 
   672 #endif // _LP64
   676 #endif // _LP64
   673 
   677 
   674 #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) },
   678 #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) },
   675 #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) },
   679 #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) },
   676 #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) },
   680 #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) },
       
   681 #define C1_PD_DIAGNOSTIC_FLAG_STRUCT(    type, name,        doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DIAGNOSTIC | Flag::KIND_PLATFORM_DEPENDENT) },
   677 #define C1_DEVELOP_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DEVELOP) },
   682 #define C1_DEVELOP_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DEVELOP) },
   678 #define C1_PD_DEVELOP_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
   683 #define C1_PD_DEVELOP_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
   679 #define C1_NOTPRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_NOT_PRODUCT) },
   684 #define C1_NOTPRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C1 | Flag::KIND_NOT_PRODUCT) },
   680 
   685 
   681 #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) },
   686 #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) },
   682 #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) },
   687 #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) },
   683 #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) },
   688 #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) },
       
   689 #define C2_PD_DIAGNOSTIC_FLAG_STRUCT(    type, name,        doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DIAGNOSTIC | Flag::KIND_PLATFORM_DEPENDENT) },
   684 #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) },
   690 #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) },
   685 #define C2_DEVELOP_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DEVELOP) },
   691 #define C2_DEVELOP_FLAG_STRUCT(          type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DEVELOP) },
   686 #define C2_PD_DEVELOP_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
   692 #define C2_PD_DEVELOP_FLAG_STRUCT(       type, name,        doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
   687 #define C2_NOTPRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_NOT_PRODUCT) },
   693 #define C2_NOTPRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_C2 | Flag::KIND_NOT_PRODUCT) },
   688 
   694 
   693 #define ARCH_NOTPRODUCT_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_ARCH | Flag::KIND_NOT_PRODUCT) },
   699 #define ARCH_NOTPRODUCT_FLAG_STRUCT(     type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_ARCH | Flag::KIND_NOT_PRODUCT) },
   694 
   700 
   695 #define SHARK_PRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_PRODUCT) },
   701 #define SHARK_PRODUCT_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_PRODUCT) },
   696 #define SHARK_PD_PRODUCT_FLAG_STRUCT(    type, name,        doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_PRODUCT | Flag::KIND_PLATFORM_DEPENDENT) },
   702 #define SHARK_PD_PRODUCT_FLAG_STRUCT(    type, name,        doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_PRODUCT | Flag::KIND_PLATFORM_DEPENDENT) },
   697 #define SHARK_DIAGNOSTIC_FLAG_STRUCT(    type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_DIAGNOSTIC) },
   703 #define SHARK_DIAGNOSTIC_FLAG_STRUCT(    type, name, value, doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_DIAGNOSTIC) },
       
   704 #define SHARK_PD_DIAGNOSTIC_FLAG_STRUCT( type, name,        doc) { #type, XSTR(name), &name,         NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_DIAGNOSTIC | Flag::KIND_PLATFORM_DEPENDENT) },
   698 #define SHARK_DEVELOP_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_DEVELOP) },
   705 #define SHARK_DEVELOP_FLAG_STRUCT(       type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_DEVELOP) },
   699 #define SHARK_PD_DEVELOP_FLAG_STRUCT(    type, name,        doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
   706 #define SHARK_PD_DEVELOP_FLAG_STRUCT(    type, name,        doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_DEVELOP | Flag::KIND_PLATFORM_DEPENDENT) },
   700 #define SHARK_NOTPRODUCT_FLAG_STRUCT(    type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_NOT_PRODUCT) },
   707 #define SHARK_NOTPRODUCT_FLAG_STRUCT(    type, name, value, doc) { #type, XSTR(name), (void*) &name, NOT_PRODUCT_ARG(doc) Flag::Flags(Flag::DEFAULT | Flag::KIND_SHARK | Flag::KIND_NOT_PRODUCT) },
   701 
   708 
   702 static Flag flagTable[] = {
   709 static Flag flagTable[] = {
   703  RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, \
   710  RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, \
   704                RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
   711                RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
   705                RUNTIME_PRODUCT_FLAG_STRUCT, \
   712                RUNTIME_PRODUCT_FLAG_STRUCT, \
   706                RUNTIME_PD_PRODUCT_FLAG_STRUCT, \
   713                RUNTIME_PD_PRODUCT_FLAG_STRUCT, \
   707                RUNTIME_DIAGNOSTIC_FLAG_STRUCT, \
   714                RUNTIME_DIAGNOSTIC_FLAG_STRUCT, \
       
   715                RUNTIME_PD_DIAGNOSTIC_FLAG_STRUCT, \
   708                RUNTIME_EXPERIMENTAL_FLAG_STRUCT, \
   716                RUNTIME_EXPERIMENTAL_FLAG_STRUCT, \
   709                RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
   717                RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
   710                RUNTIME_MANAGEABLE_FLAG_STRUCT, \
   718                RUNTIME_MANAGEABLE_FLAG_STRUCT, \
   711                RUNTIME_PRODUCT_RW_FLAG_STRUCT, \
   719                RUNTIME_PRODUCT_RW_FLAG_STRUCT, \
   712                RUNTIME_LP64_PRODUCT_FLAG_STRUCT, \
   720                RUNTIME_LP64_PRODUCT_FLAG_STRUCT, \
   716  RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, \
   724  RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, \
   717                   RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
   725                   RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
   718                   RUNTIME_PRODUCT_FLAG_STRUCT, \
   726                   RUNTIME_PRODUCT_FLAG_STRUCT, \
   719                   RUNTIME_PD_PRODUCT_FLAG_STRUCT, \
   727                   RUNTIME_PD_PRODUCT_FLAG_STRUCT, \
   720                   RUNTIME_DIAGNOSTIC_FLAG_STRUCT, \
   728                   RUNTIME_DIAGNOSTIC_FLAG_STRUCT, \
       
   729                   RUNTIME_PD_DIAGNOSTIC_FLAG_STRUCT, \
   721                   RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
   730                   RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
   722                   IGNORE_RANGE, \
   731                   IGNORE_RANGE, \
   723                   IGNORE_CONSTRAINT, \
   732                   IGNORE_CONSTRAINT, \
   724                   IGNORE_WRITEABLE)
   733                   IGNORE_WRITEABLE)
   725 #if INCLUDE_ALL_GCS
   734 #if INCLUDE_ALL_GCS
   726  G1_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, \
   735  G1_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, \
   727           RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
   736           RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
   728           RUNTIME_PRODUCT_FLAG_STRUCT, \
   737           RUNTIME_PRODUCT_FLAG_STRUCT, \
   729           RUNTIME_PD_PRODUCT_FLAG_STRUCT, \
   738           RUNTIME_PD_PRODUCT_FLAG_STRUCT, \
   730           RUNTIME_DIAGNOSTIC_FLAG_STRUCT, \
   739           RUNTIME_DIAGNOSTIC_FLAG_STRUCT, \
       
   740           RUNTIME_PD_DIAGNOSTIC_FLAG_STRUCT, \
   731           RUNTIME_EXPERIMENTAL_FLAG_STRUCT, \
   741           RUNTIME_EXPERIMENTAL_FLAG_STRUCT, \
   732           RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
   742           RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
   733           RUNTIME_MANAGEABLE_FLAG_STRUCT, \
   743           RUNTIME_MANAGEABLE_FLAG_STRUCT, \
   734           RUNTIME_PRODUCT_RW_FLAG_STRUCT, \
   744           RUNTIME_PRODUCT_RW_FLAG_STRUCT, \
   735           IGNORE_RANGE, \
   745           IGNORE_RANGE, \
   740  JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_STRUCT, \
   750  JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_STRUCT, \
   741              JVMCI_PD_DEVELOP_FLAG_STRUCT, \
   751              JVMCI_PD_DEVELOP_FLAG_STRUCT, \
   742              JVMCI_PRODUCT_FLAG_STRUCT, \
   752              JVMCI_PRODUCT_FLAG_STRUCT, \
   743              JVMCI_PD_PRODUCT_FLAG_STRUCT, \
   753              JVMCI_PD_PRODUCT_FLAG_STRUCT, \
   744              JVMCI_DIAGNOSTIC_FLAG_STRUCT, \
   754              JVMCI_DIAGNOSTIC_FLAG_STRUCT, \
       
   755              JVMCI_PD_DIAGNOSTIC_FLAG_STRUCT, \
   745              JVMCI_EXPERIMENTAL_FLAG_STRUCT, \
   756              JVMCI_EXPERIMENTAL_FLAG_STRUCT, \
   746              JVMCI_NOTPRODUCT_FLAG_STRUCT, \
   757              JVMCI_NOTPRODUCT_FLAG_STRUCT, \
   747              IGNORE_RANGE, \
   758              IGNORE_RANGE, \
   748              IGNORE_CONSTRAINT, \
   759              IGNORE_CONSTRAINT, \
   749              IGNORE_WRITEABLE)
   760              IGNORE_WRITEABLE)
   752  C1_FLAGS(C1_DEVELOP_FLAG_STRUCT, \
   763  C1_FLAGS(C1_DEVELOP_FLAG_STRUCT, \
   753           C1_PD_DEVELOP_FLAG_STRUCT, \
   764           C1_PD_DEVELOP_FLAG_STRUCT, \
   754           C1_PRODUCT_FLAG_STRUCT, \
   765           C1_PRODUCT_FLAG_STRUCT, \
   755           C1_PD_PRODUCT_FLAG_STRUCT, \
   766           C1_PD_PRODUCT_FLAG_STRUCT, \
   756           C1_DIAGNOSTIC_FLAG_STRUCT, \
   767           C1_DIAGNOSTIC_FLAG_STRUCT, \
       
   768           C1_PD_DIAGNOSTIC_FLAG_STRUCT, \
   757           C1_NOTPRODUCT_FLAG_STRUCT, \
   769           C1_NOTPRODUCT_FLAG_STRUCT, \
   758           IGNORE_RANGE, \
   770           IGNORE_RANGE, \
   759           IGNORE_CONSTRAINT, \
   771           IGNORE_CONSTRAINT, \
   760           IGNORE_WRITEABLE)
   772           IGNORE_WRITEABLE)
   761 #endif // COMPILER1
   773 #endif // COMPILER1
   763  C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, \
   775  C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, \
   764           C2_PD_DEVELOP_FLAG_STRUCT, \
   776           C2_PD_DEVELOP_FLAG_STRUCT, \
   765           C2_PRODUCT_FLAG_STRUCT, \
   777           C2_PRODUCT_FLAG_STRUCT, \
   766           C2_PD_PRODUCT_FLAG_STRUCT, \
   778           C2_PD_PRODUCT_FLAG_STRUCT, \
   767           C2_DIAGNOSTIC_FLAG_STRUCT, \
   779           C2_DIAGNOSTIC_FLAG_STRUCT, \
       
   780           C2_PD_DIAGNOSTIC_FLAG_STRUCT, \
   768           C2_EXPERIMENTAL_FLAG_STRUCT, \
   781           C2_EXPERIMENTAL_FLAG_STRUCT, \
   769           C2_NOTPRODUCT_FLAG_STRUCT, \
   782           C2_NOTPRODUCT_FLAG_STRUCT, \
   770           IGNORE_RANGE, \
   783           IGNORE_RANGE, \
   771           IGNORE_CONSTRAINT, \
   784           IGNORE_CONSTRAINT, \
   772           IGNORE_WRITEABLE)
   785           IGNORE_WRITEABLE)
   775  SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, \
   788  SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, \
   776              SHARK_PD_DEVELOP_FLAG_STRUCT, \
   789              SHARK_PD_DEVELOP_FLAG_STRUCT, \
   777              SHARK_PRODUCT_FLAG_STRUCT, \
   790              SHARK_PRODUCT_FLAG_STRUCT, \
   778              SHARK_PD_PRODUCT_FLAG_STRUCT, \
   791              SHARK_PD_PRODUCT_FLAG_STRUCT, \
   779              SHARK_DIAGNOSTIC_FLAG_STRUCT, \
   792              SHARK_DIAGNOSTIC_FLAG_STRUCT, \
       
   793              SHARK_PD_DIAGNOSTIC_FLAG_STRUCT, \
   780              SHARK_NOTPRODUCT_FLAG_STRUCT, \
   794              SHARK_NOTPRODUCT_FLAG_STRUCT, \
   781              IGNORE_RANGE, \
   795              IGNORE_RANGE, \
   782              IGNORE_CONSTRAINT, \
   796              IGNORE_CONSTRAINT, \
   783              IGNORE_WRITEABLE)
   797              IGNORE_WRITEABLE)
   784 #endif // SHARK
   798 #endif // SHARK