< prev index next >

src/hotspot/share/memory/metaspaceShared.hpp

Print this page

@@ -186,10 +186,11 @@
   static address _i2i_entry_code_buffers;
   static size_t  _i2i_entry_code_buffers_size;
   static size_t  _core_spaces_size;
   static void* _shared_metaspace_static_top;
   static intx _relocation_delta;
+  static char* _default_base_address;
  public:
   enum {
     // core archive spaces
     mc = 0,  // miscellaneous code for method trampolines
     rw = 1,  // read-write shared space in the heap

@@ -348,10 +349,16 @@
 
   static void allocate_cloned_cpp_vtptrs();
   static intptr_t* fix_cpp_vtable_for_dynamic_archive(MetaspaceObj::Type msotype, address obj);
   static void initialize_ptr_marker(CHeapBitMap* ptrmap);
 
+  // This is the base address as specified by -XX:SharedBaseAddress during -Xshare:dump.
+  // Both the base/top archives are written using this as their base address.
+  static char* default_base_address() {
+    return _default_base_address;
+  }
+
   // Non-zero if the archive(s) need to be mapped a non-default location due to ASLR.
   static intx relocation_delta() { return _relocation_delta; }
   static intx final_delta();
   static bool use_windows_memory_mapping() {
     const bool is_windows = (NOT_WINDOWS(false) WINDOWS_ONLY(true));
< prev index next >