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

John Paul Adrian Glaubitz glaubitz at physik.fu-berlin.de
Sat May 11 11:57:59 UTC 2019


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.

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

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz at debian.org
`. `'   Freie Universitaet Berlin - glaubitz at physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


More information about the hotspot-dev mailing list