RFR(M): 8038498: Fix includes and C inlining after 8035330
stefan.karlsson at oracle.com
Tue Apr 1 08:34:22 UTC 2014
Thanks for fixing this!
One comment below:
On 2014-03-27 17:45, Lindenmaier, Goetz wrote:
> Please review and test this change. I please need a sponsor:
I'm not sure what the performance implication is of moving these
functions to the .cpp file. Is there a reason why we wouldn't want to
put them in the g1CollectedHeap.inline.hpp file?
> Change 8035330: Remove G1ParScanPartialArrayClosure and
> broke the dbg build on AIX. That's because do_oop_partial_array() is
> added in
> a header, but requires inline function par_write_ref() through several
> calls. In some cpp files, like arguments.cpp, par_write_ref() is not
> as the corresponding inline header is not included. The aix debug VM
> does not start.
> This can be solved by including g1RemSet.inline.hpp in
> Unfortunately this now causes a cyclic dependency that breaks the
> linux build.
> A inline.hpp file is included ahead of a .hpp file, so that the code
> in the inline.hpp file
> can not see the class declaration.
> This is caused because g1CollectedHeap.inline.hpp is included in
> But .inline.hpp files never should be included in .hpp files.
> To resolve this, I changed this inlcude to g1CollectedHeap.hpp. As
> I had to move a row of functions to existing .inline.hpp files.
> I did debug, fastdebug and product builds on linux_ppc64, aix_ppc64,
> sun_64, bsd_x86_64 and linux_x86_64 and tested that the VM starts up.
> Best regards,
More information about the hotspot-dev