From 197915730a262fc3b228c34eebc4ee9896d3584f Mon Sep 17 00:00:00 2001 From: bothner Date: Sun, 8 Feb 2004 21:02:53 +0000 Subject: * java/nio/ByteBuffer.java (shiftDown): New helper method. * java/nio/natDirectByteBufferImpl.cc (shiftDown): New implementation. * 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 (): 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77501 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/nio/ByteBuffer.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libjava/java/nio/ByteBuffer.java') diff --git a/libjava/java/nio/ByteBuffer.java b/libjava/java/nio/ByteBuffer.java index 3be797750d0..9ca20618c45 100644 --- a/libjava/java/nio/ByteBuffer.java +++ b/libjava/java/nio/ByteBuffer.java @@ -1,5 +1,5 @@ /* ByteBuffer.java -- - Copyright (C) 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -382,8 +382,14 @@ public abstract class ByteBuffer extends Buffer */ public abstract ByteBuffer compact (); + void shiftDown (int dst_offset, int src_offset, int count) + { + for (int i = 0; i < count; i++) + put(dst_offset + i, get(src_offset + i)); + } + /** - * Tells wether or not this buffer is direct. + * Tells whether or not this buffer is direct. */ public abstract boolean isDirect (); -- cgit v1.2.1