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

David Holmes dholmes at openjdk.org
Tue Mar 14 03:06:57 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.

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

> 653:     //    is called. A LOAD_INSTANCE placeholder isn't used for mutual exclusion.
> 654:     // case 3. traditional classloaders that rely on the classloader object lock
> 655:     //    There should be no need for need for LOAD_INSTANCE for mutual exclusion,

The comment on L646 needs updating: only three cases now.

src/hotspot/share/runtime/objectMonitor.cpp line 1375:

> 1373: // reenter() enters a lock and sets recursion count
> 1374: // complete_exit/reenter operate as a wait without waiting
> 1375: bool ObjectMonitor::reenter(intx recursions, JavaThread* current) {

AFAICS `complete_exit` is also unused now

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

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


More information about the hotspot-runtime-dev mailing list