< prev index next >

src/hotspot/share/memory/filemap.hpp

Print this page
*** 233,11 ***
    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   _use_full_module_graph;        // Can we use the full archived module graph?
    size_t _ptrmap_size_in_bits;          // Size of pointer relocation bitmap
! 
    char* from_mapped_offset(size_t offset) const {
      return mapped_base_address() + offset;
    }
    void set_mapped_offset(char* p, size_t *offset) {
      assert(p >= mapped_base_address(), "sanity");
--- 233,11 ---
    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   _use_full_module_graph;        // Can we use the full archived module graph?
    size_t _ptrmap_size_in_bits;          // Size of pointer relocation bitmap
!   narrowOop _heap_obj_roots;            // An objArray that stores all the roots of archived heap objects
    char* from_mapped_offset(size_t offset) const {
      return mapped_base_address() + offset;
    }
    void set_mapped_offset(char* p, size_t *offset) {
      assert(p >= mapped_base_address(), "sanity");

*** 281,19 ***
--- 281,22 ---
    // FIXME: These should really return int
    jshort max_used_path_index()             const { return _max_used_path_index; }
    jshort app_module_paths_start_index()    const { return _app_module_paths_start_index; }
    jshort app_class_paths_start_index()     const { return _app_class_paths_start_index; }
    jshort num_module_paths()                const { return _num_module_paths; }
+   narrowOop heap_obj_roots()               const { return _heap_obj_roots; }
  
    void set_has_platform_or_app_classes(bool v)   { _has_platform_or_app_classes = v; }
    void set_cloned_vtables(char* p)               { set_mapped_offset(p, &_cloned_vtables_offset); }
    void set_serialized_data(char* p)              { set_mapped_offset(p, &_serialized_data_offset); }
    void set_base_archive_name_size(size_t s)      { _base_archive_name_size = s; }
    void set_base_archive_is_default(bool b)       { _base_archive_is_default = b; }
    void set_header_size(size_t s)                 { _header_size = s; }
    void set_ptrmap_size_in_bits(size_t s)         { _ptrmap_size_in_bits = s; }
    void set_mapped_base_address(char* p)          { _mapped_base_address = p; }
+   void set_heap_obj_roots(narrowOop r)           { _heap_obj_roots = r; }
+ 
    void set_i2i_entry_code_buffers(address p, size_t s) {
      set_mapped_offset((char*)p, &_i2i_entry_code_buffers_offset);
      _i2i_entry_code_buffers_size = s;
    }
  
< prev index next >