RFR: Mixed evacuation [v2]

Kelvin Nilsen kdnilsen at openjdk.java.net
Mon Apr 19 21:38:38 UTC 2021


On Mon, 19 Apr 2021 21:17:28 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.hpp line 80:
>> 
>>> 78: // For expediency, we'll have a single class that is a "union" of
>>> 79: // necessary functionality.
>>> 80: 
>> 
>> Hmmhmm, this seems a suboptimal design. My intuition would have been to not have each heuristic need to know about any old heuristic, but keep them separate, and compose functionality elsewhere, but I leave that to you. The way it looks now it may end up recursive (young-heuristics->old-heuristics->old-heuristics->...-> etc)
>
> This has been addressed with recently committed refactoring of ShenandoahOldHeuristics and subclasses.

This has been addressed with recently pushed refactoring of ShenandoahOldHeuristics and subclasses.

>> src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp line 518:
>> 
>>> 516:   // precisely where the regulator is allowed to cancel a GC.
>>> 517:   ShenandoahOldGC gc(generation, _allow_old_preemption);
>>> 518: 
>> 
>> Lone whitespace change here.
>
> To be fixed in next commit

Removed this blank line.

>> test/hotspot/jtreg/gc/shenandoah/generational/TestConcurrentEvac.java line 35:
>> 
>>> 33:  *  of old-gen GC passes is very simplistic.  A further shortcoming of the
>>> 34:  *  Generational Shenandoah as of introduction of this test is that it does
>>> 35:  *  currently support full GC.  If garbage collection falls behind mutator
>> 
>> You probably meant to say that it "does currently *not* support full GC"
>
> You are right.  Will be corrected in next commit.

Yes.  Corrected.  Thanks.

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

PR: https://git.openjdk.java.net/shenandoah/pull/29


More information about the shenandoah-dev mailing list