Integrated: 8317350: Move code cache purging out of CodeCache::UnloadingScope

Thomas Schatzl tschatzl at openjdk.org
Fri Oct 20 07:33:45 UTC 2023


On Mon, 2 Oct 2023 12:56:27 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

> Hi all,
> 
>   please review this refactoring that moves actual code cache flushing/purging out of `CodeCache::UnloadingScope`. Reasons:
> 
> * I prefer that a destructor does not do anything substantial - in some cases, 90% of time is spent in the destructor in that extracted method (due to https://bugs.openjdk.org/browse/JDK-8316959)
> * imho it does not fit the class which does nothing but sets/resets some code cache unloading behavior (probably should be renamed to `UnloadingBehaviorScope` too in a separate CR).
> * other existing methods at that level are placed out of that (or any other) scope object too - which is already the case for when doing concurrent unloading.
> * putting it there makes future logging of the various phases a little bit easier, not having `GCTraceTimer` et al. in various places.
> 
> Testing: gha
> 
> Thanks,
>   Thomas

This pull request has now been integrated.

Changeset: bd3bc2c6
Author:    Thomas Schatzl <tschatzl at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/bd3bc2c6181668b5856732666dc251136b7fbb99
Stats:     60 lines in 7 files changed: 26 ins; 6 del; 28 mod

8317350: Move code cache purging out of CodeCache::UnloadingScope

Reviewed-by: ayang, iwalulya

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

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


More information about the shenandoah-dev mailing list