RFR (S) 8181171: Deleting method for RedefineClasses breaks ResolvedMethodName

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Sat Feb 23 03:13:45 UTC 2019


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.phillimore at 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20190222/0a9a86e7/attachment.html>


More information about the serviceability-dev mailing list