< prev index next >

src/hotspot/share/cds/filemap.hpp

Print this page
*** 115,11 ***
    uintx  _max_heap_size;                          // java max heap size during dumping
    CompressedOops::Mode _narrow_oop_mode;          // compressed oop encoding mode
    bool    _compressed_oops;                       // save the flag UseCompressedOops
    bool    _compressed_class_ptrs;                 // save the flag UseCompressedClassPointers
    int     _narrow_klass_pointer_bits;             // save number of bits in narrowKlass
!   int     _narrow_klass_shift;                    // save shift width used to pre-compute narrowKlass IDs in archived heap objects
    size_t  _cloned_vtables_offset;                 // The address of the first cloned vtable
    size_t  _early_serialized_data_offset;          // Data accessed using {ReadClosure,WriteClosure}::serialize()
    size_t  _serialized_data_offset;                // Data accessed using {ReadClosure,WriteClosure}::serialize()
  
    // The following fields are all sanity checks for whether this archive
--- 115,11 ---
    uintx  _max_heap_size;                          // java max heap size during dumping
    CompressedOops::Mode _narrow_oop_mode;          // compressed oop encoding mode
    bool    _compressed_oops;                       // save the flag UseCompressedOops
    bool    _compressed_class_ptrs;                 // save the flag UseCompressedClassPointers
    int     _narrow_klass_pointer_bits;             // save number of bits in narrowKlass
!   int     _narrow_klass_shift;                    // save shift width used to pre-compute narrowKlass IDs in archived heap objectsa
    size_t  _cloned_vtables_offset;                 // The address of the first cloned vtable
    size_t  _early_serialized_data_offset;          // Data accessed using {ReadClosure,WriteClosure}::serialize()
    size_t  _serialized_data_offset;                // Data accessed using {ReadClosure,WriteClosure}::serialize()
  
    // The following fields are all sanity checks for whether this archive

*** 138,15 ***
--- 138,28 ---
    bool   _allow_archiving_with_java_agent; // setting of the AllowArchivingWithJavaAgent option
    bool   _use_optimized_module_handling;// No module-relation VM options were specified, so we can skip
                                          // some expensive operations.
    bool   _has_aot_linked_classes;       // Was the CDS archive created with -XX:+AOTClassLinking
    bool   _has_full_module_graph;        // Does this CDS archive contain the full archived module graph?
+   bool   _has_archived_packages;
+   bool   _has_archived_protection_domains;
+   int    _gc_kind;                      // Universe::heap()->kind();
+   char   _gc_name[32];                  // Universe::heap()->name();
+   size_t _ptrmap_size_in_bits;          // Size of pointer relocation bitmap
    HeapRootSegments _heap_root_segments; // Heap root segments info
    size_t _heap_oopmap_start_pos;        // The first bit in the oopmap corresponds to this position in the heap.
    size_t _heap_ptrmap_start_pos;        // The first bit in the ptrmap corresponds to this position in the heap.
    size_t _rw_ptrmap_start_pos;          // The first bit in the ptrmap corresponds to this position in the rw region
    size_t _ro_ptrmap_start_pos;          // The first bit in the ptrmap corresponds to this position in the ro region
+ 
+   // The following are parameters that affect MethodData layout.
+   uint    _type_profile_level;
+   intx    _type_profile_width;
+   intx    _bci_profile_width;
+   bool    _profile_traps;
+   int     _spec_trap_limit_extra_entries;
+ 
    template <typename T> T from_mapped_offset(size_t offset) const {
      return (T)(mapped_base_address() + offset);
    }
    void set_as_offset(char* p, size_t *offset);
    template <typename T> void set_as_offset(T p, size_t *offset) {

*** 184,10 ***
--- 197,13 ---
    const char* jvm_ident()                  const { return _jvm_ident; }
    char* requested_base_address()           const { return _requested_base_address; }
    char* mapped_base_address()              const { return _mapped_base_address; }
    bool has_platform_or_app_classes()       const { return _has_platform_or_app_classes; }
    bool has_aot_linked_classes()            const { return _has_aot_linked_classes; }
+   int gc_kind()                            const { return _gc_kind; }
+   const char* gc_name()                    const { return _gc_name; }
+   size_t ptrmap_size_in_bits()             const { return _ptrmap_size_in_bits; }
    bool compressed_oops()                   const { return _compressed_oops; }
    bool compressed_class_pointers()         const { return _compressed_class_ptrs; }
    int narrow_klass_pointer_bits()          const { return _narrow_klass_pointer_bits; }
    int narrow_klass_shift()                 const { return _narrow_klass_shift; }
    HeapRootSegments heap_root_segments()    const { return _heap_root_segments; }

*** 350,11 ***
    void  open_as_output();
    void  write_header();
    void  write_region(int region, char* base, size_t size,
                       bool read_only, bool allow_exec);
    size_t remove_bitmap_zeros(CHeapBitMap* map);
!   char* write_bitmap_region(CHeapBitMap* rw_ptrmap, CHeapBitMap* ro_ptrmap, ArchiveHeapInfo* heap_info,
                              size_t &size_in_bytes);
    size_t write_heap_region(ArchiveHeapInfo* heap_info);
    void  write_bytes(const void* buffer, size_t count);
    void  write_bytes_aligned(const void* buffer, size_t count);
    size_t  read_bytes(void* buffer, size_t count);
--- 366,12 ---
    void  open_as_output();
    void  write_header();
    void  write_region(int region, char* base, size_t size,
                       bool read_only, bool allow_exec);
    size_t remove_bitmap_zeros(CHeapBitMap* map);
!   char* write_bitmap_region(CHeapBitMap* rw_ptrmap, CHeapBitMap* ro_ptrmap,
+                             CHeapBitMap* cc_ptrmap, ArchiveHeapInfo* heap_info,
                              size_t &size_in_bytes);
    size_t write_heap_region(ArchiveHeapInfo* heap_info);
    void  write_bytes(const void* buffer, size_t count);
    void  write_bytes_aligned(const void* buffer, size_t count);
    size_t  read_bytes(void* buffer, size_t count);

*** 433,11 ***
    bool  load_heap_region() NOT_CDS_JAVA_HEAP_RETURN_(false);
    bool  map_heap_region() NOT_CDS_JAVA_HEAP_RETURN_(false);
    void  init_heap_region_relocation();
    MapArchiveResult map_region(int i, intx addr_delta, char* mapped_base_address, ReservedSpace rs);
    bool  relocate_pointers_in_core_regions(intx addr_delta);
! 
    static MemRegion _mapped_heap_memregion;
  
  public:
    address heap_region_dumptime_address() NOT_CDS_JAVA_HEAP_RETURN_(nullptr);
    address heap_region_requested_address() NOT_CDS_JAVA_HEAP_RETURN_(nullptr);
--- 450,11 ---
    bool  load_heap_region() NOT_CDS_JAVA_HEAP_RETURN_(false);
    bool  map_heap_region() NOT_CDS_JAVA_HEAP_RETURN_(false);
    void  init_heap_region_relocation();
    MapArchiveResult map_region(int i, intx addr_delta, char* mapped_base_address, ReservedSpace rs);
    bool  relocate_pointers_in_core_regions(intx addr_delta);
!   void  relocate_pointers_in_aot_code_region();
    static MemRegion _mapped_heap_memregion;
  
  public:
    address heap_region_dumptime_address() NOT_CDS_JAVA_HEAP_RETURN_(nullptr);
    address heap_region_requested_address() NOT_CDS_JAVA_HEAP_RETURN_(nullptr);
< prev index next >