On Mon, 4 Nov 2024 07:53:48 GMT, Johan Sjölen <jsjo...@openjdk.org> wrote:
>> src/hotspot/share/runtime/mutexLocker.hpp line 31: >> >>> 29: #include "runtime/flags/flagSetting.hpp" >>> 30: #include "runtime/mutex.hpp" >>> 31: #include "runtime/thread.hpp" >> >> This include is not needed because there are no uses that require the >> definition of Thread. >> >> After pull, I am getting circularity errors from runtime/thread.hpp -> >> jfr/support/jfrThreadLocal.hpp (which now needs runtime/mutexLocker.hpp (-> >> runtime/thread.hpp) >> >> The include of "runtime/thread.hpp" can instead be placed in >> "nmt/nmtCommon.hpp" which has a use in the NmtVirtualMemoryLocker >> constructor. > >>This include is not needed because there are no uses that require the >>definition of Thread. > > Right, seems like the forward declaration used to be provided by > `memory/allocation.hpp`. Let's get rid of the include and use a forward > declaration of our own instead. Should I open another PR to remove it? I can also remove the locking related to NMT in arena.cpp in the same PR as well (as per [this comment](https://github.com/openjdk/jdk/pull/20852#issuecomment-2450515494)). ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20852#discussion_r1827863263