RFR: Fix fullgc [v2]

Kelvin Nilsen kdnilsen at openjdk.java.net
Sun Jun 12 02:49:48 UTC 2022


> Two errors were recently discovered in the generational-mode implementation of FullGC:
> 
> 1. There was an off-by-one error which caused full-gc to promote one cycle later than intent.
> 2. During a post-compaction phase of full-gc, certain old-gen regions were relabeled as young-gen, sometimes resulting in young-gen having usage above its capacity.  When this occurs, further allocations are blocked because available within young-gen is zero (actually is negative).

Kelvin Nilsen has updated the pull request incrementally with two additional commits since the last revision:

 - Be more careful about changing affiliation to YOUNG
 - Remove affiliation overwrite side effect from make_regular_bypass
   
   This change makes the code more clear and easier to maintain.

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

Changes:
  - all: https://git.openjdk.org/shenandoah/pull/142/files
  - new: https://git.openjdk.org/shenandoah/pull/142/files/2a3943ce..24349b5e

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=142&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=142&range=00-01

  Stats: 35 lines in 3 files changed: 25 ins; 3 del; 7 mod
  Patch: https://git.openjdk.org/shenandoah/pull/142.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah pull/142/head:pull/142

PR: https://git.openjdk.org/shenandoah/pull/142


More information about the shenandoah-dev mailing list