|
Hi All, This is request for comments and potentially reviews for the following CSR: https://bugs.openjdk.java.net/browse/JDK-8221528 Problem Now, the implementation of JVMTI RedefineClasses and RetransformClasses allows to add/delete private static and private final instance methods in the new class versions. It means that current implementation does not follow the JVM TI spec which explicitly states: "The redefinition must not add, remove or rename fields or methods, change the signatures of methods, change modifiers, or change inheritance." For details, please, see the spec: https://docs.oracle.com/en/java/javase/12/docs/specs/jvmti.html#RedefineClasses https://docs.oracle.com/en/java/javase/12/docs/specs/jvmti.html#RetransformClasses The decision was made to align the implementation with the spec. For reference, please, see the https://bugs.openjdk.java.net/browse/JDK-8192936. This decision is going to cause some inconveniences to the customers. Solution The solution is to introduce a compatibility mode with new command-line VM option: -XX:{+|-}AllowRedefinitionToAddOrDeleteMethods New option will enable old behavior and allow the JVM TI RedefineClasses and RetransformClasses to add/delete private static and private final instance methods in the new class versions. Without this option the old behavior will be disabled. New option is deprecated right away. The plan is to keep it for a couple of releases to allow customers (tool vendors) to remove dependency on old behavior from their tools. Thanks, Serguei |
- RFC (csr): 8221528: Introduce compatibility mod... [email protected]
- Re: RFC (csr): 8221528: Introduce compatib... Thomas Stüfe
- Re: RFC (csr): 8221528: Introduce comp... David Holmes
- Re: RFC (csr): 8221528: Introduce ... Thomas Stüfe
- Re: RFC (csr): 8221528: Introd... David Holmes
- Re: RFC (csr): 8221528: I... Michael Rasmussen
- Re: RFC (csr): 822152... David Holmes
- Re: RFC (csr): 82... Michael Rasmussen
- Re: RFC (csr): 822152... Alan Bateman
- Re: RFC (csr): 8221528: I... Thomas Stüfe
- Re: RFC (csr): 822152... David Holmes
