< prev index next >

src/hotspot/share/cds/archiveBuilder.cpp

Print this page

 818   }
 819 
 820   for (int i = 0; i < klasses()->length(); i++) {
 821     const char* type;
 822     const char* unlinked = "";
 823     const char* kind = "";
 824     const char* hidden = "";
 825     const char* old = "";
 826     const char* generated = "";
 827     const char* aotlinked_msg = "";
 828     const char* inited_msg = "";
 829     Klass* k = get_buffered_addr(klasses()->at(i));
 830     bool inited = false;
 831     k->remove_java_mirror();
 832 #ifdef _LP64
 833     if (UseCompactObjectHeaders) {
 834       Klass* requested_k = to_requested(k);
 835       address narrow_klass_base = _requested_static_archive_bottom; // runtime encoding base == runtime mapping start
 836       const int narrow_klass_shift = precomputed_narrow_klass_shift();
 837       narrowKlass nk = CompressedKlassPointers::encode_not_null_without_asserts(requested_k, narrow_klass_base, narrow_klass_shift);
 838       k->set_prototype_header(markWord::prototype().set_narrow_klass(nk));
 839     }
 840 #endif //_LP64
 841     if (k->is_objArray_klass()) {






 842       // InstanceKlass and TypeArrayKlass will in turn call remove_unshareable_info
 843       // on their array classes.
 844       num_obj_array_klasses ++;
 845       type = "array";
 846     } else if (k->is_typeArray_klass()) {
 847       num_type_array_klasses ++;
 848       type = "array";
 849       k->remove_unshareable_info();
 850     } else {
 851       assert(k->is_instance_klass(), " must be");
 852       InstanceKlass* ik = InstanceKlass::cast(k);
 853       InstanceKlass* src_ik = get_source_addr(ik);
 854       bool aotlinked = AOTClassLinker::is_candidate(src_ik);
 855       inited = ik->has_aot_initialized_mirror();
 856       ADD_COUNT(num_instance_klasses);
 857       if (ik->is_hidden()) {
 858         ADD_COUNT(num_hidden_klasses);
 859         hidden = " hidden";
 860         oop loader = k->class_loader();
 861         if (loader == nullptr) {
 862           type = "boot";
 863           ADD_COUNT(num_boot_klasses);
 864         } else if (loader == SystemDictionary::java_platform_loader()) {
 865           type = "plat";

 818   }
 819 
 820   for (int i = 0; i < klasses()->length(); i++) {
 821     const char* type;
 822     const char* unlinked = "";
 823     const char* kind = "";
 824     const char* hidden = "";
 825     const char* old = "";
 826     const char* generated = "";
 827     const char* aotlinked_msg = "";
 828     const char* inited_msg = "";
 829     Klass* k = get_buffered_addr(klasses()->at(i));
 830     bool inited = false;
 831     k->remove_java_mirror();
 832 #ifdef _LP64
 833     if (UseCompactObjectHeaders) {
 834       Klass* requested_k = to_requested(k);
 835       address narrow_klass_base = _requested_static_archive_bottom; // runtime encoding base == runtime mapping start
 836       const int narrow_klass_shift = precomputed_narrow_klass_shift();
 837       narrowKlass nk = CompressedKlassPointers::encode_not_null_without_asserts(requested_k, narrow_klass_base, narrow_klass_shift);
 838       k->set_prototype_header_klass(nk);
 839     }
 840 #endif //_LP64
 841     if (k->is_flatArray_klass()) {
 842       num_obj_array_klasses ++;
 843       type = "flat array";
 844     } else if (k->is_refArray_klass()) {
 845         num_obj_array_klasses ++;
 846         type = "ref array";
 847     } else if (k->is_objArray_klass()) {
 848       // InstanceKlass and TypeArrayKlass will in turn call remove_unshareable_info
 849       // on their array classes.
 850       num_obj_array_klasses ++;
 851       type = "obj array";
 852     } else if (k->is_typeArray_klass()) {
 853       num_type_array_klasses ++;
 854       type = "array";
 855       k->remove_unshareable_info();
 856     } else {
 857       assert(k->is_instance_klass(), " must be");
 858       InstanceKlass* ik = InstanceKlass::cast(k);
 859       InstanceKlass* src_ik = get_source_addr(ik);
 860       bool aotlinked = AOTClassLinker::is_candidate(src_ik);
 861       inited = ik->has_aot_initialized_mirror();
 862       ADD_COUNT(num_instance_klasses);
 863       if (ik->is_hidden()) {
 864         ADD_COUNT(num_hidden_klasses);
 865         hidden = " hidden";
 866         oop loader = k->class_loader();
 867         if (loader == nullptr) {
 868           type = "boot";
 869           ADD_COUNT(num_boot_klasses);
 870         } else if (loader == SystemDictionary::java_platform_loader()) {
 871           type = "plat";
< prev index next >