@@ -405,12 +405,12 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
405405 final int hash = this.spreadFunction.spread(key);
406406
407407 if(length > 0 && (node = {{ key }}2ObjectBucketSyncMap.getNode(table, (length - 1) & hash)) != null) {
408- if(node.hash == hash && node. key == key) {
408+ if(node.key == key) {
409409 return node.referencePlain().valueExists();
410410 }
411411
412412 while((node = node.nextPlain()) != null) {
413- if(node.hash == hash && node. key == key) {
413+ if(node.key == key) {
414414 return node.referencePlain().valueExists();
415415 }
416416 }
@@ -419,13 +419,12 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
419419 if(this.amended && (table = this.mutableTable) != null && (length = table.length) > 0) {
420420 boolean exists = false;
421421 retry: if((node = {{ key }}2ObjectBucketSyncMap.getNode(table, (length - 1) & hash)) != null) {
422- final int nodeHash;
423- if((nodeHash = node.hash) == hash) {
422+ if(node.hash >= 0) {
424423 if(node.key == key) {
425424 exists = node.reference().valueExists();
426425 break retry;
427426 }
428- } else if(nodeHash < 0) {
427+ } else {
429428 final Node nextNode;
430429 if((nextNode = node.find(hash, key)) != null) {
431430 exists = nextNode.reference().valueExists();
@@ -434,7 +433,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
434433 }
435434
436435 while((node = node.next()) != null) {
437- if(node.hash == hash && node. key == key) {
436+ if(node.key == key) {
438437 exists = node.reference().valueExists();
439438 break retry;
440439 }
@@ -466,12 +465,12 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
466465 final int hash = this.spreadFunction.spread(key);
467466
468467 if(length > 0 && (node = {{ key }}2ObjectBucketSyncMap.getNode(table, (length - 1) & hash)) != null) {
469- if(node.hash == hash && node. key == key) {
468+ if(node.key == key) {
470469 return node.referencePlain().value();
471470 }
472471
473472 while((node = node.nextPlain()) != null) {
474- if(node.hash == hash && node. key == key) {
473+ if(node.key == key) {
475474 return node.referencePlain().value();
476475 }
477476 }
@@ -480,13 +479,12 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
480479 if(this.amended && (table = this.mutableTable) != null && (length = table.length) > 0) {
481480 V value = null;
482481 retry: if((node = {{ key }}2ObjectBucketSyncMap.getNode(table, (length - 1) & hash)) != null) {
483- final int nodeHash;
484- if((nodeHash = node.hash) == hash) {
482+ if(node.hash >= 0) {
485483 if(node.key == key) {
486484 value = node.reference().value();
487485 break retry;
488486 }
489- } else if(nodeHash < 0) {
487+ } else {
490488 final Node nextNode;
491489 if((nextNode = node.find(hash, key)) != null) {
492490 value = nextNode.reference().value();
@@ -495,7 +493,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
495493 }
496494
497495 while((node = node.next()) != null) {
498- if(node.hash == hash && node. key == key) {
496+ if(node.key == key) {
499497 value = node.reference().value();
500498 break retry;
501499 }
@@ -529,12 +527,12 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
529527 final int hash = this.spreadFunction.spread(key);
530528
531529 if(length > 0 && (node = {{ key }}2ObjectBucketSyncMap.getNode(table, (length - 1) & hash)) != null) {
532- if(node.hash == hash && node. key == key) {
530+ if(node.key == key) {
533531 return node.referencePlain().valueOr(defaultValue);
534532 }
535533
536534 while((node = node.nextPlain()) != null) {
537- if(node.hash == hash && node. key == key) {
535+ if(node.key == key) {
538536 return node.referencePlain().valueOr(defaultValue);
539537 }
540538 }
@@ -544,12 +542,12 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
544542 V value = defaultValue;
545543 retry: if((node = {{ key }}2ObjectBucketSyncMap.getNode(table, (length - 1) & hash)) != null) {
546544 final int nodeHash;
547- if((nodeHash = node.hash) == hash ) {
545+ if(node.hash >= 0 ) {
548546 if(node.key == key) {
549547 value = node.reference().valueOr(defaultValue);
550548 break retry;
551549 }
552- } else if(nodeHash < 0) {
550+ } else {
553551 final Node nextNode;
554552 if((nextNode = node.find(hash, key)) != null) {
555553 value = nextNode.reference().valueOr(defaultValue);
@@ -558,7 +556,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
558556 }
559557
560558 while((node = node.next()) != null) {
561- if(node.hash == hash && node. key == key) {
559+ if(node.key == key) {
562560 value = node.reference().valueOr(defaultValue);
563561 break retry;
564562 }
@@ -605,7 +603,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
605603 // node is present and the value is null or expunged.
606604 node = {{ key }}2ObjectBucketSyncMap.getNode(immutable, (length - 1) & hash);
607605 while(node != null) {
608- if(node.hash != hash || node. key != key) {
606+ if(node.key != key) {
609607 node = node.next();
610608 continue;
611609 }
@@ -656,7 +654,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
656654 synchronized(node) {
657655 if({{ key }}2ObjectBucketSyncMap.getNodePlain(mutable, index) == node) {
658656 for(; ; ) {
659- if(node.hash == hash && node. key == key) {
657+ if(node.key == key) {
660658 final ObjectReference reference = node.referencePlain();
661659 Object previous = reference.get();
662660 for(; ; ) {
@@ -727,7 +725,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
727725 // node is present and the value is null or expunged.
728726 node = {{ key }}2ObjectBucketSyncMap.getNode(immutable, (length - 1) & hash);
729727 while(node != null) {
730- if(node.hash != hash || node. key != key) {
728+ if(node.key != key) {
731729 node = node.next();
732730 continue;
733731 }
@@ -778,7 +776,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
778776 synchronized(node) {
779777 if({{ key }}2ObjectBucketSyncMap.getNodePlain(mutable, index) == node) {
780778 for(; ; ) {
781- if(node.hash == hash && node. key == key) {
779+ if(node.key == key) {
782780 final ObjectReference reference = node.referencePlain();
783781 Object previous = reference.get();
784782 for(; ; ) {
@@ -869,7 +867,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
869867 // node is present.
870868 node = {{ key }}2ObjectBucketSyncMap.getNode(immutable, (length - 1) & hash);
871869 while(node != null) {
872- if(node.hash != hash || node. key != key) {
870+ if(node.key != key) {
873871 node = node.next();
874872 continue;
875873 }
@@ -903,7 +901,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
903901 synchronized(node) {
904902 if({{ key }}2ObjectBucketSyncMap.getNodePlain(mutable, index) == node) {
905903 for(Node previousNode = null; ; ) {
906- if(node.hash == hash && node. key == key) {
904+ if(node.key == key) {
907905 final ObjectReference reference = node.referencePlain();
908906 Object previous = reference.get();
909907 for(; ; ) {
@@ -980,7 +978,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
980978 // node is present.
981979 node = {{ key }}2ObjectBucketSyncMap.getNode(immutable, (length - 1) & hash);
982980 while(node != null) {
983- if(node.hash != hash || node. key != key) {
981+ if(node.key != key) {
984982 node = node.next();
985983 continue;
986984 }
@@ -1038,7 +1036,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
10381036 synchronized(node) {
10391037 if({{ key }}2ObjectBucketSyncMap.getNodePlain(mutable, index) == node) {
10401038 for(Node previousNode = null; ; ) {
1041- if(node.hash == hash && node. key == key) {
1039+ if(node.key == key) {
10421040 final ObjectReference reference = node.referencePlain();
10431041 Object previous = reference.get();
10441042 for(; ; ) {
@@ -1054,7 +1052,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
10541052
10551053 if(next != null && (witness == null || witness == {{ key }}2ObjectBucketSyncMap.EXPUNGED)) {
10561054 count = 1L;
1057- } else if(next == null && (witness != null && witness != {{ key }}2ObjectBucketSyncMap.EXPUNGED) ) {
1055+ } else if(next == null) {
10581056 if(previousNode != null) {
10591057 previousNode.next(node.nextPlain());
10601058 } else {
@@ -1109,7 +1107,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
11091107 // node is present and the value is null or expunged.
11101108 node = {{ key }}2ObjectBucketSyncMap.getNode(immutable, (length - 1) & hash);
11111109 while(node != null) {
1112- if(node.hash != hash || node. key != key) {
1110+ if(node.key != key) {
11131111 node = node.next();
11141112 continue;
11151113 }
@@ -1154,7 +1152,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
11541152 synchronized(node) {
11551153 if({{ key }}2ObjectBucketSyncMap.getNodePlain(mutable, index) == node) {
11561154 for(; ; ) {
1157- if(node.hash == hash && node. key == key) {
1155+ if(node.key == key) {
11581156 final ObjectReference reference = node.referencePlain();
11591157 Object previous = reference.get();
11601158 for(; ; ) {
@@ -1206,7 +1204,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
12061204 // node is present.
12071205 node = {{ key }}2ObjectBucketSyncMap.getNode(immutable, (length - 1) & hash);
12081206 while(node != null) {
1209- if(node.hash != hash || node. key != key) {
1207+ if(node.key != key) {
12101208 node = node.next();
12111209 continue;
12121210 }
@@ -1251,7 +1249,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
12511249 synchronized(node) {
12521250 if({{ key }}2ObjectBucketSyncMap.getNodePlain(mutable, index) == node) {
12531251 for(; ; ) {
1254- if(node.hash == hash && node. key == key) {
1252+ if(node.key == key) {
12551253 final ObjectReference reference = node.referencePlain();
12561254 Object previous = reference.get();
12571255 for(; ; ) {
@@ -1304,7 +1302,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
13041302 synchronized(node) {
13051303 if({{ key }}2ObjectBucketSyncMap.getNodePlain(table, index) == node) {
13061304 for(; ; ) {
1307- if(node.hash == hash && node. key == key) {
1305+ if(node.key == key) {
13081306 node.reference(reference);
13091307 return;
13101308 }
@@ -1349,7 +1347,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
13491347 // node is present.
13501348 node = {{ key }}2ObjectBucketSyncMap.getNode(immutable, (length - 1) & hash);
13511349 while(node != null) {
1352- if(node.hash != hash || node. key != key) {
1350+ if(node.key != key) {
13531351 node = node.next();
13541352 continue;
13551353 }
@@ -1378,7 +1376,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
13781376 synchronized(node) {
13791377 if({{ key }}2ObjectBucketSyncMap.getNodePlain(mutable, index) == node) {
13801378 for(Node previousNode = null; ; ) {
1381- if(node.hash == hash && node. key == key) {
1379+ if(node.key == key) {
13821380 final ObjectReference reference = node.referencePlain();
13831381 Object current = reference.get();
13841382 for(; ; ) {
@@ -1442,7 +1440,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
14421440 // node is present.
14431441 node = {{ key }}2ObjectBucketSyncMap.getNode(immutable, (length - 1) & hash);
14441442 while(node != null) {
1445- if(node.hash != hash || node. key != key) {
1443+ if(node.key != key) {
14461444 node = node.next();
14471445 continue;
14481446 }
@@ -1472,7 +1470,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
14721470 synchronized(node) {
14731471 if({{ key }}2ObjectBucketSyncMap.getNodePlain(mutable, index) == node) {
14741472 for(Node previousNode = null; ; ) {
1475- if(node.hash == hash && node. key == key) {
1473+ if(node.key == key) {
14761474 final ObjectReference reference = node.referencePlain();
14771475 Object previous = reference.get();
14781476 for(; ; ) {
@@ -1540,7 +1538,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
15401538 // node is present.
15411539 node = {{ key }}2ObjectBucketSyncMap.getNode(immutable, (length - 1) & hash);
15421540 while(node != null) {
1543- if(node.hash != hash || node. key != key) {
1541+ if(node.key != key) {
15441542 node = node.next();
15451543 continue;
15461544 }
@@ -1569,7 +1567,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
15691567 synchronized(node) {
15701568 if({{ key }}2ObjectBucketSyncMap.getNodePlain(mutable, index) == node) {
15711569 for(; ; ) {
1572- if(node.hash == hash && node. key == key) {
1570+ if(node.key == key) {
15731571 final ObjectReference reference = node.referencePlain();
15741572 Object current = reference.get();
15751573 for(; ; ) {
@@ -1627,7 +1625,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
16271625 // node is present.
16281626 node = {{ key }}2ObjectBucketSyncMap.getNode(immutable, (length - 1) & hash);
16291627 while(node != null) {
1630- if(node.hash != hash || node. key != key) {
1628+ if(node.key != key) {
16311629 node = node.next();
16321630 continue;
16331631 }
@@ -1657,7 +1655,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
16571655 synchronized(node) {
16581656 if({{ key }}2ObjectBucketSyncMap.getNodePlain(mutable, index) == node) {
16591657 for(; ; ) {
1660- if(node.hash == hash && node. key == key) {
1658+ if(node.key == key) {
16611659 final ObjectReference reference = node.referencePlain();
16621660 Object current = reference.get();
16631661 for(; ; ) {
@@ -2520,7 +2518,7 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
25202518 Node node = this;
25212519
25222520 do {
2523- if(node.hash == hash && node. key == key) return node;
2521+ if(node.key == key) return node;
25242522 } while((node = node.next()) != null);
25252523
25262524 return null;
@@ -2545,20 +2543,18 @@ public class {{ key }}2ObjectBucketSyncMap<V> extends Abstract{{ key }}2ObjectMa
25452543 int length;
25462544
25472545 Node node;
2548- int nodeHash;
2549-
25502546 while((length = table.length) > 0) {
25512547 if((node = {{ key }}2ObjectBucketSyncMap.getNode(table, (length - 1) & hash)) == null) {
25522548 return null;
2553- } else if((nodeHash = node.hash) == {{ key }}2ObjectBucketSyncMap.NODE_MOVED) {
2549+ } else if(node.hash == {{ key }}2ObjectBucketSyncMap.NODE_MOVED) {
25542550 table = ((ForwardingNode) node).nextTable;
25552551 } else {
2556- if(nodeHash == hash && node.key == key) {
2552+ if(node.key == key) {
25572553 return node;
25582554 }
25592555
25602556 while((node = node.next()) != null) {
2561- if(node.hash == hash && node. key == key) {
2557+ if(node.key == key) {
25622558 return node;
25632559 }
25642560 }
0 commit comments