< prev index next >

src/hotspot/share/classfile/systemDictionaryShared.cpp

Print this page
rev 50331 : 8198285: More consistent Access API for arraycopy
rev 50332 : [mq]: JDK-8203232-2.patch
rev 50333 : [mq]: JDK-8198285-3.patch

*** 85,96 **** // ByteArrayInputStream bais = new ByteArrayInputStream(buf); const char* src = ent->manifest(); assert(src != NULL, "No Manifest data"); typeArrayOop buf = oopFactory::new_byteArray(size, CHECK_NH); typeArrayHandle bufhandle(THREAD, buf); ! char* dst = (char*)(buf->byte_at_addr(0)); ! memcpy(dst, src, (size_t)size); Handle bais = JavaCalls::construct_new_instance(SystemDictionary::ByteArrayInputStream_klass(), vmSymbols::byte_array_void_signature(), bufhandle, CHECK_NH); --- 85,96 ---- // ByteArrayInputStream bais = new ByteArrayInputStream(buf); const char* src = ent->manifest(); assert(src != NULL, "No Manifest data"); typeArrayOop buf = oopFactory::new_byteArray(size, CHECK_NH); typeArrayHandle bufhandle(THREAD, buf); ! ArrayAccess<>::arraycopy_from_native<>(reinterpret_cast<const jbyte*>(src), ! buf, typeArrayOopDesc::element_offset<jbyte>(0), size); Handle bais = JavaCalls::construct_new_instance(SystemDictionary::ByteArrayInputStream_klass(), vmSymbols::byte_array_void_signature(), bufhandle, CHECK_NH);
< prev index next >