Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8234146

compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC

XMLWordPrintable

    • b15
    • sparc

        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

          There are no Sub-Tasks for this issue.

              rrich Richard Reingruber
              thartmann Tobias Hartmann
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: