2440 develop(bool, TraceMemoryWriteback, false, \
2441 "Trace memory writeback operations") \
2442 \
2443 JFR_ONLY(product(bool, FlightRecorder, false, \
2444 "(Deprecated) Enable Flight Recorder")) \
2445 \
2446 JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL, \
2447 "Flight Recorder options")) \
2448 \
2449 JFR_ONLY(product(ccstr, StartFlightRecording, NULL, \
2450 "Start flight recording with options")) \
2451 \
2452 experimental(bool, UseFastUnorderedTimeStamps, false, \
2453 "Use platform unstable time where supported for timestamps only") \
2454 \
2455 product(bool, UseEmptySlotsInSupers, true, \
2456 "Allow allocating fields in empty slots of super-classes") \
2457 \
2458 diagnostic(bool, DeoptimizeNMethodBarriersALot, false, \
2459 "Make nmethod barriers deoptimise a lot.") \
2460
2461 // Interface macros
2462 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
2463 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
2464 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
2465 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc) extern "C" type name;
2466 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
2467 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
2468 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
2469 #ifdef PRODUCT
2470 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value;
2471 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name;
2472 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) const type name = value;
2473 #else
2474 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
2475 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
2476 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
2477 #endif // PRODUCT
2478 // Special LP64 flags, product only needed for now.
2479 #ifdef _LP64
|
2440 develop(bool, TraceMemoryWriteback, false, \
2441 "Trace memory writeback operations") \
2442 \
2443 JFR_ONLY(product(bool, FlightRecorder, false, \
2444 "(Deprecated) Enable Flight Recorder")) \
2445 \
2446 JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL, \
2447 "Flight Recorder options")) \
2448 \
2449 JFR_ONLY(product(ccstr, StartFlightRecording, NULL, \
2450 "Start flight recording with options")) \
2451 \
2452 experimental(bool, UseFastUnorderedTimeStamps, false, \
2453 "Use platform unstable time where supported for timestamps only") \
2454 \
2455 product(bool, UseEmptySlotsInSupers, true, \
2456 "Allow allocating fields in empty slots of super-classes") \
2457 \
2458 diagnostic(bool, DeoptimizeNMethodBarriersALot, false, \
2459 "Make nmethod barriers deoptimise a lot.") \
2460 \
2461 diagnostic(bool, RuntimeAddressOf, true, \
2462 "Enable low-level Runtime.addressOf methods.") \
2463 \
2464 diagnostic(bool, RuntimeFieldOf, true, \
2465 "Enable low-level Runtime.field*Of methods.") \
2466 \
2467 diagnostic(bool, RuntimeSizeOf, true, \
2468 "Enable low-level Runtime.*sizeOOf methods.") \
2469
2470 // Interface macros
2471 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
2472 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
2473 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
2474 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc) extern "C" type name;
2475 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
2476 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
2477 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
2478 #ifdef PRODUCT
2479 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value;
2480 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name;
2481 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) const type name = value;
2482 #else
2483 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
2484 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
2485 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
2486 #endif // PRODUCT
2487 // Special LP64 flags, product only needed for now.
2488 #ifdef _LP64
|