822 bool is_reference_instance_klass() const { return is_kind(_misc_kind_reference); }
823 bool is_mirror_instance_klass() const { return is_kind(_misc_kind_mirror); }
824 bool is_class_loader_instance_klass() const { return is_kind(_misc_kind_class_loader); }
825
826 #if INCLUDE_JVMTI
827
828 void init_previous_versions() {
829 _previous_versions = NULL;
830 }
831
832 private:
833 static bool _has_previous_versions;
834 public:
835 static void purge_previous_versions(InstanceKlass* ik) {
836 if (ik->has_been_redefined()) {
837 ik->purge_previous_version_list();
838 }
839 }
840
841 static bool has_previous_versions_and_reset();
842
843 // JVMTI: Support for caching a class file before it is modified by an agent that can do retransformation
844 void set_cached_class_file(JvmtiCachedClassFileData *data) {
845 _cached_class_file = data;
846 }
847 JvmtiCachedClassFileData * get_cached_class_file();
848 jint get_cached_class_file_len();
849 unsigned char * get_cached_class_file_bytes();
850
851 // JVMTI: Support for caching of field indices, types, and offsets
852 void set_jvmti_cached_class_field_map(JvmtiCachedClassFieldMap* descriptor) {
853 _jvmti_cached_class_field_map = descriptor;
854 }
855 JvmtiCachedClassFieldMap* jvmti_cached_class_field_map() const {
856 return _jvmti_cached_class_field_map;
857 }
858
859 #if INCLUDE_CDS
860 void set_archived_class_data(JvmtiCachedClassFileData* data) {
861 _cached_class_file = data;
|
822 bool is_reference_instance_klass() const { return is_kind(_misc_kind_reference); }
823 bool is_mirror_instance_klass() const { return is_kind(_misc_kind_mirror); }
824 bool is_class_loader_instance_klass() const { return is_kind(_misc_kind_class_loader); }
825
826 #if INCLUDE_JVMTI
827
828 void init_previous_versions() {
829 _previous_versions = NULL;
830 }
831
832 private:
833 static bool _has_previous_versions;
834 public:
835 static void purge_previous_versions(InstanceKlass* ik) {
836 if (ik->has_been_redefined()) {
837 ik->purge_previous_version_list();
838 }
839 }
840
841 static bool has_previous_versions_and_reset();
842 static bool has_previous_versions() { return _has_previous_versions; }
843
844 // JVMTI: Support for caching a class file before it is modified by an agent that can do retransformation
845 void set_cached_class_file(JvmtiCachedClassFileData *data) {
846 _cached_class_file = data;
847 }
848 JvmtiCachedClassFileData * get_cached_class_file();
849 jint get_cached_class_file_len();
850 unsigned char * get_cached_class_file_bytes();
851
852 // JVMTI: Support for caching of field indices, types, and offsets
853 void set_jvmti_cached_class_field_map(JvmtiCachedClassFieldMap* descriptor) {
854 _jvmti_cached_class_field_map = descriptor;
855 }
856 JvmtiCachedClassFieldMap* jvmti_cached_class_field_map() const {
857 return _jvmti_cached_class_field_map;
858 }
859
860 #if INCLUDE_CDS
861 void set_archived_class_data(JvmtiCachedClassFileData* data) {
862 _cached_class_file = data;
|