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

Sandhya Viswanathan sviswanathan at openjdk.java.net
Fri Jul 2 15:36:54 UTC 2021


On Fri, 2 Jul 2021 00:38:30 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

> 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

This pull request has now been integrated.

Changeset: 6f0e8e79
Author:    Sandhya Viswanathan <sviswanathan at openjdk.org>
URL:       https://git.openjdk.java.net/jdk17/commit/6f0e8e79aaebd54a587f206a2eb920fdfd4b891d
Stats:     22 lines in 2 files changed: 4 ins; 8 del; 10 mod

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

Reviewed-by: kvn, dlong

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

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


More information about the hotspot-compiler-dev mailing list