Mercurial > hg > graal-jvmci-8
diff src/share/vm/jvmci/jvmciRuntime.hpp @ 23334:e0a15983ab51
Create exception throwing routines for exceptions with complex messages.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Tue, 22 Mar 2016 15:55:59 +0100 |
parents | bc5552dc384b |
children | 62804a7d3877 |
line wrap: on
line diff
--- a/src/share/vm/jvmci/jvmciRuntime.hpp Wed Mar 23 10:42:47 2016 +0100 +++ b/src/share/vm/jvmci/jvmciRuntime.hpp Tue Mar 22 15:55:59 2016 +0100 @@ -203,7 +203,6 @@ static address exception_handler_for_pc(JavaThread* thread); static void monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock); static void monitorexit (JavaThread* thread, oopDesc* obj, BasicLock* lock); - static void throw_and_post_jvmti_exception(JavaThread* thread, Symbol* name, const char* message); static void vm_error(JavaThread* thread, jlong where, jlong format, jlong value); static oopDesc* load_and_clear_exception(JavaThread* thread); static void log_printf(JavaThread* thread, oopDesc* format, jlong v1, jlong v2, jlong v3); @@ -218,6 +217,12 @@ static jboolean validate_object(JavaThread* thread, oopDesc* parent, oopDesc* child); static void new_store_pre_barrier(JavaThread* thread); + // used to throw exceptions from compiled JVMCI code + static void throw_and_post_jvmti_exception(JavaThread* thread, Symbol* exception, const char* message); + // helper methods to throw exception with complex messages + static void throw_klass_external_name_exception(JavaThread* thread, Symbol* exception, Klass* klass); + static void throw_class_cast_exception(JavaThread* thread, Symbol* exception, Klass* objKlass, Klass* targetKlass, const char* desc); + // Test only function static int test_deoptimize_call_int(JavaThread* thread, int value); };