Mercurial > hg > truffle
comparison src/share/vm/runtime/globals.hpp @ 6633:a5dd6e3ef9f3
6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
Reviewed-by: kvn, dholmes, coleenp
Contributed-by: Tao Mao <tao.mao@oracle.com>
author | twisti |
---|---|
date | Mon, 27 Aug 2012 15:17:17 -0700 |
parents | fce6d7280776 |
children | c38f13903fdf da91efe96a93 |
comparison
equal
deleted
inserted
replaced
6632:a1c7f6472621 | 6633:a5dd6e3ef9f3 |
---|---|
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.") \ |
631 "inline Class.isInstance, etc") \ | 618 "inline Class.isInstance, etc") \ |
632 \ | 619 \ |
633 develop(bool, InlineThreadNatives, true, \ | 620 develop(bool, InlineThreadNatives, true, \ |
634 "inline Thread.currentThread, etc") \ | 621 "inline Thread.currentThread, etc") \ |
635 \ | 622 \ |
636 develop(bool, InlineReflectionGetCallerClass, true, \ | |
637 "inline sun.reflect.Reflection.getCallerClass(), known to be part "\ | |
638 "of base library DLL") \ | |
639 \ | |
640 develop(bool, InlineUnsafeOps, true, \ | 623 develop(bool, InlineUnsafeOps, true, \ |
641 "inline memory ops (native methods) from sun.misc.Unsafe") \ | 624 "inline memory ops (native methods) from sun.misc.Unsafe") \ |
642 \ | 625 \ |
643 develop(bool, ConvertCmpD2CmpF, true, \ | |
644 "Convert cmpD to cmpF when one input is constant in float range") \ | |
645 \ | |
646 develop(bool, ConvertFloat2IntClipping, true, \ | |
647 "Convert float2int clipping idiom to integer clipping") \ | |
648 \ | |
649 develop(bool, SpecialStringCompareTo, true, \ | |
650 "special version of string compareTo") \ | |
651 \ | |
652 develop(bool, SpecialStringIndexOf, true, \ | |
653 "special version of string indexOf") \ | |
654 \ | |
655 develop(bool, SpecialStringEquals, true, \ | |
656 "special version of string equals") \ | |
657 \ | |
658 develop(bool, SpecialArraysEquals, true, \ | |
659 "special version of Arrays.equals(char[],char[])") \ | |
660 \ | |
661 product(bool, CriticalJNINatives, true, \ | 626 product(bool, CriticalJNINatives, true, \ |
662 "check for critical JNI entry points") \ | 627 "check for critical JNI entry points") \ |
663 \ | 628 \ |
664 notproduct(bool, StressCriticalJNINatives, false, \ | 629 notproduct(bool, StressCriticalJNINatives, false, \ |
665 "Exercise register saving code in critical natives") \ | 630 "Exercise register saving code in critical natives") \ |
666 \ | 631 \ |
667 product(bool, UseSSE42Intrinsics, false, \ | 632 product(bool, UseSSE42Intrinsics, false, \ |
668 "SSE4.2 versions of intrinsics") \ | 633 "SSE4.2 versions of intrinsics") \ |
669 \ | |
670 product(bool, UseCondCardMark, false, \ | |
671 "Check for already marked card before updating card table") \ | |
672 \ | 634 \ |
673 develop(bool, TraceCallFixup, false, \ | 635 develop(bool, TraceCallFixup, false, \ |
674 "traces all call fixups") \ | 636 "traces all call fixups") \ |
675 \ | 637 \ |
676 develop(bool, DeoptimizeALot, false, \ | 638 develop(bool, DeoptimizeALot, false, \ |
754 "Enables the Java bytecode verifier for local classes") \ | 716 "Enables the Java bytecode verifier for local classes") \ |
755 \ | 717 \ |
756 develop(bool, ForceFloatExceptions, trueInDebug, \ | 718 develop(bool, ForceFloatExceptions, trueInDebug, \ |
757 "Force exceptions on FP stack under/overflow") \ | 719 "Force exceptions on FP stack under/overflow") \ |
758 \ | 720 \ |
759 develop(bool, SoftMatchFailure, trueInProduct, \ | |
760 "If the DFA fails to match a node, print a message and bail out") \ | |
761 \ | |
762 develop(bool, VerifyStackAtCalls, false, \ | 721 develop(bool, VerifyStackAtCalls, false, \ |
763 "Verify that the stack pointer is unchanged after calls") \ | 722 "Verify that the stack pointer is unchanged after calls") \ |
764 \ | 723 \ |
765 develop(bool, TraceJavaAssertions, false, \ | 724 develop(bool, TraceJavaAssertions, false, \ |
766 "Trace java language assertions") \ | 725 "Trace java language assertions") \ |
913 diagnostic(intx, ScavengeRootsInCode, 2, \ | 872 diagnostic(intx, ScavengeRootsInCode, 2, \ |
914 "0: do not allow scavengable oops in the code cache; " \ | 873 "0: do not allow scavengable oops in the code cache; " \ |
915 "1: allow scavenging from the code cache; " \ | 874 "1: allow scavenging from the code cache; " \ |
916 "2: emit as many constants as the compiler can see") \ | 875 "2: emit as many constants as the compiler can see") \ |
917 \ | 876 \ |
918 diagnostic(bool, TraceOSRBreakpoint, false, \ | |
919 "Trace OSR Breakpoint ") \ | |
920 \ | |
921 diagnostic(bool, TraceCompileTriggered, false, \ | |
922 "Trace compile triggered") \ | |
923 \ | |
924 diagnostic(bool, TraceTriggers, false, \ | |
925 "Trace triggers") \ | |
926 \ | |
927 product(bool, AlwaysRestoreFPU, false, \ | 877 product(bool, AlwaysRestoreFPU, false, \ |
928 "Restore the FPU control word after every JNI call (expensive)") \ | 878 "Restore the FPU control word after every JNI call (expensive)") \ |
929 \ | 879 \ |
930 diagnostic(bool, PrintCompilation2, false, \ | 880 diagnostic(bool, PrintCompilation2, false, \ |
931 "Print additional statistics per compilation") \ | 881 "Print additional statistics per compilation") \ |
1034 develop(bool, PrintCodeCacheExtension, false, \ | 984 develop(bool, PrintCodeCacheExtension, false, \ |
1035 "Print extension of code cache") \ | 985 "Print extension of code cache") \ |
1036 \ | 986 \ |
1037 develop(bool, UsePrivilegedStack, true, \ | 987 develop(bool, UsePrivilegedStack, true, \ |
1038 "Enable the security JVM functions") \ | 988 "Enable the security JVM functions") \ |
1039 \ | |
1040 develop(bool, IEEEPrecision, true, \ | |
1041 "Enables IEEE precision (for INTEL only)") \ | |
1042 \ | 989 \ |
1043 develop(bool, ProtectionDomainVerification, true, \ | 990 develop(bool, ProtectionDomainVerification, true, \ |
1044 "Verifies protection domain before resolution in system " \ | 991 "Verifies protection domain before resolution in system " \ |
1045 "dictionary") \ | 992 "dictionary") \ |
1046 \ | 993 \ |
1107 \ | 1054 \ |
1108 product(intx, EmitSync, 0, \ | 1055 product(intx, EmitSync, 0, \ |
1109 "(Unsafe,Unstable) " \ | 1056 "(Unsafe,Unstable) " \ |
1110 " Controls emission of inline sync fast-path code") \ | 1057 " Controls emission of inline sync fast-path code") \ |
1111 \ | 1058 \ |
1112 product(intx, AlwaysInflate, 0, "(Unstable) Force inflation") \ | |
1113 \ | |
1114 product(intx, MonitorBound, 0, "Bound Monitor population") \ | 1059 product(intx, MonitorBound, 0, "Bound Monitor population") \ |
1115 \ | 1060 \ |
1116 product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \ | 1061 product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \ |
1117 \ | 1062 \ |
1118 product(intx, Atomics, 0, \ | 1063 product(intx, Atomics, 0, \ |
1119 "(Unsafe,Unstable) Diagnostic - Controls emission of atomics") \ | 1064 "(Unsafe,Unstable) Diagnostic - Controls emission of atomics") \ |
1120 \ | |
1121 product(intx, FenceInstruction, 0, \ | |
1122 "(Unsafe,Unstable) Experimental") \ | |
1123 \ | 1065 \ |
1124 product(intx, SyncFlags, 0, "(Unsafe,Unstable) Experimental Sync flags" ) \ | 1066 product(intx, SyncFlags, 0, "(Unsafe,Unstable) Experimental Sync flags" ) \ |
1125 \ | 1067 \ |
1126 product(intx, SyncVerbose, 0, "(Unstable)" ) \ | 1068 product(intx, SyncVerbose, 0, "(Unstable)" ) \ |
1127 \ | 1069 \ |
1148 \ | 1090 \ |
1149 product(bool, AdjustConcurrency, false, \ | 1091 product(bool, AdjustConcurrency, false, \ |
1150 "call thr_setconcurrency at thread create time to avoid " \ | 1092 "call thr_setconcurrency at thread create time to avoid " \ |
1151 "LWP starvation on MP systems (For Solaris Only)") \ | 1093 "LWP starvation on MP systems (For Solaris Only)") \ |
1152 \ | 1094 \ |
1153 develop(bool, UpdateHotSpotCompilerFileOnError, true, \ | |
1154 "Should the system attempt to update the compiler file when " \ | |
1155 "an error occurs?") \ | |
1156 \ | |
1157 product(bool, ReduceSignalUsage, false, \ | 1095 product(bool, ReduceSignalUsage, false, \ |
1158 "Reduce the use of OS signals in Java and/or the VM") \ | 1096 "Reduce the use of OS signals in Java and/or the VM") \ |
1159 \ | 1097 \ |
1160 notproduct(bool, ValidateMarkSweep, false, \ | 1098 notproduct(bool, ValidateMarkSweep, false, \ |
1161 "Do extra validation during MarkSweep collection") \ | 1099 "Do extra validation during MarkSweep collection") \ |
1186 \ | 1124 \ |
1187 product(bool, UseAltSigs, false, \ | 1125 product(bool, UseAltSigs, false, \ |
1188 "Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM " \ | 1126 "Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM " \ |
1189 "internal signals (Solaris only)") \ | 1127 "internal signals (Solaris only)") \ |
1190 \ | 1128 \ |
1191 product(bool, UseSpinning, false, \ | |
1192 "Use spinning in monitor inflation and before entry") \ | |
1193 \ | |
1194 product(bool, PreSpinYield, false, \ | |
1195 "Yield before inner spinning loop") \ | |
1196 \ | |
1197 product(bool, PostSpinYield, true, \ | |
1198 "Yield after inner spinning loop") \ | |
1199 \ | |
1200 product(bool, AllowJNIEnvProxy, false, \ | 1129 product(bool, AllowJNIEnvProxy, false, \ |
1201 "Allow JNIEnv proxies for jdbx") \ | 1130 "Allow JNIEnv proxies for jdbx") \ |
1202 \ | 1131 \ |
1203 product(bool, JNIDetachReleasesMonitors, true, \ | 1132 product(bool, JNIDetachReleasesMonitors, true, \ |
1204 "JNI DetachCurrentThread releases monitors owned by thread") \ | 1133 "JNI DetachCurrentThread releases monitors owned by thread") \ |
1223 "Number of OutOfMemoryErrors preallocated with backtrace") \ | 1152 "Number of OutOfMemoryErrors preallocated with backtrace") \ |
1224 \ | 1153 \ |
1225 product(bool, LazyBootClassLoader, true, \ | 1154 product(bool, LazyBootClassLoader, true, \ |
1226 "Enable/disable lazy opening of boot class path entries") \ | 1155 "Enable/disable lazy opening of boot class path entries") \ |
1227 \ | 1156 \ |
1228 diagnostic(bool, UseIncDec, true, \ | |
1229 "Use INC, DEC instructions on x86") \ | |
1230 \ | |
1231 product(bool, UseNewLongLShift, false, \ | |
1232 "Use optimized bitwise shift left") \ | |
1233 \ | |
1234 product(bool, UseStoreImmI16, true, \ | |
1235 "Use store immediate 16-bits value instruction on x86") \ | |
1236 \ | |
1237 product(bool, UseAddressNop, false, \ | |
1238 "Use '0F 1F [addr]' NOP instructions on x86 cpus") \ | |
1239 \ | |
1240 product(bool, UseXmmLoadAndClearUpper, true, \ | |
1241 "Load low part of XMM register and clear upper part") \ | |
1242 \ | |
1243 product(bool, UseXmmRegToRegMoveAll, false, \ | |
1244 "Copy all XMM register bits when moving value between registers") \ | |
1245 \ | |
1246 product(bool, UseXmmI2D, false, \ | |
1247 "Use SSE2 CVTDQ2PD instruction to convert Integer to Double") \ | |
1248 \ | |
1249 product(bool, UseXmmI2F, false, \ | |
1250 "Use SSE2 CVTDQ2PS instruction to convert Integer to Float") \ | |
1251 \ | |
1252 product(bool, UseXMMForArrayCopy, false, \ | 1157 product(bool, UseXMMForArrayCopy, false, \ |
1253 "Use SSE2 MOVQ instruction for Arraycopy") \ | 1158 "Use SSE2 MOVQ instruction for Arraycopy") \ |
1254 \ | |
1255 product(bool, UseUnalignedLoadStores, false, \ | |
1256 "Use SSE2 MOVDQU instruction for Arraycopy") \ | |
1257 \ | |
1258 product(bool, UseCBCond, false, \ | |
1259 "Use compare and branch instruction on SPARC") \ | |
1260 \ | 1159 \ |
1261 product(intx, FieldsAllocationStyle, 1, \ | 1160 product(intx, FieldsAllocationStyle, 1, \ |
1262 "0 - type based with oops first, 1 - with oops last, " \ | 1161 "0 - type based with oops first, 1 - with oops last, " \ |
1263 "2 - oops in super and sub classes are together") \ | 1162 "2 - oops in super and sub classes are together") \ |
1264 \ | 1163 \ |
1385 "Trace zapping dead locals") \ | 1284 "Trace zapping dead locals") \ |
1386 \ | 1285 \ |
1387 develop(bool, TraceStartupTime, false, \ | 1286 develop(bool, TraceStartupTime, false, \ |
1388 "Trace setup time") \ | 1287 "Trace setup time") \ |
1389 \ | 1288 \ |
1390 product(ccstr, HPILibPath, NULL, \ | |
1391 "Specify alternate path to HPI library") \ | |
1392 \ | |
1393 develop(bool, TraceProtectionDomainVerification, false, \ | 1289 develop(bool, TraceProtectionDomainVerification, false, \ |
1394 "Trace protection domain verifcation") \ | 1290 "Trace protection domain verifcation") \ |
1395 \ | 1291 \ |
1396 develop(bool, TraceClearedExceptions, false, \ | 1292 develop(bool, TraceClearedExceptions, false, \ |
1397 "Prints when an exception is forcibly cleared") \ | 1293 "Prints when an exception is forcibly cleared") \ |
1402 product(bool, TraceBiasedLocking, false, \ | 1298 product(bool, TraceBiasedLocking, false, \ |
1403 "Trace biased locking in JVM") \ | 1299 "Trace biased locking in JVM") \ |
1404 \ | 1300 \ |
1405 product(bool, TraceMonitorInflation, false, \ | 1301 product(bool, TraceMonitorInflation, false, \ |
1406 "Trace monitor inflation in JVM") \ | 1302 "Trace monitor inflation in JVM") \ |
1407 \ | |
1408 /* assembler */ \ | |
1409 product(bool, Use486InstrsOnly, false, \ | |
1410 "Use 80486 Compliant instruction subset") \ | |
1411 \ | 1303 \ |
1412 /* gc */ \ | 1304 /* gc */ \ |
1413 \ | 1305 \ |
1414 product(bool, UseSerialGC, false, \ | 1306 product(bool, UseSerialGC, false, \ |
1415 "Use the serial garbage collector") \ | 1307 "Use the serial garbage collector") \ |
1464 "Provoke splitting (copying data from a young gen space to" \ | 1356 "Provoke splitting (copying data from a young gen space to" \ |
1465 "multiple destination spaces)") \ | 1357 "multiple destination spaces)") \ |
1466 \ | 1358 \ |
1467 develop(uintx, ParallelOldGCSplitInterval, 3, \ | 1359 develop(uintx, ParallelOldGCSplitInterval, 3, \ |
1468 "How often to provoke splitting a young gen space") \ | 1360 "How often to provoke splitting a young gen space") \ |
1469 \ | |
1470 develop(bool, TraceRegionTasksQueuing, false, \ | |
1471 "Trace the queuing of the region tasks") \ | |
1472 \ | 1361 \ |
1473 product(uintx, ConcGCThreads, 0, \ | 1362 product(uintx, ConcGCThreads, 0, \ |
1474 "Number of threads concurrent gc will use") \ | 1363 "Number of threads concurrent gc will use") \ |
1475 \ | 1364 \ |
1476 product(uintx, YoungPLABSize, 4096, \ | 1365 product(uintx, YoungPLABSize, 4096, \ |
1619 \ | 1508 \ |
1620 product(uintx, CMSOldPLABReactivityFactor, 2, \ | 1509 product(uintx, CMSOldPLABReactivityFactor, 2, \ |
1621 "The gain in the feedback loop for on-the-fly PLAB resizing" \ | 1510 "The gain in the feedback loop for on-the-fly PLAB resizing" \ |
1622 " during a scavenge") \ | 1511 " during a scavenge") \ |
1623 \ | 1512 \ |
1624 product(uintx, CMSOldPLABReactivityCeiling, 10, \ | |
1625 "The clamping of the gain in the feedback loop for on-the-fly" \ | |
1626 " PLAB resizing during a scavenge") \ | |
1627 \ | |
1628 product(bool, AlwaysPreTouch, false, \ | 1513 product(bool, AlwaysPreTouch, false, \ |
1629 "It forces all freshly committed pages to be pre-touched.") \ | 1514 "It forces all freshly committed pages to be pre-touched.") \ |
1630 \ | 1515 \ |
1631 product_pd(intx, CMSYoungGenPerWorker, \ | 1516 product_pd(intx, CMSYoungGenPerWorker, \ |
1632 "The maximum size of young gen chosen by default per GC worker " \ | 1517 "The maximum size of young gen chosen by default per GC worker " \ |
1633 "thread available") \ | 1518 "thread available") \ |
1634 \ | |
1635 product(bool, GCOverheadReporting, false, \ | |
1636 "Enables the GC overhead reporting facility") \ | |
1637 \ | |
1638 product(intx, GCOverheadReportingPeriodMS, 100, \ | |
1639 "Reporting period for conc GC overhead reporting, in ms ") \ | |
1640 \ | 1519 \ |
1641 product(bool, CMSIncrementalMode, false, \ | 1520 product(bool, CMSIncrementalMode, false, \ |
1642 "Whether CMS GC should operate in \"incremental\" mode") \ | 1521 "Whether CMS GC should operate in \"incremental\" mode") \ |
1643 \ | 1522 \ |
1644 product(uintx, CMSIncrementalDutyCycle, 10, \ | 1523 product(uintx, CMSIncrementalDutyCycle, 10, \ |
2015 "time out of hard spin") \ | 1894 "time out of hard spin") \ |
2016 \ | 1895 \ |
2017 experimental(uintx, WorkStealingSpinToYieldRatio, 10, \ | 1896 experimental(uintx, WorkStealingSpinToYieldRatio, 10, \ |
2018 "Ratio of hard spins to calls to yield") \ | 1897 "Ratio of hard spins to calls to yield") \ |
2019 \ | 1898 \ |
2020 product(uintx, PreserveMarkStackSize, 1024, \ | |
2021 "Size for stack used in promotion failure handling") \ | |
2022 \ | |
2023 develop(uintx, ObjArrayMarkingStride, 512, \ | 1899 develop(uintx, ObjArrayMarkingStride, 512, \ |
2024 "Number of ObjArray elements to push onto the marking stack" \ | 1900 "Number of ObjArray elements to push onto the marking stack" \ |
2025 "before pushing a continuation entry") \ | 1901 "before pushing a continuation entry") \ |
2026 \ | 1902 \ |
2027 notproduct(bool, ExecuteInternalVMTests, false, \ | 1903 notproduct(bool, ExecuteInternalVMTests, false, \ |
2042 "Print various TLAB related information") \ | 1918 "Print various TLAB related information") \ |
2043 \ | 1919 \ |
2044 product(bool, TLABStats, true, \ | 1920 product(bool, TLABStats, true, \ |
2045 "Print various TLAB related information") \ | 1921 "Print various TLAB related information") \ |
2046 \ | 1922 \ |
2047 product(bool, UseBlockZeroing, false, \ | |
2048 "Use special cpu instructions for block zeroing") \ | |
2049 \ | |
2050 product(intx, BlockZeroingLowLimit, 2048, \ | |
2051 "Minimum size in bytes when block zeroing will be used") \ | |
2052 \ | |
2053 product(bool, UseBlockCopy, false, \ | |
2054 "Use special cpu instructions for block copy") \ | |
2055 \ | |
2056 product(intx, BlockCopyLowLimit, 2048, \ | |
2057 "Minimum size in bytes when block copy will be used") \ | |
2058 \ | |
2059 product(bool, PrintRevisitStats, false, \ | 1923 product(bool, PrintRevisitStats, false, \ |
2060 "Print revisit (klass and MDO) stack related information") \ | 1924 "Print revisit (klass and MDO) stack related information") \ |
2061 \ | 1925 \ |
2062 EMBEDDED_ONLY(product(bool, LowMemoryProtection, true, \ | 1926 EMBEDDED_ONLY(product(bool, LowMemoryProtection, true, \ |
2063 "Enable LowMemoryProtection")) \ | 1927 "Enable LowMemoryProtection")) \ |
2246 "How far ahead to prefetch scan area (<= 0 means off)") \ | 2110 "How far ahead to prefetch scan area (<= 0 means off)") \ |
2247 \ | 2111 \ |
2248 product(intx, PrefetchFieldsAhead, -1, \ | 2112 product(intx, PrefetchFieldsAhead, -1, \ |
2249 "How many fields ahead to prefetch in oop scan (<= 0 means off)") \ | 2113 "How many fields ahead to prefetch in oop scan (<= 0 means off)") \ |
2250 \ | 2114 \ |
2251 develop(bool, UsePrefetchQueue, true, \ | |
2252 "Use the prefetch queue during PS promotion") \ | |
2253 \ | |
2254 diagnostic(bool, VerifyBeforeExit, trueInDebug, \ | 2115 diagnostic(bool, VerifyBeforeExit, trueInDebug, \ |
2255 "Verify system before exiting") \ | 2116 "Verify system before exiting") \ |
2256 \ | 2117 \ |
2257 diagnostic(bool, VerifyBeforeGC, false, \ | 2118 diagnostic(bool, VerifyBeforeGC, false, \ |
2258 "Verify memory system before GC") \ | 2119 "Verify memory system before GC") \ |
2484 "print the results of ciTypeFlow analysis") \ | 2345 "print the results of ciTypeFlow analysis") \ |
2485 \ | 2346 \ |
2486 develop(bool, CITraceTypeFlow, false, \ | 2347 develop(bool, CITraceTypeFlow, false, \ |
2487 "detailed per-bytecode tracing of ciTypeFlow analysis") \ | 2348 "detailed per-bytecode tracing of ciTypeFlow analysis") \ |
2488 \ | 2349 \ |
2489 develop(intx, CICloneLoopTestLimit, 100, \ | |
2490 "size limit for blocks heuristically cloned in ciTypeFlow") \ | |
2491 \ | |
2492 develop(intx, OSROnlyBCI, -1, \ | 2350 develop(intx, OSROnlyBCI, -1, \ |
2493 "OSR only at this bci. Negative values mean exclude that bci") \ | 2351 "OSR only at this bci. Negative values mean exclude that bci") \ |
2494 \ | |
2495 /* temp diagnostics */ \ | |
2496 \ | |
2497 diagnostic(bool, TraceRedundantCompiles, false, \ | |
2498 "Have compile broker print when a request already in the queue is"\ | |
2499 " requested again") \ | |
2500 \ | |
2501 diagnostic(bool, InitialCompileFast, false, \ | |
2502 "Initial compile at CompLevel_fast_compile") \ | |
2503 \ | |
2504 diagnostic(bool, InitialCompileReallyFast, false, \ | |
2505 "Initial compile at CompLevel_really_fast_compile (no profile)") \ | |
2506 \ | |
2507 diagnostic(bool, FullProfileOnReInterpret, true, \ | |
2508 "On re-interpret unc-trap compile next at CompLevel_fast_compile")\ | |
2509 \ | 2352 \ |
2510 /* compiler */ \ | 2353 /* compiler */ \ |
2511 \ | 2354 \ |
2512 product(intx, CICompilerCount, CI_COMPILER_COUNT, \ | 2355 product(intx, CICompilerCount, CI_COMPILER_COUNT, \ |
2513 "Number of compiler threads to run") \ | 2356 "Number of compiler threads to run") \ |
2518 develop(bool, UseStackBanging, true, \ | 2361 develop(bool, UseStackBanging, true, \ |
2519 "use stack banging for stack overflow checks (required for " \ | 2362 "use stack banging for stack overflow checks (required for " \ |
2520 "proper StackOverflow handling; disable only to measure cost " \ | 2363 "proper StackOverflow handling; disable only to measure cost " \ |
2521 "of stackbanging)") \ | 2364 "of stackbanging)") \ |
2522 \ | 2365 \ |
2523 develop(bool, Use24BitFPMode, true, \ | |
2524 "Set 24-bit FPU mode on a per-compile basis ") \ | |
2525 \ | |
2526 develop(bool, Use24BitFP, true, \ | |
2527 "use FP instructions that produce 24-bit precise results") \ | |
2528 \ | |
2529 develop(bool, UseStrictFP, true, \ | 2366 develop(bool, UseStrictFP, true, \ |
2530 "use strict fp if modifier strictfp is set") \ | 2367 "use strict fp if modifier strictfp is set") \ |
2531 \ | 2368 \ |
2532 develop(bool, GenerateSynchronizationCode, true, \ | 2369 develop(bool, GenerateSynchronizationCode, true, \ |
2533 "generate locking/unlocking code for synchronized methods and " \ | 2370 "generate locking/unlocking code for synchronized methods and " \ |
2555 \ | 2392 \ |
2556 product(bool, TraceSafepointCleanupTime, false, \ | 2393 product(bool, TraceSafepointCleanupTime, false, \ |
2557 "print the break down of clean up tasks performed during" \ | 2394 "print the break down of clean up tasks performed during" \ |
2558 " safepoint") \ | 2395 " safepoint") \ |
2559 \ | 2396 \ |
2560 develop(bool, InlineAccessors, true, \ | |
2561 "inline accessor methods (get/set)") \ | |
2562 \ | |
2563 product(bool, Inline, true, \ | 2397 product(bool, Inline, true, \ |
2564 "enable inlining") \ | 2398 "enable inlining") \ |
2565 \ | 2399 \ |
2566 product(bool, ClipInlining, true, \ | 2400 product(bool, ClipInlining, true, \ |
2567 "clip inlining if aggregate method exceeds DesiredMethodLimit") \ | 2401 "clip inlining if aggregate method exceeds DesiredMethodLimit") \ |
2570 "enable CHA") \ | 2404 "enable CHA") \ |
2571 \ | 2405 \ |
2572 product(bool, UseTypeProfile, true, \ | 2406 product(bool, UseTypeProfile, true, \ |
2573 "Check interpreter profile for historically monomorphic calls") \ | 2407 "Check interpreter profile for historically monomorphic calls") \ |
2574 \ | 2408 \ |
2575 product(intx, TypeProfileMajorReceiverPercent, 90, \ | |
2576 "% of major receiver type to all profiled receivers") \ | |
2577 \ | |
2578 notproduct(bool, TimeCompiler, false, \ | 2409 notproduct(bool, TimeCompiler, false, \ |
2579 "time the compiler") \ | 2410 "time the compiler") \ |
2580 \ | 2411 \ |
2581 notproduct(bool, TimeCompiler2, false, \ | |
2582 "detailed time the compiler (requires +TimeCompiler)") \ | |
2583 \ | |
2584 diagnostic(bool, PrintInlining, false, \ | 2412 diagnostic(bool, PrintInlining, false, \ |
2585 "prints inlining optimizations") \ | 2413 "prints inlining optimizations") \ |
2586 \ | 2414 \ |
2587 diagnostic(bool, PrintIntrinsics, false, \ | |
2588 "prints attempted and successful inlining of intrinsics") \ | |
2589 \ | |
2590 product(bool, UseCountLeadingZerosInstruction, false, \ | |
2591 "Use count leading zeros instruction") \ | |
2592 \ | |
2593 product(bool, UsePopCountInstruction, false, \ | 2415 product(bool, UsePopCountInstruction, false, \ |
2594 "Use population count instruction") \ | 2416 "Use population count instruction") \ |
2595 \ | 2417 \ |
2596 diagnostic(ccstrlist, DisableIntrinsic, "", \ | |
2597 "do not expand intrinsics whose (internal) names appear here") \ | |
2598 \ | |
2599 develop(bool, StressReflectiveCode, false, \ | |
2600 "Use inexact types at allocations, etc., to test reflection") \ | |
2601 \ | |
2602 develop(bool, EagerInitialization, false, \ | 2418 develop(bool, EagerInitialization, false, \ |
2603 "Eagerly initialize classes if possible") \ | 2419 "Eagerly initialize classes if possible") \ |
2604 \ | 2420 \ |
2605 develop(bool, TraceMethodReplacement, false, \ | 2421 develop(bool, TraceMethodReplacement, false, \ |
2606 "Print when methods are replaced do to recompilation") \ | 2422 "Print when methods are replaced do to recompilation") \ |
2607 \ | 2423 \ |
2608 develop(bool, PrintMethodFlushing, false, \ | 2424 develop(bool, PrintMethodFlushing, false, \ |
2609 "print the nmethods being flushed") \ | 2425 "print the nmethods being flushed") \ |
2610 \ | 2426 \ |
2611 notproduct(bool, LogMultipleMutexLocking, false, \ | |
2612 "log locking and unlocking of mutexes (only if multiple locks " \ | |
2613 "are held)") \ | |
2614 \ | |
2615 develop(bool, UseRelocIndex, false, \ | 2427 develop(bool, UseRelocIndex, false, \ |
2616 "use an index to speed random access to relocations") \ | 2428 "use an index to speed random access to relocations") \ |
2617 \ | 2429 \ |
2618 develop(bool, StressCodeBuffers, false, \ | 2430 develop(bool, StressCodeBuffers, false, \ |
2619 "Exercise code buffer expansion and other rare state changes") \ | 2431 "Exercise code buffer expansion and other rare state changes") \ |
2620 \ | 2432 \ |
2621 diagnostic(bool, DebugNonSafepoints, trueInDebug, \ | 2433 diagnostic(bool, DebugNonSafepoints, trueInDebug, \ |
2622 "Generate extra debugging info for non-safepoints in nmethods") \ | 2434 "Generate extra debugging info for non-safepoints in nmethods") \ |
2623 \ | |
2624 diagnostic(bool, DebugInlinedCalls, true, \ | |
2625 "If false, restricts profiled locations to the root method only") \ | |
2626 \ | 2435 \ |
2627 product(bool, PrintVMOptions, false, \ | 2436 product(bool, PrintVMOptions, false, \ |
2628 "Print flags that appeared on the command line") \ | 2437 "Print flags that appeared on the command line") \ |
2629 \ | 2438 \ |
2630 product(bool, IgnoreUnrecognizedVMOptions, false, \ | 2439 product(bool, IgnoreUnrecognizedVMOptions, false, \ |
2698 "trace creation of zombie nmethods") \ | 2507 "trace creation of zombie nmethods") \ |
2699 \ | 2508 \ |
2700 notproduct(bool, IgnoreLockingAssertions, false, \ | 2509 notproduct(bool, IgnoreLockingAssertions, false, \ |
2701 "disable locking assertions (for speed)") \ | 2510 "disable locking assertions (for speed)") \ |
2702 \ | 2511 \ |
2703 notproduct(bool, VerifyLoopOptimizations, false, \ | |
2704 "verify major loop optimizations") \ | |
2705 \ | |
2706 product(bool, RangeCheckElimination, true, \ | 2512 product(bool, RangeCheckElimination, true, \ |
2707 "Split loop iterations to eliminate range checks") \ | 2513 "Split loop iterations to eliminate range checks") \ |
2708 \ | 2514 \ |
2709 develop_pd(bool, UncommonNullCast, \ | 2515 develop_pd(bool, UncommonNullCast, \ |
2710 "track occurrences of null in casts; adjust compiler tactics") \ | 2516 "track occurrences of null in casts; adjust compiler tactics") \ |
2711 \ | 2517 \ |
2712 develop(bool, TypeProfileCasts, true, \ | 2518 develop(bool, TypeProfileCasts, true, \ |
2713 "treat casts like calls for purposes of type profiling") \ | 2519 "treat casts like calls for purposes of type profiling") \ |
2714 \ | |
2715 develop(bool, MonomorphicArrayCheck, true, \ | |
2716 "Uncommon-trap array store checks that require full type check") \ | |
2717 \ | |
2718 diagnostic(bool, ProfileDynamicTypes, true, \ | |
2719 "do extra type profiling and use it more aggressively") \ | |
2720 \ | 2520 \ |
2721 develop(bool, DelayCompilationDuringStartup, true, \ | 2521 develop(bool, DelayCompilationDuringStartup, true, \ |
2722 "Delay invoking the compiler until main application class is " \ | 2522 "Delay invoking the compiler until main application class is " \ |
2723 "loaded") \ | 2523 "loaded") \ |
2724 \ | 2524 \ |
2730 "Preload all classes used by a class before start loading") \ | 2530 "Preload all classes used by a class before start loading") \ |
2731 \ | 2531 \ |
2732 notproduct(intx, CompileTheWorldSafepointInterval, 100, \ | 2532 notproduct(intx, CompileTheWorldSafepointInterval, 100, \ |
2733 "Force a safepoint every n compiles so sweeper can keep up") \ | 2533 "Force a safepoint every n compiles so sweeper can keep up") \ |
2734 \ | 2534 \ |
2735 develop(bool, TraceIterativeGVN, false, \ | |
2736 "Print progress during Iterative Global Value Numbering") \ | |
2737 \ | |
2738 develop(bool, FillDelaySlots, true, \ | 2535 develop(bool, FillDelaySlots, true, \ |
2739 "Fill delay slots (on SPARC only)") \ | 2536 "Fill delay slots (on SPARC only)") \ |
2740 \ | 2537 \ |
2741 develop(bool, VerifyIterativeGVN, false, \ | |
2742 "Verify Def-Use modifications during sparse Iterative Global " \ | |
2743 "Value Numbering") \ | |
2744 \ | |
2745 notproduct(bool, TracePhaseCCP, false, \ | |
2746 "Print progress during Conditional Constant Propagation") \ | |
2747 \ | |
2748 develop(bool, TimeLivenessAnalysis, false, \ | 2538 develop(bool, TimeLivenessAnalysis, false, \ |
2749 "Time computation of bytecode liveness analysis") \ | 2539 "Time computation of bytecode liveness analysis") \ |
2750 \ | 2540 \ |
2751 develop(bool, TraceLivenessGen, false, \ | 2541 develop(bool, TraceLivenessGen, false, \ |
2752 "Trace the generation of liveness analysis information") \ | 2542 "Trace the generation of liveness analysis information") \ |
2755 "Trace queries of liveness analysis information") \ | 2545 "Trace queries of liveness analysis information") \ |
2756 \ | 2546 \ |
2757 notproduct(bool, CollectIndexSetStatistics, false, \ | 2547 notproduct(bool, CollectIndexSetStatistics, false, \ |
2758 "Collect information about IndexSets") \ | 2548 "Collect information about IndexSets") \ |
2759 \ | 2549 \ |
2760 develop(bool, PrintDominators, false, \ | |
2761 "Print out dominator trees for GVN") \ | |
2762 \ | |
2763 develop(bool, UseLoopSafepoints, true, \ | 2550 develop(bool, UseLoopSafepoints, true, \ |
2764 "Generate Safepoint nodes in every loop") \ | 2551 "Generate Safepoint nodes in every loop") \ |
2765 \ | |
2766 notproduct(bool, TraceCISCSpill, false, \ | |
2767 "Trace allocators use of cisc spillable instructions") \ | |
2768 \ | |
2769 notproduct(bool, TraceSpilling, false, \ | |
2770 "Trace spilling") \ | |
2771 \ | |
2772 product(bool, SplitIfBlocks, true, \ | |
2773 "Clone compares and control flow through merge points to fold " \ | |
2774 "some branches") \ | |
2775 \ | 2552 \ |
2776 develop(intx, FastAllocateSizeLimit, 128*K, \ | 2553 develop(intx, FastAllocateSizeLimit, 128*K, \ |
2777 /* Note: This value is zero mod 1<<13 for a cheap sparc set. */ \ | 2554 /* Note: This value is zero mod 1<<13 for a cheap sparc set. */ \ |
2778 "Inline allocations larger than this in doublewords must go slow")\ | 2555 "Inline allocations larger than this in doublewords must go slow")\ |
2779 \ | 2556 \ |
2827 "Use interpreter for non-compiled methods") \ | 2604 "Use interpreter for non-compiled methods") \ |
2828 \ | 2605 \ |
2829 develop(bool, UseFastSignatureHandlers, true, \ | 2606 develop(bool, UseFastSignatureHandlers, true, \ |
2830 "Use fast signature handlers for native calls") \ | 2607 "Use fast signature handlers for native calls") \ |
2831 \ | 2608 \ |
2832 develop(bool, UseV8InstrsOnly, false, \ | |
2833 "Use SPARC-V8 Compliant instruction subset") \ | |
2834 \ | |
2835 product(bool, UseNiagaraInstrs, false, \ | |
2836 "Use Niagara-efficient instruction subset") \ | |
2837 \ | |
2838 develop(bool, UseCASForSwap, false, \ | |
2839 "Do not use swap instructions, but only CAS (in a loop) on SPARC")\ | |
2840 \ | |
2841 product(bool, UseLoopCounter, true, \ | 2609 product(bool, UseLoopCounter, true, \ |
2842 "Increment invocation counter on backward branch") \ | 2610 "Increment invocation counter on backward branch") \ |
2843 \ | 2611 \ |
2844 product(bool, UseFastEmptyMethods, true, \ | 2612 product(bool, UseFastEmptyMethods, true, \ |
2845 "Use fast method entry code for empty methods") \ | 2613 "Use fast method entry code for empty methods") \ |
2852 "overflows in loop") \ | 2620 "overflows in loop") \ |
2853 \ | 2621 \ |
2854 notproduct(bool, TraceOnStackReplacement, false, \ | 2622 notproduct(bool, TraceOnStackReplacement, false, \ |
2855 "Trace on stack replacement") \ | 2623 "Trace on stack replacement") \ |
2856 \ | 2624 \ |
2857 develop(bool, PoisonOSREntry, true, \ | |
2858 "Detect abnormal calls to OSR code") \ | |
2859 \ | |
2860 product_pd(bool, PreferInterpreterNativeStubs, \ | 2625 product_pd(bool, PreferInterpreterNativeStubs, \ |
2861 "Use always interpreter stubs for native methods invoked via " \ | 2626 "Use always interpreter stubs for native methods invoked via " \ |
2862 "interpreter") \ | 2627 "interpreter") \ |
2863 \ | 2628 \ |
2864 develop(bool, CountBytecodes, false, \ | 2629 develop(bool, CountBytecodes, false, \ |
2896 "Verify that activation frame didn't become smaller than its " \ | 2661 "Verify that activation frame didn't become smaller than its " \ |
2897 "minimal size") \ | 2662 "minimal size") \ |
2898 \ | 2663 \ |
2899 develop(bool, TraceFrequencyInlining, false, \ | 2664 develop(bool, TraceFrequencyInlining, false, \ |
2900 "Trace frequency based inlining") \ | 2665 "Trace frequency based inlining") \ |
2901 \ | |
2902 notproduct(bool, TraceTypeProfile, false, \ | |
2903 "Trace type profile") \ | |
2904 \ | 2666 \ |
2905 develop_pd(bool, InlineIntrinsics, \ | 2667 develop_pd(bool, InlineIntrinsics, \ |
2906 "Inline intrinsics that can be statically resolved") \ | 2668 "Inline intrinsics that can be statically resolved") \ |
2907 \ | 2669 \ |
2908 product_pd(bool, ProfileInterpreter, \ | 2670 product_pd(bool, ProfileInterpreter, \ |
2987 "Step size in bytes of sequential prefetch instructions") \ | 2749 "Step size in bytes of sequential prefetch instructions") \ |
2988 \ | 2750 \ |
2989 product(intx, AllocatePrefetchInstr, 0, \ | 2751 product(intx, AllocatePrefetchInstr, 0, \ |
2990 "Prefetch instruction to prefetch ahead of allocation pointer") \ | 2752 "Prefetch instruction to prefetch ahead of allocation pointer") \ |
2991 \ | 2753 \ |
2992 product(intx, ReadPrefetchInstr, 0, \ | |
2993 "Prefetch instruction to prefetch ahead") \ | |
2994 \ | |
2995 product(uintx, ArraycopySrcPrefetchDistance, 0, \ | |
2996 "Distance to prefetch source array in arracopy") \ | |
2997 \ | |
2998 product(uintx, ArraycopyDstPrefetchDistance, 0, \ | |
2999 "Distance to prefetch destination array in arracopy") \ | |
3000 \ | |
3001 /* deoptimization */ \ | 2754 /* deoptimization */ \ |
3002 develop(bool, TraceDeoptimization, false, \ | 2755 develop(bool, TraceDeoptimization, false, \ |
3003 "Trace deoptimization") \ | 2756 "Trace deoptimization") \ |
3004 \ | 2757 \ |
3005 develop(bool, DebugDeoptimization, false, \ | 2758 develop(bool, DebugDeoptimization, false, \ |
3086 "maximum bytecode size of a trivial method to be inlined") \ | 2839 "maximum bytecode size of a trivial method to be inlined") \ |
3087 \ | 2840 \ |
3088 product(intx, MinInliningThreshold, 250, \ | 2841 product(intx, MinInliningThreshold, 250, \ |
3089 "min. invocation count a method needs to have to be inlined") \ | 2842 "min. invocation count a method needs to have to be inlined") \ |
3090 \ | 2843 \ |
3091 develop(intx, AlignEntryCode, 4, \ | |
3092 "aligns entry code to specified value (in bytes)") \ | |
3093 \ | |
3094 develop(intx, MethodHistogramCutoff, 100, \ | 2844 develop(intx, MethodHistogramCutoff, 100, \ |
3095 "cutoff value for method invoc. histogram (+CountCalls)") \ | 2845 "cutoff value for method invoc. histogram (+CountCalls)") \ |
3096 \ | 2846 \ |
3097 develop(intx, ProfilerNumberOfInterpretedMethods, 25, \ | 2847 develop(intx, ProfilerNumberOfInterpretedMethods, 25, \ |
3098 "# of interpreted methods to show in profile") \ | 2848 "# of interpreted methods to show in profile") \ |
3128 \ | 2878 \ |
3129 develop(intx, MinSleepInterval, 1, \ | 2879 develop(intx, MinSleepInterval, 1, \ |
3130 "Minimum sleep() interval (milliseconds) when " \ | 2880 "Minimum sleep() interval (milliseconds) when " \ |
3131 "ConvertSleepToYield is off (used for SOLARIS)") \ | 2881 "ConvertSleepToYield is off (used for SOLARIS)") \ |
3132 \ | 2882 \ |
3133 product(intx, EventLogLength, 2000, \ | |
3134 "maximum nof events in event log") \ | |
3135 \ | |
3136 develop(intx, ProfilerPCTickThreshold, 15, \ | 2883 develop(intx, ProfilerPCTickThreshold, 15, \ |
3137 "Number of ticks in a PC buckets to be a hotspot") \ | 2884 "Number of ticks in a PC buckets to be a hotspot") \ |
3138 \ | 2885 \ |
3139 notproduct(intx, DeoptimizeALotInterval, 5, \ | 2886 notproduct(intx, DeoptimizeALotInterval, 5, \ |
3140 "Number of exits until DeoptimizeALot kicks in") \ | 2887 "Number of exits until DeoptimizeALot kicks in") \ |
3169 "Limit on traps (of one kind) in a method (includes inlines)") \ | 2916 "Limit on traps (of one kind) in a method (includes inlines)") \ |
3170 \ | 2917 \ |
3171 product(intx, PerBytecodeTrapLimit, 4, \ | 2918 product(intx, PerBytecodeTrapLimit, 4, \ |
3172 "Limit on traps (of one kind) at a particular BCI") \ | 2919 "Limit on traps (of one kind) at a particular BCI") \ |
3173 \ | 2920 \ |
3174 develop(intx, FreqCountInvocations, 1, \ | |
3175 "Scaling factor for branch frequencies (deprecated)") \ | |
3176 \ | |
3177 develop(intx, InlineFrequencyRatio, 20, \ | 2921 develop(intx, InlineFrequencyRatio, 20, \ |
3178 "Ratio of call site execution to caller method invocation") \ | 2922 "Ratio of call site execution to caller method invocation") \ |
3179 \ | 2923 \ |
3180 develop_pd(intx, InlineFrequencyCount, \ | 2924 develop_pd(intx, InlineFrequencyCount, \ |
3181 "Count of call site execution necessary to trigger frequent " \ | 2925 "Count of call site execution necessary to trigger frequent " \ |
3185 "Force inlining of interpreted methods that throw this often") \ | 2929 "Force inlining of interpreted methods that throw this often") \ |
3186 \ | 2930 \ |
3187 develop(intx, InlineThrowMaxSize, 200, \ | 2931 develop(intx, InlineThrowMaxSize, 200, \ |
3188 "Force inlining of throwing methods smaller than this") \ | 2932 "Force inlining of throwing methods smaller than this") \ |
3189 \ | 2933 \ |
3190 product(intx, AliasLevel, 3, \ | |
3191 "0 for no aliasing, 1 for oop/field/static/array split, " \ | |
3192 "2 for class split, 3 for unique instances") \ | |
3193 \ | |
3194 develop(bool, VerifyAliases, false, \ | |
3195 "perform extra checks on the results of alias analysis") \ | |
3196 \ | |
3197 develop(intx, ProfilerNodeSize, 1024, \ | 2934 develop(intx, ProfilerNodeSize, 1024, \ |
3198 "Size in K to allocate for the Profile Nodes of each thread") \ | 2935 "Size in K to allocate for the Profile Nodes of each thread") \ |
3199 \ | 2936 \ |
3200 develop(intx, V8AtomicOperationUnderLockSpinCount, 50, \ | |
3201 "Number of times to spin wait on a v8 atomic operation lock") \ | |
3202 \ | |
3203 product(intx, ReadSpinIterations, 100, \ | |
3204 "Number of read attempts before a yield (spin inner loop)") \ | |
3205 \ | |
3206 product_pd(intx, PreInflateSpin, \ | 2937 product_pd(intx, PreInflateSpin, \ |
3207 "Number of times to spin wait before inflation") \ | 2938 "Number of times to spin wait before inflation") \ |
3208 \ | |
3209 product(intx, PreBlockSpin, 10, \ | |
3210 "Number of times to spin in an inflated lock before going to " \ | |
3211 "an OS lock") \ | |
3212 \ | 2939 \ |
3213 /* gc parameters */ \ | 2940 /* gc parameters */ \ |
3214 product(uintx, InitialHeapSize, 0, \ | 2941 product(uintx, InitialHeapSize, 0, \ |
3215 "Initial heap size (in bytes); zero means OldSize + NewSize") \ | 2942 "Initial heap size (in bytes); zero means OldSize + NewSize") \ |
3216 \ | 2943 \ |
3463 \ | 3190 \ |
3464 develop(intx, CIFireOOMAt, -1, \ | 3191 develop(intx, CIFireOOMAt, -1, \ |
3465 "Fire OutOfMemoryErrors throughout CI for testing the compiler " \ | 3192 "Fire OutOfMemoryErrors throughout CI for testing the compiler " \ |
3466 "(non-negative value throws OOM after this many CI accesses " \ | 3193 "(non-negative value throws OOM after this many CI accesses " \ |
3467 "in each compile)") \ | 3194 "in each compile)") \ |
3468 \ | |
3469 develop(intx, CIFireOOMAtDelay, -1, \ | |
3470 "Wait for this many CI accesses to occur in all compiles before " \ | |
3471 "beginning to throw OutOfMemoryErrors in each compile") \ | |
3472 \ | 3195 \ |
3473 notproduct(bool, CIObjectFactoryVerify, false, \ | 3196 notproduct(bool, CIObjectFactoryVerify, false, \ |
3474 "enable potentially expensive verification in ciObjectFactory") \ | 3197 "enable potentially expensive verification in ciObjectFactory") \ |
3475 \ | 3198 \ |
3476 /* Priorities */ \ | 3199 /* Priorities */ \ |
3661 "Enable tiered compilation") \ | 3384 "Enable tiered compilation") \ |
3662 \ | 3385 \ |
3663 product(bool, PrintTieredEvents, false, \ | 3386 product(bool, PrintTieredEvents, false, \ |
3664 "Print tiered events notifications") \ | 3387 "Print tiered events notifications") \ |
3665 \ | 3388 \ |
3666 product(bool, StressTieredRuntime, false, \ | |
3667 "Alternate client and server compiler on compile requests") \ | |
3668 \ | |
3669 product_pd(intx, OnStackReplacePercentage, \ | 3389 product_pd(intx, OnStackReplacePercentage, \ |
3670 "NON_TIERED number of method invocations/branches (expressed as %"\ | 3390 "NON_TIERED number of method invocations/branches (expressed as %"\ |
3671 "of CompileThreshold) before (re-)compiling OSR code") \ | 3391 "of CompileThreshold) before (re-)compiling OSR code") \ |
3672 \ | 3392 \ |
3673 product(intx, InterpreterProfilePercentage, 33, \ | 3393 product(intx, InterpreterProfilePercentage, 33, \ |
3832 "objects. ") \ | 3552 "objects. ") \ |
3833 \ | 3553 \ |
3834 diagnostic(bool, EnableInvokeDynamic, true, \ | 3554 diagnostic(bool, EnableInvokeDynamic, true, \ |
3835 "support JSR 292 (method handles, invokedynamic, " \ | 3555 "support JSR 292 (method handles, invokedynamic, " \ |
3836 "anonymous classes") \ | 3556 "anonymous classes") \ |
3837 \ | |
3838 product(bool, AnonymousClasses, false, \ | |
3839 "support sun.misc.Unsafe.defineAnonymousClass (deprecated)") \ | |
3840 \ | 3557 \ |
3841 diagnostic(bool, PrintMethodHandleStubs, false, \ | 3558 diagnostic(bool, PrintMethodHandleStubs, false, \ |
3842 "Print generated stub code for method handles") \ | 3559 "Print generated stub code for method handles") \ |
3843 \ | 3560 \ |
3844 develop(bool, TraceMethodHandles, false, \ | 3561 develop(bool, TraceMethodHandles, false, \ |
3950 | 3667 |
3951 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) | 3668 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) |
3952 | 3669 |
3953 RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG) | 3670 RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG) |
3954 | 3671 |
3672 ARCH_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG) | |
3673 | |
3955 // Extensions | 3674 // Extensions |
3956 | 3675 |
3957 #include "runtime/globals_ext.hpp" | 3676 #include "runtime/globals_ext.hpp" |
3958 | 3677 |
3959 #endif // SHARE_VM_RUNTIME_GLOBALS_HPP | 3678 #endif // SHARE_VM_RUNTIME_GLOBALS_HPP |