src/share/vm/runtime/globals.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File webrev Sdiff src/share/vm/runtime

src/share/vm/runtime/globals.hpp

Print this page




 516 #define trueInDebug  false
 517 #define falseInDebug true
 518 #endif
 519 
 520 // use this for flags that are true per default in the product build
 521 // but false in development builds, and vice versa
 522 #ifdef PRODUCT
 523 #define trueInProduct  true
 524 #define falseInProduct false
 525 #else
 526 #define trueInProduct  false
 527 #define falseInProduct true
 528 #endif
 529 
 530 #ifdef JAVASE_EMBEDDED
 531 #define falseInEmbedded false
 532 #else
 533 #define falseInEmbedded true
 534 #endif
 535 








































 536 // develop flags are settable / visible only during development and are constant in the PRODUCT version
 537 // product flags are always settable / visible
 538 // notproduct flags are settable / visible only during development and are not declared in the PRODUCT version
 539 
 540 // A flag must be declared with one of the following types:
 541 // bool, int, uint, intx, uintx, size_t, ccstr, double, or uint64_t.
 542 // The type "ccstr" is an alias for "const char*" and is used
 543 // only in this file, because the macrology requires single-token type names.
 544 
 545 // Note: Diagnostic options not meant for VM tuning or for product modes.
 546 // They are to be used for VM quality assurance or field diagnosis
 547 // of VM bugs.  They are hidden so that users will not be encouraged to
 548 // try them as if they were VM ordinary execution options.  However, they
 549 // are available in the product version of the VM.  Under instruction
 550 // from support engineers, VM customers can turn them on to collect
 551 // diagnostic information about VM problems.  To use a VM diagnostic
 552 // option, you must first specify +UnlockDiagnosticVMOptions.
 553 // (This master switch also affects the behavior of -Xprintflags.)
 554 //
 555 // experimental flags are in support of features that are not


4084           "archive specified by -XX:SharedArchiveFile)")                    \
4085                                                                             \
4086   product(bool, RequireSharedSpaces, false,                                 \
4087           "Require shared spaces for metadata")                             \
4088                                                                             \
4089   product(bool, DumpSharedSpaces, false,                                    \
4090           "Special mode: JVM reads a class list, loads classes, builds "    \
4091           "shared spaces, and dumps the shared spaces to a file to be "     \
4092           "used in future JVM runs")                                        \
4093                                                                             \
4094   product(bool, PrintSharedSpaces, false,                                   \
4095           "Print usage of shared spaces")                                   \
4096                                                                             \
4097   product(bool, PrintSharedArchiveAndExit, false,                           \
4098           "Print shared archive file contents")                             \
4099                                                                             \
4100   product(bool, PrintSharedDictionary, false,                               \
4101           "If PrintSharedArchiveAndExit is true, also print the shared "    \
4102           "dictionary")                                                     \
4103                                                                             \
4104   product(size_t, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(16*M),      \
4105           "Size of read-write space for metadata (in bytes)")               \

4106                                                                             \
4107   product(size_t, SharedReadOnlySize, NOT_LP64(12*M) LP64_ONLY(16*M),       \
4108           "Size of read-only space for metadata (in bytes)")                \

4109                                                                             \
4110   product(uintx, SharedMiscDataSize,    NOT_LP64(2*M) LP64_ONLY(4*M),       \
4111           "Size of the shared miscellaneous data area (in bytes)")          \

4112                                                                             \
4113   product(uintx, SharedMiscCodeSize,    120*K,                              \
4114           "Size of the shared miscellaneous code area (in bytes)")          \

4115                                                                             \
4116   product(uintx, SharedBaseAddress, LP64_ONLY(32*G)                         \
4117           NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0)),                           \
4118           "Address to allocate shared memory region for class data")        \

4119                                                                             \
4120   product(uintx, SharedSymbolTableBucketSize, 4,                            \
4121           "Average number of symbols per bucket in shared table")           \
4122           range(2, 246)                                                     \
4123                                                                             \
4124   diagnostic(bool, IgnoreUnverifiableClassesDuringDump, false,              \
4125           "Do not quit -Xshare:dump even if we encounter unverifiable "     \
4126           "classes. Just exclude them from the shared dictionary.")         \
4127                                                                             \
4128   diagnostic(bool, PrintMethodHandleStubs, false,                           \
4129           "Print generated stub code for method handles")                   \
4130                                                                             \
4131   develop(bool, TraceMethodHandles, false,                                  \
4132           "trace internal method handle operations")                        \
4133                                                                             \
4134   diagnostic(bool, VerifyMethodHandles, trueInDebug,                        \
4135           "perform extra checks when constructing method handles")          \
4136                                                                             \
4137   diagnostic(bool, ShowHiddenFrames, false,                                 \
4138           "show method handle implementation frames (usually hidden)")      \




 516 #define trueInDebug  false
 517 #define falseInDebug true
 518 #endif
 519 
 520 // use this for flags that are true per default in the product build
 521 // but false in development builds, and vice versa
 522 #ifdef PRODUCT
 523 #define trueInProduct  true
 524 #define falseInProduct false
 525 #else
 526 #define trueInProduct  false
 527 #define falseInProduct true
 528 #endif
 529 
 530 #ifdef JAVASE_EMBEDDED
 531 #define falseInEmbedded false
 532 #else
 533 #define falseInEmbedded true
 534 #endif
 535 
 536 // metaspace defaults
 537 #define DEFAULT_VTBL_LIST_SIZE          (17)  // number of entries in the shared space vtable list.
 538 #define DEFAULT_VTBL_VIRTUALS_COUNT     (200) // maximum number of virtual functions
 539 // If virtual functions are added to Metadata,
 540 // this number needs to be increased.  Also,
 541 // SharedMiscCodeSize will need to be increased.
 542 // The following 2 sizes were based on
 543 // MetaspaceShared::generate_vtable_methods()
 544 #define DEFAULT_VTBL_METHOD_SIZE        (16)  // conservative size of the mov1 and jmp instructions
 545 // for the x64 platform
 546 #define DEFAULT_VTBL_COMMON_CODE_SIZE   (1*K) // conservative size of the "common_code" for the x64 platform
 547 
 548 #define DEFAULT_SHARED_READ_WRITE_SIZE  (NOT_LP64(12*M) LP64_ONLY(16*M))
 549 #define MIN_SHARED_READ_WRITE_SIZE      (NOT_LP64(7*M) LP64_ONLY(12*M))
 550 
 551 #define DEFAULT_SHARED_READ_ONLY_SIZE   (NOT_LP64(12*M) LP64_ONLY(16*M))
 552 #define MIN_SHARED_READ_ONLY_SIZE       (NOT_LP64(8*M) LP64_ONLY(9*M))
 553 
 554 // the MIN_SHARED_MISC_DATA_SIZE and MIN_SHARED_MISC_CODE_SIZE estimates are based on
 555 // MetaspaceShared::generate_vtable_methods().
 556 // The minimum size only accounts for the vtable methods. Any size less than the
 557 // minimum required size would cause vm crash when allocating the vtable methods.
 558 #define SHARED_MISC_SIZE_FOR(size) (DEFAULT_VTBL_VIRTUALS_COUNT*DEFAULT_VTBL_LIST_SIZE*size)
 559 
 560 #define DEFAULT_SHARED_MISC_DATA_SIZE   (NOT_LP64(2*M) LP64_ONLY(4*M))
 561 #define MIN_SHARED_MISC_DATA_SIZE       (SHARED_MISC_SIZE_FOR(sizeof(void*)))
 562 
 563 #define DEFAULT_SHARED_MISC_CODE_SIZE   (120*K)
 564 #define MIN_SHARED_MISC_CODE_SIZE       (SHARED_MISC_SIZE_FOR(sizeof(void*))+SHARED_MISC_SIZE_FOR(DEFAULT_VTBL_METHOD_SIZE)+DEFAULT_VTBL_COMMON_CODE_SIZE)
 565 
 566 #define DEFAULT_COMBINED_SIZE           (DEFAULT_SHARED_READ_WRITE_SIZE+DEFAULT_SHARED_READ_ONLY_SIZE+DEFAULT_SHARED_MISC_DATA_SIZE+DEFAULT_SHARED_MISC_CODE_SIZE)
 567 
 568 #define SHARED_PAGE                     ((size_t)os::vm_page_size())
 569 #define MAX_SHARED_DELTA                (0x7FFFFFFF)
 570 #define MAX_SHARED_READ_WRITE_SIZE      (MAX_SHARED_DELTA-(DEFAULT_SHARED_READ_ONLY_SIZE+DEFAULT_SHARED_MISC_DATA_SIZE+DEFAULT_SHARED_MISC_CODE_SIZE)-SHARED_PAGE)
 571 #define MAX_SHARED_READ_ONLY_SIZE       (MAX_SHARED_DELTA-(DEFAULT_SHARED_READ_WRITE_SIZE+DEFAULT_SHARED_MISC_DATA_SIZE+DEFAULT_SHARED_MISC_CODE_SIZE)-SHARED_PAGE)
 572 #define MAX_SHARED_MISC_DATA_SIZE       (MAX_SHARED_DELTA-(DEFAULT_SHARED_READ_WRITE_SIZE+DEFAULT_SHARED_READ_ONLY_SIZE+DEFAULT_SHARED_MISC_CODE_SIZE)-SHARED_PAGE)
 573 #define MAX_SHARED_MISC_CODE_SIZE       (MAX_SHARED_DELTA-(DEFAULT_SHARED_READ_WRITE_SIZE+DEFAULT_SHARED_READ_ONLY_SIZE+DEFAULT_SHARED_MISC_DATA_SIZE)-SHARED_PAGE)
 574 
 575 
 576 // develop flags are settable / visible only during development and are constant in the PRODUCT version
 577 // product flags are always settable / visible
 578 // notproduct flags are settable / visible only during development and are not declared in the PRODUCT version
 579 
 580 // A flag must be declared with one of the following types:
 581 // bool, int, uint, intx, uintx, size_t, ccstr, double, or uint64_t.
 582 // The type "ccstr" is an alias for "const char*" and is used
 583 // only in this file, because the macrology requires single-token type names.
 584 
 585 // Note: Diagnostic options not meant for VM tuning or for product modes.
 586 // They are to be used for VM quality assurance or field diagnosis
 587 // of VM bugs.  They are hidden so that users will not be encouraged to
 588 // try them as if they were VM ordinary execution options.  However, they
 589 // are available in the product version of the VM.  Under instruction
 590 // from support engineers, VM customers can turn them on to collect
 591 // diagnostic information about VM problems.  To use a VM diagnostic
 592 // option, you must first specify +UnlockDiagnosticVMOptions.
 593 // (This master switch also affects the behavior of -Xprintflags.)
 594 //
 595 // experimental flags are in support of features that are not


4124           "archive specified by -XX:SharedArchiveFile)")                    \
4125                                                                             \
4126   product(bool, RequireSharedSpaces, false,                                 \
4127           "Require shared spaces for metadata")                             \
4128                                                                             \
4129   product(bool, DumpSharedSpaces, false,                                    \
4130           "Special mode: JVM reads a class list, loads classes, builds "    \
4131           "shared spaces, and dumps the shared spaces to a file to be "     \
4132           "used in future JVM runs")                                        \
4133                                                                             \
4134   product(bool, PrintSharedSpaces, false,                                   \
4135           "Print usage of shared spaces")                                   \
4136                                                                             \
4137   product(bool, PrintSharedArchiveAndExit, false,                           \
4138           "Print shared archive file contents")                             \
4139                                                                             \
4140   product(bool, PrintSharedDictionary, false,                               \
4141           "If PrintSharedArchiveAndExit is true, also print the shared "    \
4142           "dictionary")                                                     \
4143                                                                             \
4144   product(size_t, SharedReadWriteSize, DEFAULT_SHARED_READ_WRITE_SIZE,      \
4145           "Size of read-write space for metadata (in bytes)")               \
4146           range(MIN_SHARED_READ_WRITE_SIZE, MAX_SHARED_READ_WRITE_SIZE)     \
4147                                                                             \
4148   product(size_t, SharedReadOnlySize, DEFAULT_SHARED_READ_ONLY_SIZE,        \
4149           "Size of read-only space for metadata (in bytes)")                \
4150           range(MIN_SHARED_READ_ONLY_SIZE, MAX_SHARED_READ_ONLY_SIZE)       \
4151                                                                             \
4152   product(size_t, SharedMiscDataSize, DEFAULT_SHARED_MISC_DATA_SIZE,        \
4153           "Size of the shared miscellaneous data area (in bytes)")          \
4154           range(MIN_SHARED_MISC_DATA_SIZE, MAX_SHARED_MISC_DATA_SIZE)       \
4155                                                                             \
4156   product(size_t, SharedMiscCodeSize, DEFAULT_SHARED_MISC_CODE_SIZE,        \
4157           "Size of the shared miscellaneous code area (in bytes)")          \
4158           range(MIN_SHARED_MISC_CODE_SIZE, MAX_SHARED_MISC_CODE_SIZE)       \
4159                                                                             \
4160   product(size_t, SharedBaseAddress, LP64_ONLY(32*G)                        \
4161           NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0)),                           \
4162           "Address to allocate shared memory region for class data")        \
4163           range(0, SIZE_MAX)                                                \
4164                                                                             \
4165   product(uintx, SharedSymbolTableBucketSize, 4,                            \
4166           "Average number of symbols per bucket in shared table")           \
4167           range(2, 246)                                                     \
4168                                                                             \
4169   diagnostic(bool, IgnoreUnverifiableClassesDuringDump, false,              \
4170           "Do not quit -Xshare:dump even if we encounter unverifiable "     \
4171           "classes. Just exclude them from the shared dictionary.")         \
4172                                                                             \
4173   diagnostic(bool, PrintMethodHandleStubs, false,                           \
4174           "Print generated stub code for method handles")                   \
4175                                                                             \
4176   develop(bool, TraceMethodHandles, false,                                  \
4177           "trace internal method handle operations")                        \
4178                                                                             \
4179   diagnostic(bool, VerifyMethodHandles, trueInDebug,                        \
4180           "perform extra checks when constructing method handles")          \
4181                                                                             \
4182   diagnostic(bool, ShowHiddenFrames, false,                                 \
4183           "show method handle implementation frames (usually hidden)")      \


src/share/vm/runtime/globals.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File