comparison src/share/vm/runtime/globals.hpp @ 7066:7d815d842ee0

Merge.
author Christian Haeubl <haeubl@ssw.jku.at>
date Fri, 23 Nov 2012 11:50:27 +0100
parents 8c5333c80cfd 2cb439954abf
children 263bc2349f15
comparison
equal deleted inserted replaced
7065:cfacf5d5bade 7066:7d815d842ee0
173 define_pd_global(intx, InlineUnsafeOps, true); 173 define_pd_global(intx, InlineUnsafeOps, true);
174 define_pd_global(intx, InitialCodeCacheSize, 160*K); 174 define_pd_global(intx, InitialCodeCacheSize, 160*K);
175 define_pd_global(intx, ReservedCodeCacheSize, 32*M); 175 define_pd_global(intx, ReservedCodeCacheSize, 32*M);
176 define_pd_global(intx, CodeCacheExpansionSize, 32*K); 176 define_pd_global(intx, CodeCacheExpansionSize, 32*K);
177 define_pd_global(intx, CodeCacheMinBlockLength, 1); 177 define_pd_global(intx, CodeCacheMinBlockLength, 1);
178 define_pd_global(uintx,PermSize, ScaleForWordSize(4*M)); 178 define_pd_global(uintx,MetaspaceSize, ScaleForWordSize(4*M));
179 define_pd_global(uintx,MaxPermSize, ScaleForWordSize(64*M));
180 define_pd_global(bool, NeverActAsServerClassMachine, true); 179 define_pd_global(bool, NeverActAsServerClassMachine, true);
181 define_pd_global(uint64_t,MaxRAM, 1ULL*G); 180 define_pd_global(uint64_t,MaxRAM, 1ULL*G);
182 #define CI_COMPILER_COUNT 0 181 #define CI_COMPILER_COUNT 0
183 #else 182 #else
184 183
437 // it can be done in the same way as product_rw. 436 // it can be done in the same way as product_rw.
438 437
439 #define RUNTIME_FLAGS(develop, develop_pd, product, product_pd, diagnostic, experimental, notproduct, manageable, product_rw, lp64_product) \ 438 #define RUNTIME_FLAGS(develop, develop_pd, product, product_pd, diagnostic, experimental, notproduct, manageable, product_rw, lp64_product) \
440 \ 439 \
441 lp64_product(bool, UseCompressedOops, false, \ 440 lp64_product(bool, UseCompressedOops, false, \
442 "Use 32-bit object references in 64-bit VM. " \ 441 "Use 32-bit object references in 64-bit VM " \
442 "lp64_product means flag is always constant in 32 bit VM") \
443 \
444 lp64_product(bool, UseCompressedKlassPointers, false, \
445 "Use 32-bit klass pointers in 64-bit VM " \
443 "lp64_product means flag is always constant in 32 bit VM") \ 446 "lp64_product means flag is always constant in 32 bit VM") \
444 \ 447 \
445 notproduct(bool, CheckCompressedOops, true, \ 448 notproduct(bool, CheckCompressedOops, true, \
446 "generate checks in encoding/decoding code in debug VM") \ 449 "generate checks in encoding/decoding code in debug VM") \
447 \ 450 \
468 "Use lwsync instruction if true, else use slower sync") \ 471 "Use lwsync instruction if true, else use slower sync") \
469 \ 472 \
470 develop(bool, CleanChunkPoolAsync, falseInEmbedded, \ 473 develop(bool, CleanChunkPoolAsync, falseInEmbedded, \
471 "Whether to clean the chunk pool asynchronously") \ 474 "Whether to clean the chunk pool asynchronously") \
472 \ 475 \
473 /* Temporary: See 6948537 */ \ 476 /* Temporary: See 6948537 */ \
474 experimental(bool, UseMemSetInBOT, true, \ 477 experimental(bool, UseMemSetInBOT, true, \
475 "(Unstable) uses memset in BOT updates in GC code") \ 478 "(Unstable) uses memset in BOT updates in GC code") \
476 \ 479 \
477 diagnostic(bool, UnlockDiagnosticVMOptions, trueInDebug, \ 480 diagnostic(bool, UnlockDiagnosticVMOptions, trueInDebug, \
478 "Enable normal processing of flags relating to field diagnostics")\ 481 "Enable normal processing of flags relating to field diagnostics")\
528 "True for register window machines (sparc/ia64)") \ 531 "True for register window machines (sparc/ia64)") \
529 \ 532 \
530 product(intx, UseSSE, 99, \ 533 product(intx, UseSSE, 99, \
531 "Highest supported SSE instructions set on x86/x64") \ 534 "Highest supported SSE instructions set on x86/x64") \
532 \ 535 \
536 product(bool, UseAES, false, \
537 "Control whether AES instructions can be used on x86/x64") \
538 \
533 product(uintx, LargePageSizeInBytes, 0, \ 539 product(uintx, LargePageSizeInBytes, 0, \
534 "Large page size (0 to let VM choose the page size") \ 540 "Large page size (0 to let VM choose the page size") \
535 \ 541 \
536 product(uintx, LargePageHeapSizeThreshold, 128*M, \ 542 product(uintx, LargePageHeapSizeThreshold, 128*M, \
537 "Use large pages if max heap is at least this big") \ 543 "Use large pages if max heap is at least this big") \
638 notproduct(bool, StressCriticalJNINatives, false, \ 644 notproduct(bool, StressCriticalJNINatives, false, \
639 "Exercise register saving code in critical natives") \ 645 "Exercise register saving code in critical natives") \
640 \ 646 \
641 product(bool, UseSSE42Intrinsics, false, \ 647 product(bool, UseSSE42Intrinsics, false, \
642 "SSE4.2 versions of intrinsics") \ 648 "SSE4.2 versions of intrinsics") \
649 \
650 product(bool, UseAESIntrinsics, false, \
651 "use intrinsics for AES versions of crypto") \
643 \ 652 \
644 develop(bool, TraceCallFixup, false, \ 653 develop(bool, TraceCallFixup, false, \
645 "traces all call fixups") \ 654 "traces all call fixups") \
646 \ 655 \
647 product(bool, DeoptimizeALot, false, \ 656 product(bool, DeoptimizeALot, false, \
855 "Approximate segment size when generating a segmented heap dump") \ 864 "Approximate segment size when generating a segmented heap dump") \
856 \ 865 \
857 develop(bool, BreakAtWarning, false, \ 866 develop(bool, BreakAtWarning, false, \
858 "Execute breakpoint upon encountering VM warning") \ 867 "Execute breakpoint upon encountering VM warning") \
859 \ 868 \
860 product_pd(bool, UseVectoredExceptions, \
861 "Temp Flag - Use Vectored Exceptions rather than SEH (Windows Only)") \
862 \
863 develop(bool, TraceVMOperation, false, \ 869 develop(bool, TraceVMOperation, false, \
864 "Trace vm operations") \ 870 "Trace vm operations") \
865 \ 871 \
866 develop(bool, UseFakeTimers, false, \ 872 develop(bool, UseFakeTimers, false, \
867 "Tells whether the VM should use system time or a fake timer") \ 873 "Tells whether the VM should use system time or a fake timer") \
868 \ 874 \
869 product(ccstr, NativeMemoryTracking, "off", \ 875 product(ccstr, NativeMemoryTracking, "off", \
870 "Native memory tracking options") \ 876 "Native memory tracking options") \
877 \
878 diagnostic(bool, PrintNMTStatistics, false, \
879 "Print native memory tracking summary data if it is on") \
871 \ 880 \
872 diagnostic(bool, LogCompilation, false, \ 881 diagnostic(bool, LogCompilation, false, \
873 "Log compilation activity in detail to hotspot.log or LogFile") \ 882 "Log compilation activity in detail to hotspot.log or LogFile") \
874 \ 883 \
875 product(bool, PrintCompilation, false, \ 884 product(bool, PrintCompilation, false, \
1004 "dictionary") \ 1013 "dictionary") \
1005 \ 1014 \
1006 product(bool, ClassUnloading, true, \ 1015 product(bool, ClassUnloading, true, \
1007 "Do unloading of classes") \ 1016 "Do unloading of classes") \
1008 \ 1017 \
1009 diagnostic(bool, LinkWellKnownClasses, false, \
1010 "Resolve a well known class as soon as its name is seen") \
1011 \
1012 develop(bool, DisableStartThread, false, \ 1018 develop(bool, DisableStartThread, false, \
1013 "Disable starting of additional Java threads " \ 1019 "Disable starting of additional Java threads " \
1014 "(for debugging only)") \ 1020 "(for debugging only)") \
1015 \ 1021 \
1016 develop(bool, MemProfiling, false, \ 1022 develop(bool, MemProfiling, false, \
1070 \ 1076 \
1071 product(intx, MonitorBound, 0, "Bound Monitor population") \ 1077 product(intx, MonitorBound, 0, "Bound Monitor population") \
1072 \ 1078 \
1073 product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \ 1079 product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \
1074 \ 1080 \
1075 product(intx, Atomics, 0, \
1076 "(Unsafe,Unstable) Diagnostic - Controls emission of atomics") \
1077 \
1078 product(intx, SyncFlags, 0, "(Unsafe,Unstable) Experimental Sync flags" ) \ 1081 product(intx, SyncFlags, 0, "(Unsafe,Unstable) Experimental Sync flags" ) \
1079 \ 1082 \
1080 product(intx, SyncVerbose, 0, "(Unstable)" ) \ 1083 product(intx, SyncVerbose, 0, "(Unstable)" ) \
1081 \ 1084 \
1082 product(intx, ClearFPUAtPark, 0, "(Unsafe,Unstable)" ) \ 1085 product(intx, ClearFPUAtPark, 0, "(Unsafe,Unstable)" ) \
1197 "revoke biases of all objects in the heap of that type") \ 1200 "revoke biases of all objects in the heap of that type") \
1198 \ 1201 \
1199 product(intx, BiasedLockingDecayTime, 25000, \ 1202 product(intx, BiasedLockingDecayTime, 25000, \
1200 "Decay time (in milliseconds) to re-enable bulk rebiasing of a " \ 1203 "Decay time (in milliseconds) to re-enable bulk rebiasing of a " \
1201 "type after previous bulk rebias") \ 1204 "type after previous bulk rebias") \
1202 \
1203 develop(bool, JavaObjectsInPerm, false, \
1204 "controls whether Classes and interned Strings are allocated" \
1205 "in perm. This purely intended to allow debugging issues" \
1206 "in production.") \
1207 \ 1205 \
1208 /* tracing */ \ 1206 /* tracing */ \
1209 \ 1207 \
1210 notproduct(bool, TraceRuntimeCalls, false, \ 1208 notproduct(bool, TraceRuntimeCalls, false, \
1211 "Trace run-time calls") \ 1209 "Trace run-time calls") \
1635 \ 1633 \
1636 develop(intx, CMSDictionaryChoice, 0, \ 1634 develop(intx, CMSDictionaryChoice, 0, \
1637 "Use BinaryTreeDictionary as default in the CMS generation") \ 1635 "Use BinaryTreeDictionary as default in the CMS generation") \
1638 \ 1636 \
1639 product(uintx, CMSIndexedFreeListReplenish, 4, \ 1637 product(uintx, CMSIndexedFreeListReplenish, 4, \
1640 "Replenish an indexed free list with this number of chunks") \ 1638 "Replenish an indexed free list with this number of chunks") \
1641 \ 1639 \
1642 product(bool, CMSReplenishIntermediate, true, \ 1640 product(bool, CMSReplenishIntermediate, true, \
1643 "Replenish all intermediate free-list caches") \ 1641 "Replenish all intermediate free-list caches") \
1644 \ 1642 \
1645 product(bool, CMSSplitIndexedFreeListBlocks, true, \ 1643 product(bool, CMSSplitIndexedFreeListBlocks, true, \
1687 "Size (in cards) of CMS parallel rescan task") \ 1685 "Size (in cards) of CMS parallel rescan task") \
1688 \ 1686 \
1689 product(uintx, CMSConcMarkMultiple, 32, \ 1687 product(uintx, CMSConcMarkMultiple, 32, \
1690 "Size (in cards) of CMS concurrent MT marking task") \ 1688 "Size (in cards) of CMS concurrent MT marking task") \
1691 \ 1689 \
1692 product(uintx, CMSRevisitStackSize, 1*M, \
1693 "Size of CMS KlassKlass revisit stack") \
1694 \
1695 product(bool, CMSAbortSemantics, false, \ 1690 product(bool, CMSAbortSemantics, false, \
1696 "Whether abort-on-overflow semantics is implemented") \ 1691 "Whether abort-on-overflow semantics is implemented") \
1697 \ 1692 \
1698 product(bool, CMSParallelRemarkEnabled, true, \ 1693 product(bool, CMSParallelRemarkEnabled, true, \
1699 "Whether parallel remark enabled (only if ParNewGC)") \ 1694 "Whether parallel remark enabled (only if ParNewGC)") \
1707 " (effective only if CMSParallelSurvivorRemarkEnabled)") \ 1702 " (effective only if CMSParallelSurvivorRemarkEnabled)") \
1708 \ 1703 \
1709 product(bool, CMSConcurrentMTEnabled, true, \ 1704 product(bool, CMSConcurrentMTEnabled, true, \
1710 "Whether multi-threaded concurrent work enabled (if ParNewGC)") \ 1705 "Whether multi-threaded concurrent work enabled (if ParNewGC)") \
1711 \ 1706 \
1712 product(bool, CMSPermGenPrecleaningEnabled, true, \
1713 "Whether concurrent precleaning enabled in perm gen" \
1714 " (effective only when CMSPrecleaningEnabled is true)") \
1715 \
1716 product(bool, CMSPrecleaningEnabled, true, \ 1707 product(bool, CMSPrecleaningEnabled, true, \
1717 "Whether concurrent precleaning enabled") \ 1708 "Whether concurrent precleaning enabled") \
1718 \ 1709 \
1719 product(uintx, CMSPrecleanIter, 3, \ 1710 product(uintx, CMSPrecleanIter, 3, \
1720 "Maximum number of precleaning iteration passes") \ 1711 "Maximum number of precleaning iteration passes") \
1825 "Enable balancing of reference processing queues") \ 1816 "Enable balancing of reference processing queues") \
1826 \ 1817 \
1827 product(intx, CMSTriggerRatio, 80, \ 1818 product(intx, CMSTriggerRatio, 80, \
1828 "Percentage of MinHeapFreeRatio in CMS generation that is " \ 1819 "Percentage of MinHeapFreeRatio in CMS generation that is " \
1829 "allocated before a CMS collection cycle commences") \ 1820 "allocated before a CMS collection cycle commences") \
1830 \
1831 product(intx, CMSTriggerPermRatio, 80, \
1832 "Percentage of MinHeapFreeRatio in the CMS perm generation that " \
1833 "is allocated before a CMS collection cycle commences, that " \
1834 "also collects the perm generation") \
1835 \ 1821 \
1836 product(uintx, CMSBootstrapOccupancy, 50, \ 1822 product(uintx, CMSBootstrapOccupancy, 50, \
1837 "Percentage CMS generation occupancy at which to " \ 1823 "Percentage CMS generation occupancy at which to " \
1838 "initiate CMS collection for bootstrapping collection stats") \ 1824 "initiate CMS collection for bootstrapping collection stats") \
1839 \ 1825 \
1846 "concurrent GC cycle. It us used by GCs that trigger a " \ 1832 "concurrent GC cycle. It us used by GCs that trigger a " \
1847 "concurrent GC cycle based on the occupancy of the entire heap, " \ 1833 "concurrent GC cycle based on the occupancy of the entire heap, " \
1848 "not just one of the generations (e.g., G1). A value of 0 " \ 1834 "not just one of the generations (e.g., G1). A value of 0 " \
1849 "denotes 'do constant GC cycles'.") \ 1835 "denotes 'do constant GC cycles'.") \
1850 \ 1836 \
1851 product(intx, CMSInitiatingPermOccupancyFraction, -1, \
1852 "Percentage CMS perm generation occupancy to start a " \
1853 "CMScollection cycle. A negative value means that " \
1854 "CMSTriggerPermRatio is used") \
1855 \
1856 product(bool, UseCMSInitiatingOccupancyOnly, false, \ 1837 product(bool, UseCMSInitiatingOccupancyOnly, false, \
1857 "Only use occupancy as a crierion for starting a CMS collection") \ 1838 "Only use occupancy as a crierion for starting a CMS collection") \
1858 \ 1839 \
1859 product(intx, CMSIsTooFullPercentage, 98, \ 1840 product(intx, CMSIsTooFullPercentage, 98, \
1860 "An absolute ceiling above which CMS will always consider the " \ 1841 "An absolute ceiling above which CMS will always consider the " \
1910 \ 1891 \
1911 develop(uintx, ObjArrayMarkingStride, 512, \ 1892 develop(uintx, ObjArrayMarkingStride, 512, \
1912 "Number of ObjArray elements to push onto the marking stack" \ 1893 "Number of ObjArray elements to push onto the marking stack" \
1913 "before pushing a continuation entry") \ 1894 "before pushing a continuation entry") \
1914 \ 1895 \
1896 develop(bool, MetadataAllocationFailALot, false, \
1897 "Fail metadata allocations at intervals controlled by " \
1898 "MetadataAllocationFailALotInterval") \
1899 \
1900 develop(uintx, MetadataAllocationFailALotInterval, 1000, \
1901 "metadata allocation failure alot interval") \
1902 \
1903 develop(bool, MetaDataDeallocateALot, false, \
1904 "Deallocation bunches of metadata at intervals controlled by " \
1905 "MetaDataAllocateALotInterval") \
1906 \
1907 develop(uintx, MetaDataDeallocateALotInterval, 100, \
1908 "Metadata deallocation alot interval") \
1909 \
1910 develop(bool, TraceMetadataChunkAllocation, false, \
1911 "Trace humongous metadata allocations") \
1912 \
1913 product(bool, TraceMetadataHumongousAllocation, false, \
1914 "Trace humongous metadata allocations") \
1915 \
1916 develop(bool, TraceMetavirtualspaceAllocation, false, \
1917 "Trace humongous metadata allocations") \
1918 \
1915 notproduct(bool, ExecuteInternalVMTests, false, \ 1919 notproduct(bool, ExecuteInternalVMTests, false, \
1916 "Enable execution of internal VM tests.") \ 1920 "Enable execution of internal VM tests.") \
1917 \ 1921 \
1918 product_pd(bool, UseTLAB, "Use thread-local object allocation") \ 1922 product_pd(bool, UseTLAB, "Use thread-local object allocation") \
1919 \ 1923 \
1929 product(bool, PrintTLAB, false, \ 1933 product(bool, PrintTLAB, false, \
1930 "Print various TLAB related information") \ 1934 "Print various TLAB related information") \
1931 \ 1935 \
1932 product(bool, TLABStats, true, \ 1936 product(bool, TLABStats, true, \
1933 "Print various TLAB related information") \ 1937 "Print various TLAB related information") \
1934 \
1935 product(bool, PrintRevisitStats, false, \
1936 "Print revisit (klass and MDO) stack related information") \
1937 \ 1938 \
1938 EMBEDDED_ONLY(product(bool, LowMemoryProtection, true, \ 1939 EMBEDDED_ONLY(product(bool, LowMemoryProtection, true, \
1939 "Enable LowMemoryProtection")) \ 1940 "Enable LowMemoryProtection")) \
1940 \ 1941 \
1941 product_pd(bool, NeverActAsServerClassMachine, \ 1942 product_pd(bool, NeverActAsServerClassMachine, \
2033 "How much buffer to keep for promotion failure") \ 2034 "How much buffer to keep for promotion failure") \
2034 \ 2035 \
2035 product(uintx, SurvivorPadding, 3, \ 2036 product(uintx, SurvivorPadding, 3, \
2036 "How much buffer to keep for survivor overflow") \ 2037 "How much buffer to keep for survivor overflow") \
2037 \ 2038 \
2038 product(uintx, AdaptivePermSizeWeight, 20, \
2039 "Weight for perm gen exponential resizing, between 0 and 100") \
2040 \
2041 product(uintx, PermGenPadding, 3, \
2042 "How much buffer to keep for perm gen sizing") \
2043 \
2044 product(uintx, ThresholdTolerance, 10, \ 2039 product(uintx, ThresholdTolerance, 10, \
2045 "Allowed collection cost difference between generations") \ 2040 "Allowed collection cost difference between generations") \
2046 \ 2041 \
2047 product(uintx, AdaptiveSizePolicyCollectionCostMargin, 50, \ 2042 product(uintx, AdaptiveSizePolicyCollectionCostMargin, 50, \
2048 "If collection costs are within margin, reduce both by full " \ 2043 "If collection costs are within margin, reduce both by full " \
2064 "Supplement to TenuredGenerationSizeIncrement used at startup") \ 2059 "Supplement to TenuredGenerationSizeIncrement used at startup") \
2065 \ 2060 \
2066 product(uintx, TenuredGenerationSizeSupplementDecay, 2, \ 2061 product(uintx, TenuredGenerationSizeSupplementDecay, 2, \
2067 "Decay factor to TenuredGenerationSizeIncrement") \ 2062 "Decay factor to TenuredGenerationSizeIncrement") \
2068 \ 2063 \
2069 product(uintx, MaxGCPauseMillis, max_uintx, \ 2064 product(uintx, MaxGCPauseMillis, max_uintx, \
2070 "Adaptive size policy maximum GC pause time goal in msec, " \ 2065 "Adaptive size policy maximum GC pause time goal in msec, " \
2071 "or (G1 Only) the max. GC time per MMU time slice") \ 2066 "or (G1 Only) the max. GC time per MMU time slice") \
2072 \ 2067 \
2073 product(uintx, GCPauseIntervalMillis, 0, \ 2068 product(uintx, GCPauseIntervalMillis, 0, \
2074 "Time slice for MMU specification") \ 2069 "Time slice for MMU specification") \
2226 "Trace unloading of classes") \ 2221 "Trace unloading of classes") \
2227 \ 2222 \
2228 product_rw(bool, TraceLoaderConstraints, false, \ 2223 product_rw(bool, TraceLoaderConstraints, false, \
2229 "Trace loader constraints") \ 2224 "Trace loader constraints") \
2230 \ 2225 \
2226 develop(bool, TraceClassLoaderData, false, \
2227 "Trace class loader loader_data lifetime") \
2228 \
2229 product(uintx, InitialBootClassLoaderMetaspaceSize, 3*M, \
2230 "Initial size of the boot class loader data metaspace") \
2231 \
2231 product(bool, TraceGen0Time, false, \ 2232 product(bool, TraceGen0Time, false, \
2232 "Trace accumulated time for Gen 0 collection") \ 2233 "Trace accumulated time for Gen 0 collection") \
2233 \ 2234 \
2234 product(bool, TraceGen1Time, false, \ 2235 product(bool, TraceGen1Time, false, \
2235 "Trace accumulated time for Gen 1 collection") \ 2236 "Trace accumulated time for Gen 1 collection") \
2272 "Trace actions of the GC task manager") \ 2273 "Trace actions of the GC task manager") \
2273 \ 2274 \
2274 develop(bool, TraceGCTaskQueue, false, \ 2275 develop(bool, TraceGCTaskQueue, false, \
2275 "Trace actions of the GC task queues") \ 2276 "Trace actions of the GC task queues") \
2276 \ 2277 \
2277 diagnostic(bool, TraceGCTaskThread, false, \ 2278 diagnostic(bool, TraceGCTaskThread, false, \
2278 "Trace actions of the GC task threads") \ 2279 "Trace actions of the GC task threads") \
2279 \ 2280 \
2280 product(bool, PrintParallelOldGCPhaseTimes, false, \ 2281 product(bool, PrintParallelOldGCPhaseTimes, false, \
2281 "Print the time taken by each parallel old gc phase." \ 2282 "Print the time taken by each parallel old gc phase." \
2282 "PrintGCDetails must also be enabled.") \ 2283 "PrintGCDetails must also be enabled.") \
2338 "collect timing information for compilation") \ 2339 "collect timing information for compilation") \
2339 \ 2340 \
2340 develop(bool, CITimeEach, false, \ 2341 develop(bool, CITimeEach, false, \
2341 "display timing information after each successful compilation") \ 2342 "display timing information after each successful compilation") \
2342 \ 2343 \
2343 develop(bool, CICountOSR, true, \ 2344 develop(bool, CICountOSR, false, \
2344 "use a separate counter when assigning ids to osr compilations") \ 2345 "use a separate counter when assigning ids to osr compilations") \
2345 \ 2346 \
2346 develop(bool, CICompileNatives, true, \ 2347 develop(bool, CICompileNatives, true, \
2347 "compile native methods if supported by the compiler") \ 2348 "compile native methods if supported by the compiler") \
2348 \ 2349 \
2793 "(0 means none)")) \ 2794 "(0 means none)")) \
2794 \ 2795 \
2795 product(intx, SafepointTimeoutDelay, 10000, \ 2796 product(intx, SafepointTimeoutDelay, 10000, \
2796 "Delay in milliseconds for option SafepointTimeout") \ 2797 "Delay in milliseconds for option SafepointTimeout") \
2797 \ 2798 \
2798 product(intx, NmethodSweepFraction, 16, \ 2799 product(intx, NmethodSweepFraction, 16, \
2799 "Number of invocations of sweeper to cover all nmethods") \ 2800 "Number of invocations of sweeper to cover all nmethods") \
2800 \ 2801 \
2801 product(intx, NmethodSweepCheckInterval, 5, \ 2802 product(intx, NmethodSweepCheckInterval, 5, \
2802 "Compilers wake up every n seconds to possibly sweep nmethods") \ 2803 "Compilers wake up every n seconds to possibly sweep nmethods") \
2803 \ 2804 \
2916 \ 2917 \
2917 diagnostic(intx, MallocVerifyStart, 0, \ 2918 diagnostic(intx, MallocVerifyStart, 0, \
2918 "if non-zero, start verifying C heap after Nth call to " \ 2919 "if non-zero, start verifying C heap after Nth call to " \
2919 "malloc/realloc/free") \ 2920 "malloc/realloc/free") \
2920 \ 2921 \
2921 product_pd(intx, TypeProfileWidth, \ 2922 product(intx, TypeProfileWidth, 2, \
2922 "number of receiver types to record in call/cast profile") \ 2923 "number of receiver types to record in call/cast profile") \
2923 \ 2924 \
2924 develop(intx, BciProfileWidth, 2, \ 2925 develop(intx, BciProfileWidth, 2, \
2925 "number of return bci's to record in ret profile") \ 2926 "number of return bci's to record in ret profile") \
2926 \ 2927 \
3002 \ 3003 \
3003 product_pd(uintx, NewSizeThreadIncrease, \ 3004 product_pd(uintx, NewSizeThreadIncrease, \
3004 "Additional size added to desired new generation size per " \ 3005 "Additional size added to desired new generation size per " \
3005 "non-daemon thread (in bytes)") \ 3006 "non-daemon thread (in bytes)") \
3006 \ 3007 \
3007 product_pd(uintx, PermSize, \ 3008 product_pd(uintx, MetaspaceSize, \
3008 "Initial size of permanent generation (in bytes)") \ 3009 "Initial size of Metaspaces (in bytes)") \
3009 \ 3010 \
3010 product_pd(uintx, MaxPermSize, \ 3011 product(uintx, MaxMetaspaceSize, max_uintx, \
3011 "Maximum size of permanent generation (in bytes)") \ 3012 "Maximum size of Metaspaces (in bytes)") \
3013 \
3014 product(uintx, ClassMetaspaceSize, 2*M, \
3015 "Maximum size of InstanceKlass area in Metaspace used for " \
3016 "UseCompressedKlassPointers") \
3012 \ 3017 \
3013 product(uintx, MinHeapFreeRatio, 40, \ 3018 product(uintx, MinHeapFreeRatio, 40, \
3014 "Min percentage of heap free after GC to avoid expansion") \ 3019 "Min percentage of heap free after GC to avoid expansion") \
3015 \ 3020 \
3016 product(uintx, MaxHeapFreeRatio, 70, \ 3021 product(uintx, MaxHeapFreeRatio, 70, \
3020 "Number of milliseconds per MB of free space in the heap") \ 3025 "Number of milliseconds per MB of free space in the heap") \
3021 \ 3026 \
3022 product(uintx, MinHeapDeltaBytes, ScaleForWordSize(128*K), \ 3027 product(uintx, MinHeapDeltaBytes, ScaleForWordSize(128*K), \
3023 "Min change in heap space due to GC (in bytes)") \ 3028 "Min change in heap space due to GC (in bytes)") \
3024 \ 3029 \
3025 product(uintx, MinPermHeapExpansion, ScaleForWordSize(256*K), \ 3030 product(uintx, MinMetaspaceExpansion, ScaleForWordSize(256*K), \
3026 "Min expansion of permanent heap (in bytes)") \ 3031 "Min expansion of permanent heap (in bytes)") \
3027 \ 3032 \
3028 product(uintx, MaxPermHeapExpansion, ScaleForWordSize(4*M), \ 3033 product(uintx, MaxMetaspaceExpansion, ScaleForWordSize(4*M), \
3029 "Max expansion of permanent heap without full GC (in bytes)") \ 3034 "Max expansion of permanent heap without full GC (in bytes)") \
3030 \ 3035 \
3031 product(intx, QueuedAllocationWarningCount, 0, \ 3036 product(intx, QueuedAllocationWarningCount, 0, \
3032 "Number of times an allocation that queues behind a GC " \ 3037 "Number of times an allocation that queues behind a GC " \
3033 "will retry before printing a warning") \ 3038 "will retry before printing a warning") \
3036 "GC invoke count where +VerifyBefore/AfterGC kicks in") \ 3041 "GC invoke count where +VerifyBefore/AfterGC kicks in") \
3037 \ 3042 \
3038 diagnostic(intx, VerifyGCLevel, 0, \ 3043 diagnostic(intx, VerifyGCLevel, 0, \
3039 "Generation level at which to start +VerifyBefore/AfterGC") \ 3044 "Generation level at which to start +VerifyBefore/AfterGC") \
3040 \ 3045 \
3041 product(intx, MaxTenuringThreshold, 15, \ 3046 product(uintx, MaxTenuringThreshold, 15, \
3042 "Maximum value for tenuring threshold") \ 3047 "Maximum value for tenuring threshold") \
3043 \ 3048 \
3044 product(intx, InitialTenuringThreshold, 7, \ 3049 product(uintx, InitialTenuringThreshold, 7, \
3045 "Initial value for tenuring threshold") \ 3050 "Initial value for tenuring threshold") \
3046 \ 3051 \
3047 product(intx, TargetSurvivorRatio, 50, \ 3052 product(intx, TargetSurvivorRatio, 50, \
3048 "Desired percentage of survivor space used after scavenge") \ 3053 "Desired percentage of survivor space used after scavenge") \
3049 \ 3054 \
3054 "Par compact uses a variable scale based on the density of the" \ 3059 "Par compact uses a variable scale based on the density of the" \
3055 "generation and treats this as the max value when the heap is" \ 3060 "generation and treats this as the max value when the heap is" \
3056 "either completely full or completely empty. Par compact also" \ 3061 "either completely full or completely empty. Par compact also" \
3057 "has a smaller default value; see arguments.cpp.") \ 3062 "has a smaller default value; see arguments.cpp.") \
3058 \ 3063 \
3059 product(uintx, PermMarkSweepDeadRatio, 20, \
3060 "Percentage (0-100) of the perm gen allowed as dead wood." \
3061 "See MarkSweepDeadRatio for collector-specific comments.") \
3062 \
3063 product(intx, MarkSweepAlwaysCompactCount, 4, \ 3064 product(intx, MarkSweepAlwaysCompactCount, 4, \
3064 "How often should we fully compact the heap (ignoring the dead " \ 3065 "How often should we fully compact the heap (ignoring the dead " \
3065 "space parameters)") \ 3066 "space parameters)") \
3066 \ 3067 \
3067 product(intx, PrintCMSStatistics, 0, \ 3068 product(intx, PrintCMSStatistics, 0, \
3076 product(intx, PrintFLSCensus, 0, \ 3077 product(intx, PrintFLSCensus, 0, \
3077 "Census for CMS' FreeListSpace") \ 3078 "Census for CMS' FreeListSpace") \
3078 \ 3079 \
3079 develop(uintx, GCExpandToAllocateDelayMillis, 0, \ 3080 develop(uintx, GCExpandToAllocateDelayMillis, 0, \
3080 "Delay in ms between expansion and allocation") \ 3081 "Delay in ms between expansion and allocation") \
3082 \
3083 develop(uintx, GCWorkerDelayMillis, 0, \
3084 "Delay in ms in scheduling GC workers") \
3081 \ 3085 \
3082 product(intx, DeferThrSuspendLoopCount, 4000, \ 3086 product(intx, DeferThrSuspendLoopCount, 4000, \
3083 "(Unstable) Number of times to iterate in safepoint loop " \ 3087 "(Unstable) Number of times to iterate in safepoint loop " \
3084 " before blocking VM threads ") \ 3088 " before blocking VM threads ") \
3085 \ 3089 \
3200 product(ccstr, CompileCommandFile, NULL, \ 3204 product(ccstr, CompileCommandFile, NULL, \
3201 "Read compiler commands from this file [.hotspot_compiler]") \ 3205 "Read compiler commands from this file [.hotspot_compiler]") \
3202 \ 3206 \
3203 product(ccstrlist, CompileCommand, "", \ 3207 product(ccstrlist, CompileCommand, "", \
3204 "Prepend to .hotspot_compiler; e.g. log,java/lang/String.<init>") \ 3208 "Prepend to .hotspot_compiler; e.g. log,java/lang/String.<init>") \
3209 \
3210 develop(bool, ReplayCompiles, false, \
3211 "Enable replay of compilations from ReplayDataFile") \
3212 \
3213 develop(ccstr, ReplayDataFile, "replay.txt", \
3214 "file containing compilation replay information") \
3215 \
3216 develop(intx, ReplaySuppressInitializers, 2, \
3217 "Controls handling of class initialization during replay" \
3218 "0 - don't do anything special" \
3219 "1 - treat all class initializers as empty" \
3220 "2 - treat class initializers for application classes as empty" \
3221 "3 - allow all class initializers to run during bootstrap but" \
3222 " pretend they are empty after starting replay") \
3223 \
3224 develop(bool, ReplayIgnoreInitErrors, false, \
3225 "Ignore exceptions thrown during initialization for replay") \
3226 \
3227 develop(bool, DumpReplayDataOnError, true, \
3228 "record replay data for crashing compiler threads") \
3205 \ 3229 \
3206 product(bool, CICompilerCountPerCPU, false, \ 3230 product(bool, CICompilerCountPerCPU, false, \
3207 "1 compiler thread for log(N CPUs)") \ 3231 "1 compiler thread for log(N CPUs)") \
3208 \ 3232 \
3209 develop(intx, CIFireOOMAt, -1, \ 3233 develop(intx, CIFireOOMAt, -1, \
3539 "used in future JVM runs.") \ 3563 "used in future JVM runs.") \
3540 \ 3564 \
3541 product(bool, PrintSharedSpaces, false, \ 3565 product(bool, PrintSharedSpaces, false, \
3542 "Print usage of shared spaces") \ 3566 "Print usage of shared spaces") \
3543 \ 3567 \
3544 product(uintx, SharedDummyBlockSize, 512*M, \ 3568 product(uintx, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(16*M), \
3569 "Size of read-write space in permanent generation (in bytes)") \
3570 \
3571 product(uintx, SharedReadOnlySize, NOT_LP64(12*M) LP64_ONLY(16*M), \
3572 "Size of read-only space in permanent generation (in bytes)") \
3573 \
3574 product(uintx, SharedMiscDataSize, NOT_LP64(2*M) LP64_ONLY(4*M), \
3575 "Size of the shared data area adjacent to the heap (in bytes)") \
3576 \
3577 product(uintx, SharedMiscCodeSize, 120*K, \
3578 "Size of the shared code area adjacent to the heap (in bytes)") \
3579 \
3580 product(uintx, SharedDummyBlockSize, 0, \
3545 "Size of dummy block used to shift heap addresses (in bytes)") \ 3581 "Size of dummy block used to shift heap addresses (in bytes)") \
3546 \
3547 product(uintx, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(13*M), \
3548 "Size of read-write space in permanent generation (in bytes)") \
3549 \
3550 product(uintx, SharedReadOnlySize, 10*M, \
3551 "Size of read-only space in permanent generation (in bytes)") \
3552 \
3553 product(uintx, SharedMiscDataSize, NOT_LP64(4*M) LP64_ONLY(5*M) NOT_PRODUCT(+1*M), \
3554 "Size of the shared data area adjacent to the heap (in bytes)") \
3555 \
3556 product(uintx, SharedMiscCodeSize, 4*M, \
3557 "Size of the shared code area adjacent to the heap (in bytes)") \
3558 \
3559 diagnostic(bool, SharedOptimizeColdStart, true, \
3560 "At dump time, order shared objects to achieve better " \
3561 "cold startup time.") \
3562 \
3563 develop(intx, SharedOptimizeColdStartPolicy, 2, \
3564 "Reordering policy for SharedOptimizeColdStart " \
3565 "0=favor classload-time locality, 1=balanced, " \
3566 "2=favor runtime locality") \
3567 \
3568 diagnostic(bool, SharedSkipVerify, false, \
3569 "Skip assert() and verify() which page-in unwanted shared " \
3570 "objects. ") \
3571 \ 3582 \
3572 diagnostic(bool, EnableInvokeDynamic, false, \ 3583 diagnostic(bool, EnableInvokeDynamic, false, \
3573 "support JSR 292 (method handles, invokedynamic, " \ 3584 "support JSR 292 (method handles, invokedynamic, " \
3574 "anonymous classes") \ 3585 "anonymous classes") \
3575 \ 3586 \
3618 "Relax the access control checks in the verifier") \ 3629 "Relax the access control checks in the verifier") \
3619 \ 3630 \
3620 diagnostic(bool, PrintDTraceDOF, false, \ 3631 diagnostic(bool, PrintDTraceDOF, false, \
3621 "Print the DTrace DOF passed to the system for JSDT probes") \ 3632 "Print the DTrace DOF passed to the system for JSDT probes") \
3622 \ 3633 \
3623 product(uintx, StringTableSize, 1009, \ 3634 product(uintx, StringTableSize, defaultStringTableSize, \
3624 "Number of buckets in the interned String table") \ 3635 "Number of buckets in the interned String table") \
3636 \
3637 develop(bool, TraceDefaultMethods, false, \
3638 "Trace the default method processing steps") \
3639 \
3640 develop(bool, ParseAllGenericSignatures, false, \
3641 "Parse all generic signatures while classloading") \
3642 \
3643 develop(bool, VerifyGenericSignatures, false, \
3644 "Abort VM on erroneous or inconsistent generic signatures") \
3625 \ 3645 \
3626 product(bool, UseVMInterruptibleIO, false, \ 3646 product(bool, UseVMInterruptibleIO, false, \
3627 "(Unstable, Solaris-specific) Thread interrupt before or with " \ 3647 "(Unstable, Solaris-specific) Thread interrupt before or with " \
3628 "EINTR for I/O operations results in OS_INTRPT. The default value"\ 3648 "EINTR for I/O operations results in OS_INTRPT. The default value"\
3629 " of this flag is true for JDK 6 and earlier") \ 3649 " of this flag is true for JDK 6 and earlier") \