-
Enhancement
-
Resolution: Fixed
-
P3
-
17, 21, 23
-
b20
C2 currently adds a MemBarRelease node at the end of <init> methods that write final fields. On some platforms such as aarch64, using MemBarStoreStore instead can increase performance (I see a 15% improvement on Renaissance-ChiSquare and 12% on Renaissance-ParMnemonics).
There was an earlier discussion on this topic here:
https://mail.openjdk.org/pipermail/jmm-dev/2016-November/000379.html
There was an earlier discussion on this topic here:
https://mail.openjdk.org/pipermail/jmm-dev/2016-November/000379.html
- duplicates
-
JDK-8032481 Coalesce object header barrier with the final field barriers
- Closed
- relates to
-
JDK-4477784 A "final" field can be read by one thread before its value is initialized.
- Resolved
-
JDK-8330062 Unify barrier optimizations for escaped objects
- Open
-
JDK-8300143 Remove redundant barriers when final and stable fields written in ctor
- Closed
- links to
-
Commit openjdk/jdk/1d061707
-
Review openjdk/jdk/18505
-
Review(master) openjdk/jdk21u-dev/530
(2 links to)