diff -r df6f2350edfa -r 6530de931b8e src/hotspot/share/gc/g1/g1ParScanThreadState.hpp --- a/src/hotspot/share/gc/g1/g1ParScanThreadState.hpp Wed Nov 13 10:49:32 2019 -0800 +++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.hpp Wed Nov 13 10:51:41 2019 -0800 @@ -95,6 +95,13 @@ size_t _num_optional_regions; G1OopStarChunkedList* _oops_into_optional_regions; + G1NUMA* _numa; + + // Records how many object allocations happened at each node during copy to survivor. + // Only starts recording when log of gc+heap+numa is enabled and its data is + // transferred when flushed. + size_t* _obj_alloc_stat; + public: G1ParScanThreadState(G1CollectedHeap* g1h, G1RedirtyCardsQueueSet* rdcqs, @@ -207,6 +214,12 @@ inline bool is_partially_trimmed() const; inline void trim_queue_to_threshold(uint threshold); + + // NUMA statistics related methods. + inline void initialize_numa_stats(); + inline void flush_numa_stats(); + inline void update_numa_stats(uint node_index); + public: oop copy_to_survivor_space(G1HeapRegionAttr const region_attr, oop const obj, markWord const old_mark);