comparison src/share/vm/runtime/globals.hpp @ 6646:c38f13903fdf

Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/ just before the NPG (no perm gen) changeset
author Doug Simon <doug.simon@oracle.com>
date Mon, 29 Oct 2012 21:10:04 +0100
parents 957c266d8bc5 a5dd6e3ef9f3
children e522a00b91aa 8c5333c80cfd
comparison
equal deleted inserted replaced
6590:dc5eec61daba 6646:c38f13903fdf
528 "True for register window machines (sparc/ia64)") \ 528 "True for register window machines (sparc/ia64)") \
529 \ 529 \
530 product(intx, UseSSE, 99, \ 530 product(intx, UseSSE, 99, \
531 "Highest supported SSE instructions set on x86/x64") \ 531 "Highest supported SSE instructions set on x86/x64") \
532 \ 532 \
533 product(intx, UseAVX, 99, \
534 "Highest supported AVX instructions set on x86/x64") \
535 \
536 product(intx, UseVIS, 99, \
537 "Highest supported VIS instructions set on Sparc") \
538 \
539 product(uintx, LargePageSizeInBytes, 0, \ 533 product(uintx, LargePageSizeInBytes, 0, \
540 "Large page size (0 to let VM choose the page size") \ 534 "Large page size (0 to let VM choose the page size") \
541 \ 535 \
542 product(uintx, LargePageHeapSizeThreshold, 128*M, \ 536 product(uintx, LargePageHeapSizeThreshold, 128*M, \
543 "Use large pages if max heap is at least this big") \ 537 "Use large pages if max heap is at least this big") \
570 "compilation") \ 564 "compilation") \
571 \ 565 \
572 product(bool, PrintVMQWaitTime, false, \ 566 product(bool, PrintVMQWaitTime, false, \
573 "Prints out the waiting time in VM operation queue") \ 567 "Prints out the waiting time in VM operation queue") \
574 \ 568 \
575 develop(bool, BailoutToInterpreterForThrows, false, \
576 "Compiled methods which throws/catches exceptions will be " \
577 "deopt and intp.") \
578 \
579 develop(bool, NoYieldsInMicrolock, false, \ 569 develop(bool, NoYieldsInMicrolock, false, \
580 "Disable yields in microlock") \ 570 "Disable yields in microlock") \
581 \ 571 \
582 develop(bool, TraceOopMapGeneration, false, \ 572 develop(bool, TraceOopMapGeneration, false, \
583 "Shows oopmap generation") \ 573 "Shows oopmap generation") \
616 \ 606 \
617 develop(bool, InlineObjectHash, true, \ 607 develop(bool, InlineObjectHash, true, \
618 "inline Object::hashCode() native that is known to be part " \ 608 "inline Object::hashCode() native that is known to be part " \
619 "of base library DLL") \ 609 "of base library DLL") \
620 \ 610 \
621 develop(bool, InlineObjectCopy, true, \
622 "inline Object.clone and Arrays.copyOf[Range] intrinsics") \
623 \
624 develop(bool, InlineNatives, true, \ 611 develop(bool, InlineNatives, true, \
625 "inline natives that are known to be part of base library DLL") \ 612 "inline natives that are known to be part of base library DLL") \
626 \ 613 \
627 develop(bool, InlineMathNatives, true, \ 614 develop(bool, InlineMathNatives, true, \
628 "inline SinD, CosD, etc.") \ 615 "inline SinD, CosD, etc.") \
640 "print transitions between VM and high-level interpreter") \ 627 "print transitions between VM and high-level interpreter") \
641 \ 628 \
642 develop(bool, InlineThreadNatives, true, \ 629 develop(bool, InlineThreadNatives, true, \
643 "inline Thread.currentThread, etc") \ 630 "inline Thread.currentThread, etc") \
644 \ 631 \
645 develop(bool, InlineReflectionGetCallerClass, true, \
646 "inline sun.reflect.Reflection.getCallerClass(), known to be part "\
647 "of base library DLL") \
648 \
649 develop(bool, InlineUnsafeOps, true, \ 632 develop(bool, InlineUnsafeOps, true, \
650 "inline memory ops (native methods) from sun.misc.Unsafe") \ 633 "inline memory ops (native methods) from sun.misc.Unsafe") \
651 \ 634 \
652 develop(bool, ConvertCmpD2CmpF, true, \
653 "Convert cmpD to cmpF when one input is constant in float range") \
654 \
655 develop(bool, ConvertFloat2IntClipping, true, \
656 "Convert float2int clipping idiom to integer clipping") \
657 \
658 develop(bool, SpecialStringCompareTo, true, \
659 "special version of string compareTo") \
660 \
661 develop(bool, SpecialStringIndexOf, true, \
662 "special version of string indexOf") \
663 \
664 develop(bool, SpecialStringEquals, true, \
665 "special version of string equals") \
666 \
667 develop(bool, SpecialArraysEquals, true, \
668 "special version of Arrays.equals(char[],char[])") \
669 \
670 product(bool, CriticalJNINatives, true, \ 635 product(bool, CriticalJNINatives, true, \
671 "check for critical JNI entry points") \ 636 "check for critical JNI entry points") \
672 \ 637 \
673 notproduct(bool, StressCriticalJNINatives, false, \ 638 notproduct(bool, StressCriticalJNINatives, false, \
674 "Exercise register saving code in critical natives") \ 639 "Exercise register saving code in critical natives") \
675 \ 640 \
676 product(bool, UseSSE42Intrinsics, false, \ 641 product(bool, UseSSE42Intrinsics, false, \
677 "SSE4.2 versions of intrinsics") \ 642 "SSE4.2 versions of intrinsics") \
678 \
679 product(bool, UseCondCardMark, false, \
680 "Check for already marked card before updating card table") \
681 \ 643 \
682 develop(bool, TraceCallFixup, false, \ 644 develop(bool, TraceCallFixup, false, \
683 "traces all call fixups") \ 645 "traces all call fixups") \
684 \ 646 \
685 product(bool, DeoptimizeALot, false, \ 647 product(bool, DeoptimizeALot, false, \
763 "Enables the Java bytecode verifier for local classes") \ 725 "Enables the Java bytecode verifier for local classes") \
764 \ 726 \
765 develop(bool, ForceFloatExceptions, trueInDebug, \ 727 develop(bool, ForceFloatExceptions, trueInDebug, \
766 "Force exceptions on FP stack under/overflow") \ 728 "Force exceptions on FP stack under/overflow") \
767 \ 729 \
768 develop(bool, SoftMatchFailure, trueInProduct, \
769 "If the DFA fails to match a node, print a message and bail out") \
770 \
771 develop(bool, VerifyStackAtCalls, false, \ 730 develop(bool, VerifyStackAtCalls, false, \
772 "Verify that the stack pointer is unchanged after calls") \ 731 "Verify that the stack pointer is unchanged after calls") \
773 \ 732 \
774 develop(bool, TraceJavaAssertions, false, \ 733 develop(bool, TraceJavaAssertions, false, \
775 "Trace java language assertions") \ 734 "Trace java language assertions") \
835 product(bool, PrintGCApplicationConcurrentTime, false, \ 794 product(bool, PrintGCApplicationConcurrentTime, false, \
836 "Print the time the application has been running") \ 795 "Print the time the application has been running") \
837 \ 796 \
838 product(bool, PrintGCApplicationStoppedTime, false, \ 797 product(bool, PrintGCApplicationStoppedTime, false, \
839 "Print the time the application has been stopped") \ 798 "Print the time the application has been stopped") \
799 \
800 diagnostic(bool, VerboseVerification, false, \
801 "Display detailed verification details") \
840 \ 802 \
841 notproduct(uintx, ErrorHandlerTest, 0, \ 803 notproduct(uintx, ErrorHandlerTest, 0, \
842 "If > 0, provokes an error after VM initialization; the value" \ 804 "If > 0, provokes an error after VM initialization; the value" \
843 "determines which error to provoke. See test_error_handler()" \ 805 "determines which error to provoke. See test_error_handler()" \
844 "in debug.cpp.") \ 806 "in debug.cpp.") \
919 diagnostic(intx, ScavengeRootsInCode, 2, \ 881 diagnostic(intx, ScavengeRootsInCode, 2, \
920 "0: do not allow scavengable oops in the code cache; " \ 882 "0: do not allow scavengable oops in the code cache; " \
921 "1: allow scavenging from the code cache; " \ 883 "1: allow scavenging from the code cache; " \
922 "2: emit as many constants as the compiler can see") \ 884 "2: emit as many constants as the compiler can see") \
923 \ 885 \
924 diagnostic(bool, TraceOSRBreakpoint, false, \
925 "Trace OSR Breakpoint ") \
926 \
927 diagnostic(bool, TraceCompileTriggered, false, \
928 "Trace compile triggered") \
929 \
930 diagnostic(bool, TraceTriggers, false, \
931 "Trace triggers") \
932 \
933 product(bool, AlwaysRestoreFPU, false, \ 886 product(bool, AlwaysRestoreFPU, false, \
934 "Restore the FPU control word after every JNI call (expensive)") \ 887 "Restore the FPU control word after every JNI call (expensive)") \
935 \ 888 \
936 diagnostic(bool, PrintCompilation2, false, \ 889 diagnostic(bool, PrintCompilation2, false, \
937 "Print additional statistics per compilation") \ 890 "Print additional statistics per compilation") \
1043 develop(bool, PrintCodeCacheExtension, false, \ 996 develop(bool, PrintCodeCacheExtension, false, \
1044 "Print extension of code cache") \ 997 "Print extension of code cache") \
1045 \ 998 \
1046 develop(bool, UsePrivilegedStack, true, \ 999 develop(bool, UsePrivilegedStack, true, \
1047 "Enable the security JVM functions") \ 1000 "Enable the security JVM functions") \
1048 \
1049 develop(bool, IEEEPrecision, true, \
1050 "Enables IEEE precision (for INTEL only)") \
1051 \ 1001 \
1052 develop(bool, ProtectionDomainVerification, true, \ 1002 develop(bool, ProtectionDomainVerification, true, \
1053 "Verifies protection domain before resolution in system " \ 1003 "Verifies protection domain before resolution in system " \
1054 "dictionary") \ 1004 "dictionary") \
1055 \ 1005 \
1116 \ 1066 \
1117 product(intx, EmitSync, 0, \ 1067 product(intx, EmitSync, 0, \
1118 "(Unsafe,Unstable) " \ 1068 "(Unsafe,Unstable) " \
1119 " Controls emission of inline sync fast-path code") \ 1069 " Controls emission of inline sync fast-path code") \
1120 \ 1070 \
1121 product(intx, AlwaysInflate, 0, "(Unstable) Force inflation") \
1122 \
1123 product(intx, MonitorBound, 0, "Bound Monitor population") \ 1071 product(intx, MonitorBound, 0, "Bound Monitor population") \
1124 \ 1072 \
1125 product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \ 1073 product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \
1126 \ 1074 \
1127 product(intx, Atomics, 0, \ 1075 product(intx, Atomics, 0, \
1128 "(Unsafe,Unstable) Diagnostic - Controls emission of atomics") \ 1076 "(Unsafe,Unstable) Diagnostic - Controls emission of atomics") \
1129 \
1130 product(intx, FenceInstruction, 0, \
1131 "(Unsafe,Unstable) Experimental") \
1132 \ 1077 \
1133 product(intx, SyncFlags, 0, "(Unsafe,Unstable) Experimental Sync flags" ) \ 1078 product(intx, SyncFlags, 0, "(Unsafe,Unstable) Experimental Sync flags" ) \
1134 \ 1079 \
1135 product(intx, SyncVerbose, 0, "(Unstable)" ) \ 1080 product(intx, SyncVerbose, 0, "(Unstable)" ) \
1136 \ 1081 \
1157 \ 1102 \
1158 product(bool, AdjustConcurrency, false, \ 1103 product(bool, AdjustConcurrency, false, \
1159 "call thr_setconcurrency at thread create time to avoid " \ 1104 "call thr_setconcurrency at thread create time to avoid " \
1160 "LWP starvation on MP systems (For Solaris Only)") \ 1105 "LWP starvation on MP systems (For Solaris Only)") \
1161 \ 1106 \
1162 develop(bool, UpdateHotSpotCompilerFileOnError, true, \
1163 "Should the system attempt to update the compiler file when " \
1164 "an error occurs?") \
1165 \
1166 product(bool, ReduceSignalUsage, false, \ 1107 product(bool, ReduceSignalUsage, false, \
1167 "Reduce the use of OS signals in Java and/or the VM") \ 1108 "Reduce the use of OS signals in Java and/or the VM") \
1168 \ 1109 \
1169 notproduct(bool, ValidateMarkSweep, false, \ 1110 notproduct(bool, ValidateMarkSweep, false, \
1170 "Do extra validation during MarkSweep collection") \ 1111 "Do extra validation during MarkSweep collection") \
1195 \ 1136 \
1196 product(bool, UseAltSigs, false, \ 1137 product(bool, UseAltSigs, false, \
1197 "Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM " \ 1138 "Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM " \
1198 "internal signals (Solaris only)") \ 1139 "internal signals (Solaris only)") \
1199 \ 1140 \
1200 product(bool, UseSpinning, false, \
1201 "Use spinning in monitor inflation and before entry") \
1202 \
1203 product(bool, PreSpinYield, false, \
1204 "Yield before inner spinning loop") \
1205 \
1206 product(bool, PostSpinYield, true, \
1207 "Yield after inner spinning loop") \
1208 \
1209 product(bool, AllowJNIEnvProxy, false, \ 1141 product(bool, AllowJNIEnvProxy, false, \
1210 "Allow JNIEnv proxies for jdbx") \ 1142 "Allow JNIEnv proxies for jdbx") \
1211 \ 1143 \
1212 product(bool, JNIDetachReleasesMonitors, true, \ 1144 product(bool, JNIDetachReleasesMonitors, true, \
1213 "JNI DetachCurrentThread releases monitors owned by thread") \ 1145 "JNI DetachCurrentThread releases monitors owned by thread") \
1232 "Number of OutOfMemoryErrors preallocated with backtrace") \ 1164 "Number of OutOfMemoryErrors preallocated with backtrace") \
1233 \ 1165 \
1234 product(bool, LazyBootClassLoader, true, \ 1166 product(bool, LazyBootClassLoader, true, \
1235 "Enable/disable lazy opening of boot class path entries") \ 1167 "Enable/disable lazy opening of boot class path entries") \
1236 \ 1168 \
1237 diagnostic(bool, UseIncDec, true, \
1238 "Use INC, DEC instructions on x86") \
1239 \
1240 product(bool, UseNewLongLShift, false, \
1241 "Use optimized bitwise shift left") \
1242 \
1243 product(bool, UseStoreImmI16, true, \
1244 "Use store immediate 16-bits value instruction on x86") \
1245 \
1246 product(bool, UseAddressNop, false, \
1247 "Use '0F 1F [addr]' NOP instructions on x86 cpus") \
1248 \
1249 product(bool, UseXmmLoadAndClearUpper, true, \
1250 "Load low part of XMM register and clear upper part") \
1251 \
1252 product(bool, UseXmmRegToRegMoveAll, false, \
1253 "Copy all XMM register bits when moving value between registers") \
1254 \
1255 product(bool, UseXmmI2D, false, \
1256 "Use SSE2 CVTDQ2PD instruction to convert Integer to Double") \
1257 \
1258 product(bool, UseXmmI2F, false, \
1259 "Use SSE2 CVTDQ2PS instruction to convert Integer to Float") \
1260 \
1261 product(bool, UseXMMForArrayCopy, false, \ 1169 product(bool, UseXMMForArrayCopy, false, \
1262 "Use SSE2 MOVQ instruction for Arraycopy") \ 1170 "Use SSE2 MOVQ instruction for Arraycopy") \
1263 \
1264 product(bool, UseUnalignedLoadStores, false, \
1265 "Use SSE2 MOVDQU instruction for Arraycopy") \
1266 \
1267 product(bool, UseCBCond, false, \
1268 "Use compare and branch instruction on SPARC") \
1269 \ 1171 \
1270 product(intx, FieldsAllocationStyle, 1, \ 1172 product(intx, FieldsAllocationStyle, 1, \
1271 "0 - type based with oops first, 1 - with oops last, " \ 1173 "0 - type based with oops first, 1 - with oops last, " \
1272 "2 - oops in super and sub classes are together") \ 1174 "2 - oops in super and sub classes are together") \
1273 \ 1175 \
1394 "Trace zapping dead locals") \ 1296 "Trace zapping dead locals") \
1395 \ 1297 \
1396 develop(bool, TraceStartupTime, false, \ 1298 develop(bool, TraceStartupTime, false, \
1397 "Trace setup time") \ 1299 "Trace setup time") \
1398 \ 1300 \
1399 product(ccstr, HPILibPath, NULL, \
1400 "Specify alternate path to HPI library") \
1401 \
1402 develop(bool, TraceProtectionDomainVerification, false, \ 1301 develop(bool, TraceProtectionDomainVerification, false, \
1403 "Trace protection domain verifcation") \ 1302 "Trace protection domain verifcation") \
1404 \ 1303 \
1405 develop(bool, TraceClearedExceptions, false, \ 1304 develop(bool, TraceClearedExceptions, false, \
1406 "Prints when an exception is forcibly cleared") \ 1305 "Prints when an exception is forcibly cleared") \
1411 product(bool, TraceBiasedLocking, false, \ 1310 product(bool, TraceBiasedLocking, false, \
1412 "Trace biased locking in JVM") \ 1311 "Trace biased locking in JVM") \
1413 \ 1312 \
1414 product(bool, TraceMonitorInflation, false, \ 1313 product(bool, TraceMonitorInflation, false, \
1415 "Trace monitor inflation in JVM") \ 1314 "Trace monitor inflation in JVM") \
1416 \
1417 /* assembler */ \
1418 product(bool, Use486InstrsOnly, false, \
1419 "Use 80486 Compliant instruction subset") \
1420 \ 1315 \
1421 /* gc */ \ 1316 /* gc */ \
1422 \ 1317 \
1423 product(bool, UseSerialGC, false, \ 1318 product(bool, UseSerialGC, false, \
1424 "Use the serial garbage collector") \ 1319 "Use the serial garbage collector") \
1473 "Provoke splitting (copying data from a young gen space to" \ 1368 "Provoke splitting (copying data from a young gen space to" \
1474 "multiple destination spaces)") \ 1369 "multiple destination spaces)") \
1475 \ 1370 \
1476 develop(uintx, ParallelOldGCSplitInterval, 3, \ 1371 develop(uintx, ParallelOldGCSplitInterval, 3, \
1477 "How often to provoke splitting a young gen space") \ 1372 "How often to provoke splitting a young gen space") \
1478 \
1479 develop(bool, TraceRegionTasksQueuing, false, \
1480 "Trace the queuing of the region tasks") \
1481 \ 1373 \
1482 product(uintx, ConcGCThreads, 0, \ 1374 product(uintx, ConcGCThreads, 0, \
1483 "Number of threads concurrent gc will use") \ 1375 "Number of threads concurrent gc will use") \
1484 \ 1376 \
1485 product(uintx, YoungPLABSize, 4096, \ 1377 product(uintx, YoungPLABSize, 4096, \
1628 \ 1520 \
1629 product(uintx, CMSOldPLABReactivityFactor, 2, \ 1521 product(uintx, CMSOldPLABReactivityFactor, 2, \
1630 "The gain in the feedback loop for on-the-fly PLAB resizing" \ 1522 "The gain in the feedback loop for on-the-fly PLAB resizing" \
1631 " during a scavenge") \ 1523 " during a scavenge") \
1632 \ 1524 \
1633 product(uintx, CMSOldPLABReactivityCeiling, 10, \
1634 "The clamping of the gain in the feedback loop for on-the-fly" \
1635 " PLAB resizing during a scavenge") \
1636 \
1637 product(bool, AlwaysPreTouch, false, \ 1525 product(bool, AlwaysPreTouch, false, \
1638 "It forces all freshly committed pages to be pre-touched.") \ 1526 "It forces all freshly committed pages to be pre-touched.") \
1639 \ 1527 \
1640 product_pd(intx, CMSYoungGenPerWorker, \ 1528 product_pd(intx, CMSYoungGenPerWorker, \
1641 "The maximum size of young gen chosen by default per GC worker " \ 1529 "The maximum size of young gen chosen by default per GC worker " \
1642 "thread available") \ 1530 "thread available") \
1643 \
1644 product(bool, GCOverheadReporting, false, \
1645 "Enables the GC overhead reporting facility") \
1646 \
1647 product(intx, GCOverheadReportingPeriodMS, 100, \
1648 "Reporting period for conc GC overhead reporting, in ms ") \
1649 \ 1531 \
1650 product(bool, CMSIncrementalMode, false, \ 1532 product(bool, CMSIncrementalMode, false, \
1651 "Whether CMS GC should operate in \"incremental\" mode") \ 1533 "Whether CMS GC should operate in \"incremental\" mode") \
1652 \ 1534 \
1653 product(uintx, CMSIncrementalDutyCycle, 10, \ 1535 product(uintx, CMSIncrementalDutyCycle, 10, \
2024 "time out of hard spin") \ 1906 "time out of hard spin") \
2025 \ 1907 \
2026 experimental(uintx, WorkStealingSpinToYieldRatio, 10, \ 1908 experimental(uintx, WorkStealingSpinToYieldRatio, 10, \
2027 "Ratio of hard spins to calls to yield") \ 1909 "Ratio of hard spins to calls to yield") \
2028 \ 1910 \
2029 product(uintx, PreserveMarkStackSize, 1024, \
2030 "Size for stack used in promotion failure handling") \
2031 \
2032 develop(uintx, ObjArrayMarkingStride, 512, \ 1911 develop(uintx, ObjArrayMarkingStride, 512, \
2033 "Number of ObjArray elements to push onto the marking stack" \ 1912 "Number of ObjArray elements to push onto the marking stack" \
2034 "before pushing a continuation entry") \ 1913 "before pushing a continuation entry") \
2035 \ 1914 \
2036 notproduct(bool, ExecuteInternalVMTests, false, \ 1915 notproduct(bool, ExecuteInternalVMTests, false, \
2051 "Print various TLAB related information") \ 1930 "Print various TLAB related information") \
2052 \ 1931 \
2053 product(bool, TLABStats, true, \ 1932 product(bool, TLABStats, true, \
2054 "Print various TLAB related information") \ 1933 "Print various TLAB related information") \
2055 \ 1934 \
2056 product(bool, UseBlockZeroing, false, \
2057 "Use special cpu instructions for block zeroing") \
2058 \
2059 product(intx, BlockZeroingLowLimit, 2048, \
2060 "Minimum size in bytes when block zeroing will be used") \
2061 \
2062 product(bool, UseBlockCopy, false, \
2063 "Use special cpu instructions for block copy") \
2064 \
2065 product(intx, BlockCopyLowLimit, 2048, \
2066 "Minimum size in bytes when block copy will be used") \
2067 \
2068 product(bool, PrintRevisitStats, false, \ 1935 product(bool, PrintRevisitStats, false, \
2069 "Print revisit (klass and MDO) stack related information") \ 1936 "Print revisit (klass and MDO) stack related information") \
2070 \ 1937 \
2071 EMBEDDED_ONLY(product(bool, LowMemoryProtection, true, \ 1938 EMBEDDED_ONLY(product(bool, LowMemoryProtection, true, \
2072 "Enable LowMemoryProtection")) \ 1939 "Enable LowMemoryProtection")) \
2255 "How far ahead to prefetch scan area (<= 0 means off)") \ 2122 "How far ahead to prefetch scan area (<= 0 means off)") \
2256 \ 2123 \
2257 product(intx, PrefetchFieldsAhead, -1, \ 2124 product(intx, PrefetchFieldsAhead, -1, \
2258 "How many fields ahead to prefetch in oop scan (<= 0 means off)") \ 2125 "How many fields ahead to prefetch in oop scan (<= 0 means off)") \
2259 \ 2126 \
2260 develop(bool, UsePrefetchQueue, true, \
2261 "Use the prefetch queue during PS promotion") \
2262 \
2263 diagnostic(bool, VerifyBeforeExit, trueInDebug, \ 2127 diagnostic(bool, VerifyBeforeExit, trueInDebug, \
2264 "Verify system before exiting") \ 2128 "Verify system before exiting") \
2265 \ 2129 \
2266 diagnostic(bool, VerifyBeforeGC, false, \ 2130 diagnostic(bool, VerifyBeforeGC, false, \
2267 "Verify memory system before GC") \ 2131 "Verify memory system before GC") \
2493 "print the results of ciTypeFlow analysis") \ 2357 "print the results of ciTypeFlow analysis") \
2494 \ 2358 \
2495 develop(bool, CITraceTypeFlow, false, \ 2359 develop(bool, CITraceTypeFlow, false, \
2496 "detailed per-bytecode tracing of ciTypeFlow analysis") \ 2360 "detailed per-bytecode tracing of ciTypeFlow analysis") \
2497 \ 2361 \
2498 develop(intx, CICloneLoopTestLimit, 100, \
2499 "size limit for blocks heuristically cloned in ciTypeFlow") \
2500 \
2501 develop(intx, OSROnlyBCI, -1, \ 2362 develop(intx, OSROnlyBCI, -1, \
2502 "OSR only at this bci. Negative values mean exclude that bci") \ 2363 "OSR only at this bci. Negative values mean exclude that bci") \
2503 \
2504 /* temp diagnostics */ \
2505 \
2506 diagnostic(bool, TraceRedundantCompiles, false, \
2507 "Have compile broker print when a request already in the queue is"\
2508 " requested again") \
2509 \
2510 diagnostic(bool, InitialCompileFast, false, \
2511 "Initial compile at CompLevel_fast_compile") \
2512 \
2513 diagnostic(bool, InitialCompileReallyFast, false, \
2514 "Initial compile at CompLevel_really_fast_compile (no profile)") \
2515 \
2516 diagnostic(bool, FullProfileOnReInterpret, true, \
2517 "On re-interpret unc-trap compile next at CompLevel_fast_compile")\
2518 \ 2364 \
2519 /* compiler */ \ 2365 /* compiler */ \
2520 \ 2366 \
2521 product(intx, CICompilerCount, CI_COMPILER_COUNT, \ 2367 product(intx, CICompilerCount, CI_COMPILER_COUNT, \
2522 "Number of compiler threads to run") \ 2368 "Number of compiler threads to run") \
2527 develop(bool, UseStackBanging, true, \ 2373 develop(bool, UseStackBanging, true, \
2528 "use stack banging for stack overflow checks (required for " \ 2374 "use stack banging for stack overflow checks (required for " \
2529 "proper StackOverflow handling; disable only to measure cost " \ 2375 "proper StackOverflow handling; disable only to measure cost " \
2530 "of stackbanging)") \ 2376 "of stackbanging)") \
2531 \ 2377 \
2532 develop(bool, Use24BitFPMode, true, \
2533 "Set 24-bit FPU mode on a per-compile basis ") \
2534 \
2535 develop(bool, Use24BitFP, true, \
2536 "use FP instructions that produce 24-bit precise results") \
2537 \
2538 develop(bool, UseStrictFP, true, \ 2378 develop(bool, UseStrictFP, true, \
2539 "use strict fp if modifier strictfp is set") \ 2379 "use strict fp if modifier strictfp is set") \
2540 \ 2380 \
2541 develop(bool, GenerateSynchronizationCode, true, \ 2381 develop(bool, GenerateSynchronizationCode, true, \
2542 "generate locking/unlocking code for synchronized methods and " \ 2382 "generate locking/unlocking code for synchronized methods and " \
2564 \ 2404 \
2565 product(bool, TraceSafepointCleanupTime, false, \ 2405 product(bool, TraceSafepointCleanupTime, false, \
2566 "print the break down of clean up tasks performed during" \ 2406 "print the break down of clean up tasks performed during" \
2567 " safepoint") \ 2407 " safepoint") \
2568 \ 2408 \
2569 develop(bool, InlineAccessors, true, \
2570 "inline accessor methods (get/set)") \
2571 \
2572 product(bool, Inline, true, \ 2409 product(bool, Inline, true, \
2573 "enable inlining") \ 2410 "enable inlining") \
2574 \ 2411 \
2575 product(bool, ClipInlining, true, \ 2412 product(bool, ClipInlining, true, \
2576 "clip inlining if aggregate method exceeds DesiredMethodLimit") \ 2413 "clip inlining if aggregate method exceeds DesiredMethodLimit") \
2579 "enable CHA") \ 2416 "enable CHA") \
2580 \ 2417 \
2581 product(bool, UseTypeProfile, true, \ 2418 product(bool, UseTypeProfile, true, \
2582 "Check interpreter profile for historically monomorphic calls") \ 2419 "Check interpreter profile for historically monomorphic calls") \
2583 \ 2420 \
2584 product(intx, TypeProfileMajorReceiverPercent, 90, \
2585 "% of major receiver type to all profiled receivers") \
2586 \
2587 notproduct(bool, TimeCompiler, false, \ 2421 notproduct(bool, TimeCompiler, false, \
2588 "time the compiler") \ 2422 "time the compiler") \
2589 \ 2423 \
2590 notproduct(bool, TimeCompiler2, false, \
2591 "detailed time the compiler (requires +TimeCompiler)") \
2592 \
2593 diagnostic(bool, PrintInlining, false, \ 2424 diagnostic(bool, PrintInlining, false, \
2594 "prints inlining optimizations") \ 2425 "prints inlining optimizations") \
2595 \ 2426 \
2596 diagnostic(bool, PrintIntrinsics, false, \
2597 "prints attempted and successful inlining of intrinsics") \
2598 \
2599 product(bool, UseCountLeadingZerosInstruction, false, \
2600 "Use count leading zeros instruction") \
2601 \
2602 product(bool, UsePopCountInstruction, false, \ 2427 product(bool, UsePopCountInstruction, false, \
2603 "Use population count instruction") \ 2428 "Use population count instruction") \
2604 \ 2429 \
2605 diagnostic(ccstrlist, DisableIntrinsic, "", \
2606 "do not expand intrinsics whose (internal) names appear here") \
2607 \
2608 develop(bool, StressReflectiveCode, false, \
2609 "Use inexact types at allocations, etc., to test reflection") \
2610 \
2611 develop(bool, EagerInitialization, false, \ 2430 develop(bool, EagerInitialization, false, \
2612 "Eagerly initialize classes if possible") \ 2431 "Eagerly initialize classes if possible") \
2613 \ 2432 \
2614 develop(bool, TraceMethodReplacement, false, \ 2433 develop(bool, TraceMethodReplacement, false, \
2615 "Print when methods are replaced do to recompilation") \ 2434 "Print when methods are replaced do to recompilation") \
2616 \ 2435 \
2617 develop(bool, PrintMethodFlushing, false, \ 2436 develop(bool, PrintMethodFlushing, false, \
2618 "print the nmethods being flushed") \ 2437 "print the nmethods being flushed") \
2619 \ 2438 \
2620 notproduct(bool, LogMultipleMutexLocking, false, \
2621 "log locking and unlocking of mutexes (only if multiple locks " \
2622 "are held)") \
2623 \
2624 develop(bool, UseRelocIndex, false, \ 2439 develop(bool, UseRelocIndex, false, \
2625 "use an index to speed random access to relocations") \ 2440 "use an index to speed random access to relocations") \
2626 \ 2441 \
2627 develop(bool, StressCodeBuffers, false, \ 2442 develop(bool, StressCodeBuffers, false, \
2628 "Exercise code buffer expansion and other rare state changes") \ 2443 "Exercise code buffer expansion and other rare state changes") \
2629 \ 2444 \
2630 diagnostic(bool, DebugNonSafepoints, trueInDebug, \ 2445 diagnostic(bool, DebugNonSafepoints, trueInDebug, \
2631 "Generate extra debugging info for non-safepoints in nmethods") \ 2446 "Generate extra debugging info for non-safepoints in nmethods") \
2632 \
2633 diagnostic(bool, DebugInlinedCalls, true, \
2634 "If false, restricts profiled locations to the root method only") \
2635 \ 2447 \
2636 product(bool, PrintVMOptions, false, \ 2448 product(bool, PrintVMOptions, false, \
2637 "Print flags that appeared on the command line") \ 2449 "Print flags that appeared on the command line") \
2638 \ 2450 \
2639 product(bool, IgnoreUnrecognizedVMOptions, false, \ 2451 product(bool, IgnoreUnrecognizedVMOptions, false, \
2707 "trace creation of zombie nmethods") \ 2519 "trace creation of zombie nmethods") \
2708 \ 2520 \
2709 notproduct(bool, IgnoreLockingAssertions, false, \ 2521 notproduct(bool, IgnoreLockingAssertions, false, \
2710 "disable locking assertions (for speed)") \ 2522 "disable locking assertions (for speed)") \
2711 \ 2523 \
2712 notproduct(bool, VerifyLoopOptimizations, false, \
2713 "verify major loop optimizations") \
2714 \
2715 product(bool, RangeCheckElimination, true, \ 2524 product(bool, RangeCheckElimination, true, \
2716 "Split loop iterations to eliminate range checks") \ 2525 "Split loop iterations to eliminate range checks") \
2717 \ 2526 \
2718 develop_pd(bool, UncommonNullCast, \ 2527 develop_pd(bool, UncommonNullCast, \
2719 "track occurrences of null in casts; adjust compiler tactics") \ 2528 "track occurrences of null in casts; adjust compiler tactics") \
2720 \ 2529 \
2721 develop(bool, TypeProfileCasts, true, \ 2530 develop(bool, TypeProfileCasts, true, \
2722 "treat casts like calls for purposes of type profiling") \ 2531 "treat casts like calls for purposes of type profiling") \
2723 \
2724 develop(bool, MonomorphicArrayCheck, true, \
2725 "Uncommon-trap array store checks that require full type check") \
2726 \
2727 diagnostic(bool, ProfileDynamicTypes, true, \
2728 "do extra type profiling and use it more aggressively") \
2729 \ 2532 \
2730 develop(bool, DelayCompilationDuringStartup, true, \ 2533 develop(bool, DelayCompilationDuringStartup, true, \
2731 "Delay invoking the compiler until main application class is " \ 2534 "Delay invoking the compiler until main application class is " \
2732 "loaded") \ 2535 "loaded") \
2733 \ 2536 \
2739 "Preload all classes used by a class before start loading") \ 2542 "Preload all classes used by a class before start loading") \
2740 \ 2543 \
2741 notproduct(intx, CompileTheWorldSafepointInterval, 100, \ 2544 notproduct(intx, CompileTheWorldSafepointInterval, 100, \
2742 "Force a safepoint every n compiles so sweeper can keep up") \ 2545 "Force a safepoint every n compiles so sweeper can keep up") \
2743 \ 2546 \
2744 develop(bool, TraceIterativeGVN, false, \
2745 "Print progress during Iterative Global Value Numbering") \
2746 \
2747 develop(bool, FillDelaySlots, true, \ 2547 develop(bool, FillDelaySlots, true, \
2748 "Fill delay slots (on SPARC only)") \ 2548 "Fill delay slots (on SPARC only)") \
2749 \ 2549 \
2750 develop(bool, VerifyIterativeGVN, false, \
2751 "Verify Def-Use modifications during sparse Iterative Global " \
2752 "Value Numbering") \
2753 \
2754 notproduct(bool, TracePhaseCCP, false, \
2755 "Print progress during Conditional Constant Propagation") \
2756 \
2757 develop(bool, TimeLivenessAnalysis, false, \ 2550 develop(bool, TimeLivenessAnalysis, false, \
2758 "Time computation of bytecode liveness analysis") \ 2551 "Time computation of bytecode liveness analysis") \
2759 \ 2552 \
2760 develop(bool, TraceLivenessGen, false, \ 2553 develop(bool, TraceLivenessGen, false, \
2761 "Trace the generation of liveness analysis information") \ 2554 "Trace the generation of liveness analysis information") \
2764 "Trace queries of liveness analysis information") \ 2557 "Trace queries of liveness analysis information") \
2765 \ 2558 \
2766 notproduct(bool, CollectIndexSetStatistics, false, \ 2559 notproduct(bool, CollectIndexSetStatistics, false, \
2767 "Collect information about IndexSets") \ 2560 "Collect information about IndexSets") \
2768 \ 2561 \
2769 develop(bool, PrintDominators, false, \
2770 "Print out dominator trees for GVN") \
2771 \
2772 develop(bool, UseLoopSafepoints, true, \ 2562 develop(bool, UseLoopSafepoints, true, \
2773 "Generate Safepoint nodes in every loop") \ 2563 "Generate Safepoint nodes in every loop") \
2774 \
2775 notproduct(bool, TraceCISCSpill, false, \
2776 "Trace allocators use of cisc spillable instructions") \
2777 \
2778 notproduct(bool, TraceSpilling, false, \
2779 "Trace spilling") \
2780 \
2781 product(bool, SplitIfBlocks, true, \
2782 "Clone compares and control flow through merge points to fold " \
2783 "some branches") \
2784 \ 2564 \
2785 develop(intx, FastAllocateSizeLimit, 128*K, \ 2565 develop(intx, FastAllocateSizeLimit, 128*K, \
2786 /* Note: This value is zero mod 1<<13 for a cheap sparc set. */ \ 2566 /* Note: This value is zero mod 1<<13 for a cheap sparc set. */ \
2787 "Inline allocations larger than this in doublewords must go slow")\ 2567 "Inline allocations larger than this in doublewords must go slow")\
2788 \ 2568 \
2836 "Use interpreter for non-compiled methods") \ 2616 "Use interpreter for non-compiled methods") \
2837 \ 2617 \
2838 develop(bool, UseFastSignatureHandlers, true, \ 2618 develop(bool, UseFastSignatureHandlers, true, \
2839 "Use fast signature handlers for native calls") \ 2619 "Use fast signature handlers for native calls") \
2840 \ 2620 \
2841 develop(bool, UseV8InstrsOnly, false, \
2842 "Use SPARC-V8 Compliant instruction subset") \
2843 \
2844 product(bool, UseNiagaraInstrs, false, \
2845 "Use Niagara-efficient instruction subset") \
2846 \
2847 develop(bool, UseCASForSwap, false, \
2848 "Do not use swap instructions, but only CAS (in a loop) on SPARC")\
2849 \
2850 product(bool, UseLoopCounter, true, \ 2621 product(bool, UseLoopCounter, true, \
2851 "Increment invocation counter on backward branch") \ 2622 "Increment invocation counter on backward branch") \
2852 \ 2623 \
2853 product(bool, UseFastEmptyMethods, true, \ 2624 product(bool, UseFastEmptyMethods, true, \
2854 "Use fast method entry code for empty methods") \ 2625 "Use fast method entry code for empty methods") \
2861 "overflows in loop") \ 2632 "overflows in loop") \
2862 \ 2633 \
2863 notproduct(bool, TraceOnStackReplacement, false, \ 2634 notproduct(bool, TraceOnStackReplacement, false, \
2864 "Trace on stack replacement") \ 2635 "Trace on stack replacement") \
2865 \ 2636 \
2866 develop(bool, PoisonOSREntry, true, \
2867 "Detect abnormal calls to OSR code") \
2868 \
2869 product_pd(bool, PreferInterpreterNativeStubs, \ 2637 product_pd(bool, PreferInterpreterNativeStubs, \
2870 "Use always interpreter stubs for native methods invoked via " \ 2638 "Use always interpreter stubs for native methods invoked via " \
2871 "interpreter") \ 2639 "interpreter") \
2872 \ 2640 \
2873 develop(bool, CountBytecodes, false, \ 2641 develop(bool, CountBytecodes, false, \
2905 "Verify that activation frame didn't become smaller than its " \ 2673 "Verify that activation frame didn't become smaller than its " \
2906 "minimal size") \ 2674 "minimal size") \
2907 \ 2675 \
2908 develop(bool, TraceFrequencyInlining, false, \ 2676 develop(bool, TraceFrequencyInlining, false, \
2909 "Trace frequency based inlining") \ 2677 "Trace frequency based inlining") \
2910 \
2911 notproduct(bool, TraceTypeProfile, false, \
2912 "Trace type profile") \
2913 \ 2678 \
2914 develop_pd(bool, InlineIntrinsics, \ 2679 develop_pd(bool, InlineIntrinsics, \
2915 "Inline intrinsics that can be statically resolved") \ 2680 "Inline intrinsics that can be statically resolved") \
2916 \ 2681 \
2917 product_pd(bool, ProfileInterpreter, \ 2682 product_pd(bool, ProfileInterpreter, \
2996 "Step size in bytes of sequential prefetch instructions") \ 2761 "Step size in bytes of sequential prefetch instructions") \
2997 \ 2762 \
2998 product(intx, AllocatePrefetchInstr, 0, \ 2763 product(intx, AllocatePrefetchInstr, 0, \
2999 "Prefetch instruction to prefetch ahead of allocation pointer") \ 2764 "Prefetch instruction to prefetch ahead of allocation pointer") \
3000 \ 2765 \
3001 product(intx, ReadPrefetchInstr, 0, \
3002 "Prefetch instruction to prefetch ahead") \
3003 \
3004 product(uintx, ArraycopySrcPrefetchDistance, 0, \
3005 "Distance to prefetch source array in arracopy") \
3006 \
3007 product(uintx, ArraycopyDstPrefetchDistance, 0, \
3008 "Distance to prefetch destination array in arracopy") \
3009 \
3010 /* deoptimization */ \ 2766 /* deoptimization */ \
3011 product(bool, TraceDeoptimization, false, \ 2767 product(bool, TraceDeoptimization, false, \
3012 "Trace deoptimization") \ 2768 "Trace deoptimization") \
3013 \ 2769 \
3014 product(bool, PrintDeoptimizationDetails, false, \ 2770 product(bool, PrintDeoptimizationDetails, false, \
3098 "maximum bytecode size of a trivial method to be inlined") \ 2854 "maximum bytecode size of a trivial method to be inlined") \
3099 \ 2855 \
3100 product(intx, MinInliningThreshold, 250, \ 2856 product(intx, MinInliningThreshold, 250, \
3101 "min. invocation count a method needs to have to be inlined") \ 2857 "min. invocation count a method needs to have to be inlined") \
3102 \ 2858 \
3103 develop(intx, AlignEntryCode, 4, \
3104 "aligns entry code to specified value (in bytes)") \
3105 \
3106 develop(intx, MethodHistogramCutoff, 100, \ 2859 develop(intx, MethodHistogramCutoff, 100, \
3107 "cutoff value for method invoc. histogram (+CountCalls)") \ 2860 "cutoff value for method invoc. histogram (+CountCalls)") \
3108 \ 2861 \
3109 develop(intx, ProfilerNumberOfInterpretedMethods, 25, \ 2862 develop(intx, ProfilerNumberOfInterpretedMethods, 25, \
3110 "# of interpreted methods to show in profile") \ 2863 "# of interpreted methods to show in profile") \
3140 \ 2893 \
3141 develop(intx, MinSleepInterval, 1, \ 2894 develop(intx, MinSleepInterval, 1, \
3142 "Minimum sleep() interval (milliseconds) when " \ 2895 "Minimum sleep() interval (milliseconds) when " \
3143 "ConvertSleepToYield is off (used for SOLARIS)") \ 2896 "ConvertSleepToYield is off (used for SOLARIS)") \
3144 \ 2897 \
3145 product(intx, EventLogLength, 2000, \
3146 "maximum nof events in event log") \
3147 \
3148 develop(intx, ProfilerPCTickThreshold, 15, \ 2898 develop(intx, ProfilerPCTickThreshold, 15, \
3149 "Number of ticks in a PC buckets to be a hotspot") \ 2899 "Number of ticks in a PC buckets to be a hotspot") \
3150 \ 2900 \
3151 notproduct(intx, DeoptimizeALotInterval, 5, \ 2901 notproduct(intx, DeoptimizeALotInterval, 5, \
3152 "Number of exits until DeoptimizeALot kicks in") \ 2902 "Number of exits until DeoptimizeALot kicks in") \
3181 "Limit on traps (of one kind) in a method (includes inlines)") \ 2931 "Limit on traps (of one kind) in a method (includes inlines)") \
3182 \ 2932 \
3183 product(intx, PerBytecodeTrapLimit, 4, \ 2933 product(intx, PerBytecodeTrapLimit, 4, \
3184 "Limit on traps (of one kind) at a particular BCI") \ 2934 "Limit on traps (of one kind) at a particular BCI") \
3185 \ 2935 \
3186 develop(intx, FreqCountInvocations, 1, \
3187 "Scaling factor for branch frequencies (deprecated)") \
3188 \
3189 develop(intx, InlineFrequencyRatio, 20, \ 2936 develop(intx, InlineFrequencyRatio, 20, \
3190 "Ratio of call site execution to caller method invocation") \ 2937 "Ratio of call site execution to caller method invocation") \
3191 \ 2938 \
3192 develop_pd(intx, InlineFrequencyCount, \ 2939 develop_pd(intx, InlineFrequencyCount, \
3193 "Count of call site execution necessary to trigger frequent " \ 2940 "Count of call site execution necessary to trigger frequent " \
3197 "Force inlining of interpreted methods that throw this often") \ 2944 "Force inlining of interpreted methods that throw this often") \
3198 \ 2945 \
3199 develop(intx, InlineThrowMaxSize, 200, \ 2946 develop(intx, InlineThrowMaxSize, 200, \
3200 "Force inlining of throwing methods smaller than this") \ 2947 "Force inlining of throwing methods smaller than this") \
3201 \ 2948 \
3202 product(intx, AliasLevel, 3, \
3203 "0 for no aliasing, 1 for oop/field/static/array split, " \
3204 "2 for class split, 3 for unique instances") \
3205 \
3206 develop(bool, VerifyAliases, false, \
3207 "perform extra checks on the results of alias analysis") \
3208 \
3209 develop(intx, ProfilerNodeSize, 1024, \ 2949 develop(intx, ProfilerNodeSize, 1024, \
3210 "Size in K to allocate for the Profile Nodes of each thread") \ 2950 "Size in K to allocate for the Profile Nodes of each thread") \
3211 \ 2951 \
3212 develop(intx, V8AtomicOperationUnderLockSpinCount, 50, \
3213 "Number of times to spin wait on a v8 atomic operation lock") \
3214 \
3215 product(intx, ReadSpinIterations, 100, \
3216 "Number of read attempts before a yield (spin inner loop)") \
3217 \
3218 product_pd(intx, PreInflateSpin, \ 2952 product_pd(intx, PreInflateSpin, \
3219 "Number of times to spin wait before inflation") \ 2953 "Number of times to spin wait before inflation") \
3220 \
3221 product(intx, PreBlockSpin, 10, \
3222 "Number of times to spin in an inflated lock before going to " \
3223 "an OS lock") \
3224 \ 2954 \
3225 /* gc parameters */ \ 2955 /* gc parameters */ \
3226 product(uintx, InitialHeapSize, 0, \ 2956 product(uintx, InitialHeapSize, 0, \
3227 "Initial heap size (in bytes); zero means OldSize + NewSize") \ 2957 "Initial heap size (in bytes); zero means OldSize + NewSize") \
3228 \ 2958 \
3475 \ 3205 \
3476 develop(intx, CIFireOOMAt, -1, \ 3206 develop(intx, CIFireOOMAt, -1, \
3477 "Fire OutOfMemoryErrors throughout CI for testing the compiler " \ 3207 "Fire OutOfMemoryErrors throughout CI for testing the compiler " \
3478 "(non-negative value throws OOM after this many CI accesses " \ 3208 "(non-negative value throws OOM after this many CI accesses " \
3479 "in each compile)") \ 3209 "in each compile)") \
3480 \
3481 develop(intx, CIFireOOMAtDelay, -1, \
3482 "Wait for this many CI accesses to occur in all compiles before " \
3483 "beginning to throw OutOfMemoryErrors in each compile") \
3484 \ 3210 \
3485 notproduct(bool, CIObjectFactoryVerify, false, \ 3211 notproduct(bool, CIObjectFactoryVerify, false, \
3486 "enable potentially expensive verification in ciObjectFactory") \ 3212 "enable potentially expensive verification in ciObjectFactory") \
3487 \ 3213 \
3488 /* Priorities */ \ 3214 /* Priorities */ \
3673 "Enable tiered compilation") \ 3399 "Enable tiered compilation") \
3674 \ 3400 \
3675 product(bool, PrintTieredEvents, false, \ 3401 product(bool, PrintTieredEvents, false, \
3676 "Print tiered events notifications") \ 3402 "Print tiered events notifications") \
3677 \ 3403 \
3678 product(bool, StressTieredRuntime, false, \
3679 "Alternate client and server compiler on compile requests") \
3680 \
3681 product_pd(intx, OnStackReplacePercentage, \ 3404 product_pd(intx, OnStackReplacePercentage, \
3682 "NON_TIERED number of method invocations/branches (expressed as %"\ 3405 "NON_TIERED number of method invocations/branches (expressed as %"\
3683 "of CompileThreshold) before (re-)compiling OSR code") \ 3406 "of CompileThreshold) before (re-)compiling OSR code") \
3684 \ 3407 \
3685 product(intx, InterpreterProfilePercentage, 33, \ 3408 product(intx, InterpreterProfilePercentage, 33, \
3844 "objects. ") \ 3567 "objects. ") \
3845 \ 3568 \
3846 diagnostic(bool, EnableInvokeDynamic, false, \ 3569 diagnostic(bool, EnableInvokeDynamic, false, \
3847 "support JSR 292 (method handles, invokedynamic, " \ 3570 "support JSR 292 (method handles, invokedynamic, " \
3848 "anonymous classes") \ 3571 "anonymous classes") \
3849 \
3850 product(bool, AnonymousClasses, false, \
3851 "support sun.misc.Unsafe.defineAnonymousClass (deprecated)") \
3852 \ 3572 \
3853 diagnostic(bool, PrintMethodHandleStubs, false, \ 3573 diagnostic(bool, PrintMethodHandleStubs, false, \
3854 "Print generated stub code for method handles") \ 3574 "Print generated stub code for method handles") \
3855 \ 3575 \
3856 develop(bool, TraceMethodHandles, false, \ 3576 develop(bool, TraceMethodHandles, false, \
3962 3682
3963 RUNTIME_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG, DECLARE_LP64_PRODUCT_FLAG) 3683 RUNTIME_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG, DECLARE_LP64_PRODUCT_FLAG)
3964 3684
3965 RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG) 3685 RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG)
3966 3686
3687 ARCH_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG)
3688
3967 // Extensions 3689 // Extensions
3968 3690
3969 #include "runtime/globals_ext.hpp" 3691 #include "runtime/globals_ext.hpp"
3970 3692
3971 #endif // SHARE_VM_RUNTIME_GLOBALS_HPP 3693 #endif // SHARE_VM_RUNTIME_GLOBALS_HPP