836 const char* type;
837 const char* unlinked = "";
838 const char* kind = "";
839 const char* hidden = "";
840 const char* old = "";
841 const char* generated = "";
842 const char* aotlinked_msg = "";
843 const char* inited_msg = "";
844 Klass* k = get_buffered_addr(klasses()->at(i));
845 bool inited = false;
846 k->remove_java_mirror();
847 #ifdef _LP64
848 if (UseCompactObjectHeaders) {
849 Klass* requested_k = to_requested(k);
850 address narrow_klass_base = _requested_static_archive_bottom; // runtime encoding base == runtime mapping start
851 const int narrow_klass_shift = precomputed_narrow_klass_shift();
852 narrowKlass nk = CompressedKlassPointers::encode_not_null_without_asserts(requested_k, narrow_klass_base, narrow_klass_shift);
853 k->set_prototype_header(markWord::prototype().set_narrow_klass(nk));
854 }
855 #endif //_LP64
856 if (k->is_objArray_klass()) {
857 // InstanceKlass and TypeArrayKlass will in turn call remove_unshareable_info
858 // on their array classes.
859 num_obj_array_klasses ++;
860 type = "array";
861 } else if (k->is_typeArray_klass()) {
862 num_type_array_klasses ++;
863 type = "array";
864 k->remove_unshareable_info();
865 } else {
866 assert(k->is_instance_klass(), " must be");
867 InstanceKlass* ik = InstanceKlass::cast(k);
868 InstanceKlass* src_ik = get_source_addr(ik);
869 bool aotlinked = AOTClassLinker::is_candidate(src_ik);
870 inited = ik->has_aot_initialized_mirror();
871 ADD_COUNT(num_instance_klasses);
872 if (ik->is_hidden()) {
873 ADD_COUNT(num_hidden_klasses);
874 hidden = " hidden";
875 oop loader = k->class_loader();
876 if (loader == nullptr) {
877 type = "boot";
878 ADD_COUNT(num_boot_klasses);
879 } else if (loader == SystemDictionary::java_platform_loader()) {
880 type = "plat";
|
836 const char* type;
837 const char* unlinked = "";
838 const char* kind = "";
839 const char* hidden = "";
840 const char* old = "";
841 const char* generated = "";
842 const char* aotlinked_msg = "";
843 const char* inited_msg = "";
844 Klass* k = get_buffered_addr(klasses()->at(i));
845 bool inited = false;
846 k->remove_java_mirror();
847 #ifdef _LP64
848 if (UseCompactObjectHeaders) {
849 Klass* requested_k = to_requested(k);
850 address narrow_klass_base = _requested_static_archive_bottom; // runtime encoding base == runtime mapping start
851 const int narrow_klass_shift = precomputed_narrow_klass_shift();
852 narrowKlass nk = CompressedKlassPointers::encode_not_null_without_asserts(requested_k, narrow_klass_base, narrow_klass_shift);
853 k->set_prototype_header(markWord::prototype().set_narrow_klass(nk));
854 }
855 #endif //_LP64
856 if (k->is_flatArray_klass()) {
857 num_obj_array_klasses ++;
858 type = "flat array";
859 } else if (k->is_refArray_klass()) {
860 num_obj_array_klasses ++;
861 type = "ref array";
862 } else if (k->is_objArray_klass()) {
863 // InstanceKlass and TypeArrayKlass will in turn call remove_unshareable_info
864 // on their array classes.
865 num_obj_array_klasses ++;
866 type = "obj array";
867 } else if (k->is_typeArray_klass()) {
868 num_type_array_klasses ++;
869 type = "array";
870 k->remove_unshareable_info();
871 } else {
872 assert(k->is_instance_klass(), " must be");
873 InstanceKlass* ik = InstanceKlass::cast(k);
874 InstanceKlass* src_ik = get_source_addr(ik);
875 bool aotlinked = AOTClassLinker::is_candidate(src_ik);
876 inited = ik->has_aot_initialized_mirror();
877 ADD_COUNT(num_instance_klasses);
878 if (ik->is_hidden()) {
879 ADD_COUNT(num_hidden_klasses);
880 hidden = " hidden";
881 oop loader = k->class_loader();
882 if (loader == nullptr) {
883 type = "boot";
884 ADD_COUNT(num_boot_klasses);
885 } else if (loader == SystemDictionary::java_platform_loader()) {
886 type = "plat";
|