< prev index next >

src/hotspot/share/cds/archiveBuilder.cpp

Print this page

 791   }
 792 
 793   for (int i = 0; i < klasses()->length(); i++) {
 794     const char* type;
 795     const char* unlinked = "";
 796     const char* kind = "";
 797     const char* hidden = "";
 798     const char* old = "";
 799     const char* generated = "";
 800     const char* aotlinked_msg = "";
 801     const char* inited_msg = "";
 802     Klass* k = get_buffered_addr(klasses()->at(i));
 803     bool inited = false;
 804     k->remove_java_mirror();
 805 #ifdef _LP64
 806     if (UseCompactObjectHeaders) {
 807       Klass* requested_k = to_requested(k);
 808       address narrow_klass_base = _requested_static_archive_bottom; // runtime encoding base == runtime mapping start
 809       const int narrow_klass_shift = precomputed_narrow_klass_shift();
 810       narrowKlass nk = CompressedKlassPointers::encode_not_null_without_asserts(requested_k, narrow_klass_base, narrow_klass_shift);
 811       k->set_prototype_header(markWord::prototype().set_narrow_klass(nk));
 812     }
 813 #endif //_LP64
 814     if (k->is_objArray_klass()) {






 815       // InstanceKlass and TypeArrayKlass will in turn call remove_unshareable_info
 816       // on their array classes.
 817       num_obj_array_klasses ++;
 818       type = "array";
 819     } else if (k->is_typeArray_klass()) {
 820       num_type_array_klasses ++;
 821       type = "array";
 822       k->remove_unshareable_info();
 823     } else {
 824       assert(k->is_instance_klass(), " must be");
 825       InstanceKlass* ik = InstanceKlass::cast(k);
 826       InstanceKlass* src_ik = get_source_addr(ik);
 827       bool aotlinked = AOTClassLinker::is_candidate(src_ik);
 828       inited = ik->has_aot_initialized_mirror();
 829       ADD_COUNT(num_instance_klasses);
 830       if (ik->is_hidden()) {
 831         ADD_COUNT(num_hidden_klasses);
 832         hidden = " hidden";
 833         oop loader = k->class_loader();
 834         if (loader == nullptr) {
 835           type = "boot";
 836           ADD_COUNT(num_boot_klasses);
 837         } else if (loader == SystemDictionary::java_platform_loader()) {
 838           type = "plat";

 791   }
 792 
 793   for (int i = 0; i < klasses()->length(); i++) {
 794     const char* type;
 795     const char* unlinked = "";
 796     const char* kind = "";
 797     const char* hidden = "";
 798     const char* old = "";
 799     const char* generated = "";
 800     const char* aotlinked_msg = "";
 801     const char* inited_msg = "";
 802     Klass* k = get_buffered_addr(klasses()->at(i));
 803     bool inited = false;
 804     k->remove_java_mirror();
 805 #ifdef _LP64
 806     if (UseCompactObjectHeaders) {
 807       Klass* requested_k = to_requested(k);
 808       address narrow_klass_base = _requested_static_archive_bottom; // runtime encoding base == runtime mapping start
 809       const int narrow_klass_shift = precomputed_narrow_klass_shift();
 810       narrowKlass nk = CompressedKlassPointers::encode_not_null_without_asserts(requested_k, narrow_klass_base, narrow_klass_shift);
 811       k->set_prototype_header_klass(nk);
 812     }
 813 #endif //_LP64
 814     if (k->is_flatArray_klass()) {
 815       num_obj_array_klasses ++;
 816       type = "flat array";
 817     } else if (k->is_refArray_klass()) {
 818         num_obj_array_klasses ++;
 819         type = "ref array";
 820     } else if (k->is_objArray_klass()) {
 821       // InstanceKlass and TypeArrayKlass will in turn call remove_unshareable_info
 822       // on their array classes.
 823       num_obj_array_klasses ++;
 824       type = "obj array";
 825     } else if (k->is_typeArray_klass()) {
 826       num_type_array_klasses ++;
 827       type = "array";
 828       k->remove_unshareable_info();
 829     } else {
 830       assert(k->is_instance_klass(), " must be");
 831       InstanceKlass* ik = InstanceKlass::cast(k);
 832       InstanceKlass* src_ik = get_source_addr(ik);
 833       bool aotlinked = AOTClassLinker::is_candidate(src_ik);
 834       inited = ik->has_aot_initialized_mirror();
 835       ADD_COUNT(num_instance_klasses);
 836       if (ik->is_hidden()) {
 837         ADD_COUNT(num_hidden_klasses);
 838         hidden = " hidden";
 839         oop loader = k->class_loader();
 840         if (loader == nullptr) {
 841           type = "boot";
 842           ADD_COUNT(num_boot_klasses);
 843         } else if (loader == SystemDictionary::java_platform_loader()) {
 844           type = "plat";
< prev index next >