[kaffe] CVS kaffe (guilhem): Big NIO merge & a little fix for java.text & a little cleanup for VMObjectStream
Kaffe CVS
cvs-commits at kaffe.org
Mon Apr 12 04:57:02 PDT 2004
PatchSet 4635
Date: 2004/04/12 11:39:52
Author: guilhem
Branch: HEAD
Tag: (none)
Log:
Big NIO merge & a little fix for java.text & a little cleanup for VMObjectStreamClass
2004-04-11 Guilhem Lavaux <guilhem at kaffe.org>
* configure.ac: Added libraries/clib/nio to KAFFELIBRARYPATH.
* libraries/javalib/bootstrap.classlist: Added some new NIO classes.
* libraries/javalib/Klasses.jar.bootstrap: Regenerated.
* include/jsyscall.h: Fixed punctuation.
* include/Makefile.am: Added some new JNI headers to generate.
* libraries/clib/io/FileDescriptor.c: Removed.
* libraries/clib/net/PlainSocketImpl.c,
libraries/clib/net/PlainDatagramSocketImpl.c:
Removed all occurrences of FileDescriptor.
* kaffe/kaffevm/systems/unix-jthreads/syscalls.c: Fixed flags
generation.
* libraries/clib/native/ObjectInputStream.c,
libraries/clib/io/ObjectInputStream.c: Moved ObjectInputStream native
methods into the IO library
(setXXNative0): Upgraded to latest GNU Classpath version.
* libraries/javalib/java/io/VMObjectStreamClass.java,
libraries/javalib/java/io/ObjectStreamField.java
(setXXNative,setXXField): Cleant up exception handling.
* libraries/clib/native/System.c:
Added a new property for NIO: gnu.cpu.endian
* libraries/clib/native/UNIXProcess.c,
libraries/javalib/kaffe/lang/UNIXProcess.java: Upgraded the code
to use NIO entry code instead of standard IO.
* libraries/clib/nio/Channels.c,
libraries/clib/nio/FileChannelImpl.c: New files.
* libraries/clib/nio/DirectByteBufferImpl.c: Use JNI now.
(shiftDown, adjustAddress, getImpl) New methods.
* libraries/clib/nio/NIOServerSocket.c: Use JNI.
* libraries/javalib/gnu/java/net/PlainDatagramSocketImpl.java
(PlainDatagramSocketImpl): Do not use FileDescriptor anymore.
(RECEIVE_LOCK, SEND_LOCK): New private fields.
(send, receive): Call send0 and receive0 in a synchronized space.
(send0, receive0): New name for native methods.
* libraries/javalib/gnu/java/net/PlainSocketImpl.java
(PlainSocketImpl): Do not use FileDescriptor anymore.
GNU Classpath text synchronization.
2004-04-02 Tom Tromey <tromey at redhat.com>
* java/text/AttributedCharacterIterator.java (Attribute): Removed
redundant modifiers.
GNU Classpath NIO synchronization.
2004-04-09 Jeroen Frijters <jeroen at frijters.net>
* gnu/java/nio/channels/FileChannelImpl.java: (fd, mode) Made private.
(length, pos) Removed. (FileChannelImpl (int, int)) Removed.
(implPosition, seek, implTruncate, unlock, lock) Added throws clause.
2004-04-09 Jeroen Frijters <jeroen at frijters.net>
* java/io/FileDescriptor.java: (FileDescriptor) Added public
constructor. (valid) Added null check.
2004-04-08 Michael Koch <konqueror at gmx.de>
* java/io/BufferedWriter.java,
java/io/FilterInputStream.java,
java/io/ObjectInputStream.java:
More javadoc and coding style work.
2004-04-08 Michael Koch <konqueror at gmx.de>
* java/nio/DirectByteBufferImpl.java,
java/nio/MappedByteBuffer.java,
java/nio/MappedByteBufferImpl.java:
Forgot to commit this during the big NIO commit.
2004-04-08 Michael Koch <konqueror at gmx.de>
* java/nio/channels/DatagramChannel.java,
java/nio/channels/FileChannel.java,
java/nio/channels/FileLock.java,
java/nio/channels/Pipe.java,
java/nio/channels/ServerSocketChannel.java,
java/nio/channels/SocketChannel.java,
java/nio/channels/spi/AbstractInterruptibleChannel.java,
java/nio/channels/spi/AbstractSelectableChannel.java,
java/nio/channels/spi/AbstractSelectionKey.java,
java/nio/channels/spi/AbstractSelector.java,
java/nio/channels/spi/SelectorProvider.java:
Reworked coding style and javadocs.
2004-04-08 Michael Koch <konqueror at gmx.de>
* java/nio/Buffer.java,
java/nio/ByteBufferImpl.java,
java/nio/CharBufferImpl.java,
java/nio/DoubleBufferImpl.java,
java/nio/DoubleViewBufferImpl.java,
java/nio/FloatBufferImpl.java,
java/nio/FloatViewBufferImpl.java,
java/nio/IntBufferImpl.java,
java/nio/IntViewBufferImpl.java,
java/nio/LongBufferImpl.java,
java/nio/LongViewBufferImpl.java,
java/nio/ShortBufferImpl.java,
java/nio/ShortViewBufferImpl.java,
java/nio/channels/AlreadyConnectedException.java,
java/nio/channels/AsynchronousCloseException.java,
java/nio/channels/ByteChannel.java,
java/nio/channels/CancelledKeyException.java,
java/nio/channels/Channel.java,
java/nio/channels/ClosedByInterruptException.java,
java/nio/channels/ClosedChannelException.java,
java/nio/channels/ClosedSelectorException.java,
java/nio/channels/ConnectionPendingException.java,
java/nio/channels/FileLockInterruptionException.java,
java/nio/channels/GatheringByteChannel.java,
java/nio/channels/IllegalBlockingModeException.java,
java/nio/channels/IllegalSelectorException.java,
java/nio/channels/InterruptibleChannel.java,
java/nio/channels/NoConnectionPendingException.java,
java/nio/channels/NonReadableChannelException.java,
java/nio/channels/NonWritableChannelException.java,
java/nio/channels/NotYetBoundException.java,
java/nio/channels/NotYetConnectedException.java,
java/nio/channels/OverlappingFileLockException.java,
java/nio/channels/ReadableByteChannel.java,
java/nio/channels/ScatteringByteChannel.java,
java/nio/channels/SelectableChannel.java,
java/nio/channels/SelectionKey.java,
java/nio/channels/Selector.java,
java/nio/channels/UnresolvedAddressException.java,
java/nio/channels/UnsupportedAddressTypeException.java,
java/nio/channels/WritableByteChannel.java,
java/nio/charset/spi/CharsetProvider.java:
Reworked coding style and javadocs.
2004-04-08 Per Bothner <per at bothner.com>
* java/nio/channels/FileChannelImpl.java: Moved to package
gnu/java/nio/channels, since we need to refer to it from java.io.
* java/nio/channels/natFileChannelImpl.cc: Removed file.
* gnu/java/nio/channels/FileChannelImpl.java: New class, renamed
from java/nio/channels. Don't depend on FileDescriptor.
(in, out, err): New static fields.
(mode): New field.
(SET, CUR, READ, WRITE, APPEND, EXCL, SYNC, DSYNC): Moved constants
from FileDescriptor.
(by): Removed MappedByteBuffer field.
(map): New working implementation.
* java/io/FileDescriptor.java: Implement on top of FileChannel.
Remove native methods.
* gnu/java/nio/FileLockImpl.java (fd): Remove field, replacing it by:
(ch): New FileChannelImpl field. Update constructor to match.
(releaseImpl): Remove native method. Instead ...
(release): Call unlock on channel.
* java/io/FileInputStream.java (ch): Change type to FileChannelImpl.
(<init>(File)): Allocate a FileChannelImpl, not a FileDescriptor.
(<init>(FileChannelImpl)): New package-private constructor.
(<init>(FileDescriptor)): Extract FileChannelImpl from arg.
(available, close, read, skip): Implement using FileChannelImpl.
(getFD): Allocate FileDescriptor if needed.
(getChannel): Is now trivial.
* java/io/FileOutputStream.java: Corresponding changes.
* java/io/RandomAccessFile.java: Corresponding changes.
* java/nio/MappedByteBuffer.java: (forceImpl, isLoadedImpl, loadImpl,
unmapImpl): New dummy methods, to be overridden by subclass.
(finalize, isLoaded, load, force): New methods.
* java/nio/MappedByteBufferImpl.java: More-or-less rewrite.
Now works, at least for read mapping.
2004-04-08 Per Bothner <per at bothner.com>
* java/nio/CharBufferImpl.java: Inline super constructor.
* java/nio/DoubleBufferImpl.java: Likewise.
* java/nio/FloatBufferImpl.java: Likewise.
* java/nio/IntBufferImpl.java: Likewise.
* java/nio/LongBufferImpl.java: Likewise.
* java/nio/ShortBufferImpl.java: Likewise.
* java/nio/CharBuffer.java: Remove unused constructor.
* java/nio/DoubleBuffer.java: Likewise.
* java/nio/FloatBuffer.java: Likewise.
* java/nio/IntBuffer.java: Likewise.
* java/nio/LongBuffer.java: Likewise.
* java/nio/ShortBuffer.java: Likewise.
* java/nio/CharViewBufferImpl.java: New convenience constructor.
Fix buggy call to super constructor.
* java/nio/DoubleViewBufferImpl.java: Likewise.
* java/nio/FloatViewBufferImpl.java: Likewise.
* java/nio/IntViewBufferImpl.java: Likewise.
* java/nio/LongViewBufferImpl.java: Likewise.
* java/nio/ShortViewBufferImpl.java: Likewise.
* java/nio/ByteBuffer.java (endian): Make non-private so other
java.nio classes can inherit it.
(<init>): Don't bother clearing array_offset.
* java/nio/ByteBuffer.java (allocate): Re-implement using wrap.
* java/nio/ByteBuffer.java (get(byte[],int,int)): Check underflow.
Remove redundant test.
* java/nio/ByteBufferImpl.java (asCharBuffer, asShortBuffer,
asIntBuffer, asLongBuffer, asFloatBuffer, asDoubleBuffer):
Use new XxxViewBufferImpl constructors.
* java/nio/MappedByteBufferImpl.java: Likewise.
* java/nio/DirectByteBufferImpl.java: Likewise.
* java/nio/ByteBufferImpl.java: Remove one constructor.
Inline super in remaining constructor.
* java/nio/ByteBuffer.java: Remove unused constructor.
* java/nio/ByteBufferImpl.java (shiftDown): New optimized method.
* java/nio/ByteBufferImpl.java (get, put): Add array_offset.
* java/nio/DirectByteBufferImpl.java (owner): New field.
(offset): Remove unused field.
(<init>): Modify one and add another constructor. Change callers.
(allocateDirect): Removed - not used.
(getImpl, putImpl): Make static and pass address explicitly,
to make them useful for MappedByteBufferImpl.
(get, put): Check for underflow. Modify for new getImpl.
(getImpl): New native method where target is array.
(get(byte[],int,int)): Use the above.
(adjustAddress): New static native method.
(slice, duplicate, asReadOnly): New implementations.
2004-04-08 Per Bothner <per at bothner.com>
* java/nio/ByteBuffer.java (shiftDown): New helper method.
* java/nio/ByteBufferImpl.java (compact): Use new shiftDown method.
* sava/nio/ByteBufferHelper.java: Remove redundant 'final' specifiers.
Pass ByteOrder parameter to most methods, since the underlying
ByteBuffer's order isn't always what we should use.
* java/nio/ByteBufferImpl.java: Pass byte-order various places.
* java/nio/DirectByteBufferImpl.java: Likewise.
Use ByteBufferHelper methods.
* java/nio/MappedByteBufferImpl.java: Likewise.
(compact): Use shiftDown.
* java/nio/CharViewBufferImpl.java (<init>): Pass byte-order.
(get, put): Use ByteBufferHelper.
(compact): Use new shiftDown method.
(duplicate(boolean)): New helper method.
(duplicate, asReadOnlyBuffer): Use it.
(order): Return endian field.
* java/nio/DoubleViewBufferImpl.java: Likewise.
* java/nio/FloatViewBufferImpl.java: Likewise.
* java/nio/IntViewBufferImpl.java: Likewise.
* java/nio/LongViewBufferImpl.java: Likewise.
* java/nio/ShortViewBufferImpl.java: Likewise.
* java/nio/CharViewBufferImpl.java (subsequence): Redundant test.
* java/nio/DirectByteBufferImpl.java (shiftDown): New native method.
(compact): Re-implement using shiftDown.
Members:
ChangeLog:1.2211->1.2212
configure:1.306->1.307
configure.ac:1.6->1.7
include/Makefile.am:1.55->1.56
include/Makefile.in:1.151->1.152
include/jsyscall.h:1.15->1.16
kaffe/kaffevm/systems/unix-jthreads/syscalls.c:1.12->1.13
libltdl/config-h.in:1.17->1.18
libraries/clib/io/FileDescriptor.c:1.10->1.11(DEAD)
libraries/clib/io/Makefile.am:1.11->1.12
libraries/clib/io/Makefile.in:1.96->1.97
libraries/clib/io/ObjectInputStream.c:INITIAL->1.1
libraries/clib/native/Makefile.am:1.30->1.31
libraries/clib/native/Makefile.in:1.130->1.131
libraries/clib/native/ObjectInputStream.c:1.20->1.21(DEAD)
libraries/clib/native/System.c:1.41->1.42
libraries/clib/native/UNIXProcess.c:1.27->1.28
libraries/clib/net/PlainDatagramSocketImpl.c:1.41->1.42
libraries/clib/net/PlainSocketImpl.c:1.41->1.42
libraries/clib/nio/Channels.c:INITIAL->1.1
libraries/clib/nio/DirectByteBufferImpl.c:1.1->1.2
libraries/clib/nio/FileChannelImpl.c:INITIAL->1.1
libraries/clib/nio/Makefile.am:1.4->1.5
libraries/clib/nio/Makefile.in:1.23->1.24
libraries/clib/nio/NIOServerSocket.c:1.2->1.3
libraries/javalib/Klasses.jar.bootstrap:1.51->1.52
libraries/javalib/Makefile.am:1.180->1.181
libraries/javalib/Makefile.in:1.242->1.243
libraries/javalib/bootstrap.classlist:1.43->1.44
libraries/javalib/essential.files:1.42->1.43
libraries/javalib/gnu/java/net/PlainDatagramSocketImpl.java:1.2->1.3
libraries/javalib/gnu/java/net/PlainSocketImpl.java:1.4->1.5
libraries/javalib/gnu/java/nio/ChannelInputStream.java:1.2->1.3
libraries/javalib/gnu/java/nio/ChannelOutputStream.java:1.2->1.3
libraries/javalib/gnu/java/nio/DatagramChannelImpl.java:1.9->1.10
libraries/javalib/gnu/java/nio/FileLockImpl.java:1.6->1.7
libraries/javalib/gnu/java/nio/InputStreamChannel.java:1.2->1.3
libraries/javalib/gnu/java/nio/NIODatagramSocket.java:1.3->1.4
libraries/javalib/gnu/java/nio/NIOServerSocket.java:1.3->1.4
libraries/javalib/gnu/java/nio/NIOSocket.java:1.4->1.5
libraries/javalib/gnu/java/nio/OutputStreamChannel.java:1.2->1.3
libraries/javalib/gnu/java/nio/SelectorImpl.java:1.8->1.9
libraries/javalib/gnu/java/nio/SelectorProviderImpl.java:1.4->1.5
libraries/javalib/gnu/java/nio/ServerSocketChannelImpl.java:1.7->1.8
libraries/javalib/gnu/java/nio/SocketChannelImpl.java:1.12->1.13
libraries/javalib/gnu/java/nio/channels/FileChannelImpl.java:INITIAL->1.1
libraries/javalib/gnu/java/nio/charset/UTF_16.java:1.2->1.3
libraries/javalib/gnu/java/nio/charset/UTF_16BE.java:1.2->1.3
libraries/javalib/gnu/java/nio/charset/UTF_16LE.java:1.2->1.3
libraries/javalib/java/io/BufferedWriter.java:1.7->1.8
libraries/javalib/java/io/DataInput.java:1.6->1.7
libraries/javalib/java/io/DataInputStream.java:1.19->1.20
libraries/javalib/java/io/FileDescriptor.java:1.6->1.7
libraries/javalib/java/io/FileInputStream.java:1.16->1.17
libraries/javalib/java/io/FileOutputStream.java:1.11->1.12
libraries/javalib/java/io/FilterInputStream.java:1.10->1.11
libraries/javalib/java/io/InputStream.java:1.10->1.11
libraries/javalib/java/io/InputStreamReader.java:1.14->1.15
libraries/javalib/java/io/ObjectInputStream.java:1.35->1.36
libraries/javalib/java/io/PushbackReader.java:1.3->1.4
libraries/javalib/java/io/RandomAccessFile.java:1.23->1.24
libraries/javalib/java/io/StringWriter.java:1.7->1.8
libraries/javalib/java/io/Writer.java:1.7->1.8
libraries/javalib/java/nio/Buffer.java:1.6->1.7
libraries/javalib/java/nio/ByteBufferImpl.java:1.4->1.5
libraries/javalib/java/nio/CharBufferImpl.java:1.3->1.4
libraries/javalib/java/nio/DirectByteBufferImpl.java:1.5->1.6
libraries/javalib/java/nio/DoubleBufferImpl.java:1.3->1.4
libraries/javalib/java/nio/DoubleViewBufferImpl.java:1.2->1.3
libraries/javalib/java/nio/FloatBufferImpl.java:1.3->1.4
libraries/javalib/java/nio/FloatViewBufferImpl.java:1.2->1.3
libraries/javalib/java/nio/IntBufferImpl.java:1.3->1.4
libraries/javalib/java/nio/IntViewBufferImpl.java:1.2->1.3
libraries/javalib/java/nio/LongBufferImpl.java:1.3->1.4
libraries/javalib/java/nio/LongViewBufferImpl.java:1.2->1.3
libraries/javalib/java/nio/MappedByteBuffer.java:1.6->1.7
libraries/javalib/java/nio/MappedByteBufferImpl.java:1.4->1.5
libraries/javalib/java/nio/ShortBufferImpl.java:1.3->1.4
libraries/javalib/java/nio/ShortViewBufferImpl.java:1.2->1.3
libraries/javalib/java/nio/channels/AlreadyConnectedException.java:1.1->1.2
libraries/javalib/java/nio/channels/AsynchronousCloseException.java:1.1->1.2
libraries/javalib/java/nio/channels/ByteChannel.java:1.1->1.2
libraries/javalib/java/nio/channels/CancelledKeyException.java:1.1->1.2
libraries/javalib/java/nio/channels/Channel.java:1.2->1.3
libraries/javalib/java/nio/channels/Channels.java:1.5->1.6
libraries/javalib/java/nio/channels/ClosedByInterruptException.java:1.1->1.2
libraries/javalib/java/nio/channels/ClosedChannelException.java:1.1->1.2
libraries/javalib/java/nio/channels/ClosedSelectorException.java:1.1->1.2
libraries/javalib/java/nio/channels/ConnectionPendingException.java:1.1->1.2
libraries/javalib/java/nio/channels/DatagramChannel.java:1.3->1.4
libraries/javalib/java/nio/channels/FileChannel.java:1.6->1.7
libraries/javalib/java/nio/channels/FileChannelImpl.java:1.5->1.6(DEAD)
libraries/javalib/java/nio/channels/FileLock.java:1.3->1.4
libraries/javalib/java/nio/channels/FileLockInterruptionException.java:1.1->1.2
libraries/javalib/java/nio/channels/GatheringByteChannel.java:1.3->1.4
libraries/javalib/java/nio/channels/IllegalBlockingModeException.java:1.1->1.2
libraries/javalib/java/nio/channels/IllegalSelectorException.java:1.1->1.2
libraries/javalib/java/nio/channels/InterruptibleChannel.java:1.1->1.2
libraries/javalib/java/nio/channels/NoConnectionPendingException.java:1.1->1.2
libraries/javalib/java/nio/channels/NonReadableChannelException.java:1.1->1.2
libraries/javalib/java/nio/channels/NonWritableChannelException.java:1.1->1.2
libraries/javalib/java/nio/channels/NotYetBoundException.java:1.1->1.2
libraries/javalib/java/nio/channels/NotYetConnectedException.java:1.1->1.2
libraries/javalib/java/nio/channels/OverlappingFileLockException.java:1.1->1.2
libraries/javalib/java/nio/channels/Pipe.java:1.2->1.3
libraries/javalib/java/nio/channels/ReadableByteChannel.java:1.2->1.3
libraries/javalib/java/nio/channels/ScatteringByteChannel.java:1.3->1.4
libraries/javalib/java/nio/channels/SelectableChannel.java:1.2->1.3
libraries/javalib/java/nio/channels/SelectionKey.java:1.2->1.3
libraries/javalib/java/nio/channels/Selector.java:1.1->1.2
libraries/javalib/java/nio/channels/ServerSocketChannel.java:1.4->1.5
libraries/javalib/java/nio/channels/SocketChannel.java:1.4->1.5
libraries/javalib/java/nio/channels/UnresolvedAddressException.java:1.1->1.2
libraries/javalib/java/nio/channels/UnsupportedAddressTypeException.java:1.1->1.2
libraries/javalib/java/nio/channels/WritableByteChannel.java:1.2->1.3
libraries/javalib/java/nio/channels/spi/AbstractInterruptibleChannel.java:1.4->1.5
libraries/javalib/java/nio/channels/spi/AbstractSelectableChannel.java:1.8->1.9
libraries/javalib/java/nio/channels/spi/AbstractSelectionKey.java:1.2->1.3
libraries/javalib/java/nio/channels/spi/AbstractSelector.java:1.5->1.6
libraries/javalib/java/nio/channels/spi/SelectorProvider.java:1.5->1.6
libraries/javalib/java/text/AttributedCharacterIterator.java:1.5->1.6
libraries/javalib/kaffe/lang/UNIXProcess.java:1.17->1.18
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.2211 kaffe/ChangeLog:1.2212
--- kaffe/ChangeLog:1.2211 Sun Apr 11 15:14:46 2004
+++ kaffe/ChangeLog Mon Apr 12 11:39:52 2004
@@ -1,5 +1,264 @@
2004-04-11 Guilhem Lavaux <guilhem at kaffe.org>
+ * configure.ac: Added libraries/clib/nio to KAFFELIBRARYPATH.
+
+ * libraries/javalib/bootstrap.classlist: Added some new NIO classes.
+
+ * libraries/javalib/Klasses.jar.bootstrap: Regenerated.
+
+ * include/jsyscall.h: Fixed punctuation.
+
+ * include/Makefile.am: Added some new JNI headers to generate.
+
+ * libraries/clib/io/FileDescriptor.c: Removed.
+
+ * libraries/clib/net/PlainSocketImpl.c,
+ libraries/clib/net/PlainDatagramSocketImpl.c:
+ Removed all occurrences of FileDescriptor.
+
+ * kaffe/kaffevm/systems/unix-jthreads/syscalls.c: Fixed flags
+ generation.
+
+ * libraries/clib/native/ObjectInputStream.c,
+ libraries/clib/io/ObjectInputStream.c: Moved ObjectInputStream native
+ methods into the IO library.
+ (setXXNative0): Upgraded to latest GNU Classpath version.
+
+ * libraries/javalib/java/io/VMObjectStreamClass.java,
+ libraries/javalib/java/io/ObjectStreamField.java
+ (setXXNative,setXXField): Cleant up exception handling.
+
+ * libraries/clib/native/System.c:
+ Added a new property for NIO: gnu.cpu.endian
+
+ * libraries/clib/native/UNIXProcess.c,
+ libraries/javalib/kaffe/lang/UNIXProcess.java: Upgraded the code
+ to use NIO entry code instead of standard IO.
+
+ * libraries/clib/nio/Channels.c,
+ libraries/clib/nio/FileChannelImpl.c: New files.
+
+ * libraries/clib/nio/DirectByteBufferImpl.c: Use JNI now.
+ (shiftDown, adjustAddress, getImpl) New methods.
+
+ * libraries/clib/nio/NIOServerSocket.c: Use JNI.
+
+ * libraries/javalib/gnu/java/net/PlainDatagramSocketImpl.java
+ (PlainDatagramSocketImpl): Do not use FileDescriptor anymore.
+ (RECEIVE_LOCK, SEND_LOCK): New private fields.
+ (send, receive): Call send0 and receive0 in a synchronized space.
+ (send0, receive0): New name for native methods.
+
+ * libraries/javalib/gnu/java/net/PlainSocketImpl.java
+ (PlainSocketImpl): Do not use FileDescriptor anymore.
+
+ GNU Classpath text synchronization.
+
+ 2004-04-02 Tom Tromey <tromey at redhat.com>
+
+ * java/text/AttributedCharacterIterator.java (Attribute): Removed
+ redundant modifiers.
+
+ GNU Classpath NIO synchronization.
+
+ 2004-04-09 Jeroen Frijters <jeroen at frijters.net>
+
+ * gnu/java/nio/channels/FileChannelImpl.java: (fd, mode) Made private.
+ (length, pos) Removed. (FileChannelImpl (int, int)) Removed.
+ (implPosition, seek, implTruncate, unlock, lock) Added throws clause.
+
+ 2004-04-09 Jeroen Frijters <jeroen at frijters.net>
+
+ * java/io/FileDescriptor.java: (FileDescriptor) Added public
+ constructor. (valid) Added null check.
+
+ 2004-04-08 Michael Koch <konqueror at gmx.de>
+
+ * java/io/BufferedWriter.java,
+ java/io/FilterInputStream.java,
+ java/io/ObjectInputStream.java:
+ More javadoc and coding style work.
+
+ 2004-04-08 Michael Koch <konqueror at gmx.de>
+
+ * java/nio/DirectByteBufferImpl.java,
+ java/nio/MappedByteBuffer.java,
+ java/nio/MappedByteBufferImpl.java:
+ Forgot to commit this during the big NIO commit.
+
+ 2004-04-08 Michael Koch <konqueror at gmx.de>
+
+ * java/nio/channels/DatagramChannel.java,
+ java/nio/channels/FileChannel.java,
+ java/nio/channels/FileLock.java,
+ java/nio/channels/Pipe.java,
+ java/nio/channels/ServerSocketChannel.java,
+ java/nio/channels/SocketChannel.java,
+ java/nio/channels/spi/AbstractInterruptibleChannel.java,
+ java/nio/channels/spi/AbstractSelectableChannel.java,
+ java/nio/channels/spi/AbstractSelectionKey.java,
+ java/nio/channels/spi/AbstractSelector.java,
+ java/nio/channels/spi/SelectorProvider.java:
+ Reworked coding style and javadocs.
+
+ 2004-04-08 Michael Koch <konqueror at gmx.de>
+
+ * java/nio/Buffer.java,
+ java/nio/ByteBufferImpl.java,
+ java/nio/CharBufferImpl.java,
+ java/nio/DoubleBufferImpl.java,
+ java/nio/DoubleViewBufferImpl.java,
+ java/nio/FloatBufferImpl.java,
+ java/nio/FloatViewBufferImpl.java,
+ java/nio/IntBufferImpl.java,
+ java/nio/IntViewBufferImpl.java,
+ java/nio/LongBufferImpl.java,
+ java/nio/LongViewBufferImpl.java,
+ java/nio/ShortBufferImpl.java,
+ java/nio/ShortViewBufferImpl.java,
+ java/nio/channels/AlreadyConnectedException.java,
+ java/nio/channels/AsynchronousCloseException.java,
+ java/nio/channels/ByteChannel.java,
+ java/nio/channels/CancelledKeyException.java,
+ java/nio/channels/Channel.java,
+ java/nio/channels/ClosedByInterruptException.java,
+ java/nio/channels/ClosedChannelException.java,
+ java/nio/channels/ClosedSelectorException.java,
+ java/nio/channels/ConnectionPendingException.java,
+ java/nio/channels/FileLockInterruptionException.java,
+ java/nio/channels/GatheringByteChannel.java,
+ java/nio/channels/IllegalBlockingModeException.java,
+ java/nio/channels/IllegalSelectorException.java,
+ java/nio/channels/InterruptibleChannel.java,
+ java/nio/channels/NoConnectionPendingException.java,
+ java/nio/channels/NonReadableChannelException.java,
+ java/nio/channels/NonWritableChannelException.java,
+ java/nio/channels/NotYetBoundException.java,
+ java/nio/channels/NotYetConnectedException.java,
+ java/nio/channels/OverlappingFileLockException.java,
+ java/nio/channels/ReadableByteChannel.java,
+ java/nio/channels/ScatteringByteChannel.java,
+ java/nio/channels/SelectableChannel.java,
+ java/nio/channels/SelectionKey.java,
+ java/nio/channels/Selector.java,
+ java/nio/channels/UnresolvedAddressException.java,
+ java/nio/channels/UnsupportedAddressTypeException.java,
+ java/nio/channels/WritableByteChannel.java,
+ java/nio/charset/spi/CharsetProvider.java:
+ Reworked coding style and javadocs.
+
+ 2004-04-08 Per Bothner <per at bothner.com>
+
+ * java/nio/channels/FileChannelImpl.java: Moved to package
+ gnu/java/nio/channels, since we need to refer to it from java.io.
+ * java/nio/channels/natFileChannelImpl.cc: Removed file.
+ * gnu/java/nio/channels/FileChannelImpl.java: New class, renamed
+ from java/nio/channels. Don't depend on FileDescriptor.
+ (in, out, err): New static fields.
+ (mode): New field.
+ (SET, CUR, READ, WRITE, APPEND, EXCL, SYNC, DSYNC): Moved constants
+ from FileDescriptor.
+ (by): Removed MappedByteBuffer field.
+ (map): New working implementation.
+ * java/io/FileDescriptor.java: Implement on top of FileChannel.
+ Remove native methods.
+ * gnu/java/nio/FileLockImpl.java (fd): Remove field, replacing it by:
+ (ch): New FileChannelImpl field. Update constructor to match.
+ (releaseImpl): Remove native method. Instead ...
+ (release): Call unlock on channel.
+ * java/io/FileInputStream.java (ch): Change type to FileChannelImpl.
+ (<init>(File)): Allocate a FileChannelImpl, not a FileDescriptor.
+ (<init>(FileChannelImpl)): New package-private constructor.
+ (<init>(FileDescriptor)): Extract FileChannelImpl from arg.
+ (available, close, read, skip): Implement using FileChannelImpl.
+ (getFD): Allocate FileDescriptor if needed.
+ (getChannel): Is now trivial.
+ * java/io/FileOutputStream.java: Corresponding changes.
+ * java/io/RandomAccessFile.java: Corresponding changes.
+ * java/nio/MappedByteBuffer.java: (forceImpl, isLoadedImpl, loadImpl,
+ unmapImpl): New dummy methods, to be overridden by subclass.
+ (finalize, isLoaded, load, force): New methods.
+ * java/nio/MappedByteBufferImpl.java: More-or-less rewrite.
+ Now works, at least for read mapping.
+
+ 2004-04-08 Per Bothner <per at bothner.com>
+
+ * java/nio/CharBufferImpl.java: Inline super constructor.
+ * java/nio/DoubleBufferImpl.java: Likewise.
+ * java/nio/FloatBufferImpl.java: Likewise.
+ * java/nio/IntBufferImpl.java: Likewise.
+ * java/nio/LongBufferImpl.java: Likewise.
+ * java/nio/ShortBufferImpl.java: Likewise.
+ * java/nio/CharBuffer.java: Remove unused constructor.
+ * java/nio/DoubleBuffer.java: Likewise.
+ * java/nio/FloatBuffer.java: Likewise.
+ * java/nio/IntBuffer.java: Likewise.
+ * java/nio/LongBuffer.java: Likewise.
+ * java/nio/ShortBuffer.java: Likewise.
+ * java/nio/CharViewBufferImpl.java: New convenience constructor.
+ Fix buggy call to super constructor.
+ * java/nio/DoubleViewBufferImpl.java: Likewise.
+ * java/nio/FloatViewBufferImpl.java: Likewise.
+ * java/nio/IntViewBufferImpl.java: Likewise.
+ * java/nio/LongViewBufferImpl.java: Likewise.
+ * java/nio/ShortViewBufferImpl.java: Likewise.
+ * java/nio/ByteBuffer.java (endian): Make non-private so other
+ java.nio classes can inherit it.
+ (<init>): Don't bother clearing array_offset.
+ * java/nio/ByteBuffer.java (allocate): Re-implement using wrap.
+ * java/nio/ByteBuffer.java (get(byte[],int,int)): Check underflow.
+ Remove redundant test.
+ * java/nio/ByteBufferImpl.java (asCharBuffer, asShortBuffer,
+ asIntBuffer, asLongBuffer, asFloatBuffer, asDoubleBuffer):
+ Use new XxxViewBufferImpl constructors.
+ * java/nio/MappedByteBufferImpl.java: Likewise.
+ * java/nio/DirectByteBufferImpl.java: Likewise.
+ * java/nio/ByteBufferImpl.java: Remove one constructor.
+ Inline super in remaining constructor.
+ * java/nio/ByteBuffer.java: Remove unused constructor.
+ * java/nio/ByteBufferImpl.java (shiftDown): New optimized method.
+ * java/nio/ByteBufferImpl.java (get, put): Add array_offset.
+ * java/nio/DirectByteBufferImpl.java (owner): New field.
+ (offset): Remove unused field.
+ (<init>): Modify one and add another constructor. Change callers.
+ (allocateDirect): Removed - not used.
+ (getImpl, putImpl): Make static and pass address explicitly,
+ to make them useful for MappedByteBufferImpl.
+ (get, put): Check for underflow. Modify for new getImpl.
+ (getImpl): New native method where target is array.
+ (get(byte[],int,int)): Use the above.
+ (adjustAddress): New static native method.
+ (slice, duplicate, asReadOnly): New implementations.
+
+ 2004-04-08 Per Bothner <per at bothner.com>
+
+ * java/nio/ByteBuffer.java (shiftDown): New helper method.
+ * java/nio/ByteBufferImpl.java (compact): Use new shiftDown method.
+ * sava/nio/ByteBufferHelper.java: Remove redundant 'final' specifiers.
+ Pass ByteOrder parameter to most methods, since the underlying
+ ByteBuffer's order isn't always what we should use.
+ * java/nio/ByteBufferImpl.java: Pass byte-order various places.
+ * java/nio/DirectByteBufferImpl.java: Likewise.
+ Use ByteBufferHelper methods.
+ * java/nio/MappedByteBufferImpl.java: Likewise.
+ (compact): Use shiftDown.
+ * java/nio/CharViewBufferImpl.java (<init>): Pass byte-order.
+ (get, put): Use ByteBufferHelper.
+ (compact): Use new shiftDown method.
+ (duplicate(boolean)): New helper method.
+ (duplicate, asReadOnlyBuffer): Use it.
+ (order): Return endian field.
+ * java/nio/DoubleViewBufferImpl.java: Likewise.
+ * java/nio/FloatViewBufferImpl.java: Likewise.
+ * java/nio/IntViewBufferImpl.java: Likewise.
+ * java/nio/LongViewBufferImpl.java: Likewise.
+ * java/nio/ShortViewBufferImpl.java: Likewise.
+ * java/nio/CharViewBufferImpl.java (subsequence): Redundant test.
+ * java/nio/DirectByteBufferImpl.java (shiftDown): New native method.
+ (compact): Re-implement using shiftDown.
+
+2004-04-11 Guilhem Lavaux <guilhem at kaffe.org>
+
* libraries/javalib/kjc.jar: Regenerated. KJC-CVS 2004-04-10.
* test/regression/TestScript.in: Ignore deprecated messages.
Index: kaffe/configure
diff -u kaffe/configure:1.306 kaffe/configure:1.307
--- kaffe/configure:1.306 Tue Apr 6 19:51:30 2004
+++ kaffe/configure Mon Apr 12 11:39:53 2004
@@ -52203,6 +52203,7 @@
\$(top_builddir)/libraries/clib/native/libnative.la \
\$(top_builddir)/libraries/clib/net/libnet.la \
\$(top_builddir)/libraries/clib/io/libio.la \
+\$(top_builddir)/libraries/clib/nio/libnio.la \
\$(top_builddir)/libraries/clib/zip/libzip.la \
$MATH_LIB \
$ALSA_LIB \
Index: kaffe/configure.ac
diff -u kaffe/configure.ac:1.6 kaffe/configure.ac:1.7
--- kaffe/configure.ac:1.6 Tue Apr 6 17:28:56 2004
+++ kaffe/configure.ac Mon Apr 12 11:39:59 2004
@@ -1700,6 +1700,7 @@
\$(top_builddir)/libraries/clib/native/libnative.la \
\$(top_builddir)/libraries/clib/net/libnet.la \
\$(top_builddir)/libraries/clib/io/libio.la \
+\$(top_builddir)/libraries/clib/nio/libnio.la \
\$(top_builddir)/libraries/clib/zip/libzip.la \
$MATH_LIB \
$ALSA_LIB \
Index: kaffe/include/Makefile.am
diff -u kaffe/include/Makefile.am:1.55 kaffe/include/Makefile.am:1.56
--- kaffe/include/Makefile.am:1.55 Fri Apr 2 20:14:41 2004
+++ kaffe/include/Makefile.am Mon Apr 12 11:40:02 2004
@@ -43,7 +43,6 @@
java_lang_VMThrowable.h \
java_lang_SecurityManager.h \
java_io_File.h \
- java_io_FileDescriptor.h \
java_io_FileInputStream.h \
java_io_FileOutputStream.h \
java_io_InputStream.h \
@@ -97,7 +96,6 @@
kaffe_lang_PrimordialClassLoader.h \
kaffe_lang_ThreadStack.h \
kaffe_management_Classpath.h \
- java_nio_DirectByteBufferImpl.h \
gnu_java_nio_SelectorImpl.h
DERIVED_HDRS = $(INSTALL_DERIVED_HDRS) $(NOINSTALL_DERIVED_HDRS)
@@ -106,6 +104,11 @@
NOINSTALL_JNI_DERIVED_HDRS = \
java_math_BigInteger.h \
+ gnu_java_nio_channels_FileChannelImpl.h \
+ gnu_java_nio_NIOServerSocket.h \
+ java_nio_channels_Channels.h \
+ java_nio_DirectByteBufferImpl.h \
+ java_nio_MappedByteBufferImpl.h \
kaffe_io_ByteToCharDefault.h \
kaffe_io_ByteToCharIconv.h \
kaffe_io_CharToByteDefault.h \
Index: kaffe/include/Makefile.in
diff -u kaffe/include/Makefile.in:1.151 kaffe/include/Makefile.in:1.152
--- kaffe/include/Makefile.in:1.151 Mon Apr 5 16:28:17 2004
+++ kaffe/include/Makefile.in Mon Apr 12 11:40:02 2004
@@ -346,7 +346,6 @@
java_lang_VMThrowable.h \
java_lang_SecurityManager.h \
java_io_File.h \
- java_io_FileDescriptor.h \
java_io_FileInputStream.h \
java_io_FileOutputStream.h \
java_io_InputStream.h \
@@ -400,13 +399,17 @@
kaffe_lang_PrimordialClassLoader.h \
kaffe_lang_ThreadStack.h \
kaffe_management_Classpath.h \
- java_nio_DirectByteBufferImpl.h \
gnu_java_nio_SelectorImpl.h
DERIVED_HDRS = $(INSTALL_DERIVED_HDRS) $(NOINSTALL_DERIVED_HDRS)
INSTALL_JNI_DERIVED_HDRS =
NOINSTALL_JNI_DERIVED_HDRS = \
java_math_BigInteger.h \
+ gnu_java_nio_channels_FileChannelImpl.h \
+ gnu_java_nio_NIOServerSocket.h \
+ java_nio_channels_Channels.h \
+ java_nio_DirectByteBufferImpl.h \
+ java_nio_MappedByteBufferImpl.h \
kaffe_io_ByteToCharDefault.h \
kaffe_io_ByteToCharIconv.h \
kaffe_io_CharToByteDefault.h \
Index: kaffe/include/jsyscall.h
diff -u kaffe/include/jsyscall.h:1.15 kaffe/include/jsyscall.h:1.16
--- kaffe/include/jsyscall.h:1.15 Thu Mar 25 10:14:46 2004
+++ kaffe/include/jsyscall.h Mon Apr 12 11:40:02 2004
@@ -171,6 +171,6 @@
#define KAFFE_MMAP_WRITE 1
#define KAFFE_MMAP_PRIVATE 2
-#define NOTIMEOUT -1
+#define NOTIMEOUT (-1)
#endif
Index: kaffe/kaffe/kaffevm/systems/unix-jthreads/syscalls.c
diff -u kaffe/kaffe/kaffevm/systems/unix-jthreads/syscalls.c:1.12 kaffe/kaffe/kaffevm/systems/unix-jthreads/syscalls.c:1.13
--- kaffe/kaffe/kaffevm/systems/unix-jthreads/syscalls.c:1.12 Sat Aug 30 14:18:24 2003
+++ kaffe/kaffe/kaffevm/systems/unix-jthreads/syscalls.c Mon Apr 12 11:40:03 2004
@@ -328,12 +328,12 @@
switch (mode) {
case KAFFE_MMAP_READ:
- sysflags = MAP_SHARED;
+ sysflags = MAP_PRIVATE;
sysmode = PROT_READ;
break;
case KAFFE_MMAP_WRITE:
sysflags = MAP_SHARED;
- sysmode = PROT_WRITE | PROT_READ;
+ sysmode = PROT_READ | PROT_WRITE;
break;
case KAFFE_MMAP_PRIVATE:
sysflags = MAP_PRIVATE;
Index: kaffe/libltdl/config-h.in
diff -u kaffe/libltdl/config-h.in:1.17 kaffe/libltdl/config-h.in:1.18
--- kaffe/libltdl/config-h.in:1.17 Wed Mar 17 00:59:47 2004
+++ kaffe/libltdl/config-h.in Mon Apr 12 11:40:04 2004
@@ -3,9 +3,6 @@
/* Define to 1 if you have the `argz_append' function. */
#undef HAVE_ARGZ_APPEND
-/* Define to 1 if you have the `argz_create_sep' function. */
-#undef HAVE_ARGZ_CREATE_SEP
-
/* Define to 1 if you have the <argz.h> header file. */
#undef HAVE_ARGZ_H
===================================================================
Checking out kaffe/libraries/clib/io/FileDescriptor.c
RCS: /home/cvs/kaffe/kaffe/libraries/clib/io/Attic/FileDescriptor.c,v
VERS: 1.10
***************
--- kaffe/libraries/clib/io/FileDescriptor.c Mon Apr 12 11:44:43 2004
+++ /dev/null Sun Aug 4 19:57:58 2002
@@ -1,452 +0,0 @@
-/*
- * java.io.FileDescriptor.c
- *
- * Copyright (c) 2003 Kaffe's team.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file.
- */
-
-#include "config.h"
-#include "config-std.h"
-#include "config-io.h"
-#include "files.h"
-#include "defs.h"
-#include "java_io_FileDescriptor.h"
-#include "jsyscall.h"
-#include "../../../kaffe/kaffevm/classMethod.h"
-#include "../../../kaffe/kaffevm/utf8const.h"
-#include "../../../kaffe/kaffevm/support.h"
-
-/* Mask for open Javacall */
-#define JAVA_READ 1
-#define JAVA_WRITE 2
-#define JAVA_APPEND 4
-#define JAVA_EXCL 8
-#define JAVA_SYNC 16
-#define JAVA_DSYNC 32
-
-/* Seek mode for Javacall */
-#define JAVA_SET 0
-#define JAVA_CUR 1
-#define JAVA_END 2
-
-static Hjava_lang_Class* FileDescriptorClass = NULL;
-
-void java_io_FileDescriptor_nativeInit()
-{
- errorInfo einfo;
- struct Hjava_io_FileDescriptor** fd;
- Field* field;
- char *field_names[3] = { "in", "out", "err" };
- int i;
-
- FileDescriptorClass = lookupClass("java/io/FileDescriptor", NULL, &einfo);
- if (FileDescriptorClass == NULL)
- {
- throwError(&einfo);
- }
-
- /* Initialize the static fields */
- for (i=0;i<3;i++)
- {
- Utf8Const* utf8;
- utf8 = checkPtr(utf8ConstNew(field_names[i], -1));
- field = lookupClassField(FileDescriptorClass, utf8, true, &einfo);
- utf8ConstRelease(utf8);
-
- if (field == NULL)
- {
- throwError(&einfo);
- }
- fd = (struct Hjava_io_FileDescriptor **) FIELD_ADDRESS(field);
- (*fd)->nativeFd = i;
- }
-}
-
-jlong java_io_FileDescriptor_nativeOpen(struct Hjava_io_FileDescriptor* this, struct Hjava_lang_String* name, jint mode)
-{
- char str[MAXPATHLEN];
- int fd;
- int rc;
- int open_options = 0;
-
- stringJava2CBuf(name, str, sizeof(str));
-
- if ((mode & JAVA_READ) && (mode & JAVA_WRITE))
- open_options = O_RDWR|O_CREAT;
- else if (mode & JAVA_READ)
- open_options = O_RDONLY;
- else {
- open_options = O_WRONLY|O_CREAT;
- if (mode & JAVA_APPEND)
- open_options |= O_APPEND;
- else
- open_options |= O_TRUNC;
- }
-
-#if defined(O_SYNC)
- if (mode & JAVA_SYNC)
- open_options |= O_SYNC;
-#endif
-#if defined(O_DSYNC)
- if (mode & JAVA_DSYNC)
- open_options |= O_DSYNC;
-#endif
-
- /* By default we put the files in all rw access.
- * It will be modified by process umask.
- */
- rc = KOPEN(str, open_options|O_BINARY, 0666, &fd);
- switch (rc) {
- case 0:
- break;
- default:
- SignalError("java.io.FileNotFoundException", SYS_ERROR(rc));
- }
- return fd;
-}
-
-jlong java_io_FileDescriptor_nativeClose(struct Hjava_io_FileDescriptor* this, jlong fd)
-{
- int rc;
-
- rc = KCLOSE(fd);
- if (rc != 0)
- {
- SignalError("java.io.IOException", SYS_ERROR(rc));
- }
- return 0;
-}
-
-jlong java_io_FileDescriptor_nativeWriteByte(struct Hjava_io_FileDescriptor* this, jlong fd,
- jint b)
-{
- int rc;
- int nativeFd = (int)fd;
- char native_data = b & 0xFF;
- ssize_t ret;
-
- do
- {
- rc = KWRITE(nativeFd, &native_data, 1, &ret);
- if (rc != 0 && rc != EINTR)
- {
- SignalError("java.io.IOException", SYS_ERROR(rc));
- }
- }
- while (rc != 0);
- return 0;
-}
-
-jlong java_io_FileDescriptor_nativeWriteBuf(struct Hjava_io_FileDescriptor* this, jlong fd,
- HArrayOfByte* bytes, jint offset, jint len)
-{
- int rc;
- int nativeFd = (int)fd;
- ssize_t nativeLen = (ssize_t)len;
- ssize_t nativeWritten = 0;
- off_t off = (off_t)offset;
- ssize_t ret;
-
- while (nativeWritten < nativeLen)
- {
- rc = KWRITE(nativeFd, &unhand_array(bytes)->body[off], nativeLen-nativeWritten, &ret);
- if (rc != 0 && rc != EINTR)
- {
- SignalError("java.io.IOException", SYS_ERROR(rc));
- }
- nativeWritten += ret;
- }
-
- return 0;
-}
-
-jint java_io_FileDescriptor_nativeReadByte(struct Hjava_io_FileDescriptor* this,
- jlong fd)
-{
- int rc;
- int nativeFd = (int)fd;
- char native_data;
- ssize_t ret;
-
- do
- {
- rc = KREAD(nativeFd, &native_data, 1, &ret);
- if (rc == 0 && ret == 0)
- return -1;
- if (rc != 0 && rc != EINTR)
- {
- SignalError("java.io.IOException", SYS_ERROR(rc));
- }
- }
- while (ret != 1);
-
- return (jint)(native_data & 0xFF);
-}
-
-extern jint java_io_FileDescriptor_nativeReadBuf(struct Hjava_io_FileDescriptor* this, jlong fd,
- HArrayOfByte* bytes, jint offset, jint len)
-{
- int rc;
- int nativeFd = (int)fd;
- ssize_t nativeLen = (ssize_t)len;
- ssize_t nativeRead = 0;
- off_t off = (off_t)offset;
- ssize_t ret;
-
- while (nativeRead < nativeLen)
- {
- rc = KREAD(nativeFd, &unhand_array(bytes)->body[off], nativeLen-nativeRead, &ret);
*** Patch too long, truncated ***
More information about the kaffe
mailing list