Request for review: 6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
Ulf Zibis
Ulf.Zibis at CoSoCo.de
Wed Jan 9 15:57:02 PST 2013
Another little simplification:
179 boolean overflow = sr > dr;
180 sr = overflow ? dr : sr;
or in your existing logic:
178 int len = sl - sp;
179 boolean overflow = len > (dl - dp);
180 len = overflow ? dl - dp : len;
(len is equivalent to sr)
-Ulf
Am 09.01.2013 19:03, schrieb Vladimir Kozlov:
> Ulf,
>
> Thank you for this suggestion but I would like to keep surrounding code intact. I will rename
> "overflowflag" to "overflow". It is used to indicate that we should return CoderResult.OVERFLOW
> result.
>
> Thanks,
> Vladimir
>
> On 1/9/13 3:58 AM, Ulf Zibis wrote:
>> Am 09.01.2013 01:10, schrieb Vitaly Davidovich:
>>> On Jan 8, 2013 6:18 PM, "Vladimir Kozlov" <vladimir.kozlov at oracle.com>
>>> wrote:
>>>
>>>> http://cr.openjdk.java.net/~**kvn/6896617_jdk/webrev<http://cr.openjdk.java.net/~kvn/6896617_jdk/webrev>
>>>>
>>>>
>>
>> Another tweak:
>> 168 char[] sa = src.array();
>> 169 int sp = src.arrayOffset() + src.position();
>> 170 int sr = src.remaining();
>> 171 int sl = sp + sr;
>> 172 assert (sp <= sl); // superfluous, sr is always >= 0
>> 173 sp = (sp <= sl ? sp : sl); // superfluous "
>> 174 byte[] da = dst.array();
>> 175 int dp = dst.arrayOffset() + dst.position();
>> 170 int dr = dst.remaining();
>> 176 int dl = dp + dr;
>> 177 assert (dp <= dl); // superfluous "
>> 178 dp = (dp <= dl ? dp : dl); // superfluous "
>> 179 boolean overflow = false;
>> 180 if (sr > dr) {
>> 181 sr = dr;
>> 182 overflow = true;
>> 183 }
>>
>> Why you called it "overflowflag", in that way, you could name each
>> variable "myvaluevariable" or "myvaluefield" ;-)
>>
>>
>> -Ulf
>>
>
More information about the hotspot-compiler-dev
mailing list