src/share/vm/runtime/globals.hpp

changeset 9896
1b8c45b8216a
parent 9834
bb1da64b0492
parent 9893
be5266057dda
child 9931
fd44df5e3bc3
child 9982
72053ed6f8d4
     1.1 --- a/src/share/vm/runtime/globals.hpp	Thu Feb 27 19:01:32 2020 +0000
     1.2 +++ b/src/share/vm/runtime/globals.hpp	Tue Mar 03 12:57:23 2020 +0000
     1.3 @@ -204,6 +204,10 @@
     1.4  
     1.5  #endif // no compilers
     1.6  
     1.7 +#if !INCLUDE_JFR
     1.8 +#define LogJFR false
     1.9 +#endif
    1.10 +
    1.11  // string type aliases used only in this file
    1.12  typedef const char* ccstr;
    1.13  typedef const char* ccstrlist;   // represents string arguments which accumulate
    1.14 @@ -365,33 +369,33 @@
    1.15  
    1.16  class CommandLineFlags {
    1.17   public:
    1.18 -  static bool boolAt(const char* name, size_t len, bool* value);
    1.19 -  static bool boolAt(const char* name, bool* value)      { return boolAt(name, strlen(name), value); }
    1.20 +  static bool boolAt(const char* name, size_t len, bool* value, bool allow_locked = false, bool return_flag = false);
    1.21 +  static bool boolAt(const char* name, bool* value, bool allow_locked = false, bool return_flag = false)   { return boolAt(name, strlen(name), value, allow_locked, return_flag); }
    1.22    static bool boolAtPut(const char* name, size_t len, bool* value, Flag::Flags origin);
    1.23    static bool boolAtPut(const char* name, bool* value, Flag::Flags origin)   { return boolAtPut(name, strlen(name), value, origin); }
    1.24  
    1.25 -  static bool intxAt(const char* name, size_t len, intx* value);
    1.26 -  static bool intxAt(const char* name, intx* value)      { return intxAt(name, strlen(name), value); }
    1.27 +  static bool intxAt(const char* name, size_t len, intx* value, bool allow_locked = false, bool return_flag = false);
    1.28 +  static bool intxAt(const char* name, intx* value, bool allow_locked = false, bool return_flag = false)      { return intxAt(name, strlen(name), value, allow_locked, return_flag); }
    1.29    static bool intxAtPut(const char* name, size_t len, intx* value, Flag::Flags origin);
    1.30    static bool intxAtPut(const char* name, intx* value, Flag::Flags origin)   { return intxAtPut(name, strlen(name), value, origin); }
    1.31  
    1.32 -  static bool uintxAt(const char* name, size_t len, uintx* value);
    1.33 -  static bool uintxAt(const char* name, uintx* value)    { return uintxAt(name, strlen(name), value); }
    1.34 +  static bool uintxAt(const char* name, size_t len, uintx* value, bool allow_locked = false, bool return_flag = false);
    1.35 +  static bool uintxAt(const char* name, uintx* value, bool allow_locked = false, bool return_flag = false)    { return uintxAt(name, strlen(name), value, allow_locked, return_flag); }
    1.36    static bool uintxAtPut(const char* name, size_t len, uintx* value, Flag::Flags origin);
    1.37    static bool uintxAtPut(const char* name, uintx* value, Flag::Flags origin) { return uintxAtPut(name, strlen(name), value, origin); }
    1.38  
    1.39 -  static bool uint64_tAt(const char* name, size_t len, uint64_t* value);
    1.40 -  static bool uint64_tAt(const char* name, uint64_t* value) { return uint64_tAt(name, strlen(name), value); }
    1.41 +  static bool uint64_tAt(const char* name, size_t len, uint64_t* value, bool allow_locked = false, bool return_flag = false);
    1.42 +  static bool uint64_tAt(const char* name, uint64_t* value, bool allow_locked = false, bool return_flag = false) { return uint64_tAt(name, strlen(name), value, allow_locked, return_flag); }
    1.43    static bool uint64_tAtPut(const char* name, size_t len, uint64_t* value, Flag::Flags origin);
    1.44    static bool uint64_tAtPut(const char* name, uint64_t* value, Flag::Flags origin) { return uint64_tAtPut(name, strlen(name), value, origin); }
    1.45  
    1.46 -  static bool doubleAt(const char* name, size_t len, double* value);
    1.47 -  static bool doubleAt(const char* name, double* value)    { return doubleAt(name, strlen(name), value); }
    1.48 +  static bool doubleAt(const char* name, size_t len, double* value, bool allow_locked = false, bool return_flag = false);
    1.49 +  static bool doubleAt(const char* name, double* value, bool allow_locked = false, bool return_flag = false)    { return doubleAt(name, strlen(name), value, allow_locked, return_flag); }
    1.50    static bool doubleAtPut(const char* name, size_t len, double* value, Flag::Flags origin);
    1.51    static bool doubleAtPut(const char* name, double* value, Flag::Flags origin) { return doubleAtPut(name, strlen(name), value, origin); }
    1.52  
    1.53 -  static bool ccstrAt(const char* name, size_t len, ccstr* value);
    1.54 -  static bool ccstrAt(const char* name, ccstr* value)    { return ccstrAt(name, strlen(name), value); }
    1.55 +  static bool ccstrAt(const char* name, size_t len, ccstr* value, bool allow_locked = false, bool return_flag = false);
    1.56 +  static bool ccstrAt(const char* name, ccstr* value, bool allow_locked = false, bool return_flag = false)    { return ccstrAt(name, strlen(name), value, allow_locked, return_flag); }
    1.57    // Contract:  Flag will make private copy of the incoming value.
    1.58    // Outgoing value is always malloc-ed, and caller MUST call free.
    1.59    static bool ccstrAtPut(const char* name, size_t len, ccstr* value, Flag::Flags origin);
    1.60 @@ -3982,15 +3986,35 @@
    1.61            "Allocation less than this value will be allocated "              \
    1.62            "using malloc. Larger allocations will use mmap.")                \
    1.63                                                                              \
    1.64 -  product(bool, EnableTracing, false,                                       \
    1.65 -          "Enable event-based tracing")                                     \
    1.66 -                                                                            \
    1.67 -  product(bool, UseLockedTracing, false,                                    \
    1.68 -          "Use locked-tracing when doing event-based tracing")              \
    1.69 -                                                                            \
    1.70    product_pd(bool, PreserveFramePointer,                                    \
    1.71               "Use the FP register for holding the frame pointer "           \
    1.72 -             "and not as a general purpose register.")
    1.73 +             "and not as a general purpose register.")                      \
    1.74 +                                                                            \
    1.75 +  product(bool, EnableTracing, false,                                       \
    1.76 +          "Enable event-based tracing"                                      \
    1.77 +          "Deprecated: use FlightRecorder instead")                         \
    1.78 +                                                                            \
    1.79 +  product(bool, UseLockedTracing, false,                                    \
    1.80 +          "Use locked-tracing when doing event-based tracing"               \
    1.81 +          "Deprecated: use FlightRecorder instead")                         \
    1.82 +                                                                            \
    1.83 +  JFR_ONLY(product(bool, FlightRecorder, false,                             \
    1.84 +          "Enable Flight Recorder"))                                        \
    1.85 +                                                                            \
    1.86 +  JFR_ONLY(product(ccstr, FlightRecorderOptions, NULL,                      \
    1.87 +          "Flight Recorder options"))                                       \
    1.88 +                                                                            \
    1.89 +  JFR_ONLY(product(ccstr, StartFlightRecording, NULL,                       \
    1.90 +          "Start flight recording with options"))                           \
    1.91 +                                                                            \
    1.92 +  JFR_ONLY(product(bool, UnlockCommercialFeatures, false,                   \
    1.93 +          "This flag is ignored. Left for compatibility"))                  \
    1.94 +                                                                            \
    1.95 +  experimental(bool, UseFastUnorderedTimeStamps, false,                     \
    1.96 +          "Use platform unstable time where supported for timestamps only") \
    1.97 +                                                                            \
    1.98 +  JFR_ONLY(product(bool, LogJFR, false,                                     \
    1.99 +          "Enable JFR logging (consider +Verbose)"))                        \
   1.100  
   1.101  /*
   1.102   *  Macros for factoring of globals

mercurial