7055355: JSR 292: crash while throwing WrongMethodTypeException

Reviewed-by: jrose, twisti, bdelsart
This commit is contained in:
Tom Rodriguez 2011-06-16 13:46:55 -07:00
parent ca8939dd80
commit 5d2e4e676b
18 changed files with 77 additions and 135 deletions

View file

@ -763,6 +763,13 @@ JRT_ENTRY(void, SharedRuntime::throw_StackOverflowError(JavaThread* thread))
throw_and_post_jvmti_exception(thread, exception);
JRT_END
JRT_ENTRY(void, SharedRuntime::throw_WrongMethodTypeException(JavaThread* thread, oopDesc* required, oopDesc* actual))
assert(thread == JavaThread::current() && required->is_oop() && actual->is_oop(), "bad args");
ResourceMark rm;
char* message = SharedRuntime::generate_wrong_method_type_message(thread, required, actual);
throw_and_post_jvmti_exception(thread, vmSymbols::java_lang_invoke_WrongMethodTypeException(), message);
JRT_END
address SharedRuntime::continuation_for_implicit_exception(JavaThread* thread,
address pc,
SharedRuntime::ImplicitExceptionKind exception_kind)