RFR: Here are some Thread cleanup patches

David Holmes david.holmes at oracle.com
Wed Mar 28 02:21:22 UTC 2018


On 28/03/2018 12:07 PM, Martin Buchholz wrote:
> java -Xlog:class+init=trace -version |& grep -Ew 
> 'annotation|lang.Thread|Stable'
> [0.019s][info][class,init] 10 Initializing 'java/lang/Thread' 
> (0x00000007c0006400)

Thanks.

> Intuitively, class+init should be a subset of class+load, and the 
> experiment above supports that.

The initialization order can be quite different to the load order.

David

> On Tue, Mar 27, 2018 at 6:59 PM, David Holmes <david.holmes at oracle.com 
> <mailto:david.holmes at oracle.com>> wrote:
> 
>     On 28/03/2018 11:50 AM, Martin Buchholz wrote:
> 
> 
> 
>         On Tue, Mar 27, 2018 at 6:24 PM, Martin Buchholz
>         <martinrb at google.com <mailto:martinrb at google.com>
>         <mailto:martinrb at google.com <mailto:martinrb at google.com>>> wrote:
> 
>                At least the VM doesn't have to run any risky java code
> 
> 
>         ??  Why is Martin so sure ??
>         Let's check:
> 
>         java -Xlog:class+load=trace -version |& grep -Ew
>         'annotation|lang.Thread'
>         [0.010s][info ][class,load] java.lang.Thread source: jrt:/java.base
>         [0.010s][info ][class,load]
>         java.lang.Thread$UncaughtExceptionHandler source: jrt:/java.base
>         [0.012s][info ][class,load] java.lang.annotation.Annotation
>         source: jrt:/java.base
> 
>         So Stable does __not__ have to be class-loaded when Thread is
>         class-loaded.
> 
> 
>     Can you check with class+initialization please.
> 
>     Thanks,
>     David
> 
> 


More information about the core-libs-dev mailing list