JDK-8255065 : Zero: accessor_entry misses the IRIW case
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 8,11,15,16
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-10-20
  • Updated: 2020-11-11
  • Resolved: 2020-10-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 15 JDK 16
11.0.10Fixed 15.0.2Fixed 16 b21Fixed
Description
While doing a change in related area, I noticed there is no IRIW handling block in accessor_entry when reading volatile fields. This probably breaks PPC64 Zero.

There is a block in bytecodeInterpreter.cpp for common code:

          if (cache->is_volatile()) {
            if (support_IRIW_for_not_multiple_copy_atomic_cpu) {
              OrderAccess::fence();
            }

AFAIU, this mostly affects 8u that does not have PPC64 port yet.
Comments
Fix Request (11u) Same reason as for 15u. Patch from 15u applies cleanly to 11u.
29-10-2020

Fix Request (15u) This fixes the corner case in Zero that breaks at least PPC64. Patch applies to another file. 15u RFR (acked by mdoerr): https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2020-October/004020.html
23-10-2020

Changeset: bd45191f Author: Aleksey Shipilev <shade@openjdk.org> Date: 2020-10-21 06:14:25 +0000 URL: https://git.openjdk.java.net/jdk/commit/bd45191f
21-10-2020