< 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 >