diff -r aa7b1ea52413 -r a57907813a83 src/hotspot/share/jfr/support/jfrTraceIdExtension.hpp --- a/src/hotspot/share/jfr/support/jfrTraceIdExtension.hpp Fri Aug 30 20:39:38 2019 +0200 +++ b/src/hotspot/share/jfr/support/jfrTraceIdExtension.hpp Mon Sep 02 19:42:46 2019 +0200 @@ -41,6 +41,31 @@ #define REMOVE_ID(k) JfrTraceId::remove(k); #define RESTORE_ID(k) JfrTraceId::restore(k); +class JfrTraceFlag { + private: + mutable jshort _flags; + public: + JfrTraceFlag() : _flags(0) {} + bool is_set(jshort flag) const { + return (_flags & flag) != 0; + } + + jshort flags() const { + return _flags; + } + + void set_flags(jshort flags) const { + _flags = flags; + } + + jbyte* flags_addr() const { + return (jbyte*)&_flags; + } + jbyte* meta_addr() const { + return ((jbyte*)&_flags) + 1; + } +}; + #define DEFINE_TRACE_FLAG mutable JfrTraceFlag _trace_flags #define DEFINE_TRACE_FLAG_ACCESSOR \