RFR (XS): 8213829: Remove circular dependency between g1CollectedHeap and g1ConcurrentMark

Man Cao manc at google.com
Wed Nov 14 08:33:44 UTC 2018


Thanks for the review.

I don't know the internals of GCC well enough to explain this issue, but it
is related to function template instantiation due to
g1ConcurrentMark.inline.hpp.
I'm looking at objdump output of g1BarrierSet.cpp in order to diagnose a
performance difference between Clang and GCC builds. Once
g1ConcurrentMark.inline.hpp gets transitively included, g1BarrierSet.o
contains many instantiations of function templates unrelated to the
G1BarrierSet class.

-Man

On Tue, Nov 13, 2018 at 11:15 PM Kim Barrett <kim.barrett at oracle.com> wrote:

> > On Nov 14, 2018, at 1:29 AM, Man Cao <manc at google.com> wrote:
> >
> > Hi all,
> >
> > Could anyone review this small cleanup patch that noticeably reduces
> size of build output (and likely build time)?
> >
> > Webrev: https://cr.openjdk.java.net/~manc/8213829/webrev.00/
> > RFE: https://bugs.openjdk.java.net/browse/JDK-8213829
> >
> > Thanks,
> > Man
>
> Change looks good.
>
> But I don’t understand the underlying problem.  I would have guessed the
> include guards would prevent
> things that would lead to increased build size or build times (and
> possibly prevent compilation due to
> forward references, but that’s clearly not been happening).
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20181114/cee1bc9f/attachment.html>


More information about the hotspot-gc-dev mailing list