58 _no_cause_specified,
59 _allocation_failure,
60
61 /* implementation specific */
62
63 _tenured_generation_full,
64 _metadata_GC_threshold,
65 _metadata_GC_clear_soft_refs,
66
67 _cms_generation_full,
68 _cms_initial_mark,
69 _cms_final_remark,
70 _cms_concurrent_mark,
71
72 _old_generation_expanded_on_last_scavenge,
73 _old_generation_too_full_to_scavenge,
74 _adaptive_size_policy,
75
76 _g1_inc_collection_pause,
77 _g1_humongous_allocation,
78
79 _dcmd_gc_run,
80
81 _z_timer,
82 _z_warmup,
83 _z_allocation_rate,
84 _z_allocation_stall,
85 _z_proactive,
86
87 _last_gc_cause
88 };
89
90 inline static bool is_user_requested_gc(GCCause::Cause cause) {
91 return (cause == GCCause::_java_lang_system_gc ||
92 cause == GCCause::_dcmd_gc_run);
93 }
94
95 inline static bool is_serviceability_requested_gc(GCCause::Cause
96 cause) {
97 return (cause == GCCause::_jvmti_force_gc ||
|
58 _no_cause_specified,
59 _allocation_failure,
60
61 /* implementation specific */
62
63 _tenured_generation_full,
64 _metadata_GC_threshold,
65 _metadata_GC_clear_soft_refs,
66
67 _cms_generation_full,
68 _cms_initial_mark,
69 _cms_final_remark,
70 _cms_concurrent_mark,
71
72 _old_generation_expanded_on_last_scavenge,
73 _old_generation_too_full_to_scavenge,
74 _adaptive_size_policy,
75
76 _g1_inc_collection_pause,
77 _g1_humongous_allocation,
78 _g1_periodic_collection,
79
80 _dcmd_gc_run,
81
82 _z_timer,
83 _z_warmup,
84 _z_allocation_rate,
85 _z_allocation_stall,
86 _z_proactive,
87
88 _last_gc_cause
89 };
90
91 inline static bool is_user_requested_gc(GCCause::Cause cause) {
92 return (cause == GCCause::_java_lang_system_gc ||
93 cause == GCCause::_dcmd_gc_run);
94 }
95
96 inline static bool is_serviceability_requested_gc(GCCause::Cause
97 cause) {
98 return (cause == GCCause::_jvmti_force_gc ||
|