jdk/src/share/classes/java/util/HashMap.java
changeset 20199 0a9d1d17b076
parent 20189 1e618f2a82d9
child 21352 0372edc9a995
--- 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;
     }