< prev index next >

src/hotspot/share/cds/archiveBuilder.cpp

Print this page

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






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

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