# HG changeset patch # User Tom Rodriguez # Date 1383630323 28800 # Node ID e27f3169460e7729b5b8cc426449355832337b65 # Parent bee224687003cc562efad899f6a495d2cbf174a5 notify JVMTI about exception throws from runtime diff -r bee224687003 -r e27f3169460e src/share/vm/graal/graalRuntime.cpp --- a/src/share/vm/graal/graalRuntime.cpp Mon Nov 04 21:25:19 2013 +0100 +++ b/src/share/vm/graal/graalRuntime.cpp Mon Nov 04 21:45:23 2013 -0800 @@ -299,13 +299,17 @@ } JRT_ENTRY(void, GraalRuntime::create_null_exception(JavaThread* thread)) - thread->set_vm_result(Exceptions::new_exception(thread, vmSymbols::java_lang_NullPointerException(), NULL)()); + SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_NullPointerException()); + thread->set_vm_result(PENDING_EXCEPTION); + CLEAR_PENDING_EXCEPTION; JRT_END JRT_ENTRY(void, GraalRuntime::create_out_of_bounds_exception(JavaThread* thread, jint index)) char message[jintAsStringSize]; sprintf(message, "%d", index); - thread->set_vm_result(Exceptions::new_exception(thread, vmSymbols::java_lang_ArrayIndexOutOfBoundsException(), message)()); + SharedRuntime::throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_ArrayIndexOutOfBoundsException(), message); + thread->set_vm_result(PENDING_EXCEPTION); + CLEAR_PENDING_EXCEPTION; JRT_END JRT_ENTRY_NO_ASYNC(void, GraalRuntime::monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock))