RFR: DRAFT: Expand old on demand [v13]

Kelvin Nilsen kdnilsen at openjdk.org
Sun Apr 16 19:19:06 UTC 2023


> This PR describes several proposed changes to dynamically adjust the sizes of old-gen and young-gen.  In general, the objective is to keep old-gen as small as possible so that there is an abundance of memory available for the young-gen allocation runway.
> 
> As currently drafted, there are regression failures.  This DRAFT PR is published for the purpose of facilitating a careful code review.

Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:

  Overwrite update_water_mark in ShenandoahHeapRegion::promote_in_place
  
  While a region waits to be promoted in place, its value of top equals
  end.  This is a temporary arrangement, to prevent young-gen objects
  from being allocated within this region before it is promoted.  Once
  the region is promoted, its value of top() is adjusted to its previous
  value.  The region's update_watermark value was likely set when the
  region had its artificially high value of top.  So we fix it here.

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

Changes:
  - all: https://git.openjdk.org/shenandoah/pull/248/files
  - new: https://git.openjdk.org/shenandoah/pull/248/files/585116df..9a15b8e1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=shenandoah&pr=248&range=12
 - incr: https://webrevs.openjdk.org/?repo=shenandoah&pr=248&range=11-12

  Stats: 5 lines in 1 file changed: 5 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/shenandoah/pull/248.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/248/head:pull/248

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


More information about the shenandoah-dev mailing list