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