RFR: 8269736: Optimize CDS PatchEmbeddedPointers::do_bit() [v3]

Ioi Lam iklam at openjdk.org
Tue Dec 20 21:45:51 UTC 2022


On Tue, 20 Dec 2022 16:20:13 GMT, Matias Saavedra Silva <matsaave at openjdk.org> wrote:

>> The current implementation reads the narrow oop, decodes it using the "dump time" encoding, encodes it using "runtime" encoding, and then stores it back into the heap. In the cases where the dumptime and runtime shifts are equal, there is an opportunity to calculate the fixed distance between oops so they can be patched more optimally. Verified with tier 1, 2, and 4 tests.
>
> Matias Saavedra Silva has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Ashutosh comments
>  - Fixed minimal and cross build

src/hotspot/share/cds/archiveHeapLoader.cpp line 161:

> 159: };
> 160: 
> 161: void ArchiveHeapLoader::patch_compressed_pointers(BitMapView bm,

The change looks good overall, but I think `patch_compressed_pointers` should be renamed `patch_compressed_embedded_pointers` so that it's clear that this function is a subordinate of `patch_embedded_pointers`.

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

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


More information about the hotspot-runtime-dev mailing list