RFR: JDK-8042589: String.toLowerCase do not work for some concatenated strings

Ulf Zibis Ulf.Zibis at CoSoCo.de
Thu Jul 17 09:54:16 UTC 2014


There is again another little optimization possible:

instead
     hasSurr = true;
we could use
     first = ~first;
and save variable hasSurr.

If there is register pressure (especially on older CPUs), this might be a performance advantage.

Also I think we should not grow the result array for any character where "mapLen > srcCount", we 
could wait until the result array is actually full.

-Ulf


Am 17.07.2014 00:55, schrieb Xueming Shen:
> Still need a reviewer.
>
> On 07/09/2014 01:04 PM, Xueming Shen wrote:
>> Hi,
>>
>> Please help review the change for JDK-8042589.
>>
>> Issue:    https://bugs.openjdk.java.net/browse/JDK-8042589
>> webrev: http://cr.openjdk.java.net/~sherman/8042589/webrev/
>>
>> This is a regression caused by the following change for #JDK-8032012,
>>
>> issue:    https://bugs.openjdk.java.net/browse/JDK-8032012
>> webrev: http://cr.openjdk.java.net/~sherman/8032012/
>> discussion: http://mail.openjdk.java.net/pipermail/core-libs-dev/2014-February/024862.html
>>
>> It appears the last optimization for the surrogates we pushed in is
>> incomplete. We still need to check isSurrogate() in the optimized
>> non-surrogate loop, as the "first" (checked at the very beginning) might
>> be triggered by a non-surrogate-upper/lowercase char.
>>
>> Thanks!
>> -Sherman
>
>




More information about the core-libs-dev mailing list