RFR: 8360031: C2 compilation asserts in MemBarNode::remove [v2]

Damon Fenacci dfenacci at openjdk.org
Mon Sep 1 09:02:46 UTC 2025


On Thu, 21 Aug 2025 00:27:02 GMT, Dean Long <dlong at openjdk.org> wrote:

> This look OK on the surface, but isn't handling MemBarStoreStore and MemBarRelease differently asking for trouble? Is there a reason why they need to be handled in different passes?

I'm not sure of the reason why EA handles `MemBarStoreStore` separately. Maybe @vnkozlov can shed some light...

BTW the original assert with condition `Opcode() == Op_Initialize` seems to have been added because that was the case of the [JDK-8269771](https://bugs.openjdk.org/browse/JDK-8269771) bug ([PR](https://github.com/openjdk/jdk17/pull/193)). I'm not sure that there couldn't be any other additional case (apart from the current two) that makes the membar node have only one out edge.

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

PR Comment: https://git.openjdk.org/jdk/pull/26556#issuecomment-3241505556


More information about the hotspot-compiler-dev mailing list