[lworld] RFR: 8262231: [lworld] C2 compilation fails with assert "user must call transfer_exceptions_into_jvms"

Tobias Hartmann thartmann at openjdk.java.net
Tue Feb 23 17:15:19 UTC 2021


When running with `-XX:PerMethodSpecTrapLimit=0 -XX:PerMethodTrapLimit=0`, we hit an assert because the unsafe access intrinsic adds an exception to the `GraphKit` state but then bails out and therefore does not transfer that exception into the `JVMState`. In general, we should only modify the graph once we are sure we won't bail out from intrinsification. I've added an assert that catches this even without any VM flags and fixed all affected intrinsics.

Best regards,
Tobias

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

Commit messages:
 - Simplified assert
 - 8262231: [lworld] C2 compilation fails with assert "user must call transfer_exceptions_into_jvms"

Changes: https://git.openjdk.java.net/valhalla/pull/348/files
 Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=348&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8262231
  Stats: 59 lines in 1 file changed: 21 ins; 27 del; 11 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/348.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/348/head:pull/348

PR: https://git.openjdk.java.net/valhalla/pull/348


More information about the valhalla-dev mailing list