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

Obsolete NeedsDeoptSuspend

XMLWordPrintable

    • behavioral
    • minimal
    • The flag is not usable when changed from its default value (false on all platforms but sparc), and the flag is not needed even on sparc.
    • add/remove/modify command line option
    • Implementation

      Summary

      Before JDK 5.0 (1.5.0) a platform with register windows did not flush the register windows when calling JNI. Therefore the VM thread could not read the java stack of a JavaThread in native. NeedsDeoptSuspend was set to true on such platforms, making the JavaThread flush the register windows and deoptimize on return from JNI instead. After JDK 1.5 both code paths work on all platforms, but with one of them much more complicated.

      Problem

      NeedsDeoptSuspend code path adds complexity without any notable difference for a user. The flag was never meant to be used by a user, the only noticeable effect the flag has had is it could crash the VM when changing it from it's default value.

      Solution

      Obsolete the flag (JDK 13) and remove the flag (JDK 14).

      Specification

      Mark the flag as obsolete in the flag table:

      +   { "NeedsDeoptSuspend",             JDK_Version::undefined(), JDK_Version::jdk(13), JDK_Version::jdk(14) },

      http://cr.openjdk.java.net/~rehn/8222637/webrev/

            rehn Robbin Ehn
            rehn Robbin Ehn
            Coleen Phillimore, Daniel Daugherty, David Holmes
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: