changeset 3705:6917cd12e8f8

CiGenericCallback handling: removed (buggy) native exception handling code, changed to callbackInternal
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 01 Dec 2011 15:04:28 +0100
parents 342a54994e05
children a59727158259
files src/cpu/x86/vm/c1_Runtime1_x86.cpp src/share/vm/classfile/vmSymbols.hpp
diffstat 2 files changed, 2 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- 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
 
--- 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 */                                                             \