On Tue, 28 Jun 2022 18:38:10 GMT, Ioi Lam <ik...@openjdk.org> wrote: >> There are only two implementations of these classes (one for windows, and >> one for posix): >> >> - PlatformEvent >> - PlatformParker >> - PlatformMutex >> - PlatformMonitor >> - ThreadCrashProtection >> >> Before this PR, these classes are declared in os_xxx.hpp. This causes >> excessive inclusion of the large header file os.hpp by popular headers such >> as mutex.hpp, which needs only the declaration of PlatformMutex but not the >> other stuff in os.hpp >> >> This PR moves the declarations to park_posix.hpp, mutex_posix.hpp, etc. >> >> Note: ideally, the definition of PlatformParker/PlatformEvent should be >> moved to park_posix.cpp, and PlatformMutex/PlatformMonitor should be moved >> to mutex_posix.cpp. However, the definition of these 4 classes are >> intertwined, so I'll leave them inside os_posix.cpp for now. (Same for the >> Windows version). > > Ioi Lam has updated the pull request incrementally with one additional commit > since the last revision: > > fixed comments
I very much like this incremental approach to reducing our over-inclusion. src/hotspot/share/runtime/mutex.hpp line 203: > 201: #ifndef PRODUCT > 202: void print_on(outputStream* st) const; > 203: void print() const { /*print_on(::tty); */ } // > FIXME Can you move this print implementation into the .cpp file? src/hotspot/share/runtime/threadCrashProtection.hpp line 42: > 40: #else > 41: # error "No ThreadCrashProtection implementation provided for this OS" > 42: #endif Shouldn't you use this? #define OS_HEADER(basename) XSTR(OS_HEADER_STEM(basename).hpp) ------------- Marked as reviewed by coleenp (Reviewer). PR: https://git.openjdk.org/jdk/pull/9303