3974 product(ccstr, SharedClassListFile, NULL, \ 3975 "Override the default CDS class list") \ 3976 \ 3977 diagnostic(ccstr, SharedArchiveFile, NULL, \ 3978 "Override the default location of the CDS archive file") \ 3979 \ 3980 product(ccstr, ExtraSharedClassListFile, NULL, \ 3981 "Extra classlist for building the CDS archive file") \ 3982 \ 3983 experimental(uintx, ArrayAllocatorMallocLimit, \ 3984 SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx), \ 3985 "Allocation less than this value will be allocated " \ 3986 "using malloc. Larger allocations will use mmap.") \ 3987 \ 3988 product(bool, EnableTracing, false, \ 3989 "Enable event-based tracing") \ 3990 \ 3991 product(bool, UseLockedTracing, false, \ 3992 "Use locked-tracing when doing event-based tracing") \ 3993 \ 3994 product_pd(bool, PreserveFramePointer, \ 3995 "Use the FP register for holding the frame pointer " \ 3996 "and not as a general purpose register.") 3997 3998 /* 3999 * Macros for factoring of globals 4000 */ 4001 4002 // Interface macros 4003 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; 4004 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name; 4005 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name; 4006 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name; 4007 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name; 4008 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name; 4009 #ifdef PRODUCT 4010 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value; 4011 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name; 4012 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name; 4013 #else | 3974 product(ccstr, SharedClassListFile, NULL, \ 3975 "Override the default CDS class list") \ 3976 \ 3977 diagnostic(ccstr, SharedArchiveFile, NULL, \ 3978 "Override the default location of the CDS archive file") \ 3979 \ 3980 product(ccstr, ExtraSharedClassListFile, NULL, \ 3981 "Extra classlist for building the CDS archive file") \ 3982 \ 3983 experimental(uintx, ArrayAllocatorMallocLimit, \ 3984 SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx), \ 3985 "Allocation less than this value will be allocated " \ 3986 "using malloc. Larger allocations will use mmap.") \ 3987 \ 3988 product(bool, EnableTracing, false, \ 3989 "Enable event-based tracing") \ 3990 \ 3991 product(bool, UseLockedTracing, false, \ 3992 "Use locked-tracing when doing event-based tracing") \ 3993 \ 3994 notproduct(intx, DelayInGCLogging, 0, \ 3995 "Delay milliseconds to simulate IO blocking for GC log testing") \ 3996 \ 3997 product(bool, AsyncGCLogging, true, \ 3998 "Enble asynchronous GC logging") \ 3999 \ 4000 product(intx, GCLogBufferSize, 500, \ 4001 "Entries of ringbuffer for GC log writing") \ 4002 \ 4003 product(intx, GCLogFlushInterval, 200, \ 4004 "Milliseconds between GC log flushings") \ 4005 \ 4006 product(bool, PrintGCLogFlushTime, false, \ 4007 "Print the time for GC log flushings in seconds") \ 4008 \ 4009 diagnostic(bool, PrintGCLogStatistics, false, \ 4010 "Print statistics of dismissed GC log") \ 4011 \ 4012 product_pd(bool, PreserveFramePointer, \ 4013 "Use the FP register for holding the frame pointer " \ 4014 "and not as a general purpose register.") 4015 4016 /* 4017 * Macros for factoring of globals 4018 */ 4019 4020 // Interface macros 4021 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; 4022 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name; 4023 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name; 4024 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name; 4025 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name; 4026 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name; 4027 #ifdef PRODUCT 4028 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value; 4029 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name; 4030 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name; 4031 #else |