# HG changeset patch # User Lukas Stadler # Date 1322748268 -3600 # Node ID 6917cd12e8f8acc840009f8fef9002a21d754d89 # Parent 342a54994e05cf151be4f1b7b849436ce7d41e81 CiGenericCallback handling: removed (buggy) native exception handling code, changed to callbackInternal diff -r 342a54994e05 -r 6917cd12e8f8 src/cpu/x86/vm/c1_Runtime1_x86.cpp --- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp Tue Nov 29 16:04:18 2011 +0100 +++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp Thu Dec 01 15:04:28 2011 +0100 @@ -1072,22 +1072,8 @@ JavaCallArguments args; args.push_oop(Handle(callback)); args.push_oop(Handle(argument)); - JavaCalls::call_interface(&result, klass, vmSymbols::callback_name(), vmSymbols::callback_signature(), &args, thread); - - if (thread->has_pending_exception()) { - Handle exception = PENDING_EXCEPTION; - CLEAR_PENDING_EXCEPTION; + JavaCalls::call_virtual(&result, klass, vmSymbols::callbackInternal_name(), vmSymbols::callback_signature(), &args, thread); - assert(exception->is_a(SystemDictionary::Throwable_klass()), "Throwable instance expected"); - JavaValue result(T_VOID); - JavaCalls::call_virtual(&result, - exception, - KlassHandle(THREAD, - SystemDictionary::Throwable_klass()), - vmSymbols::printStackTrace_name(), - vmSymbols::void_method_signature(), - THREAD); - } thread->set_vm_result((oop) result.get_jobject()); JRT_END diff -r 342a54994e05 -r 6917cd12e8f8 src/share/vm/classfile/vmSymbols.hpp --- a/src/share/vm/classfile/vmSymbols.hpp Tue Nov 29 16:04:18 2011 +0100 +++ b/src/share/vm/classfile/vmSymbols.hpp Thu Dec 01 15:04:28 2011 +0100 @@ -339,7 +339,7 @@ template(initialize_name, "initialize") \ template(getInstance_signature, "()Lcom/oracle/max/graal/hotspot/Compiler;") \ template(forObject_name, "forObject") \ - template(callback_name, "callback") \ + template(callbackInternal_name, "callbackInternal") \ template(callback_signature, "(Ljava/lang/Object;)Ljava/lang/Object;") \ \ /* common method and field names */ \