src/hotspot/share/memory/metaspaceShared.cpp
changeset 51674 d7dcaacb95dd
parent 51608 625a5bdde0c5
child 51701 9012aeaf993b
equal deleted inserted replaced
51673:53e61697a020 51674:d7dcaacb95dd
    74 MetaspaceSharedStats MetaspaceShared::_stats;
    74 MetaspaceSharedStats MetaspaceShared::_stats;
    75 bool MetaspaceShared::_has_error_classes;
    75 bool MetaspaceShared::_has_error_classes;
    76 bool MetaspaceShared::_archive_loading_failed = false;
    76 bool MetaspaceShared::_archive_loading_failed = false;
    77 bool MetaspaceShared::_remapped_readwrite = false;
    77 bool MetaspaceShared::_remapped_readwrite = false;
    78 bool MetaspaceShared::_open_archive_heap_region_mapped = false;
    78 bool MetaspaceShared::_open_archive_heap_region_mapped = false;
       
    79 bool MetaspaceShared::_archive_heap_region_fixed = false;
    79 address MetaspaceShared::_cds_i2i_entry_code_buffers = NULL;
    80 address MetaspaceShared::_cds_i2i_entry_code_buffers = NULL;
    80 size_t MetaspaceShared::_cds_i2i_entry_code_buffers_size = 0;
    81 size_t MetaspaceShared::_cds_i2i_entry_code_buffers_size = 0;
    81 size_t MetaspaceShared::_core_spaces_size = 0;
    82 size_t MetaspaceShared::_core_spaces_size = 0;
    82 
    83 
    83 // The CDS archive is divided into the following regions:
    84 // The CDS archive is divided into the following regions:
  1938   }
  1939   }
  1939   return archived_oop;
  1940   return archived_oop;
  1940 }
  1941 }
  1941 
  1942 
  1942 oop MetaspaceShared::materialize_archived_object(narrowOop v) {
  1943 oop MetaspaceShared::materialize_archived_object(narrowOop v) {
       
  1944   assert(archive_heap_region_fixed(),
       
  1945          "must be called after archive heap regions are fixed");
  1943   if (!CompressedOops::is_null(v)) {
  1946   if (!CompressedOops::is_null(v)) {
  1944     oop obj = HeapShared::decode_with_archived_oop_encoding_mode(v);
  1947     oop obj = HeapShared::decode_with_archived_oop_encoding_mode(v);
  1945     return G1CollectedHeap::heap()->materialize_archived_object(obj);
  1948     return G1CollectedHeap::heap()->materialize_archived_object(obj);
  1946   }
  1949   }
  1947   return NULL;
  1950   return NULL;
  1968 }
  1971 }
  1969 
  1972 
  1970 void MetaspaceShared::fixup_mapped_heap_regions() {
  1973 void MetaspaceShared::fixup_mapped_heap_regions() {
  1971   FileMapInfo *mapinfo = FileMapInfo::current_info();
  1974   FileMapInfo *mapinfo = FileMapInfo::current_info();
  1972   mapinfo->fixup_mapped_heap_regions();
  1975   mapinfo->fixup_mapped_heap_regions();
       
  1976   set_archive_heap_region_fixed();
  1973 }
  1977 }
  1974 #endif // INCLUDE_CDS_JAVA_HEAP
  1978 #endif // INCLUDE_CDS_JAVA_HEAP
  1975 
  1979 
  1976 // Closure for serializing initialization data in from a data area
  1980 // Closure for serializing initialization data in from a data area
  1977 // (ptr_array) read from the shared file.
  1981 // (ptr_array) read from the shared file.