< prev index next >

src/hotspot/share/oops/instanceKlass.hpp

Print this page

        

@@ -39,10 +39,11 @@
 #include "runtime/os.hpp"
 #include "utilities/accessFlags.hpp"
 #include "utilities/align.hpp"
 #include "utilities/macros.hpp"
 #if INCLUDE_JFR
+#include "utilities/ticks.hpp"
 #include "jfr/support/jfrKlassExtension.hpp"
 #endif
 
 
 // An InstanceKlass is the VM level representation of a Java class.

@@ -140,10 +141,15 @@
   };
 
  private:
   static InstanceKlass* allocate_instance_klass(const ClassFileParser& parser, TRAPS);
 
+#if INCLUDE_JFR
+  // JFR Class unloading timestamp
+  static Ticks _class_unload_time;
+#endif
+
  protected:
   // If you add a new field that points to any metaspace object, you
   // must add this field to InstanceKlass::metaspace_pointers_do().
 
   // Annotations for this class

@@ -424,10 +430,15 @@
   void set_transitive_interfaces(Array<InstanceKlass*>* a) {
     guarantee(_transitive_interfaces == NULL || a == NULL, "Just checking");
     _transitive_interfaces = a;
   }
 
+#if INCLUDE_JFR
+  static void set_class_unload_time(Ticks ticks) { _class_unload_time = ticks; }
+  static Ticks class_unload_time() { return _class_unload_time; }
+#endif
+
  private:
   friend class fieldDescriptor;
   FieldInfo* field(int index) const { return FieldInfo::from_field_array(_fields, index); }
 
  public:
< prev index next >