< prev index next >
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractSpecies.java
Print this page
rev 55891 : 8222897: [vector] Renaming of shift, rotate operations. Few other api changes.
Summary: Renaming of shift, rotate operations. Few other api changes.
Reviewed-by: jrose, briangoetz
rev 55894 : 8222897: [vector] Renaming of shift, rotate operations. Few other api changes.
Summary: Renaming of shift, rotate operations. Few other api changes.
Reviewed-by: jrose, briangoetz
*** 44,78 ****
@Stable
protected final Class<E> elementType;
@Stable
protected final int elementSize;
@Stable
! protected final Class<?> boxType;
@Stable
protected final Class<?> maskType;
@Stable
protected final VectorShape indexShape;
AbstractSpecies(VectorShape shape, Class<E> elementType, int elementSize,
! Class<?> boxType, Class<?> maskType, Function<boolean[], VectorMask<E>> maskFactory,
Function<IntUnaryOperator, VectorShuffle<E>> shuffleFromOpFactory,
fShuffleFromArray<E> shuffleFromArrayFactory) {
this.maskFactory = maskFactory;
this.shuffleFromArrayFactory = shuffleFromArrayFactory;
this.shuffleFromOpFactory = shuffleFromOpFactory;
this.shape = shape;
this.elementType = elementType;
this.elementSize = elementSize;
! this.boxType = boxType;
this.maskType = maskType;
! if (boxType == Long64Vector.class || boxType == Double64Vector.class) {
indexShape = VectorShape.S_64_BIT;
! }
! else {
int bitSize = Vector.bitSizeForVectorLength(int.class, shape.bitSize() / elementSize);
indexShape = VectorShape.forBitSize(bitSize);
}
}
--- 44,77 ----
@Stable
protected final Class<E> elementType;
@Stable
protected final int elementSize;
@Stable
! protected final Class<?> vectorType;
@Stable
protected final Class<?> maskType;
@Stable
protected final VectorShape indexShape;
AbstractSpecies(VectorShape shape, Class<E> elementType, int elementSize,
! Class<?> vectorType, Class<?> maskType, Function<boolean[], VectorMask<E>> maskFactory,
Function<IntUnaryOperator, VectorShuffle<E>> shuffleFromOpFactory,
fShuffleFromArray<E> shuffleFromArrayFactory) {
this.maskFactory = maskFactory;
this.shuffleFromArrayFactory = shuffleFromArrayFactory;
this.shuffleFromOpFactory = shuffleFromOpFactory;
this.shape = shape;
this.elementType = elementType;
this.elementSize = elementSize;
! this.vectorType = vectorType;
this.maskType = maskType;
! if (vectorType == Long64Vector.class || vectorType == Double64Vector.class) {
indexShape = VectorShape.S_64_BIT;
! } else {
int bitSize = Vector.bitSizeForVectorLength(int.class, shape.bitSize() / elementSize);
indexShape = VectorShape.forBitSize(bitSize);
}
}
*** 94,105 ****
return elementType;
}
@Override
@ForceInline
! public Class<?> boxType() {
! return boxType;
}
@Override
@ForceInline
public Class<?> maskType() {
--- 93,104 ----
return elementType;
}
@Override
@ForceInline
! public Class<?> vectorType() {
! return vectorType;
}
@Override
@ForceInline
public Class<?> maskType() {
< prev index next >