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