< prev index next >
src/hotspot/share/runtime/reflection.cpp
Print this page
rev 50282 : 8203881: Print erroneous size in NegativeArraySizeException
@@ -335,11 +335,11 @@
arrayOop Reflection::reflect_new_array(oop element_mirror, jint length, TRAPS) {
if (element_mirror == NULL) {
THROW_0(vmSymbols::java_lang_NullPointerException());
}
if (length < 0) {
- THROW_0(vmSymbols::java_lang_NegativeArraySizeException());
+ THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", length));
}
if (java_lang_Class::is_primitive(element_mirror)) {
Klass* tak = basic_type_mirror_to_arrayklass(element_mirror, CHECK_NULL);
return TypeArrayKlass::cast(tak)->allocate(length, THREAD);
} else {
@@ -367,11 +367,11 @@
jint dimensions[MAX_DIM]; // C array copy of intArrayOop
for (int i = 0; i < len; i++) {
int d = dim_array->int_at(i);
if (d < 0) {
- THROW_0(vmSymbols::java_lang_NegativeArraySizeException());
+ THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", d));
}
dimensions[i] = d;
}
Klass* klass;
< prev index next >