Pre-RFR (L) 8199263: Split interfaceSupport.hpp to not require including .inline.hpp files

coleen.phillimore at coleen.phillimore at
Tue Mar 13 11:50:12 UTC 2018

Summary: interfaceSupport.hpp is an inline file so moved to 
interfaceSupport.inline.hpp and stopped including it in .hpp files

90% of this change is renaming interfaceSupport.hpp to 
interfaceSupport.inline.hpp.   I tried to see if all of these files 
needed this header and the answer was yes.   A surprising (to me!) 
number of files have thread state transitions.
Some of interesting part of this change is adding ciUtilities.inline.hpp 
to include interfaceSupport.inline.hpp for VM_ENTRY.  
whitebox.inline.hpp was added for the same reason.
jvmtiEnter.hpp was renamed jvmtiEnter.inline.hpp because it includes 
interfaceSupport.inline.hpp, and is only included in cpp files.
The rest of the changes were to add back includes that are not pulled in 
by header files including interfaceSupport.hpp, like gcLocker.hpp and of 
course handles.inline.hpp.

This probably overlaps some of Volker's patch.  Can this be tested on 
other platforms that we don't have?

Hopefully, at the end of all this we have more clean header files so 
that transitive includes don't make the jvm build on one platform but 
not the next.  I think that's the goal of all of this work.

This was tested with Oracle platforms (linux-x64, solaris-sparcv9, 
macosx-x64, windows-x64) in the mach5 tier1 and 2.   I built this 
locally without precompiled headers (my default setting of course) on 

bug link
local webrev at

Thanks to Stefan for his help with this.


More information about the hotspot-dev mailing list