< prev index next >

src/hotspot/share/runtime/globals.hpp

Print this page

 797           "Use optimized versions of Get<Primitive>Field")                  \
 798                                                                             \
 799   product(intx, MaxJNILocalCapacity, 65536,                                 \
 800           "Maximum allowable local JNI handle capacity to "                 \
 801           "EnsureLocalCapacity() and PushLocalFrame(), "                    \
 802           "where <= 0 is unlimited, default: 65536")                        \
 803           range(min_intx, max_intx)                                         \
 804                                                                             \
 805   product(bool, EagerXrunInit, false,                                       \
 806           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
 807           "but not all -Xrun libraries may support the state of the VM "    \
 808           "at this time")                                                   \
 809                                                                             \
 810   develop(uintx, PreallocatedOutOfMemoryErrorCount, 4,                      \
 811           "Number of OutOfMemoryErrors preallocated with backtrace")        \
 812           range(0, 1024)                                                    \
 813                                                                             \
 814   product(bool, UseXMMForArrayCopy, false,                                  \
 815           "Use SSE2 MOVQ instruction for Arraycopy")                        \
 816                                                                             \
 817   develop(bool, PrintFieldLayout, false,                                    \
 818           "Print field layout for each class")                              \
 819                                                                             \






























 820   /* Need to limit the extent of the padding to reasonable size.          */\
 821   /* 8K is well beyond the reasonable HW cache line size, even with       */\
 822   /* aggressive prefetching, while still leaving the room for segregating */\
 823   /* among the distinct pages.                                            */\
 824   product(int, ContendedPaddingWidth, 128,                                  \
 825           "How many bytes to pad the fields/classes marked @Contended with")\
 826           range(0, 8192)                                                    \
 827           constraint(ContendedPaddingWidthConstraintFunc,AfterErgo)         \
 828                                                                             \
 829   product(bool, EnableContended, true,                                      \
 830           "Enable @Contended annotation support")                           \
 831                                                                             \
 832   product(bool, RestrictContended, true,                                    \
 833           "Restrict @Contended to trusted classes")                         \
 834                                                                             \
 835   product(int, DiagnoseSyncOnValueBasedClasses, 0, DIAGNOSTIC,              \
 836              "Detect and take action upon identifying synchronization on "  \
 837              "value based classes. Modes: "                                 \
 838              "0: off; "                                                     \
 839              "1: exit with fatal error; "                                   \

1760           "Create JMX Management Server")                                   \
1761                                                                             \
1762   product(bool, DisableAttachMechanism, false,                              \
1763           "Disable mechanism that allows tools to attach to this VM")       \
1764                                                                             \
1765   product(bool, StartAttachListener, false,                                 \
1766           "Always start Attach Listener at VM startup")                     \
1767                                                                             \
1768   product(bool, EnableDynamicAgentLoading, true,                            \
1769           "Allow tools to load agents with the attach mechanism")           \
1770                                                                             \
1771   product(bool, PrintConcurrentLocks, false, MANAGEABLE,                    \
1772           "Print java.util.concurrent locks in thread dump")                \
1773                                                                             \
1774   product(bool, PrintMethodHandleStubs, false, DIAGNOSTIC,                  \
1775           "Print generated stub code for method handles")                   \
1776                                                                             \
1777   product(bool, VerifyMethodHandles, trueInDebug, DIAGNOSTIC,               \
1778           "perform extra checks when constructing method handles")          \
1779                                                                             \



1780   product(bool, ShowHiddenFrames, false, DIAGNOSTIC,                        \
1781           "show method handle implementation frames (usually hidden)")      \
1782                                                                             \
1783   product(bool, ShowCarrierFrames, false, DIAGNOSTIC,                       \
1784           "show virtual threads' carrier frames in exceptions")             \
1785                                                                             \
1786   product(bool, TrustFinalNonStaticFields, false, EXPERIMENTAL,             \
1787           "trust final non-static declarations for constant folding")       \
1788                                                                             \
1789   product(bool, FoldStableValues, true, DIAGNOSTIC,                         \
1790           "Optimize loads from stable fields (marked w/ @Stable)")          \
1791                                                                             \
1792   product(int, UseBootstrapCallInfo, 1, DIAGNOSTIC,                         \
1793           "0: when resolving InDy or ConDy, force all BSM arguments to be " \
1794           "resolved before the bootstrap method is called; 1: when a BSM "  \
1795           "that may accept a BootstrapCallInfo is detected, use that API "  \
1796           "to pass BSM arguments, which allows the BSM to delay their "     \
1797           "resolution; 2+: stress test the BCI API by calling more BSMs "   \
1798           "via that API, instead of with the eagerly-resolved array.")      \
1799                                                                             \

1931           "On internal errors, include registers in error report.")         \
1932                                                                             \
1933   product(bool, UseSwitchProfiling, true, DIAGNOSTIC,                       \
1934           "leverage profiling for table/lookup switch")                     \
1935                                                                             \
1936   develop(bool, TraceMemoryWriteback, false,                                \
1937           "Trace memory writeback operations")                              \
1938                                                                             \
1939   JFR_ONLY(product(bool, FlightRecorder, false,                             \
1940           "(Deprecated) Enable Flight Recorder"))                           \
1941                                                                             \
1942   JFR_ONLY(product(ccstr, FlightRecorderOptions, nullptr,                   \
1943           "Flight Recorder options"))                                       \
1944                                                                             \
1945   JFR_ONLY(product(ccstr, StartFlightRecording, nullptr,                    \
1946           "Start flight recording with options"))                           \
1947                                                                             \
1948   product(bool, UseFastUnorderedTimeStamps, false, EXPERIMENTAL,            \
1949           "Use platform unstable time where supported for timestamps only") \
1950                                                                             \

















1951   product(bool, DeoptimizeNMethodBarriersALot, false, DIAGNOSTIC,           \
1952                 "Make nmethod barriers deoptimise a lot.")                  \
1953                                                                             \
1954   develop(bool, VerifyCrossModifyFence,                                     \
1955           false AARCH64_ONLY(DEBUG_ONLY(||true)),                           \
1956              "Mark all threads after a safepoint, and clear on a modify "   \
1957              "fence. Add cleanliness checks.")                              \
1958                                                                             \
1959   product(bool, UseObjectMonitorTable, false, DIAGNOSTIC,                   \
1960           "Use a table to record inflated monitors rather than the first "  \
1961           "word of the object.")                                            \
1962                                                                             \
1963   product(int, FastLockingSpins, 13, DIAGNOSTIC,                            \
1964           "Specifies the number of times fast locking will attempt to "     \
1965           "CAS the markWord before inflating. Between each CAS it will "    \
1966           "spin for exponentially more time, resulting in a total number "  \
1967           "of spins on the order of O(2^value)")                            \
1968           range(1, 30)                                                      \
1969                                                                             \
1970   product(uint, TrimNativeHeapInterval, 0,                                  \

1988                                                                             \
1989   product(bool, UseSecondarySupersCache, true, DIAGNOSTIC,                  \
1990                 "Use secondary supers cache during subtype checks.")        \
1991                                                                             \
1992   product(bool, UseSecondarySupersTable, false, DIAGNOSTIC,                 \
1993                 "Use hash table to lookup secondary supers.")               \
1994                                                                             \
1995   product(bool, VerifySecondarySupers, false, DIAGNOSTIC,                   \
1996           "Check that linear and hashed secondary lookups return the same result.") \
1997                                                                             \
1998   product(bool, StressSecondarySupers, false, DIAGNOSTIC,                   \
1999           "Use a terrible hash function in order to generate many collisions.") \
2000                                                                             \
2001   product(bool, UseThreadsLockThrottleLock, true, DIAGNOSTIC,               \
2002           "Use an extra lock during Thread start and exit to alleviate"     \
2003           "contention on Threads_lock.")                                    \
2004                                                                             \
2005   develop(uint, BinarySearchThreshold, 16,                                  \
2006           "Minimal number of elements in a sorted collection to prefer"     \
2007           "binary search over simple linear search." )                      \
2008                                                                             \
2009 
2010 // end of RUNTIME_FLAGS
2011 
2012 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2013 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2014 DECLARE_FLAGS(RUNTIME_FLAGS)
2015 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2016 
2017 #endif // SHARE_RUNTIME_GLOBALS_HPP

 797           "Use optimized versions of Get<Primitive>Field")                  \
 798                                                                             \
 799   product(intx, MaxJNILocalCapacity, 65536,                                 \
 800           "Maximum allowable local JNI handle capacity to "                 \
 801           "EnsureLocalCapacity() and PushLocalFrame(), "                    \
 802           "where <= 0 is unlimited, default: 65536")                        \
 803           range(min_intx, max_intx)                                         \
 804                                                                             \
 805   product(bool, EagerXrunInit, false,                                       \
 806           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
 807           "but not all -Xrun libraries may support the state of the VM "    \
 808           "at this time")                                                   \
 809                                                                             \
 810   develop(uintx, PreallocatedOutOfMemoryErrorCount, 4,                      \
 811           "Number of OutOfMemoryErrors preallocated with backtrace")        \
 812           range(0, 1024)                                                    \
 813                                                                             \
 814   product(bool, UseXMMForArrayCopy, false,                                  \
 815           "Use SSE2 MOVQ instruction for Arraycopy")                        \
 816                                                                             \
 817   product(bool, PrintFieldLayout, false, DIAGNOSTIC,                        \
 818           "Print field layout for each class")                              \
 819                                                                             \
 820   product(bool, PrintInlineLayout, false, DIAGNOSTIC,                       \
 821           "Print field layout for each inline type or class with inline fields") \
 822                                                                             \
 823   product(bool, PrintFlatArrayLayout, false, DIAGNOSTIC,                    \
 824           "Print array layout for each inline type array")                  \
 825                                                                             \
 826   product(bool, UseArrayFlattening, true,                                   \
 827           "Allow the VM to flatten arrays")                                 \
 828                                                                             \
 829   product(bool, UseFieldFlattening, true,                                   \
 830           "Allow the VM to flatten value fields")                           \
 831                                                                             \
 832   product(bool, UseNonAtomicValueFlattening, true,                          \
 833           "Allow the JVM to flatten some non-atomic null-free values")      \
 834                                                                             \
 835   product(bool, UseNullableValueFlattening, true,                           \
 836           "Allow the JVM to flatten some nullable values")                  \
 837                                                                             \
 838   product(bool, UseAtomicValueFlattening, true,                             \
 839           "Allow the JVM to flatten some atomic values")                    \
 840                                                                             \
 841   product(bool, UseNullableNonAtomicValueFlattening, true,                  \
 842           "Allow the JVM to flatten some strict final non-static fields")   \
 843                                                                             \
 844   product(intx, FlatArrayElementMaxOops, 4,                                 \
 845           "Max nof embedded object references in an inline type to flatten, <0 no limit")  \
 846                                                                             \
 847   develop(ccstrlist, PrintInlineKlassFields, "",                            \
 848           "Print fields collected by InlineKlass::collect_fields")          \
 849                                                                             \
 850   /* Need to limit the extent of the padding to reasonable size.          */\
 851   /* 8K is well beyond the reasonable HW cache line size, even with       */\
 852   /* aggressive prefetching, while still leaving the room for segregating */\
 853   /* among the distinct pages.                                            */\
 854   product(int, ContendedPaddingWidth, 128,                                  \
 855           "How many bytes to pad the fields/classes marked @Contended with")\
 856           range(0, 8192)                                                    \
 857           constraint(ContendedPaddingWidthConstraintFunc,AfterErgo)         \
 858                                                                             \
 859   product(bool, EnableContended, true,                                      \
 860           "Enable @Contended annotation support")                           \
 861                                                                             \
 862   product(bool, RestrictContended, true,                                    \
 863           "Restrict @Contended to trusted classes")                         \
 864                                                                             \
 865   product(int, DiagnoseSyncOnValueBasedClasses, 0, DIAGNOSTIC,              \
 866              "Detect and take action upon identifying synchronization on "  \
 867              "value based classes. Modes: "                                 \
 868              "0: off; "                                                     \
 869              "1: exit with fatal error; "                                   \

1790           "Create JMX Management Server")                                   \
1791                                                                             \
1792   product(bool, DisableAttachMechanism, false,                              \
1793           "Disable mechanism that allows tools to attach to this VM")       \
1794                                                                             \
1795   product(bool, StartAttachListener, false,                                 \
1796           "Always start Attach Listener at VM startup")                     \
1797                                                                             \
1798   product(bool, EnableDynamicAgentLoading, true,                            \
1799           "Allow tools to load agents with the attach mechanism")           \
1800                                                                             \
1801   product(bool, PrintConcurrentLocks, false, MANAGEABLE,                    \
1802           "Print java.util.concurrent locks in thread dump")                \
1803                                                                             \
1804   product(bool, PrintMethodHandleStubs, false, DIAGNOSTIC,                  \
1805           "Print generated stub code for method handles")                   \
1806                                                                             \
1807   product(bool, VerifyMethodHandles, trueInDebug, DIAGNOSTIC,               \
1808           "perform extra checks when constructing method handles")          \
1809                                                                             \
1810   product(bool, IgnoreAssertUnsetFields, false, DIAGNOSTIC,                           \
1811           "Ignore assert_unset_fields")                                     \
1812                                                                             \
1813   product(bool, ShowHiddenFrames, false, DIAGNOSTIC,                        \
1814           "show method handle implementation frames (usually hidden)")      \
1815                                                                             \
1816   product(bool, ShowCarrierFrames, false, DIAGNOSTIC,                       \
1817           "show virtual threads' carrier frames in exceptions")             \
1818                                                                             \
1819   product(bool, TrustFinalNonStaticFields, false, EXPERIMENTAL,             \
1820           "trust final non-static declarations for constant folding")       \
1821                                                                             \
1822   product(bool, FoldStableValues, true, DIAGNOSTIC,                         \
1823           "Optimize loads from stable fields (marked w/ @Stable)")          \
1824                                                                             \
1825   product(int, UseBootstrapCallInfo, 1, DIAGNOSTIC,                         \
1826           "0: when resolving InDy or ConDy, force all BSM arguments to be " \
1827           "resolved before the bootstrap method is called; 1: when a BSM "  \
1828           "that may accept a BootstrapCallInfo is detected, use that API "  \
1829           "to pass BSM arguments, which allows the BSM to delay their "     \
1830           "resolution; 2+: stress test the BCI API by calling more BSMs "   \
1831           "via that API, instead of with the eagerly-resolved array.")      \
1832                                                                             \

1964           "On internal errors, include registers in error report.")         \
1965                                                                             \
1966   product(bool, UseSwitchProfiling, true, DIAGNOSTIC,                       \
1967           "leverage profiling for table/lookup switch")                     \
1968                                                                             \
1969   develop(bool, TraceMemoryWriteback, false,                                \
1970           "Trace memory writeback operations")                              \
1971                                                                             \
1972   JFR_ONLY(product(bool, FlightRecorder, false,                             \
1973           "(Deprecated) Enable Flight Recorder"))                           \
1974                                                                             \
1975   JFR_ONLY(product(ccstr, FlightRecorderOptions, nullptr,                   \
1976           "Flight Recorder options"))                                       \
1977                                                                             \
1978   JFR_ONLY(product(ccstr, StartFlightRecording, nullptr,                    \
1979           "Start flight recording with options"))                           \
1980                                                                             \
1981   product(bool, UseFastUnorderedTimeStamps, false, EXPERIMENTAL,            \
1982           "Use platform unstable time where supported for timestamps only") \
1983                                                                             \
1984   product_pd(bool, InlineTypePassFieldsAsArgs,                              \
1985           "Pass each inline type field as an argument at calls")            \
1986                                                                             \
1987   product_pd(bool, InlineTypeReturnedAsFields,                              \
1988           "Return fields instead of an inline type reference")              \
1989                                                                             \
1990   develop(bool, StressCallingConvention, false,                             \
1991           "Stress the scalarized calling convention.")                      \
1992                                                                             \
1993   develop(bool, PreloadClasses, true,                                       \
1994           "Preloading all classes from the LoadableDescriptors attribute")  \
1995                                                                             \
1996   product(ccstrlist, ForceNonTearable, "", DIAGNOSTIC,                      \
1997           "List of inline classes which are forced to be atomic "           \
1998           "(whitespace and commas separate names, "                         \
1999           "and leading and trailing stars '*' are wildcards)")              \
2000                                                                             \
2001   product(bool, DeoptimizeNMethodBarriersALot, false, DIAGNOSTIC,           \
2002                 "Make nmethod barriers deoptimise a lot.")                  \
2003                                                                             \
2004   develop(bool, VerifyCrossModifyFence,                                     \
2005           false AARCH64_ONLY(DEBUG_ONLY(||true)),                           \
2006              "Mark all threads after a safepoint, and clear on a modify "   \
2007              "fence. Add cleanliness checks.")                              \
2008                                                                             \
2009   product(bool, UseObjectMonitorTable, false, DIAGNOSTIC,                   \
2010           "Use a table to record inflated monitors rather than the first "  \
2011           "word of the object.")                                            \
2012                                                                             \
2013   product(int, FastLockingSpins, 13, DIAGNOSTIC,                            \
2014           "Specifies the number of times fast locking will attempt to "     \
2015           "CAS the markWord before inflating. Between each CAS it will "    \
2016           "spin for exponentially more time, resulting in a total number "  \
2017           "of spins on the order of O(2^value)")                            \
2018           range(1, 30)                                                      \
2019                                                                             \
2020   product(uint, TrimNativeHeapInterval, 0,                                  \

2038                                                                             \
2039   product(bool, UseSecondarySupersCache, true, DIAGNOSTIC,                  \
2040                 "Use secondary supers cache during subtype checks.")        \
2041                                                                             \
2042   product(bool, UseSecondarySupersTable, false, DIAGNOSTIC,                 \
2043                 "Use hash table to lookup secondary supers.")               \
2044                                                                             \
2045   product(bool, VerifySecondarySupers, false, DIAGNOSTIC,                   \
2046           "Check that linear and hashed secondary lookups return the same result.") \
2047                                                                             \
2048   product(bool, StressSecondarySupers, false, DIAGNOSTIC,                   \
2049           "Use a terrible hash function in order to generate many collisions.") \
2050                                                                             \
2051   product(bool, UseThreadsLockThrottleLock, true, DIAGNOSTIC,               \
2052           "Use an extra lock during Thread start and exit to alleviate"     \
2053           "contention on Threads_lock.")                                    \
2054                                                                             \
2055   develop(uint, BinarySearchThreshold, 16,                                  \
2056           "Minimal number of elements in a sorted collection to prefer"     \
2057           "binary search over simple linear search." )                      \

2058 
2059 // end of RUNTIME_FLAGS
2060 
2061 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2062 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2063 DECLARE_FLAGS(RUNTIME_FLAGS)
2064 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2065 
2066 #endif // SHARE_RUNTIME_GLOBALS_HPP
< prev index next >