[lworld] Integrated: 8258412: [lworld] TestArrays::test73 fails due to unexpected result

Tobias Hartmann thartmann at openjdk.java.net
Wed Dec 16 06:10:13 UTC 2020

On Tue, 15 Dec 2020 17:23:32 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

> `TestArrays::test73` spuriously failed (only) with a product build. I finally figured out that with a product build the `-XX:-MonomorphicArrayCheck` flag specified by the test is ignored which is required to trigger the problem. Instead of adding yet another scenario to our tests, I've added a `PreferCommandLineFlags` option to the framework to allow overwriting scenario flags by flags set via the command line. I'll use it for testing some more flag combinations in the CI.
> The root cause of the issue is that for a flat array store the `MonomorphicArrayCheck` optimization updates the array type to the exact (flat) type but does not update the corresponding element type. As a result, `elemtype->inline_klass()->is_empty()` returns true in product leading to incorrect execution and hits an assert in debug because `elemtype` is general `java.lang.Object`.
> I've also fixed another issue in `Parse::array_store_check()` and added some asserts to catch similar issues earlier in the future.
> Thanks,
> Tobias

This pull request has now been integrated.

Changeset: 56ddef2a
Author:    Tobias Hartmann <thartmann at openjdk.org>
URL:       https://git.openjdk.java.net/valhalla/commit/56ddef2a
Stats:     80 lines in 6 files changed: 40 ins; 30 del; 10 mod

8258412: [lworld] TestArrays::test73 fails due to unexpected result


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

More information about the valhalla-dev mailing list