56 _no_cause_specified,
57 _allocation_failure,
58
59 /* implementation specific */
60
61 _tenured_generation_full,
62 _metadata_GC_threshold,
63
64 _cms_generation_full,
65 _cms_initial_mark,
66 _cms_final_remark,
67 _cms_concurrent_mark,
68
69 _old_generation_expanded_on_last_scavenge,
70 _old_generation_too_full_to_scavenge,
71 _adaptive_size_policy,
72
73 _g1_inc_collection_pause,
74 _g1_humongous_allocation,
75
76 _last_ditch_collection,
77
78 _dcmd_gc_run,
79
80 _last_gc_cause
81 };
82
83 inline static bool is_user_requested_gc(GCCause::Cause cause) {
84 return (cause == GCCause::_java_lang_system_gc ||
85 cause == GCCause::_dcmd_gc_run);
86 }
87
88 inline static bool is_serviceability_requested_gc(GCCause::Cause
89 cause) {
90 return (cause == GCCause::_jvmti_force_gc ||
91 cause == GCCause::_heap_inspection ||
92 cause == GCCause::_heap_dump);
93 }
94
95 // Causes for collection of the tenured gernation
|
56 _no_cause_specified,
57 _allocation_failure,
58
59 /* implementation specific */
60
61 _tenured_generation_full,
62 _metadata_GC_threshold,
63
64 _cms_generation_full,
65 _cms_initial_mark,
66 _cms_final_remark,
67 _cms_concurrent_mark,
68
69 _old_generation_expanded_on_last_scavenge,
70 _old_generation_too_full_to_scavenge,
71 _adaptive_size_policy,
72
73 _g1_inc_collection_pause,
74 _g1_humongous_allocation,
75
76 _shenandoah_init_mark,
77
78 _last_ditch_collection,
79
80 _dcmd_gc_run,
81
82 _last_gc_cause
83 };
84
85 inline static bool is_user_requested_gc(GCCause::Cause cause) {
86 return (cause == GCCause::_java_lang_system_gc ||
87 cause == GCCause::_dcmd_gc_run);
88 }
89
90 inline static bool is_serviceability_requested_gc(GCCause::Cause
91 cause) {
92 return (cause == GCCause::_jvmti_force_gc ||
93 cause == GCCause::_heap_inspection ||
94 cause == GCCause::_heap_dump);
95 }
96
97 // Causes for collection of the tenured gernation
|