4145 diagnostic(bool, UseUnalignedAccesses, false, \ 4146 "Use unaligned memory accesses in Unsafe") \ 4147 \ 4148 product_pd(bool, PreserveFramePointer, \ 4149 "Use the FP register for holding the frame pointer " \ 4150 "and not as a general purpose register.") \ 4151 \ 4152 diagnostic(bool, CheckIntrinsics, true, \ 4153 "When a class C is loaded, check that " \ 4154 "(1) all intrinsics defined by the VM for class C are present "\ 4155 "in the loaded class file and are marked with the " \ 4156 "@HotSpotIntrinsicCandidate annotation, that " \ 4157 "(2) there is an intrinsic registered for all loaded methods " \ 4158 "that are annotated with the @HotSpotIntrinsicCandidate " \ 4159 "annotation, and that " \ 4160 "(3) no orphan methods exist for class C (i.e., methods for " \ 4161 "which the VM declares an intrinsic but that are not declared "\ 4162 "in the loaded class C. " \ 4163 "Check (3) is available only in debug builds.") \ 4164 \ 4165 diagnostic(bool, CompilerDirectivesIgnoreCompileCommands, false, \ 4166 "Disable backwards compatibility for compile commands.") \ 4167 \ 4168 diagnostic(bool, CompilerDirectivesPrint, false, \ 4169 "Print compiler directives on installation.") \ 4170 diagnostic(int, CompilerDirectivesLimit, 50, \ 4171 "Limit on number of compiler directives.") 4172 4173 4174 /* 4175 * Macros for factoring of globals 4176 */ 4177 4178 // Interface macros 4179 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; 4180 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name; 4181 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name; 4182 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name; 4183 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name; 4184 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name; | 4145 diagnostic(bool, UseUnalignedAccesses, false, \ 4146 "Use unaligned memory accesses in Unsafe") \ 4147 \ 4148 product_pd(bool, PreserveFramePointer, \ 4149 "Use the FP register for holding the frame pointer " \ 4150 "and not as a general purpose register.") \ 4151 \ 4152 diagnostic(bool, CheckIntrinsics, true, \ 4153 "When a class C is loaded, check that " \ 4154 "(1) all intrinsics defined by the VM for class C are present "\ 4155 "in the loaded class file and are marked with the " \ 4156 "@HotSpotIntrinsicCandidate annotation, that " \ 4157 "(2) there is an intrinsic registered for all loaded methods " \ 4158 "that are annotated with the @HotSpotIntrinsicCandidate " \ 4159 "annotation, and that " \ 4160 "(3) no orphan methods exist for class C (i.e., methods for " \ 4161 "which the VM declares an intrinsic but that are not declared "\ 4162 "in the loaded class C. " \ 4163 "Check (3) is available only in debug builds.") \ 4164 \ 4165 product_pd(intx, InitArrayShortSize, \ 4166 "Threshold small size (in bytes) for clearing arrays. " \ 4167 "Anything this size or smaller may get converted to discrete " \ 4168 "scalar stores. ") \ 4169 range(0, max_intx) \ 4170 constraint(InitArrayShortSizeConstraintFunc, AfterErgo) \ 4171 \ 4172 diagnostic(bool, CompilerDirectivesIgnoreCompileCommands, false, \ 4173 "Disable backwards compatibility for compile commands.") \ 4174 \ 4175 diagnostic(bool, CompilerDirectivesPrint, false, \ 4176 "Print compiler directives on installation.") \ 4177 diagnostic(int, CompilerDirectivesLimit, 50, \ 4178 "Limit on number of compiler directives.") 4179 4180 4181 /* 4182 * Macros for factoring of globals 4183 */ 4184 4185 // Interface macros 4186 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; 4187 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name; 4188 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name; 4189 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name; 4190 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name; 4191 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name; |