Mercurial > hg > truffle
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") \ |