38 // They get printed as part of the Metaspace report (e.g. via jcmd VM.metaspace)
39
40 class InternalStats : public AllStatic {
41
42 // Note: all counters which are modified on the classloader local allocation path
43 // (not under ExpandLock protection) have to be atomic.
44
45 #define ALL_MY_COUNTERS(x, x_atomic) \
46 \
47 /* Number of allocations. */ \
48 DEBUG_ONLY(x_atomic(num_allocs)) \
49 \
50 /* Number of external deallocations */ \
51 /* (excluding retired chunk remains) */ \
52 DEBUG_ONLY(x_atomic(num_deallocs)) \
53 \
54 /* Number of times an allocation was satisfied */ \
55 /* from deallocated blocks. */ \
56 DEBUG_ONLY(x_atomic(num_allocs_from_deallocated_blocks)) \
57 \
58 /* Number of times an arena retired a chunk */ \
59 DEBUG_ONLY(x_atomic(num_chunks_retired)) \
60 \
61 /* Number of times an allocation failed */ \
62 /* because we hit a limit. */ \
63 x_atomic(num_allocs_failed_limit) \
64 \
65 /* Number of times an arena was born ... */ \
66 x_atomic(num_arena_births) \
67 /* ... and died. */ \
68 x_atomic(num_arena_deaths) \
69 \
70 /* Number of times VirtualSpaceNode were */ \
71 /* born... */ \
72 x(num_vsnodes_births) \
73 /* ... and died. */ \
74 x(num_vsnodes_deaths) \
75 \
76 /* Number of times we committed space. */ \
77 x(num_space_committed) \
|
38 // They get printed as part of the Metaspace report (e.g. via jcmd VM.metaspace)
39
40 class InternalStats : public AllStatic {
41
42 // Note: all counters which are modified on the classloader local allocation path
43 // (not under ExpandLock protection) have to be atomic.
44
45 #define ALL_MY_COUNTERS(x, x_atomic) \
46 \
47 /* Number of allocations. */ \
48 DEBUG_ONLY(x_atomic(num_allocs)) \
49 \
50 /* Number of external deallocations */ \
51 /* (excluding retired chunk remains) */ \
52 DEBUG_ONLY(x_atomic(num_deallocs)) \
53 \
54 /* Number of times an allocation was satisfied */ \
55 /* from deallocated blocks. */ \
56 DEBUG_ONLY(x_atomic(num_allocs_from_deallocated_blocks)) \
57 \
58 /* Number of times an non-class allocation was */ \
59 /* satisfied via deallocated blocks from */ \
60 /* class space. */ \
61 DEBUG_ONLY(x_atomic(num_allocs_stolen_from_class_space)) \
62 \
63 /* Number of splinter blocks added from */ \
64 /* Klass alignment gaps */ \
65 DEBUG_ONLY(x_atomic(num_klass_alignment_splinters_added)) \
66 \
67 /* Number of times an arena retired a chunk */ \
68 DEBUG_ONLY(x_atomic(num_chunks_retired)) \
69 \
70 /* Number of times an allocation failed */ \
71 /* because we hit a limit. */ \
72 x_atomic(num_allocs_failed_limit) \
73 \
74 /* Number of times an arena was born ... */ \
75 x_atomic(num_arena_births) \
76 /* ... and died. */ \
77 x_atomic(num_arena_deaths) \
78 \
79 /* Number of times VirtualSpaceNode were */ \
80 /* born... */ \
81 x(num_vsnodes_births) \
82 /* ... and died. */ \
83 x(num_vsnodes_deaths) \
84 \
85 /* Number of times we committed space. */ \
86 x(num_space_committed) \
|