RFR: 8321939: [GenShen] ShenandoahOldEvacRatioPercent=100 fails with divide-by-zero [v3]

Y. Srinivas Ramakrishna ysr at openjdk.org
Fri Dec 15 09:24:15 UTC 2023


On Fri, 15 Dec 2023 09:19:37 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> The code that used the option ShenandoahOldEvacRatioPercent (SOEP) didn't correctly deal with the extremal setting of 100. Corrected the error and did some light refactoring in the vicinity, getting rid of some dead variables, adding documentation, and assertions. Also modified slightly the documentation of the option.
>> 
>> **Testing:**
>> - [x] GHA
>> - [ ] code pipeline testing
>> - [x] specjbb with SOEP=default,0,100 to verify that the issue is fixed
>
> Y. Srinivas Ramakrishna has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains ten additional commits since the last revision:
> 
>  - Merge branch 'should_unload_classes' into tenure_budget_8314599
>  - Merge branch 'master' into should_unload_classes
>  - JDK-8322150 should_unload_classes should return true only if a metaspace
>    oom has been signalled, and other conditions are met.
>  - Merge branch 'master' into tenure_budget_8314599
>  - Fix a scope issue with a local variable.
>  - jcheck trailing white-space.
>  - Merge branch 'master' into tenure_budget_8314599
>  - Fix another case where divide-by-zero could occur when
>    ShenandoahOldEvacRatioPercent is set to 100. Some slight refactoring in
>    the method.
>  - Fix divide-by-zero when ShenandoahOldEvacRatioPercent==100; minor
>    refactor & modification of documentation of flag

This PR is blocked until PR https://github.com/openjdk/shenandoah/pull/372 integrates.

src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp line 1:

> 1: /*

Please ignore the changes in this file for now. It'll go away once the fix for the linked ticket https://bugs.openjdk.org/browse/JDK-8322150 is committed. This PR is blocked until that ticet's PR is committed.

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

PR Comment: https://git.openjdk.org/shenandoah/pull/369#issuecomment-1857546018
PR Review Comment: https://git.openjdk.org/shenandoah/pull/369#discussion_r1427743546


More information about the shenandoah-dev mailing list