< prev index next >

src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java

Print this page
rev 49878 : ByteBuffers need to use native order

All ByteBuffers need to use native order since intrinsification leads
to use of vector operations with native order. Additionally, using
native order means there is no preferential treatment to ordering
that would create unnecessary overheads.

@@ -380,17 +380,17 @@
         return uOp((i, a) -> (short) Integer.rotateRight(a, j));
     }
 
     @Override
     public void intoByteArray(byte[] a, int ix) {
-        ByteBuffer bb = ByteBuffer.wrap(a, ix, a.length - ix);
+        ByteBuffer bb = ByteBuffer.wrap(a, ix, a.length - ix).order(ByteOrder.nativeOrder());
         intoByteBuffer(bb);
     }
 
     @Override
     public void intoByteArray(byte[] a, int ix, Mask<Short, S> m) {
-        ByteBuffer bb = ByteBuffer.wrap(a, ix, a.length - ix);
+        ByteBuffer bb = ByteBuffer.wrap(a, ix, a.length - ix).order(ByteOrder.nativeOrder());
         intoByteBuffer(bb, m);
     }
 
     @Override
     public void intoByteBuffer(ByteBuffer bb) {

@@ -771,17 +771,17 @@
             return op(m, n -> a[i + indexMap[j + n]]);
         }
 
         @Override
         public ShortVector<S> fromByteArray(byte[] a, int ix) {
-            ByteBuffer bb = ByteBuffer.wrap(a, ix, a.length - ix);
+            ByteBuffer bb = ByteBuffer.wrap(a, ix, a.length - ix).order(ByteOrder.nativeOrder());
             return fromByteBuffer(bb);
         }
 
         @Override
         public ShortVector<S> fromByteArray(byte[] a, int ix, Mask<Short, S> m) {
-            ByteBuffer bb = ByteBuffer.wrap(a, ix, a.length - ix);
+            ByteBuffer bb = ByteBuffer.wrap(a, ix, a.length - ix).order(ByteOrder.nativeOrder());
             return fromByteBuffer(bb, m);
         }
 
         @Override
         public ShortVector<S> fromByteBuffer(ByteBuffer bb) {

@@ -802,18 +802,18 @@
             });
         }
 
         @Override
         public ShortVector<S> fromByteBuffer(ByteBuffer bb, int ix) {
-            bb = bb.duplicate().position(ix);
+            bb = bb.duplicate().order(ByteOrder.nativeOrder()).position(ix);
             ShortBuffer fb = bb.asShortBuffer();
             return op(i -> fb.get(i));
         }
 
         @Override
         public ShortVector<S> fromByteBuffer(ByteBuffer bb, int ix, Mask<Short, S> m) {
-            bb = bb.duplicate().position(ix);
+            bb = bb.duplicate().order(ByteOrder.nativeOrder()).position(ix);
             ShortBuffer fb = bb.asShortBuffer();
             return op(m, i -> fb.get(i));
         }
 
         @Override
< prev index next >