RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v6]

Stefan Karlsson stefank at openjdk.org
Mon Sep 9 14:50:10 UTC 2024


On Fri, 30 Aug 2024 08:06:31 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:

>> Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix bit counts in GCForwarding
>
> src/hotspot/share/cds/filemap.cpp line 2507:
> 
>> 2505:   }
>> 2506: 
>> 2507:   if (compact_headers() != UseCompactObjectHeaders) {
> 
> (Commenting here, but the comment applies to code a bit above) While debugging CDS, it would have been useful to print the value of UseCompactObjectHeaders.
> 
> Could we change the code to be:
> 
>   log_info(cds)("Archive was created with UseCompressedOops = %d, UseCompressedClassPointers = %d, UseCompactObjectHeaders = %d",
>                           compressed_oops(), compressed_class_pointers(), compact_headers());

Resolved.

> src/hotspot/share/cds/filemap.cpp line 2508:
> 
>> 2506: 
>> 2507:   if (compact_headers() != UseCompactObjectHeaders) {
>> 2508:     log_info(cds)("The shared archive file's UseCompactObjectHeaders setting (%s)"
> 
> Printing on the `info` level mimics what we do when there's a mismatch for compressed classes (and oops), but I wonder if that one is intentional or if it is accidentally printing to 'info' instead of 'warning'.

@iklam informed me that some of the info levels (including this line) should be converted to warning.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20677#discussion_r1750408043
PR Review Comment: https://git.openjdk.org/jdk/pull/20677#discussion_r1750410679


More information about the build-dev mailing list