19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_INCLUDE_CDS_H
26 #define SHARE_INCLUDE_CDS_H
27
28 // This file declares the CDS data structures that are used by the HotSpot Serviceability Agent
29 // (see C sources inside src/jdk.hotspot.agent).
30 //
31 // We should use only standard C types. Do not use custom types such as bool, intx,
32 // etc, to avoid introducing unnecessary dependencies to other HotSpot type declarations.
33 //
34 // Also, this is a C header file. Do not use C++ here.
35
36 #define NUM_CDS_REGIONS 8 // this must be the same as MetaspaceShared::n_regions
37 #define CDS_ARCHIVE_MAGIC 0xf00baba2
38 #define CDS_DYNAMIC_ARCHIVE_MAGIC 0xf00baba8
39 #define CURRENT_CDS_ARCHIVE_VERSION 6
40 #define INVALID_CDS_ARCHIVE_VERSION -1
41
42 struct CDSFileMapRegion {
43 int _crc; // crc checksum of the current space
44 size_t _file_offset; // sizeof(this) rounded to vm page size
45 union {
46 char* _base; // copy-on-write base address
47 size_t _offset; // offset from the compressed oop encoding base, only used
48 // by archive heap space
49 } _addr;
50 size_t _used; // for setting space top on read
51 int _read_only; // read only space?
52 int _allow_exec; // executable code in space?
53 void* _oopmap; // bitmap for relocating embedded oops
54 size_t _oopmap_size_in_bits;
55 };
56
57 struct CDSFileMapHeaderBase {
58 unsigned int _magic; // identify file type
59 int _crc; // header crc checksum
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_INCLUDE_CDS_H
26 #define SHARE_INCLUDE_CDS_H
27
28 // This file declares the CDS data structures that are used by the HotSpot Serviceability Agent
29 // (see C sources inside src/jdk.hotspot.agent).
30 //
31 // We should use only standard C types. Do not use custom types such as bool, intx,
32 // etc, to avoid introducing unnecessary dependencies to other HotSpot type declarations.
33 //
34 // Also, this is a C header file. Do not use C++ here.
35
36 #define NUM_CDS_REGIONS 8 // this must be the same as MetaspaceShared::n_regions
37 #define CDS_ARCHIVE_MAGIC 0xf00baba2
38 #define CDS_DYNAMIC_ARCHIVE_MAGIC 0xf00baba8
39 #define CURRENT_CDS_ARCHIVE_VERSION 7
40 #define INVALID_CDS_ARCHIVE_VERSION -1
41
42 struct CDSFileMapRegion {
43 int _crc; // crc checksum of the current space
44 size_t _file_offset; // sizeof(this) rounded to vm page size
45 union {
46 char* _base; // copy-on-write base address
47 size_t _offset; // offset from the compressed oop encoding base, only used
48 // by archive heap space
49 } _addr;
50 size_t _used; // for setting space top on read
51 int _read_only; // read only space?
52 int _allow_exec; // executable code in space?
53 void* _oopmap; // bitmap for relocating embedded oops
54 size_t _oopmap_size_in_bits;
55 };
56
57 struct CDSFileMapHeaderBase {
58 unsigned int _magic; // identify file type
59 int _crc; // header crc checksum
|