< prev index next >

src/hotspot/share/classfile/javaClasses.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

*** 308,318 **** } Handle h_obj = basic_create(length, is_latin1, CHECK_NH); if (length > 0) { if (!has_multibyte) { ! strncpy((char*)value(h_obj())->byte_at_addr(0), utf8_str, length); } else if (is_latin1) { UTF8::convert_to_unicode(utf8_str, value(h_obj())->byte_at_addr(0), length); } else { UTF8::convert_to_unicode(utf8_str, value(h_obj())->char_at_addr(0), length); } --- 308,318 ---- } Handle h_obj = basic_create(length, is_latin1, CHECK_NH); if (length > 0) { if (!has_multibyte) { ! ArrayAccess<>::arraycopy_from_native<>(reinterpret_cast<const jbyte*>(utf8_str), value(h_obj()), typeArrayOopDesc::element_offset<jbyte>(0), length); } else if (is_latin1) { UTF8::convert_to_unicode(utf8_str, value(h_obj())->byte_at_addr(0), length); } else { UTF8::convert_to_unicode(utf8_str, value(h_obj())->char_at_addr(0), length); }
*** 354,364 **** } Handle h_obj = basic_create(length, is_latin1, CHECK_NH); if (length > 0) { if (!has_multibyte) { ! strncpy((char*)value(h_obj())->byte_at_addr(0), utf8_str, length); } else if (is_latin1) { UTF8::convert_to_unicode(utf8_str, value(h_obj())->byte_at_addr(0), length); } else { UTF8::convert_to_unicode(utf8_str, value(h_obj())->char_at_addr(0), length); } --- 354,364 ---- } Handle h_obj = basic_create(length, is_latin1, CHECK_NH); if (length > 0) { if (!has_multibyte) { ! ArrayAccess<>::arraycopy_from_native<>(reinterpret_cast<const jbyte*>(utf8_str), value(h_obj()), typeArrayOopDesc::element_offset<jbyte>(0), length); } else if (is_latin1) { UTF8::convert_to_unicode(utf8_str, value(h_obj())->byte_at_addr(0), length); } else { UTF8::convert_to_unicode(utf8_str, value(h_obj())->char_at_addr(0), length); }
< prev index next >