RFR: 8372444: Genshen: Optimize evacuation function

William Kemper wkemper at openjdk.org
Wed Nov 26 01:42:44 UTC 2025


This is a hot code path. Many of the branches can be eliminated at compile time by introducing template parameters. This change shows a 5% reduction in concurrent evacuation times at the trimmed-10 average on the extremem benchmark:


gen/control/extremem
                                Category |  Count |         Total |      GeoMean |      Average |     Trim 0.1 |       StdDev |      Minimum |      Maximum
        concurrent_evacuation_young_data |     65 |   9625198.000 |   118747.249 |   148079.969 |   145182.189 |    76534.845 |     7216.000 |   317261.000

gen/template/extremem
                                Category |  Count |         Total |      GeoMean |      Average |     Trim 0.1 |       StdDev |      Minimum |      Maximum
        concurrent_evacuation_young_data |     65 |   9095084.000 |   113036.539 |   139924.369 |   137661.226 |    71091.273 |     7523.000 |   294442.000

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

Commit messages:
 - Fix typo
 - Fix missed cherry-pick
 - Use templates for to/from generation, compiler should optimize different specializations

Changes: https://git.openjdk.org/jdk/pull/28496/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28496&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8372444
  Stats: 54 lines in 5 files changed: 15 ins; 13 del; 26 mod
  Patch: https://git.openjdk.org/jdk/pull/28496.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28496/head:pull/28496

PR: https://git.openjdk.org/jdk/pull/28496


More information about the shenandoah-dev mailing list