< 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 >