< prev index next >

src/hotspot/share/runtime/globals.hpp

Print this page

 748           range(min_intx, max_intx)                                         \
 749                                                                             \
 750   product(bool, EagerXrunInit, false,                                       \
 751           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
 752           "but not all -Xrun libraries may support the state of the VM "    \
 753           "at this time")                                                   \
 754                                                                             \
 755   product(bool, PreserveAllAnnotations, false,                              \
 756           "Preserve RuntimeInvisibleAnnotations as well "                   \
 757           "as RuntimeVisibleAnnotations")                                   \
 758                                                                             \
 759   develop(uintx, PreallocatedOutOfMemoryErrorCount, 4,                      \
 760           "Number of OutOfMemoryErrors preallocated with backtrace")        \
 761                                                                             \
 762   product(bool, UseXMMForArrayCopy, false,                                  \
 763           "Use SSE2 MOVQ instruction for Arraycopy")                        \
 764                                                                             \
 765   notproduct(bool, PrintFieldLayout, false,                                 \
 766           "Print field layout for each class")                              \
 767                                                                             \


















 768   /* Need to limit the extent of the padding to reasonable size.          */\
 769   /* 8K is well beyond the reasonable HW cache line size, even with       */\
 770   /* aggressive prefetching, while still leaving the room for segregating */\
 771   /* among the distinct pages.                                            */\
 772   product(intx, ContendedPaddingWidth, 128,                                 \
 773           "How many bytes to pad the fields/classes marked @Contended with")\
 774           range(0, 8192)                                                    \
 775           constraint(ContendedPaddingWidthConstraintFunc,AfterErgo)         \
 776                                                                             \
 777   product(bool, EnableContended, true,                                      \
 778           "Enable @Contended annotation support")                           \
 779                                                                             \
 780   product(bool, RestrictContended, true,                                    \
 781           "Restrict @Contended to trusted classes")                         \
 782                                                                             \
 783   product(bool, UseBiasedLocking, false,                                    \
 784           "(Deprecated) Enable biased locking in JVM")                      \
 785                                                                             \
 786   product(intx, BiasedLockingStartupDelay, 0,                               \
 787           "(Deprecated) Number of milliseconds to wait before enabling "    \
 788           "biased locking")                                                 \
 789           range(0, (intx)(max_jint-(max_jint%PeriodicTask::interval_gran))) \
 790           constraint(BiasedLockingStartupDelayFunc,AfterErgo)               \
 791                                                                             \
 792   diagnostic(bool, PrintBiasedLockingStatistics, false,                     \
 793           "(Deprecated) Print statistics of biased locking in JVM")         \
 794                                                                             \
 795   product(intx, BiasedLockingBulkRebiasThreshold, 20,                       \
 796           "(Deprecated) Threshold of number of revocations per type to "    \
 797           "try to rebias all objects in the heap of that type")             \
 798           range(0, max_intx)                                                \
 799           constraint(BiasedLockingBulkRebiasThresholdFunc,AfterErgo)        \
 800                                                                             \
 801   product(intx, BiasedLockingBulkRevokeThreshold, 40,                       \
 802           "(Deprecated) Threshold of number of revocations per type to "    \
 803           "permanently revoke biases of all objects in the heap of that "   \

2438           "On internal errors, include registers in error report.")         \
2439                                                                             \
2440   diagnostic(bool, UseSwitchProfiling, true,                                \
2441           "leverage profiling for table/lookup switch")                     \
2442                                                                             \
2443   develop(bool, TraceMemoryWriteback, false,                                \
2444           "Trace memory writeback operations")                              \
2445                                                                             \
2446   JFR_ONLY(product(bool, FlightRecorder, false,                             \
2447           "(Deprecated) Enable Flight Recorder"))                           \
2448                                                                             \
2449   JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL,                      \
2450           "Flight Recorder options"))                                       \
2451                                                                             \
2452   JFR_ONLY(product(ccstr, StartFlightRecording, NULL,                       \
2453           "Start flight recording with options"))                           \
2454                                                                             \
2455   experimental(bool, UseFastUnorderedTimeStamps, false,                     \
2456           "Use platform unstable time where supported for timestamps only") \
2457                                                                             \




















2458   product(bool, UseNewFieldLayout, true,                                    \
2459                "(Deprecated) Use new algorithm to compute field layouts")   \
2460                                                                             \
2461   product(bool, UseEmptySlotsInSupers, true,                                \
2462                 "Allow allocating fields in empty slots of super-classes")  \
2463                                                                             \
2464   diagnostic(bool, DeoptimizeNMethodBarriersALot, false,                    \
2465                 "Make nmethod barriers deoptimise a lot.")                  \
2466 

2467 // Interface macros
2468 #define DECLARE_PRODUCT_FLAG(type, name, value, doc)      extern "C" type name;
2469 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc)          extern "C" type name;
2470 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc)   extern "C" type name;
2471 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc)       extern "C" type name;
2472 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
2473 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc)   extern "C" type name;
2474 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc)   extern "C" type name;
2475 #ifdef PRODUCT
2476 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc)    const type name = value;
2477 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc)        const type name = pd_##name;
2478 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)   const type name = value;
2479 #else
2480 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc)    extern "C" type name;
2481 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc)        extern "C" type name;
2482 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)   extern "C" type name;
2483 #endif // PRODUCT
2484 // Special LP64 flags, product only needed for now.
2485 #ifdef _LP64
2486 #define DECLARE_LP64_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;

 748           range(min_intx, max_intx)                                         \
 749                                                                             \
 750   product(bool, EagerXrunInit, false,                                       \
 751           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
 752           "but not all -Xrun libraries may support the state of the VM "    \
 753           "at this time")                                                   \
 754                                                                             \
 755   product(bool, PreserveAllAnnotations, false,                              \
 756           "Preserve RuntimeInvisibleAnnotations as well "                   \
 757           "as RuntimeVisibleAnnotations")                                   \
 758                                                                             \
 759   develop(uintx, PreallocatedOutOfMemoryErrorCount, 4,                      \
 760           "Number of OutOfMemoryErrors preallocated with backtrace")        \
 761                                                                             \
 762   product(bool, UseXMMForArrayCopy, false,                                  \
 763           "Use SSE2 MOVQ instruction for Arraycopy")                        \
 764                                                                             \
 765   notproduct(bool, PrintFieldLayout, false,                                 \
 766           "Print field layout for each class")                              \
 767                                                                             \
 768   notproduct(bool, PrintInlineLayout, false,                                \
 769           "Print field layout for each inline type")                        \
 770                                                                             \
 771   notproduct(bool, PrintFlatArrayLayout, false,                             \
 772           "Print array layout for each inline type array")                  \
 773                                                                             \
 774   product(intx, FlatArrayElementMaxSize, -1,                                \
 775           "Max size for flattening inline array elements, <0 no limit")     \
 776                                                                             \
 777   product(intx, InlineFieldMaxFlatSize, 128,                                \
 778           "Max size for flattening inline type fields, <0 no limit")        \
 779                                                                             \
 780   product(intx, FlatArrayElementMaxOops, 4,                                 \
 781           "Max nof embedded object references in an inline type to flatten, <0 no limit")  \
 782                                                                             \
 783   product(bool, InlineArrayAtomicAccess, false,                             \
 784           "Atomic inline array accesses by-default, for all inline arrays") \
 785                                                                             \
 786   /* Need to limit the extent of the padding to reasonable size.          */\
 787   /* 8K is well beyond the reasonable HW cache line size, even with       */\
 788   /* aggressive prefetching, while still leaving the room for segregating */\
 789   /* among the distinct pages.                                            */\
 790   product(intx, ContendedPaddingWidth, 128,                                 \
 791           "How many bytes to pad the fields/classes marked @Contended with")\
 792           range(0, 8192)                                                    \
 793           constraint(ContendedPaddingWidthConstraintFunc,AfterErgo)         \
 794                                                                             \
 795   product(bool, EnableContended, true,                                      \
 796           "Enable @Contended annotation support")                           \
 797                                                                             \
 798   product(bool, RestrictContended, true,                                    \
 799           "Restrict @Contended to trusted classes")                         \
 800                                                                             \
 801   product(bool, UseBiasedLocking, true,                                     \
 802           "(Deprecated) Enable biased locking in JVM")                      \
 803                                                                             \
 804   product(intx, BiasedLockingStartupDelay, 0,                               \
 805           "(Deprecated) Number of milliseconds to wait before enabling "    \
 806           "biased locking")                                                 \
 807           range(0, (intx)(max_jint-(max_jint%PeriodicTask::interval_gran))) \
 808           constraint(BiasedLockingStartupDelayFunc,AfterErgo)               \
 809                                                                             \
 810   diagnostic(bool, PrintBiasedLockingStatistics, false,                     \
 811           "(Deprecated) Print statistics of biased locking in JVM")         \
 812                                                                             \
 813   product(intx, BiasedLockingBulkRebiasThreshold, 20,                       \
 814           "(Deprecated) Threshold of number of revocations per type to "    \
 815           "try to rebias all objects in the heap of that type")             \
 816           range(0, max_intx)                                                \
 817           constraint(BiasedLockingBulkRebiasThresholdFunc,AfterErgo)        \
 818                                                                             \
 819   product(intx, BiasedLockingBulkRevokeThreshold, 40,                       \
 820           "(Deprecated) Threshold of number of revocations per type to "    \
 821           "permanently revoke biases of all objects in the heap of that "   \

2456           "On internal errors, include registers in error report.")         \
2457                                                                             \
2458   diagnostic(bool, UseSwitchProfiling, true,                                \
2459           "leverage profiling for table/lookup switch")                     \
2460                                                                             \
2461   develop(bool, TraceMemoryWriteback, false,                                \
2462           "Trace memory writeback operations")                              \
2463                                                                             \
2464   JFR_ONLY(product(bool, FlightRecorder, false,                             \
2465           "(Deprecated) Enable Flight Recorder"))                           \
2466                                                                             \
2467   JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL,                      \
2468           "Flight Recorder options"))                                       \
2469                                                                             \
2470   JFR_ONLY(product(ccstr, StartFlightRecording, NULL,                       \
2471           "Start flight recording with options"))                           \
2472                                                                             \
2473   experimental(bool, UseFastUnorderedTimeStamps, false,                     \
2474           "Use platform unstable time where supported for timestamps only") \
2475                                                                             \
2476   product(bool, EnableValhalla, true,                                       \
2477           "Enable experimental Valhalla features")                          \
2478                                                                             \
2479   product_pd(bool, InlineTypePassFieldsAsArgs,                              \
2480           "Pass each inline type field as an argument at calls")            \
2481                                                                             \
2482   product_pd(bool, InlineTypeReturnedAsFields,                              \
2483           "Return fields instead of an inline type reference")              \
2484                                                                             \
2485   develop(bool, StressInlineTypeReturnedAsFields, false,                    \
2486           "Stress return of fields instead of an inline type reference")    \
2487                                                                             \
2488   develop(bool, ScalarizeInlineTypes, true,                                 \
2489           "Scalarize inline types in compiled code")                        \
2490                                                                             \
2491   diagnostic(ccstrlist, ForceNonTearable, "",                               \
2492           "List of inline classes which are forced to be atomic "           \
2493           "(whitespace and commas separate names, "                         \
2494           "and leading and trailing stars '*' are wildcards)")              \
2495                                                                             \
2496   product(bool, UseNewFieldLayout, true,                                    \
2497                 "(Deprecated) Use new algorithm to compute field layouts")  \
2498                                                                             \
2499   product(bool, UseEmptySlotsInSupers, true,                                \
2500                 "Allow allocating fields in empty slots of super-classes")  \
2501                                                                             \
2502   diagnostic(bool, DeoptimizeNMethodBarriersALot, false,                    \
2503                 "Make nmethod barriers deoptimise a lot.")                  \
2504 
2505 
2506 // Interface macros
2507 #define DECLARE_PRODUCT_FLAG(type, name, value, doc)      extern "C" type name;
2508 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc)          extern "C" type name;
2509 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc)   extern "C" type name;
2510 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc)       extern "C" type name;
2511 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
2512 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc)   extern "C" type name;
2513 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc)   extern "C" type name;
2514 #ifdef PRODUCT
2515 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc)    const type name = value;
2516 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc)        const type name = pd_##name;
2517 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)   const type name = value;
2518 #else
2519 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc)    extern "C" type name;
2520 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc)        extern "C" type name;
2521 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)   extern "C" type name;
2522 #endif // PRODUCT
2523 // Special LP64 flags, product only needed for now.
2524 #ifdef _LP64
2525 #define DECLARE_LP64_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
< prev index next >