RFR: 8317809: Insertion of free code blobs into code cache can be very slow during class unloading [v4]

Thomas Schatzl tschatzl at openjdk.org
Mon Dec 4 11:15:41 UTC 2023


On Thu, 30 Nov 2023 14:36:19 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:

>> Thomas Schatzl has updated the pull request incrementally with three additional commits since the last revision:
>> 
>>  - remove trailing whitespace
>>  - fix indentation after recent commit
>>  - Address ayang/iwalulya review comments, remove inheritance in ClassUnloadingContext for now as unnecessary for this change, use iterators, other review comments
>
> src/hotspot/share/gc/g1/g1ConcurrentMark.cpp line 1686:
> 
>> 1684:   // Unload Klasses, String, Code Cache, etc.
>> 1685:   if (ClassUnloadingWithConcurrentMark) {
>> 1686:     _g1h->unload_classes_and_code("Class Unloading", &is_alive, _gc_timer_cm);
> 
> Kind of preexisting: I'd not expect find "Class Unloading" inside `weak_refs_work()`. Its caller level is more reasonable, IMO.

So what is your suggestion here?
In some way CLDs and nmethods are weak references, so I can see reason for the original placement, but since it's a fairly large chunk of functionality one might expect it at a higher level.
If so, I can move it in a separate patch.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16759#discussion_r1413725314


More information about the shenandoah-dev mailing list