--- old/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp 2019-09-21 06:25:10.189962114 -0700 +++ new/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp 2019-09-21 06:25:09.857962126 -0700 @@ -30,6 +30,7 @@ #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 @@ -74,6 +75,8 @@ // 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); @@ -109,22 +112,22 @@ // 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();