RFR [XS] Subclasses of jdk.jfr.Event loaded from CDS breaks -XX:FlightRecorderOptions=retransform=false

Ioi Lam ioi.lam at oracle.com
Mon Oct 30 01:41:38 UTC 2017


Hi Jiangli & Sergei,

Thanks for your review. I have updated the code as suggested by Jiangli 
and pushed.

- Ioi


On 10/26/17 6:00 PM, Jiangli Zhou wrote:
> Hi Ioi,
>
> SystemDictionary::reorder_dictionary_for_sharing() and Dictionary::reorder_dictionary_for_sharing() are only used for CDS code. Could you please add CDS_ONLY() to the function definitions and put the implementation under #if INCLUDE_CDS.
>
> Thanks,
> Jiangli
>   
>> On Oct 26, 2017, at 4:26 PM, Ioi Lam <ioi.lam at oracle.com> wrote:
>>
>> Please review the follow change:
>>
>>      https://bugs.openjdk.java.net/browse/JDK-8190191
>> http://cr.openjdk.java.net/~iklam/jdk10/8190191-jfr-event-retransform-false.v01.open/
>>
>> Background:
>>
>> When -XX:FlightRecorderOptions=retransform=false is given in the command-line,
>> subclasses of jdk.jfr.Event are instrumented at load time with information that's
>> specific to the current JVM lifetime. As a result, we cannot perform
>> such instrumentation at CDS dump time.
>>
>> A more complicated CDS solution would load these classes from the archive,
>> and re-do the runtime instrumentation. However, there are only a very
>> small number of these classes. The performance benefit of archiving them
>> does not justify the extra complication.
>>
>> Hence, in this fix, we just identify these classes and exclude them
>> from the CDS archive during run time.
>>
>> (Because JFR is still a closed feature, the test cases are in the closed repo ...)
>>
>> Thanks
>> - Ioi
>>



More information about the hotspot-runtime-dev mailing list