RFR: 8256385: C2: fatal error: modified node is not on IGVN._worklist

Christian Hagedorn chagedorn at openjdk.java.net
Tue Nov 17 09:04:02 UTC 2020


On Tue, 17 Nov 2020 08:49:32 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

> `PhaseIdealLoop::find_safepoint` creates a temporary MergeMemNode that is not removed if we bail out from the optimization early (see `return NULL` statements). The fix is to simply add the MergeMem to the worklist to make sure it is always reclaimed by IGVN.
> 
> Interestingly this code path was not triggered by any of our tests but only with a test case generated by the Java Fuzzer. I've added a simplified version of that test case.
> 
> Thanks,
> Tobias

Looks good to me.

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

Marked as reviewed by chagedorn (Reviewer).

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


More information about the hotspot-compiler-dev mailing list