RFR: 8186166: Generalize Atomic::cmpxchg with templates

Gerard Ziemski gerard.ziemski at oracle.com
Thu Aug 17 15:26:30 UTC 2017


hi Kim,

I got this error building on Mac OS X:

/Volumes/Work/bugs/0000000/jdk10/hotspot/src/share/vm/runtime/atomic.hpp:275:10: error: implicit instantiation of undefined template 'Atomic::CmpxchgImpl<int, signed char, signed char, void>'
 return CmpxchgImpl<T, D, U>()(exchange_value, dest, compare_value, order);
        ^
/Volumes/Work/bugs/0000000/jdk10/hotspot/src/closed/share/vm/jfr/jfrTaggedArtifacts.cpp:80:34: note: in instantiation of function template specialization 'Atomic::cmpxchg<int, signed char, signed char>' requested here
   const jbyte result = Atomic::cmpxchg(current ^ flag, dest, current);
                                ^
/Volumes/Work/bugs/0000000/jdk10/hotspot/src/share/vm/runtime/atomic.hpp:164:10: note: template is declared here
 struct CmpxchgImpl;
        ^
1 error generated.
lib/CompileJvm.gmk:208: recipe for target '/Volumes/Work/bugs/0000000/jdk10/build/macosx-x64/hotspot/variant-server/libjvm/objs/jfrTaggedArtifacts.o' failed
make[3]: *** [/Volumes/Work/bugs/0000000/jdk10/build/macosx-x64/hotspot/variant-server/libjvm/objs/jfrTaggedArtifacts.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make/Main.gmk:263: recipe for target 'hotspot-server-libs' failed
make[2]: *** [hotspot-server-libs] Error 2

ERROR: Build failed for target 'jdk' in configuration 'macosx-x64' (exit code 2) 

=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_jfrTaggedArtifacts.o:
In file included from /Volumes/Work/bugs/0000000/jdk10/hotspot/src/closed/share/vm/jfr/jfrTaggedArtifacts.cpp:1:
In file included from /Volumes/Work/bugs/0000000/jdk10/hotspot/src/share/vm/precompiled/precompiled.hpp:29:
In file included from /Volumes/Work/bugs/0000000/jdk10/hotspot/src/share/vm/asm/assembler.hpp:28:
In file included from /Volumes/Work/bugs/0000000/jdk10/hotspot/src/share/vm/asm/codeBuffer.hpp:28:
In file included from /Volumes/Work/bugs/0000000/jdk10/hotspot/src/share/vm/code/oopRecorder.hpp:28:
In file included from /Volumes/Work/bugs/0000000/jdk10/hotspot/src/share/vm/memory/universe.hpp:28:
In file included from /Volumes/Work/bugs/0000000/jdk10/hotspot/src/share/vm/oops/array.hpp:29:
In file included from /Volumes/Work/bugs/0000000/jdk10/hotspot/src/share/vm/memory/allocation.inline.hpp:28:
/Volumes/Work/bugs/0000000/jdk10/hotspot/src/share/vm/runtime/atomic.hpp:275:10: error: implicit instantiation of undefined template 'Atomic::CmpxchgImpl<int, signed char, signed char, void>'
 return CmpxchgImpl<T, D, U>()(exchange_value, dest, compare_value, order);
        ^
/Volumes/Work/bugs/0000000/jdk10/hotspot/src/closed/share/vm/jfr/jfrTaggedArtifacts.cpp:80:34: note: in instantiation of function template specialization 'Atomic::cmpxchg<int, signed char, signed char>' requested here
  ... (rest of output omitted)




More information about the hotspot-dev mailing list