Mercurial > hg > graal-compiler
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 |