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