There is a missed Ideal() optimization opportunity when running RunThese30M.java with -XX:VerifyIterativeGVN=1110. Can also be reproduced with the attached replay file.
Missed Ideal optimization (can_reshape=true):
The node was reshaped by Ideal.
The result after Ideal:
dist dump
---------------------------------------------
1 133 MergeMem === _ 1 7 40 40 40 40 [[ 139 ]] { N40:rawptr:BotPTR N40:java/lang/Object * N40:java/lang/Object+8 * [narrowklass] N40:java/util/concurrent/atomic/AtomicLong (java/io/Serializable)+16 * } Memory: @BotPTR *+bot, idx=Bot; !jvms: AtomicLong::get @ bci:-1 (line 91) AtomicLong::intValue @ bci:1 (line 358) AtomicLongTest::testIntValue @ bci:10 (line 229)
1 1 Con === 0 [[ ]] #top
1 39 Proj === 38 [[ 139 42 ]] #0 !jvms: AtomicLongTest::testIntValue @ bci:0 (line 228)
0 139 MemBarAcquire === 39 1 133 1 1 [[ 140 141 ]] !jvms: AtomicLong::get @ bci:1 (line 91) AtomicLong::intValue @ bci:1 (line 358) AtomicLongTest::testIntValue @ bci:10 (line 229)
igvn.worklist[0] 138 ConL === 0 [[ ]] #long:0
Previously optimized:
139 MemBarAcquire === 39 1 133 1 1 [[ 140 141 ]] !jvms: AtomicLong::get @ bci:1 (line 91) AtomicLong::intValue @ bci:1 (line 358) AtomicLongTest::testIntValue @ bci:10 (line 229)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (c:\sb\prod\1757679546\workspace\open\src\hotspot\share\opto\phaseX.cpp:1127), pid=8312, tid=50872
# assert(false) failed: igvn worklist must still be empty after verify
#
# JRE version: Java(TM) SE Runtime Environment (26.0+1) (fastdebug build 26-valhalla+1-12)
..............
C2:809089 68445 b 4 javasoft.sqe.tests.api.java.util.concurrent.StampedLockTest::testValidate0 (17 bytes)
Missed Ideal optimization (can_reshape=true):
The node was reshaped by Ideal.
The result after Ideal:
dist dump
---------------------------------------------
1 133 MergeMem === _ 1 7 40 40 40 40 [[ 139 ]] { N40:rawptr:BotPTR N40:java/lang/Object * N40:java/lang/Object+8 * [narrowklass] N40:java/util/concurrent/atomic/AtomicLong (java/io/Serializable)+16 * } Memory: @BotPTR *+bot, idx=Bot; !jvms: AtomicLong::get @ bci:-1 (line 91) AtomicLong::intValue @ bci:1 (line 358) AtomicLongTest::testIntValue @ bci:10 (line 229)
1 1 Con === 0 [[ ]] #top
1 39 Proj === 38 [[ 139 42 ]] #0 !jvms: AtomicLongTest::testIntValue @ bci:0 (line 228)
0 139 MemBarAcquire === 39 1 133 1 1 [[ 140 141 ]] !jvms: AtomicLong::get @ bci:1 (line 91) AtomicLong::intValue @ bci:1 (line 358) AtomicLongTest::testIntValue @ bci:10 (line 229)
igvn.worklist[0] 138 ConL === 0 [[ ]] #long:0
Previously optimized:
139 MemBarAcquire === 39 1 133 1 1 [[ 140 141 ]] !jvms: AtomicLong::get @ bci:1 (line 91) AtomicLong::intValue @ bci:1 (line 358) AtomicLongTest::testIntValue @ bci:10 (line 229)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (c:\sb\prod\1757679546\workspace\open\src\hotspot\share\opto\phaseX.cpp:1127), pid=8312, tid=50872
# assert(false) failed: igvn worklist must still be empty after verify
#
# JRE version: Java(TM) SE Runtime Environment (26.0+1) (fastdebug build 26-valhalla+1-12)
..............
C2:809089 68445 b 4 javasoft.sqe.tests.api.java.util.concurrent.StampedLockTest::testValidate0 (17 bytes)