RFR 8153310: AArch64: JEP 254: Implement byte_array_inflate and char_array_compress
Andrew Haley
aph at redhat.com
Tue Apr 5 08:44:50 UTC 2016
On 04/04/16 18:20, Edward Nevill wrote:
> On Fri, 2016-04-01 at 18:30 +0100, Andrew Haley wrote:
>> We need this for CompactStrings.
>>
>> http://cr.openjdk.java.net/~aph/8153310/
>
> Looks fine to me. A few minor points.
>
> + // Short string: less than 8 bytes.
> + {
> + Label loop, around, tiny;
>
> Label 'aound' is declared and bound, but never used.
OK.
> + // Unpack the bytes 8 at a time.
> + bind(big);
> + andw(len, len, 7);
> +
> + {
> + Label loop, around;
>
> And also here
>
> + bind(loop);
> + ld1(vtmp2, T8B, post(src, 8));
> + sub(rscratch1, rscratch1, 1);
> + zip1(vtmp3, T16B, vtmp2, vtmp1);
> + st1(vtmp3, T8H, post(dst, 16));
>
> Would it be better to use ldrd and strq rather than ld1 and st1. It
> seems more natural to me and will give better performance.
Better performance? Why? I see a latency of 5 cycles.
Andrew.
More information about the hotspot-dev
mailing list