< 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 >