RFR: 8362832: compiler/macronodes/TestTopInMacroElimination.java hits assert(false) failed: unexpected node [v2]

Benoît Maillard bmaillard at openjdk.org
Mon Oct 27 08:25:08 UTC 2025


On Thu, 23 Oct 2025 10:37:59 GMT, Daniel Lundén <dlunden at openjdk.org> wrote:

>> Benoît Maillard has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Update src/hotspot/share/opto/macro.cpp
>>   
>>   Co-authored-by: Daniel Lundén <daniel.lunden at oracle.com>
>
> Thanks for the fix @benoitmaillard!
> 
>> This means that the safepoint will have top as data input, but this will
> eventually cleaned up by the next round of IGVN.
> 
> Is it valid for safepoints to even temporarily have top as data input? Even if this gets cleaned up eventually by IGVN, it seems potentially risky to have it in this state.

Thanks for your review @dlunde. I would argue that this is acceptable, as we know the safepoint will be removed as soon as IGVN runs (since it is on a dead path). I see this as simply propagating dead path information and ensuring that it does not interfere with optimizing away the allocation.

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

PR Comment: https://git.openjdk.org/jdk/pull/27903#issuecomment-3450022364


More information about the hotspot-compiler-dev mailing list