[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