mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-24 04:54:40 +02:00
Initial load
This commit is contained in:
parent
686d76f772
commit
8153779ad3
2894 changed files with 911801 additions and 0 deletions
116
hotspot/src/share/vm/gc_interface/gcCause.cpp
Normal file
116
hotspot/src/share/vm/gc_interface/gcCause.cpp
Normal file
|
@ -0,0 +1,116 @@
|
|||
/*
|
||||
* Copyright 2002-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
* have any questions.
|
||||
*
|
||||
*/
|
||||
|
||||
# include "incls/_precompiled.incl"
|
||||
# include "incls/_gcCause.cpp.incl"
|
||||
|
||||
const char* GCCause::to_string(GCCause::Cause cause) {
|
||||
switch (cause) {
|
||||
case _java_lang_system_gc:
|
||||
return "System.gc()";
|
||||
|
||||
case _full_gc_alot:
|
||||
return "FullGCAlot";
|
||||
|
||||
case _scavenge_alot:
|
||||
return "ScavengeAlot";
|
||||
|
||||
case _allocation_profiler:
|
||||
return "Allocation Profiler";
|
||||
|
||||
case _jvmti_force_gc:
|
||||
return "JvmtiEnv ForceGarbageCollection";
|
||||
|
||||
case _no_gc:
|
||||
return "No GC";
|
||||
|
||||
case _allocation_failure:
|
||||
return "Allocation Failure";
|
||||
|
||||
case _gc_locker:
|
||||
return "GCLocker Initiated GC";
|
||||
|
||||
case _heap_inspection:
|
||||
return "Heap Inspection Initiated GC";
|
||||
|
||||
case _heap_dump:
|
||||
return "Heap Dump Initiated GC";
|
||||
|
||||
case _tenured_generation_full:
|
||||
return "Tenured Generation Full";
|
||||
|
||||
case _permanent_generation_full:
|
||||
return "Permanent Generation Full";
|
||||
|
||||
case _cms_generation_full:
|
||||
return "CMS Generation Full";
|
||||
|
||||
case _cms_initial_mark:
|
||||
return "CMS Initial Mark";
|
||||
|
||||
case _cms_final_remark:
|
||||
return "CMS Final Remark";
|
||||
|
||||
case _old_generation_expanded_on_last_scavenge:
|
||||
return "Old Generation Expanded On Last Scavenge";
|
||||
|
||||
case _old_generation_too_full_to_scavenge:
|
||||
return "Old Generation Too Full To Scavenge";
|
||||
|
||||
case _last_ditch_collection:
|
||||
return "Last ditch collection";
|
||||
|
||||
case _last_gc_cause:
|
||||
return "ILLEGAL VALUE - last gc cause - ILLEGAL VALUE";
|
||||
|
||||
default:
|
||||
return "unknown GCCause";
|
||||
}
|
||||
ShouldNotReachHere();
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
|
||||
bool GCCause::is_for_full_collection(GCCause::Cause cause) {
|
||||
bool result;
|
||||
|
||||
// There are more GCCause::Cause types than listed here.
|
||||
// For brevity, we list only those that cause full collections.
|
||||
switch (cause) {
|
||||
case _allocation_failure:
|
||||
case _tenured_generation_full:
|
||||
case _permanent_generation_full:
|
||||
case _cms_generation_full:
|
||||
case _last_ditch_collection:
|
||||
result = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
result = false;
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif // PRODUCT
|
Loading…
Add table
Add a link
Reference in a new issue