2872 \ 2873 develop(bool, TraceLivenessGen, false, \ 2874 "Trace the generation of liveness analysis information") \ 2875 \ 2876 notproduct(bool, TraceLivenessQuery, false, \ 2877 "Trace queries of liveness analysis information") \ 2878 \ 2879 notproduct(bool, CollectIndexSetStatistics, false, \ 2880 "Collect information about IndexSets") \ 2881 \ 2882 develop(bool, UseLoopSafepoints, true, \ 2883 "Generate Safepoint nodes in every loop") \ 2884 \ 2885 develop(intx, FastAllocateSizeLimit, 128*K, \ 2886 /* Note: This value is zero mod 1<<13 for a cheap sparc set. */ \ 2887 "Inline allocations larger than this in doublewords must go slow")\ 2888 \ 2889 product(bool, AggressiveOpts, false, \ 2890 "Enable aggressive optimizations - see arguments.cpp") \ 2891 \ 2892 product_pd(uintx, TypeProfileLevel, \ 2893 "=XYZ, with Z: Type profiling of arguments at call; " \ 2894 "Y: Type profiling of return value at call; " \ 2895 "X: Type profiling of parameters to methods; " \ 2896 "X, Y and Z in 0=off ; 1=jsr292 only; 2=all methods") \ 2897 constraint(TypeProfileLevelConstraintFunc, AfterErgo) \ 2898 \ 2899 product(intx, TypeProfileArgsLimit, 2, \ 2900 "max number of call arguments to consider for type profiling") \ 2901 range(0, 16) \ 2902 \ 2903 product(intx, TypeProfileParmsLimit, 2, \ 2904 "max number of incoming parameters to consider for type profiling"\ 2905 ", -1 for all") \ 2906 range(-1, 64) \ 2907 \ 2908 /* statistics */ \ 2909 develop(bool, CountCompiledCalls, false, \ 2910 "Count method invocations") \ 2911 \ 4238 experimental(size_t, ArrayAllocatorMallocLimit, \ 4239 SOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1), \ 4240 "Allocation less than this value will be allocated " \ 4241 "using malloc. Larger allocations will use mmap.") \ 4242 \ 4243 experimental(bool, AlwaysAtomicAccesses, false, \ 4244 "Accesses to all variables should always be atomic") \ 4245 \ 4246 product(bool, EnableTracing, false, \ 4247 "Enable event-based tracing") \ 4248 \ 4249 product(bool, UseLockedTracing, false, \ 4250 "Use locked-tracing when doing event-based tracing") \ 4251 \ 4252 diagnostic(bool, UseUnalignedAccesses, false, \ 4253 "Use unaligned memory accesses in sun.misc.Unsafe") \ 4254 \ 4255 product_pd(bool, PreserveFramePointer, \ 4256 "Use the FP register for holding the frame pointer " \ 4257 "and not as a general purpose register.") \ 4258 \ 4259 diagnostic(bool, CheckIntrinsics, true, \ 4260 "When a class C is loaded, check that " \ 4261 "(1) all intrinsics defined by the VM for class C are present "\ 4262 "in the loaded class file and are marked with the " \ 4263 "@HotSpotIntrinsicCandidate annotation, that " \ 4264 "(2) there is an intrinsic registered for all loaded methods " \ 4265 "that are annotated with the @HotSpotIntrinsicCandidate " \ 4266 "annotation, and that " \ 4267 "(3) no orphan methods exist for class C (i.e., methods for " \ 4268 "which the VM declares an intrinsic but that are not declared "\ 4269 "in the loaded class C. " \ 4270 "Check (3) is available only in debug builds.") 4271 4272 /* 4273 * Macros for factoring of globals 4274 */ 4275 4276 // Interface macros 4277 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; | 2872 \ 2873 develop(bool, TraceLivenessGen, false, \ 2874 "Trace the generation of liveness analysis information") \ 2875 \ 2876 notproduct(bool, TraceLivenessQuery, false, \ 2877 "Trace queries of liveness analysis information") \ 2878 \ 2879 notproduct(bool, CollectIndexSetStatistics, false, \ 2880 "Collect information about IndexSets") \ 2881 \ 2882 develop(bool, UseLoopSafepoints, true, \ 2883 "Generate Safepoint nodes in every loop") \ 2884 \ 2885 develop(intx, FastAllocateSizeLimit, 128*K, \ 2886 /* Note: This value is zero mod 1<<13 for a cheap sparc set. */ \ 2887 "Inline allocations larger than this in doublewords must go slow")\ 2888 \ 2889 product(bool, AggressiveOpts, false, \ 2890 "Enable aggressive optimizations - see arguments.cpp") \ 2891 \ 2892 product_pd(bool, CompactStrings, \ 2893 "Enable Strings to use single byte chars in backing store") \ 2894 \ 2895 product_pd(uintx, TypeProfileLevel, \ 2896 "=XYZ, with Z: Type profiling of arguments at call; " \ 2897 "Y: Type profiling of return value at call; " \ 2898 "X: Type profiling of parameters to methods; " \ 2899 "X, Y and Z in 0=off ; 1=jsr292 only; 2=all methods") \ 2900 constraint(TypeProfileLevelConstraintFunc, AfterErgo) \ 2901 \ 2902 product(intx, TypeProfileArgsLimit, 2, \ 2903 "max number of call arguments to consider for type profiling") \ 2904 range(0, 16) \ 2905 \ 2906 product(intx, TypeProfileParmsLimit, 2, \ 2907 "max number of incoming parameters to consider for type profiling"\ 2908 ", -1 for all") \ 2909 range(-1, 64) \ 2910 \ 2911 /* statistics */ \ 2912 develop(bool, CountCompiledCalls, false, \ 2913 "Count method invocations") \ 2914 \ 4241 experimental(size_t, ArrayAllocatorMallocLimit, \ 4242 SOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1), \ 4243 "Allocation less than this value will be allocated " \ 4244 "using malloc. Larger allocations will use mmap.") \ 4245 \ 4246 experimental(bool, AlwaysAtomicAccesses, false, \ 4247 "Accesses to all variables should always be atomic") \ 4248 \ 4249 product(bool, EnableTracing, false, \ 4250 "Enable event-based tracing") \ 4251 \ 4252 product(bool, UseLockedTracing, false, \ 4253 "Use locked-tracing when doing event-based tracing") \ 4254 \ 4255 diagnostic(bool, UseUnalignedAccesses, false, \ 4256 "Use unaligned memory accesses in sun.misc.Unsafe") \ 4257 \ 4258 product_pd(bool, PreserveFramePointer, \ 4259 "Use the FP register for holding the frame pointer " \ 4260 "and not as a general purpose register.") \ 4261 \ 4262 diagnostic(bool, StringCharIntrinsics, true, \ 4263 "Inline String*.getChar/putChar intrinsics.") \ 4264 \ 4265 diagnostic(bool, CheckIntrinsics, true, \ 4266 "When a class C is loaded, check that " \ 4267 "(1) all intrinsics defined by the VM for class C are present "\ 4268 "in the loaded class file and are marked with the " \ 4269 "@HotSpotIntrinsicCandidate annotation, that " \ 4270 "(2) there is an intrinsic registered for all loaded methods " \ 4271 "that are annotated with the @HotSpotIntrinsicCandidate " \ 4272 "annotation, and that " \ 4273 "(3) no orphan methods exist for class C (i.e., methods for " \ 4274 "which the VM declares an intrinsic but that are not declared "\ 4275 "in the loaded class C. " \ 4276 "Check (3) is available only in debug builds.") 4277 4278 /* 4279 * Macros for factoring of globals 4280 */ 4281 4282 // Interface macros 4283 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; |