--- old/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp 2019-10-08 20:01:34.516844179 -0700 +++ new/src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp 2019-10-08 20:01:34.144844167 -0700 @@ -74,6 +74,8 @@ // Indicates whether the committed space should be executable. bool _executable; + MemoryType _memory_type; + // 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,9 +111,12 @@ // 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: + // Request the given memory to be located at the given node index. + void request_memory_on_node(size_t start_page, size_t size_in_pages, uint node_index); + // 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); @@ -124,7 +129,7 @@ // 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();