< prev index next >

src/hotspot/share/cds/filemap.hpp

Print this page
@@ -139,10 +139,13 @@
  
    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?
+   int    _gc_kind;                      // Universe::heap()->kind();
+   char   _gc_name[32];                  // Universe::heap()->name();
+   size_t _ptrmap_size_in_bits;          // Size of pointer relocation bitmap
    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
  
    ArchiveMappedHeapHeader _mapped_heap_header;
    ArchiveStreamedHeapHeader _streamed_heap_header;

@@ -198,10 +201,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; }
    bool has_full_module_graph()             const { return _has_full_module_graph; }

@@ -369,10 +375,11 @@
    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* ac_ptrmap,
                              ArchiveMappedHeapInfo* mapped_heap_info,
                              ArchiveStreamedHeapInfo* streamed_heap_info,
                              size_t &size_in_bytes);
    size_t write_mapped_heap_region(ArchiveMappedHeapInfo* heap_info) NOT_CDS_JAVA_HEAP_RETURN_(0);
    size_t write_streamed_heap_region(ArchiveStreamedHeapInfo* heap_info) NOT_CDS_JAVA_HEAP_RETURN_(0);

@@ -452,10 +459,11 @@
    bool  open_for_read();
    void  seek_to_position(size_t pos);
  
    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();
    char* map_auxiliary_region(int region_index, bool read_only);
  
  public:
  
  private:
< prev index next >