[lworld] RFR: 8261874: [lworld] Non-flattened array blocks scalarization of inline type

Tobias Hartmann thartmann at openjdk.java.net
Thu Feb 18 15:19:05 UTC 2021

We hit an assert because an inline type is not scalarized in the debug info of a safepoint. The problem is that the inline type is stored in a non-flattened array which blocks scalarization. Once the non-flattened array is scalarized itself, the inline type could be scalarized as well but we don't keep track of its field values long enough (we remove the `InlineTypePtrNode` before macro expansion). The solution is to keep `InlineTypePtrNodes` until after macro expansion. I've also converted scalarization in safepoints into an ideal transformation, refactored related code and added the corresponding IR verification tests.

Best regards,


Commit messages:
 - 8261874: [lworld] Non-flattened array blocks scalarization of inline type

Changes: https://git.openjdk.java.net/valhalla/pull/342/files
 Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=342&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8261874
  Stats: 176 lines in 7 files changed: 127 ins; 25 del; 24 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/342.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/342/head:pull/342

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

More information about the valhalla-dev mailing list