< prev index next >

src/hotspot/share/cds/archiveBuilder.cpp

Print this page

 834   }
 835 
 836   for (int i = 0; i < klasses()->length(); i++) {
 837     const char* type;
 838     const char* unlinked = "";
 839     const char* kind = "";
 840     const char* hidden = "";
 841     const char* old = "";
 842     const char* generated = "";
 843     const char* aotlinked_msg = "";
 844     const char* inited_msg = "";
 845     Klass* k = get_buffered_addr(klasses()->at(i));
 846     bool inited = false;
 847     k->remove_java_mirror();
 848 #ifdef _LP64
 849     if (UseCompactObjectHeaders) {
 850       Klass* requested_k = to_requested(k);
 851       address narrow_klass_base = _requested_static_archive_bottom; // runtime encoding base == runtime mapping start
 852       const int narrow_klass_shift = precomputed_narrow_klass_shift();
 853       narrowKlass nk = CompressedKlassPointers::encode_not_null_without_asserts(requested_k, narrow_klass_base, narrow_klass_shift);
 854       k->set_prototype_header(markWord::prototype().set_narrow_klass(nk));
 855     }
 856 #endif //_LP64
 857     if (k->is_objArray_klass()) {






 858       // InstanceKlass and TypeArrayKlass will in turn call remove_unshareable_info
 859       // on their array classes.
 860       num_obj_array_klasses ++;
 861       type = "array";
 862     } else if (k->is_typeArray_klass()) {
 863       num_type_array_klasses ++;
 864       type = "array";
 865       k->remove_unshareable_info();
 866     } else {
 867       assert(k->is_instance_klass(), " must be");
 868       InstanceKlass* ik = InstanceKlass::cast(k);
 869       InstanceKlass* src_ik = get_source_addr(ik);
 870       bool aotlinked = AOTClassLinker::is_candidate(src_ik);
 871       inited = ik->has_aot_initialized_mirror();
 872       ADD_COUNT(num_instance_klasses);
 873       if (ik->is_hidden()) {
 874         ADD_COUNT(num_hidden_klasses);
 875         hidden = " hidden";
 876         oop loader = k->class_loader();
 877         if (loader == nullptr) {
 878           type = "boot";
 879           ADD_COUNT(num_boot_klasses);
 880         } else if (loader == SystemDictionary::java_platform_loader()) {
 881           type = "plat";

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