RFR: 8295657: SA: Allow larger object alignments

Aleksey Shipilev shade at openjdk.org
Wed Oct 19 12:13:42 UTC 2022


Found this when working on JOL support ([CODETOOLS-7903364](https://bugs.openjdk.org/browse/CODETOOLS-7903364)). If you try to attach to VM running with -XX:ObjectAlignmentInBytes=32, then SA would fail with:


Caused by: java.lang.RuntimeException: Object alignment 32 not yet supported
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.VM.<init>(VM.java:510)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.VM.initialize(VM.java:544)
at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:444)


This code was added by [JDK-6916623](https://bugs.openjdk.org/browse/JDK-6916623), but I don't see a reason why it should only handle 8 and 16 byte alignment.

Additional testing:
 - [x] New regression test
 - [x] Linux x86_64 fastdebug `serviceability/sa`
    - default
    - with `-XX:ObjectAlignmentInBytes=16`
    - with `-XX:ObjectAlignmentInBytes=32`
    - with `-XX:ObjectAlignmentInBytes=64`
    - with `-XX:ObjectAlignmentInBytes=128`
    - with `-XX:ObjectAlignmentInBytes=256`

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

Commit messages:
 - Simplify test
 - Basic fix

Changes: https://git.openjdk.org/jdk/pull/10762/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10762&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8295657
  Stats: 105 lines in 2 files changed: 99 ins; 3 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/10762.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10762/head:pull/10762

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


More information about the serviceability-dev mailing list