RFR: 8324186: AARCH64: Use "dmb.ishst+dmb.ishld" for release barrier

kuaiwei duke at openjdk.org
Mon Jan 22 02:03:41 UTC 2024


Details is https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2024-January/071921.html.
Using a combined dmb.ish for release barrier will introduce a heavy storeload barrier. Use "dmb.ishst+dmb.ishld" pair instead, we can gain performance improvement on N1 and N2 architecture. The benchmark is test/micro/org/openjdk/bench/vm/compiler/FinalFieldInitialize.java
Run with ParallelGC to minimalize impact of gc barrier.

make test TEST="micro:org.openjdk.bench.vm.compiler.FinalFieldInitialize" MICRO="VM_OPTIONS=-XX:+UseParallelGC"
...
FinalFieldInitialize.testAllocWithFinal  thrpt    9  1411.601 ?  6.546  ops/s

Without the patch

FinalFieldInitialize.testAllocWithFinal  thrpt    9  1214.575 ? 14.217  ops/s

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

Commit messages:
 - 8324186: AARCH64: Use "dmb.ishst+dmb.ishld" for release barrier

Changes: https://git.openjdk.org/jdk/pull/17511/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17511&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8324186
  Stats: 102 lines in 3 files changed: 92 ins; 0 del; 10 mod
  Patch: https://git.openjdk.org/jdk/pull/17511.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17511/head:pull/17511

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


More information about the hotspot-dev mailing list