RFR: 8341708: Optimize safepoint poll encoding with smaller poll data offset

Aleksey Shipilev shade at openjdk.org
Wed Oct 9 08:25:05 UTC 2024


See the bug for discussion. We can optimize the encoding for safepoint polls by making sure the polling data is at small offset in `Thread`. There is already the area where we pull data like this for better encoding.

Code density improves on x86_64, can be seen with just `-Xcomp -XX:+CITime`:


# Before
  nmethod code size         :  7107136 bytes
  nmethod code size         :  7107120 bytes
  nmethod code size         :  7107136 bytes

# After (-0.25%)
  nmethod code size         :  7088896 bytes
  nmethod code size         :  7088896 bytes
  nmethod code size         :  7088864 bytes


Additional testing:
 - [x] Ad-hoc code density checks
 - [x] Linux x86_64 server fastdebug, `all`

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

Commit messages:
 - Relax TestPadding a little for new code density
 - Fix

Changes: https://git.openjdk.org/jdk/pull/21405/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21405&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8341708
  Stats: 33 lines in 4 files changed: 25 ins; 7 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/21405.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21405/head:pull/21405

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


More information about the hotspot-runtime-dev mailing list