[lworld] RFR: 8273594: [lworld] JITs need to properly handle static inline type field with unloaded type [v3]

Tobias Hartmann thartmann at openjdk.java.net
Mon Sep 13 12:28:34 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

Tobias Hartmann has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:

 - Remove -Xint from CircularityTest
 - Merge branch 'lworld' into JDK-8273594
 - Check for uninitialized class
 - Deoptimization does no longer support symbolic names for the class index, use a simple trap instead
 - Don't modify do_Deoptimize
 - 8273594: [lworld] JITs need to properly handle static inline type field with unloaded type

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

Changes:
  - all: https://git.openjdk.java.net/valhalla/pull/551/files
  - new: https://git.openjdk.java.net/valhalla/pull/551/files/835a9005..4444d91f

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=551&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=551&range=01-02

  Stats: 367 lines in 29 files changed: 194 ins; 95 del; 78 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