RFR(L): 8146401: Clean up oop.hpp: add inline directives and fix header files
Lindenmaier, Goetz
goetz.lindenmaier at sap.com
Mon Jan 4 15:44:27 UTC 2016
Hi,
Several recent changes cleaned up includes of oop.inline.hpp in real .hpp header file.
Unfortunately, the 'inline' qualifier is added to the function implementations
in oop.inline.hpp instead of to the declarations in oop.hpp. Therefore, the
compiler can not detect failing inlines properly.
This change moves the inline directive from oop.inline.hpp to oop.hpp. Also
it sorts the methods in oop.inline.hpp as they are sorted in oop.hpp.
Further, it moves a row of calls from hpp files to inline.hpp or .cpp files.
I put oop.inline.hpp into serviceUtil.hpp. This is not clean, but this is a
very small .hpp file and no .cpp file exists. So I think this is acceptable.
Also, I put oop.inline.hpp into jvmciJavaClasses.hpp. I don't want to do
bigger changes to this file in the rt repo, because jvmci is subject to
freqent changes recently.
The following methods were moved to .cpp files:
ProtectionDomainCacheTable::compute_hash()
ProtectionDomainCacheTable::index_for()
typeArrayOopDesc::object_size()
This is called only once outside .cpp file:
CallSiteDepChange::CallSiteDepChange()
This is only called in .cpp file
ConstantPool::string_at_put()
If someone considers not inlining these harmful to performance,
I will add a new .inline.hpp file for them.
Please review this change. I please need a sponsor.
There are no functional edits, so it should be simple to review.
http://cr.openjdk.java.net/~goetz/wr16/8146401-oopInline-rt/webrev.01/
Best regards,
Goetz.
More information about the hotspot-runtime-dev
mailing list