--- 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 \