4103 \
4104 experimental(size_t, ArrayAllocatorMallocLimit, \
4105 SOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1), \
4106 "Allocation less than this value will be allocated " \
4107 "using malloc. Larger allocations will use mmap.") \
4108 \
4109 experimental(bool, AlwaysAtomicAccesses, false, \
4110 "Accesses to all variables should always be atomic") \
4111 \
4112 product(bool, EnableTracing, false, \
4113 "Enable event-based tracing") \
4114 \
4115 product(bool, UseLockedTracing, false, \
4116 "Use locked-tracing when doing event-based tracing") \
4117 \
4118 diagnostic(bool, UseUnalignedAccesses, false, \
4119 "Use unaligned memory accesses in sun.misc.Unsafe") \
4120 \
4121 product_pd(bool, PreserveFramePointer, \
4122 "Use the FP register for holding the frame pointer " \
4123 "and not as a general purpose register.")
4124
4125 /*
4126 * Macros for factoring of globals
4127 */
4128
4129 // Interface macros
4130 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
4131 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
4132 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
4133 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
4134 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
4135 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
4136 #ifdef PRODUCT
4137 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value;
4138 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name;
4139 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name;
4140 #else
4141 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
4142 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
4143 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|
4103 \
4104 experimental(size_t, ArrayAllocatorMallocLimit, \
4105 SOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1), \
4106 "Allocation less than this value will be allocated " \
4107 "using malloc. Larger allocations will use mmap.") \
4108 \
4109 experimental(bool, AlwaysAtomicAccesses, false, \
4110 "Accesses to all variables should always be atomic") \
4111 \
4112 product(bool, EnableTracing, false, \
4113 "Enable event-based tracing") \
4114 \
4115 product(bool, UseLockedTracing, false, \
4116 "Use locked-tracing when doing event-based tracing") \
4117 \
4118 diagnostic(bool, UseUnalignedAccesses, false, \
4119 "Use unaligned memory accesses in sun.misc.Unsafe") \
4120 \
4121 product_pd(bool, PreserveFramePointer, \
4122 "Use the FP register for holding the frame pointer " \
4123 "and not as a general purpose register.") \
4124 \
4125 diagnostic(bool, CheckIntrinsics, trueInDebug, \
4126 "When a class C is loaded, check that " \
4127 "(1) all intrinsics defined by the VM for class C are present "\
4128 "in the loaded class file and are marked with the " \
4129 "@HotSpotIntrinsicCandidate annotation and also that " \
4130 "(2) there is an intrinsic registered for all loaded methods " \
4131 "that are annotated with the @HotSpotIntrinsicCandidate " \
4132 "annotation.")
4133
4134 /*
4135 * Macros for factoring of globals
4136 */
4137
4138 // Interface macros
4139 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
4140 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
4141 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
4142 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
4143 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
4144 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
4145 #ifdef PRODUCT
4146 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value;
4147 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name;
4148 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name;
4149 #else
4150 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
4151 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
4152 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|