diff options
Diffstat (limited to 'libjava/classpath/vm/reference/java')
4 files changed, 35 insertions, 37 deletions
diff --git a/libjava/classpath/vm/reference/java/lang/VMClass.java b/libjava/classpath/vm/reference/java/lang/VMClass.java index 0ca0329ba30..a48e299ee6c 100644 --- a/libjava/classpath/vm/reference/java/lang/VMClass.java +++ b/libjava/classpath/vm/reference/java/lang/VMClass.java @@ -245,18 +245,22 @@ final class VMClass static native ClassLoader getClassLoader(Class klass); /** - * VM implementors are free to make this method a noop if - * the default implementation is acceptable. + * Load the requested class and record the specified loader as the + * initiating class loader. * * @param name the name of the class to find + * @param initialize should the class initializer be run? + * @param loader the class loader to use (or null for the bootstrap loader) * @return the Class object representing the class or null for noop * @throws ClassNotFoundException if the class was not found by the - * classloader + * class loader * @throws LinkageError if linking the class fails * @throws ExceptionInInitializerError if the class loads, but an exception * occurs during initialization */ - static native Class forName(String name) throws ClassNotFoundException; + static native Class forName(String name, boolean initialize, + ClassLoader loader) + throws ClassNotFoundException; /** * Return whether this class is an array type. @@ -268,26 +272,6 @@ final class VMClass static native boolean isArray(Class klass); /** - * This method should trigger class initialization (if the - * class hasn't already been initialized) - * - * @param klass the Class object that's calling us - * @throws ExceptionInInitializerError if an exception - * occurs during initialization - */ - static native void initialize(Class klass); - - /** - * Load an array class. - * - * @return the Class object representing the class - * @throws ClassNotFoundException if the class was not found by the - * classloader - */ - static native Class loadArrayClass(String name, ClassLoader classloader) - throws ClassNotFoundException; - - /** * Throw a checked exception without declaring it. */ static native void throwException(Throwable t); diff --git a/libjava/classpath/vm/reference/java/lang/VMClassLoader.java b/libjava/classpath/vm/reference/java/lang/VMClassLoader.java index c62f0a4d98e..4fe12403622 100644 --- a/libjava/classpath/vm/reference/java/lang/VMClassLoader.java +++ b/libjava/classpath/vm/reference/java/lang/VMClassLoader.java @@ -282,4 +282,11 @@ final class VMClassLoader { return ClassLoader.defaultGetSystemClassLoader(); } + + /** + * Find the class if this class loader previously defined this class + * or if this class loader has been recorded as the initiating class loader + * for this class. + */ + static native Class findLoadedClass(ClassLoader cl, String name); } diff --git a/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java b/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java index af71ce294d1..d63de84529b 100644 --- a/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java +++ b/libjava/classpath/vm/reference/java/net/VMNetworkInterface.java @@ -61,6 +61,16 @@ final class VMNetworkInterface System.loadLibrary("javanet"); } + /** + * Returns a Vector of InetAddresses. The returned value will be + * 'condensed', meaning that all elements with the same interface + * name will be collapesed into one InetAddress for that name + * containing all addresses before the returning the result to the + * user. This means the native method can be implemented in a naive + * way mapping each address/interface to a name even if that means + * that the Vector contains multiple InetAddresses with the same + * interface name. + */ public static native Vector getInterfaces() throws SocketException; } diff --git a/libjava/classpath/vm/reference/java/nio/VMDirectByteBuffer.java b/libjava/classpath/vm/reference/java/nio/VMDirectByteBuffer.java index e42f5038130..93a83883a0e 100644 --- a/libjava/classpath/vm/reference/java/nio/VMDirectByteBuffer.java +++ b/libjava/classpath/vm/reference/java/nio/VMDirectByteBuffer.java @@ -1,4 +1,4 @@ -/* VMDirectByteBuffer.java -- +/* VMDirectByteBuffer.java -- Copyright (C) 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,7 +39,7 @@ exception statement from your version. */ package java.nio; import gnu.classpath.Configuration; -import gnu.classpath.RawData; +import gnu.classpath.Pointer; final class VMDirectByteBuffer { @@ -50,17 +50,14 @@ final class VMDirectByteBuffer { System.loadLibrary("javanio"); } - - init(); } - private static native void init(); - - static native RawData allocate (int capacity); - static native void free(RawData address); - static native byte get(RawData address, int index); - static native void get(RawData address, int index, byte[] dst, int offset, int length); - static native void put(RawData address, int index, byte value); - static native RawData adjustAddress(RawData address, int offset); - static native void shiftDown(RawData address, int dst_offset, int src_offset, int count); + static native Pointer allocate (int capacity); + static native void free(Pointer address); + static native byte get(Pointer address, int index); + static native void get(Pointer address, int index, byte[] dst, int offset, int length); + static native void put(Pointer address, int index, byte value); + static native void put(Pointer address, int index, byte[] src, int offset, int length); + static native Pointer adjustAddress(Pointer address, int offset); + static native void shiftDown(Pointer address, int dst_offset, int src_offset, int count); } |