RFR (S) 8181171: Deleting method for RedefineClasses breaks ResolvedMethodName
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Mon Feb 25 13:04:11 UTC 2019
David, Thank you for the code review.
On 2/24/19 8:04 PM, David Holmes wrote:
> Hi Coleen,
>
> On 23/02/2019 9:36 am, 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.
>
> 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
Fixed and the name changed to firstByte.
>
> s/First/first/
>
> + if(checkMatch
>
> Space after if
Fixed.
>
> 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).
How about:
// This function reads a class file from disk and replaces the
first character of
// the name with the one passed as "replace". Then goes through
the bytecodes to
// replace all instances of the name of the class with the new
name. The
// redefinition tests use this to redefine Host$ classes with
precompiled class files
// Xost.java, Yost.java and Zost.java.
Thanks,
Coleen
>
> 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
More information about the serviceability-dev
mailing list