-
Enhancement
-
Resolution: Fixed
-
P4
-
None
-
b09
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 uses collectedHeap.hpp) in asserts.
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%.
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 uses collectedHeap.hpp) in asserts.
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%.