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

    • b11

      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

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

              Created:
              Updated:
              Resolved: