< prev index next >

src/share/vm/memory/metaspaceShared.cpp

Print this page




  66 
  67 bool MetaspaceShared::_has_error_classes;
  68 bool MetaspaceShared::_archive_loading_failed = false;
  69 bool MetaspaceShared::_remapped_readwrite = false;
  70 address MetaspaceShared::_cds_i2i_entry_code_buffers = NULL;
  71 size_t MetaspaceShared::_cds_i2i_entry_code_buffers_size = 0;
  72 SharedMiscRegion MetaspaceShared::_mc;
  73 SharedMiscRegion MetaspaceShared::_md;
  74 SharedMiscRegion MetaspaceShared::_od;
  75 
  76 void SharedMiscRegion::initialize(ReservedSpace rs, size_t committed_byte_size,  SharedSpaceType space_type) {
  77   _vs.initialize(rs, committed_byte_size);
  78   _alloc_top = _vs.low();
  79   _space_type = space_type;
  80 }
  81 
  82 // NOT thread-safe, but this is called during dump time in single-threaded mode.
  83 char* SharedMiscRegion::alloc(size_t num_bytes) {
  84   assert(DumpSharedSpaces, "dump time only");
  85   size_t alignment = sizeof(char*);
  86   num_bytes = align_size_up(num_bytes, alignment);
  87   _alloc_top = align_ptr_up(_alloc_top, alignment);
  88   if (_alloc_top + num_bytes > _vs.high()) {
  89     report_out_of_shared_space(_space_type);
  90   }
  91 
  92   char* p = _alloc_top;
  93   _alloc_top += num_bytes;
  94 
  95   memset(p, 0, num_bytes);
  96   return p;
  97 }
  98 
  99 void MetaspaceShared::initialize_shared_rs(ReservedSpace* rs) {
 100   assert(DumpSharedSpaces, "dump time only");
 101   _shared_rs = rs;
 102 
 103   size_t core_spaces_size = FileMapInfo::core_spaces_size();
 104   size_t metadata_size = SharedReadOnlySize + SharedReadWriteSize;
 105 
 106   // Split into the core and optional sections
 107   ReservedSpace core_data = _shared_rs->first_part(core_spaces_size);




  66 
  67 bool MetaspaceShared::_has_error_classes;
  68 bool MetaspaceShared::_archive_loading_failed = false;
  69 bool MetaspaceShared::_remapped_readwrite = false;
  70 address MetaspaceShared::_cds_i2i_entry_code_buffers = NULL;
  71 size_t MetaspaceShared::_cds_i2i_entry_code_buffers_size = 0;
  72 SharedMiscRegion MetaspaceShared::_mc;
  73 SharedMiscRegion MetaspaceShared::_md;
  74 SharedMiscRegion MetaspaceShared::_od;
  75 
  76 void SharedMiscRegion::initialize(ReservedSpace rs, size_t committed_byte_size,  SharedSpaceType space_type) {
  77   _vs.initialize(rs, committed_byte_size);
  78   _alloc_top = _vs.low();
  79   _space_type = space_type;
  80 }
  81 
  82 // NOT thread-safe, but this is called during dump time in single-threaded mode.
  83 char* SharedMiscRegion::alloc(size_t num_bytes) {
  84   assert(DumpSharedSpaces, "dump time only");
  85   size_t alignment = sizeof(char*);
  86   num_bytes = align_up(num_bytes, alignment);
  87   _alloc_top = align_up(_alloc_top, alignment);
  88   if (_alloc_top + num_bytes > _vs.high()) {
  89     report_out_of_shared_space(_space_type);
  90   }
  91 
  92   char* p = _alloc_top;
  93   _alloc_top += num_bytes;
  94 
  95   memset(p, 0, num_bytes);
  96   return p;
  97 }
  98 
  99 void MetaspaceShared::initialize_shared_rs(ReservedSpace* rs) {
 100   assert(DumpSharedSpaces, "dump time only");
 101   _shared_rs = rs;
 102 
 103   size_t core_spaces_size = FileMapInfo::core_spaces_size();
 104   size_t metadata_size = SharedReadOnlySize + SharedReadWriteSize;
 105 
 106   // Split into the core and optional sections
 107   ReservedSpace core_data = _shared_rs->first_part(core_spaces_size);


< prev index next >