From c8e94abfc36f751b9bbf4cdbd72d716d5e99ac88 Mon Sep 17 00:00:00 2001 From: Quan Anh Mai Date: Wed, 18 Dec 2024 18:32:05 +0000 Subject: [PATCH] 8346532: XXXVector::rearrangeTemplate misses null check Reviewed-by: psandoz --- .../share/classes/jdk/incubator/vector/ByteVector.java | 3 ++- .../share/classes/jdk/incubator/vector/DoubleVector.java | 3 ++- .../share/classes/jdk/incubator/vector/FloatVector.java | 3 ++- .../share/classes/jdk/incubator/vector/IntVector.java | 3 ++- .../share/classes/jdk/incubator/vector/LongVector.java | 3 ++- .../share/classes/jdk/incubator/vector/ShortVector.java | 3 ++- .../share/classes/jdk/incubator/vector/X-Vector.java.template | 3 ++- 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java index 7a2dbf247f7..bbf9d148e66 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java @@ -2427,6 +2427,7 @@ public abstract class ByteVector extends AbstractVector { final > ByteVector rearrangeTemplate(Class shuffletype, S shuffle) { + Objects.requireNonNull(shuffle); return VectorSupport.rearrangeOp( getClass(), shuffletype, null, byte.class, length(), this, shuffle, null, @@ -2452,7 +2453,7 @@ public abstract class ByteVector extends AbstractVector { Class masktype, S shuffle, M m) { - + Objects.requireNonNull(shuffle); m.check(masktype, this); return VectorSupport.rearrangeOp( getClass(), shuffletype, masktype, byte.class, length(), diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java index 8065bf915a5..a217bec2dc7 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java @@ -2257,6 +2257,7 @@ public abstract class DoubleVector extends AbstractVector { final > DoubleVector rearrangeTemplate(Class shuffletype, S shuffle) { + Objects.requireNonNull(shuffle); return VectorSupport.rearrangeOp( getClass(), shuffletype, null, double.class, length(), this, shuffle, null, @@ -2282,7 +2283,7 @@ public abstract class DoubleVector extends AbstractVector { Class masktype, S shuffle, M m) { - + Objects.requireNonNull(shuffle); m.check(masktype, this); return VectorSupport.rearrangeOp( getClass(), shuffletype, masktype, double.class, length(), diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java index ab056d1c397..1b2ca02e247 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java @@ -2269,6 +2269,7 @@ public abstract class FloatVector extends AbstractVector { final > FloatVector rearrangeTemplate(Class shuffletype, S shuffle) { + Objects.requireNonNull(shuffle); return VectorSupport.rearrangeOp( getClass(), shuffletype, null, float.class, length(), this, shuffle, null, @@ -2294,7 +2295,7 @@ public abstract class FloatVector extends AbstractVector { Class masktype, S shuffle, M m) { - + Objects.requireNonNull(shuffle); m.check(masktype, this); return VectorSupport.rearrangeOp( getClass(), shuffletype, masktype, float.class, length(), diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java index 01ac8d1c414..eee30600bac 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java @@ -2412,6 +2412,7 @@ public abstract class IntVector extends AbstractVector { final > IntVector rearrangeTemplate(Class shuffletype, S shuffle) { + Objects.requireNonNull(shuffle); return VectorSupport.rearrangeOp( getClass(), shuffletype, null, int.class, length(), this, shuffle, null, @@ -2437,7 +2438,7 @@ public abstract class IntVector extends AbstractVector { Class masktype, S shuffle, M m) { - + Objects.requireNonNull(shuffle); m.check(masktype, this); return VectorSupport.rearrangeOp( getClass(), shuffletype, masktype, int.class, length(), diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java index fcc104d3ae6..637e9c02874 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java @@ -2278,6 +2278,7 @@ public abstract class LongVector extends AbstractVector { final > LongVector rearrangeTemplate(Class shuffletype, S shuffle) { + Objects.requireNonNull(shuffle); return VectorSupport.rearrangeOp( getClass(), shuffletype, null, long.class, length(), this, shuffle, null, @@ -2303,7 +2304,7 @@ public abstract class LongVector extends AbstractVector { Class masktype, S shuffle, M m) { - + Objects.requireNonNull(shuffle); m.check(masktype, this); return VectorSupport.rearrangeOp( getClass(), shuffletype, masktype, long.class, length(), diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java index cac04060a19..cf9031d613c 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java @@ -2428,6 +2428,7 @@ public abstract class ShortVector extends AbstractVector { final > ShortVector rearrangeTemplate(Class shuffletype, S shuffle) { + Objects.requireNonNull(shuffle); return VectorSupport.rearrangeOp( getClass(), shuffletype, null, short.class, length(), this, shuffle, null, @@ -2453,7 +2454,7 @@ public abstract class ShortVector extends AbstractVector { Class masktype, S shuffle, M m) { - + Objects.requireNonNull(shuffle); m.check(masktype, this); return VectorSupport.rearrangeOp( getClass(), shuffletype, masktype, short.class, length(), diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template index 169f116afe9..c7598ac40a3 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template @@ -2824,6 +2824,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { final > $abstractvectortype$ rearrangeTemplate(Class shuffletype, S shuffle) { + Objects.requireNonNull(shuffle); return VectorSupport.rearrangeOp( getClass(), shuffletype, null, $type$.class, length(), this, shuffle, null, @@ -2849,7 +2850,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { Class masktype, S shuffle, M m) { - + Objects.requireNonNull(shuffle); m.check(masktype, this); return VectorSupport.rearrangeOp( getClass(), shuffletype, masktype, $type$.class, length(),