src/hotspot/share/jfr/support/jfrTraceIdExtension.hpp
branchJEP-349-branch
changeset 57983 a57907813a83
parent 57870 00860d9caf4d
child 58157 9dca61a7df19
--- 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                 \