Am 18.01.2013 19:26, schrieb Vladimir Kozlov:
Here are Hotspot changes with new jtreg test:
http://cr.openjdk.java.net/~kvn/6896617/webrev
Hi Vladimir,
additionnally instead:
6322 load_unsigned_short(tmp5, Address(src, len, Address::times_2, 0));
6323 testl(tmp5, 0xff00); // check if Unicode char
6324 jccb(Assembler::notZero, L_copy_1_char_exit);
6325 movb(Address(dst, len, Address::times_1, 0), tmp5);
you could do something like:
6322 load_unsigned_byte(tmp5, Address(src, len, Address::times_2, 1));
6323 jccb(Assembler::notZero, L_copy_1_char_exit); // check if ISO-8859-1 char
6324 movb(Address(dst, len, Address::times_1, 0), Address(src, len,
Address::times_2, 0));
There is no need to compare against an additional constant, just check the
high-byte for 0.
... and your comment
// check if Unicode char
is wrong, as it is always a Unicode char, so correct:
// check if ISO-8859-1 char
Similar for lines 6245, 6269 !
-Ulf