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

compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC

    XMLWordPrintable

Details

    • b15
    • sparc

    Backports

      Description

        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

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                  Created:
                  Updated:
                  Resolved: