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

Cleanup Deoptimization::deoptimize(): remove unused RegisterMap argument and don't update RegisterMap in callers if UseBiasedLocking is enabled

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b11

      Description

      Since JDK-8226705 biases of monitors are not revoked anymore when deoptimization of a compiled frame is requested [1], but when the actual deoptimization happens, i.e. when control returns to that frame [2].

      With [1] the uses of the argument RegisterMap* map are removed from Deoptimization::deoptimize(JavaThread* thread, frame fr, RegisterMap *map, DeoptReason reason).
      As a cleanup the arg should be removed from the parameter list. Callers should be adapted. Callers should not create an updating RegisterMap if UseBiasedLocking is enabled either, because this was only necessary as long as biases were revoked in Deoptimization::deoptimize().

      [1] JDK-8226705 removes call to revoke_biases_of_monitors() from Deoptimization::deoptimize()
          http://hg.openjdk.java.net/jdk/jdk/rev/408c445d04e8#l21.320

      [2] JDK-8226705 adds call to revoke_from_deopt_handler() to Deoptimization::fetch_unroll_info_helper() [3]
          http://hg.openjdk.java.net/jdk/jdk/rev/408c445d04e8#l21.199

      [3] JDK-8226705: Deoptimization::revoke_from_deopt_handler() revokes biases just before replacing a
          compiled frame with equivalent interpreter frames.
          http://hg.openjdk.java.net/jdk/jdk/rev/408c445d04e8#l21.290

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              rrich Richard Reingruber
              Reporter:
              rrich Richard Reingruber
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: