--- old/src/hotspot/share/memory/filemap.hpp 2018-08-01 22:34:00.859882741 -0700 +++ new/src/hotspot/share/memory/filemap.hpp 2018-08-01 22:34:00.507869354 -0700 @@ -144,6 +144,7 @@ size_t _cds_i2i_entry_code_buffers_size; size_t _core_spaces_size; // number of bytes allocated by the core spaces // (mc, md, ro, rw and od). + MemRegion _g1_reserved; // reserved region at dump time. struct space_info { int _crc; // crc checksum of the current space size_t _file_offset; // sizeof(this) rounded to vm page size @@ -214,6 +215,7 @@ char* _paths_misc_info; static FileMapInfo* _current_info; + static bool _heap_pointers_need_relocation; bool init_from_file(int fd); void align_file_position(); @@ -278,8 +280,12 @@ void write_bytes(const void* buffer, int count); void write_bytes_aligned(const void* buffer, int count); char* map_region(int i, char** top_ret); + void map_heap_regions_impl() NOT_CDS_JAVA_HEAP_RETURN; void map_heap_regions() NOT_CDS_JAVA_HEAP_RETURN; void fixup_mapped_heap_regions() NOT_CDS_JAVA_HEAP_RETURN; + void relocate_archived_heap_embedded_pointers() NOT_CDS_JAVA_HEAP_RETURN; + void relocate_archived_heap_embedded_pointers_impl(MemRegion *heap_mem, int num) NOT_CDS_JAVA_HEAP_RETURN; + bool has_heap_regions() NOT_CDS_JAVA_HEAP_RETURN; void unmap_region(int i); bool verify_region_checksum(int i); void close();