728 |
|
|
729 |
|
@SuppressWarnings("unchecked") |
730 |
|
static final <K,V> Node<K,V> tabAt(Node<K,V>[] tab, int i) { |
731 |
< |
return (Node<K,V>)U.getObjectAcquire(tab, ((long)i << ASHIFT) + ABASE); |
731 |
> |
return (Node<K,V>)U.getReferenceAcquire(tab, ((long)i << ASHIFT) + ABASE); |
732 |
|
} |
733 |
|
|
734 |
|
static final <K,V> boolean casTabAt(Node<K,V>[] tab, int i, |
735 |
|
Node<K,V> c, Node<K,V> v) { |
736 |
< |
return U.compareAndSetObject(tab, ((long)i << ASHIFT) + ABASE, c, v); |
736 |
> |
return U.compareAndSetReference(tab, ((long)i << ASHIFT) + ABASE, c, v); |
737 |
|
} |
738 |
|
|
739 |
|
static final <K,V> void setTabAt(Node<K,V>[] tab, int i, Node<K,V> v) { |
740 |
< |
U.putObjectRelease(tab, ((long)i << ASHIFT) + ABASE, v); |
740 |
> |
U.putReferenceRelease(tab, ((long)i << ASHIFT) + ABASE, v); |
741 |
|
} |
742 |
|
|
743 |
|
/* ---------------- Fields -------------- */ |