mirror of
https://github.com/openjdk/jdk.git
synced 2026-05-11 05:59:52 +00:00
8350748: VectorAPI: Method "checkMaskFromIndexSize" should be force inlined
Reviewed-by: psandoz
This commit is contained in:
parent
0a1eea112d
commit
d48ddfe49a
@ -3060,7 +3060,8 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Byte>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -3249,7 +3250,8 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
||||
return vsp.dummyVector().fromBooleanArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Byte>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromBooleanArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -3431,7 +3433,8 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_IN_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, ms.byteSize());
|
||||
((AbstractMask<Byte>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_OUT_OF_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
@ -3499,7 +3502,8 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
||||
} else {
|
||||
ByteSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Byte>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoArray0(a, offset, m);
|
||||
}
|
||||
@ -3656,7 +3660,8 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
||||
} else {
|
||||
ByteSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Byte>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoBooleanArray0(a, offset, m);
|
||||
}
|
||||
@ -3788,7 +3793,8 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
||||
}
|
||||
ByteSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.vectorByteSize(), ms.byteSize())) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, ms.byteSize());
|
||||
((AbstractMask<Byte>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 1);
|
||||
}
|
||||
maybeSwap(bo).intoMemorySegment0(ms, offset, m);
|
||||
}
|
||||
@ -4040,26 +4046,6 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
||||
|
||||
// End of low-level memory operations.
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(int offset,
|
||||
ByteSpecies vsp,
|
||||
VectorMask<Byte> m,
|
||||
int scale,
|
||||
int limit) {
|
||||
((AbstractMask<Byte>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(long offset,
|
||||
ByteSpecies vsp,
|
||||
VectorMask<Byte> m,
|
||||
int scale,
|
||||
long limit) {
|
||||
((AbstractMask<Byte>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
@ForceInline
|
||||
private void conditionalStoreNYI(int offset,
|
||||
ByteSpecies vsp,
|
||||
|
||||
@ -2836,7 +2836,8 @@ public abstract class DoubleVector extends AbstractVector<Double> {
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Double>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -3064,7 +3065,8 @@ public abstract class DoubleVector extends AbstractVector<Double> {
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_IN_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 8, ms.byteSize());
|
||||
((AbstractMask<Double>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 8);
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_OUT_OF_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
@ -3132,7 +3134,8 @@ public abstract class DoubleVector extends AbstractVector<Double> {
|
||||
} else {
|
||||
DoubleSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Double>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoArray0(a, offset, m);
|
||||
}
|
||||
@ -3290,7 +3293,8 @@ public abstract class DoubleVector extends AbstractVector<Double> {
|
||||
}
|
||||
DoubleSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.vectorByteSize(), ms.byteSize())) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 8, ms.byteSize());
|
||||
((AbstractMask<Double>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 8);
|
||||
}
|
||||
maybeSwap(bo).intoMemorySegment0(ms, offset, m);
|
||||
}
|
||||
@ -3554,26 +3558,6 @@ public abstract class DoubleVector extends AbstractVector<Double> {
|
||||
|
||||
// End of low-level memory operations.
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(int offset,
|
||||
DoubleSpecies vsp,
|
||||
VectorMask<Double> m,
|
||||
int scale,
|
||||
int limit) {
|
||||
((AbstractMask<Double>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(long offset,
|
||||
DoubleSpecies vsp,
|
||||
VectorMask<Double> m,
|
||||
int scale,
|
||||
long limit) {
|
||||
((AbstractMask<Double>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
@ForceInline
|
||||
private void conditionalStoreNYI(int offset,
|
||||
DoubleSpecies vsp,
|
||||
|
||||
@ -2860,7 +2860,8 @@ public abstract class FloatVector extends AbstractVector<Float> {
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Float>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -3070,7 +3071,8 @@ public abstract class FloatVector extends AbstractVector<Float> {
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_IN_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 4, ms.byteSize());
|
||||
((AbstractMask<Float>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 4);
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_OUT_OF_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
@ -3138,7 +3140,8 @@ public abstract class FloatVector extends AbstractVector<Float> {
|
||||
} else {
|
||||
FloatSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Float>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoArray0(a, offset, m);
|
||||
}
|
||||
@ -3277,7 +3280,8 @@ public abstract class FloatVector extends AbstractVector<Float> {
|
||||
}
|
||||
FloatSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.vectorByteSize(), ms.byteSize())) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 4, ms.byteSize());
|
||||
((AbstractMask<Float>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 4);
|
||||
}
|
||||
maybeSwap(bo).intoMemorySegment0(ms, offset, m);
|
||||
}
|
||||
@ -3504,26 +3508,6 @@ public abstract class FloatVector extends AbstractVector<Float> {
|
||||
|
||||
// End of low-level memory operations.
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(int offset,
|
||||
FloatSpecies vsp,
|
||||
VectorMask<Float> m,
|
||||
int scale,
|
||||
int limit) {
|
||||
((AbstractMask<Float>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(long offset,
|
||||
FloatSpecies vsp,
|
||||
VectorMask<Float> m,
|
||||
int scale,
|
||||
long limit) {
|
||||
((AbstractMask<Float>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
@ForceInline
|
||||
private void conditionalStoreNYI(int offset,
|
||||
FloatSpecies vsp,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -3038,7 +3038,8 @@ public abstract class IntVector extends AbstractVector<Integer> {
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Integer>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -3248,7 +3249,8 @@ public abstract class IntVector extends AbstractVector<Integer> {
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_IN_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 4, ms.byteSize());
|
||||
((AbstractMask<Integer>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 4);
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_OUT_OF_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
@ -3316,7 +3318,8 @@ public abstract class IntVector extends AbstractVector<Integer> {
|
||||
} else {
|
||||
IntSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Integer>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoArray0(a, offset, m);
|
||||
}
|
||||
@ -3455,7 +3458,8 @@ public abstract class IntVector extends AbstractVector<Integer> {
|
||||
}
|
||||
IntSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.vectorByteSize(), ms.byteSize())) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 4, ms.byteSize());
|
||||
((AbstractMask<Integer>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 4);
|
||||
}
|
||||
maybeSwap(bo).intoMemorySegment0(ms, offset, m);
|
||||
}
|
||||
@ -3682,26 +3686,6 @@ public abstract class IntVector extends AbstractVector<Integer> {
|
||||
|
||||
// End of low-level memory operations.
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(int offset,
|
||||
IntSpecies vsp,
|
||||
VectorMask<Integer> m,
|
||||
int scale,
|
||||
int limit) {
|
||||
((AbstractMask<Integer>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(long offset,
|
||||
IntSpecies vsp,
|
||||
VectorMask<Integer> m,
|
||||
int scale,
|
||||
long limit) {
|
||||
((AbstractMask<Integer>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
@ForceInline
|
||||
private void conditionalStoreNYI(int offset,
|
||||
IntSpecies vsp,
|
||||
|
||||
@ -2899,7 +2899,8 @@ public abstract class LongVector extends AbstractVector<Long> {
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Long>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -3127,7 +3128,8 @@ public abstract class LongVector extends AbstractVector<Long> {
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_IN_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 8, ms.byteSize());
|
||||
((AbstractMask<Long>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 8);
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_OUT_OF_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
@ -3195,7 +3197,8 @@ public abstract class LongVector extends AbstractVector<Long> {
|
||||
} else {
|
||||
LongSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Long>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoArray0(a, offset, m);
|
||||
}
|
||||
@ -3353,7 +3356,8 @@ public abstract class LongVector extends AbstractVector<Long> {
|
||||
}
|
||||
LongSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.vectorByteSize(), ms.byteSize())) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 8, ms.byteSize());
|
||||
((AbstractMask<Long>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 8);
|
||||
}
|
||||
maybeSwap(bo).intoMemorySegment0(ms, offset, m);
|
||||
}
|
||||
@ -3617,26 +3621,6 @@ public abstract class LongVector extends AbstractVector<Long> {
|
||||
|
||||
// End of low-level memory operations.
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(int offset,
|
||||
LongSpecies vsp,
|
||||
VectorMask<Long> m,
|
||||
int scale,
|
||||
int limit) {
|
||||
((AbstractMask<Long>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(long offset,
|
||||
LongSpecies vsp,
|
||||
VectorMask<Long> m,
|
||||
int scale,
|
||||
long limit) {
|
||||
((AbstractMask<Long>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
@ForceInline
|
||||
private void conditionalStoreNYI(int offset,
|
||||
LongSpecies vsp,
|
||||
|
||||
@ -3061,7 +3061,8 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Short>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -3242,7 +3243,8 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
||||
return vsp.dummyVector().fromCharArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Short>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromCharArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -3430,7 +3432,8 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_IN_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 2, ms.byteSize());
|
||||
((AbstractMask<Short>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 2);
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_OUT_OF_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
@ -3498,7 +3501,8 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
||||
} else {
|
||||
ShortSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Short>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoArray0(a, offset, m);
|
||||
}
|
||||
@ -3647,7 +3651,8 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
||||
} else {
|
||||
ShortSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<Short>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoCharArray0(a, offset, m);
|
||||
}
|
||||
@ -3774,7 +3779,8 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
||||
}
|
||||
ShortSpecies vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.vectorByteSize(), ms.byteSize())) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 2, ms.byteSize());
|
||||
((AbstractMask<Short>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), 2);
|
||||
}
|
||||
maybeSwap(bo).intoMemorySegment0(ms, offset, m);
|
||||
}
|
||||
@ -4026,26 +4032,6 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
||||
|
||||
// End of low-level memory operations.
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(int offset,
|
||||
ShortSpecies vsp,
|
||||
VectorMask<Short> m,
|
||||
int scale,
|
||||
int limit) {
|
||||
((AbstractMask<Short>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(long offset,
|
||||
ShortSpecies vsp,
|
||||
VectorMask<Short> m,
|
||||
int scale,
|
||||
long limit) {
|
||||
((AbstractMask<Short>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
@ForceInline
|
||||
private void conditionalStoreNYI(int offset,
|
||||
ShortSpecies vsp,
|
||||
|
||||
@ -3666,7 +3666,8 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<$Boxtype$>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -3902,7 +3903,8 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
||||
return vsp.dummyVector().fromCharArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<$Boxtype$>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromCharArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -4061,7 +4063,8 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
||||
return vsp.dummyVector().fromBooleanArray0(a, offset, m, OFFSET_IN_RANGE);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<$Boxtype$>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
return vsp.dummyVector().fromBooleanArray0(a, offset, m, OFFSET_OUT_OF_RANGE);
|
||||
}
|
||||
|
||||
@ -4253,7 +4256,8 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_IN_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
checkMaskFromIndexSize(offset, vsp, m, $sizeInBytes$, ms.byteSize());
|
||||
((AbstractMask<$Boxtype$>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), $sizeInBytes$);
|
||||
return vsp.dummyVector().fromMemorySegment0(ms, offset, m, OFFSET_OUT_OF_RANGE).maybeSwap(bo);
|
||||
}
|
||||
|
||||
@ -4321,7 +4325,8 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
||||
} else {
|
||||
$Type$Species vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<$Boxtype$>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoArray0(a, offset, m);
|
||||
}
|
||||
@ -4541,7 +4546,8 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
||||
} else {
|
||||
$Type$Species vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<$Boxtype$>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoCharArray0(a, offset, m);
|
||||
}
|
||||
@ -4705,7 +4711,8 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
||||
} else {
|
||||
$Type$Species vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.length(), a.length)) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, 1, a.length);
|
||||
((AbstractMask<$Boxtype$>)m)
|
||||
.checkIndexByLane(offset, a.length, vsp.iota(), 1);
|
||||
}
|
||||
intoBooleanArray0(a, offset, m);
|
||||
}
|
||||
@ -4838,7 +4845,8 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
||||
}
|
||||
$Type$Species vsp = vspecies();
|
||||
if (!VectorIntrinsics.indexInRange(offset, vsp.vectorByteSize(), ms.byteSize())) {
|
||||
checkMaskFromIndexSize(offset, vsp, m, $sizeInBytes$, ms.byteSize());
|
||||
((AbstractMask<$Boxtype$>)m)
|
||||
.checkIndexByLane(offset, ms.byteSize(), vsp.iota(), $sizeInBytes$);
|
||||
}
|
||||
maybeSwap(bo).intoMemorySegment0(ms, offset, m);
|
||||
}
|
||||
@ -5263,26 +5271,6 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
||||
|
||||
// End of low-level memory operations.
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(int offset,
|
||||
$Type$Species vsp,
|
||||
VectorMask<$Boxtype$> m,
|
||||
int scale,
|
||||
int limit) {
|
||||
((AbstractMask<$Boxtype$>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
private static
|
||||
void checkMaskFromIndexSize(long offset,
|
||||
$Type$Species vsp,
|
||||
VectorMask<$Boxtype$> m,
|
||||
int scale,
|
||||
long limit) {
|
||||
((AbstractMask<$Boxtype$>)m)
|
||||
.checkIndexByLane(offset, limit, vsp.iota(), scale);
|
||||
}
|
||||
|
||||
@ForceInline
|
||||
private void conditionalStoreNYI(int offset,
|
||||
$Type$Species vsp,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user