diff options
| author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-10-23 20:19:06 +0000 |
|---|---|---|
| committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-10-23 20:19:06 +0000 |
| commit | dea399b9ca84ed668aa3da7477dacd04e0192fa5 (patch) | |
| tree | e4235e098426338fd3e0a267c1a8652af558814c /libjava/classpath/java/lang/Short.java | |
| parent | 3d956c0659ce15647c319f5e5988034f9e157095 (diff) | |
| download | gcc-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.java | 19 |
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); } /** |
