< prev index next > src/hotspot/share/cds/archiveBuilder.cpp
Print this page
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);
+ address narrow_klass_base = _requested_static_archive_bottom; // runtime encoding base == runtime mapping start
+ const int narrow_klass_shift = precomputed_narrow_klass_shift;
+ narrowKlass nk = CompressedKlassPointers::encode_not_null(requested_k, narrow_klass_base, narrow_klass_shift);
+ 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";
narrowKlass ArchiveBuilder::get_requested_narrow_klass(Klass* k) {
assert(CDSConfig::is_dumping_heap(), "sanity");
k = get_buffered_klass(k);
Klass* requested_k = to_requested(k);
address narrow_klass_base = _requested_static_archive_bottom; // runtime encoding base == runtime mapping start
- const int narrow_klass_shift = ArchiveHeapWriter::precomputed_narrow_klass_shift;
+ const int narrow_klass_shift = precomputed_narrow_klass_shift;
return CompressedKlassPointers::encode_not_null(requested_k, narrow_klass_base, narrow_klass_shift);
}
#endif // INCLUDE_CDS_JAVA_HEAP
// RelocateBufferToRequested --- Relocate all the pointers in rw/ro,
< prev index next >