RFR: 8289230: Move PlatformXXX class declarations out of os_xxx.hpp

Ioi Lam iklam at openjdk.org
Tue Jun 28 06:28:35 UTC 2022


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).

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

Commit messages:
 - fixed windows
 - Moved PlatformMutex/PlatformMonitor
 - move-PlatformParker-out-of-os-xxx-hpp
 - Moved ThreadCrashProtection

Changes: https://git.openjdk.org/jdk/pull/9303/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=9303&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8289230
  Stats: 1168 lines in 35 files changed: 705 ins; 386 del; 77 mod
  Patch: https://git.openjdk.org/jdk/pull/9303.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/9303/head:pull/9303

PR: https://git.openjdk.org/jdk/pull/9303


More information about the serviceability-dev mailing list