From 14f8252d5e0900051ad3967ce99eec2ce55fca91 Mon Sep 17 00:00:00 2001 From: Stefan Karlsson Date: Fri, 19 Dec 2025 11:13:09 +0100 Subject: [PATCH] 8374113: Taughtological if check in Reflection::array_set --- src/hotspot/share/runtime/reflection.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/hotspot/share/runtime/reflection.cpp b/src/hotspot/share/runtime/reflection.cpp index d6c10c5c70c08..1797471d84bf4 100644 --- a/src/hotspot/share/runtime/reflection.cpp +++ b/src/hotspot/share/runtime/reflection.cpp @@ -270,17 +270,16 @@ void Reflection::array_set(jvalue* value, arrayOop a, int index, BasicType value if (!a->is_within_bounds(index)) { THROW(vmSymbols::java_lang_ArrayIndexOutOfBoundsException()); } - if (a->is_objArray()) { - if (value_type == T_OBJECT) { - oop obj = cast_to_oop(value->l); - if (obj != nullptr) { - Klass* element_klass = ObjArrayKlass::cast(a->klass())->element_klass(); - if (!obj->is_a(element_klass)) { - THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "array element type mismatch"); - } + if (value_type == T_OBJECT) { + assert(a->is_objArray(), "just checking"); + oop obj = cast_to_oop(value->l); + if (obj != nullptr) { + Klass* element_klass = ObjArrayKlass::cast(a->klass())->element_klass(); + if (!obj->is_a(element_klass)) { + THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "array element type mismatch"); } - objArrayOop(a)->obj_at_put(index, obj); } + objArrayOop(a)->obj_at_put(index, obj); } else { assert(a->is_typeArray(), "just checking"); BasicType array_type = TypeArrayKlass::cast(a->klass())->element_type();