--- a/jdk/src/share/classes/java/util/HashMap.java Wed Jun 05 11:12:31 2013 +0100
+++ b/jdk/src/share/classes/java/util/HashMap.java Fri May 31 10:53:19 2013 +0200
@@ -2701,8 +2701,10 @@
action.accept(m.nullKeyEntry.key);
}
}
- if (tab.length >= hi && (i = index) >= 0 && i < (index = hi)) {
+ if (tab.length >= hi && (i = index) >= 0 &&
+ (i < (index = hi) || current != null)) {
Object p = current;
+ current = null;
do {
if (p == null) {
p = tab[i++];
@@ -2815,8 +2817,10 @@
action.accept(m.nullKeyEntry.value);
}
}
- if (tab.length >= hi && (i = index) >= 0 && i < (index = hi)) {
+ if (tab.length >= hi && (i = index) >= 0 &&
+ (i < (index = hi) || current != null)) {
Object p = current;
+ current = null;
do {
if (p == null) {
p = tab[i++];
@@ -2928,8 +2932,10 @@
action.accept(m.nullKeyEntry);
}
}
- if (tab.length >= hi && (i = index) >= 0 && i < (index = hi)) {
+ if (tab.length >= hi && (i = index) >= 0 &&
+ (i < (index = hi) || current != null)) {
Object p = current;
+ current = null;
do {
if (p == null) {
p = tab[i++];