Imported GNU Classpath 0.92

2006-08-14  Mark Wielaard  <mark@klomp.org>

       Imported GNU Classpath 0.92
       * HACKING: Add more importing hints. Update automake version
       requirement.

       * configure.ac (gconf-peer): New enable AC argument.
       Add --disable-gconf-peer and --enable-default-preferences-peer
       to classpath configure when gconf is disabled.
       * scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
       gnu/java/awt/dnd/peer/gtk to bc. Classify
       gnu/java/security/Configuration.java as generated source file.

       * gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
       gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
       gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
       gnu/java/lang/management/VMThreadMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryMXBeanImpl.java,
       gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
       classes.
       * java/lang/management/VMManagementFactory.java: Likewise.
       * java/net/VMURLConnection.java: Likewise.
       * gnu/java/nio/VMChannel.java: Likewise.

       * java/lang/Thread.java (getState): Add stub implementation.
       * java/lang/Class.java (isEnum): Likewise.
       * java/lang/Class.h (isEnum): Likewise.

       * gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.

       * javax/naming/spi/NamingManager.java: New override for StackWalker
       functionality.

       * configure, sources.am, Makefile.in, gcj/Makefile.in,
       include/Makefile.in, testsuite/Makefile.in: Regenerated.

From-SVN: r116139
This commit is contained in:
Mark Wielaard 2006-08-14 23:12:35 +00:00
parent abab460491
commit ac1ed908de
1294 changed files with 99479 additions and 35933 deletions

View file

@ -1,5 +1,5 @@
/* VMFile.java -- Class for methods natively accessing files
Copyright (C) 2004 Free Software Foundation, Inc.
Copyright (C) 2004, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -210,10 +210,10 @@ final class VMFile
/**
* This method returns a canonical representation of the pathname of
* the given path. The actual form of the canonical representation is
* different. On the GNU system, the canonical form differs from the
* absolute form in that all relative file references to "." and ".."
* are resolved and removed.
* this file. The actual form of the canonical representation is
* system-dependent. On the GNU system, conversion to canonical
* form involves the removal of redundant separators, references to
* "." and "..", and symbolic links.
* <p>
* Note that this method, unlike the other methods which return path
* names, can throw an IOException. This is because native method
@ -221,9 +221,5 @@ final class VMFile
*
* @exception IOException If an error occurs
*/
public static String toCanonicalForm(String path) throws IOException
{
// FIXME: this only works on UNIX
return PlatformHelper.toCanonicalForm(path);
}
public static native String toCanonicalForm(String path) throws IOException;
}

View file

@ -75,6 +75,10 @@ final class VMClassLoader
/** packages loaded by the bootstrap class loader */
static final HashMap definedPackages = new HashMap();
/** jars from property java.boot.class.path */
static final HashMap bootjars = new HashMap();
/**
* Converts the array string of native package names to
* Packages. The packages are then put into the
@ -168,10 +172,6 @@ final class VMClassLoader
return (URL)e.nextElement();
return null;
}
/** jars from property java.boot.class.path */
static final HashMap bootjars = new HashMap();
/**
* Helper to get a list of resources from the bootstrap class loader.
*

View file

@ -135,7 +135,10 @@ final class VMSystem
* @return the current time
* @see java.util.Date
*/
public static native long currentTimeMillis();
public static long currentTimeMillis()
{
return nanoTime() / 1000000L;
}
/**
* <p>
@ -162,10 +165,7 @@ final class VMSystem
* @return the time of a system timer in nanoseconds.
* @since 1.5
*/
public static long nanoTime()
{
return currentTimeMillis() * 1000;
}
public static native long nanoTime();
/**
* Returns a list of 'name=value' pairs representing the current environment

View file

@ -446,4 +446,16 @@ final class VMThread
return false;
}
}
/**
* Returns the current state of the thread.
* The value must be one of "BLOCKED", "NEW",
* "RUNNABLE", "TERMINATED", "TIMED_WAITING" or
* "WAITING".
*
* @return a string corresponding to one of the
* thread enumeration states specified above.
*/
native String getState();
}

View file

@ -0,0 +1,75 @@
/* VMManagementFactory.java - VM interface for obtaining system beans.
Copyright (C) 2006 Free Software Foundation
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath 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 for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.lang.management;
/**
* Provides lists of resources required by the
* {@link java.lang.management.ManagementFactory} for
* creating beans.
*
* @author Andrew John Hughes (gnu_andrew@member.fsf.org)
* @since 1.5
*/
final class VMManagementFactory
{
/**
* Return a list of the names of the currently available
* memory pools within the virtual machine.
*
* @return a list of memory pool names.
*/
static native String[] getMemoryPoolNames();
/**
* Return a list of the names of the currently available
* memory managers within the virtual machine. This should
* not include the garbage collectors listed below.
*
* @return a list of memory manager names.
*/
static native String[] getMemoryManagerNames();
/**
* Return a list of the names of the currently available
* garbage collectors within the virtual machine.
*
* @return a list of garbage collector names.
*/
static native String[] getGarbageCollectorNames();
}

View file

@ -0,0 +1,79 @@
/* VMURLConnection - VM code for URLConnection
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath 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 for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.net;
import gnu.classpath.Configuration;
import java.io.IOException;
import java.io.InputStream;
final class VMURLConnection
{
public static final int LENGTH = 1024;
static
{
if (Configuration.INIT_LOAD_LIBRARY)
System.loadLibrary("javanet");
init();
}
private static native void init();
private static native String guessContentTypeFromBuffer(byte[] b, int valid);
/**
* This is called from URLConnection to guess the mime type of a
* stream. This method may return null to indicate that it could
* not guess a type.
*/
static String guessContentTypeFromStream(InputStream is)
throws IOException
{
if (! is.markSupported())
return null;
is.mark(LENGTH);
byte[] bytes = new byte[LENGTH];
int r = is.read(bytes);
if (r < 0)
return null;
is.reset();
return guessContentTypeFromBuffer(bytes, r);
}
}