--- old/src/hotspot/share/oops/instanceKlass.hpp 2018-08-23 18:48:22.447358608 -0400 +++ new/src/hotspot/share/oops/instanceKlass.hpp 2018-08-23 18:48:22.018898651 -0400 @@ -41,6 +41,7 @@ #include "utilities/align.hpp" #include "utilities/macros.hpp" #if INCLUDE_JFR +#include "utilities/ticks.hpp" #include "jfr/support/jfrKlassExtension.hpp" #endif @@ -142,6 +143,11 @@ 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(). @@ -426,6 +432,11 @@ _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); }