3942 \
3943 diagnostic(ccstr, SharedArchiveFile, NULL, \
3944 "Override the default location of the CDS archive file") \
3945 \
3946 product(ccstr, ExtraSharedClassListFile, NULL, \
3947 "Extra classlist for building the CDS archive file") \
3948 \
3949 experimental(uintx, ArrayAllocatorMallocLimit, \
3950 SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx), \
3951 "Allocation less than this value will be allocated " \
3952 "using malloc. Larger allocations will use mmap.") \
3953 \
3954 product(bool, EnableTracing, false, \
3955 "Enable event-based tracing") \
3956 \
3957 product(bool, UseLockedTracing, false, \
3958 "Use locked-tracing when doing event-based tracing") \
3959 \
3960 product_pd(bool, PreserveFramePointer, \
3961 "Use the FP register for holding the frame pointer " \
3962 "and not as a general purpose register.")
3963
3964 /*
3965 * Macros for factoring of globals
3966 */
3967
3968 // Interface macros
3969 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
3970 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
3971 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
3972 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
3973 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
3974 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
3975 #ifdef PRODUCT
3976 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value;
3977 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name;
3978 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name;
3979 #else
3980 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
3981 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
3982 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|
3942 \
3943 diagnostic(ccstr, SharedArchiveFile, NULL, \
3944 "Override the default location of the CDS archive file") \
3945 \
3946 product(ccstr, ExtraSharedClassListFile, NULL, \
3947 "Extra classlist for building the CDS archive file") \
3948 \
3949 experimental(uintx, ArrayAllocatorMallocLimit, \
3950 SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx), \
3951 "Allocation less than this value will be allocated " \
3952 "using malloc. Larger allocations will use mmap.") \
3953 \
3954 product(bool, EnableTracing, false, \
3955 "Enable event-based tracing") \
3956 \
3957 product(bool, UseLockedTracing, false, \
3958 "Use locked-tracing when doing event-based tracing") \
3959 \
3960 product_pd(bool, PreserveFramePointer, \
3961 "Use the FP register for holding the frame pointer " \
3962 "and not as a general purpose register.") \
3963 \
3964 product(bool, EnableEventTracing, false, \
3965 "Enable event tracing") \
3966 \
3967 product(bool, EnableEventTracingParkEvents, true, \
3968 "Enable tracing of park events") \
3969 \
3970 product(bool, EnableEventTracingDiagnostics, false, \
3971 "Enable extra diagnostic counters and timers for event tracing") \
3972 \
3973 product(ccstr, EventTracingConfiguration, NULL, \
3974 "Configuration string for event tracing") \
3975 \
3976 product(bool, EnableEventTracingBufferReuse, false, \
3977 "Recycle allocated event tracing buffers") \
3978 \
3979 product(uintx, EventTracingPreallocatedBuffers, 0, \
3980 "Number of preallocated event tracing buffers") \
3981 \
3982 product(uintx, EventTracingBufferCapacity, 16384, \
3983 "Capacity (in bytes) of event tracing buffers") \
3984 \
3985 product(bool, EnableEventTracingRandomizedBufferCapacity, true, \
3986 "Enable randomization of event tracing buffer sizes (+/- 50%)") \
3987 \
3988 product(uintx, EventTracingStackDepthLimit, 128, \
3989 "Maximum number of raw (no inlining) stack frames to walk") \
3990 \
3991 product(intx, EventTracingStackMementoFrame, 1, \
3992 "Patched raw frame to detect stack changes (top = 0, off = -1)") \
3993 \
3994 product(bool, EnableEventTracingStackTraces, true, \
3995 "Enable stack traces for trace events") \
3996 \
3997 product(bool, EventTracingStrictMonitorEventOrder, false, \
3998 "Ensure order of monitor events at the cost of extra events")
3999
4000
4001 /*
4002 * Macros for factoring of globals
4003 */
4004
4005 // Interface macros
4006 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
4007 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
4008 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
4009 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
4010 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
4011 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
4012 #ifdef PRODUCT
4013 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value;
4014 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name;
4015 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name;
4016 #else
4017 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
4018 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
4019 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|