-
Bug
-
Resolution: Fixed
-
P3
-
17, 21
-
b07
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8317477 | 21.0.2 | Goetz Lindenmaier | P3 | Resolved | Fixed | b02 |
JDK-8316406 | 17.0.10-oracle | Tobias Hartmann | P3 | Resolved | Fixed | b01 |
JDK-8317651 | 17.0.10 | Goetz Lindenmaier | P3 | Resolved | Fixed | b01 |
Command line:
java -Xmx1G -Xcomp -Xbatch -XX:CompileOnly=Test -XX:MaxRAMPercentage=4.16667 Test
JDK 16
real 0m0,383s
user 0m0,326s
sys 0m0,029s
JDK 17+23 (contains
real 0m0,483s
user 0m0,421s
sys 0m0,032s
JDK 17+35
real 0m4,388s
user 0m4,310s
sys 0m0,056s
JDK 18 and later
real 0m10,312s
user 0m10,116s
sys 0m0,140s
With 5s test timeout it fails since
With 8s test timeout it fails since
We seem to spend most time in here:
#0 0x00007ffff70d9608 in Unique_Node_List::remove (n=<optimized out>, this=<optimized out>) at /oracle/valhalla/open/src/hotspot/share/opto/node.hpp:1590
#1 Unique_Node_List::remove (this=0x7fffac2ede30, n=0x7fffae517ae0) at /oracle/valhalla/open/src/hotspot/share/opto/node.cpp:2944
#2 0x00007ffff64ea758 in Compile::remove_modified_node (n=0x7fffae517ae0, this=0x7fffd47d4a30) at /oracle/valhalla/open/src/hotspot/share/opto/compile.cpp:1237
#3 Compile::remove_useless_node (this=0x7fffd47d4a30, dead=0x7fffae517ae0) at /oracle/valhalla/open/src/hotspot/share/opto/compile.cpp:374
#4 0x00007ffff71e9ceb in PhaseIterGVN::remove_globally_dead_node (this=this@entry=0x7fffd47d23f0, dead=dead@entry=0x7fffae517ae0) at /oracle/valhalla/open/src/hotspot/share/opto/phaseX.cpp:1442
#5 0x00007ffff71eae1e in PhaseIterGVN::remove_dead_node (dead=0x7fffae517ae0, this=0x7fffd47d23f0) at /oracle/valhalla/open/src/hotspot/share/opto/phaseX.hpp:507
#6 PhaseIterGVN::subsume_node (this=0x7fffd47d23f0, old=0x7fffae517ae0, nn=0x7fffaea5fae0) at /oracle/valhalla/open/src/hotspot/share/opto/phaseX.cpp:1491
#7 0x00007ffff6ee8878 in PhaseIdealLoop::try_sink_out_of_loop (n=<optimized out>, this=0x7fffd47d1720) at /oracle/valhalla/open/src/hotspot/share/opto/loopopts.cpp:1821
#8 PhaseIdealLoop::try_sink_out_of_loop (this=0x7fffd47d1720, n=<optimized out>) at /oracle/valhalla/open/src/hotspot/share/opto/loopopts.cpp:1763
#9 0x00007ffff6ee8ad5 in PhaseIdealLoop::split_if_with_blocks_post (this=0x7fffd47d1720, n=<optimized out>) at /oracle/valhalla/open/src/hotspot/share/opto/loopopts.cpp:1618
#10 0x00007ffff6ee9eb4 in PhaseIdealLoop::split_if_with_blocks_post (n=0x7fffac383d08, this=0x7fffd47d1720) at /oracle/valhalla/open/src/hotspot/share/opto/loopopts.cpp:2001
#11 PhaseIdealLoop::split_if_with_blocks (this=this@entry=0x7fffd47d1720, visited=..., nstack=...) at /oracle/valhalla/open/src/hotspot/share/opto/loopopts.cpp:2001
#12 0x00007ffff6eda5cf in PhaseIdealLoop::build_and_optimize (this=this@entry=0x7fffd47d1720) at /oracle/valhalla/open/src/hotspot/share/opto/loopnode.cpp:4517
#13 0x00007ffff650d674 in PhaseIdealLoop::PhaseIdealLoop (mode=LoopOptsDefault, igvn=..., this=0x7fffd47d1720) at /oracle/valhalla/open/src/hotspot/share/opto/loopnode.hpp:1101
Running with -XX:-SplitIfBlocks or explicitly disabling PhaseIdealLoop::try_sink_out_of_loop brings back old speed.
This also shows with -XX:+CITime:
JDK 16:
Accumulated compiler times
----------------------------------------------------------
Total compilation time : 0,293 s
JDK 21:
Accumulated compiler times
----------------------------------------------------------
Total compilation time : 9,049 s
- backported by
-
JDK-8316406 Massive (up to ~30x) increase in C2 compilation time since JDK 17
- Resolved
-
JDK-8317477 Massive (up to ~30x) increase in C2 compilation time since JDK 17
- Resolved
-
JDK-8317651 Massive (up to ~30x) increase in C2 compilation time since JDK 17
- Resolved
- duplicates
-
JDK-8310566 JitTester-generated test requires 30x more time in Xcomp-mode
- Closed
- relates to
-
JDK-8267988 C2: assert(!addp->is_AddP() || addp->in(AddPNode::Base)->is_top() || addp->in(AddPNode::Base) == n->in(AddPNode::Base)) failed: Base pointers must match (addp 1301)
- Closed
-
JDK-8312440 assert(cast != nullptr) failed: must have added a cast to pin the node
- Resolved
-
JDK-8308094 Add a compilation timeout flag to catch long running compilations
- Open
-
JDK-8252372 Check if cloning is required to move loads out of loops in PhaseIdealLoop::split_if_with_blocks_post()
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/dbbded30
-
Commit openjdk/jdk21u/bbfbc7b3
-
Commit openjdk/jdk/c6ab9c29
-
Review openjdk/jdk17u-dev/1827
-
Review openjdk/jdk21/141
-
Review openjdk/jdk21u/199
-
Review openjdk/jdk/14732