2438 "On internal errors, include registers in error report.") \ 2439 \ 2440 diagnostic(bool, UseSwitchProfiling, true, \ 2441 "leverage profiling for table/lookup switch") \ 2442 \ 2443 develop(bool, TraceMemoryWriteback, false, \ 2444 "Trace memory writeback operations") \ 2445 \ 2446 JFR_ONLY(product(bool, FlightRecorder, false, \ 2447 "(Deprecated) Enable Flight Recorder")) \ 2448 \ 2449 JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL, \ 2450 "Flight Recorder options")) \ 2451 \ 2452 JFR_ONLY(product(ccstr, StartFlightRecording, NULL, \ 2453 "Start flight recording with options")) \ 2454 \ 2455 experimental(bool, UseFastUnorderedTimeStamps, false, \ 2456 "Use platform unstable time where supported for timestamps only") \ 2457 \ 2458 product(bool, UseNewFieldLayout, true, \ 2459 "(Deprecated) Use new algorithm to compute field layouts") \ 2460 \ 2461 product(bool, UseEmptySlotsInSupers, true, \ 2462 "Allow allocating fields in empty slots of super-classes") \ 2463 \ 2464 diagnostic(bool, DeoptimizeNMethodBarriersALot, false, \ 2465 "Make nmethod barriers deoptimise a lot.") \ 2466 2467 // Interface macros 2468 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; 2469 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name; 2470 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name; 2471 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc) extern "C" type name; 2472 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name; 2473 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name; 2474 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name; 2475 #ifdef PRODUCT 2476 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value; 2477 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name; 2478 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) const type name = value; 2479 #else 2480 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name; | 2438 "On internal errors, include registers in error report.") \ 2439 \ 2440 diagnostic(bool, UseSwitchProfiling, true, \ 2441 "leverage profiling for table/lookup switch") \ 2442 \ 2443 develop(bool, TraceMemoryWriteback, false, \ 2444 "Trace memory writeback operations") \ 2445 \ 2446 JFR_ONLY(product(bool, FlightRecorder, false, \ 2447 "(Deprecated) Enable Flight Recorder")) \ 2448 \ 2449 JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL, \ 2450 "Flight Recorder options")) \ 2451 \ 2452 JFR_ONLY(product(ccstr, StartFlightRecording, NULL, \ 2453 "Start flight recording with options")) \ 2454 \ 2455 experimental(bool, UseFastUnorderedTimeStamps, false, \ 2456 "Use platform unstable time where supported for timestamps only") \ 2457 \ 2458 product(bool, UseEmptySlotsInSupers, true, \ 2459 "Allow allocating fields in empty slots of super-classes") \ 2460 \ 2461 diagnostic(bool, DeoptimizeNMethodBarriersALot, false, \ 2462 "Make nmethod barriers deoptimise a lot.") \ 2463 2464 // Interface macros 2465 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name; 2466 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name; 2467 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name; 2468 #define DECLARE_PD_DIAGNOSTIC_FLAG(type, name, doc) extern "C" type name; 2469 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name; 2470 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name; 2471 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name; 2472 #ifdef PRODUCT 2473 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value; 2474 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name; 2475 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) const type name = value; 2476 #else 2477 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name; |