diff src/share/vm/c1/c1_Runtime1.cpp @ 2168:e4fee0bdaa85

7008809: should report the class in ArrayStoreExceptions from compiled code Reviewed-by: iveresov, twisti
author never
date Mon, 24 Jan 2011 13:34:18 -0800
parents 8012aa3ccede
children d25d4ca69222 1b4e6a5d98e0
line wrap: on
line diff
--- a/src/share/vm/c1/c1_Runtime1.cpp	Fri Jan 21 13:03:13 2011 -0800
+++ b/src/share/vm/c1/c1_Runtime1.cpp	Mon Jan 24 13:34:18 2011 -0800
@@ -339,8 +339,10 @@
 JRT_END
 
 
-JRT_ENTRY(void, Runtime1::throw_array_store_exception(JavaThread* thread))
-  THROW(vmSymbolHandles::java_lang_ArrayStoreException());
+JRT_ENTRY(void, Runtime1::throw_array_store_exception(JavaThread* thread, oopDesc* obj))
+  ResourceMark rm(thread);
+  const char* klass_name = Klass::cast(obj->klass())->external_name();
+  SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_ArrayStoreException(), klass_name);
 JRT_END