< prev index next >
src/hotspot/share/memory/metaspaceShared.cpp
Print this page
rev 49264 : 8193266: AArch64: TestOptionsWithRanges.java SIGSEGV
Reviewed-by: aph, dsamersoff
@@ -231,10 +231,11 @@
Metaspace::allocate_metaspace_compressed_klass_ptrs(cds_end, cds_address);
// map_heap_regions() compares the current narrow oop and klass encodings
// with the archived ones, so it must be done after all encodings are determined.
mapinfo->map_heap_regions();
}
+ Universe::set_narrow_klass_range(CompressedClassSpaceSize);
#endif // _LP64
} else {
assert(!mapinfo->is_open() && !UseSharedSpaces,
"archive file not closed or shared spaces not disabled.");
}
@@ -296,10 +297,12 @@
// Set up compress class pointers.
Universe::set_narrow_klass_base((address)_shared_rs.base());
// Set narrow_klass_shift to be LogKlassAlignmentInBytes. This is consistent
// with AOT.
Universe::set_narrow_klass_shift(LogKlassAlignmentInBytes);
+ // Set the range of klass addresses to 4GB.
+ Universe::set_narrow_klass_range(cds_total);
Metaspace::initialize_class_space(tmp_class_space);
tty->print_cr("narrow_klass_base = " PTR_FORMAT ", narrow_klass_shift = %d",
p2i(Universe::narrow_klass_base()), Universe::narrow_klass_shift());
< prev index next >