RFR(XS) 8189140 - SystemDictionaryShared::initialize() should be renamed to be more meaningful

Calvin Cheung calvin.cheung at oracle.com
Tue May 15 17:57:04 UTC 2018


Hi Ioi,

I saw that you've removed the initialization of File_klass from 
systemDictionaryShared.cpp.
I'm wondering if it can also be removed from systemDictionary.hpp?
  183   /* support for CDS 
*/                                                                                                  
\
  184   do_klass(ByteArrayInputStream_klass,                  
java_io_ByteArrayInputStream,              Pre                 ) \
  185   do_klass(*File_klass*,                                  
java_io_File,                              Pre                 ) \

thanks,
Calvin

On 5/14/18, 11:07 PM, Ioi Lam wrote:
> https://bugs.openjdk.java.net/browse/JDK-8189140
> http://cr.openjdk.java.net/~iklam/jdk11/8189140-rename-system-dict-shared-initialize.v01/ 
>
>
> Summary:
>
> 1. Removed the forced initialization of a few classes used by AppCDS 
> at JVM start-up.
>    Instead, initialize these class on demand by calling 
> InstanceKlass::initialize, which
>    is a quick no-op if the class is already initialized.
>
> 2. The only initialization left is that of a global lock. So I renamed 
> the function
>    to SystemDictionaryShared::initialize_locks().
>
> 3. I moved the call of this function from 
> SystemDictionary::compute_java_loaders() to
> SystemDictionary::initialize() where it seems to fit.
>
> Testing with hs-tiers 1 and 2.
>
> Thanks
> - Ioi


More information about the hotspot-runtime-dev mailing list