[lworld] RFR: 8273594: [lworld] JITs need to properly handle static inline type field with unloaded type
Tobias Hartmann
thartmann at openjdk.java.net
Fri Sep 10 11:26:54 UTC 2021
Both C1 and C2 do not properly handle loads from static inline type fields with an unloaded type. For C1, the fix is to simply remove two asserts that are too strong. For C2, we need to trap during typeflow analysis.
I've added a corresponding test to `TestUnloadedInlineTypeField.java` and noticed that the new IR Test Framework often triggers class loading while the test was carefully designed to avoid that. As a workaround, I slightly modified the framework and run the test with `-DIgnoreCompilerControls=true`. I filed [JDK-8273591](https://bugs.openjdk.java.net/browse/JDK-8273591) to fix this upstream.
I also fixed a `-XX:-XX:+PatchALot` typo in the test that went unnoticed because `-XX:+IgnoreUnrecognizedVMOptions` is set.
Thanks,
Tobias
-------------
Commit messages:
- Don't modify do_Deoptimize
- 8273594: [lworld] JITs need to properly handle static inline type field with unloaded type
Changes: https://git.openjdk.java.net/valhalla/pull/551/files
Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=551&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8273594
Stats: 73 lines in 7 files changed: 52 ins; 7 del; 14 mod
Patch: https://git.openjdk.java.net/valhalla/pull/551.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/551/head:pull/551
PR: https://git.openjdk.java.net/valhalla/pull/551
More information about the valhalla-dev
mailing list