< prev index next >
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.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.
@@ -401,17 +401,17 @@
return uOp((i, a) -> (int) 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<Integer, 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) {
@@ -792,17 +792,17 @@
return op(m, n -> a[i + indexMap[j + n]]);
}
@Override
public IntVector<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 IntVector<S> fromByteArray(byte[] a, int ix, Mask<Integer, 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 IntVector<S> fromByteBuffer(ByteBuffer bb) {
@@ -823,18 +823,18 @@
});
}
@Override
public IntVector<S> fromByteBuffer(ByteBuffer bb, int ix) {
- bb = bb.duplicate().position(ix);
+ bb = bb.duplicate().order(ByteOrder.nativeOrder()).position(ix);
IntBuffer fb = bb.asIntBuffer();
return op(i -> fb.get(i));
}
@Override
public IntVector<S> fromByteBuffer(ByteBuffer bb, int ix, Mask<Integer, S> m) {
- bb = bb.duplicate().position(ix);
+ bb = bb.duplicate().order(ByteOrder.nativeOrder()).position(ix);
IntBuffer fb = bb.asIntBuffer();
return op(m, i -> fb.get(i));
}
@Override
< prev index next >