< prev index next >

src/hotspot/share/cds/archiveBuilder.cpp

Print this page
@@ -684,10 +684,17 @@
      const char* unlinked = "";
      const char* hidden = "";
      const char* generated = "";
      Klass* k = get_buffered_addr(klasses()->at(i));
      k->remove_java_mirror();
+ #ifdef _LP64
+     if (UseCompactObjectHeaders) {
+       Klass* requested_k = to_requested(k);
+       narrowKlass nk = CompressedKlassPointers::encode_not_null(requested_k, _requested_static_archive_bottom);
+       k->set_prototype_header(markWord::prototype().set_narrow_klass(nk));
+     }
+ #endif //_LP64
      if (k->is_objArray_klass()) {
        // InstanceKlass and TypeArrayKlass will in turn call remove_unshareable_info
        // on their array classes.
        num_obj_array_klasses ++;
        type = "array";
< prev index next >