summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2003-10-02 15:02:32 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2003-10-02 15:02:32 +0000
commita08a2b75146b3b9f34692b58503126525e083429 (patch)
tree2ae559227c26c8a6dcae9d705a33be7d47c812db /libjava
parenteae216e8c3e6e633fd52d25ce8cbb16606ae1c81 (diff)
downloadgcc-a08a2b75146b3b9f34692b58503126525e083429.tar.gz
ByteBufferHelper.java: Rewrote all methods by suggestions from Eric Blake.
2003-10-02 Michael Koch <konqueror@gmx.de> * java/nio/ByteBufferHelper.java: Rewrote all methods by suggestions from Eric Blake. From-SVN: r72030
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/nio/ByteBufferHelper.java268
2 files changed, 117 insertions, 156 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 6d6549015c5..4b7406f615e 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,10 @@
2003-10-02 Michael Koch <konqueror@gmx.de>
+ * java/nio/ByteBufferHelper.java:
+ Rewrote all methods by suggestions from Eric Blake.
+
+2003-10-02 Michael Koch <konqueror@gmx.de>
+
* java/net/URL.java
(DEFAULT_SEARCH_PATH): New static variable.
(ph_cache): Made it a HashMap.
diff --git a/libjava/java/nio/ByteBufferHelper.java b/libjava/java/nio/ByteBufferHelper.java
index 2f85186de94..23e133c86b3 100644
--- a/libjava/java/nio/ByteBufferHelper.java
+++ b/libjava/java/nio/ByteBufferHelper.java
@@ -70,67 +70,23 @@ final class ByteBufferHelper
public static final char getChar (ByteBuffer buffer)
{
- checkRemainingForRead (buffer, 2);
-
- if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
- {
- return (char) ((buffer.get() & 0xff)
- + ((buffer.get() & 0xff) << 8));
- }
-
- return (char) (((buffer.get() & 0xff) << 8)
- + (buffer.get() & 0xff));
+ return (char) getShort (buffer);
}
public static final ByteBuffer putChar (ByteBuffer buffer, char value)
{
- checkRemainingForWrite (buffer, 2);
-
- if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
- {
- buffer.put ((byte) (value & 0x00ff));
- buffer.put ((byte) ((value & 0xff00) >> 8));
- }
- else
- {
- buffer.put ((byte) ((value & 0xff00) >> 8));
- buffer.put ((byte) (value & 0x00ff));
- }
-
- return buffer;
+ return putShort (buffer, (short) value);
}
public static final char getChar (ByteBuffer buffer, int index)
{
- checkAvailableForRead (buffer, index, 2);
-
- if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
- {
- return (char) ((buffer.get (index) & 0xff)
- + ((buffer.get (index + 1) & 0xff) << 8));
- }
-
- return (char) (((buffer.get (index) & 0xff) << 8)
- + (buffer.get (index + 1) & 0xff));
+ return (char) getShort (buffer, index);
}
public static final ByteBuffer putChar (ByteBuffer buffer, int index,
char value)
{
- checkAvailableForWrite (buffer, index, 2);
-
- if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
- {
- buffer.put (index, (byte) (value & 0xff00));
- buffer.put (index + 1, (byte) ((value & 0x00ff) >> 8));
- }
- else
- {
- buffer.put (index, (byte) ((value & 0xff00) >> 8));
- buffer.put (index + 1, (byte) (value & 0x00ff));
- }
-
- return buffer;
+ return putShort (buffer, index, (short) value);
}
public static final short getShort (ByteBuffer buffer)
@@ -140,10 +96,10 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
return (short) ((buffer.get() & 0xff)
- + ((buffer.get() & 0xff) << 8));
+ + (buffer.get() << 8));
}
- return (short) (((buffer.get() & 0xff) << 8)
+ return (short) ((buffer.get() << 8)
+ (buffer.get() & 0xff));
}
@@ -153,13 +109,13 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
- buffer.put ((byte) (value & 0x00ff));
- buffer.put ((byte) ((value & 0xff00) >> 8));
+ buffer.put ((byte) value);
+ buffer.put ((byte) (value >> 8));
}
else
{
- buffer.put ((byte) ((value & 0xff00) >> 8));
- buffer.put ((byte) (value & 0x00ff));
+ buffer.put ((byte) (value >> 8));
+ buffer.put ((byte) value);
}
return buffer;
@@ -172,11 +128,11 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
return (short) ((buffer.get (index) & 0xff)
- + ((buffer.get (index + 1) & 0xff) << 8));
+ + (buffer.get (++index) << 8));
}
- return (short) (((buffer.get (index) & 0xff) << 8)
- + (buffer.get (index + 1) & 0xff));
+ return (short) ((buffer.get (index) << 8)
+ + (buffer.get (++index) & 0xff));
}
public static final ByteBuffer putShort (ByteBuffer buffer, int index,
@@ -186,13 +142,13 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
- buffer.put (index, (byte) (value & 0x00ff));
- buffer.put (index + 1, (byte) ((value & 0xff00) >> 8));
+ buffer.put (index, (byte) value);
+ buffer.put (++index, (byte) (value >> 8));
}
else
{
- buffer.put (index, (byte) ((value & 0xff00) >> 8));
- buffer.put (index + 1, (byte) (value & 0x00ff));
+ buffer.put (index, (byte) (value >> 8));
+ buffer.put (++index, (byte) value);
}
return buffer;
@@ -204,13 +160,13 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
- return (int) ((buffer.get() & 0xff)
- + ((buffer.get() & 0xff) << 8)
- + ((buffer.get() & 0xff) << 16)
- + ((buffer.get() & 0xff) << 24));
+ return ((buffer.get() & 0xff)
+ + ((buffer.get() & 0xff) << 8)
+ + ((buffer.get() & 0xff) << 16)
+ + (buffer.get() << 24));
}
- return (int) (((buffer.get() & 0xff) << 24)
+ return (int) ((buffer.get() << 24)
+ ((buffer.get() & 0xff) << 16)
+ ((buffer.get() & 0xff) << 8)
+ (buffer.get() & 0xff));
@@ -222,17 +178,17 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
- buffer.put ((byte) (value & 0x000000ff));
- buffer.put ((byte) ((value & 0x0000ff00) >> 8));
- buffer.put ((byte) ((value & 0x00ff0000) >> 16));
- buffer.put ((byte) ((value & 0xff000000) >> 24));
+ buffer.put ((byte) value);
+ buffer.put ((byte) (value >> 8));
+ buffer.put ((byte) (value >> 16));
+ buffer.put ((byte) (value >> 24));
}
else
{
- buffer.put ((byte) ((value & 0xff000000) >> 24));
- buffer.put ((byte) ((value & 0x00ff0000) >> 16));
- buffer.put ((byte) ((value & 0x0000ff00) >> 8));
- buffer.put ((byte) (value & 0x000000ff));
+ buffer.put ((byte) (value >> 24));
+ buffer.put ((byte) (value >> 16));
+ buffer.put ((byte) (value >> 8));
+ buffer.put ((byte) value);
}
return buffer;
@@ -244,16 +200,16 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
- return (int) ((buffer.get (index) & 0xff))
- + ((buffer.get (index + 1) & 0xff) << 8)
- + ((buffer.get (index + 2) & 0xff) << 16)
- + ((buffer.get (index + 3) & 0xff) << 24);
+ return ((buffer.get (index) & 0xff)
+ + ((buffer.get (++index) & 0xff) << 8)
+ + ((buffer.get (++index) & 0xff) << 16)
+ + (buffer.get (++index) << 24));
}
- return (int) (((buffer.get (index) & 0xff) << 24)
- + ((buffer.get (index + 1) & 0xff) << 16)
- + ((buffer.get (index + 2) & 0xff) << 8)
- + (buffer.get (index + 3) & 0xff));
+ return ((buffer.get (index) << 24)
+ + ((buffer.get (++index) & 0xff) << 16)
+ + ((buffer.get (++index) & 0xff) << 8)
+ + (buffer.get (++index) & 0xff));
}
public static final ByteBuffer putInt (ByteBuffer buffer, int index,
@@ -263,17 +219,17 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
- buffer.put (index, (byte) (value & 0x000000ff));
- buffer.put (index + 1, (byte) ((value & 0x0000ff00) >> 8));
- buffer.put (index + 2, (byte) ((value & 0x00ff0000) >> 16));
- buffer.put (index + 3, (byte) ((value & 0xff000000) >> 24));
+ buffer.put (index, (byte) value);
+ buffer.put (++index, (byte) (value >> 8));
+ buffer.put (++index, (byte) (value >> 16));
+ buffer.put (++index, (byte) (value >> 24));
}
else
{
- buffer.put (index, (byte) ((value & 0xff000000) >> 24));
- buffer.put (index + 1, (byte) ((value & 0x00ff0000) >> 16));
- buffer.put (index + 2, (byte) ((value & 0x0000ff00) >> 8));
- buffer.put (index + 3, (byte) (value & 0x000000ff));
+ buffer.put (index, (byte) (value >> 24));
+ buffer.put (++index, (byte) (value >> 16));
+ buffer.put (++index, (byte) (value >> 8));
+ buffer.put (++index, (byte) value);
}
return buffer;
@@ -285,24 +241,24 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
- return (long) (((buffer.get() & 0xff))
- + ((buffer.get() & 0xff) << 8)
- + ((buffer.get() & 0xff) << 16)
- + ((buffer.get() & 0xff) << 24)
- + ((buffer.get() & 0xffL) << 32)
- + ((buffer.get() & 0xffL) << 40)
- + ((buffer.get() & 0xffL) << 48)
- + ((buffer.get() & 0xffL) << 56));
+ return ((buffer.get() & 0xff)
+ + (((buffer.get() & 0xff)) << 8)
+ + (((buffer.get() & 0xff)) << 16)
+ + (((buffer.get() & 0xffL)) << 24)
+ + (((buffer.get() & 0xffL)) << 32)
+ + (((buffer.get() & 0xffL)) << 40)
+ + (((buffer.get() & 0xffL)) << 48)
+ + (((long) buffer.get()) << 56));
}
- return (long) (((buffer.get() & 0xffL) << 56)
- + ((buffer.get() & 0xffL) << 48)
- + ((buffer.get() & 0xffL) << 40)
- + ((buffer.get() & 0xffL) << 32)
- + ((buffer.get() & 0xff) << 24)
- + ((buffer.get() & 0xff) << 16)
- + ((buffer.get() & 0xff) << 8)
- + (buffer.get() & 0xff));
+ return ((((long) buffer.get()) << 56)
+ + ((buffer.get() & 0xffL) << 48)
+ + ((buffer.get() & 0xffL) << 40)
+ + ((buffer.get() & 0xffL) << 32)
+ + ((buffer.get() & 0xffL) << 24)
+ + ((buffer.get() & 0xff) << 16)
+ + ((buffer.get() & 0xff) << 8)
+ + (buffer.get() & 0xff));
}
public static final ByteBuffer putLong (ByteBuffer buffer, long value)
@@ -311,25 +267,25 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
- buffer.put ((byte) (((int) value) & 0xff));
- buffer.put ((byte) (((int) (value >> 8)) & 0xff));
- buffer.put ((byte) (((int) (value >> 16)) & 0xff));
- buffer.put ((byte) (((int) (value >> 24)) & 0xff));
- buffer.put ((byte) (((int) (value >> 32)) & 0xff));
- buffer.put ((byte) (((int) (value >> 40)) & 0xff));
- buffer.put ((byte) (((int) (value >> 48)) & 0xff));
- buffer.put ((byte) (((int) (value >> 56)) & 0xff));
+ buffer.put ((byte) value);
+ buffer.put ((byte) (value >> 8));
+ buffer.put ((byte) (value >> 16));
+ buffer.put ((byte) (value >> 24));
+ buffer.put ((byte) (value >> 32));
+ buffer.put ((byte) (value >> 40));
+ buffer.put ((byte) (value >> 48));
+ buffer.put ((byte) (value >> 56));
}
else
{
- buffer.put ((byte) (((int) (value >> 56)) & 0xff));
- buffer.put ((byte) (((int) (value >> 48)) & 0xff));
- buffer.put ((byte) (((int) (value >> 40)) & 0xff));
- buffer.put ((byte) (((int) (value >> 32)) & 0xff));
- buffer.put ((byte) (((int) (value >> 24)) & 0xff));
- buffer.put ((byte) (((int) (value >> 16)) & 0xff));
- buffer.put ((byte) (((int) (value >> 8)) & 0xff));
- buffer.put ((byte) (((int) value) & 0xff));
+ buffer.put ((byte) (value >> 56));
+ buffer.put ((byte) (value >> 48));
+ buffer.put ((byte) (value >> 40));
+ buffer.put ((byte) (value >> 32));
+ buffer.put ((byte) (value >> 24));
+ buffer.put ((byte) (value >> 16));
+ buffer.put ((byte) (value >> 8));
+ buffer.put ((byte) value);
}
return buffer;
@@ -341,24 +297,24 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
- return (long) ((buffer.get (index) & 0xff)
- + ((buffer.get (index + 1) & 0xff) << 8)
- + ((buffer.get (index + 2) & 0xff) << 16)
- + ((buffer.get (index + 3) & 0xff) << 24)
- + ((buffer.get (index + 4) & 0xffL) << 32)
- + ((buffer.get (index + 5) & 0xffL) << 40)
- + ((buffer.get (index + 6) & 0xffL) << 48)
- + ((buffer.get (index + 7) & 0xffL) << 56));
+ return ((buffer.get (index) & 0xff)
+ + ((buffer.get (++index) & 0xff) << 8)
+ + ((buffer.get (++index) & 0xff) << 16)
+ + ((buffer.get (++index) & 0xffL) << 24)
+ + ((buffer.get (++index) & 0xffL) << 32)
+ + ((buffer.get (++index) & 0xffL) << 40)
+ + ((buffer.get (++index) & 0xffL) << 48)
+ + (((long) buffer.get (++index)) << 56));
}
- return (long) (((buffer.get (index) & 0xffL) << 56)
- + ((buffer.get (index + 1) & 0xffL) << 48)
- + ((buffer.get (index + 2) & 0xffL) << 40)
- + ((buffer.get (index + 3) & 0xffL) << 32)
- + ((buffer.get (index + 4) & 0xff) << 24)
- + ((buffer.get (index + 5) & 0xff) << 16)
- + ((buffer.get (index + 6) & 0xff) << 8)
- + (buffer.get (index + 7) & 0xff));
+ return ((((long) buffer.get (index)) << 56)
+ + ((buffer.get (++index) & 0xffL) << 48)
+ + ((buffer.get (++index) & 0xffL) << 40)
+ + ((buffer.get (++index) & 0xffL) << 32)
+ + ((buffer.get (++index) & 0xffL) << 24)
+ + ((buffer.get (++index) & 0xff) << 16)
+ + ((buffer.get (++index) & 0xff) << 8)
+ + (buffer.get (++index) & 0xff));
}
public static final ByteBuffer putLong (ByteBuffer buffer, int index,
@@ -368,25 +324,25 @@ final class ByteBufferHelper
if (buffer.order() == ByteOrder.LITTLE_ENDIAN)
{
- buffer.put (index, (byte) (((int) value) & 0xff));
- buffer.put (index + 1, (byte) (((int) (value >> 8)) & 0xff));
- buffer.put (index + 2, (byte) (((int) (value >> 16)) & 0xff));
- buffer.put (index + 3, (byte) (((int) (value >> 24)) & 0xff));
- buffer.put (index + 4, (byte) (((int) (value >> 32)) & 0xff));
- buffer.put (index + 5, (byte) (((int) (value >> 40)) & 0xff));
- buffer.put (index + 6, (byte) (((int) (value >> 48)) & 0xff));
- buffer.put (index + 7, (byte) (((int) (value >> 56)) & 0xff));
+ buffer.put (index, (byte) value);
+ buffer.put (++index, (byte) (value >> 8));
+ buffer.put (++index, (byte) (value >> 16));
+ buffer.put (++index, (byte) (value >> 24));
+ buffer.put (++index, (byte) (value >> 32));
+ buffer.put (++index, (byte) (value >> 40));
+ buffer.put (++index, (byte) (value >> 48));
+ buffer.put (++index, (byte) (value >> 56));
}
else
{
- buffer.put (index, (byte) (((int) (value >> 56)) & 0xff));
- buffer.put (index + 1, (byte) (((int) (value >> 48)) & 0xff));
- buffer.put (index + 2, (byte) (((int) (value >> 40)) & 0xff));
- buffer.put (index + 3, (byte) (((int) (value >> 32)) & 0xff));
- buffer.put (index + 4, (byte) (((int) (value >> 24)) & 0xff));
- buffer.put (index + 5, (byte) (((int) (value >> 16)) & 0xff));
- buffer.put (index + 6, (byte) (((int) (value >> 8)) & 0xff));
- buffer.put (index + 7, (byte) (((int) value) & 0xff));
+ buffer.put (index, (byte) (value >> 56));
+ buffer.put (++index, (byte) (value >> 48));
+ buffer.put (++index, (byte) (value >> 40));
+ buffer.put (++index, (byte) (value >> 32));
+ buffer.put (++index, (byte) (value >> 24));
+ buffer.put (++index, (byte) (value >> 16));
+ buffer.put (++index, (byte) (value >> 8));
+ buffer.put (++index, (byte) value);
}
return buffer;
@@ -399,7 +355,7 @@ final class ByteBufferHelper
public static final ByteBuffer putFloat (ByteBuffer buffer, float value)
{
- return putInt (buffer, Float.floatToIntBits (value));
+ return putInt (buffer, Float.floatToRawIntBits (value));
}
public static final float getFloat (ByteBuffer buffer, int index)
@@ -410,7 +366,7 @@ final class ByteBufferHelper
public static final ByteBuffer putFloat (ByteBuffer buffer, int index,
float value)
{
- return putInt (buffer, index, Float.floatToIntBits (value));
+ return putInt (buffer, index, Float.floatToRawIntBits (value));
}
public static final double getDouble (ByteBuffer buffer)