RFR: 8300926: Several startup regressions ~6-70% in 21-b6 all platforms [v6]

Robbin Ehn rehn at openjdk.org
Tue Mar 7 09:20:18 UTC 2023


On Mon, 27 Feb 2023 00:29:26 GMT, David Holmes <dholmes at openjdk.org> wrote:

> In `ciEnv::register_method` we take the `Compile_lock` to ensure `add_to_hierarchy` can't run:
> 
> ```
>     // Prevent SystemDictionary::add_to_hierarchy from running
>     // and invalidating our dependencies until we install this method.
>     // No safepoints are allowed. Otherwise, class redefinition can occur in between.
>     MutexLocker ml(Compile_lock);
>     NoSafepointVerifier nsv;
> ```
> 
> does moving the deopt outside of the `Compile_lock` affect that?

The class hierarchy is still handled inside the Compile_lock, so that comment is still true.
The deopt is still done inside _init_monitor during classloading, which means no-one can create such object until deopt is completed.

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

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


More information about the hotspot-dev mailing list