diff options
author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-02-17 18:13:07 +0000 |
---|---|---|
committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-02-17 18:13:07 +0000 |
commit | 2a168c038665c9cff636c02f7a7a8b0d5fa4f807 (patch) | |
tree | 30340632af1c19b009b5d7d71e927e0c3075b0ca /libjava/java/nio | |
parent | 2fdbc1405c5df0651cf28dc49ba1fb8eb91c4c8f (diff) | |
download | ppe42-gcc-2a168c038665c9cff636c02f7a7a8b0d5fa4f807.tar.gz ppe42-gcc-2a168c038665c9cff636c02f7a7a8b0d5fa4f807.zip |
2005-02-17 Ito Kazumitsu <kaz@maczuka.gcd.org>
* java/nio/ByteBufferImpl.java (compact):
Set position and limit even if no bytes were moved.
2005-02-17 Michael Koch <konqueror@gmx.de>
* java/nio/CharViewBufferImpl.java (compact): Likewise.
* java/nio/DirectByteBufferImpl.java (compact): Likewise.
* java/nio/DoubleViewBufferImpl.java (compact): Likewise.
* java/nio/FloatViewBufferImpl.java (compact): Likewise.
* java/nio/IntViewBufferImpl.java (compact): Likewise.
* java/nio/LongViewBufferImpl.java (compact): Likewise.
* java/nio/MappedByteBufferImpl.java (compact): Likewise.
* java/nio/ShortViewBufferImpl.java (compact): Likewise.
* java/nio/FloatBufferImpl.java (compact): Set position.
* java/nio/CharBufferImpl.java (compact): Likewise.
* java/nio/DoubleBufferImpl.java (compact): Likewise.
* java/nio/IntBufferImpl.java (compact): Likewise.
* java/nio/LongBufferImpl.java (compact): Likewise.
* java/nio/ShortBufferImpl.java (compact): Likewise.
2005-02-17 Jeroen Frijters <jeroen@frijters.net>
* java/nio/ByteBufferImpl.java,
java/nio/CharBufferImpl.java,
java/nio/DirectByteBufferImpl.java,
java/nio/DoubleBufferImpl.java,
java/nio/FloatBufferImpl.java,
java/nio/IntBufferImpl.java,
java/nio/LongBufferImpl.java,
java/nio/MappedByteBufferImpl.java,
java/nio/ShortBufferImpl.java
(compact): Added explicit read-only check and invalidate mark.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95176 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/nio')
-rw-r--r-- | libjava/java/nio/ByteBufferImpl.java | 7 | ||||
-rw-r--r-- | libjava/java/nio/CharBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/CharViewBufferImpl.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/DirectByteBufferImpl.java | 7 | ||||
-rw-r--r-- | libjava/java/nio/DoubleBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/DoubleViewBufferImpl.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/FloatBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/FloatViewBufferImpl.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/IntBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/IntViewBufferImpl.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/LongBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/LongViewBufferImpl.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/MappedByteBufferImpl.java | 7 | ||||
-rw-r--r-- | libjava/java/nio/ShortBufferImpl.java | 3 | ||||
-rw-r--r-- | libjava/java/nio/ShortViewBufferImpl.java | 5 |
15 files changed, 69 insertions, 0 deletions
diff --git a/libjava/java/nio/ByteBufferImpl.java b/libjava/java/nio/ByteBufferImpl.java index b1e6b1f50a7..d9f24627de0 100644 --- a/libjava/java/nio/ByteBufferImpl.java +++ b/libjava/java/nio/ByteBufferImpl.java @@ -112,6 +112,8 @@ final class ByteBufferImpl extends ByteBuffer public ByteBuffer compact () { + checkIfReadOnly(); + mark = -1; int pos = position(); if (pos > 0) { @@ -120,6 +122,11 @@ final class ByteBufferImpl extends ByteBuffer position(count); limit(capacity()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/CharBufferImpl.java b/libjava/java/nio/CharBufferImpl.java index 2ca44d94459..f9babe8287b 100644 --- a/libjava/java/nio/CharBufferImpl.java +++ b/libjava/java/nio/CharBufferImpl.java @@ -87,6 +87,8 @@ final class CharBufferImpl extends CharBuffer public CharBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -96,6 +98,7 @@ final class CharBufferImpl extends CharBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/CharViewBufferImpl.java b/libjava/java/nio/CharViewBufferImpl.java index 2701983ead5..25a2cf7972a 100644 --- a/libjava/java/nio/CharViewBufferImpl.java +++ b/libjava/java/nio/CharViewBufferImpl.java @@ -122,6 +122,11 @@ class CharViewBufferImpl extends CharBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/DirectByteBufferImpl.java b/libjava/java/nio/DirectByteBufferImpl.java index 17f8dfa7a00..d2871641191 100644 --- a/libjava/java/nio/DirectByteBufferImpl.java +++ b/libjava/java/nio/DirectByteBufferImpl.java @@ -197,6 +197,8 @@ abstract class DirectByteBufferImpl extends ByteBuffer public ByteBuffer compact() { + checkIfReadOnly(); + mark = -1; int pos = position(); if (pos > 0) { @@ -205,6 +207,11 @@ abstract class DirectByteBufferImpl extends ByteBuffer position(count); limit(capacity()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/DoubleBufferImpl.java b/libjava/java/nio/DoubleBufferImpl.java index 2b5f32c4325..bad883c7d6c 100644 --- a/libjava/java/nio/DoubleBufferImpl.java +++ b/libjava/java/nio/DoubleBufferImpl.java @@ -80,6 +80,8 @@ final class DoubleBufferImpl extends DoubleBuffer public DoubleBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -89,6 +91,7 @@ final class DoubleBufferImpl extends DoubleBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/DoubleViewBufferImpl.java b/libjava/java/nio/DoubleViewBufferImpl.java index 276e2757045..d47c96463f4 100644 --- a/libjava/java/nio/DoubleViewBufferImpl.java +++ b/libjava/java/nio/DoubleViewBufferImpl.java @@ -120,6 +120,11 @@ final class DoubleViewBufferImpl extends DoubleBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/FloatBufferImpl.java b/libjava/java/nio/FloatBufferImpl.java index aae5efc7d9f..6f552cfabe3 100644 --- a/libjava/java/nio/FloatBufferImpl.java +++ b/libjava/java/nio/FloatBufferImpl.java @@ -80,6 +80,8 @@ final class FloatBufferImpl extends FloatBuffer public FloatBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -89,6 +91,7 @@ final class FloatBufferImpl extends FloatBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/FloatViewBufferImpl.java b/libjava/java/nio/FloatViewBufferImpl.java index 3dd0736fb49..5d074b5bed3 100644 --- a/libjava/java/nio/FloatViewBufferImpl.java +++ b/libjava/java/nio/FloatViewBufferImpl.java @@ -120,6 +120,11 @@ final class FloatViewBufferImpl extends FloatBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/IntBufferImpl.java b/libjava/java/nio/IntBufferImpl.java index 966fd488222..6b22d40fb21 100644 --- a/libjava/java/nio/IntBufferImpl.java +++ b/libjava/java/nio/IntBufferImpl.java @@ -80,6 +80,8 @@ final class IntBufferImpl extends IntBuffer public IntBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -89,6 +91,7 @@ final class IntBufferImpl extends IntBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/IntViewBufferImpl.java b/libjava/java/nio/IntViewBufferImpl.java index ff8b27be1a4..77b04a8c3c0 100644 --- a/libjava/java/nio/IntViewBufferImpl.java +++ b/libjava/java/nio/IntViewBufferImpl.java @@ -120,6 +120,11 @@ final class IntViewBufferImpl extends IntBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/LongBufferImpl.java b/libjava/java/nio/LongBufferImpl.java index b7497fa3d92..e82f7749cd5 100644 --- a/libjava/java/nio/LongBufferImpl.java +++ b/libjava/java/nio/LongBufferImpl.java @@ -80,6 +80,8 @@ final class LongBufferImpl extends LongBuffer public LongBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -89,6 +91,7 @@ final class LongBufferImpl extends LongBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/LongViewBufferImpl.java b/libjava/java/nio/LongViewBufferImpl.java index bfa64d0ad9a..e2054757871 100644 --- a/libjava/java/nio/LongViewBufferImpl.java +++ b/libjava/java/nio/LongViewBufferImpl.java @@ -120,6 +120,11 @@ final class LongViewBufferImpl extends LongBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/MappedByteBufferImpl.java b/libjava/java/nio/MappedByteBufferImpl.java index 63e0225bc51..fdb64c5bb0f 100644 --- a/libjava/java/nio/MappedByteBufferImpl.java +++ b/libjava/java/nio/MappedByteBufferImpl.java @@ -117,6 +117,8 @@ final class MappedByteBufferImpl extends MappedByteBuffer public ByteBuffer compact() { + checkIfReadOnly(); + mark = -1; int pos = position(); if (pos > 0) { @@ -126,6 +128,11 @@ final class MappedByteBufferImpl extends MappedByteBuffer position(count); limit(capacity()); } + else + { + position(limit()); + limit(capacity()); + } return this; } diff --git a/libjava/java/nio/ShortBufferImpl.java b/libjava/java/nio/ShortBufferImpl.java index 5d4eec2ff55..05424322b27 100644 --- a/libjava/java/nio/ShortBufferImpl.java +++ b/libjava/java/nio/ShortBufferImpl.java @@ -80,6 +80,8 @@ final class ShortBufferImpl extends ShortBuffer public ShortBuffer compact () { + checkIfReadOnly(); + mark = -1; int copied = 0; while (remaining () > 0) @@ -89,6 +91,7 @@ final class ShortBufferImpl extends ShortBuffer } position (copied); + limit(capacity()); return this; } diff --git a/libjava/java/nio/ShortViewBufferImpl.java b/libjava/java/nio/ShortViewBufferImpl.java index acd6c233d07..f884ed54244 100644 --- a/libjava/java/nio/ShortViewBufferImpl.java +++ b/libjava/java/nio/ShortViewBufferImpl.java @@ -120,6 +120,11 @@ final class ShortViewBufferImpl extends ShortBuffer position (count); limit (capacity ()); } + else + { + position(limit()); + limit(capacity()); + } return this; } |