RFR: 8260012: Reduce inclusion of collectedHeap.hpp and heapInspection.hpp
Ioi Lam
iklam at openjdk.java.net
Tue Feb 2 04:34:47 UTC 2021
collectedHeap.hpp is included by 477 out of 1000 .o files in HotSpot. This file in turn includes many other complex header files.
In many cases, an object file only directly includes this file via:
- memAllocator.hpp (which does not actually use collectedHeap.hpp)
- oop.inline.hpp and compressedOops.inline.hpp (only use collectedHeap.hpp in asserts via `Universe::heap()->is_in()`).
By refactoring the above 3 files, we can reduce the .o files that include collectedHeap.hpp to 242.
This RFE also removes the unnecessary inclusion of heapInspection.hpp from collectedHeap.hpp.
Build time of HotSpot is reduced for about 1%.
Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero.
-------------
Commit messages:
- 8260012: Reduce inclusion of collectedHeap.hpp and heapInspection.hpp
Changes: https://git.openjdk.java.net/jdk/pull/2347/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2347&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8260012
Stats: 110 lines in 60 files changed: 63 ins; 7 del; 40 mod
Patch: https://git.openjdk.java.net/jdk/pull/2347.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2347/head:pull/2347
PR: https://git.openjdk.java.net/jdk/pull/2347
More information about the hotspot-gc-dev
mailing list