RFR: 8149064: Convert TraceProtectionDomainVerification to Unified Logging

Coleen Phillimore coleen.phillimore at oracle.com
Wed Feb 24 15:57:20 UTC 2016



On 2/22/16 6:04 PM, Coleen Phillimore wrote:
>
> Hi Max,
>
> I think this looks fine.  A couple of comments though:
>
> http://cr.openjdk.java.net/~mockner/protectiondomain.02/src/share/vm/classfile/dictionary.hpp.udiff.html 
>
>
> This is preexisting code, which is apparently giving the number of pd 
> set.  Not sure what the use is, but could you rename the function 
> print_count() and make the output
>
> *!_st_->print_cr("pd set count = #%d", count);*
>
>
> Maybe it wouldn't look so strange in the log.
>
> http://cr.openjdk.java.net/~mockner/protectiondomain.02/test/runtime/logging/ProtectionDomainVerificationTest.java.html 
>
>
> The test looks like it's missing "Hello.java" but maybe you can use 
> Empty.class from ClassLoadUnloadTest.java.
>
> http://cr.openjdk.java.net/~mockner/protectiondomain.02/src/share/vm/classfile/systemDictionary.cpp.udiff.html 
>
>
> You're right, I have a vote for the format - it seems like a more 
> compact log would be better:
>
> [0.138s][debug][protectiondomain]  - class loader: a 
> 'sun/misc/Launcher$AppClassLoader' protection domain: a 
> 'java/security/ProtectionDomain'  loading: 'java/lang/Object' -> granted

I should point out that I 've never used this logging for anything so my 
opinion in favor of brevity can be easily countered if anyone has a 
different opinion.

Coleen

>
> Or at least remove the blank line in the log.
>
> thanks,
> Coleen
>
> On 2/22/16 12:17 PM, Max Ockner wrote:
>> Please review this conversion of TraceProtectionDomainverification to 
>> Unified Logging.
>>
>> Theres some output that I think should be changed, but I want to see 
>> what others think first.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8149064
>> Webrev: http://cr.openjdk.java.net/~mockner/protectiondomain.02/
>>
>> TraceProtectionDomainVerification is a non-product flag, but the 
>> output will now be available in product builds through 
>> -Xlog:protectiondomain=debug.
>>  - The output is concise. "-version" produces no output, and 
>> "Hello.java" produces 27 lines (if level=trace) or fewer. See below.
>>  - This change doesn't rely on "#ifndef PRODUCT" and is smaller than 
>> most logging changes that we've seen so far.
>>  - refworkload shows now significant performance changes.
>>
>> Tested with jtreg hotspot tests and refworkload.
>>
>> Here is sample output for a run of Hello.java:
>>
>> [0.138s][debug][protectiondomain]  - class loader:      a 
>> 'sun/misc/Launcher$AppClassLoader'
>> [0.138s][debug][protectiondomain]  - protection domain: a 
>> 'java/security/ProtectionDomain'
>> [0.138s][debug][protectiondomain]  - loading: 'java/lang/Object'
>> [0.139s][debug][protectiondomain]  -> granted
>> [0.139s][debug][protectiondomain]
>> [0.139s][trace][protectiondomain] pd set = #1
>> [0.139s][debug][protectiondomain] Checking package access
>> [0.139s][debug][protectiondomain]  - class loader:      a 
>> 'sun/misc/Launcher$AppClassLoader'
>> [0.139s][debug][protectiondomain]  - protection domain: a 
>> 'java/security/ProtectionDomain'
>> [0.139s][debug][protectiondomain]  - loading: 'java/lang/String'
>> [0.139s][debug][protectiondomain]  -> granted
>> [0.139s][debug][protectiondomain]
>> [0.139s][trace][protectiondomain] pd set = #1
>> [0.139s][debug][protectiondomain] Checking package access
>> [0.139s][debug][protectiondomain]  - class loader:      a 
>> 'sun/misc/Launcher$AppClassLoader'
>> [0.139s][debug][protectiondomain]  - protection domain: a 
>> 'java/security/ProtectionDomain'
>> [0.139s][debug][protectiondomain]  - loading: 'java/lang/System'
>> [0.139s][debug][protectiondomain]  -> granted
>> [0.139s][debug][protectiondomain]
>> [0.139s][trace][protectiondomain] pd set = #1
>> [0.140s][debug][protectiondomain] Checking package access
>> [0.140s][debug][protectiondomain]  - class loader:      a 
>> 'sun/misc/Launcher$AppClassLoader'
>> [0.140s][debug][protectiondomain]  - protection domain: a 
>> 'java/security/ProtectionDomain'
>> [0.140s][debug][protectiondomain]  - loading: 'java/io/PrintStream'
>> [0.140s][debug][protectiondomain]  -> granted
>> [0.140s][debug][protectiondomain]
>> [0.140s][trace][protectiondomain] pd set = #1
>>
>> I am anticipating several comments and suggestions, but I believe 
>> there are only minor changes remaining. I would like to remove the 
>> empty space, though I believe this was present in the 
>> TraceProtectionDomainVerification output to make the output more 
>> readable. I also anticipate that you may want me to remove the "-" 
>> from in front of some of the lines.  Again, I would like input since 
>> output seems like it was designed to look a certain way.
>>
>> Thanks,
>> Max
>>
>



More information about the hotspot-runtime-dev mailing list