Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/globals.hpp @ 20804:7848fc12602b
Merge with jdk8u40-b25
author | Gilles Duboscq <gilles.m.duboscq@oracle.com> |
---|---|
date | Tue, 07 Apr 2015 14:58:49 +0200 |
parents | 104304a54b0c fa6adc194d48 |
children | 8d4496e10a51 |
comparison
equal
deleted
inserted
replaced
20184:84105dcdb05b | 20804:7848fc12602b |
---|---|
326 bool is_unlocker_ext() const; | 326 bool is_unlocker_ext() const; |
327 bool is_unlocked_ext() const; | 327 bool is_unlocked_ext() const; |
328 bool is_writeable_ext() const; | 328 bool is_writeable_ext() const; |
329 bool is_external_ext() const; | 329 bool is_external_ext() const; |
330 | 330 |
331 void unlock_diagnostic(); | |
332 | |
331 void get_locked_message(char*, int) const; | 333 void get_locked_message(char*, int) const; |
332 void get_locked_message_ext(char*, int) const; | 334 void get_locked_message_ext(char*, int) const; |
333 | 335 |
334 void print_on(outputStream* st, bool withComments = false ); | 336 void print_on(outputStream* st, bool withComments = false ); |
335 void print_kind(outputStream* st); | 337 void print_kind(outputStream* st); |
376 }; | 378 }; |
377 | 379 |
378 | 380 |
379 class CommandLineFlags { | 381 class CommandLineFlags { |
380 public: | 382 public: |
381 static bool boolAt(char* name, size_t len, bool* value); | 383 static bool boolAt(const char* name, size_t len, bool* value); |
382 static bool boolAt(char* name, bool* value) { return boolAt(name, strlen(name), value); } | 384 static bool boolAt(const char* name, bool* value) { return boolAt(name, strlen(name), value); } |
383 static bool boolAtPut(char* name, size_t len, bool* value, Flag::Flags origin); | 385 static bool boolAtPut(const char* name, size_t len, bool* value, Flag::Flags origin); |
384 static bool boolAtPut(char* name, bool* value, Flag::Flags origin) { return boolAtPut(name, strlen(name), value, origin); } | 386 static bool boolAtPut(const char* name, bool* value, Flag::Flags origin) { return boolAtPut(name, strlen(name), value, origin); } |
385 | 387 |
386 static bool intxAt(char* name, size_t len, intx* value); | 388 static bool intxAt(const char* name, size_t len, intx* value); |
387 static bool intxAt(char* name, intx* value) { return intxAt(name, strlen(name), value); } | 389 static bool intxAt(const char* name, intx* value) { return intxAt(name, strlen(name), value); } |
388 static bool intxAtPut(char* name, size_t len, intx* value, Flag::Flags origin); | 390 static bool intxAtPut(const char* name, size_t len, intx* value, Flag::Flags origin); |
389 static bool intxAtPut(char* name, intx* value, Flag::Flags origin) { return intxAtPut(name, strlen(name), value, origin); } | 391 static bool intxAtPut(const char* name, intx* value, Flag::Flags origin) { return intxAtPut(name, strlen(name), value, origin); } |
390 | 392 |
391 static bool uintxAt(char* name, size_t len, uintx* value); | 393 static bool uintxAt(const char* name, size_t len, uintx* value); |
392 static bool uintxAt(char* name, uintx* value) { return uintxAt(name, strlen(name), value); } | 394 static bool uintxAt(const char* name, uintx* value) { return uintxAt(name, strlen(name), value); } |
393 static bool uintxAtPut(char* name, size_t len, uintx* value, Flag::Flags origin); | 395 static bool uintxAtPut(const char* name, size_t len, uintx* value, Flag::Flags origin); |
394 static bool uintxAtPut(char* name, uintx* value, Flag::Flags origin) { return uintxAtPut(name, strlen(name), value, origin); } | 396 static bool uintxAtPut(const char* name, uintx* value, Flag::Flags origin) { return uintxAtPut(name, strlen(name), value, origin); } |
395 | 397 |
396 static bool uint64_tAt(char* name, size_t len, uint64_t* value); | 398 static bool uint64_tAt(const char* name, size_t len, uint64_t* value); |
397 static bool uint64_tAt(char* name, uint64_t* value) { return uint64_tAt(name, strlen(name), value); } | 399 static bool uint64_tAt(const char* name, uint64_t* value) { return uint64_tAt(name, strlen(name), value); } |
398 static bool uint64_tAtPut(char* name, size_t len, uint64_t* value, Flag::Flags origin); | 400 static bool uint64_tAtPut(const char* name, size_t len, uint64_t* value, Flag::Flags origin); |
399 static bool uint64_tAtPut(char* name, uint64_t* value, Flag::Flags origin) { return uint64_tAtPut(name, strlen(name), value, origin); } | 401 static bool uint64_tAtPut(const char* name, uint64_t* value, Flag::Flags origin) { return uint64_tAtPut(name, strlen(name), value, origin); } |
400 | 402 |
401 static bool doubleAt(char* name, size_t len, double* value); | 403 static bool doubleAt(const char* name, size_t len, double* value); |
402 static bool doubleAt(char* name, double* value) { return doubleAt(name, strlen(name), value); } | 404 static bool doubleAt(const char* name, double* value) { return doubleAt(name, strlen(name), value); } |
403 static bool doubleAtPut(char* name, size_t len, double* value, Flag::Flags origin); | 405 static bool doubleAtPut(const char* name, size_t len, double* value, Flag::Flags origin); |
404 static bool doubleAtPut(char* name, double* value, Flag::Flags origin) { return doubleAtPut(name, strlen(name), value, origin); } | 406 static bool doubleAtPut(const char* name, double* value, Flag::Flags origin) { return doubleAtPut(name, strlen(name), value, origin); } |
405 | 407 |
406 static bool ccstrAt(char* name, size_t len, ccstr* value); | 408 static bool ccstrAt(const char* name, size_t len, ccstr* value); |
407 static bool ccstrAt(char* name, ccstr* value) { return ccstrAt(name, strlen(name), value); } | 409 static bool ccstrAt(const char* name, ccstr* value) { return ccstrAt(name, strlen(name), value); } |
408 static bool ccstrAtPut(char* name, size_t len, ccstr* value, Flag::Flags origin); | 410 // Contract: Flag will make private copy of the incoming value. |
409 static bool ccstrAtPut(char* name, ccstr* value, Flag::Flags origin) { return ccstrAtPut(name, strlen(name), value, origin); } | 411 // Outgoing value is always malloc-ed, and caller MUST call free. |
412 static bool ccstrAtPut(const char* name, size_t len, ccstr* value, Flag::Flags origin); | |
413 static bool ccstrAtPut(const char* name, ccstr* value, Flag::Flags origin) { return ccstrAtPut(name, strlen(name), value, origin); } | |
410 | 414 |
411 // Returns false if name is not a command line flag. | 415 // Returns false if name is not a command line flag. |
412 static bool wasSetOnCmdline(const char* name, bool* value); | 416 static bool wasSetOnCmdline(const char* name, bool* value); |
413 static void printSetFlags(outputStream* out); | 417 static void printSetFlags(outputStream* out); |
414 | 418 |
608 "Highest supported SSE instructions set on x86/x64") \ | 612 "Highest supported SSE instructions set on x86/x64") \ |
609 \ | 613 \ |
610 product(bool, UseAES, false, \ | 614 product(bool, UseAES, false, \ |
611 "Control whether AES instructions can be used on x86/x64") \ | 615 "Control whether AES instructions can be used on x86/x64") \ |
612 \ | 616 \ |
617 product(bool, UseSHA, false, \ | |
618 "Control whether SHA instructions can be used on SPARC") \ | |
619 \ | |
613 product(uintx, LargePageSizeInBytes, 0, \ | 620 product(uintx, LargePageSizeInBytes, 0, \ |
614 "Large page size (0 to let VM choose the page size)") \ | 621 "Large page size (0 to let VM choose the page size)") \ |
615 \ | 622 \ |
616 product(uintx, LargePageHeapSizeThreshold, 128*M, \ | 623 product(uintx, LargePageHeapSizeThreshold, 128*M, \ |
617 "Use large pages if maximum heap is at least this big") \ | 624 "Use large pages if maximum heap is at least this big") \ |
713 product(bool, UseSSE42Intrinsics, false, \ | 720 product(bool, UseSSE42Intrinsics, false, \ |
714 "SSE4.2 versions of intrinsics") \ | 721 "SSE4.2 versions of intrinsics") \ |
715 \ | 722 \ |
716 product(bool, UseAESIntrinsics, false, \ | 723 product(bool, UseAESIntrinsics, false, \ |
717 "Use intrinsics for AES versions of crypto") \ | 724 "Use intrinsics for AES versions of crypto") \ |
725 \ | |
726 product(bool, UseSHA1Intrinsics, false, \ | |
727 "Use intrinsics for SHA-1 crypto hash function") \ | |
728 \ | |
729 product(bool, UseSHA256Intrinsics, false, \ | |
730 "Use intrinsics for SHA-224 and SHA-256 crypto hash functions") \ | |
731 \ | |
732 product(bool, UseSHA512Intrinsics, false, \ | |
733 "Use intrinsics for SHA-384 and SHA-512 crypto hash functions") \ | |
718 \ | 734 \ |
719 product(bool, UseCRC32Intrinsics, false, \ | 735 product(bool, UseCRC32Intrinsics, false, \ |
720 "use intrinsics for java.util.zip.CRC32") \ | 736 "use intrinsics for java.util.zip.CRC32") \ |
721 \ | 737 \ |
722 develop(bool, TraceCallFixup, false, \ | 738 develop(bool, TraceCallFixup, false, \ |
942 "Native memory tracking options") \ | 958 "Native memory tracking options") \ |
943 \ | 959 \ |
944 diagnostic(bool, PrintNMTStatistics, false, \ | 960 diagnostic(bool, PrintNMTStatistics, false, \ |
945 "Print native memory tracking summary data if it is on") \ | 961 "Print native memory tracking summary data if it is on") \ |
946 \ | 962 \ |
947 diagnostic(bool, AutoShutdownNMT, true, \ | |
948 "Automatically shutdown native memory tracking under stress " \ | |
949 "situations. When set to false, native memory tracking tries to " \ | |
950 "stay alive at the expense of JVM performance") \ | |
951 \ | |
952 diagnostic(bool, LogCompilation, false, \ | 963 diagnostic(bool, LogCompilation, false, \ |
953 "Log compilation activity in detail to LogFile") \ | 964 "Log compilation activity in detail to LogFile") \ |
954 \ | 965 \ |
955 product(bool, PrintCompilation, false, \ | 966 product(bool, PrintCompilation, false, \ |
956 "Print compilations") \ | 967 "Print compilations") \ |
1084 "Verify protection domain before resolution in system dictionary")\ | 1095 "Verify protection domain before resolution in system dictionary")\ |
1085 \ | 1096 \ |
1086 product(bool, ClassUnloading, true, \ | 1097 product(bool, ClassUnloading, true, \ |
1087 "Do unloading of classes") \ | 1098 "Do unloading of classes") \ |
1088 \ | 1099 \ |
1100 product(bool, ClassUnloadingWithConcurrentMark, true, \ | |
1101 "Do unloading of classes with a concurrent marking cycle") \ | |
1102 \ | |
1089 develop(bool, DisableStartThread, false, \ | 1103 develop(bool, DisableStartThread, false, \ |
1090 "Disable starting of additional Java threads " \ | 1104 "Disable starting of additional Java threads " \ |
1091 "(for debugging only)") \ | 1105 "(for debugging only)") \ |
1092 \ | 1106 \ |
1093 develop(bool, MemProfiling, false, \ | 1107 develop(bool, MemProfiling, false, \ |
1218 "Restore MXCSR when returning from JNI calls") \ | 1232 "Restore MXCSR when returning from JNI calls") \ |
1219 \ | 1233 \ |
1220 product(bool, CheckJNICalls, false, \ | 1234 product(bool, CheckJNICalls, false, \ |
1221 "Verify all arguments to JNI calls") \ | 1235 "Verify all arguments to JNI calls") \ |
1222 \ | 1236 \ |
1237 product(bool, CheckEndorsedAndExtDirs, false, \ | |
1238 "Verify the endorsed and extension directories are not used") \ | |
1239 \ | |
1223 product(bool, UseFastJNIAccessors, true, \ | 1240 product(bool, UseFastJNIAccessors, true, \ |
1224 "Use optimized versions of Get<Primitive>Field") \ | 1241 "Use optimized versions of Get<Primitive>Field") \ |
1242 \ | |
1243 product(intx, MaxJNILocalCapacity, 65536, \ | |
1244 "Maximum allowable local JNI handle capacity to " \ | |
1245 "EnsureLocalCapacity() and PushLocalFrame(), " \ | |
1246 "where <= 0 is unlimited, default: 65536") \ | |
1225 \ | 1247 \ |
1226 product(bool, EagerXrunInit, false, \ | 1248 product(bool, EagerXrunInit, false, \ |
1227 "Eagerly initialize -Xrun libraries; allows startup profiling, " \ | 1249 "Eagerly initialize -Xrun libraries; allows startup profiling, " \ |
1228 "but not all -Xrun libraries may support the state of the VM " \ | 1250 "but not all -Xrun libraries may support the state of the VM " \ |
1229 "at this time") \ | 1251 "at this time") \ |
1945 "concurrent GC cycle. It is used by GCs that trigger a " \ | 1967 "concurrent GC cycle. It is used by GCs that trigger a " \ |
1946 "concurrent GC cycle based on the occupancy of the entire heap, " \ | 1968 "concurrent GC cycle based on the occupancy of the entire heap, " \ |
1947 "not just one of the generations (e.g., G1). A value of 0 " \ | 1969 "not just one of the generations (e.g., G1). A value of 0 " \ |
1948 "denotes 'do constant GC cycles'.") \ | 1970 "denotes 'do constant GC cycles'.") \ |
1949 \ | 1971 \ |
1972 manageable(intx, CMSTriggerInterval, -1, \ | |
1973 "Commence a CMS collection cycle (at least) every so many " \ | |
1974 "milliseconds (0 permanently, -1 disabled)") \ | |
1975 \ | |
1950 product(bool, UseCMSInitiatingOccupancyOnly, false, \ | 1976 product(bool, UseCMSInitiatingOccupancyOnly, false, \ |
1951 "Only use occupancy as a criterion for starting a CMS collection")\ | 1977 "Only use occupancy as a criterion for starting a CMS collection")\ |
1952 \ | 1978 \ |
1953 product(uintx, CMSIsTooFullPercentage, 98, \ | 1979 product(uintx, CMSIsTooFullPercentage, 98, \ |
1954 "An absolute ceiling above which CMS will always consider the " \ | 1980 "An absolute ceiling above which CMS will always consider the " \ |
2309 "Print date stamps at garbage collection") \ | 2335 "Print date stamps at garbage collection") \ |
2310 \ | 2336 \ |
2311 manageable(bool, PrintGCTimeStamps, false, \ | 2337 manageable(bool, PrintGCTimeStamps, false, \ |
2312 "Print timestamps at garbage collection") \ | 2338 "Print timestamps at garbage collection") \ |
2313 \ | 2339 \ |
2340 manageable(bool, PrintGCID, false, \ | |
2341 "Print an identifier for each garbage collection") \ | |
2342 \ | |
2314 product(bool, PrintGCTaskTimeStamps, false, \ | 2343 product(bool, PrintGCTaskTimeStamps, false, \ |
2315 "Print timestamps for individual gc worker thread tasks") \ | 2344 "Print timestamps for individual gc worker thread tasks") \ |
2316 \ | 2345 \ |
2317 develop(intx, ConcGCYieldTimeout, 0, \ | 2346 develop(intx, ConcGCYieldTimeout, 0, \ |
2318 "If non-zero, assert that GC threads yield within this " \ | 2347 "If non-zero, assert that GC threads yield within this " \ |
2331 develop(bool, TraceFinalizerRegistration, false, \ | 2360 develop(bool, TraceFinalizerRegistration, false, \ |
2332 "Trace registration of final references") \ | 2361 "Trace registration of final references") \ |
2333 \ | 2362 \ |
2334 notproduct(bool, TraceScavenge, false, \ | 2363 notproduct(bool, TraceScavenge, false, \ |
2335 "Trace scavenge") \ | 2364 "Trace scavenge") \ |
2365 \ | |
2366 product(bool, IgnoreEmptyClassPaths, false, \ | |
2367 "Ignore empty path elements in -classpath") \ | |
2368 \ | |
2369 product(bool, TraceClassPaths, false, \ | |
2370 "Trace processing of class paths") \ | |
2336 \ | 2371 \ |
2337 product_rw(bool, TraceClassLoading, false, \ | 2372 product_rw(bool, TraceClassLoading, false, \ |
2338 "Trace all classes loaded") \ | 2373 "Trace all classes loaded") \ |
2339 \ | 2374 \ |
2340 product(bool, TraceClassLoadingPreorder, false, \ | 2375 product(bool, TraceClassLoadingPreorder, false, \ |
3792 "used in future JVM runs") \ | 3827 "used in future JVM runs") \ |
3793 \ | 3828 \ |
3794 product(bool, PrintSharedSpaces, false, \ | 3829 product(bool, PrintSharedSpaces, false, \ |
3795 "Print usage of shared spaces") \ | 3830 "Print usage of shared spaces") \ |
3796 \ | 3831 \ |
3832 product(bool, PrintSharedArchiveAndExit, false, \ | |
3833 "Print shared archive file contents") \ | |
3834 \ | |
3835 product(bool, PrintSharedDictionary, false, \ | |
3836 "If PrintSharedArchiveAndExit is true, also print the shared " \ | |
3837 "dictionary") \ | |
3838 \ | |
3797 product(uintx, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(16*M), \ | 3839 product(uintx, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(16*M), \ |
3798 "Size of read-write space for metadata (in bytes)") \ | 3840 "Size of read-write space for metadata (in bytes)") \ |
3799 \ | 3841 \ |
3800 product(uintx, SharedReadOnlySize, NOT_LP64(12*M) LP64_ONLY(16*M), \ | 3842 product(uintx, SharedReadOnlySize, NOT_LP64(12*M) LP64_ONLY(16*M), \ |
3801 "Size of read-only space for metadata (in bytes)") \ | 3843 "Size of read-only space for metadata (in bytes)") \ |
3811 "Address to allocate shared memory region for class data") \ | 3853 "Address to allocate shared memory region for class data") \ |
3812 \ | 3854 \ |
3813 diagnostic(bool, EnableInvokeDynamic, true, \ | 3855 diagnostic(bool, EnableInvokeDynamic, true, \ |
3814 "support JSR 292 (method handles, invokedynamic, " \ | 3856 "support JSR 292 (method handles, invokedynamic, " \ |
3815 "anonymous classes") \ | 3857 "anonymous classes") \ |
3858 \ | |
3859 diagnostic(bool, IgnoreUnverifiableClassesDuringDump, false, \ | |
3860 "Do not quit -Xshare:dump even if we encounter unverifiable " \ | |
3861 "classes. Just exclude them from the shared dictionary.") \ | |
3816 \ | 3862 \ |
3817 diagnostic(bool, PrintMethodHandleStubs, false, \ | 3863 diagnostic(bool, PrintMethodHandleStubs, false, \ |
3818 "Print generated stub code for method handles") \ | 3864 "Print generated stub code for method handles") \ |
3819 \ | 3865 \ |
3820 develop(bool, TraceMethodHandles, false, \ | 3866 develop(bool, TraceMethodHandles, false, \ |
3901 "Enable internal testing APIs") \ | 3947 "Enable internal testing APIs") \ |
3902 \ | 3948 \ |
3903 product(bool, PrintGCCause, true, \ | 3949 product(bool, PrintGCCause, true, \ |
3904 "Include GC cause in GC logging") \ | 3950 "Include GC cause in GC logging") \ |
3905 \ | 3951 \ |
3952 experimental(intx, SurvivorAlignmentInBytes, 0, \ | |
3953 "Default survivor space alignment in bytes") \ | |
3954 \ | |
3906 product(bool , AllowNonVirtualCalls, false, \ | 3955 product(bool , AllowNonVirtualCalls, false, \ |
3907 "Obey the ACC_SUPER flag and allow invokenonvirtual calls") \ | 3956 "Obey the ACC_SUPER flag and allow invokenonvirtual calls") \ |
3908 \ | 3957 \ |
3958 product(ccstr, DumpLoadedClassList, NULL, \ | |
3959 "Dump the names all loaded classes, that could be stored into " \ | |
3960 "the CDS archive, in the specified file") \ | |
3961 \ | |
3962 product(ccstr, SharedClassListFile, NULL, \ | |
3963 "Override the default CDS class list") \ | |
3964 \ | |
3909 diagnostic(ccstr, SharedArchiveFile, NULL, \ | 3965 diagnostic(ccstr, SharedArchiveFile, NULL, \ |
3910 "Override the default location of the CDS archive file") \ | 3966 "Override the default location of the CDS archive file") \ |
3967 \ | |
3968 product(ccstr, ExtraSharedClassListFile, NULL, \ | |
3969 "Extra classlist for building the CDS archive file") \ | |
3911 \ | 3970 \ |
3912 experimental(uintx, ArrayAllocatorMallocLimit, \ | 3971 experimental(uintx, ArrayAllocatorMallocLimit, \ |
3913 SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx), \ | 3972 SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx), \ |
3914 "Allocation less than this value will be allocated " \ | 3973 "Allocation less than this value will be allocated " \ |
3915 "using malloc. Larger allocations will use mmap.") \ | 3974 "using malloc. Larger allocations will use mmap.") \ |