summaryrefslogtreecommitdiff
path: root/libjava/classpath/java/lang/Short.java
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2008-10-23 20:19:06 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2008-10-23 20:19:06 +0000
commitdea399b9ca84ed668aa3da7477dacd04e0192fa5 (patch)
treee4235e098426338fd3e0a267c1a8652af558814c /libjava/classpath/java/lang/Short.java
parent3d956c0659ce15647c319f5e5988034f9e157095 (diff)
downloadgcc-dea399b9ca84ed668aa3da7477dacd04e0192fa5.tar.gz
2008-10-23 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r141325 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@141329 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/java/lang/Short.java')
-rw-r--r--libjava/classpath/java/lang/Short.java19
1 files changed, 10 insertions, 9 deletions
diff --git a/libjava/classpath/java/lang/Short.java b/libjava/classpath/java/lang/Short.java
index 41a31e26082..ec87f933e93 100644
--- a/libjava/classpath/java/lang/Short.java
+++ b/libjava/classpath/java/lang/Short.java
@@ -90,6 +90,11 @@ public final class Short extends Number implements Comparable<Short>
private static final int MIN_CACHE = -128;
private static final int MAX_CACHE = 127;
private static Short[] shortCache = new Short[MAX_CACHE - MIN_CACHE + 1];
+ static
+ {
+ for (short i=MIN_CACHE; i <= MAX_CACHE; i++)
+ shortCache[i - MIN_CACHE] = new Short(i);
+ }
/**
* The immutable value of this Short.
@@ -184,7 +189,7 @@ public final class Short extends Number implements Comparable<Short>
*/
public static Short valueOf(String s, int radix)
{
- return new Short(parseShort(s, radix));
+ return valueOf(parseShort(s, radix));
}
/**
@@ -200,7 +205,7 @@ public final class Short extends Number implements Comparable<Short>
*/
public static Short valueOf(String s)
{
- return new Short(parseShort(s, 10));
+ return valueOf(parseShort(s, 10));
}
/**
@@ -216,12 +221,8 @@ public final class Short extends Number implements Comparable<Short>
{
if (val < MIN_CACHE || val > MAX_CACHE)
return new Short(val);
- synchronized (shortCache)
- {
- if (shortCache[val - MIN_CACHE] == null)
- shortCache[val - MIN_CACHE] = new Short(val);
- return shortCache[val - MIN_CACHE];
- }
+ else
+ return shortCache[val - MIN_CACHE];
}
/**
@@ -260,7 +261,7 @@ public final class Short extends Number implements Comparable<Short>
int i = Integer.parseInt(s, 10, true);
if ((short) i != i)
throw new NumberFormatException();
- return new Short((short) i);
+ return valueOf((short) i);
}
/**