[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compiling with jikes > 1.13
From: |
Eric Blake |
Subject: |
Re: Compiling with jikes > 1.13 |
Date: |
Sat, 09 Feb 2002 02:24:49 -0700 |
Mark Wielaard wrote:
>
> The rest of the verify output follows, but I have not analysed it yet.
>
> Cheers,
>
> Mark
>
> ------------------------------------------------------------------------
> Name: verify-jikes.libgcj
> verify-jikes.libgcj Type: Plain Text (text/plain)
> Encoding: quoted-printable
It looks like all the errors listed in this file were "incompatible type
on stack", in other words, side effects of your ClassLoader hack.
>
> Name: verify-jikes.gcj
> verify-jikes.gcj Type: Plain Text (text/plain)
> Encoding: quoted-printable
I have addressed all the errors listed in this file. With the attached
patch and the latest CVS version of jikes (as of 9:15 am UTC Feb 9),
this should be completely resolved. If you agree with me, then I will
tag the current version of jikes CVS as stable, and bump the version to
1.15b. Shall I go ahead and commit the patch?
--
This signature intentionally left boring.
Eric Blake address@hidden
BYU student, free software programmer
2002-02-09 Eric Blake <address@hidden>
* java/net/DatagramSocketImpl.java (setOption, getOption): Work
around gcj bug of wrong emitted qualifier for inherited method.
* java/net/SocketImpl.java (setOption, getOption): Ditto.
* java/util/WeakHashMap.java (WeakEntrySet): Work around jikes
1.15 bug of private constructors in inner classes.
* java/rmi/server/RMIClassLoader.java (MyClassLoader): Ditto.
* gnu/java/rmi/server/UnicastRemoteCall.java
(DummyObjectOutputStream, DummyObjectInputStream): Ditto.
Index: java/net/DatagramSocketImpl.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/net/DatagramSocketImpl.java,v
retrieving revision 1.11
diff -u -r1.11 DatagramSocketImpl.java
--- java/net/DatagramSocketImpl.java 22 Jan 2002 22:27:00 -0000 1.11
+++ java/net/DatagramSocketImpl.java 9 Feb 2002 09:17:31 -0000
@@ -1,5 +1,5 @@
/* DatagramSocketImpl.java -- Abstract class for UDP socket implementations
- Copyright (C) 1998, 1999 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -203,4 +203,34 @@
{
return localPort;
}
+
+ /**
+ * Sets the specified option on a socket to the passed in object. For
+ * options that take an integer argument, the passed in object is an
+ * <code>Integer</code>. For options that are set to on or off, the
+ * value passed will be a <code>Boolean</code>. The <code>option_id</code>
+ * parameter is one of the defined constants in the superinterface.
+ *
+ * @param option_id The identifier of the option
+ * @param val The value to set the option to
+ *
+ * @exception SocketException If an error occurs
+ */
+ public abstract void setOption(int option_id, Object val)
+ throws SocketException;
+
+ /**
+ * Returns the current setting of the specified option. The
+ * <code>Object</code> returned will be an <code>Integer</code> for options
+ * that have integer values. For options that are set to on or off, a
+ * <code>Boolean</code> will be returned. The <code>option_id</code>
+ * is one of the defined constants in the superinterface.
+ *
+ * @param option_id The option identifier
+ *
+ * @return The current value of the option
+ *
+ * @exception SocketException If an error occurs
+ */
+ public abstract Object getOption(int option_id) throws SocketException;
}
Index: java/net/SocketImpl.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/net/SocketImpl.java,v
retrieving revision 1.7
diff -u -r1.7 SocketImpl.java
--- java/net/SocketImpl.java 22 Jan 2002 22:27:00 -0000 1.7
+++ java/net/SocketImpl.java 9 Feb 2002 09:17:31 -0000
@@ -1,5 +1,5 @@
/* SocketImpl.java -- Abstract socket implementation class
- Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -234,4 +234,34 @@
return "[addr=" + address.toString() + ",port=" + Integer.toString(port) +
",localport=" + Integer.toString(localport) + "]";
}
+
+ /**
+ * Sets the specified option on a socket to the passed in object. For
+ * options that take an integer argument, the passed in object is an
+ * <code>Integer</code>. For options that are set to on or off, the
+ * value passed will be a <code>Boolean</code>. The <code>option_id</code>
+ * parameter is one of the defined constants in the superinterface.
+ *
+ * @param option_id The identifier of the option
+ * @param val The value to set the option to
+ *
+ * @exception SocketException If an error occurs
+ */
+ public abstract void setOption(int option_id, Object val)
+ throws SocketException;
+
+ /**
+ * Returns the current setting of the specified option. The
+ * <code>Object</code> returned will be an <code>Integer</code> for options
+ * that have integer values. For options that are set to on or off, a
+ * <code>Boolean</code> will be returned. The <code>option_id</code>
+ * is one of the defined constants in the superinterface.
+ *
+ * @param option_id The option identifier
+ *
+ * @return The current value of the option
+ *
+ * @exception SocketException If an error occurs
+ */
+ public abstract Object getOption(int option_id) throws SocketException;
}
Index: java/util/WeakHashMap.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/util/WeakHashMap.java,v
retrieving revision 1.10
diff -u -r1.10 WeakHashMap.java
--- java/util/WeakHashMap.java 22 Jan 2002 22:27:01 -0000 1.10
+++ java/util/WeakHashMap.java 9 Feb 2002 09:17:31 -0000
@@ -1,6 +1,6 @@
/* java.util.WeakHashMap -- a hashtable that keeps only weak references
to its keys, allowing the virtual machine to reclaim them
- Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -169,6 +169,13 @@
*/
private final class WeakEntrySet extends AbstractSet
{
+ /**
+ * Non-private constructor to reduce bytecode emitted.
+ */
+ WeakEntrySet()
+ {
+ }
+
/**
* Returns the size of this set.
*
Index: java/rmi/server/RMIClassLoader.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/rmi/server/RMIClassLoader.java,v
retrieving revision 1.2
diff -u -r1.2 RMIClassLoader.java
--- java/rmi/server/RMIClassLoader.java 22 Jan 2002 22:27:00 -0000 1.2
+++ java/rmi/server/RMIClassLoader.java 9 Feb 2002 09:17:31 -0000
@@ -1,5 +1,5 @@
/*
- Copyright (c) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (c) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -46,12 +46,20 @@
public class RMIClassLoader {
-static private class MyClassLoader extends ClassLoader {
-
-Class defineClass(String name, byte[] data) {
- return (defineClass(name, data, 0, data.length));
-}
-}
+ static private class MyClassLoader extends ClassLoader
+ {
+ /**
+ * Non-private constructor to reduce bytecode emitted.
+ */
+ MyClassLoader()
+ {
+ }
+
+ Class defineClass(String name, byte[] data)
+ {
+ return (defineClass(name, data, 0, data.length));
+ }
+ }
static private MyClassLoader loader = new MyClassLoader();
/**
Index: gnu/java/rmi/server/UnicastRemoteCall.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/gnu/java/rmi/server/UnicastRemoteCall.java,v
retrieving revision 1.2
diff -u -r1.2 UnicastRemoteCall.java
--- gnu/java/rmi/server/UnicastRemoteCall.java 22 Jan 2002 22:26:57 -0000
1.2
+++ gnu/java/rmi/server/UnicastRemoteCall.java 9 Feb 2002 09:17:31 -0000
@@ -1,5 +1,5 @@
/*
- Copyright (c) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (c) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -133,179 +133,232 @@
vec.addElement(obj);
}
-/**
- * Dummy object output class.
- */
-private class DummyObjectOutputStream implements ObjectOutput {
-
-public void writeBoolean(boolean v) throws IOException {
- vec.addElement(new Boolean(v));
-}
-
-public void writeByte(int v) throws IOException {
- vec.addElement(new Byte((byte)v));
-}
-
-public void writeChar(int v) throws IOException {
- vec.addElement(new Character((char)v));
-}
-
-public void writeDouble(double v) throws IOException {
- vec.addElement(new Double(v));
-}
-
-public void writeFloat(float v) throws IOException {
- vec.addElement(new Float(v));
-}
-
-public void writeInt(int v) throws IOException {
- vec.addElement(new Integer(v));
-}
-
-public void writeLong(long v) throws IOException {
- vec.addElement(new Long(v));
-}
-
-public void writeShort(int v) throws IOException {
- vec.addElement(new Short((short)v));
-}
-
-public void writeObject(Object obj) throws IOException {
- vec.addElement(obj);
-}
-
-public void write(byte b[]) throws IOException {
- throw new IOException("not required");
-}
-
-public void write(byte b[], int off, int len) throws IOException {
- throw new IOException("not required");
-}
-
-public void write(int b) throws IOException {
- throw new IOException("not required");
-}
-
-public void writeBytes(String s) throws IOException {
- throw new IOException("not required");
-}
-
-public void writeChars(String s) throws IOException {
- throw new IOException("not required");
-}
-
-public void writeUTF(String str) throws IOException {
- throw new IOException("not required");
-}
-
-public void flush() throws IOException {
-}
-
-public void close() throws IOException {
-}
-
-}
-
-/**
- * Dummy object input class.
- */
-private class DummyObjectInputStream implements ObjectInput {
-
-public boolean readBoolean() throws IOException {
- Object obj = vec.elementAt(ptr++);
- return (((Boolean)obj).booleanValue());
-}
+ /**
+ * Dummy object output class.
+ */
+ private class DummyObjectOutputStream implements ObjectOutput
+ {
+ /**
+ * Non-private constructor to reduce bytecode emitted.
+ */
+ DummyObjectOutputStream()
+ {
+ }
+
+ public void writeBoolean(boolean v) throws IOException
+ {
+ vec.addElement(new Boolean(v));
+ }
+
+ public void writeByte(int v) throws IOException
+ {
+ vec.addElement(new Byte((byte)v));
+ }
+
+ public void writeChar(int v) throws IOException
+ {
+ vec.addElement(new Character((char)v));
+ }
+
+ public void writeDouble(double v) throws IOException
+ {
+ vec.addElement(new Double(v));
+ }
+
+ public void writeFloat(float v) throws IOException
+ {
+ vec.addElement(new Float(v));
+ }
+
+ public void writeInt(int v) throws IOException
+ {
+ vec.addElement(new Integer(v));
+ }
+
+ public void writeLong(long v) throws IOException
+ {
+ vec.addElement(new Long(v));
+ }
+
+ public void writeShort(int v) throws IOException
+ {
+ vec.addElement(new Short((short)v));
+ }
+
+ public void writeObject(Object obj) throws IOException
+ {
+ vec.addElement(obj);
+ }
+
+ public void write(byte b[]) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public void write(byte b[], int off, int len) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public void write(int b) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public void writeBytes(String s) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public void writeChars(String s) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public void writeUTF(String str) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public void flush() throws IOException
+ {
+ }
+
+ public void close() throws IOException
+ {
+ }
+
+ }
+
+ /**
+ * Dummy object input class.
+ */
+ private class DummyObjectInputStream implements ObjectInput
+ {
+ /**
+ * Non-private constructor to reduce bytecode emitted.
+ */
+ DummyObjectInputStream()
+ {
+ }
+
+ public boolean readBoolean() throws IOException
+ {
+ Object obj = vec.elementAt(ptr++);
+ return (((Boolean)obj).booleanValue());
+ }
+
+ public byte readByte() throws IOException
+ {
+ Object obj = vec.elementAt(ptr++);
+ return (((Byte)obj).byteValue());
+ }
+
+ public char readChar() throws IOException
+ {
+ Object obj = vec.elementAt(ptr++);
+ return (((Character)obj).charValue());
+ }
+
+ public double readDouble() throws IOException
+ {
+ Object obj = vec.elementAt(ptr++);
+ return (((Double)obj).doubleValue());
+ }
+
+ public float readFloat() throws IOException
+ {
+ Object obj = vec.elementAt(ptr++);
+ return (((Float)obj).floatValue());
+ }
+
+ public int readInt() throws IOException
+ {
+ Object obj = vec.elementAt(ptr++);
+ return (((Integer)obj).intValue());
+ }
+
+ public long readLong() throws IOException
+ {
+ Object obj = vec.elementAt(ptr++);
+ return (((Long)obj).longValue());
+ }
+
+ public short readShort() throws IOException
+ {
+ Object obj = vec.elementAt(ptr++);
+ return (((Short)obj).shortValue());
+ }
+
+ public Object readObject() throws IOException
+ {
+ return (vec.elementAt(ptr++));
+ }
+
+ public int read(byte b[]) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public int read(byte b[], int off, int len) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public int read() throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public long skip(long n) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public int available() throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public void readFully(byte b[]) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public void readFully(byte b[], int off, int len) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public String readLine() throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public String readUTF() throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public int readUnsignedByte() throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public int readUnsignedShort() throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public int skipBytes(int n) throws IOException
+ {
+ throw new IOException("not required");
+ }
+
+ public void close() throws IOException
+ {
+ }
-public byte readByte() throws IOException {
- Object obj = vec.elementAt(ptr++);
- return (((Byte)obj).byteValue());
-}
-
-public char readChar() throws IOException {
- Object obj = vec.elementAt(ptr++);
- return (((Character)obj).charValue());
-}
-
-public double readDouble() throws IOException {
- Object obj = vec.elementAt(ptr++);
- return (((Double)obj).doubleValue());
-}
-
-public float readFloat() throws IOException {
- Object obj = vec.elementAt(ptr++);
- return (((Float)obj).floatValue());
-}
-
-public int readInt() throws IOException {
- Object obj = vec.elementAt(ptr++);
- return (((Integer)obj).intValue());
-}
-
-public long readLong() throws IOException {
- Object obj = vec.elementAt(ptr++);
- return (((Long)obj).longValue());
-}
-
-public short readShort() throws IOException {
- Object obj = vec.elementAt(ptr++);
- return (((Short)obj).shortValue());
-}
-
-public Object readObject() throws IOException {
- return (vec.elementAt(ptr++));
-}
-
-public int read(byte b[]) throws IOException {
- throw new IOException("not required");
-}
-
-public int read(byte b[], int off, int len) throws IOException {
- throw new IOException("not required");
-}
-
-public int read() throws IOException {
- throw new IOException("not required");
-}
-
-public long skip(long n) throws IOException {
- throw new IOException("not required");
-}
-
-public int available() throws IOException {
- throw new IOException("not required");
-}
-
-public void readFully(byte b[]) throws IOException {
- throw new IOException("not required");
-}
-
-public void readFully(byte b[], int off, int len) throws IOException {
- throw new IOException("not required");
-}
-
-public String readLine() throws IOException {
- throw new IOException("not required");
-}
-
-public String readUTF() throws IOException {
- throw new IOException("not required");
-}
-
-public int readUnsignedByte() throws IOException {
- throw new IOException("not required");
-}
-
-public int readUnsignedShort() throws IOException {
- throw new IOException("not required");
-}
-
-public int skipBytes(int n) throws IOException {
- throw new IOException("not required");
-}
-
-public void close() throws IOException {
-}
-
-}
+ }
}
- Re: Compiling with jikes > 1.13, (continued)
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/06
- Re: Compiling with jikes > 1.13, Tom Tromey, 2002/02/06
- Re: Compiling with jikes > 1.13, Eric Blake, 2002/02/06
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/07
- Re: Compiling with jikes > 1.13, Eric Blake, 2002/02/07
- Re: Compiling with jikes > 1.13, Eric Blake, 2002/02/08
- Re: Compiling with jikes > 1.13, Brian Jones, 2002/02/08
- Re: Compiling with jikes > 1.13,
Eric Blake <=
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/09
- Re: Compiling with jikes > 1.13, Eric Blake, 2002/02/09
- Re: Compiling with jikes > 1.13, Chris Gray, 2002/02/06
- Re: Compiling with jikes > 1.13, Stuart Ballard, 2002/02/04
- Re: Compiling with jikes > 1.13, Brian Jones, 2002/02/04
- Re: Compiling with jikes > 1.13, Chris Gray, 2002/02/05
Re: Compiling with jikes > 1.13, reali, 2002/02/05