Hi Coleen,
It looks good to me.
Just a couple of minor comments.
http://cr.openjdk.java.net/~coleenp/2019/8181171.01/webrev/src/java.base/share/classes/jdk/internal/misc/Unsafe.java.udiff.html
+ * Throws NoSuchMethodError; for use by the VM for redefinition support.
+ * @since 1.12
+ */
Replace: 1.12 => 13
There was already similar error in this file:
3117 * @since 1.9
but:
3397 * @since 9
I guess, there first one is incorrect.
http://cr.openjdk.java.net/~coleenp/2019/8181171.01/webrev/test/jdk/java/lang/instrument/RedefineAddDeleteMethod/DeleteMethodHandle/redef/Xost.java.html
24 public class Xost {
25 // Remove static private methods, in A in redefinition.
26 static class A { }
27 // Removed public method to get this to compile, but we don't
28 // try to redefine Xhost.
I guess, it is better to say redefine Host instead of Xhost.
No need in new webrev.
Thanks,
Serguei
On 2/22/19 3:36 PM, coleen.phillim...@oracle.com wrote:
8210457: JVM crash in ResolvedMethodTable::add_method(Handle)
Summary: Add a function to call NSME in ResolvedMethodTable to replace
deleted methods.
This Unsafe.throwX trick is also used for vtable initialization for
throwing IllegalAccessError. Tested with redefinition tests in the
repository and tier1-3, and added tests.
open webrev at http://cr.openjdk.java.net/~coleenp/2019/8181171.01/webrev
bug link https://bugs.openjdk.java.net/browse/JDK-8181171
Thanks,
Coleen