-
Bug
-
Resolution: Fixed
-
P3
-
9
-
b175
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8182825 | 10 | Doug Lea | P3 | Resolved | Fixed | b14 |
JDK-8182527 | 9.0.4 | Doug Lea | P3 | Resolved | Fixed | b01 |
Doug Lea writes:
The "...and all other read-and-update operations" clause
inadvertently disappeared while meshing j.u.c.atomic specs
with jdk9 VarHandles
(http://download.java.net/java/jdk9/docs/api/java/lang/invoke/VarHandle.html)
The updateAndGet method is not a part of VarHandles, so is no longer
covered by any existing statement. We will need to somehow do so.
http://markmail.org/thread/wrlo7tuajszbauqe#query:+page:1+mid:5ckdsgpbucpagn4b+state:results
http://markmail.org/thread/wrlo7tuajszbauqe
---
In addition Doug writes:
On 05/25/2017 01:15 PM, Gil Tene wrote:
>> (http://download.java.net/java/jdk9/docs/api/java/lang/invoke/VarHandle.html)
> While on this subject, was the relative "weakening" of compareAndSet
> (and other) memory semantics between Java 8 and java 9 discussed
> elsewhere?
The was no intention to weaken CAS specs. But in an attempt to clarify
distinctions across new variants (compareAndExchangeRelease
etc), the fact that the volatile-write property is unconditional
here got lost. This also needs to be fixed.
The "...and all other read-and-update operations" clause
inadvertently disappeared while meshing j.u.c.atomic specs
with jdk9 VarHandles
(http://download.java.net/java/jdk9/docs/api/java/lang/invoke/VarHandle.html)
The updateAndGet method is not a part of VarHandles, so is no longer
covered by any existing statement. We will need to somehow do so.
http://markmail.org/thread/wrlo7tuajszbauqe#query:+page:1+mid:5ckdsgpbucpagn4b+state:results
http://markmail.org/thread/wrlo7tuajszbauqe
---
In addition Doug writes:
On 05/25/2017 01:15 PM, Gil Tene wrote:
>> (http://download.java.net/java/jdk9/docs/api/java/lang/invoke/VarHandle.html)
> While on this subject, was the relative "weakening" of compareAndSet
> (and other) memory semantics between Java 8 and java 9 discussed
> elsewhere?
The was no intention to weaken CAS specs. But in an attempt to clarify
distinctions across new variants (compareAndExchangeRelease
etc), the fact that the volatile-write property is unconditional
here got lost. This also needs to be fixed.
- backported by
-
JDK-8182527 Fix specs for updateAndGet and related methods
-
- Resolved
-
-
JDK-8182825 Fix specs for updateAndGet and related methods
-
- Resolved
-