RFR (s) 8141570: Fix Zero interpreter build for --disable-precompiled-headers

Kim Barrett kim.barrett at oracle.com
Fri Nov 6 16:47:48 UTC 2015

On Nov 5, 2015, at 8:33 PM, Coleen Phillimore <coleen.phillimore at oracle.com> wrote:
> With the RedHat compiler that I'm using g++ (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16)
> these additional includes are needed to compile without precompiled headers.
> open webrev at http://cr.openjdk.java.net/~coleenp/8141570.01/
> bug link https://bugs.openjdk.java.net/browse/JDK-8141570
> I'm not sure why allocation.inline.hpp is needed unless the virtual destructor in src/share/vm/gc/shared/plab.hpp PLABStats implicitly calls delete.
> Tested with compiles of Zero plus plain linux debug/fastdebug/product.
> Thanks,
> Coleen

  29 #include "memory/allocation.inline.hpp"
  30 #include "runtime/atomic.inline.hpp"

xxx.inline.hpp files are not supposed to be included by xxx.hpp files.

The need for atomic.inline.hpp seems clear, and would seem to constitute a bug in
g1EvacStats.hpp - there should be a g1EvacStats.inline.hpp file.

I really don’t understand why allocation.inline.hpp is needed here at all.

And I’m really curious as to why these changes are needed for (some variants of)
zero builds but not other builds with disabled precompiled headers?

Without further explanation, I don’t like these changes.

More information about the hotspot-dev mailing list