Import GNU Classpath (classpath-0_97_2-release).

libjava/

2008-06-28  Matthias Klose  <doko@ubuntu.com>

        Import GNU Classpath (classpath-0_97_2-release).

        * Regenerate class and header files.
        * Regenerate auto* files.
        * gcj/javaprims.h: Define jobjectRefType.
        * jni.cc (_Jv_JNI_GetObjectRefType): New (stub only).
        (_Jv_JNIFunctions): Initialize GetObjectRefType.
        * gnu/classpath/jdwp/VMVirtualMachine.java,
        java/security/VMSecureRandom.java: Merge from classpath.
        * HACKING: Fix typo.
        * ChangeLog-2007: New file.
        * configure.ac: Set JAVAC, pass --disable-regen-headers to classpath.

libjava/classpath/

2008-06-28  Matthias Klose  <doko@ubuntu.com>

        * m4/ac_prog_javac.m4: Disable check for JAVAC, when
        not configured with --enable-java-maintainer-mode.
        * aclocal.m4, configure: Regenerate.
        * native/jni/gstreamer-peer/Makefile.am: Do not link with
        libclasspathnative.
        * native/jni/gstreamer-peer/Makefile.in: Regenerate.
        * tools/Makefile.am, lib/Makefile.am: Use JAVAC for setting
        JCOMPILER, drop flags not understood by gcj.

From-SVN: r137223
This commit is contained in:
Matthias Klose
2008-06-28 13:29:13 +00:00
parent 15c151967d
commit e0441a5bfb
1429 changed files with 32837 additions and 18119 deletions
@@ -37,8 +37,14 @@ exception statement from your version. */
package gnu.java.lang.management;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryPoolMXBean;
import java.lang.management.MemoryType;
import java.lang.management.MemoryUsage;
import java.util.Iterator;
import java.util.List;
/**
* Provides access to information about the memory
* management of the current invocation of the virtual
@@ -62,10 +68,7 @@ final class VMMemoryMXBeanImpl
*/
static MemoryUsage getHeapMemoryUsage()
{
Runtime runtime = Runtime.getRuntime();
long totalMem = runtime.totalMemory();
return new MemoryUsage(-1, totalMem - runtime.freeMemory(),
totalMem, runtime.maxMemory());
return getUsage(MemoryType.HEAP);
}
/**
@@ -76,7 +79,10 @@ final class VMMemoryMXBeanImpl
* @return an {@link java.lang.management.MemoryUsage} instance
* for non-heap memory.
*/
static native MemoryUsage getNonHeapMemoryUsage();
static MemoryUsage getNonHeapMemoryUsage()
{
return getUsage(MemoryType.NON_HEAP);
}
/**
* Returns the number of objects ready to be garbage collected.
@@ -106,4 +112,45 @@ final class VMMemoryMXBeanImpl
*/
static native void setVerbose(boolean verbose);
/**
* Totals the memory usage from all the pools that match
* the given type.
*
* @param type the type of memory pools to accumulate
* (heap or non-heap).
* @return the memory usage overall.
*/
private static MemoryUsage getUsage(MemoryType type) {
long init = 0, committed = 0, used = 0, max = 0;
Iterator pools =
ManagementFactory.getMemoryPoolMXBeans().iterator();
while (pools.hasNext())
{
MemoryPoolMXBean pool = (MemoryPoolMXBean) pools.next();
if (pool.getType() == type)
{
MemoryUsage usage = pool.getUsage();
if (init != -1)
{
long poolInit = usage.getInit();
if (poolInit == -1)
init = -1;
else
init += poolInit;
}
committed += usage.getCommitted();
used += usage.getUsed();
if (max != -1)
{
long poolMax = usage.getMax();
if (poolMax == -1)
max = -1;
else
max += poolMax;
}
}
}
return new MemoryUsage(init, used, committed, max);
}
}