001: /*
002: * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved.
003: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004: *
005: * This code is free software; you can redistribute it and/or modify it
006: * under the terms of the GNU General Public License version 2 only, as
007: * published by the Free Software Foundation. Sun designates this
008: * particular file as subject to the "Classpath" exception as provided
009: * by Sun in the LICENSE file that accompanied this code.
010: *
011: * This code is distributed in the hope that it will be useful, but WITHOUT
012: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014: * version 2 for more details (a copy is included in the LICENSE file that
015: * accompanied this code).
016: *
017: * You should have received a copy of the GNU General Public License version
018: * 2 along with this work; if not, write to the Free Software Foundation,
019: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020: *
021: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022: * CA 95054 USA or visit www.sun.com if you need additional information or
023: * have any questions.
024: */
025:
026: package sun.management;
027:
028: import sun.management.counter.Counter;
029:
030: /**
031: * Hotspot internal management interface for the compilation system.
032: */
033: public interface HotspotCompilationMBean {
034:
035: /**
036: * Returns the number of compiler threads.
037: *
038: * @return the number of compiler threads.
039: */
040: public int getCompilerThreadCount();
041:
042: /**
043: * Returns the statistic of all compiler threads.
044: *
045: * @return a list of {@link CompilerThreadStat} object containing
046: * the statistic of a compiler thread.
047: *
048: */
049: public java.util.List<CompilerThreadStat> getCompilerThreadStats();
050:
051: /**
052: * Returns the total number of compiles.
053: *
054: * @return the total number of compiles.
055: */
056: public long getTotalCompileCount();
057:
058: /**
059: * Returns the number of bailout compiles.
060: *
061: * @return the number of bailout compiles.
062: */
063: public long getBailoutCompileCount();
064:
065: /**
066: * Returns the number of invalidated compiles.
067: *
068: * @return the number of invalidated compiles.
069: */
070: public long getInvalidatedCompileCount();
071:
072: /**
073: * Returns the method information of the last compiled method.
074: *
075: * @return a {@link MethodInfo} of the last compiled method.
076: */
077: public MethodInfo getLastCompile();
078:
079: /**
080: * Returns the method information of the last failed compile.
081: *
082: * @return a {@link MethodInfo} of the last failed compile.
083: */
084: public MethodInfo getFailedCompile();
085:
086: /**
087: * Returns the method information of the last invalidated compile.
088: *
089: * @return a {@link MethodInfo} of the last invalidated compile.
090: */
091: public MethodInfo getInvalidatedCompile();
092:
093: /**
094: * Returns the number of bytes for the code of the
095: * compiled methods.
096: *
097: * @return the number of bytes for the code of the compiled methods.
098: */
099: public long getCompiledMethodCodeSize();
100:
101: /**
102: * Returns the number of bytes occupied by the compiled methods.
103: *
104: * @return the number of bytes occupied by the compiled methods.
105: */
106: public long getCompiledMethodSize();
107:
108: /**
109: * Returns a list of internal counters maintained in the Java
110: * virtual machine for the compilation system.
111: *
112: * @return a list of internal counters maintained in the VM
113: * for the compilation system.
114: */
115: public java.util.List<Counter> getInternalCompilerCounters();
116: }
|