RFR: 8262256: C2 intrinsincs should not modify IR when bailing out

Tobias Hartmann thartmann at openjdk.java.net
Mon Mar 1 08:35:44 UTC 2021


While investigating [JDK-8262231](https://bugs.openjdk.java.net/browse/JDK-8262231) in project Valhalla, I've noticed that the unsafe access C2 intrinsics sometimes emit code before then bailing out, leaving control flow before the slow call that might lead to deoptimization or an inconsistent JVMState. I've added an assert to catch this and fixed the corresponding intrinsic code (in that case null checks in `make_unsafe_address` are the culprit).

Thanks,
Tobias

-------------

Commit messages:
 - Moved make_unsafe_address back up
 - 8262256: C2 intrinsincs should not modify IR when bailing out

Changes: https://git.openjdk.java.net/jdk/pull/2775/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2775&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8262256
  Stats: 31 lines in 1 file changed: 24 ins; 3 del; 4 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2775.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2775/head:pull/2775

PR: https://git.openjdk.java.net/jdk/pull/2775


More information about the hotspot-compiler-dev mailing list