RFR: 8295069: [PPC64] Performance regression after JDK-8290025 [v2]

Martin Doerr mdoerr at openjdk.org
Mon Oct 10 21:00:49 UTC 2022


On Mon, 10 Oct 2022 17:26:49 GMT, Andrew Haley <aph at openjdk.org> wrote:

> Might it make sense for PPC to do what AArch64 does? We don't need any memory fence instructions on the fast path.

We are actually doing what AArch64 does, now. AArch64 still uses `membar(__ LoadLoad)` for (non-generational) ZGC and ShenandoahGC, because they use `NMethodPatchingType::conc_data_patch`. Other GCs don't need any memory fence instructions. (See `BarrierSetAssembler::nmethod_entry_barrier`.) Exactly like on PPC64, now.
Note that the patching epoch implementation is protected by `NMethodPatchingType::conc_instruction_and_data_patch` and is hence not used at all in jdk master. (Only in generational ZGC which is not yet integrated into jdk master.)

It may make sense to implement the patching epoch code on PPC64 as well. We could evaluate it, but we should better do that with generational ZGC (like on AArch64).

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

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



More information about the hotspot-gc-dev mailing list