RFR: 8296344: Remove dependency on G1 for writing the CDS archive heap [v2]
Ashutosh Mehra
duke at openjdk.org
Fri Feb 3 14:08:59 UTC 2023
On Thu, 2 Feb 2023 21:41:47 GMT, Ashutosh Mehra <duke at openjdk.org> wrote:
>> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:
>>
>> fixed windows and 32-bit builds which do not support archive heap
>
> src/hotspot/share/cds/archiveHeapWriter.cpp line 559:
>
>> 557: for (int i = 0; i < length; i++) {
>> 558: if (UseCompressedOops) {
>> 559: relocate_root_at<narrowOop>(requested_roots, i);
>
> This can also follow similar pattern as code in my comment on`do_oop_work` above, as in:
>
>
> if (UseCompressedOops) {
> offset = (size_t)((objArrayOop)requested_roots)->obj_at_offset<narrowOop>(i);
> narrowOop* buffered_addr = (narrowOop*)(cast_from_oop<address>(buffered_roots) + offset);
> oop request_referent = source_obj_to_requested_obj(CompressedOops::decode(*buffered_addr));
> *buffered_addr = CompressedOops::encode(request_referent);
> mark_oop_pointer<narrowOop>(requested_roots, offset, heap_info->oopmap());
> }
In light of the recent change, this has also been taken care of.
-------------
PR: https://git.openjdk.org/jdk/pull/12304
More information about the hotspot-dev
mailing list