108 // Default and minimum StringTable and SymbolTable size values
109 // Must be powers of 2
110 const size_t defaultStringTableSize = NOT_LP64(1024) LP64_ONLY(65536);
111 const size_t minimumStringTableSize = 128;
112 const size_t defaultSymbolTableSize = 32768; // 2^15
113 const size_t minimumSymbolTableSize = 1024;
114
115 #ifdef _LP64
116 #define LP64_RUNTIME_FLAGS(develop, \
117 develop_pd, \
118 product, \
119 product_pd, \
120 notproduct, \
121 range, \
122 constraint) \
123 \
124 product(bool, UseCompressedOops, false, \
125 "Use 32-bit object references in 64-bit VM. " \
126 "lp64_product means flag is always constant in 32 bit VM") \
127 \
128 product(bool, UseCompressedClassPointers, false, \
129 "Use 32-bit class pointers in 64-bit VM. " \
130 "lp64_product means flag is always constant in 32 bit VM") \
131 \
132 product(intx, ObjectAlignmentInBytes, 8, \
133 "Default object alignment in bytes, 8 is minimum") \
134 range(8, 256) \
135 constraint(ObjectAlignmentInBytesConstraintFunc, AtParse)
136
137 #else
138 // !_LP64
139
140 #define LP64_RUNTIME_FLAGS(develop, \
141 develop_pd, \
142 product, \
143 product_pd, \
144 notproduct, \
145 range, \
146 constraint)
147 const bool UseCompressedOops = false;
148 const bool UseCompressedClassPointers = false;
1400 develop(intx, InlineThrowCount, 50, \
1401 "Force inlining of interpreted methods that throw this often") \
1402 range(0, max_jint) \
1403 \
1404 develop(intx, InlineThrowMaxSize, 200, \
1405 "Force inlining of throwing methods smaller than this") \
1406 range(0, max_jint) \
1407 \
1408 product(size_t, MetaspaceSize, NOT_LP64(16 * M) LP64_ONLY(21 * M), \
1409 "Initial threshold (in bytes) at which a garbage collection " \
1410 "is done to reduce Metaspace usage") \
1411 constraint(MetaspaceSizeConstraintFunc,AfterErgo) \
1412 \
1413 product(size_t, MaxMetaspaceSize, max_uintx, \
1414 "Maximum size of Metaspaces (in bytes)") \
1415 constraint(MaxMetaspaceSizeConstraintFunc,AfterErgo) \
1416 \
1417 product(size_t, CompressedClassSpaceSize, 1*G, \
1418 "Maximum size of class area in Metaspace when compressed " \
1419 "class pointers are used") \
1420 range(1*M, 3*G) \
1421 \
1422 develop(size_t, CompressedClassSpaceBaseAddress, 0, \
1423 "Force the class space to be allocated at this address or " \
1424 "fails VM initialization (requires -Xshare=off.") \
1425 \
1426 product(ccstr, MetaspaceReclaimPolicy, "balanced", \
1427 "options: balanced, aggressive, none") \
1428 \
1429 product(bool, PrintMetaspaceStatisticsAtExit, false, DIAGNOSTIC, \
1430 "Print metaspace statistics upon VM exit.") \
1431 \
1432 develop(bool, MetaspaceGuardAllocations, false, \
1433 "Metapace allocations are guarded.") \
1434 \
1435 product(uintx, MinHeapFreeRatio, 40, MANAGEABLE, \
1436 "The minimum percentage of heap free after GC to avoid expansion."\
1437 " For most GCs this applies to the old generation. In G1 and" \
1438 " ParallelGC it applies to the whole heap.") \
1439 range(0, 100) \
1440 constraint(MinHeapFreeRatioConstraintFunc,AfterErgo) \
1441 \
1442 product(uintx, MaxHeapFreeRatio, 70, MANAGEABLE, \
2010 JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL, \
2011 "Flight Recorder options")) \
2012 \
2013 JFR_ONLY(product(ccstr, StartFlightRecording, NULL, \
2014 "Start flight recording with options")) \
2015 \
2016 product(bool, UseFastUnorderedTimeStamps, false, EXPERIMENTAL, \
2017 "Use platform unstable time where supported for timestamps only") \
2018 \
2019 product(bool, UseEmptySlotsInSupers, true, \
2020 "Allow allocating fields in empty slots of super-classes") \
2021 \
2022 product(bool, DeoptimizeNMethodBarriersALot, false, DIAGNOSTIC, \
2023 "Make nmethod barriers deoptimise a lot.") \
2024 \
2025 develop(bool, VerifyCrossModifyFence, \
2026 false AARCH64_ONLY(DEBUG_ONLY(||true)), \
2027 "Mark all threads after a safepoint, and clear on a modify " \
2028 "fence. Add cleanliness checks.") \
2029 \
2030 develop(bool, TraceOptimizedUpcallStubs, false, \
2031 "Trace optimized upcall stub generation") \
2032
2033 // end of RUNTIME_FLAGS
2034
2035 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2036 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2037 DECLARE_FLAGS(RUNTIME_FLAGS)
2038 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2039
2040 #endif // SHARE_RUNTIME_GLOBALS_HPP
|
108 // Default and minimum StringTable and SymbolTable size values
109 // Must be powers of 2
110 const size_t defaultStringTableSize = NOT_LP64(1024) LP64_ONLY(65536);
111 const size_t minimumStringTableSize = 128;
112 const size_t defaultSymbolTableSize = 32768; // 2^15
113 const size_t minimumSymbolTableSize = 1024;
114
115 #ifdef _LP64
116 #define LP64_RUNTIME_FLAGS(develop, \
117 develop_pd, \
118 product, \
119 product_pd, \
120 notproduct, \
121 range, \
122 constraint) \
123 \
124 product(bool, UseCompressedOops, false, \
125 "Use 32-bit object references in 64-bit VM. " \
126 "lp64_product means flag is always constant in 32 bit VM") \
127 \
128 product(bool, UseCompressedClassPointers, true, \
129 "Use 32-bit class pointers in 64-bit VM. " \
130 "lp64_product means flag is always constant in 32 bit VM") \
131 \
132 product(intx, ObjectAlignmentInBytes, 8, \
133 "Default object alignment in bytes, 8 is minimum") \
134 range(8, 256) \
135 constraint(ObjectAlignmentInBytesConstraintFunc, AtParse)
136
137 #else
138 // !_LP64
139
140 #define LP64_RUNTIME_FLAGS(develop, \
141 develop_pd, \
142 product, \
143 product_pd, \
144 notproduct, \
145 range, \
146 constraint)
147 const bool UseCompressedOops = false;
148 const bool UseCompressedClassPointers = false;
1400 develop(intx, InlineThrowCount, 50, \
1401 "Force inlining of interpreted methods that throw this often") \
1402 range(0, max_jint) \
1403 \
1404 develop(intx, InlineThrowMaxSize, 200, \
1405 "Force inlining of throwing methods smaller than this") \
1406 range(0, max_jint) \
1407 \
1408 product(size_t, MetaspaceSize, NOT_LP64(16 * M) LP64_ONLY(21 * M), \
1409 "Initial threshold (in bytes) at which a garbage collection " \
1410 "is done to reduce Metaspace usage") \
1411 constraint(MetaspaceSizeConstraintFunc,AfterErgo) \
1412 \
1413 product(size_t, MaxMetaspaceSize, max_uintx, \
1414 "Maximum size of Metaspaces (in bytes)") \
1415 constraint(MaxMetaspaceSizeConstraintFunc,AfterErgo) \
1416 \
1417 product(size_t, CompressedClassSpaceSize, 1*G, \
1418 "Maximum size of class area in Metaspace when compressed " \
1419 "class pointers are used") \
1420 constraint(CompressedClassSpaceSizeConstraintFunc,AtParse) \
1421 \
1422 product(size_t, CompressedClassSpaceBaseAddress, 0, DIAGNOSTIC, \
1423 "Force the class space to be allocated at this address or " \
1424 "fails VM initialization (requires -Xshare=off.") \
1425 \
1426 product(ccstr, MetaspaceReclaimPolicy, "balanced", \
1427 "options: balanced, aggressive, none") \
1428 \
1429 product(bool, PrintMetaspaceStatisticsAtExit, false, DIAGNOSTIC, \
1430 "Print metaspace statistics upon VM exit.") \
1431 \
1432 develop(bool, MetaspaceGuardAllocations, false, \
1433 "Metapace allocations are guarded.") \
1434 \
1435 product(uintx, MinHeapFreeRatio, 40, MANAGEABLE, \
1436 "The minimum percentage of heap free after GC to avoid expansion."\
1437 " For most GCs this applies to the old generation. In G1 and" \
1438 " ParallelGC it applies to the whole heap.") \
1439 range(0, 100) \
1440 constraint(MinHeapFreeRatioConstraintFunc,AfterErgo) \
1441 \
1442 product(uintx, MaxHeapFreeRatio, 70, MANAGEABLE, \
2010 JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL, \
2011 "Flight Recorder options")) \
2012 \
2013 JFR_ONLY(product(ccstr, StartFlightRecording, NULL, \
2014 "Start flight recording with options")) \
2015 \
2016 product(bool, UseFastUnorderedTimeStamps, false, EXPERIMENTAL, \
2017 "Use platform unstable time where supported for timestamps only") \
2018 \
2019 product(bool, UseEmptySlotsInSupers, true, \
2020 "Allow allocating fields in empty slots of super-classes") \
2021 \
2022 product(bool, DeoptimizeNMethodBarriersALot, false, DIAGNOSTIC, \
2023 "Make nmethod barriers deoptimise a lot.") \
2024 \
2025 develop(bool, VerifyCrossModifyFence, \
2026 false AARCH64_ONLY(DEBUG_ONLY(||true)), \
2027 "Mark all threads after a safepoint, and clear on a modify " \
2028 "fence. Add cleanliness checks.") \
2029 \
2030 product(bool, HeapObjectStats, false, DIAGNOSTIC, \
2031 "Enable gathering of heap object statistics") \
2032 \
2033 product(size_t, HeapObjectStatsSamplingInterval, 500, DIAGNOSTIC, \
2034 "Heap object statistics sampling interval (ms)") \
2035 \
2036 develop(bool, TraceOptimizedUpcallStubs, false, \
2037 "Trace optimized upcall stub generation") \
2038
2039 // end of RUNTIME_FLAGS
2040
2041 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2042 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2043 DECLARE_FLAGS(RUNTIME_FLAGS)
2044 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2045
2046 #endif // SHARE_RUNTIME_GLOBALS_HPP
|