RFR: 8271569: Clean up the use of CDS constants and field offsets [v5]

Ioi Lam iklam at openjdk.java.net
Tue Sep 14 17:35:07 UTC 2021


On Tue, 14 Sep 2021 16:58:41 GMT, Yumin Qi <minqi at openjdk.org> wrote:

>> Changed cdsOffsets.cpp to cdsConstants.cpp, now the offsets and constants are initialized static and searched separately.
>> The offsets array could not use 'constexpr' since g++ on MacOs and VSC++ on Windows complained reinterpret_cast in 'offset_of' should not be used in constexpr initialization. Changed some field access for forming global list first.
>> 
>> Note with 'git mv' to rename cdsoffset.cpp to cdsConstants.cpp, same for cdsoffsets.hpp to cdsConstants.hpp, due to the contents changed more than 50% so git will not think cdsConstants.cpp is renamed from cdsoffsets.cpp. Instead, it is regarded as a new file.
>> 
>> Tests: ter1-4
>> 
>> Thanks
>> Yumin
>
> Yumin Qi has updated the pull request incrementally with one additional commit since the last revision:
> 
>   remove including <cstddef>, instead include globalDefinitions.hpp explicitly

LGTM. Small nit on friend class declaration.

src/hotspot/share/cds/filemap.hpp line 184:

> 182: class FileMapHeader: private CDSFileMapHeaderBase {
> 183:   friend class VMStructs;
> 184:   friend class CDSConstants;

It's better to sort the classes alphabetically. CDSConstants should come before VMStructs.

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

Marked as reviewed by iklam (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/5450


More information about the hotspot-runtime-dev mailing list