comparison src/share/vm/runtime/globals.hpp @ 14909:4ca6dc0799b6

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