On Tue, 8 Jun 2021 02:02:38 GMT, Serguei Spitsyn <[email protected]> wrote:
>> The JVM TI Heap functions 1.0 were superseded by newer functions in JVM TI >> 1.2 (Java 6) and should be deprecated so they can be removed in a future >> release. >> >> We need to replace this sentence: >> "These functions and data types were introduced in the original JVM TI >> version 1.0 and have been superseded by more powerful and flexible >> versions which:" >> with: >> "These functions and data types were introduced in the original JVM TI >> version 1.0. They are deprecated and will be changed to return an error >> in a future release. They were superseded in JVM TI version 1.2 (Java 6) by >> more powerful and flexible versions which:" >> >> The CSR has been approved: >> https://bugs.openjdk.java.net/browse/JDK-8268242 >> >> The JVM TI Heap functions reflect the requirements of tool vendors during >> JSR-163. They pre-date concurrent collectors, the built-in heap dump >> support, and JFR. They are a maintenance burden and there is little evidence >> that they are used by modern tools (they involve stop-the-world operations >> and so are not suitable for production systems). >> >> The JVM TI functions to deprecate are: >> IterateOverObjectsReachableFromObject >> IterateOverReachableObjects >> IterateOverHeap >> IterateOverInstancesOfClass >> >> The "Heap 1.0" section of the JVM TI spec has existing wording in bold to >> say that the functions have been superseded. The proposal is to change this >> to say that the functions are deprecated and will be degraded in a future >> release. >> A release note is planned. The release note will detail how to use >> -Xlog:jvmti=trace and -XX:TraceJVMTI= to identify any residual usages of >> these functions. >> >> A future CSR will likely degrade these functions so that they return an >> error to indicate that they are no longer implemented/supported. We also >> plan to re-examine the newer Heap functions with a view to deprecate them in >> the future too (this requires a bit more work to understand if there is any >> real usage, also some adjustments to the JDWP and JDI specs). > > Serguei Spitsyn has updated the pull request incrementally with one > additional commit since the last revision: > > missed a space in Java SE6 So ... we're logically deprecating these functions by documenting that they are deprecated, but there is no actual deprecation mechanism for JVM TI - correct? JVM TI versioning cannot be used to remove anything, it can only add new functionality. Thanks, David ------------- PR: https://git.openjdk.java.net/jdk/pull/4406
