# HG changeset patch # User igerasim # Date 1532408875 25200 # Node ID e55d462504315ad50eb1a99ce7bea6e63c032d04 # Parent 22e1b5900d90bcd8389dfdbb884f243b57c83a83 8207314: Unnecessary reallocation when constructing WeakHashMap from a large Map Reviewed-by: martin diff -r 22e1b5900d90 -r e55d46250431 src/java.base/share/classes/java/util/WeakHashMap.java --- a/src/java.base/share/classes/java/util/WeakHashMap.java Mon Jul 23 18:29:35 2018 -0700 +++ b/src/java.base/share/classes/java/util/WeakHashMap.java Mon Jul 23 22:07:55 2018 -0700 @@ -252,7 +252,7 @@ * @since 1.3 */ public WeakHashMap(Map m) { - this(Math.max((int) (m.size() / DEFAULT_LOAD_FACTOR) + 1, + this(Math.max((int) ((float)m.size() / DEFAULT_LOAD_FACTOR + 1.0F), DEFAULT_INITIAL_CAPACITY), DEFAULT_LOAD_FACTOR); putAll(m);