< prev index next >

src/share/vm/runtime/virtualspace.hpp

Print this page
rev 8067 : [mq]: 8077255-tracepagesizes-reports-wrong-page-size-on-windows-with-g1


  34  protected:
  35   char*  _base;
  36   size_t _size;
  37   size_t _noaccess_prefix;
  38   size_t _alignment;
  39   bool   _special;
  40  private:
  41   bool   _executable;
  42 
  43   // ReservedSpace
  44   ReservedSpace(char* base, size_t size, size_t alignment, bool special,
  45                 bool executable);
  46  protected:
  47   void initialize(size_t size, size_t alignment, bool large,
  48                   char* requested_address,
  49                   bool executable);
  50 
  51  public:
  52   // Constructor
  53   ReservedSpace();
  54   // Initialize the reserved space with the given size. If prefer_large_pages is
  55   // set, if the given size warrants use of large pages, try to force them by
  56   // passing an alignment restriction further down. This may waste some space
  57   // if the given size is not aligned, as the reservation will be aligned up
  58   // to large page alignment.
  59   ReservedSpace(size_t size, bool prefer_large_pages = false);
  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   size_t alignment()       const { return _alignment; }
  68   bool   special()         const { return _special;   }
  69   bool   executable()      const { return _executable;   }
  70   size_t noaccess_prefix() const { return _noaccess_prefix;   }
  71   bool is_reserved()       const { return _base != NULL; }
  72   void release();
  73 
  74   // Splitting
  75   ReservedSpace first_part(size_t partition_size, size_t alignment,
  76                            bool split = false, bool realloc = true);
  77   ReservedSpace last_part (size_t partition_size, size_t alignment);
  78 
  79   // These simply call the above using the default alignment.




  34  protected:
  35   char*  _base;
  36   size_t _size;
  37   size_t _noaccess_prefix;
  38   size_t _alignment;
  39   bool   _special;
  40  private:
  41   bool   _executable;
  42 
  43   // ReservedSpace
  44   ReservedSpace(char* base, size_t size, size_t alignment, bool special,
  45                 bool executable);
  46  protected:
  47   void initialize(size_t size, size_t alignment, bool large,
  48                   char* requested_address,
  49                   bool executable);
  50 
  51  public:
  52   // Constructor
  53   ReservedSpace();
  54   // Initialize the reserved space with the given size. If preferred_page_size
  55   // is set, use this as minimum page size/alignment. This may waste some space
  56   // if the given size is not aligned to that value, as the reservation will be
  57   // aligned up to the final alignment in this case.
  58   ReservedSpace(size_t size, size_t preferred_page_size = 0);

  59   ReservedSpace(size_t size, size_t alignment, bool large,
  60                 char* requested_address = NULL);
  61   ReservedSpace(size_t size, size_t alignment, bool large, bool executable);
  62 
  63   // Accessors
  64   char*  base()            const { return _base;      }
  65   size_t size()            const { return _size;      }
  66   size_t alignment()       const { return _alignment; }
  67   bool   special()         const { return _special;   }
  68   bool   executable()      const { return _executable;   }
  69   size_t noaccess_prefix() const { return _noaccess_prefix;   }
  70   bool is_reserved()       const { return _base != NULL; }
  71   void release();
  72 
  73   // Splitting
  74   ReservedSpace first_part(size_t partition_size, size_t alignment,
  75                            bool split = false, bool realloc = true);
  76   ReservedSpace last_part (size_t partition_size, size_t alignment);
  77 
  78   // These simply call the above using the default alignment.


< prev index next >