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, \