1 /*
   2  * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 package sun.jvm.hotspot.gc.shared;
  26 
  27 //These definitions should be kept in sync with the definitions in the HotSpot code.
  28 
  29 public enum GCCause {
  30   _java_lang_system_gc ("System.gc()"),
  31   _full_gc_alot ("FullGCAlot"),
  32   _scavenge_alot ("ScavengeAlot"),
  33   _allocation_profiler ("Allocation Profiler"),
  34   _jvmti_force_gc ("JvmtiEnv ForceGarbageCollection"),
  35   _gc_locker ("GCLocker Initiated GC"),
  36   _heap_inspection ("Heap Inspection Initiated GC"),
  37   _heap_dump ("Heap Dump Initiated GC"),
  38   _wb_young_gc ("WhiteBox Initiated Young GC"),
  39   _wb_conc_mark ("WhiteBox Initiated Concurrent Mark"),
  40   _wb_full_gc ("WhiteBox Initiated Full GC"),
  41 
  42   _no_gc ("No GC"),
  43   _no_cause_specified ("Unknown GCCause"),
  44   _allocation_failure ("Allocation Failure"),
  45 
  46   _tenured_generation_full ("Tenured Generation Full"),
  47   _metadata_GC_threshold ("Metadata GC Threshold"),
  48   _metadata_GC_clear_soft_refs ("Metadata GC Clear Soft References"),
  49 
  50   _cms_generation_full ("CMS Generation Full"),
  51   _cms_initial_mark ("CMS Initial Mark"),
  52   _cms_final_remark ("CMS Final Remark"),
  53   _cms_concurrent_mark ("CMS Concurrent Mark"),
  54 
  55   _old_generation_expanded_on_last_scavenge ("Old Generation Expanded On Last Scavenge"),
  56   _old_generation_too_full_to_scavenge ("Old Generation Too Full To Scavenge"),
  57   _adaptive_size_policy ("Ergonomics"),
  58 
  59   _g1_inc_collection_pause ("G1 Evacuation Pause"),
  60   _g1_humongous_allocation ("G1 Humongous Allocation"),
  61 
  62   _dcmd_gc_run ("Diagnostic Command"),
  63 
  64   _last_gc_cause ("ILLEGAL VALUE - last gc cause - ILLEGAL VALUE");
  65 
  66   private final String value;
  67 
  68   GCCause(String val) {
  69     this.value = val;
  70   }
  71   public String value() {
  72     return value;
  73   }
  74 }