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