[jdk17] RFR: 8269775: compiler/codegen/ClearArrayTest.java failed with "assert(false) failed: bad AD file"

Sandhya Viswanathan sviswanathan at openjdk.java.net
Fri Jul 2 00:47:13 UTC 2021


The following test failed in JDK17 
compiler/codegen/ClearArrayTest.java
with assert(false) failed: bad AD file

The problem is that no match is found for platforms not supporting avx512vlbw for constant input.

Per analysis from Dean Long and Vladimir Kozlov:
This is due to rep_stos rules for small clear array which use !n->in(2)->bottom_type()->is_long()->is_con(). 
This prevents the rule from matching with a constant --> register conversion. 
Removing !is_con() from rep_stos for small clear array fixes the issue.
We also add appropriate "ins_cost" to all ClearArray rules, so that in the case of multiple matches, we break the tie based on ins_cost.

Best Regards,
Sandhya

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

Commit messages:
 - 8269775: compiler/codegen/ClearArrayTest.java failed with "assert(false) failed: bad AD file"

Changes: https://git.openjdk.java.net/jdk17/pull/199/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk17&pr=199&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8269775
  Stats: 10 lines in 1 file changed: 3 ins; 4 del; 3 mod
  Patch: https://git.openjdk.java.net/jdk17/pull/199.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/199/head:pull/199

PR: https://git.openjdk.java.net/jdk17/pull/199


More information about the hotspot-compiler-dev mailing list