On Wed, 19 Oct 2022 12:04:49 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:
> 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` Looks fine. Curious, how well are all these alignments tested? E.g. do they work with all GCs? test/hotspot/jtreg/serviceability/sa/TestObjectAlignment.java line 84: > 82: SATestUtils.skipIfCannotAttach(); // throws SkippedException if > attach not expected to work. > 83: if (args == null || args.length == 0) { > 84: for (int align = 8; align <= 256; align *= 2) { Alternatively, no loop, six test sections, hand in alignment via program arg, and be able to do all this in parallel? ------------- Marked as reviewed by stuefe (Reviewer). PR: https://git.openjdk.org/jdk/pull/10762