RFR: 8311064: Windows builds fail without precompiled headers after JDK-8310728

Stefan Karlsson stefank at openjdk.org
Thu Jun 29 10:28:02 UTC 2023


On Thu, 29 Jun 2023 08:40:46 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

> Apologies for integrating this early, I wanted to get the CI off my back as quickly as possible, and the changes seemed innocuous enough.

Understood. Thanks. We will take care of updating the ZGC code.

> The compiler/linker output does not make it easy to figure out where the offending ZListNode destructor was called. I would guess that it could be called from the implicit ZMemory destructor, will try to confirm that.

That's exactly what happens. There is an implicit usage of the inline function from our hpp files. This propagates from ZList -> ZMemory -> ZMemoryManager -> ZPhysicalMemoryManager. This is problematic and we will think about what we think about a solution that fits the ZGC code.

> Good point about including zMemory instead of zVirtualMemory, I'll look into that.

I tested it and it works.

> On a side note, I assume that the split into hpp and inline.hpp was done to speed up compilation; has anyone checked recently if the split still makes sense? If not, I could do some experiments here.

The compile times are one reason. Another is to minimize issues with circular dependencies.

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

PR Comment: https://git.openjdk.org/jdk/pull/14701#issuecomment-1612805798


More information about the hotspot-dev mailing list