This causes the Zero build to fail with:
=== Output from failing command(s) repeated here ===
/usr/bin/printf "* For target hotspot_variant-zero_libjvm_objs_abstractInterpreter.o:\n"
* For target hotspot_variant-zero_libjvm_objs_abstractInterpreter.o:
(/bin/grep -v -e "^Note: including file:" <
/home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_abstractInterpreter.o.log || true)
| /usr/bin/head -n 12
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/oops/access.inline.hpp:35:0,
from /home/glaubitz/upstream/hs/src/hotspot/share/oops/oop.inline.hpp:32,
from /home/glaubitz/upstream/hs/src/hotspot/share/memory/metaspaceShared.hpp:32,
from /home/glaubitz/upstream/hs/src/hotspot/share/interpreter/abstractInterpreter.cpp:36:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp: In static member function ‘static bool
RawAccessBarrier<decorators>::oop_arraycopy(arrayOop, arrayOop, HeapWord*, HeapWord*, size_t)’:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp:129:98: error: no matching function for call to
‘RawAccessBarrier<decorators>::arraycopy(narrowOop*, narrowOop*, size_t&)’
return arraycopy(reinterpret_cast<narrowOop*>(src), reinterpret_cast<narrowOop*>(dst), length);
^
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/barrierSet.hpp:31:0,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/collectorPolicy.hpp:28,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/genCollectedHeap.hpp:29,
from /home/glaubitz/upstream/hs/src/hotspot/share/oops/oop.inline.hpp:30,
if test `/usr/bin/wc -l <
/home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_abstractInterpreter.o.log` -gt 12;
then /bin/echo " ... (rest of output omitted)" ; fi
... (rest of output omitted)
/usr/bin/printf "* For target hotspot_variant-zero_libjvm_objs_accessBackend.o:\n"
* For target hotspot_variant-zero_libjvm_objs_accessBackend.o:
(/bin/grep -v -e "^Note: including file:" <
/home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_accessBackend.o.log || true) |
/usr/bin/head -n 12
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.cpp:26:0:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp: In static member function ‘static bool
RawAccessBarrier<decorators>::oop_arraycopy(arrayOop, arrayOop, HeapWord*, HeapWord*, size_t)’:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp:129:98: error: no matching function for call to
‘RawAccessBarrier<decorators>::arraycopy(narrowOop*, narrowOop*, size_t&)’
return arraycopy(reinterpret_cast<narrowOop*>(src), reinterpret_cast<narrowOop*>(dst), length);
^
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp:29:0,
from /home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.cpp:26:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.hpp:343:15: note: candidate: template<long unsigned int decorators> template<class T> static
bool RawAccessBarrier<decorators>::arraycopy(arrayOop, arrayOop, T*, T*, size_t)
static bool arraycopy(arrayOop src_obj, arrayOop dst_obj, T* src, T* dst, size_t length);
^~~~~~~~~
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.hpp:343:15: note: template argument deduction/substitution failed:
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.cpp:26:0:
if test `/usr/bin/wc -l <
/home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_accessBackend.o.log` -gt 12; then
/bin/echo " ... (rest of output omitted)" ; fi
... (rest of output omitted)
/usr/bin/printf "* For target hotspot_variant-zero_libjvm_objs_accessBarrierSupport.o:\n"
* For target hotspot_variant-zero_libjvm_objs_accessBarrierSupport.o:
(/bin/grep -v -e "^Note: including file:" <
/home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_accessBarrierSupport.o.log || true)
| /usr/bin/head -n 12
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/oops/access.inline.hpp:35:0,
from /home/glaubitz/upstream/hs/src/hotspot/share/classfile/javaClasses.inline.hpp:29,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/accessBarrierSupport.cpp:26:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp: In static member function ‘static bool
RawAccessBarrier<decorators>::oop_arraycopy(arrayOop, arrayOop, HeapWord*, HeapWord*, size_t)’:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp:129:98: error: no matching function for call to
‘RawAccessBarrier<decorators>::arraycopy(narrowOop*, narrowOop*, size_t&)’
return arraycopy(reinterpret_cast<narrowOop*>(src), reinterpret_cast<narrowOop*>(dst), length);
^
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/barrierSet.hpp:31:0,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/barrierSet.inline.hpp:28,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp:28,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/barrierSetConfig.inline.hpp:30,
from /home/glaubitz/upstream/hs/src/hotspot/share/oops/access.inline.hpp:28,
if test `/usr/bin/wc -l <
/home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_accessBarrierSupport.o.log` -gt 12;
then /bin/echo " ... (rest of output omitted)" ; fi
... (rest of output omitted)
/usr/bin/printf "* For target hotspot_variant-zero_libjvm_objs_accessFlags.o:\n"
* For target hotspot_variant-zero_libjvm_objs_accessFlags.o:
(/bin/grep -v -e "^Note: including file:" <
/home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_accessFlags.o.log || true) |
/usr/bin/head -n 12
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/oops/access.inline.hpp:35:0,
from /home/glaubitz/upstream/hs/src/hotspot/share/oops/oop.inline.hpp:32,
from /home/glaubitz/upstream/hs/src/hotspot/share/utilities/accessFlags.cpp:26:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp: In static member function ‘static bool
RawAccessBarrier<decorators>::oop_arraycopy(arrayOop, arrayOop, HeapWord*, HeapWord*, size_t)’:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp:129:98: error: no matching function for call to
‘RawAccessBarrier<decorators>::arraycopy(narrowOop*, narrowOop*, size_t&)’
return arraycopy(reinterpret_cast<narrowOop*>(src), reinterpret_cast<narrowOop*>(dst), length);
^
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/barrierSet.hpp:31:0,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/collectorPolicy.hpp:28,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/genCollectedHeap.hpp:29,
from /home/glaubitz/upstream/hs/src/hotspot/share/oops/oop.inline.hpp:30,
from /home/glaubitz/upstream/hs/src/hotspot/share/utilities/accessFlags.cpp:26:
if test `/usr/bin/wc -l <
/home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_accessFlags.o.log` -gt 12; then
/bin/echo " ... (rest of output omitted)" ; fi
... (rest of output omitted)
/usr/bin/printf "* For target hotspot_variant-zero_libjvm_objs_ageTable.o:\n"
* For target hotspot_variant-zero_libjvm_objs_ageTable.o:
(/bin/grep -v -e "^Note: including file:" <
/home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_ageTable.o.log || true) |
/usr/bin/head -n 12
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/oops/access.inline.hpp:35:0,
from /home/glaubitz/upstream/hs/src/hotspot/share/oops/oop.inline.hpp:32,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/ageTable.inline.hpp:29,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/ageTable.cpp:27:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp: In static member function ‘static bool
RawAccessBarrier<decorators>::oop_arraycopy(arrayOop, arrayOop, HeapWord*, HeapWord*, size_t)’:
/home/glaubitz/upstream/hs/src/hotspot/share/oops/accessBackend.inline.hpp:129:98: error: no matching function for call to
‘RawAccessBarrier<decorators>::arraycopy(narrowOop*, narrowOop*, size_t&)’
return arraycopy(reinterpret_cast<narrowOop*>(src), reinterpret_cast<narrowOop*>(dst), length);
^
In file included from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/barrierSet.hpp:31:0,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/collectorPolicy.hpp:28,
from /home/glaubitz/upstream/hs/src/hotspot/share/gc/shared/genCollectedHeap.hpp:29,
from /home/glaubitz/upstream/hs/src/hotspot/share/oops/oop.inline.hpp:30,
if test `/usr/bin/wc -l <
/home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_ageTable.o.log` -gt 12; then
/bin/echo " ... (rest of output omitted)" ; fi
... (rest of output omitted)
/usr/bin/printf "\n* All command lines available in /home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs.\n"
* All command lines available in /home/glaubitz/upstream/hs/build/linux-x86_64-normal-zero-release/make-support/failure-logs.
/usr/bin/printf "=== End of repeated output ===\n"
=== End of repeated output ===
This is trivially fixed by:
diff -r e06f9607f370 src/hotspot/share/oops/accessBackend.inline.hpp
--- a/src/hotspot/share/oops/accessBackend.inline.hpp Fri Mar 16 22:59:32 2018 -0700
+++ b/src/hotspot/share/oops/accessBackend.inline.hpp Sun Mar 18 13:26:41 2018 +0100
@@ -126,9 +126,9 @@
bool needs_oop_compress = HasDecorator<decorators, INTERNAL_CONVERT_COMPRESSED_OOP>::value &&
HasDecorator<decorators, INTERNAL_RT_USE_COMPRESSED_OOPS>::value;
if (needs_oop_compress) {
- return arraycopy(reinterpret_cast<narrowOop*>(src), reinterpret_cast<narrowOop*>(dst), length);
+ return arraycopy(src_obj, dst_obj, reinterpret_cast<narrowOop*>(src), reinterpret_cast<narrowOop*>(dst), length);
} else {
- return arraycopy(reinterpret_cast<oop*>(src), reinterpret_cast<oop*>(dst), length);
+ return arraycopy(src_obj, dst_obj, reinterpret_cast<oop*>(src), reinterpret_cast<oop*>(dst), length);
}
}
- duplicates
-
JDK-8199685 Access arraycopy build failure with GCC 7.3.1
- Resolved
- relates to
-
JDK-8198445 Access API for primitive/native arraycopy
- Resolved