RFR (s) 8141570: Fix Zero interpreter build for --disable-precompiled-headers
coleen.phillimore at oracle.com
Tue Nov 17 00:56:26 UTC 2015
After much discussion between Kim and I, I have a new change which
doesn't include .inline.hpp into a .hpp file. This also fixes the Zero
build on my Ubuntu system.
open webrev at http://cr.openjdk.java.net/~coleenp/8140685.02/
bug link https://bugs.openjdk.java.net/browse/JDK-8140685
On 11/10/15 6:00 AM, Severin Gehwolf wrote:
> On Mon, 2015-11-09 at 17:24 -0500, Coleen Phillimore wrote:
>>> FWIW, the below hunk seems to be all that's necessary in order to
>>> the --disable-precompiled-headers Zero build for me:
>>> diff --git a/src/share/vm/runtime/java.cpp
>>> --- a/src/share/vm/runtime/java.cpp
>>> +++ b/src/share/vm/runtime/java.cpp
>>> @@ -49,6 +49,7 @@
>>> #include "runtime/arguments.hpp"
>>> #include "runtime/biasedLocking.hpp"
>>> #include "runtime/compilationPolicy.hpp"
>>> +#include "runtime/deoptimization.hpp"
>>> #include "runtime/fprofiler.hpp"
>>> #include "runtime/init.hpp"
>>> #include "runtime/interfaceSupport.hpp"
>>> It does not seem the other change is required. Tested with
>>> build of Zero with --disable-precompiled-headers that failed to
>>> without and built fine with the fix.
>> I could check in just the deoptimization.hpp change and build only
>> fastdebug until the other bug is fixed.
> This sounds good to me.
>>> Coleen, do you have details about the failure which gets supposedly
>>> fixed by the other hunk?
>> The only thing I have is the g++ compilation failures without these
>> changes. The one that was fixed by including allocation.inline.hpp
>> Building target 'images' in configuration 'linux-x86_64-normal-zero-
>> g1EvacStats.o: In function `G1EvacStats::~G1EvacStats()':
>> undefined reference to `CHeapObj<(MemoryType)5>::operator
>> collect2: error: ld returned 1 exit status
>> Since the destructor is complaining about the missing delete
>> operator, I
>> assume this compiler has the sort of destructor that implicitly can
>> call delete. I don't have any other information or ideas really why
>> this fails to compile.
> FWIW, I don't reproduce the g1EvacStats.o linking problem. With the
> deoptimization.hpp change a Zero JVM builds fine here in all variants:
> $ gcc --version
> gcc (GCC) 5.1.1 20150618 (Red Hat 5.1.1-4)
> Copyright (C) 2015 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
More information about the hotspot-dev