RFR: 8186166: Generalize Atomic::cmpxchg with templates

John Paul Adrian Glaubitz glaubitz at physik.fu-berlin.de
Thu Aug 17 21:32:38 UTC 2017

On 08/17/2017 07:35 PM, Kim Barrett wrote:
> I accidentally left off the “const” qualifier for those definitions for all of linux_sparc, linux_zero, and bsd_zero.
> Sorry about that.  I’ve rechecked that bit for all platforms.
> New webrevs:
> full: http://cr.openjdk.java.net/~kbarrett/8186166/hotspot.02/
> incr: http://cr.openjdk.java.net/~kbarrett/8186166/hotspot.02.inc/

Yes, I can confirm that this fixes the particular problem on linux-zero
and linux-sparc, although both builds still fail.

For linux-zero I had to add a missing "#include <stdint.h>" to
hotspot/src/share/vm/runtime/vmStructs.hpp as otherwise the build
would bail out complaining that "uint32_t" and "uint64_t" are not

On linux-sparc, the build currently fails with:

Building target 'default (exploded-image)' in configuration 'linux-sparcv9-normal-server-release'
Compiling 2901 files for java.base
/var/lib/buildd/openjdk/hs/hotspot/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp:65:5: error: prototype for ‘int VM_Version::platform_features(int)’ does
not match any in class ‘VM_Version’
 int VM_Version::platform_features(int features) {
In file included from /var/lib/buildd/openjdk/hs/hotspot/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp:28:0:
/var/lib/buildd/openjdk/hs/hotspot/src/cpu/sparc/vm/vm_version_sparc.hpp:196:15: error: candidate is: static void VM_Version::platform_features()
   static void platform_features();
/var/lib/buildd/openjdk/hs/hotspot/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp:61:13: warning: ‘bool detect_blkinit()’ defined but not used
 static bool detect_blkinit() {
/var/lib/buildd/openjdk/hs/hotspot/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp:57:13: warning: ‘bool detect_M_family()’ defined but not used
 static bool detect_M_family() {
/var/lib/buildd/openjdk/hs/hotspot/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp:53:13: warning: ‘bool detect_niagara()’ defined but not used
 static bool detect_niagara() {
lib/CompileJvm.gmk:208: recipe for target
'/var/lib/buildd/openjdk/hs/build/linux-sparcv9-normal-server-release/hotspot/variant-server/libjvm/objs/vm_version_linux_sparc.o' failed
make[3]: *** [/var/lib/buildd/openjdk/hs/build/linux-sparcv9-normal-server-release/hotspot/variant-server/libjvm/objs/vm_version_linux_sparc.o] Error 1
make[3]: *** Waiting for unfinished jobs....

But I'm too tired now to debug this.


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