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