-
Bug
-
Resolution: Fixed
-
P4
-
8-aarch64, 11, 13
-
b14
-
aarch64
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8248630 | 11.0.9-oracle | Patrick Zhang | P4 | Resolved | Fixed | b01 |
JDK-8226665 | 11.0.5 | Patrick Zhang | P4 | Resolved | Fixed | b01 |
JDK-8260835 | openjdk8u292 | Andrew Hughes | P4 | Resolved | Fixed | b01 |
https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2019-February/006875.html
It has been known that Volatile Store needs a StoreLoad|StoreStore barrier at the end of the templateTable_aarch64 functions like fast_storefield, putfield_or_static. In Arm reference manual, according to the description of DMB instruction, the option ISH (Any-Any) for StoreLoad barrier option covers ISHST for StoreStore, so StoreLoad was/is sufficient from the view point of functionality.
In order to make the code self-documented and would not confuse people in future, a suggestion here is to add back the intentionally missed "|StoreStore".
This change will not bring practical impacts to functions since generated instructions are same.
The positive part of this is: making things clarified and aligned, for example, the logic in interpreter here will be more clearly aligned with the logic in C2 implementation for a volatile write:
dmb ish
str<x>
dmb ish
- backported by
-
JDK-8226665 AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable
- Resolved
-
JDK-8248630 AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable
- Resolved
-
JDK-8260835 AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable
- Resolved
- relates to
-
JDK-8218185 aarch64: missing LoadStore barrier in TemplateTable::putfield_or_static
- Resolved
-
JDK-8219635 aarch64: missing LoadStore barrier in TemplateTable::fast_storefield
- Resolved
-
JDK-8257192 Integrate AArch64 JIT port into 8u
- Resolved