2294 \
2295 develop(bool, TraceParallelOldGCMarkingPhase, false, \
2296 "Trace parallel old gc marking phase") \
2297 \
2298 develop(bool, TraceParallelOldGCSummaryPhase, false, \
2299 "Trace parallel old gc summary phase") \
2300 \
2301 develop(bool, TraceParallelOldGCCompactionPhase, false, \
2302 "Trace parallel old gc compaction phase") \
2303 \
2304 develop(bool, TraceParallelOldGCDensePrefix, false, \
2305 "Trace parallel old gc dense prefix computation") \
2306 \
2307 develop(bool, IgnoreLibthreadGPFault, false, \
2308 "Suppress workaround for libthread GP fault") \
2309 \
2310 product(bool, PrintJNIGCStalls, false, \
2311 "Print diagnostic message when GC is stalled" \
2312 "by JNI critical section") \
2313 \
2314 /* GC log rotation setting */ \
2315 \
2316 product(bool, UseGCLogFileRotation, false, \
2317 "Prevent large gclog file for long running app. " \
2318 "Requires -Xloggc:<filename>") \
2319 \
2320 product(uintx, NumberOfGCLogFiles, 0, \
2321 "Number of gclog files in rotation, " \
2322 "Default: 0, no rotation") \
2323 \
2324 product(uintx, GCLogFileSize, 0, \
2325 "GC log file size, Default: 0 bytes, no rotation " \
2326 "Only valid with UseGCLogFileRotation") \
2327 \
2328 /* JVMTI heap profiling */ \
2329 \
2330 diagnostic(bool, TraceJVMTIObjectTagging, false, \
2331 "Trace JVMTI object tagging calls") \
2332 \
2333 diagnostic(bool, VerifyBeforeIteration, false, \
3671 product(bool, UseVMInterruptibleIO, false, \
3672 "(Unstable, Solaris-specific) Thread interrupt before or with " \
3673 "EINTR for I/O operations results in OS_INTRPT. The default value"\
3674 " of this flag is true for JDK 6 and earlier") \
3675 \
3676 diagnostic(bool, WhiteBoxAPI, false, \
3677 "Enable internal testing APIs") \
3678 \
3679 product(bool, PrintGCCause, true, \
3680 "Include GC cause in GC logging") \
3681 \
3682 product(bool , AllowNonVirtualCalls, false, \
3683 "Obey the ACC_SUPER flag and allow invokenonvirtual calls") \
3684 \
3685 diagnostic(ccstr, SharedArchiveFile, NULL, \
3686 "Override the default location of the CDS archive file") \
3687 \
3688 experimental(uintx, ArrayAllocatorMallocLimit, \
3689 SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx), \
3690 "Allocation less than this value will be allocated " \
3691 "using malloc. Larger allocations will use mmap.")
3692
3693 /*
3694 * Macros for factoring of globals
3695 */
3696
3697 // Interface macros
3698 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
3699 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
3700 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
3701 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
3702 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
3703 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
3704 #ifdef PRODUCT
3705 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value;
3706 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name;
3707 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)
3708 #else
3709 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
3710 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
3711 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|
2294 \
2295 develop(bool, TraceParallelOldGCMarkingPhase, false, \
2296 "Trace parallel old gc marking phase") \
2297 \
2298 develop(bool, TraceParallelOldGCSummaryPhase, false, \
2299 "Trace parallel old gc summary phase") \
2300 \
2301 develop(bool, TraceParallelOldGCCompactionPhase, false, \
2302 "Trace parallel old gc compaction phase") \
2303 \
2304 develop(bool, TraceParallelOldGCDensePrefix, false, \
2305 "Trace parallel old gc dense prefix computation") \
2306 \
2307 develop(bool, IgnoreLibthreadGPFault, false, \
2308 "Suppress workaround for libthread GP fault") \
2309 \
2310 product(bool, PrintJNIGCStalls, false, \
2311 "Print diagnostic message when GC is stalled" \
2312 "by JNI critical section") \
2313 \
2314 experimental(double, ObjectCountCutOffPercent, 0.5, \
2315 "The percentage of the used heap that the instances of a class " \
2316 "must occupy for the class to generate a trace event.") \
2317 \
2318 /* GC log rotation setting */ \
2319 \
2320 product(bool, UseGCLogFileRotation, false, \
2321 "Prevent large gclog file for long running app. " \
2322 "Requires -Xloggc:<filename>") \
2323 \
2324 product(uintx, NumberOfGCLogFiles, 0, \
2325 "Number of gclog files in rotation, " \
2326 "Default: 0, no rotation") \
2327 \
2328 product(uintx, GCLogFileSize, 0, \
2329 "GC log file size, Default: 0 bytes, no rotation " \
2330 "Only valid with UseGCLogFileRotation") \
2331 \
2332 /* JVMTI heap profiling */ \
2333 \
2334 diagnostic(bool, TraceJVMTIObjectTagging, false, \
2335 "Trace JVMTI object tagging calls") \
2336 \
2337 diagnostic(bool, VerifyBeforeIteration, false, \
3675 product(bool, UseVMInterruptibleIO, false, \
3676 "(Unstable, Solaris-specific) Thread interrupt before or with " \
3677 "EINTR for I/O operations results in OS_INTRPT. The default value"\
3678 " of this flag is true for JDK 6 and earlier") \
3679 \
3680 diagnostic(bool, WhiteBoxAPI, false, \
3681 "Enable internal testing APIs") \
3682 \
3683 product(bool, PrintGCCause, true, \
3684 "Include GC cause in GC logging") \
3685 \
3686 product(bool , AllowNonVirtualCalls, false, \
3687 "Obey the ACC_SUPER flag and allow invokenonvirtual calls") \
3688 \
3689 diagnostic(ccstr, SharedArchiveFile, NULL, \
3690 "Override the default location of the CDS archive file") \
3691 \
3692 experimental(uintx, ArrayAllocatorMallocLimit, \
3693 SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx), \
3694 "Allocation less than this value will be allocated " \
3695 "using malloc. Larger allocations will use mmap.") \
3696 \
3697 product(bool, EnableTracing, false, \
3698 "Enable event-based tracing") \
3699 product(bool, UseLockedTracing, false, \
3700 "Use locked-tracing when doing event-based tracing")
3701
3702
3703 /*
3704 * Macros for factoring of globals
3705 */
3706
3707 // Interface macros
3708 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
3709 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
3710 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
3711 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
3712 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
3713 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
3714 #ifdef PRODUCT
3715 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value;
3716 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name;
3717 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)
3718 #else
3719 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
3720 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
3721 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|