[lworld] RFR: 8281454: [lworld] Assert in EA due to oop access to flat array

Tobias Hartmann thartmann at openjdk.java.net
Wed Feb 9 11:11:35 UTC 2022


Similar to [JDK-8250951](https://bugs.openjdk.java.net/browse/JDK-8250951), we hit an assert in EA because an oop load is used to access a flat array. The load is from an `Arrays.copyOf` and flat array checks in `LibraryCallKit::inline_array_copyOf` will prevent that load from ever being executed but the dead subgraph is not removed because we run with `-XX:+StressReflectiveCode`.

I fixed this by using the `FlatArrayCheckNode` for checks in the intrinsics as well. This ensures that the graph is folded even with  `-XX:+StressReflectiveCode` and enables more aggressive optimizations. The patch also includes some cleanups and removal of (now) dead code.

Thanks,
Tobias

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

Commit messages:
 - Removed override keywords
 - 8281454: [lworld] Assert in EA due to oop access to flat array

Changes: https://git.openjdk.java.net/valhalla/pull/642/files
 Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=642&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8281454
  Stats: 83 lines in 12 files changed: 10 ins; 22 del; 51 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/642.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/642/head:pull/642

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



More information about the valhalla-dev mailing list