[lworld] RFR: 8376791: [lworld] C2 compilation hits assert(!not_flat || !is_flat()) failed: inconsistency [v4]
Tobias Hartmann
thartmann at openjdk.org
Wed Feb 4 13:47:07 UTC 2026
On Wed, 4 Feb 2026 13:42:22 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:
>> Hi,
>>
>> The issue is that we blindly assume that the vararg argument is a not flat and not null-free array. This misses 2 factors:
>>
>> - With the introduction of nullable flat layouts, it is possible to flatten a default array allocation (e.g. `new Integer[4]`)
>> - The node may have its own speculative type already, we need to make sure our optimistic guess does not contradict the existing speculation.
>>
>> As a result, I changed the implementation to assume that the exact type is the default refined type of the declared parameter type.
>>
>> Testing:
>>
>> - [ ] tier1-4,valhalla-comp-stress, Linux-x64
>>
>> Please kindly review, thanks a lot.
>
> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
>
> comments
Thanks, the new comment looks good!
-------------
Marked as reviewed by thartmann (Committer).
PR Review: https://git.openjdk.org/valhalla/pull/2030#pullrequestreview-3751154175
More information about the valhalla-dev
mailing list