JDK-8236936 : x86_32 Minimal VM build failure after JDK-8230765
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 14,15
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-01-10
  • Updated: 2020-01-16
  • Resolved: 2020-01-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 14 JDK 15
14 b32Fixed 15Fixed
Related Reports
Relates :  
Description
The code introduced call to BarrierSetAssembler in sharedRuntime_x86_32.cpp, yet there is no relevant #include, like in sharedRuntime_x86_64.cpp. So, x86_32 Minimal build is failing with:

/home/buildbot/worker/jdkX-linux/build/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp: In static member function 'static AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler*, int, int, const BasicType*, const VMRegPair*, AdapterFingerPrint*)':
/home/buildbot/worker/jdkX-linux/build/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp:979:5: error: invalid use of incomplete type 'class BarrierSetAssembler'
   bs->c2i_entry_barrier(masm);
     ^~
In file included from /home/buildbot/worker/jdkX-linux/build/src/hotspot/share/gc/shared/barrierSet.inline.hpp:27:0,
                 from /home/buildbot/worker/jdkX-linux/build/src/hotspot/share/oops/access.inline.hpp:28,
                 from /home/buildbot/worker/jdkX-linux/build/src/hotspot/share/oops/oop.inline.hpp:30,
                 from /home/buildbot/worker/jdkX-linux/build/src/hotspot/share/classfile/classLoaderData.inline.hpp:31,
                 from /home/buildbot/worker/jdkX-linux/build/src/hotspot/share/oops/klass.inline.hpp:28,
                 from /home/buildbot/worker/jdkX-linux/build/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp:37:
/home/buildbot/worker/jdkX-linux/build/src/hotspot/share/gc/shared/barrierSet.hpp:36:7: note: forward declaration of 'class BarrierSetAssembler'
 class BarrierSetAssembler;
       ^~~~~~~~~~~~~~~~~~~

Trivial fix:

diff -r 0da81bf438fe src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp
--- a/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp      Fri Jan 10 16:51:44 2020 +0100
+++ b/src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp      Fri Jan 10 16:55:06 2020 +0100
@@ -31,4 +31,6 @@
 #include "code/vtableStubs.hpp"
 #include "gc/shared/gcLocker.hpp"
+#include "gc/shared/barrierSet.hpp"
+#include "gc/shared/barrierSetAssembler.hpp"
 #include "interpreter/interpreter.hpp"
 #include "logging/log.hpp"

Comments
URL: https://hg.openjdk.java.net/jdk/jdk14/rev/7e0af9d375bf User: shade Date: 2020-01-12 11:10:14 +0000
12-01-2020

RFR: https://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2020-January/037686.html
10-01-2020