RFR: 8139564: Convert TraceDefaultMethods to Unified Logging

Rachel Protacio rachel.protacio at oracle.com
Thu Oct 15 17:51:37 UTC 2015


Hi, Ioi,

Thanks for the comments. While all valid points, the decision by the 
serviceability team with regards to the logging framework as a whole is 
to move all the output to product mode. Because of this, I ran 
performance tests to make sure that the newly-introduced product code 
will not slow it down. So yes, all the "#ifndef PRODUCT" sections that 
are necessary for this logging have been liberated to product mode.

Also, I realized I did not remove the TraceDefaultMethods flag from 
globals.hpp, so here is the link to the updated webrev: 
http://cr.openjdk.java.net/~rprotacio/8139564.01/
Which builds appropriately. The change now encompasses all the 
references to TraceDefaultMethods. A compatibility request has been 
accepted with regards to this change.

Thanks,
Rachel

On 10/14/2015 11:58 PM, Ioi Lam wrote:
> Hi Rachel,
>
> Before your changes, this block of code  would be excluded from 
> product builds:
>
>  684 #ifndef PRODUCT
>  685   if (TraceDefaultMethods) {
>  686     tty->print_cr("Slots that need filling:");
>  687     streamIndentor si(tty);
>  688     for (int i = 0; i < slots->length(); ++i) {
>  689       tty->indent();
>  690       slots->at(i)->print_on(tty);
>  691       tty->cr();
>  692     }
>  693   }
>  694 #endif // ndef PRODUCT
>
> but after your change, it will be included in product builds. This 
> means product builds will have more verbose output than before. It 
> also means that the product builds will get bigger (because some 
> printing code, such as EmptyVtableSlot::print_on(), would need to be 
> enabled for product builds as well).
>
> I am not very familiar with UL so maybe this is an FAQ ... while doing 
> the UL conversion, should we add all the old "ifndef PRODUCT" logs 
> into the product build?
>
> Thanks
> - Ioi
>
> On 10/14/15 7:10 PM, Rachel Protacio wrote:
>> Hello! Please take a look at my enhancement, the first of the runtime 
>> logging flags to be converted.
>>
>> Summary: The former -XX:+TraceDefaultMethods flag is updated to the 
>> unified logging framework and is now replaced with -Xlog:defaultmethods.
>>
>> open webrev: http://cr.openjdk.java.net/~rprotacio/8139564/
>> bug: https://bugs.openjdk.java.net/browse/JDK-8139564
>> testing: Passes JPRT, RBT, and RefWorkload performance testing.
>>
>> Thank you,
>> Rachel
>



More information about the hotspot-runtime-dev mailing list