441 |
|
* Constructs a new node. Uses relaxed write because item can |
442 |
|
* only be seen after publication via casNext. |
443 |
|
*/ |
444 |
< |
Node(Object item, boolean isData) { |
444 |
> |
Node(Object item) { |
445 |
|
ITEM.set(this, item); // relaxed write |
446 |
< |
this.isData = isData; |
446 |
> |
isData = (item != null); |
447 |
|
} |
448 |
|
|
449 |
|
/** |
602 |
|
|
603 |
|
if (how != NOW) { // No matches available |
604 |
|
if (s == null) |
605 |
< |
s = new Node(e, haveData); |
605 |
> |
s = new Node(e); |
606 |
|
Node pred = tryAppend(s, haveData); |
607 |
|
if (pred == null) |
608 |
|
continue retry; // lost race vs opposite mode |