diff -r 13588c901957 -r 9cf78a70fa4f src/hotspot/share/include/cds.h --- a/src/hotspot/share/include/cds.h Thu Oct 17 20:27:44 2019 +0100 +++ b/src/hotspot/share/include/cds.h Thu Oct 17 20:53:35 2019 +0100 @@ -33,25 +33,26 @@ // // Also, this is a C header file. Do not use C++ here. -#define NUM_CDS_REGIONS 9 +#define NUM_CDS_REGIONS 8 // this must be the same as MetaspaceShared::n_regions #define CDS_ARCHIVE_MAGIC 0xf00baba2 #define CDS_DYNAMIC_ARCHIVE_MAGIC 0xf00baba8 -#define CURRENT_CDS_ARCHIVE_VERSION 5 +#define CURRENT_CDS_ARCHIVE_VERSION 8 #define INVALID_CDS_ARCHIVE_VERSION -1 struct CDSFileMapRegion { - int _crc; // crc checksum of the current space - size_t _file_offset; // sizeof(this) rounded to vm page size + int _crc; // crc checksum of the current space + size_t _file_offset; // sizeof(this) rounded to vm page size union { - char* _base; // copy-on-write base address - size_t _offset; // offset from the compressed oop encoding base, only used - // by archive heap space + char* _base; // copy-on-write base address + size_t _offset; // offset from the compressed oop encoding base, only used + // by archive heap space } _addr; - size_t _used; // for setting space top on read - int _read_only; // read only space? - int _allow_exec; // executable code in space? - void* _oopmap; // bitmap for relocating embedded oops + size_t _used; // for setting space top on read + int _read_only; // read only space? + int _allow_exec; // executable code in space? + void* _oopmap; // bitmap for relocating embedded oops size_t _oopmap_size_in_bits; + int _is_heap_region; // used in debug build only. }; struct CDSFileMapHeaderBase {