< prev index next >

src/share/vm/opto/stringopts.cpp

Print this page

        

@@ -1518,11 +1518,11 @@
     Node* index = start;
     for (int i = 0; i < length; i++) {
       Node* adr = kit.array_element_address(dst_array, index, T_BYTE);
       jchar val;
       if (src_is_byte) {
-        val = src_array->byte_at(i);
+        val = src_array->byte_at(i) & 0xff;
       } else {
         val = readChar(src_array, i++);
       }
       __ store(__ ctrl(), adr, __ ConI(val), T_CHAR, byte_adr_idx, MemNode::unordered);
       index = __ AddI(index, __ ConI(2));
< prev index next >