Trouble finding the definition for class BarrierSet

John Paul Adrian Glaubitz glaubitz at physik.fu-berlin.de
Mon Jun 4 15:45:36 UTC 2018


Hi!

I am currently looking at JDK-8203787 again, the problem still exists (see below).

What I don't understand: Why is class BarrierSet apparently not declared in this
case. I tried understanding the logic through which "barrierSet.hpp" ends up
being included in library_call.cpp but I cannot find anything, the level
of nesting is just too deep to be able to follow all transitive #include
directions.

Does anyone have an idea how to be able to track this down? Does Solaris do
anything special with regards to "class BarrierSet" or is there a "os_cpu"-
specific implementation/include etc?

There must be a trivial bug on linux-sparc which prevents "class BarrierSet"
from being defined here but I can't seem to see the problem.

Adrian

=== Output from failing command(s) repeated here ===
/usr/bin/printf "* For target hotspot_variant-server_libjvm_objs_library_call.o:\n" 
* For target hotspot_variant-server_libjvm_objs_library_call.o:
(/bin/grep -v -e "^Note: including file:" <  /srv/openjdk/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs/hotspot_variant-server_libjvm_objs_library_call.o.log || true) | /usr/bin/head -n 12 
/srv/openjdk/jdk/src/hotspot/share/opto/library_call.cpp: In member function ‘bool LibraryCallKit::inline_native_clone(bool)’:
/srv/openjdk/jdk/src/hotspot/share/opto/library_call.cpp:4272:38: error: incomplete type ‘BarrierSet’ used in nested name specifier
       BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
                                      ^~~~~~~~~~~
if test `/usr/bin/wc -l < /srv/openjdk/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs/hotspot_variant-server_libjvm_objs_library_call.o.log` -gt 12; then /bin/echo "   ... (rest of output omitted)" ; fi 
/usr/bin/printf "* For target jdk_modules_java.desktop__the.java.desktop_batch:\n" 
* For target jdk_modules_java.desktop__the.java.desktop_batch:
(/bin/grep -v -e "^Note: including file:" <  /srv/openjdk/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs/jdk_modules_java.desktop__the.java.desktop_batch.log || true) | /usr/bin/head -n 12 
if test `/usr/bin/wc -l < /srv/openjdk/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs/jdk_modules_java.desktop__the.java.desktop_batch.log` -gt 12; then /bin/echo "   ... (rest of output omitted)" ; fi 
/usr/bin/printf "\n* All command lines available in /srv/openjdk/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs.\n" 

* All command lines available in /srv/openjdk/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs.
/usr/bin/printf "=== End of repeated output ===\n"  
=== End of repeated output ===

-- 
 .''`.  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