Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/globals.hpp @ 14518:d8041d695d19
Merged with jdk9/dev/hotspot changeset 3812c088b945
author | twisti |
---|---|
date | Tue, 11 Mar 2014 18:45:59 -0700 |
parents | 7ad529321294 fdad2932c73f |
children | b51e29501f30 4ca6dc0799b6 |
comparison
equal
deleted
inserted
replaced
14141:f97c5ec83832 | 14518:d8041d695d19 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
59 # include "globals_solaris.hpp" | 59 # include "globals_solaris.hpp" |
60 #endif | 60 #endif |
61 #ifdef TARGET_OS_FAMILY_windows | 61 #ifdef TARGET_OS_FAMILY_windows |
62 # include "globals_windows.hpp" | 62 # include "globals_windows.hpp" |
63 #endif | 63 #endif |
64 #ifdef TARGET_OS_FAMILY_aix | |
65 # include "globals_aix.hpp" | |
66 #endif | |
64 #ifdef TARGET_OS_FAMILY_bsd | 67 #ifdef TARGET_OS_FAMILY_bsd |
65 # include "globals_bsd.hpp" | 68 # include "globals_bsd.hpp" |
66 #endif | 69 #endif |
67 #ifdef TARGET_OS_ARCH_linux_x86 | 70 #ifdef TARGET_OS_ARCH_linux_x86 |
68 # include "globals_linux_x86.hpp" | 71 # include "globals_linux_x86.hpp" |
85 #ifdef TARGET_OS_ARCH_linux_arm | 88 #ifdef TARGET_OS_ARCH_linux_arm |
86 # include "globals_linux_arm.hpp" | 89 # include "globals_linux_arm.hpp" |
87 #endif | 90 #endif |
88 #ifdef TARGET_OS_ARCH_linux_ppc | 91 #ifdef TARGET_OS_ARCH_linux_ppc |
89 # include "globals_linux_ppc.hpp" | 92 # include "globals_linux_ppc.hpp" |
93 #endif | |
94 #ifdef TARGET_OS_ARCH_aix_ppc | |
95 # include "globals_aix_ppc.hpp" | |
90 #endif | 96 #endif |
91 #ifdef TARGET_OS_ARCH_bsd_x86 | 97 #ifdef TARGET_OS_ARCH_bsd_x86 |
92 # include "globals_bsd_x86.hpp" | 98 # include "globals_bsd_x86.hpp" |
93 #endif | 99 #endif |
94 #ifdef TARGET_OS_ARCH_bsd_zero | 100 #ifdef TARGET_OS_ARCH_bsd_zero |
113 #ifdef TARGET_OS_FAMILY_solaris | 119 #ifdef TARGET_OS_FAMILY_solaris |
114 # include "c1_globals_solaris.hpp" | 120 # include "c1_globals_solaris.hpp" |
115 #endif | 121 #endif |
116 #ifdef TARGET_OS_FAMILY_windows | 122 #ifdef TARGET_OS_FAMILY_windows |
117 # include "c1_globals_windows.hpp" | 123 # include "c1_globals_windows.hpp" |
124 #endif | |
125 #ifdef TARGET_OS_FAMILY_aix | |
126 # include "c1_globals_aix.hpp" | |
118 #endif | 127 #endif |
119 #ifdef TARGET_OS_FAMILY_bsd | 128 #ifdef TARGET_OS_FAMILY_bsd |
120 # include "c1_globals_bsd.hpp" | 129 # include "c1_globals_bsd.hpp" |
121 #endif | 130 #endif |
122 #endif | 131 #endif |
142 # include "c2_globals_sparc.hpp" | 151 # include "c2_globals_sparc.hpp" |
143 #endif | 152 #endif |
144 #ifdef TARGET_ARCH_arm | 153 #ifdef TARGET_ARCH_arm |
145 # include "c2_globals_arm.hpp" | 154 # include "c2_globals_arm.hpp" |
146 #endif | 155 #endif |
156 #ifdef TARGET_ARCH_ppc | |
157 # include "c2_globals_ppc.hpp" | |
158 #endif | |
147 #ifdef TARGET_OS_FAMILY_linux | 159 #ifdef TARGET_OS_FAMILY_linux |
148 # include "c2_globals_linux.hpp" | 160 # include "c2_globals_linux.hpp" |
149 #endif | 161 #endif |
150 #ifdef TARGET_OS_FAMILY_solaris | 162 #ifdef TARGET_OS_FAMILY_solaris |
151 # include "c2_globals_solaris.hpp" | 163 # include "c2_globals_solaris.hpp" |
152 #endif | 164 #endif |
153 #ifdef TARGET_OS_FAMILY_windows | 165 #ifdef TARGET_OS_FAMILY_windows |
154 # include "c2_globals_windows.hpp" | 166 # include "c2_globals_windows.hpp" |
167 #endif | |
168 #ifdef TARGET_OS_FAMILY_aix | |
169 # include "c2_globals_aix.hpp" | |
155 #endif | 170 #endif |
156 #ifdef TARGET_OS_FAMILY_bsd | 171 #ifdef TARGET_OS_FAMILY_bsd |
157 # include "c2_globals_bsd.hpp" | 172 # include "c2_globals_bsd.hpp" |
158 #endif | 173 #endif |
159 #endif | 174 #endif |
179 define_pd_global(intx, BackEdgeThreshold, 0); | 194 define_pd_global(intx, BackEdgeThreshold, 0); |
180 | 195 |
181 define_pd_global(intx, OnStackReplacePercentage, 0); | 196 define_pd_global(intx, OnStackReplacePercentage, 0); |
182 define_pd_global(bool, ResizeTLAB, false); | 197 define_pd_global(bool, ResizeTLAB, false); |
183 define_pd_global(intx, FreqInlineSize, 0); | 198 define_pd_global(intx, FreqInlineSize, 0); |
184 define_pd_global(intx, InlineSmallCode, 0); | |
185 define_pd_global(intx, NewSizeThreadIncrease, 4*K); | 199 define_pd_global(intx, NewSizeThreadIncrease, 4*K); |
186 define_pd_global(intx, InlineClassNatives, true); | 200 define_pd_global(intx, InlineClassNatives, true); |
187 define_pd_global(intx, InlineUnsafeOps, true); | 201 define_pd_global(intx, InlineUnsafeOps, true); |
188 define_pd_global(intx, InitialCodeCacheSize, 160*K); | 202 define_pd_global(intx, InitialCodeCacheSize, 160*K); |
189 define_pd_global(intx, ReservedCodeCacheSize, 32*M); | 203 define_pd_global(intx, ReservedCodeCacheSize, 32*M); |
254 static Flag* flags; | 268 static Flag* flags; |
255 | 269 |
256 // number of flags | 270 // number of flags |
257 static size_t numFlags; | 271 static size_t numFlags; |
258 | 272 |
259 static Flag* find_flag(const char* name, size_t length, bool allow_locked = false); | 273 static Flag* find_flag(const char* name, size_t length, bool allow_locked = false, bool return_flag = false); |
260 static Flag* fuzzy_match(const char* name, size_t length, bool allow_locked = false); | 274 static Flag* fuzzy_match(const char* name, size_t length, bool allow_locked = false); |
261 | 275 |
262 void check_writable(); | 276 void check_writable(); |
263 | 277 |
264 bool is_bool() const; | 278 bool is_bool() const; |
389 static bool doubleAtPut(char* name, size_t len, double* value, Flag::Flags origin); | 403 static bool doubleAtPut(char* name, size_t len, double* value, Flag::Flags origin); |
390 static bool doubleAtPut(char* name, double* value, Flag::Flags origin) { return doubleAtPut(name, strlen(name), value, origin); } | 404 static bool doubleAtPut(char* name, double* value, Flag::Flags origin) { return doubleAtPut(name, strlen(name), value, origin); } |
391 | 405 |
392 static bool ccstrAt(char* name, size_t len, ccstr* value); | 406 static bool ccstrAt(char* name, size_t len, ccstr* value); |
393 static bool ccstrAt(char* name, ccstr* value) { return ccstrAt(name, strlen(name), value); } | 407 static bool ccstrAt(char* name, ccstr* value) { return ccstrAt(name, strlen(name), value); } |
408 // Contract: Flag will make private copy of the incoming value. | |
409 // Outgoing value is always malloc-ed, and caller MUST call free. | |
394 static bool ccstrAtPut(char* name, size_t len, ccstr* value, Flag::Flags origin); | 410 static bool ccstrAtPut(char* name, size_t len, ccstr* value, Flag::Flags origin); |
395 static bool ccstrAtPut(char* name, ccstr* value, Flag::Flags origin) { return ccstrAtPut(name, strlen(name), value, origin); } | 411 static bool ccstrAtPut(char* name, ccstr* value, Flag::Flags origin) { return ccstrAtPut(name, strlen(name), value, origin); } |
396 | 412 |
397 // Returns false if name is not a command line flag. | 413 // Returns false if name is not a command line flag. |
398 static bool wasSetOnCmdline(const char* name, bool* value); | 414 static bool wasSetOnCmdline(const char* name, bool* value); |
576 \ | 592 \ |
577 product(bool, ForceNUMA, false, \ | 593 product(bool, ForceNUMA, false, \ |
578 "Force NUMA optimizations on single-node/UMA systems") \ | 594 "Force NUMA optimizations on single-node/UMA systems") \ |
579 \ | 595 \ |
580 product(uintx, NUMAChunkResizeWeight, 20, \ | 596 product(uintx, NUMAChunkResizeWeight, 20, \ |
581 "Percentage (0-100) used to weigh the current sample when " \ | 597 "Percentage (0-100) used to weight the current sample when " \ |
582 "computing exponentially decaying average for " \ | 598 "computing exponentially decaying average for " \ |
583 "AdaptiveNUMAChunkSizing") \ | 599 "AdaptiveNUMAChunkSizing") \ |
584 \ | 600 \ |
585 product(uintx, NUMASpaceResizeRate, 1*G, \ | 601 product(uintx, NUMASpaceResizeRate, 1*G, \ |
586 "Do not reallocate more than this amount per collection") \ | 602 "Do not reallocate more than this amount per collection") \ |
1273 notproduct(bool, TraceRuntimeCalls, false, \ | 1289 notproduct(bool, TraceRuntimeCalls, false, \ |
1274 "Trace run-time calls") \ | 1290 "Trace run-time calls") \ |
1275 \ | 1291 \ |
1276 develop(bool, TraceJNICalls, false, \ | 1292 develop(bool, TraceJNICalls, false, \ |
1277 "Trace JNI calls") \ | 1293 "Trace JNI calls") \ |
1294 \ | |
1295 develop(bool, StressRewriter, false, \ | |
1296 "Stress linktime bytecode rewriting") \ | |
1278 \ | 1297 \ |
1279 notproduct(bool, TraceJVMCalls, false, \ | 1298 notproduct(bool, TraceJVMCalls, false, \ |
1280 "Trace JVM calls") \ | 1299 "Trace JVM calls") \ |
1281 \ | 1300 \ |
1282 product(ccstr, TraceJVMTI, NULL, \ | 1301 product(ccstr, TraceJVMTI, NULL, \ |
1516 product(uintx, TargetPLABWastePct, 10, \ | 1535 product(uintx, TargetPLABWastePct, 10, \ |
1517 "Target wasted space in last buffer as percent of overall " \ | 1536 "Target wasted space in last buffer as percent of overall " \ |
1518 "allocation") \ | 1537 "allocation") \ |
1519 \ | 1538 \ |
1520 product(uintx, PLABWeight, 75, \ | 1539 product(uintx, PLABWeight, 75, \ |
1521 "Percentage (0-100) used to weigh the current sample when " \ | 1540 "Percentage (0-100) used to weight the current sample when " \ |
1522 "computing exponentially decaying average for ResizePLAB") \ | 1541 "computing exponentially decaying average for ResizePLAB") \ |
1523 \ | 1542 \ |
1524 product(bool, ResizePLAB, true, \ | 1543 product(bool, ResizePLAB, true, \ |
1525 "Dynamically resize (survivor space) promotion LAB's") \ | 1544 "Dynamically resize (survivor space) promotion LAB's") \ |
1526 \ | 1545 \ |
1625 product(uintx, CMSIncrementalOffset, 0, \ | 1644 product(uintx, CMSIncrementalOffset, 0, \ |
1626 "Percentage (0-100) by which the CMS incremental mode duty cycle "\ | 1645 "Percentage (0-100) by which the CMS incremental mode duty cycle "\ |
1627 "is shifted to the right within the period between young GCs") \ | 1646 "is shifted to the right within the period between young GCs") \ |
1628 \ | 1647 \ |
1629 product(uintx, CMSExpAvgFactor, 50, \ | 1648 product(uintx, CMSExpAvgFactor, 50, \ |
1630 "Percentage (0-100) used to weigh the current sample when " \ | 1649 "Percentage (0-100) used to weight the current sample when " \ |
1631 "computing exponential averages for CMS statistics") \ | 1650 "computing exponential averages for CMS statistics") \ |
1632 \ | 1651 \ |
1633 product(uintx, CMS_FLSWeight, 75, \ | 1652 product(uintx, CMS_FLSWeight, 75, \ |
1634 "Percentage (0-100) used to weigh the current sample when " \ | 1653 "Percentage (0-100) used to weight the current sample when " \ |
1635 "computing exponentially decaying averages for CMS FLS " \ | 1654 "computing exponentially decaying averages for CMS FLS " \ |
1636 "statistics") \ | 1655 "statistics") \ |
1637 \ | 1656 \ |
1638 product(uintx, CMS_FLSPadding, 1, \ | 1657 product(uintx, CMS_FLSPadding, 1, \ |
1639 "The multiple of deviation from mean to use for buffering " \ | 1658 "The multiple of deviation from mean to use for buffering " \ |
1741 notproduct(uintx, CMSMarkStackOverflowInterval, 1000, \ | 1760 notproduct(uintx, CMSMarkStackOverflowInterval, 1000, \ |
1742 "An \"interval\" counter that determines how frequently " \ | 1761 "An \"interval\" counter that determines how frequently " \ |
1743 "to simulate overflow; a smaller number increases frequency") \ | 1762 "to simulate overflow; a smaller number increases frequency") \ |
1744 \ | 1763 \ |
1745 product(uintx, CMSMaxAbortablePrecleanLoops, 0, \ | 1764 product(uintx, CMSMaxAbortablePrecleanLoops, 0, \ |
1746 "(Temporary, subject to experimentation) " \ | |
1747 "Maximum number of abortable preclean iterations, if > 0") \ | 1765 "Maximum number of abortable preclean iterations, if > 0") \ |
1748 \ | 1766 \ |
1749 product(intx, CMSMaxAbortablePrecleanTime, 5000, \ | 1767 product(intx, CMSMaxAbortablePrecleanTime, 5000, \ |
1750 "(Temporary, subject to experimentation) " \ | |
1751 "Maximum time in abortable preclean (in milliseconds)") \ | 1768 "Maximum time in abortable preclean (in milliseconds)") \ |
1752 \ | 1769 \ |
1753 product(uintx, CMSAbortablePrecleanMinWorkPerIteration, 100, \ | 1770 product(uintx, CMSAbortablePrecleanMinWorkPerIteration, 100, \ |
1754 "(Temporary, subject to experimentation) " \ | |
1755 "Nominal minimum work per abortable preclean iteration") \ | 1771 "Nominal minimum work per abortable preclean iteration") \ |
1756 \ | 1772 \ |
1757 manageable(intx, CMSAbortablePrecleanWaitMillis, 100, \ | 1773 manageable(intx, CMSAbortablePrecleanWaitMillis, 100, \ |
1758 "(Temporary, subject to experimentation) " \ | |
1759 "Time that we sleep between iterations when not given " \ | 1774 "Time that we sleep between iterations when not given " \ |
1760 "enough work per iteration") \ | 1775 "enough work per iteration") \ |
1761 \ | 1776 \ |
1762 product(uintx, CMSRescanMultiple, 32, \ | 1777 product(uintx, CMSRescanMultiple, 32, \ |
1763 "Size (in cards) of CMS parallel rescan task") \ | 1778 "Size (in cards) of CMS parallel rescan task") \ |
1969 "Number of promotion failures occurring at ParGCAllocBuffer " \ | 1984 "Number of promotion failures occurring at ParGCAllocBuffer " \ |
1970 "refill attempts (ParNew) or promotion attempts " \ | 1985 "refill attempts (ParNew) or promotion attempts " \ |
1971 "(other young collectors)") \ | 1986 "(other young collectors)") \ |
1972 \ | 1987 \ |
1973 develop(uintx, PromotionFailureALotInterval, 5, \ | 1988 develop(uintx, PromotionFailureALotInterval, 5, \ |
1974 "Total collections between promotion failures alot") \ | 1989 "Total collections between promotion failures a lot") \ |
1975 \ | 1990 \ |
1976 experimental(uintx, WorkStealingSleepMillis, 1, \ | 1991 experimental(uintx, WorkStealingSleepMillis, 1, \ |
1977 "Sleep time when sleep is used for yields") \ | 1992 "Sleep time when sleep is used for yields") \ |
1978 \ | 1993 \ |
1979 experimental(uintx, WorkStealingYieldsBeforeSleep, 5000, \ | 1994 experimental(uintx, WorkStealingYieldsBeforeSleep, 5000, \ |
1980 "Number of yields before a sleep is done during workstealing") \ | 1995 "Number of yields before a sleep is done during work stealing") \ |
1981 \ | 1996 \ |
1982 experimental(uintx, WorkStealingHardSpins, 4096, \ | 1997 experimental(uintx, WorkStealingHardSpins, 4096, \ |
1983 "Number of iterations in a spin loop between checks on " \ | 1998 "Number of iterations in a spin loop between checks on " \ |
1984 "time out of hard spin") \ | 1999 "time out of hard spin") \ |
1985 \ | 2000 \ |
2053 product(uintx, DefaultMaxRAMFraction, 4, \ | 2068 product(uintx, DefaultMaxRAMFraction, 4, \ |
2054 "Maximum fraction (1/n) of real memory used for maximum heap " \ | 2069 "Maximum fraction (1/n) of real memory used for maximum heap " \ |
2055 "size; deprecated: to be renamed to MaxRAMFraction") \ | 2070 "size; deprecated: to be renamed to MaxRAMFraction") \ |
2056 \ | 2071 \ |
2057 product(uintx, MinRAMFraction, 2, \ | 2072 product(uintx, MinRAMFraction, 2, \ |
2058 "Minimum fraction (1/n) of real memory used for maxmimum heap " \ | 2073 "Minimum fraction (1/n) of real memory used for maximum heap " \ |
2059 "size on systems with small physical memory size") \ | 2074 "size on systems with small physical memory size") \ |
2060 \ | 2075 \ |
2061 product(uintx, InitialRAMFraction, 64, \ | 2076 product(uintx, InitialRAMFraction, 64, \ |
2062 "Fraction (1/n) of real memory used for initial heap size") \ | 2077 "Fraction (1/n) of real memory used for initial heap size") \ |
2063 \ | 2078 \ |
2502 "Generate range checks for array accesses") \ | 2517 "Generate range checks for array accesses") \ |
2503 \ | 2518 \ |
2504 develop_pd(bool, ImplicitNullChecks, \ | 2519 develop_pd(bool, ImplicitNullChecks, \ |
2505 "Generate code for implicit null checks") \ | 2520 "Generate code for implicit null checks") \ |
2506 \ | 2521 \ |
2522 product_pd(bool, TrapBasedNullChecks, \ | |
2523 "Generate code for null checks that uses a cmp and trap " \ | |
2524 "instruction raising SIGTRAP. This is only used if an access to" \ | |
2525 "null (+offset) will not raise a SIGSEGV, i.e.," \ | |
2526 "ImplicitNullChecks don't work (PPC64).") \ | |
2527 \ | |
2507 product(bool, PrintSafepointStatistics, false, \ | 2528 product(bool, PrintSafepointStatistics, false, \ |
2508 "Print statistics about safepoint synchronization") \ | 2529 "Print statistics about safepoint synchronization") \ |
2509 \ | 2530 \ |
2510 product(intx, PrintSafepointStatisticsCount, 300, \ | 2531 product(intx, PrintSafepointStatisticsCount, 300, \ |
2511 "Total number of safepoint statistics collected " \ | 2532 "Total number of safepoint statistics collected " \ |
2546 develop(bool, TraceMethodReplacement, false, \ | 2567 develop(bool, TraceMethodReplacement, false, \ |
2547 "Print when methods are replaced do to recompilation") \ | 2568 "Print when methods are replaced do to recompilation") \ |
2548 \ | 2569 \ |
2549 develop(bool, PrintMethodFlushing, false, \ | 2570 develop(bool, PrintMethodFlushing, false, \ |
2550 "Print the nmethods being flushed") \ | 2571 "Print the nmethods being flushed") \ |
2572 \ | |
2573 diagnostic(bool, PrintMethodFlushingStatistics, false, \ | |
2574 "print statistics about method flushing") \ | |
2551 \ | 2575 \ |
2552 develop(bool, UseRelocIndex, false, \ | 2576 develop(bool, UseRelocIndex, false, \ |
2553 "Use an index to speed random access to relocations") \ | 2577 "Use an index to speed random access to relocations") \ |
2554 \ | 2578 \ |
2555 develop(bool, StressCodeBuffers, false, \ | 2579 develop(bool, StressCodeBuffers, false, \ |
2809 "Inline intrinsics that can be statically resolved") \ | 2833 "Inline intrinsics that can be statically resolved") \ |
2810 \ | 2834 \ |
2811 product_pd(bool, ProfileInterpreter, \ | 2835 product_pd(bool, ProfileInterpreter, \ |
2812 "Profile at the bytecode level during interpretation") \ | 2836 "Profile at the bytecode level during interpretation") \ |
2813 \ | 2837 \ |
2838 develop(bool, TraceProfileInterpreter, false, \ | |
2839 "Trace profiling at the bytecode level during interpretation. " \ | |
2840 "This outputs the profiling information collected to improve " \ | |
2841 "jit compilation.") \ | |
2842 \ | |
2814 develop_pd(bool, ProfileTraps, \ | 2843 develop_pd(bool, ProfileTraps, \ |
2815 "Profile deoptimization traps at the bytecode level") \ | 2844 "Profile deoptimization traps at the bytecode level") \ |
2816 \ | 2845 \ |
2817 product(intx, ProfileMaturityPercentage, 20, \ | 2846 product(intx, ProfileMaturityPercentage, 20, \ |
2818 "number of method invocations/branches (expressed as % of " \ | 2847 "number of method invocations/branches (expressed as % of " \ |
3071 "Per-BCI limit on repeated recompilation (-1=>'Inf')") \ | 3100 "Per-BCI limit on repeated recompilation (-1=>'Inf')") \ |
3072 \ | 3101 \ |
3073 product(intx, PerMethodTrapLimit, 100, \ | 3102 product(intx, PerMethodTrapLimit, 100, \ |
3074 "Limit on traps (of one kind) in a method (includes inlines)") \ | 3103 "Limit on traps (of one kind) in a method (includes inlines)") \ |
3075 \ | 3104 \ |
3105 experimental(intx, PerMethodSpecTrapLimit, 5000, \ | |
3106 "Limit on speculative traps (of one kind) in a method (includes inlines)") \ | |
3107 \ | |
3076 product(intx, PerBytecodeTrapLimit, 4, \ | 3108 product(intx, PerBytecodeTrapLimit, 4, \ |
3077 "Limit on traps (of one kind) at a particular BCI") \ | 3109 "Limit on traps (of one kind) at a particular BCI") \ |
3110 \ | |
3111 experimental(intx, SpecTrapLimitExtraEntries, 3, \ | |
3112 "Extra method data trap entries for speculation") \ | |
3078 \ | 3113 \ |
3079 develop(intx, InlineFrequencyRatio, 20, \ | 3114 develop(intx, InlineFrequencyRatio, 20, \ |
3080 "Ratio of call site execution to caller method invocation") \ | 3115 "Ratio of call site execution to caller method invocation") \ |
3081 \ | 3116 \ |
3082 develop_pd(intx, InlineFrequencyCount, \ | 3117 develop_pd(intx, InlineFrequencyCount, \ |
3152 \ | 3187 \ |
3153 product(uintx, CompressedClassSpaceSize, 1*G, \ | 3188 product(uintx, CompressedClassSpaceSize, 1*G, \ |
3154 "Maximum size of class area in Metaspace when compressed " \ | 3189 "Maximum size of class area in Metaspace when compressed " \ |
3155 "class pointers are used") \ | 3190 "class pointers are used") \ |
3156 \ | 3191 \ |
3157 product(uintx, MinHeapFreeRatio, 40, \ | 3192 manageable(uintx, MinHeapFreeRatio, 40, \ |
3158 "The minimum percentage of heap free after GC to avoid expansion."\ | 3193 "The minimum percentage of heap free after GC to avoid expansion."\ |
3159 " For most GCs this applies to the old generation. In G1 it" \ | 3194 " For most GCs this applies to the old generation. In G1 and" \ |
3160 " applies to the whole heap. Not supported by ParallelGC.") \ | 3195 " ParallelGC it applies to the whole heap.") \ |
3161 \ | 3196 \ |
3162 product(uintx, MaxHeapFreeRatio, 70, \ | 3197 manageable(uintx, MaxHeapFreeRatio, 70, \ |
3163 "The maximum percentage of heap free after GC to avoid shrinking."\ | 3198 "The maximum percentage of heap free after GC to avoid shrinking."\ |
3164 " For most GCs this applies to the old generation. In G1 it" \ | 3199 " For most GCs this applies to the old generation. In G1 and" \ |
3165 " applies to the whole heap. Not supported by ParallelGC.") \ | 3200 " ParallelGC it applies to the whole heap.") \ |
3166 \ | 3201 \ |
3167 product(intx, SoftRefLRUPolicyMSPerMB, 1000, \ | 3202 product(intx, SoftRefLRUPolicyMSPerMB, 1000, \ |
3168 "Number of milliseconds per MB of free space in the heap") \ | 3203 "Number of milliseconds per MB of free space in the heap") \ |
3169 \ | 3204 \ |
3170 product(uintx, MinHeapDeltaBytes, ScaleForWordSize(128*K), \ | 3205 product(uintx, MinHeapDeltaBytes, ScaleForWordSize(128*K), \ |
3279 "Thread safety margin is used on fixed-stack LinuxThreads (on " \ | 3314 "Thread safety margin is used on fixed-stack LinuxThreads (on " \ |
3280 "Linux/x86 only) to prevent heap-stack collision. Set to 0 to " \ | 3315 "Linux/x86 only) to prevent heap-stack collision. Set to 0 to " \ |
3281 "disable this feature") \ | 3316 "disable this feature") \ |
3282 \ | 3317 \ |
3283 /* code cache parameters */ \ | 3318 /* code cache parameters */ \ |
3284 develop(uintx, CodeCacheSegmentSize, 64, \ | 3319 /* ppc64 has large code-entry alignment. */ \ |
3320 develop(uintx, CodeCacheSegmentSize, 64 PPC64_ONLY(+64), \ | |
3285 "Code cache segment size (in bytes) - smallest unit of " \ | 3321 "Code cache segment size (in bytes) - smallest unit of " \ |
3286 "allocation") \ | 3322 "allocation") \ |
3287 \ | 3323 \ |
3288 develop_pd(intx, CodeEntryAlignment, \ | 3324 develop_pd(intx, CodeEntryAlignment, \ |
3289 "Code entry alignment for generated code (in bytes)") \ | 3325 "Code entry alignment for generated code (in bytes)") \ |
3328 \ | 3364 \ |
3329 /* compiler interface */ \ | 3365 /* compiler interface */ \ |
3330 develop(intx, CIStart, 0, \ | 3366 develop(intx, CIStart, 0, \ |
3331 "The id of the first compilation to permit") \ | 3367 "The id of the first compilation to permit") \ |
3332 \ | 3368 \ |
3333 develop(intx, CIStop, -1, \ | 3369 develop(intx, CIStop, max_jint, \ |
3334 "The id of the last compilation to permit") \ | 3370 "The id of the last compilation to permit") \ |
3335 \ | 3371 \ |
3336 develop(intx, CIStartOSR, 0, \ | 3372 develop(intx, CIStartOSR, 0, \ |
3337 "The id of the first osr compilation to permit " \ | 3373 "The id of the first osr compilation to permit " \ |
3338 "(CICountOSR must be on)") \ | 3374 "(CICountOSR must be on)") \ |
3339 \ | 3375 \ |
3340 develop(intx, CIStopOSR, -1, \ | 3376 develop(intx, CIStopOSR, max_jint, \ |
3341 "The id of the last osr compilation to permit " \ | 3377 "The id of the last osr compilation to permit " \ |
3342 "(CICountOSR must be on)") \ | 3378 "(CICountOSR must be on)") \ |
3343 \ | 3379 \ |
3344 develop(intx, CIBreakAtOSR, -1, \ | 3380 develop(intx, CIBreakAtOSR, -1, \ |
3345 "The id of osr compilation to break at") \ | 3381 "The id of osr compilation to break at") \ |
3346 \ | 3382 \ |
3347 develop(intx, CIBreakAt, -1, \ | 3383 develop(intx, CIBreakAt, -1, \ |
3348 "The id of compilation to break at") \ | 3384 "The id of compilation to break at") \ |
3349 \ | 3385 \ |
3350 product(ccstrlist, CompileOnly, "", \ | 3386 product(ccstrlist, CompileOnly, "", \ |
3351 "List of methods (pkg/class.name) to restrict compilation to") \ | 3387 "List of methods (pkg/class.name) to restrict compilation to") \ |
3352 \ | 3388 \ |
3360 "Enable replay of compilations from ReplayDataFile") \ | 3396 "Enable replay of compilations from ReplayDataFile") \ |
3361 \ | 3397 \ |
3362 product(ccstr, ReplayDataFile, NULL, \ | 3398 product(ccstr, ReplayDataFile, NULL, \ |
3363 "File containing compilation replay information" \ | 3399 "File containing compilation replay information" \ |
3364 "[default: ./replay_pid%p.log] (%p replaced with pid)") \ | 3400 "[default: ./replay_pid%p.log] (%p replaced with pid)") \ |
3401 \ | |
3402 product(ccstr, InlineDataFile, NULL, \ | |
3403 "File containing inlining replay information" \ | |
3404 "[default: ./inline_pid%p.log] (%p replaced with pid)") \ | |
3365 \ | 3405 \ |
3366 develop(intx, ReplaySuppressInitializers, 2, \ | 3406 develop(intx, ReplaySuppressInitializers, 2, \ |
3367 "Control handling of class initialization during replay: " \ | 3407 "Control handling of class initialization during replay: " \ |
3368 "0 - don't do anything special; " \ | 3408 "0 - don't do anything special; " \ |
3369 "1 - treat all class initializers as empty; " \ | 3409 "1 - treat all class initializers as empty; " \ |
3652 /* Properties for Java libraries */ \ | 3692 /* Properties for Java libraries */ \ |
3653 \ | 3693 \ |
3654 product(uintx, MaxDirectMemorySize, 0, \ | 3694 product(uintx, MaxDirectMemorySize, 0, \ |
3655 "Maximum total size of NIO direct-buffer allocations") \ | 3695 "Maximum total size of NIO direct-buffer allocations") \ |
3656 \ | 3696 \ |
3657 /* temporary developer defined flags */ \ | 3697 /* Flags used for temporary code during development */ \ |
3658 \ | 3698 \ |
3659 diagnostic(bool, UseNewCode, false, \ | 3699 diagnostic(bool, UseNewCode, false, \ |
3660 "Testing Only: Use the new version while testing") \ | 3700 "Testing Only: Use the new version while testing") \ |
3661 \ | 3701 \ |
3662 diagnostic(bool, UseNewCode2, false, \ | 3702 diagnostic(bool, UseNewCode2, false, \ |