< prev index next >

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

Print this page
rev 56323 : imported patch 8220310.mut.0
rev 56324 : imported patch 8220310.mut.1_thomas
rev 56326 : [mq]: 8220310.mut.1-3_kim

@@ -28,10 +28,11 @@
 #include "memory/memRegion.hpp"
 #include "memory/virtualspace.hpp"
 #include "utilities/align.hpp"
 #include "utilities/bitMap.hpp"
 
+class G1NUMA;
 class WorkGang;
 
 // Virtual space management helper for a virtual space with an OS page allocation
 // granularity.
 // (De-)Allocation requests are always OS page aligned by passing a page index

@@ -72,10 +73,12 @@
   bool _special;
 
   // Indicates whether the committed space should be executable.
   bool _executable;
 
+  G1NUMA* _numa;
+
   // Helper function for committing memory. Commit the given memory range by using
   // _page_size pages as much as possible and the remainder with small sized pages.
   void commit_internal(size_t start_page, size_t end_page);
   // Commit num_pages pages of _page_size size starting from start. All argument
   // checking has been performed.

@@ -107,26 +110,26 @@
   // Returns true if the entire area is backed by committed memory.
   bool is_area_committed(size_t start_page, size_t size_in_pages) const;
   // Returns true if the entire area is not backed by committed memory.
   bool is_area_uncommitted(size_t start_page, size_t size_in_pages) const;
 
-  void initialize_with_page_size(ReservedSpace rs, size_t used_size, size_t page_size);
+  void initialize_with_page_size(ReservedSpace rs, size_t used_size, size_t page_size, MemoryType type);
  public:
 
   // Commit the given area of pages starting at start being size_in_pages large.
   // Returns true if the given area is zero filled upon completion.
-  bool commit(size_t start_page, size_t size_in_pages);
+  virtual bool commit(size_t start_page, size_t size_in_pages, uint node_index);
 
   // Uncommit the given area of pages starting at start being size_in_pages large.
-  void uncommit(size_t start_page, size_t size_in_pages);
+  virtual void uncommit(size_t start_page, size_t size_in_pages);
 
-  void pretouch(size_t start_page, size_t size_in_pages, WorkGang* pretouch_gang = NULL);
+  virtual void pretouch(size_t start_page, size_t size_in_pages, WorkGang* pretouch_gang = NULL);
 
   // Initialize the given reserved space with the given base address and the size
   // actually used.
   // Prefer to commit in page_size chunks.
-  G1PageBasedVirtualSpace(ReservedSpace rs, size_t used_size, size_t page_size);
+  G1PageBasedVirtualSpace(ReservedSpace rs, size_t used_size, size_t page_size, MemoryType type);
 
   // Destruction
   ~G1PageBasedVirtualSpace();
 
   // Amount of reserved memory.
< prev index next >