RFR(s): 8218041: Assorted wrong/missing includes
Robbin Ehn
robbin.ehn at oracle.com
Wed Jan 30 11:17:42 UTC 2019
Hi, here is v02.
Add includes to handles.inline.hpp in all files we use a method in there.
Compiles on my 7 different configs including gcc 7.3/8.2, clang 7, no
pre-compiled headers. And tier-1 which includes our std builds.
http://rehn-ws.se.oracle.com/cr_mirror/8218041/v02/inc
http://rehn-ws.se.oracle.com/cr_mirror/8218041/v02/
Also this seems to signification reduce gcc inline warnings about local comdat
symbol for Handle(Thread*, oop).
Thanks, Robbin
On 2019-01-30 09:21, Robbin Ehn wrote:
> Hi all, please review.
>
> Code:
> http://cr.openjdk.java.net/~rehn/8218041/webrev/
> Issue:
> https://bugs.openjdk.java.net/browse/JDK-8218041
>
> After fixing these includes, there was a circular dependency via shenandoah
> code. I moved try_cancel_gc to cpp where the only use was. So it never should
> had been in the inline header in the first place.
>
> I listed why the include is needed below.
>
> Tier 1 and no pre-compiled.
>
> FYI: I was investigating why Handle::Handle(Thread*,oop) was not inlined.
> gcc complains there being a local comdat symbol, forcing it to be inlined or
> using clang there is no issue. So it looks like a gcc bug both in 7.3 and 8.2.
>
> Thanks, Robbin
>
> src/hotspot/share/aot/aotLoader.cpp
> runtime/os.inline.hpp for os::dll_unload
>
> src/hotspot/share/c1/c1_Runtime1.cpp
> runtime/handles.inline.hpp for Handle(Thread*, oop)
>
> src/hotspot/share/gc/z/zFuture.inline.hpp
> runtime/interfaceSupport.inline.hpp not used.
>
> src/hotspot/share/prims/nativeLookup.cpp
> runtime/os.inline.hpp for os::dll_unload
>
> src/hotspot/share/runtime/handles.hpp
> Forward declaration Thread
>
> src/hotspot/share/runtime/handles.inline.hpp
> runtime/thread.hpp for Thread::current
> oops/oop.inline.hpp for oopDesc::is_a
> oops/metadata.hpp for is_valid
>
> src/hotspot/share/runtime/semaphore.inline.hpp
> runtime/thread.hpp for osthread
>
> src/hotspot/share/runtime/vframe.cpp
> runtime/thread.inline.hpp for JavaThread::class_to_be_initialized
More information about the hotspot-dev
mailing list