Details

    • Type: CSR
    • Status: Closed
    • Priority: P4
    • Resolution: Approved
    • Fix Version/s: 13
    • Component/s: core-libs
    • Labels:
      None
    • Subcomponent:
    • Compatibility Kind:
      source, binary
    • Compatibility Risk:
      low
    • Compatibility Risk Description:
      Hide
      It's possible that some code out there has calls to these methods. Such calls will fail in the future with NoSuchMethodError. However, since these methods do nothing, any code that calls these methods cannot be depending on any actual functionality provided by these methods. The remediation is simply to remove calls to these methods.
      Show
      It's possible that some code out there has calls to these methods. Such calls will fail in the future with NoSuchMethodError. However, since these methods do nothing, any code that calls these methods cannot be depending on any actual functionality provided by these methods. The remediation is simply to remove calls to these methods.
    • Interface Kind:
      Java API
    • Scope:
      SE

      Description

      Summary

      Remove obsolete tracing methods from java.lang.Runtime.

      Problem

      The java.lang.Runtime class has two methods, traceInstructions() and traceMethodCalls(), which are obsolete and have long been superseded by other technologies such as JVMTI. These methods do nothing. They have been deprecated for removal since Java 9.

      Solution

      Remove these methods from Java SE 13.

      Specification

      diff -r 3eb7187b20f0 -r c13abf23fb2e src/java.base/share/classes/java/lang/Runtime.java
      --- a/src/java.base/share/classes/java/lang/Runtime.java    Tue Jun 04 18:59:53 2019 -0700
      +++ b/src/java.base/share/classes/java/lang/Runtime.java    Tue Jun 04 19:28:00 2019 -0700
      @@ -679,32 +679,6 @@
           }
      
           /**
      -     * Not implemented, does nothing.
      -     *
      -     * @deprecated
      -     * This method was intended to control instruction tracing.
      -     * It has been superseded by JVM-specific tracing mechanisms.
      -     * This method is subject to removal in a future version of Java SE.
      -     *
      -     * @param on ignored
      -     */
      -    @Deprecated(since="9", forRemoval=true)
      -    public void traceInstructions(boolean on) { }
      -
      -    /**
      -     * Not implemented, does nothing.
      -     *
      -     * @deprecated
      -     * This method was intended to control method call tracing.
      -     * It has been superseded by JVM-specific tracing mechanisms.
      -     * This method is subject to removal in a future version of Java SE.
      -     *
      -     * @param on ignored
      -     */
      -    @Deprecated(since="9", forRemoval=true)
      -    public void traceMethodCalls(boolean on) { }
      -
      -    /**
            * Loads the native library specified by the filename argument.  The filename
            * argument must be an absolute path name.
            * (for example

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                smarks Stuart Marks
                Reporter:
                smarks Stuart Marks
                Reviewed By:
                Lance Andersen, Roger Riggs
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: