< prev index next >

src/hotspot/share/cds/archiveBuilder.cpp

Print this page

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






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

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