RFR (XS) 8223637: PPC64 and S390X build failures after 8223136 (Move compressed oops functions to CompressedOops class)

Stefan Karlsson stefan.karlsson at oracle.com
Sat May 11 13:32:23 UTC 2019


On 2019-05-11 13:57, John Paul Adrian Glaubitz wrote:
> On 5/11/19 1:38 PM, John Paul Adrian Glaubitz wrote:
>> I noticed that not all the includes you added are necessary for
>> SPARC and I would apply for PPC64 and S390 as well.
> assume*, not apply, sorry. But it seems for PPC64 the includes are
> necessary. I cannot test S390 at the moment as the filesystem on
> Debian's S390 porterbox is full and I can't check the JDK repo.
>
>> Also, I think the bug should be renamed to include SPARC.

The bug was originally named "Fix build breakage after 8223136" and 
intended to add all missing includes. I've reverted that name, so that 
we don't get caught in the details about the name of the bug. I think 
webrev.04 is good enough, and it fixes all breakages we know of. Can we 
push this now and deal with any further problems in a new RFE?

Thanks,
StefanK

> For Linux SPARC, it builds fine for me with, so the hunks which include
> the memory/universe.hpp header the thread SPARC-specific source files
> is not necessary.
>
> glaubitz at gcc202:~/jdk$ hg diff |cat
> diff -r 351da897f409 src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp
> --- a/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp       Fri May 10 15:34:17 2019 +0100
> +++ b/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp       Sat May 11 14:47:50 2019 +0300
> @@ -35,7 +35,9 @@
>   #include "gc/shared/collectedHeap.hpp"
>   #include "gc/shared/barrierSet.hpp"
>   #include "gc/shared/cardTableBarrierSet.hpp"
> +#include "memory/universe.hpp"
>   #include "nativeInst_ppc.hpp"
> +#include "oops/compressedOops.hpp"
>   #include "oops/objArrayKlass.hpp"
>   #include "runtime/frame.inline.hpp"
>   #include "runtime/safepointMechanism.inline.hpp"
> @@ -1237,7 +1239,7 @@
>     int disp_value = addr->disp();
>     bool needs_patching = (patch_code != lir_patch_none);
>     bool compress_oop = (type == T_ARRAY || type == T_OBJECT) && UseCompressedOops && !wide &&
> -                      Universe::narrow_oop_mode() != Universe::UnscaledNarrowOop;
> +                      CompressedOops::mode() != CompressedOops::UnscaledNarrowOop;
>     bool load_disp = addr->index()->is_illegal() && !Assembler::is_simm16(disp_value);
>     bool use_R29 = compress_oop && load_disp; // Avoid register conflict, also do null check before killing R29.
>     // Null check for large offsets in LIRGenerator::do_StoreField.
> diff -r 351da897f409 src/hotspot/cpu/ppc/macroAssembler_ppc.cpp
> --- a/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp        Fri May 10 15:34:17 2019 +0100
> +++ b/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp        Sat May 11 14:47:50 2019 +0300
> @@ -32,7 +32,6 @@
>   #include "interpreter/interpreter.hpp"
>   #include "memory/resourceArea.hpp"
>   #include "nativeInst_ppc.hpp"
> -#include "oops/compressedOops.hpp"
>   #include "prims/methodHandles.hpp"
>   #include "runtime/biasedLocking.hpp"
>   #include "runtime/icache.hpp"
> diff -r 351da897f409 src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp
> --- a/src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp Fri May 10 15:34:17 2019 +0100
> +++ b/src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp Sat May 11 14:47:50 2019 +0300
> @@ -33,6 +33,7 @@
>   #include "gc/shared/barrierSet.hpp"
>   #include "gc/shared/barrierSetAssembler.hpp"
>   #include "oops/accessDecorators.hpp"
> +#include "oops/compressedOops.hpp"
>   #include "runtime/safepointMechanism.hpp"
>   
>   inline bool MacroAssembler::is_ld_largeoffset(address a) {
> diff -r 351da897f409 src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp
> --- a/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp     Fri May 10 15:34:17 2019 +0100
> +++ b/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp     Sat May 11 14:47:50 2019 +0300
> @@ -35,6 +35,7 @@
>   #include "gc/shared/collectedHeap.hpp"
>   #include "gc/shared/barrierSet.hpp"
>   #include "gc/shared/cardTableBarrierSet.hpp"
> +#include "memory/universe.hpp"
>   #include "nativeInst_s390.hpp"
>   #include "oops/objArrayKlass.hpp"
>   #include "runtime/frame.inline.hpp"
> diff -r 351da897f409 src/hotspot/os/solaris/os_solaris.cpp
> --- a/src/hotspot/os/solaris/os_solaris.cpp     Fri May 10 15:34:17 2019 +0100
> +++ b/src/hotspot/os/solaris/os_solaris.cpp     Sat May 11 14:47:50 2019 +0300
> @@ -36,6 +36,7 @@
>   #include "logging/logStream.hpp"
>   #include "memory/allocation.inline.hpp"
>   #include "memory/filemap.hpp"
> +#include "memory/universe.hpp"
>   #include "oops/oop.inline.hpp"
>   #include "os_share_solaris.hpp"
>   #include "os_solaris.inline.hpp"
> diff -r 351da897f409 src/hotspot/share/adlc/main.cpp
> --- a/src/hotspot/share/adlc/main.cpp   Fri May 10 15:34:17 2019 +0100
> +++ b/src/hotspot/share/adlc/main.cpp   Sat May 11 14:47:50 2019 +0300
> @@ -217,6 +217,7 @@
>     AD.addInclude(AD._CPP_file, "code/vmreg.inline.hpp");
>     AD.addInclude(AD._CPP_file, "gc/shared/collectedHeap.inline.hpp");
>     AD.addInclude(AD._CPP_file, "oops/compiledICHolder.hpp");
> +  AD.addInclude(AD._CPP_file, "oops/compressedOops.hpp");
>     AD.addInclude(AD._CPP_file, "oops/markOop.hpp");
>     AD.addInclude(AD._CPP_file, "oops/method.hpp");
>     AD.addInclude(AD._CPP_file, "oops/oop.inline.hpp");
> @@ -233,6 +234,7 @@
>     AD.addInclude(AD._CPP_file, "runtime/stubRoutines.hpp");
>     AD.addInclude(AD._CPP_file, "utilities/growableArray.hpp");
>     AD.addInclude(AD._HPP_file, "memory/allocation.hpp");
> +  AD.addInclude(AD._HPP_file, "oops/compressedOops.hpp");
>     AD.addInclude(AD._HPP_file, "code/nativeInst.hpp");
>     AD.addInclude(AD._HPP_file, "opto/machnode.hpp");
>     AD.addInclude(AD._HPP_file, "opto/node.hpp");
> @@ -243,6 +245,7 @@
>     AD.addInclude(AD._CPP_CLONE_file, "adfiles", get_basename(AD._HPP_file._name));
>     AD.addInclude(AD._CPP_EXPAND_file, "precompiled.hpp");
>     AD.addInclude(AD._CPP_EXPAND_file, "adfiles", get_basename(AD._HPP_file._name));
> +  AD.addInclude(AD._CPP_EXPAND_file, "oops/compressedOops.hpp");
>     AD.addInclude(AD._CPP_FORMAT_file, "precompiled.hpp");
>     AD.addInclude(AD._CPP_FORMAT_file, "adfiles", get_basename(AD._HPP_file._name));
>     AD.addInclude(AD._CPP_GEN_file, "precompiled.hpp");
> @@ -257,6 +260,7 @@
>     AD.addInclude(AD._CPP_PIPELINE_file, "adfiles", get_basename(AD._HPP_file._name));
>     AD.addInclude(AD._DFA_file, "precompiled.hpp");
>     AD.addInclude(AD._DFA_file, "adfiles", get_basename(AD._HPP_file._name));
> +  AD.addInclude(AD._DFA_file, "oops/compressedOops.hpp");
>     AD.addInclude(AD._DFA_file, "opto/cfgnode.hpp");  // Use PROB_MAX in predicate.
>     AD.addInclude(AD._DFA_file, "opto/intrinsicnode.hpp");
>     AD.addInclude(AD._DFA_file, "opto/matcher.hpp");
> diff -r 351da897f409 src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp       Fri May 10 15:34:17 2019 +0100
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp       Sat May 11 14:47:50 2019 +0300
> @@ -39,6 +39,7 @@
>   #include "memory/allocation.inline.hpp"
>   #include "memory/iterator.hpp"
>   #include "memory/resourceArea.hpp"
> +#include "memory/universe.hpp"
>   #include "runtime/thread.hpp"
>   #include "services/management.hpp"
>   
> diff -r 351da897f409 src/hotspot/share/memory/filemap.cpp
> --- a/src/hotspot/share/memory/filemap.cpp      Fri May 10 15:34:17 2019 +0100
> +++ b/src/hotspot/share/memory/filemap.cpp      Sat May 11 14:47:50 2019 +0300
> @@ -41,6 +41,7 @@
>   #include "memory/metaspaceClosure.hpp"
>   #include "memory/metaspaceShared.hpp"
>   #include "memory/oopFactory.hpp"
> +#include "memory/universe.hpp"
>   #include "oops/compressedOops.inline.hpp"
>   #include "oops/objArrayOop.hpp"
>   #include "oops/oop.inline.hpp"
> diff -r 351da897f409 src/hotspot/share/oops/compressedOops.hpp
> --- a/src/hotspot/share/oops/compressedOops.hpp Fri May 10 15:34:17 2019 +0100
> +++ b/src/hotspot/share/oops/compressedOops.hpp Sat May 11 14:47:50 2019 +0300
> @@ -26,6 +26,7 @@
>   #define SHARE_OOPS_COMPRESSEDOOPS_HPP
>   
>   #include "memory/allocation.hpp"
> +#include "oops/oopsHierarchy.hpp"
>   #include "utilities/globalDefinitions.hpp"
>   
>   class outputStream;
> diff -r 351da897f409 src/hotspot/share/runtime/deoptimization.cpp
> --- a/src/hotspot/share/runtime/deoptimization.cpp      Fri May 10 15:34:17 2019 +0100
> +++ b/src/hotspot/share/runtime/deoptimization.cpp      Sat May 11 14:47:50 2019 +0300
> @@ -37,6 +37,7 @@
>   #include "memory/allocation.inline.hpp"
>   #include "memory/oopFactory.hpp"
>   #include "memory/resourceArea.hpp"
> +#include "memory/universe.hpp"
>   #include "oops/constantPool.hpp"
>   #include "oops/method.hpp"
>   #include "oops/objArrayKlass.hpp"
> glaubitz at gcc202:~/jdk$
>
> I could also test Solaris-SPARC, but that would take a tad longer as I would
> have to go through the process of setting up the build environment on my Solaris
> LDOM first. But then we would know whether the additional include in
> src/hotspot/os/solaris/os_solaris.cpp is necessary.
>
> Adrian
>



More information about the hotspot-dev mailing list