Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8280311 | 19 | Maurizio Cimadamore | P3 | Resolved | Fixed | b06 |
JDK-8280643 | 18.0.1 | Maurizio Cimadamore | P3 | Resolved | Fixed | b04 |
The heap segment hierarchy uses a generic type variable to denote the type of the base object (e.g. float[] vs. int[]). When we create slices, we access the base field, javac inserts a cast to the sharp type, and then the value is used to initialize a new segment. This extra cast is enough to throw off C2's store capture optimizations, which allow barriers to be removed for initializing stores.
- backported by
-
JDK-8280311 Synthetic cast causes generation of store barriers when using heap segments
-
- Resolved
-
-
JDK-8280643 Synthetic cast causes generation of store barriers when using heap segments
-
- Resolved
-
- relates to
-
JDK-8279971 Elimination of trivial initializing field store barriers doesn't always happen
-
- Open
-