[lworld] RFR: 8324117: [lworld] C1 hits "Can not patch access to flat field" assert after JDK-8320437

Tobias Hartmann thartmann at openjdk.org
Tue Feb 6 16:13:27 UTC 2024


Current code assumes that even if the holder is not loaded, we always know at compile time if a field type is an inline type. That's not guaranteed after the removal of Q-types and as a result we hit an assert when trying to patch a flat field at runtime.

I don't remember why we had this complicated code before but we can simply deopt at runtime when we detect the flat field during patching. The code will then be re-compiled.

Thanks,
Tobias

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

Commit messages:
 - 8324117: [lworld] C1 hits "Can not patch access to flat field" assert after JDK-8320437

Changes: https://git.openjdk.org/valhalla/pull/994/files
 Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=994&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8324117
  Stats: 48 lines in 3 files changed: 9 ins; 38 del; 1 mod
  Patch: https://git.openjdk.org/valhalla/pull/994.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/994/head:pull/994

PR: https://git.openjdk.org/valhalla/pull/994



More information about the valhalla-dev mailing list