void FileMapInfo::write_header() { int info_size = ClassLoader::get_shared_paths_misc_info_size(); _header->_paths_misc_info_size = info_size; align_file_position(); size_t sz = _header->data_size(); char* addr = _header->data(); write_bytes(addr, (int)sz); // skip the C++ vtable write_bytes(ClassLoader::get_shared_paths_misc_info(), info_size); align_file_position(); }
void FileMapInfo::write_space(int i, Metaspace* space, bool read_only) { align_file_position(); size_t used = space->used_bytes_slow(Metaspace::NonClassType); size_t capacity = space->capacity_bytes_slow(Metaspace::NonClassType); struct FileMapInfo::FileMapHeader::space_info* si = &_header->_space[i]; write_region(i, (char*)space->bottom(), used, capacity, read_only, false); }
void FileMapInfo::write_bytes_aligned(const void* buffer, int nbytes) { align_file_position(); write_bytes(buffer, nbytes); align_file_position(); }
void FileMapInfo::write_space(int i, CompactibleSpace* space, bool read_only) { align_file_position(); struct FileMapInfo::FileMapHeader::space_info* si = &_header._space[i]; write_region(i, (char*)space->bottom(), space->used(), space->capacity(), read_only, false); }