2476 "Trace memory writeback operations") \
2477 \
2478 JFR_ONLY(product(bool, FlightRecorder, false, \
2479 "(Deprecated) Enable Flight Recorder")) \
2480 \
2481 JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL, \
2482 "Flight Recorder options")) \
2483 \
2484 JFR_ONLY(product(ccstr, StartFlightRecording, NULL, \
2485 "Start flight recording with options")) \
2486 \
2487 experimental(bool, UseFastUnorderedTimeStamps, false, \
2488 "Use platform unstable time where supported for timestamps only") \
2489 \
2490 product(bool, UseNewFieldLayout, true, \
2491 "(Deprecated) Use new algorithm to compute field layouts") \
2492 \
2493 product(bool, UseEmptySlotsInSupers, true, \
2494 "Allow allocating fields in empty slots of super-classes") \
2495 \
2496
2497
2498 // Interface macros
2499 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
2500 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
2501 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
2502 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc) extern "C" type name;
2503 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
2504 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
2505 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
2506 #ifdef PRODUCT
2507 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value;
2508 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name;
2509 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) const type name = value;
2510 #else
2511 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
2512 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
2513 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
2514 #endif // PRODUCT
2515 // Special LP64 flags, product only needed for now.
|
2476 "Trace memory writeback operations") \
2477 \
2478 JFR_ONLY(product(bool, FlightRecorder, false, \
2479 "(Deprecated) Enable Flight Recorder")) \
2480 \
2481 JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL, \
2482 "Flight Recorder options")) \
2483 \
2484 JFR_ONLY(product(ccstr, StartFlightRecording, NULL, \
2485 "Start flight recording with options")) \
2486 \
2487 experimental(bool, UseFastUnorderedTimeStamps, false, \
2488 "Use platform unstable time where supported for timestamps only") \
2489 \
2490 product(bool, UseNewFieldLayout, true, \
2491 "(Deprecated) Use new algorithm to compute field layouts") \
2492 \
2493 product(bool, UseEmptySlotsInSupers, true, \
2494 "Allow allocating fields in empty slots of super-classes") \
2495 \
2496 TSAN_ONLY(product(bool, ThreadSanitizer, false, \
2497 "Enable ThreadSanitizer lock instrumentation")) \
2498 \
2499 TSAN_ONLY(product(bool, ThreadSanitizerJavaMemory, true, \
2500 "Detect Java data races with ThreadSanitizer. " \
2501 "This is only enabled if -XX:+ThreadSanitizer is set.")) \
2502 \
2503 TSAN_ONLY(product(ccstr, ThreadSanitizerIgnoreFile, NULL, \
2504 "File containing a list of ignored field patterns for " \
2505 "ThreadSanitizer.")) \
2506
2507
2508 // Interface macros
2509 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
2510 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
2511 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
2512 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc) extern "C" type name;
2513 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
2514 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
2515 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
2516 #ifdef PRODUCT
2517 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value;
2518 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name;
2519 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) const type name = value;
2520 #else
2521 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
2522 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
2523 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
2524 #endif // PRODUCT
2525 // Special LP64 flags, product only needed for now.
|