< prev index next >

src/hotspot/share/cds/filemap.hpp

Print this page
*** 222,11 ***
--- 222,13 ---
    char*  _mapped_base_address;          // Actual base address where archive is mapped.
  
    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_preloaded_classes;        // Does the CDS archive have preloaded classes?
    bool   _has_full_module_graph;        // Does this CDS archive contain the full archived module graph?
+   bool   _has_archived_invokedynamic;   // Does the archive have preresolved invokedynamic CP entries?
    size_t _ptrmap_size_in_bits;          // Size of pointer relocation bitmap
    size_t _heap_roots_offset;            // Offset of the HeapShared::roots() object, from the bottom
                                          // of the archived heap objects, in bytes.
    char* from_mapped_offset(size_t offset) const {
      return mapped_base_address() + offset;

*** 263,10 ***
--- 265,11 ---
    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_non_jar_in_classpath()          const { return _has_non_jar_in_classpath; }
+   bool has_preloaded_classes()             const { return _has_preloaded_classes; }
    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; }
    size_t heap_roots_offset()               const { return _heap_roots_offset; }
    // FIXME: These should really return int

*** 448,10 ***
--- 451,11 ---
    void  patch_heap_embedded_pointers() NOT_CDS_JAVA_HEAP_RETURN;
    bool  has_heap_region()  NOT_CDS_JAVA_HEAP_RETURN_(false);
    MemRegion get_heap_region_requested_range() NOT_CDS_JAVA_HEAP_RETURN_(MemRegion());
    bool  read_region(int i, char* base, size_t size, bool do_commit);
    char* map_bitmap_region();
+   bool map_cached_code_region(ReservedSpace rs);
    void  unmap_region(int i);
    void  close();
    bool  is_open() { return _file_open; }
    ReservedSpace reserve_shared_memory();
  

*** 546,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);
--- 550,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_cached_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 >