Hi Coleen,

On 23/02/2019 9:36 am, 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.

Given the existing code just seems to say "I don't know what to do here", this change seems quite reasonable.

A few minor style nits in test/jdk/java/lang/instrument/NamedBuffer.java:

+         final byte FirstByte = className.getBytes()[0];

No need for final

s/First/first/

+             if(checkMatch

Space after if

Also could you add a comment on bytesForHostClass explaining exactly what it does please. I have to keep re-reading it to figure out what is the name of the actual classfile on disk and how it then gets transformed. IIUC given className it replaces the first letter with "replace" and reads that classfile from disk, and then iterates through the bytes looking for the modified name and updating it to be "className" (which just requires changing the first byte).

Thanks,
David
-----

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

Reply via email to