Integrated: 8263448: CTW: fatal error: meet not symmetric

Vladimir Kozlov kvn at openjdk.java.net
Thu Apr 1 17:06:14 UTC 2021


On Wed, 31 Mar 2021 23:31:05 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

> In bug's case instance_id should be changed to InstanceBot only if it is real id and not InstanceTop or InstanceBot (similar to Constant in type lattice). Otherwise we incorrectly change InstanceTop to InstanceBot.  In short, we should follow PTR transformation in this code:
>       if (ptr == Constant) {
>          ptr = NotNull;
>       }
> -     instance_id = InstanceBot;
> +     if (instance_id > 0) {
> +       instance_id = InstanceBot;
> +     }
> I noticed that `TypeInstPtr::xmeet_helper()` has the same code as `TypeAryPtr::xmeet_helper()` for case when `InstPtr` meets `AryPtr`. So instead of fixing two places I decided to call TypeAryPtr::xmeet_helper() from `TypeInstPtr::xmeet_helper()` for this case. We do similar thing in `TypeOopPtr::xmeet()`:
> https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/type.cpp#L3283
> 
> Fixed code style in touched code.
> 
> Tested failing test from bug report, hs-tier1-4, hs-comp.

This pull request has now been integrated.

Changeset: 6e0da996
Author:    Vladimir Kozlov <kvn at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/6e0da996
Stats:     67 lines in 1 file changed: 9 ins; 42 del; 16 mod

8263448: CTW: fatal error: meet not symmetric

Reviewed-by: roland

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

PR: https://git.openjdk.java.net/jdk/pull/3298


More information about the hotspot-compiler-dev mailing list