harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gshiman...@apache.org
Subject svn commit: r508131 - in /harmony/enhanced/drlvm/trunk/vm: include/open/vm.h jitrino/src/vm/drl/DrlVMInterface.cpp vmcore/src/class_support/C_Interface.cpp
Date Thu, 15 Feb 2007 20:31:53 GMT
Author: gshimansky
Date: Thu Feb 15 12:31:53 2007
New Revision: 508131

URL: http://svn.apache.org/viewvc?view=rev&rev=508131
Log:
Applied HARMONY-3079 [dlrvm][classloader][opt] Opt does not handle exception raised by classloader
(assertion fails classloader.cpp:1521)

Tests passwd on Ubuntu6 x86, Windows XP x86 and SuSE9 x86_64


Modified:
    harmony/enhanced/drlvm/trunk/vm/include/open/vm.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/include/open/vm.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/open/vm.h?view=diff&rev=508131&r1=508130&r2=508131
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/open/vm.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/open/vm.h Thu Feb 15 12:31:53 2007
@@ -812,6 +812,15 @@
 VMEXPORT Class_Handle type_info_get_class(Type_Info_Handle tih);
 
 /**
+ * Get the class if <code>type_info_is_reference</code> or 
+ * <code>type_info_is_unboxed</code> returned <code>TRUE</code>.

+ * If the type info is a vector or a general array, return the
+ * class handle for the array type (not the element type).
+ * Does not leave any exception on stack.
+ */
+VMEXPORT Class_Handle type_info_get_class_no_exn(Type_Info_Handle tih);
+
+/**
  * Get the method signature if <code>type_info_is_method_pointer</code> 
  * returned <code>TRUE</code>.
  */

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.cpp?view=diff&rev=508131&r1=508130&r2=508131
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.cpp Thu Feb 15 12:31:53
2007
@@ -527,7 +527,7 @@
         // void return type
         type = typeManager.getVoidType();
     } else if (type_info_is_reference(typeHandle)) {
-        Class_Handle classHandle = type_info_get_class(typeHandle);
+        Class_Handle classHandle = type_info_get_class_no_exn(typeHandle);
         if (!classHandle)
             return NULL;
         type = typeManager.getObjectType(classHandle);

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp?view=diff&rev=508131&r1=508130&r2=508131
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp Thu Feb 15 12:31:53
2007
@@ -2031,6 +2031,12 @@
     return c;
 } //type_info_get_class
 
+Class_Handle type_info_get_class_no_exn(Type_Info_Handle tih)
+{
+    Class_Handle ch = type_info_get_class(tih);
+    exn_clear();
+    return ch;
+} // type_info_get_class_no_exn
 
 Method_Signature_Handle type_info_get_method_sig(Type_Info_Handle UNREF tih)
 {



Mime
View raw message