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

Unnecessary liveness computation with JVMTI

    Details

    • Subcomponent:
    • Resolved In Build:
      b04

      Backports

        Description

        JIT compilers use ciMethod::liveness_at_bci to determine which local values are live at a certain bci. This function triggers computation of liveness information if not yet available. Then it retrieves the information from the existing data structures.

        When at least one of the JVMTI capabilities "can_access_local_variables" or "can_pop_frame" are enabled, this retrieved information gets completely overwritten to keep all local values alive. So the previous steps were completely unnecessary.

        This change disables this unneccessary computation and thus improves C2 performance.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  mdoerr Martin Doerr
                  Reporter:
                  mdoerr Martin Doerr
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: