RFR: 8298469: Obsolete legacy parallel class loading workaround for non-parallel-capable class loaders

David Holmes dholmes at openjdk.org
Mon Mar 13 02:28:25 UTC 2023


On Fri, 10 Mar 2023 13:41:15 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

> This change removes the JVM code and option (default off) to synchronize class loading for non-parallel capable class loading.  For more information see: https://bugs.openjdk.org/browse/JDK-8295673
> and Release Note for the option in 20: https://bugs.openjdk.org/browse/JDK-8296446
> 
> Now Release Note for removal: https://bugs.openjdk.org/browse/JDK-8303967
> 
> Tested with tier1-7.

A couple of queries below. Not all the changes are obvious.

Thanks.

src/hotspot/share/classfile/placeholders.cpp line 137:

> 135:   assert(action != PlaceholderTable::LOAD_INSTANCE || !EnableWaitForParallelLoad || seen == nullptr,
> 136:          "Only one LOAD_INSTANCE allowed at a time");
> 137: 

Getting rid of the full assertion seems to go beyond obsoleting EnableWaitForParallelLoad.

src/hotspot/share/classfile/systemDictionary.cpp line 564:

> 562: 
> 563: // For bootstrap and non-parallelCapable class loaders, check and wait for
> 564: // another thread to complete loading this class.

A replacement comment describing the method would be nice.

src/hotspot/share/classfile/systemDictionary.cpp line 604:

> 602:         } else {
> 603:           return nullptr;
> 604:         }

Again unclear how this all disappears just because the flag is obsoleted.

-------------

PR: https://git.openjdk.org/jdk/pull/12974


More information about the hotspot-runtime-dev mailing list