RFR: 8271202: C1: assert(false) failed: live_in set of first block must be empty [v2]
Martin Doerr
mdoerr at openjdk.java.net
Mon Jan 10 17:59:32 UTC 2022
On Tue, 7 Dec 2021 23:25:03 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
>> I have written a checker which detects usage of the illegal phi function. In case of the reproducer provided in the JBS bug ("Reduced.java"), it finds the following and bails out:
>>
>> invalidating local 8 because of type mismatch (new_value is NULL)
>> Bailing out because StoreIndexed (id 98) uses illegal phi (id 68)
>>
>> I haven't checked why that node uses the illegal phi. That still seems to be a bug. Maybe there's a better solution to the underlying problem, but I hope my checker is useful to analyze bugs and to make C1 more resilient.
>
> Martin Doerr has updated the pull request incrementally with one additional commit since the last revision:
>
> Add test.
Issue is fixed by https://github.com/openjdk/jdk18/commit/54b800d56d6bc86676722ad96e87b8344606bcb7. I wonder if we still have a potential problem when an illegal phi gets used. That can still happen (not in the provided `test()` method). E.g. `If (id 73) uses illegal phi (id 68)` in jvm98 `Compressor::compress`.
-------------
PR: https://git.openjdk.java.net/jdk/pull/6683
More information about the hotspot-compiler-dev
mailing list