Skip to content

Commit d96b8eb

Browse files
authored
Merge pull request scala#7265 from retronym/topic/hashityhash
Improve performance of HashMaps, Any.##
2 parents db1e848 + eefee10 commit d96b8eb

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/library/scala/runtime/Statics.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,20 @@ public static int anyHash(Object x) {
103103
if (x == null)
104104
return 0;
105105

106+
if (x instanceof java.lang.Number) {
107+
return anyHashNumber((java.lang.Number) x);
108+
}
109+
110+
return x.hashCode();
111+
}
112+
113+
private static int anyHashNumber(Number x) {
106114
if (x instanceof java.lang.Long)
107115
return longHash(((java.lang.Long)x).longValue());
108-
116+
109117
if (x instanceof java.lang.Double)
110118
return doubleHash(((java.lang.Double)x).doubleValue());
111-
119+
112120
if (x instanceof java.lang.Float)
113121
return floatHash(((java.lang.Float)x).floatValue());
114122

0 commit comments

Comments
 (0)