RFR: 8273152: Refactor CDS FileMapHeader loading code [v5]
Yumin Qi
minqi at openjdk.java.net
Wed Oct 6 16:41:10 UTC 2021
On Wed, 6 Oct 2021 04:09:32 GMT, Ioi Lam <iklam at openjdk.org> wrote:
>> Yumin Qi has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Added a helper class to facilitate checking archive
>
> src/hotspot/share/cds/filemap.cpp line 1099:
>
>> 1097: lseek(_fd, _header->_base_archive_path_offset, SEEK_SET); // position to correct offset.
>> 1098: size_t n = os::read(_fd, *target, (unsigned int)name_size);
>> 1099: if (n != name_size) {
>
> I think there's no need to do another read. The base name string is already inside the buffer that was read on line 1079. You can just do a `strncpy` into `*target`
FileHeaderHelper only read sizeof(GenericCDSFileMapHeader) which is the stable information for reading other information and checking the archive. It does not include name in the buffer.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5768
More information about the serviceability-dev
mailing list