RFR: 8365053: Refresh hotspot precompiled.hpp with headers based on current frequency [v3]

Kim Barrett kbarrett at openjdk.org
Mon Aug 11 01:23:18 UTC 2025


On Fri, 8 Aug 2025 18:55:07 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:

>> Thanks for the clarification, I think that it is fine, then, although a comment explaining in the code would be great.
>
> I suspect that the multiple includes reported in the .d files are accurate. The .d file appears
> to report the number of times we `#include` a file, however, because if the include-guard
> constructs we use, the content is pulled in only once.

The number of times a header is (directly or indirectly) included by a given
source file doesn't affect the number of times that header appears in the .d
file associated with that source file. The compiler uniquifies that set
(though links might confuse things, but that's not an issue here).

The .d files consist of a set of targets, and for each target, the set of
dependencies.

For the <sourcefile>.d files, there's one target, <sourcefile>.o, with its
dependencies (once each).

For BUILD_LIBJVM.d, there's a target for each .o file. And for each of those
targets, it's dependencies (once each). Essentially BUILD_LIBJVM.d includes a
concatenation of all the <sourcefile>.d files. And since there are duplicates
among the dependencies of different targets, there are many(!) duplicates in
this file.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26681#discussion_r2265529851


More information about the hotspot-dev mailing list