< prev index next >

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

Print this page

        

*** 42,59 **** // Current active node ids. int* _node_ids; // Total number of node ids. uint _num_active_node_ids; - // Base address of Java heap - void* _base_address; // HeapRegion size size_t _region_size; // Necessary when touching memory. size_t _page_size; - void* base_address() const; size_t region_size() const; size_t page_size() const; // Returns node index of the given node id. // Precondition: node_id is an active node id. --- 42,56 ----
*** 76,90 **** static G1NUMA* create(); ~G1NUMA(); ! // Set base address of heap, heap region size and page size after those values // are determined at G1CollectedHeap::initialize(). ! void set_region_info(void* base_address, size_t region_size, size_t page_size); ! // Print current active memory node count. uint num_active_nodes() const; bool is_enabled() const; int numa_id(int index) const; --- 73,87 ---- static G1NUMA* create(); ~G1NUMA(); ! // Sets heap region size and page size after those values // are determined at G1CollectedHeap::initialize(). ! void set_region_info(size_t region_size, size_t page_size); ! // Returns active memory node count. uint num_active_nodes() const; bool is_enabled() const; int numa_id(int index) const;
*** 99,119 **** // This assumes that HeapRegions are evenly spit, so we can decide preferred index // with the given HeapRegion index. // Result is less than num_active_nodes(). uint preferred_node_index_for_index(uint region_index) const; ! // Retrieve node index of the given address. // Result is less than num_active_nodes() or is UnknownNodeIndex. // Precondition: address is in reserved range for heap. uint index_of_address(HeapWord* address) const; // If AlwaysPreTouch is enabled, return actual node index via system call. // If disabled, return preferred node index of the given heap region. uint index_for_region(HeapRegion* hr) const; ! // Request the given memory area to be located at the given node index. ! void request_memory_on_node(size_t start_page, size_t size_in_pages, uint region_index); // Returns maximum search depth which is used to limit heap region search iterations. // The number of active nodes, page size and heap region size are considered. uint max_search_depth() const; }; --- 96,116 ---- // This assumes that HeapRegions are evenly spit, so we can decide preferred index // with the given HeapRegion index. // Result is less than num_active_nodes(). uint preferred_node_index_for_index(uint region_index) const; ! // Retrieves node index of the given address. // Result is less than num_active_nodes() or is UnknownNodeIndex. // Precondition: address is in reserved range for heap. uint index_of_address(HeapWord* address) const; // If AlwaysPreTouch is enabled, return actual node index via system call. // If disabled, return preferred node index of the given heap region. uint index_for_region(HeapRegion* hr) const; ! // Requests the given memory area to be located at the given node index. ! void request_memory_on_node(void* aligned_address, size_t size_in_bytes, uint region_index); // Returns maximum search depth which is used to limit heap region search iterations. // The number of active nodes, page size and heap region size are considered. uint max_search_depth() const; };
< prev index next >