< prev index next >

src/hotspot/share/memory/virtualspace.hpp

Print this page
rev 50554 : webrev.02


  46                 bool executable);
  47  protected:
  48   void initialize(size_t size, size_t alignment, bool large,
  49                   char* requested_address,
  50                   bool executable);
  51 
  52  public:
  53   // Constructor
  54   ReservedSpace();
  55   // Initialize the reserved space with the given size. If preferred_page_size
  56   // is set, use this as minimum page size/alignment. This may waste some space
  57   // if the given size is not aligned to that value, as the reservation will be
  58   // aligned up to the final alignment in this case.
  59   ReservedSpace(size_t size, size_t preferred_page_size = 0);
  60   ReservedSpace(size_t size, size_t alignment, bool large,
  61                 char* requested_address = NULL);
  62   ReservedSpace(size_t size, size_t alignment, bool large, bool executable);
  63 
  64   // Accessors
  65   char*  base()            const { return _base;      }


  66   size_t size()            const { return _size;      }
  67   char*  end()             const { return _base + _size; }
  68   size_t alignment()       const { return _alignment; }
  69   bool   special()         const { return _special;   }
  70   bool   executable()      const { return _executable;   }
  71   size_t noaccess_prefix() const { return _noaccess_prefix;   }
  72   bool is_reserved()       const { return _base != NULL; }
  73   void release();
  74 
  75   // Splitting
  76   ReservedSpace first_part(size_t partition_size, size_t alignment,
  77                            bool split = false, bool realloc = true);
  78   ReservedSpace last_part (size_t partition_size, size_t alignment);
  79 
  80   // These simply call the above using the default alignment.
  81   inline ReservedSpace first_part(size_t partition_size,
  82                                   bool split = false, bool realloc = true);
  83   inline ReservedSpace last_part (size_t partition_size);
  84 
  85   // Alignment




  46                 bool executable);
  47  protected:
  48   void initialize(size_t size, size_t alignment, bool large,
  49                   char* requested_address,
  50                   bool executable);
  51 
  52  public:
  53   // Constructor
  54   ReservedSpace();
  55   // Initialize the reserved space with the given size. If preferred_page_size
  56   // is set, use this as minimum page size/alignment. This may waste some space
  57   // if the given size is not aligned to that value, as the reservation will be
  58   // aligned up to the final alignment in this case.
  59   ReservedSpace(size_t size, size_t preferred_page_size = 0);
  60   ReservedSpace(size_t size, size_t alignment, bool large,
  61                 char* requested_address = NULL);
  62   ReservedSpace(size_t size, size_t alignment, bool large, bool executable);
  63 
  64   // Accessors
  65   char*  base()            const { return _base;      }
  66   int    nvdimm_fd()       const { return _fd_for_heap; }
  67   void   setup_fd(int fd)  {_fd_for_heap = fd; } 
  68   size_t size()            const { return _size;      }
  69   char*  end()             const { return _base + _size; }
  70   size_t alignment()       const { return _alignment; }
  71   bool   special()         const { return _special;   }
  72   bool   executable()      const { return _executable;   }
  73   size_t noaccess_prefix() const { return _noaccess_prefix;   }
  74   bool is_reserved()       const { return _base != NULL; }
  75   void release();
  76 
  77   // Splitting
  78   ReservedSpace first_part(size_t partition_size, size_t alignment,
  79                            bool split = false, bool realloc = true);
  80   ReservedSpace last_part (size_t partition_size, size_t alignment);
  81 
  82   // These simply call the above using the default alignment.
  83   inline ReservedSpace first_part(size_t partition_size,
  84                                   bool split = false, bool realloc = true);
  85   inline ReservedSpace last_part (size_t partition_size);
  86 
  87   // Alignment


< prev index next >