< prev index next >
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template
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.
@@ -600,17 +600,17 @@
}
#end[BITWISE]
@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<$Boxtype$, 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) {
@@ -1009,17 +1009,17 @@
return op(m, n -> a[i + indexMap[j + n]]);
}
@Override
public $abstractvectortype$<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 $abstractvectortype$<S> fromByteArray(byte[] a, int ix, Mask<$Boxtype$, 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 $abstractvectortype$<S> fromByteBuffer(ByteBuffer bb) {
@@ -1040,18 +1040,18 @@
});
}
@Override
public $abstractvectortype$<S> fromByteBuffer(ByteBuffer bb, int ix) {
- bb = bb.duplicate().position(ix);
+ bb = bb.duplicate().order(ByteOrder.nativeOrder()).position(ix);
$Type$Buffer fb = bb{#if[byte]?;:.as$Type$Buffer();}
return op(i -> fb.get(i));
}
@Override
public $abstractvectortype$<S> fromByteBuffer(ByteBuffer bb, int ix, Mask<$Boxtype$, S> m) {
- bb = bb.duplicate().position(ix);
+ bb = bb.duplicate().order(ByteOrder.nativeOrder()).position(ix);
$Type$Buffer fb = bb{#if[byte]?;:.as$Type$Buffer();}
return op(m, i -> fb.get(i));
}
@Override
< prev index next >