< prev index next >

src/hotspot/os/bsd/gc/z/zBackingFile_bsd.cpp

Print this page




  72     _base(0),
  73     _size(0),
  74     _initialized(false) {
  75 
  76   // Reserve address space for virtual backing file
  77   _base = (uintptr_t)os::reserve_memory(MaxHeapSize);
  78   if (_base == 0) {
  79     // Failed
  80     log_error(gc)("Failed to reserve address space for virtual backing file");
  81     return;
  82   }
  83 
  84   // Successfully initialized
  85   _initialized = true;
  86 }
  87 
  88 bool ZBackingFile::is_initialized() const {
  89   return _initialized;
  90 }
  91 




  92 size_t ZBackingFile::size() const {
  93   return _size;
  94 }
  95 
  96 bool ZBackingFile::commit_inner(size_t offset, size_t length) {
  97   assert(is_aligned(offset, os::vm_page_size()), "Invalid offset");
  98   assert(is_aligned(length, os::vm_page_size()), "Invalid length");
  99 
 100   log_trace(gc, heap)("Committing memory: " SIZE_FORMAT "M-" SIZE_FORMAT "M (" SIZE_FORMAT "M)",
 101                       offset / M, (offset + length) / M, length / M);
 102 
 103   const uintptr_t addr = _base + offset;
 104   const void* const res = mmap((void*)addr, length, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
 105   if (res == MAP_FAILED) {
 106     ZErrno err;
 107     log_error(gc)("Failed to commit memory (%s)", err.to_string());
 108     return false;
 109   }
 110 
 111   const size_t end = offset + length;




  72     _base(0),
  73     _size(0),
  74     _initialized(false) {
  75 
  76   // Reserve address space for virtual backing file
  77   _base = (uintptr_t)os::reserve_memory(MaxHeapSize);
  78   if (_base == 0) {
  79     // Failed
  80     log_error(gc)("Failed to reserve address space for virtual backing file");
  81     return;
  82   }
  83 
  84   // Successfully initialized
  85   _initialized = true;
  86 }
  87 
  88 bool ZBackingFile::is_initialized() const {
  89   return _initialized;
  90 }
  91 
  92 void ZBackingFile::warn_commit_limits(size_t max) const {
  93   // Does nothing
  94 }
  95 
  96 size_t ZBackingFile::size() const {
  97   return _size;
  98 }
  99 
 100 bool ZBackingFile::commit_inner(size_t offset, size_t length) {
 101   assert(is_aligned(offset, os::vm_page_size()), "Invalid offset");
 102   assert(is_aligned(length, os::vm_page_size()), "Invalid length");
 103 
 104   log_trace(gc, heap)("Committing memory: " SIZE_FORMAT "M-" SIZE_FORMAT "M (" SIZE_FORMAT "M)",
 105                       offset / M, (offset + length) / M, length / M);
 106 
 107   const uintptr_t addr = _base + offset;
 108   const void* const res = mmap((void*)addr, length, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
 109   if (res == MAP_FAILED) {
 110     ZErrno err;
 111     log_error(gc)("Failed to commit memory (%s)", err.to_string());
 112     return false;
 113   }
 114 
 115   const size_t end = offset + length;


< prev index next >