RFR: 8352696: JFR: assert(false): EA: missing memory path

Tobias Hartmann thartmann at openjdk.org
Mon Mar 24 12:14:25 UTC 2025


On Mon, 24 Mar 2025 11:35:03 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

> Greetings,
> 
> In debug builds, we can sometimes assert because C2's Escape Analysis does not recognize a pattern where one input of memory Phi node is a MergeMem node, and another is a RAW store.
> 
> This pattern is created by the jdk.jfr.internal.JVM.commit() intrinsic, which is inlined because of inlining JFR events, for example jdk.VirtualThreadStart.
> 
> As a result, EA complains about a strange memory graph. 
> 
> Testing: jdk_jfr
> 
> Thanks
> Markus

Looks good to me otherwise.

test/jdk/jdk/jfr/jvm/TestJvmCommitIntrinsicAndEA.java line 79:

> 77:  * @bug 8352696
> 78:  * @requires vm.flagless
> 79:  * @requires vm.hasJFR & vm.debug

Could be merged.

test/jdk/jdk/jfr/jvm/TestJvmCommitIntrinsicAndEA.java line 81:

> 79:  * @requires vm.hasJFR & vm.debug
> 80:  * @library /test/lib /test/jdk
> 81:  * @run main/othervm jdk.jfr.jvm.TestJvmCommitIntrinsicAndEA

Maybe use `-Xbatch`?

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

Marked as reviewed by thartmann (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/24192#pullrequestreview-2710145599
PR Review Comment: https://git.openjdk.org/jdk/pull/24192#discussion_r2010058606
PR Review Comment: https://git.openjdk.org/jdk/pull/24192#discussion_r2010046632


More information about the hotspot-compiler-dev mailing list