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