[lworld] RFR: 8242453: [lworld] C2 compilation fails with assert 'correct memory chain'

Tobias Hartmann thartmann at openjdk.java.net
Tue Aug 4 12:44:10 UTC 2020

Relax the assert in MemNode::optimize_memory_chain because loads from a non-flat array can be pushed through an
arraycopy from a flat array (see LoadNode::can_see_arraycopy_value) and end up with an inconsistent memory input (oop
load from flat array). The checks emitted for the arraycopy will catch this and the load will be removed but
optimize_memory_chain() can still be executed before that happens.

Other options to fix this will be evaluated with JDK-8251039.


Commit messages:
 - 8242453: [lworld] C2 compilation fails with assert 'correct memory chain'

Changes: https://git.openjdk.java.net/valhalla/pull/134/files
 Webrev: https://webrevs.openjdk.java.net/valhalla/134/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8242453
  Stats: 70 lines in 5 files changed: 50 ins; 5 del; 15 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/134.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/134/head:pull/134

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

More information about the valhalla-dev mailing list