< prev index next >

src/hotspot/share/oops/instanceKlass.cpp

Print this page
rev 50282 : 8203881: Print errornous size in NegativeArraySizeException

@@ -973,11 +973,16 @@
   }
   return false;
 }
 
 objArrayOop InstanceKlass::allocate_objArray(int n, int length, TRAPS) {
-  if (length < 0) THROW_0(vmSymbols::java_lang_NegativeArraySizeException());
+  if (length < 0)  {
+    ResourceMark rm(THREAD);
+    stringStream ss;
+    ss.print("%d", length);
+    THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), ss.as_string());
+  }
   if (length > arrayOopDesc::max_array_length(T_OBJECT)) {
     report_java_out_of_memory("Requested array size exceeds VM limit");
     JvmtiExport::post_array_size_exhausted();
     THROW_OOP_0(Universe::out_of_memory_error_array_size());
   }
< prev index next >