RFR: 8356989: Unexpected null in C2 compiled code [v2]

Christian Hagedorn chagedorn at openjdk.org
Mon May 26 08:15:53 UTC 2025


On Mon, 26 May 2025 07:21:08 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>> In the test case, a non escaping array is initialized by an
>> `arraycopy` that uses this array as source and destination. Following
>> the `arraycopy`, one of the element of the array is tested for
>> `null`. That null check is constant folded to always `null` by escape
>> analysis. As I understand, the `Allocate` for the array should be
>> marked by EA as destination of an array copy. That state should then
>> be propagated by EA to uses and all destinations of an array copy
>> should be marked as unknown value. But EA has logic that explicitly
>> skips the case where an `ArrayCopy` has same source and
>> destination. Removing that logic fixes the failure.
>
> Roland Westrelin has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Update test/hotspot/jtreg/compiler/escapeAnalysis/TestArrayCopySameSrcDstInitializesNonEscapingArray.java
>    
>    Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
>  - Update test/hotspot/jtreg/compiler/escapeAnalysis/TestArrayCopySameSrcDstInitializesNonEscapingArray.java
>    
>    Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>

Looks good, thanks for the update.

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

Marked as reviewed by chagedorn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25389#pullrequestreview-2867631153


More information about the hotspot-compiler-dev mailing list