-
Enhancement
-
Resolution: Fixed
-
P4
-
22
-
b18
-
riscv
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8323355 | 21.0.3-oracle | Aleksey Shipilev | P4 | Resolved | Fixed | b01 |
JDK-8319719 | 21.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b07 |
JDK-8320451 | 17.0.10 | Gui Cao | P4 | Resolved | Fixed | b04 |
It's also makes atomic operation depending on latomic not inlinable, instead it's call to the library.
This applies to atomic operation "not supported by hardware". I.e. CAS 1 byte on rv64.
gcc have admitted this problem by allowing the compiler to inline these instead forcing the application to add this
dependency (since 13.2).
llvm have always inline these,
Currently hotspot is only using Atomic::cmpxchg 1 byte, all others are either not used or supported by hardware, hence gcc inlines them.
By adding this single case if compiler don't support inlining it we can remove thsi dependency.
- backported by
-
JDK-8319719 RISC-V: Remove dependency on libatomic by adding cmpxchg 1b
- Resolved
-
JDK-8320451 RISC-V: Remove dependency on libatomic by adding cmpxchg 1b
- Resolved
-
JDK-8323355 RISC-V: Remove dependency on libatomic by adding cmpxchg 1b
- Resolved
- relates to
-
JDK-8317335 Build on windows fails after 8316645
- Resolved
-
JDK-8322968 [17u] Amend Atomics gtest with 1-byte tests
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/db83123c
-
Commit openjdk/jdk21u/50c34cad
-
Commit openjdk/jdk/fb055e7e
-
Commit openjdk/riscv-port-jdk11u/4bddeb3f
-
Review openjdk/jdk17u-dev/1970
-
Review openjdk/jdk21u/325
-
Review openjdk/jdk/15919
-
Review openjdk/riscv-port-jdk11u/10