RFR: 8298610: Refactor archiving of ConstantPool::resolved_references()
David Holmes
dholmes at openjdk.org
Wed Jan 18 02:42:25 UTC 2023
On Tue, 17 Jan 2023 05:39:13 GMT, Ioi Lam <iklam at openjdk.org> wrote:
> This is another prerequisite for [JDK-8296344](https://bugs.openjdk.org/browse/JDK-8296344).
>
> Before this PR, when archiving the objArray of `ConstantPool::resolved_references()`
> - We call `HeapShared::find_archived_heap_object()` to look up archived copies of the Strings.
> - We allocate a copy of the objArray inside a safepoint.
>
> This violates the requirements [1] and [2] as stated in [JDK-8298600](https://bugs.openjdk.org/browse/JDK-8298600).
>
> After this PR, we no longer do the above.
src/hotspot/share/cds/heapShared.cpp line 298:
> 296: assert(UseG1GC, "implementation limitation");
> 297: size_t sz = align_up(o->size() * HeapWordSize, ObjectAlignmentInBytes);
> 298: size_t max = /*G1*/HeapRegion::min_region_size_in_words() * HeapWordSize;
This code needs to be inside an `INCLUDE_G1GC` guard does it not?
-------------
PR: https://git.openjdk.org/jdk/pull/12021
More information about the hotspot-runtime-dev
mailing list