comparison src/share/vm/runtime/sharedRuntime.cpp @ 3451:38fa55e5e792

7055355: JSR 292: crash while throwing WrongMethodTypeException Reviewed-by: jrose, twisti, bdelsart
author never
date Thu, 16 Jun 2011 13:46:55 -0700
parents f7d55ea6ee56
children be4ca325525a 0f34fdee809e
comparison
equal deleted inserted replaced
3450:3275a6560cf7 3451:38fa55e5e792
759 Handle exception (thread, exception_oop); 759 Handle exception (thread, exception_oop);
760 if (StackTraceInThrowable) { 760 if (StackTraceInThrowable) {
761 java_lang_Throwable::fill_in_stack_trace(exception); 761 java_lang_Throwable::fill_in_stack_trace(exception);
762 } 762 }
763 throw_and_post_jvmti_exception(thread, exception); 763 throw_and_post_jvmti_exception(thread, exception);
764 JRT_END
765
766 JRT_ENTRY(void, SharedRuntime::throw_WrongMethodTypeException(JavaThread* thread, oopDesc* required, oopDesc* actual))
767 assert(thread == JavaThread::current() && required->is_oop() && actual->is_oop(), "bad args");
768 ResourceMark rm;
769 char* message = SharedRuntime::generate_wrong_method_type_message(thread, required, actual);
770 throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_invoke_WrongMethodTypeException(), message);
764 JRT_END 771 JRT_END
765 772
766 address SharedRuntime::continuation_for_implicit_exception(JavaThread* thread, 773 address SharedRuntime::continuation_for_implicit_exception(JavaThread* thread,
767 address pc, 774 address pc,
768 SharedRuntime::ImplicitExceptionKind exception_kind) 775 SharedRuntime::ImplicitExceptionKind exception_kind)