< prev index next >

src/share/vm/gc/g1/g1PageBasedVirtualSpace.hpp

Print this page




  83   // Commit space at the high end of the space that needs to be committed with small
  84   // sized pages.
  85   void commit_tail();
  86 
  87   // Uncommit the given memory range.
  88   void uncommit_internal(size_t start_page, size_t end_page);
  89 
  90   // Pretouch the given memory range.
  91   void pretouch_internal(size_t start_page, size_t end_page);
  92 
  93   // Returns the index of the page which contains the given address.
  94   uintptr_t  addr_to_page_index(char* addr) const;
  95   // Returns the address of the given page index.
  96   char*  page_start(size_t index) const;
  97 
  98   // Is the given page index the last page?
  99   bool is_last_page(size_t index) const { return index == (_committed.size() - 1); }
 100   // Is the given page index the first after last page?
 101   bool is_after_last_page(size_t index) const;
 102   // Is the last page only partially covered by this space?
 103   bool is_last_page_partial() const { return !is_ptr_aligned(_high_boundary, _page_size); }
 104   // Returns the end address of the given page bounded by the reserved space.
 105   char* bounded_end_addr(size_t end_page) const;
 106 
 107   // Returns true if the entire area is backed by committed memory.
 108   bool is_area_committed(size_t start_page, size_t size_in_pages) const;
 109   // Returns true if the entire area is not backed by committed memory.
 110   bool is_area_uncommitted(size_t start_page, size_t size_in_pages) const;
 111 
 112   void initialize_with_page_size(ReservedSpace rs, size_t used_size, size_t page_size);
 113  public:
 114 
 115   // Commit the given area of pages starting at start being size_in_pages large.
 116   // Returns true if the given area is zero filled upon completion.
 117   bool commit(size_t start_page, size_t size_in_pages);
 118 
 119   // Uncommit the given area of pages starting at start being size_in_pages large.
 120   void uncommit(size_t start_page, size_t size_in_pages);
 121 
 122   void pretouch(size_t start_page, size_t size_in_pages, WorkGang* pretouch_gang = NULL);
 123 




  83   // Commit space at the high end of the space that needs to be committed with small
  84   // sized pages.
  85   void commit_tail();
  86 
  87   // Uncommit the given memory range.
  88   void uncommit_internal(size_t start_page, size_t end_page);
  89 
  90   // Pretouch the given memory range.
  91   void pretouch_internal(size_t start_page, size_t end_page);
  92 
  93   // Returns the index of the page which contains the given address.
  94   uintptr_t  addr_to_page_index(char* addr) const;
  95   // Returns the address of the given page index.
  96   char*  page_start(size_t index) const;
  97 
  98   // Is the given page index the last page?
  99   bool is_last_page(size_t index) const { return index == (_committed.size() - 1); }
 100   // Is the given page index the first after last page?
 101   bool is_after_last_page(size_t index) const;
 102   // Is the last page only partially covered by this space?
 103   bool is_last_page_partial() const { return !is_aligned(_high_boundary, _page_size); }
 104   // Returns the end address of the given page bounded by the reserved space.
 105   char* bounded_end_addr(size_t end_page) const;
 106 
 107   // Returns true if the entire area is backed by committed memory.
 108   bool is_area_committed(size_t start_page, size_t size_in_pages) const;
 109   // Returns true if the entire area is not backed by committed memory.
 110   bool is_area_uncommitted(size_t start_page, size_t size_in_pages) const;
 111 
 112   void initialize_with_page_size(ReservedSpace rs, size_t used_size, size_t page_size);
 113  public:
 114 
 115   // Commit the given area of pages starting at start being size_in_pages large.
 116   // Returns true if the given area is zero filled upon completion.
 117   bool commit(size_t start_page, size_t size_in_pages);
 118 
 119   // Uncommit the given area of pages starting at start being size_in_pages large.
 120   void uncommit(size_t start_page, size_t size_in_pages);
 121 
 122   void pretouch(size_t start_page, size_t size_in_pages, WorkGang* pretouch_gang = NULL);
 123 


< prev index next >