Jigsaw Enhancement RFR round #1: 8156147 Add ClassLoader parameter to new ClassFileTransformer transform method

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Wed Jun 29 04:10:54 UTC 2016


Hi David,

Thank you for reviewing!

The updated tests just pass the the arguments through as required.
It provides sanity checks that both old and new overloaded transform 
methods works as needed.
There are some tricky dependencies among the Jtreg java/lang/instrument 
test classes
that I have to learn to be fluent with these tests. But I've not got 
there yet.

Thanks,
Serguei


On 6/28/16 18:29, David Holmes wrote:
> Hi Serguei,
>
> Changes look good. Just curious why none of the tests actually do 
> anything with the Module or ClassLoader arguments?
>
> Thanks,
> David
>
> On 28/06/2016 9:06 PM, serguei.spitsyn at oracle.com wrote:
>> Please, review the Jigsaw fix for the enhancement:
>>   https://bugs.openjdk.java.net/browse/JDK-8159147
>>
>>
>> Jdk webrev:
>>
>> http://cr.openjdk.java.net/~sspitsyn/webrevs/2016/jdk/8159147-Jigsaw-jli.jdk1/ 
>>
>>
>>
>> Summary:
>>
>>   As noted in JDK-8155207
>> <https://bugs.openjdk.java.net/browse/JDK-8155207> and elsewhere, one of
>> the outstanding items for java.lang.instrument is
>>   whether the new ClassFileTransformer transform method should provider
>> the ClassLoader parameter.
>>   After further consideration then this seems useful and avoids agents
>> needing permissions to invoke Module::getClassLoader.
>>   The fix is to add the ClassLoader as the second parameter of the
>> ClassFileTransformer#transform() method.
>>
>>  This fix also replaces the usage of the JVM_GetModuleByPackageName with
>> the JVMTI GetNamedModule in the JPLISAgent.c.
>>  It is why this fix depends on the fix of the JVMTI enhancement:
>>   https://bugs.openjdk.java.net/browse/JDK-8159145
>>  and so, must be pushed after the JDK-8159145.
>>
>>
>>   Testing:
>>    Ran the Jtreg java/lang/instrument tests.
>>    Ran two updated jtreg j.l.i tests:
>>       java/lang/instrument/RetransformAgent.java
>>       java/lang/instrument/SingleTransformerTest.java
>>
>> Thanks,
>> Serguei



More information about the serviceability-dev mailing list