src/share/vm/runtime/virtualspace.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8007074 Sdiff src/share/vm/runtime

src/share/vm/runtime/virtualspace.hpp

Print this page




  73   char* align_reserved_region(char* addr, const size_t len,
  74                               const size_t prefix_size,
  75                               const size_t prefix_align,
  76                               const size_t suffix_size,
  77                               const size_t suffix_align);
  78 
  79   // Reserve memory, call align_reserved_region() to alignment it and return the
  80   // result.
  81   char* reserve_and_align(const size_t reserve_size,
  82                           const size_t prefix_size,
  83                           const size_t prefix_align,
  84                           const size_t suffix_size,
  85                           const size_t suffix_align);
  86 
  87  protected:
  88   // Create protection page at the beginning of the space.
  89   void protect_noaccess_prefix(const size_t size);
  90 
  91  public:
  92   // Constructor

  93   ReservedSpace(size_t size);
  94   ReservedSpace(size_t size, size_t alignment, bool large,
  95                 char* requested_address = NULL,
  96                 const size_t noaccess_prefix = 0);
  97   ReservedSpace(const size_t prefix_size, const size_t prefix_align,
  98                 const size_t suffix_size, const size_t suffix_align,
  99                 char* requested_address,
 100                 const size_t noaccess_prefix = 0);
 101   ReservedSpace(size_t size, size_t alignment, bool large, bool executable);
 102 
 103   // Accessors
 104   char*  base()            const { return _base;      }
 105   size_t size()            const { return _size;      }
 106   size_t alignment()       const { return _alignment; }
 107   bool   special()         const { return _special;   }
 108   bool   executable()      const { return _executable;   }
 109   size_t noaccess_prefix() const { return _noaccess_prefix;   }
 110   bool is_reserved()       const { return _base != NULL; }
 111   void release();
 112 




  73   char* align_reserved_region(char* addr, const size_t len,
  74                               const size_t prefix_size,
  75                               const size_t prefix_align,
  76                               const size_t suffix_size,
  77                               const size_t suffix_align);
  78 
  79   // Reserve memory, call align_reserved_region() to alignment it and return the
  80   // result.
  81   char* reserve_and_align(const size_t reserve_size,
  82                           const size_t prefix_size,
  83                           const size_t prefix_align,
  84                           const size_t suffix_size,
  85                           const size_t suffix_align);
  86 
  87  protected:
  88   // Create protection page at the beginning of the space.
  89   void protect_noaccess_prefix(const size_t size);
  90 
  91  public:
  92   // Constructor
  93   ReservedSpace();
  94   ReservedSpace(size_t size);
  95   ReservedSpace(size_t size, size_t alignment, bool large,
  96                 char* requested_address = NULL,
  97                 const size_t noaccess_prefix = 0);
  98   ReservedSpace(const size_t prefix_size, const size_t prefix_align,
  99                 const size_t suffix_size, const size_t suffix_align,
 100                 char* requested_address,
 101                 const size_t noaccess_prefix = 0);
 102   ReservedSpace(size_t size, size_t alignment, bool large, bool executable);
 103 
 104   // Accessors
 105   char*  base()            const { return _base;      }
 106   size_t size()            const { return _size;      }
 107   size_t alignment()       const { return _alignment; }
 108   bool   special()         const { return _special;   }
 109   bool   executable()      const { return _executable;   }
 110   size_t noaccess_prefix() const { return _noaccess_prefix;   }
 111   bool is_reserved()       const { return _base != NULL; }
 112   void release();
 113 


src/share/vm/runtime/virtualspace.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File