< prev index next >

src/hotspot/share/memory/virtualspace.hpp

Print this page

 23  */
 24 
 25 #ifndef SHARE_MEMORY_VIRTUALSPACE_HPP
 26 #define SHARE_MEMORY_VIRTUALSPACE_HPP
 27 
 28 #include "memory/memRegion.hpp"
 29 #include "utilities/globalDefinitions.hpp"
 30 
 31 class outputStream;
 32 
 33 // ReservedSpace is a data structure for reserving a contiguous address range.
 34 
 35 class ReservedSpace {
 36   friend class VMStructs;
 37  protected:
 38   char*  _base;
 39   size_t _size;
 40   size_t _noaccess_prefix;
 41   size_t _alignment;
 42   bool   _special;
 43   int    _fd_for_heap;
 44  private:
 45   bool   _executable;
 46 
 47   // ReservedSpace
 48   ReservedSpace(char* base, size_t size, size_t alignment, bool special,
 49                 bool executable);
 50  protected:
 51   void initialize(size_t size, size_t alignment, bool large,
 52                   char* requested_address,
 53                   bool executable);
 54 
 55  public:
 56   // Constructor
 57   ReservedSpace();
 58   // Initialize the reserved space with the given size. If preferred_page_size
 59   // is set, use this as minimum page size/alignment. This may waste some space
 60   // if the given size is not aligned to that value, as the reservation will be
 61   // aligned up to the final alignment in this case.
 62   ReservedSpace(size_t size, size_t preferred_page_size = 0);
 63   ReservedSpace(size_t size, size_t alignment, bool large,

 23  */
 24 
 25 #ifndef SHARE_MEMORY_VIRTUALSPACE_HPP
 26 #define SHARE_MEMORY_VIRTUALSPACE_HPP
 27 
 28 #include "memory/memRegion.hpp"
 29 #include "utilities/globalDefinitions.hpp"
 30 
 31 class outputStream;
 32 
 33 // ReservedSpace is a data structure for reserving a contiguous address range.
 34 
 35 class ReservedSpace {
 36   friend class VMStructs;
 37  protected:
 38   char*  _base;
 39   size_t _size;
 40   size_t _noaccess_prefix;
 41   size_t _alignment;
 42   bool   _special;
 43   int    _fd;
 44  private:
 45   bool   _executable;
 46 
 47   // ReservedSpace
 48   ReservedSpace(char* base, size_t size, size_t alignment, bool special,
 49                 bool executable);
 50  protected:
 51   void initialize(size_t size, size_t alignment, bool large,
 52                   char* requested_address,
 53                   bool executable);
 54 
 55  public:
 56   // Constructor
 57   ReservedSpace();
 58   // Initialize the reserved space with the given size. If preferred_page_size
 59   // is set, use this as minimum page size/alignment. This may waste some space
 60   // if the given size is not aligned to that value, as the reservation will be
 61   // aligned up to the final alignment in this case.
 62   ReservedSpace(size_t size, size_t preferred_page_size = 0);
 63   ReservedSpace(size_t size, size_t alignment, bool large,
< prev index next >