Integrated: 8352508: [Redo] G1: Pinned regions with pinned objects only reachable by native code crash VM

Thomas Schatzl tschatzl at openjdk.org
Thu Mar 27 14:33:27 UTC 2025


On Fri, 21 Mar 2025 08:07:35 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

> Hi all,
> 
>   please review this change that re-implements the fix for [JDK-8351921](https://bugs.openjdk.org/browse/JDK-8351921); in that fix we (think we) forgot to consider the same situation with optional regions.
> 
> I.e. the previous fix only fixed the situation occurring during initial evacuation, however as we add regions due to optional evacuation, the same situation can still happen.
> 
> So this change adds some work to every evacuation phase that marks all pinned regions in the current collection set as evacuation failed/pinned instead of only doing this work once in the pre evacuation phase.
> 
> As for testing, it is extremely hard to induce a situation where there is a pinned region with no apparent live objects in an optional collection set, so I gave up and just added the original test again.
> 
> Testing: gha, test
> 
> Thanks,
>   Thomas

This pull request has now been integrated.

Changeset: c50a0a1f
Author:    Thomas Schatzl <tschatzl at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/c50a0a1fc126a67528448b282bcfc375abfac142
Stats:     167 lines in 6 files changed: 152 ins; 11 del; 4 mod

8352508: [Redo] G1: Pinned regions with pinned objects only reachable by native code crash VM

Reviewed-by: ayang, iwalulya

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

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


More information about the hotspot-gc-dev mailing list