RFR: 8259430: C2: assert(in_vt->length() == out_vt->length()) failed: mismatch on number of elements

Vladimir Ivanov vlivanov at openjdk.java.net
Fri Feb 5 17:35:52 UTC 2021


Another problem caused by pathological cases (in effectively dead code): `VectorUnboxNode::Ideal()/Value()` ignore cast nodes (even the ones carrying control dependency) to reveal `VectorBox` and sometimes it exposes type mismatches between box/unbox operations which are impossible in practice. 

Proposed fix turns the assert into a runtime check to ignore problematic IR shape.

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

Commit messages:
 - 8259430: C2: assert(in_vt->length() == out_vt->length()) failed: mismatch on number of elements

Changes: https://git.openjdk.java.net/jdk/pull/2353/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2353&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8259430
  Stats: 23 lines in 2 files changed: 6 ins; 2 del; 15 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2353.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2353/head:pull/2353

PR: https://git.openjdk.java.net/jdk/pull/2353


More information about the hotspot-compiler-dev mailing list