JDK-8234160 : Enable optimized mitigation for Intel jcc erratum in C2
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8,11,14
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: x86_64
  • Submitted: 2019-11-14
  • Updated: 2021-10-18
  • Resolved: 2020-02-24
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 15
15 b12Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
Intel released an erratum about conditional branches crossing 32 bit boundaries. It is described here:

https://www.intel.com/content/dam/support/us/en/documents/processors/mitigations-jump-conditional-code-erratum.pdf

It seems like microcode updates will prevent such branches from being cached, and sensitive branches might want to be aligned properly. So in ZGC we should align our fast path check.

We should also sort out the mach IR of C2 to be reasonably well aligned.
Comments
I am removing jdk11-graalvm label because JDK-8244147 resolved issue for Graal.
26-05-2020

Candidate 11u backport: https://cr.openjdk.java.net/~shade/8234160/webrev.11u.01/ -- passes tier{1,2,3} on my affected SKL-X.
09-03-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/fe2befa06c39 User: eosterlund Date: 2020-02-24 15:28:22 +0000
24-02-2020

Is there any update to this issue? I am waiting for the bool VM_Version::compute_has_intel_jcc_erratum() helper method to be merged.
15-01-2020