Integrated: 8350148: Native stack overflow when writing Java heap objects into AOT cache
Ioi Lam
iklam at openjdk.org
Tue Mar 11 06:52:11 UTC 2025
On Sun, 16 Feb 2025 05:16:17 GMT, Ioi Lam <iklam at openjdk.org> wrote:
> Please review this patch that fixes a problem that was found in the Leyden repo: when finding all cacheable heap objects with recursive calls to `HeapShared::archive_reachable_objects_from()`, very deep reference chains could cause overflow on the native stack.
>
> The fix is to do the recursion using a side table, without making any recursive calls.
>
> Note: the kind of deep reference chains do not seem to happen with the mainline. It happened in the Leyden repo only after we enabled the caching of `WeakReference` objects, which are not cacheable in the mainline.
This pull request has now been integrated.
Changeset: 8a5ed47f
Author: Ioi Lam <iklam at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/8a5ed47f00d74d4eb0d2b8027fb92ff2f5c30163
Stats: 104 lines in 2 files changed: 69 ins; 17 del; 18 mod
8350148: Native stack overflow when writing Java heap objects into AOT cache
Reviewed-by: iveresov, matsaave
-------------
PR: https://git.openjdk.org/jdk/pull/23654
More information about the hotspot-runtime-dev
mailing list