3537 develop(intx, CIStartOSR, 0, \
3538 "The id of the first osr compilation to permit " \
3539 "(CICountOSR must be on)") \
3540 \
3541 develop(intx, CIStopOSR, max_jint, \
3542 "The id of the last osr compilation to permit " \
3543 "(CICountOSR must be on)") \
3544 \
3545 develop(intx, CIBreakAtOSR, -1, \
3546 "The id of osr compilation to break at") \
3547 \
3548 develop(intx, CIBreakAt, -1, \
3549 "The id of compilation to break at") \
3550 \
3551 product(ccstrlist, CompileOnly, "", \
3552 "List of methods (pkg/class.name) to restrict compilation to") \
3553 \
3554 product(ccstr, CompileCommandFile, NULL, \
3555 "Read compiler commands from this file [.hotspot_compiler]") \
3556 \
3557 product(ccstrlist, CompileCommand, "", \
3558 "Prepend to .hotspot_compiler; e.g. log,java/lang/String.<init>") \
3559 \
3560 develop(bool, ReplayCompiles, false, \
3561 "Enable replay of compilations from ReplayDataFile") \
3562 \
3563 product(ccstr, ReplayDataFile, NULL, \
3564 "File containing compilation replay information" \
3565 "[default: ./replay_pid%p.log] (%p replaced with pid)") \
3566 \
3567 product(ccstr, InlineDataFile, NULL, \
3568 "File containing inlining replay information" \
3569 "[default: ./inline_pid%p.log] (%p replaced with pid)") \
3570 \
3571 develop(intx, ReplaySuppressInitializers, 2, \
3572 "Control handling of class initialization during replay: " \
3573 "0 - don't do anything special; " \
3574 "1 - treat all class initializers as empty; " \
3575 "2 - treat class initializers for application classes as empty; " \
3576 "3 - allow all class initializers to run during bootstrap but " \
4090 "Use locked-tracing when doing event-based tracing") \
4091 \
4092 diagnostic(bool, UseUnalignedAccesses, false, \
4093 "Use unaligned memory accesses in sun.misc.Unsafe") \
4094 \
4095 product_pd(bool, PreserveFramePointer, \
4096 "Use the FP register for holding the frame pointer " \
4097 "and not as a general purpose register.") \
4098 \
4099 diagnostic(bool, CheckIntrinsics, true, \
4100 "When a class C is loaded, check that " \
4101 "(1) all intrinsics defined by the VM for class C are present "\
4102 "in the loaded class file and are marked with the " \
4103 "@HotSpotIntrinsicCandidate annotation, that " \
4104 "(2) there is an intrinsic registered for all loaded methods " \
4105 "that are annotated with the @HotSpotIntrinsicCandidate " \
4106 "annotation, and that " \
4107 "(3) no orphan methods exist for class C (i.e., methods for " \
4108 "which the VM declares an intrinsic but that are not declared "\
4109 "in the loaded class C. " \
4110 "Check (3) is available only in debug builds.")
4111
4112 /*
4113 * Macros for factoring of globals
4114 */
4115
4116 // Interface macros
4117 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
4118 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
4119 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
4120 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
4121 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
4122 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
4123 #ifdef PRODUCT
4124 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value;
4125 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name;
4126 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name;
4127 #else
4128 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
4129 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
4130 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|
3537 develop(intx, CIStartOSR, 0, \
3538 "The id of the first osr compilation to permit " \
3539 "(CICountOSR must be on)") \
3540 \
3541 develop(intx, CIStopOSR, max_jint, \
3542 "The id of the last osr compilation to permit " \
3543 "(CICountOSR must be on)") \
3544 \
3545 develop(intx, CIBreakAtOSR, -1, \
3546 "The id of osr compilation to break at") \
3547 \
3548 develop(intx, CIBreakAt, -1, \
3549 "The id of compilation to break at") \
3550 \
3551 product(ccstrlist, CompileOnly, "", \
3552 "List of methods (pkg/class.name) to restrict compilation to") \
3553 \
3554 product(ccstr, CompileCommandFile, NULL, \
3555 "Read compiler commands from this file [.hotspot_compiler]") \
3556 \
3557 product(ccstr, CompilerDirectivesFile, NULL, \
3558 "Read compiler directives from this file") \
3559 \
3560 product(ccstrlist, CompileCommand, "", \
3561 "Prepend to .hotspot_compiler; e.g. log,java/lang/String.<init>") \
3562 \
3563 develop(bool, ReplayCompiles, false, \
3564 "Enable replay of compilations from ReplayDataFile") \
3565 \
3566 product(ccstr, ReplayDataFile, NULL, \
3567 "File containing compilation replay information" \
3568 "[default: ./replay_pid%p.log] (%p replaced with pid)") \
3569 \
3570 product(ccstr, InlineDataFile, NULL, \
3571 "File containing inlining replay information" \
3572 "[default: ./inline_pid%p.log] (%p replaced with pid)") \
3573 \
3574 develop(intx, ReplaySuppressInitializers, 2, \
3575 "Control handling of class initialization during replay: " \
3576 "0 - don't do anything special; " \
3577 "1 - treat all class initializers as empty; " \
3578 "2 - treat class initializers for application classes as empty; " \
3579 "3 - allow all class initializers to run during bootstrap but " \
4093 "Use locked-tracing when doing event-based tracing") \
4094 \
4095 diagnostic(bool, UseUnalignedAccesses, false, \
4096 "Use unaligned memory accesses in sun.misc.Unsafe") \
4097 \
4098 product_pd(bool, PreserveFramePointer, \
4099 "Use the FP register for holding the frame pointer " \
4100 "and not as a general purpose register.") \
4101 \
4102 diagnostic(bool, CheckIntrinsics, true, \
4103 "When a class C is loaded, check that " \
4104 "(1) all intrinsics defined by the VM for class C are present "\
4105 "in the loaded class file and are marked with the " \
4106 "@HotSpotIntrinsicCandidate annotation, that " \
4107 "(2) there is an intrinsic registered for all loaded methods " \
4108 "that are annotated with the @HotSpotIntrinsicCandidate " \
4109 "annotation, and that " \
4110 "(3) no orphan methods exist for class C (i.e., methods for " \
4111 "which the VM declares an intrinsic but that are not declared "\
4112 "in the loaded class C. " \
4113 "Check (3) is available only in debug builds.") \
4114 \
4115 diagnostic(bool, CompileCommandCompatibility, false, \
4116 "Enable backwards compatibility for compile commands.") \
4117 \
4118 diagnostic(bool, PrintCompilerDirectives, false, \
4119 "Print compiler directives on installation.")
4120
4121 /*
4122 * Macros for factoring of globals
4123 */
4124
4125 // Interface macros
4126 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
4127 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
4128 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
4129 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
4130 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
4131 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
4132 #ifdef PRODUCT
4133 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type CONST_##name; const type name = value;
4134 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type CONST_##name; const type name = pd_##name;
4135 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type CONST_##name;
4136 #else
4137 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
4138 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
4139 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|