Request for review: 6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
Ulf Zibis
Ulf.Zibis at CoSoCo.de
Sat Jan 26 01:38:07 UTC 2013
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
More information about the core-libs-dev
mailing list