3925 \
3926 experimental(size_t, ArrayAllocatorMallocLimit, \
3927 SOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1), \
3928 "Allocation less than this value will be allocated " \
3929 "using malloc. Larger allocations will use mmap.") \
3930 \
3931 experimental(bool, AlwaysAtomicAccesses, false, \
3932 "Accesses to all variables should always be atomic") \
3933 \
3934 product(bool, EnableTracing, false, \
3935 "Enable event-based tracing") \
3936 \
3937 product(bool, UseLockedTracing, false, \
3938 "Use locked-tracing when doing event-based tracing") \
3939 \
3940 diagnostic(bool, UseUnalignedAccesses, false, \
3941 "Use unaligned memory accesses in sun.misc.Unsafe") \
3942 \
3943 product_pd(bool, PreserveFramePointer, \
3944 "Use the FP register for holding the frame pointer " \
3945 "and not as a general purpose register.")
3946
3947 /*
3948 * Macros for factoring of globals
3949 */
3950
3951 // Interface macros
3952 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
3953 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
3954 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
3955 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
3956 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
3957 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
3958 #ifdef PRODUCT
3959 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value;
3960 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name;
3961 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name;
3962 #else
3963 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
3964 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
3965 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|
3925 \
3926 experimental(size_t, ArrayAllocatorMallocLimit, \
3927 SOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1), \
3928 "Allocation less than this value will be allocated " \
3929 "using malloc. Larger allocations will use mmap.") \
3930 \
3931 experimental(bool, AlwaysAtomicAccesses, false, \
3932 "Accesses to all variables should always be atomic") \
3933 \
3934 product(bool, EnableTracing, false, \
3935 "Enable event-based tracing") \
3936 \
3937 product(bool, UseLockedTracing, false, \
3938 "Use locked-tracing when doing event-based tracing") \
3939 \
3940 diagnostic(bool, UseUnalignedAccesses, false, \
3941 "Use unaligned memory accesses in sun.misc.Unsafe") \
3942 \
3943 product_pd(bool, PreserveFramePointer, \
3944 "Use the FP register for holding the frame pointer " \
3945 "and not as a general purpose register.") \
3946 \
3947 diagnostic(bool, CheckIntrinsics, trueInDebug, \
3948 "When a class C is loaded, check that " \
3949 "(1) all intrinsics defined by the VM for class C are present "\
3950 "in the loaded class file and are marked with the " \
3951 "@HotSpotIntrinsicCandidate annotation and also that " \
3952 "(2) there is an intrinsic registered for all loaded methods " \
3953 "that are annotated with the @HotSpotIntrinsicCandidate " \
3954 "annotation.")
3955
3956 /*
3957 * Macros for factoring of globals
3958 */
3959
3960 // Interface macros
3961 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
3962 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
3963 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
3964 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
3965 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
3966 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
3967 #ifdef PRODUCT
3968 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value;
3969 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name;
3970 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name;
3971 #else
3972 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
3973 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
3974 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|