summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/vm/reference/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/vm/reference/java')
-rw-r--r--libjava/classpath/vm/reference/java/lang/VMClass.java32
-rw-r--r--libjava/classpath/vm/reference/java/lang/VMClassLoader.java7
-rw-r--r--libjava/classpath/vm/reference/java/net/VMNetworkInterface.java10
-rw-r--r--libjava/classpath/vm/reference/java/nio/VMDirectByteBuffer.java23
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);
}
OpenPOWER on IntegriCloud