-
Enhancement
-
Resolution: Fixed
-
P3
-
20
-
b21
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8322405 | 17.0.11 | Aleksey Shipilev | P3 | Resolved | Fixed | b01 |
From [~jrose]
Suggestions for API shape:
Mimic whatever the intel intrinsics do for and/or/xor/add. Prefer their names.
But, stay within the boundaries of what the C++ atomic API does (omit op-and-fetch, keep only fetch-and-op). Use their names if it makes sense.
Key requirement: Have the return value contain enough information to infer the previous state of the variable, for those who care.
Key requirement: Robustly support “set one bit” and “clear one bit”, probably by logior and logand of multi-bit masks.
Higher-level bit setter could be update_bits(T bits, bool new_state) -> T old_bits. The higher-level setter could use the optimization of not issuing a CAS if the bit (or bits) is (are) in the desired new state already.
- backported by
-
JDK-8322405 Add atomic bitset functions
- Resolved
- duplicates
-
JDK-8303277 Add Atomic bit operations
- Closed
- relates to
-
JDK-8307495 Specialize atomic bitset functions for aix-ppc
- Open
-
JDK-8307498 Specialize atomic bitset functions for linux-riscv
- Open
-
JDK-8307499 Specialize atomic bitset functions for linux-s390
- Open
-
JDK-8307500 Specialize atomic bitset functions for linux-x86
- Open
-
JDK-8307501 Specialize atomic bitset functions for linux-aarch64
- Open
-
JDK-8307806 Rename Atomic::fetch_and_add and friends
- Resolved
-
JDK-8307926 Support byte-sized atomic bitset operations
- Resolved
-
JDK-8293118 AccessFlags should be just the classfile flags
- Closed
-
JDK-8307496 Specialize atomic bitset functions for bsd-aarch64
- Closed
-
JDK-8307497 Specialize atomic bitset functions for bsd-x86
- Closed
-
JDK-8307502 Specialize atomic bitset functions for windows-aarch64
- Closed
-
JDK-8307503 Specialize atomic bitset functions for window-x86
- Closed
-
JDK-8323806 [17u] VS2017 build fails with warning after 8293117.
- Resolved
-
JDK-8293416 ZGC: Set mark bit with unconditional atomic ops
- Open
-
JDK-8297539 Use PrimitiveConversions::cast for local uses of the int<->float union conversion trick
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/3809b717
-
Commit openjdk/jdk/8a70664e
-
Review openjdk/jdk17u-dev/2049
-
Review openjdk/jdk/13711