< prev index next >
src/hotspot/share/classfile/systemDictionaryShared.cpp
Print this page
rev 49674 : 8198285: More consistent Access API for arraycopy
*** 104,115 ****
{
const char* src = ent->manifest();
assert(src != NULL, "No Manifest data");
typeArrayOop buf = oopFactory::new_byteArray(size, CHECK_(empty));
typeArrayHandle bufhandle(THREAD, buf);
! char* dst = (char*)(buf->byte_at_addr(0));
! memcpy(dst, src, (size_t)size);
JavaValue result(T_VOID);
JavaCalls::call_special(&result, bais, bais_klass,
vmSymbols::object_initializer_name(),
vmSymbols::byte_array_void_signature(),
--- 104,115 ----
{
const char* src = ent->manifest();
assert(src != NULL, "No Manifest data");
typeArrayOop buf = oopFactory::new_byteArray(size, CHECK_(empty));
typeArrayHandle bufhandle(THREAD, buf);
! HeapAccess<>::arraycopy<jbyte>(NULL, 0, reinterpret_cast<const jbyte*>(src),
! buf, typeArrayOopDesc::element_offset<jbyte>(0), NULL, size);
JavaValue result(T_VOID);
JavaCalls::call_special(&result, bais, bais_klass,
vmSymbols::object_initializer_name(),
vmSymbols::byte_array_void_signature(),
< prev index next >