< 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 >