187 define_pd_global(intx, InlineUnsafeOps, true); 188 define_pd_global(intx, InitialCodeCacheSize, 160*K); 189 define_pd_global(intx, ReservedCodeCacheSize, 32*M); 190 define_pd_global(intx, CodeCacheExpansionSize, 32*K); 191 define_pd_global(intx, CodeCacheMinBlockLength, 1); 192 define_pd_global(intx, CodeCacheMinimumUseSpace, 200*K); 193 define_pd_global(uintx,MetaspaceSize, ScaleForWordSize(4*M)); 194 define_pd_global(bool, NeverActAsServerClassMachine, true); 195 define_pd_global(uint64_t,MaxRAM, 1ULL*G); 196 #define CI_COMPILER_COUNT 0 197 #else 198 199 #ifdef COMPILER2 200 #define CI_COMPILER_COUNT 2 201 #else 202 #define CI_COMPILER_COUNT 1 203 #endif // COMPILER2 204 205 #endif // no compilers 206 207 // string type aliases used only in this file 208 typedef const char* ccstr; 209 typedef const char* ccstrlist; // represents string arguments which accumulate 210 211 struct Flag { 212 enum Flags { 213 // value origin 214 DEFAULT = 0, 215 COMMAND_LINE = 1, 216 ENVIRON_VAR = 2, 217 CONFIG_FILE = 3, 218 MANAGEMENT = 4, 219 ERGONOMIC = 5, 220 ATTACH_ON_DEMAND = 6, 221 INTERNAL = 7, 222 223 LAST_VALUE_ORIGIN = INTERNAL, 224 VALUE_ORIGIN_BITS = 4, 225 VALUE_ORIGIN_MASK = right_n_bits(VALUE_ORIGIN_BITS), 226 3965 "Obey the ACC_SUPER flag and allow invokenonvirtual calls") \ 3966 \ 3967 product(ccstr, DumpLoadedClassList, NULL, \ 3968 "Dump the names all loaded classes, that could be stored into " \ 3969 "the CDS archive, in the specified file") \ 3970 \ 3971 product(ccstr, SharedClassListFile, NULL, \ 3972 "Override the default CDS class list") \ 3973 \ 3974 diagnostic(ccstr, SharedArchiveFile, NULL, \ 3975 "Override the default location of the CDS archive file") \ 3976 \ 3977 product(ccstr, ExtraSharedClassListFile, NULL, \ 3978 "Extra classlist for building the CDS archive file") \ 3979 \ 3980 experimental(uintx, ArrayAllocatorMallocLimit, \ 3981 SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx), \ 3982 "Allocation less than this value will be allocated " \ 3983 "using malloc. Larger allocations will use mmap.") \ 3984 \ 3985 product(bool, EnableTracing, false, \ 3986 "Enable event-based tracing") \ 3987 \ 3988 product(bool, UseLockedTracing, false, \ 3989 "Use locked-tracing when doing event-based tracing") \ 3990 \ 3991 product_pd(bool, PreserveFramePointer, \ 3992 "Use the FP register for holding the frame pointer " \ 3993 "and not as a general purpose register.") 3994 3995 /* 3996 * Macros for factoring of globals 3997 */ 3998 3999 // Interface macros 4000 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; 4001 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name; 4002 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name; 4003 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name; 4004 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name; 4005 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name; 4006 #ifdef PRODUCT 4007 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value; 4008 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name; 4009 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name; 4010 #else 4011 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name; 4012 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name; 4013 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name; | 187 define_pd_global(intx, InlineUnsafeOps, true); 188 define_pd_global(intx, InitialCodeCacheSize, 160*K); 189 define_pd_global(intx, ReservedCodeCacheSize, 32*M); 190 define_pd_global(intx, CodeCacheExpansionSize, 32*K); 191 define_pd_global(intx, CodeCacheMinBlockLength, 1); 192 define_pd_global(intx, CodeCacheMinimumUseSpace, 200*K); 193 define_pd_global(uintx,MetaspaceSize, ScaleForWordSize(4*M)); 194 define_pd_global(bool, NeverActAsServerClassMachine, true); 195 define_pd_global(uint64_t,MaxRAM, 1ULL*G); 196 #define CI_COMPILER_COUNT 0 197 #else 198 199 #ifdef COMPILER2 200 #define CI_COMPILER_COUNT 2 201 #else 202 #define CI_COMPILER_COUNT 1 203 #endif // COMPILER2 204 205 #endif // no compilers 206 207 #if !INCLUDE_JFR 208 #define LogJFR false 209 #endif 210 211 // string type aliases used only in this file 212 typedef const char* ccstr; 213 typedef const char* ccstrlist; // represents string arguments which accumulate 214 215 struct Flag { 216 enum Flags { 217 // value origin 218 DEFAULT = 0, 219 COMMAND_LINE = 1, 220 ENVIRON_VAR = 2, 221 CONFIG_FILE = 3, 222 MANAGEMENT = 4, 223 ERGONOMIC = 5, 224 ATTACH_ON_DEMAND = 6, 225 INTERNAL = 7, 226 227 LAST_VALUE_ORIGIN = INTERNAL, 228 VALUE_ORIGIN_BITS = 4, 229 VALUE_ORIGIN_MASK = right_n_bits(VALUE_ORIGIN_BITS), 230 3969 "Obey the ACC_SUPER flag and allow invokenonvirtual calls") \ 3970 \ 3971 product(ccstr, DumpLoadedClassList, NULL, \ 3972 "Dump the names all loaded classes, that could be stored into " \ 3973 "the CDS archive, in the specified file") \ 3974 \ 3975 product(ccstr, SharedClassListFile, NULL, \ 3976 "Override the default CDS class list") \ 3977 \ 3978 diagnostic(ccstr, SharedArchiveFile, NULL, \ 3979 "Override the default location of the CDS archive file") \ 3980 \ 3981 product(ccstr, ExtraSharedClassListFile, NULL, \ 3982 "Extra classlist for building the CDS archive file") \ 3983 \ 3984 experimental(uintx, ArrayAllocatorMallocLimit, \ 3985 SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx), \ 3986 "Allocation less than this value will be allocated " \ 3987 "using malloc. Larger allocations will use mmap.") \ 3988 \ 3989 product_pd(bool, PreserveFramePointer, \ 3990 "Use the FP register for holding the frame pointer " \ 3991 "and not as a general purpose register.") \ 3992 \ 3993 JFR_ONLY(product(bool, FlightRecorder, false, \ 3994 "Enable Flight Recorder")) \ 3995 \ 3996 JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL, \ 3997 "Flight Recorder options")) \ 3998 \ 3999 JFR_ONLY(product(ccstr, StartFlightRecording, NULL, \ 4000 "Start flight recording with options")) \ 4001 \ 4002 JFR_ONLY(product(bool, UnlockCommercialFeatures, false, \ 4003 "This flag is ignored. Left for compatibility")) \ 4004 \ 4005 experimental(bool, UseFastUnorderedTimeStamps, false, \ 4006 "Use platform unstable time where supported for timestamps only") \ 4007 \ 4008 JFR_ONLY(product(bool, LogJFR, false, \ 4009 "Enable JFR logging (consider +Verbose)")) \ 4010 4011 /* 4012 * Macros for factoring of globals 4013 */ 4014 4015 // Interface macros 4016 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; 4017 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name; 4018 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name; 4019 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name; 4020 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name; 4021 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name; 4022 #ifdef PRODUCT 4023 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value; 4024 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name; 4025 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name; 4026 #else 4027 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name; 4028 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name; 4029 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name; |