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