--- a/jdk/src/share/classes/java/util/HashMap.java Wed Sep 25 07:36:29 2013 -0700
+++ b/jdk/src/share/classes/java/util/HashMap.java Thu Sep 26 11:13:34 2013 -0700
@@ -624,8 +624,7 @@
final V putVal(int hash, K key, V value, boolean onlyIfAbsent,
boolean evict) {
Node<K,V>[] tab; Node<K,V> p; int n, i;
- if (size > threshold || (tab = table) == null ||
- (n = tab.length) == 0)
+ if ((tab = table) == null || (n = tab.length) == 0)
n = (tab = resize()).length;
if ((p = tab[i = (n - 1) & hash]) == null)
tab[i] = newNode(hash, key, value, null);
@@ -659,7 +658,8 @@
}
}
++modCount;
- ++size;
+ if (++size > threshold)
+ resize();
afterNodeInsertion(evict);
return null;
}