-
Bug
-
Resolution: Fixed
-
P4
-
11, 14, 15
-
b15
-
sparc
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8241733 | 14.0.2 | Richard Reingruber | P4 | Resolved | Fixed | b04 |
JDK-8241790 | 11.0.8-oracle | Ramkumar Sunderbabu | P4 | Resolved | Fixed | b02 |
JDK-8243248 | 11.0.8 | Richard Reingruber | P4 | Resolved | Fixed | b01 |
compiler/jsr292/ContinuousCallSiteTargetChange.java occasionally times out on SPARC.
Analysis:
The timeouts occur when the system is under load. Then the list of dependent nmethods of the dynamic
call site of the PingPongTest gets as long as 1500 nmethods. The list is iterated in
DependencyContext::mark_dependent_nmethods() every time the call site target is changed. And this
takes longer and longer as the list grows. Note that dependents are removed only when they are made
zombie, but this doesn't happen here.
The list of dependent nmethods is virtually empty if the system is idle, because then the target is
changed faster than the method holding the call site gets compiled. When the jit finishes a
compilation it discards the new nmethod, because the call site target was changed already.
See attachment howto_reproduce_and_demo_of_potential_fix.txt
See RFC thread http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-March/037349.html
Analysis:
The timeouts occur when the system is under load. Then the list of dependent nmethods of the dynamic
call site of the PingPongTest gets as long as 1500 nmethods. The list is iterated in
DependencyContext::mark_dependent_nmethods() every time the call site target is changed. And this
takes longer and longer as the list grows. Note that dependents are removed only when they are made
zombie, but this doesn't happen here.
The list of dependent nmethods is virtually empty if the system is idle, because then the target is
changed faster than the method holding the call site gets compiled. When the jit finishes a
compilation it discards the new nmethod, because the call site target was changed already.
See attachment howto_reproduce_and_demo_of_potential_fix.txt
See RFC thread http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-March/037349.html
- backported by
-
JDK-8241733 compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC
- Resolved
-
JDK-8241790 compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC
- Resolved
-
JDK-8243248 compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC
- Resolved
- relates to
-
JDK-8222030 PPC64: Tests failing possibly due to a bottleneck in const pool
- Open
-
JDK-8242793 Incorrect copyright header in ContinuousCallSiteTargetChange.java
- Resolved