RFR 8153310: AArch64: JEP 254: Implement byte_array_inflate and char_array_compress

Edward Nevill edward.nevill at gmail.com
Mon Apr 4 17:20:32 UTC 2016


Hi,

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.

+  // 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.

All the best,
Ed.




More information about the hotspot-dev mailing list