< prev index next >

src/share/vm/runtime/virtualspace.hpp

Print this page
rev 8049 : imported patch 8058354-stefank-review


  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   ReservedSpace(size_t size);





  55   ReservedSpace(size_t size, size_t alignment, bool large,
  56                 char* requested_address = NULL);
  57   ReservedSpace(size_t size, size_t alignment, bool large, bool executable);
  58 
  59   // Accessors
  60   char*  base()            const { return _base;      }
  61   size_t size()            const { return _size;      }
  62   size_t alignment()       const { return _alignment; }
  63   bool   special()         const { return _special;   }
  64   bool   executable()      const { return _executable;   }
  65   size_t noaccess_prefix() const { return _noaccess_prefix;   }
  66   bool is_reserved()       const { return _base != NULL; }
  67   void release();
  68 
  69   // Splitting
  70   ReservedSpace first_part(size_t partition_size, size_t alignment,
  71                            bool split = false, bool realloc = true);
  72   ReservedSpace last_part (size_t partition_size, size_t alignment);
  73 
  74   // 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 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.


< prev index next >