Introduce umbrella header orderAccess.inline.hpp

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Tue Apr 29 14:08:48 UTC 2014


Hi,

I would like to contribute a change that introduces an umbrella header
orderAccess.inline.hpp to avoid the long #ifdef TARGET_OS_ARCH cascades.
There aren't too much of these, but that's because most files that
require that include automagically include the files with the
implementation.
With the umbrella header the includes can be listed explicitly without
having to add the #ifdef platform cascades everywhere.

This follows the scheme that was applied to atomic.inline.hpp.

Please tell me whether this change is acceptable, then I will open
an appropriate bug and send a RFR.  The webrev below isn't tested
sufficiently yet.

Preliminary webrev:
http://cr.openjdk.java.net/~goetz/webrevs/orderAcc_proposal/

The change would introduce the new file runtime/orderAccess.inline.hpp.

Further this change adds includes of orderAccess.inline.hpp in all .cpp
and .inline.hpp files where a method of OrderAccess declared 'inline' is
called.

Finally it moves methods calling inline methods of OrderAccess from
g1CollectedHeap.hpp and thread.hpp to the corresponding .inline.hpp
files and adds the necessary includes in files using the moved
functions.

Still a lot of calls to inline methods of OrderAccess in .hpp
files aren't preceded by an according include.  But for these
files an appropriate .inline.hpp file is missing:

src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp
src/cpu/sparc/vm/javaFrameAnchor_sparc.hpp
src/share/vm/classfile/classLoader.hpp
src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.hpp
src/share/vm/memory/cardTableModRefBS.hpp
src/share/vm/oops/constantPool.hpp
src/share/vm/oops/cpCache.hpp
src/share/vm/oops/instanceKlass.hpp
src/share/vm/oops/method.hpp
src/share/vm/oops/methodData.hpp
src/share/vm/oops/typeArrayOop.hpp
src/share/vm/runtime/interfaceSupport.hpp
src/share/vm/utilities/array.hpp
src/share/vm/utilities/taskqueue.hpp

Best regards,
  Goetz.


More information about the hotspot-dev mailing list