[lworld] Integrated: 8353180: [lworld] C2: Meeting two constant TypeAryPtr with different nullness is wrongly treated as exact

Christian Hagedorn chagedorn at openjdk.org
Fri Jun 6 17:53:10 UTC 2025


On Thu, 5 Jun 2025 12:47:50 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

> We are wrongly setting the result of the meet of two constant `TypeAryPtr` with different nullness as exact:
> https://github.com/openjdk/valhalla/blob/aacff31a86a3fc8cbc44a7e993d83c4bf9677055/test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestMeetingAryPtr.java#L66-L71
> 
> This causes an assertion failure during CCP to not be monotonic. This is now fixed.
> 
> There have been other occurrences where we wrongly set exactness even though nullness were different. Most of them have now been fixed with https://github.com/openjdk/valhalla/pull/1470 which corrected some of the wrong handling explicitely. 
> 
> Thanks,
> Christian

This pull request has now been integrated.

Changeset: 6a081482
Author:    Christian Hagedorn <chagedorn at openjdk.org>
URL:       https://git.openjdk.org/valhalla/commit/6a0814822c067ca346a6e5d161342fcc52e01707
Stats:     103 lines in 4 files changed: 91 ins; 8 del; 4 mod

8353180: [lworld] C2: Meeting two constant TypeAryPtr with different nullness is wrongly treated as exact

Reviewed-by: thartmann

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

PR: https://git.openjdk.org/valhalla/pull/1481


More information about the valhalla-dev mailing list