Author: lupus
Date: 2005-03-29 04:18:15 -0500 (Tue, 29 Mar 2005)
New Revision: 42326

Modified:
   trunk/mono/mono/mini/ChangeLog
   trunk/mono/mono/mini/arrays.cs
   trunk/mono/mono/mini/inssel.brg
Log:


Tue Mar 29 11:43:01 CEST 2005 Paolo Molaro <[EMAIL PROTECTED]>

        * inssel.brg, arrays.cs: fix long stabding 64 bit issue in access to
        klass->interface_offsets (will likely fix bug#74073).



Modified: trunk/mono/mono/mini/ChangeLog
===================================================================
--- trunk/mono/mono/mini/ChangeLog      2005-03-29 09:12:25 UTC (rev 42325)
+++ trunk/mono/mono/mini/ChangeLog      2005-03-29 09:18:15 UTC (rev 42326)
@@ -1,3 +1,9 @@
+
+Tue Mar 29 11:43:01 CEST 2005 Paolo Molaro <[EMAIL PROTECTED]>
+
+       * inssel.brg, arrays.cs: fix long stabding 64 bit issue in access to
+       klass->interface_offsets (will likely fix bug#74073).
+
 2005-03-29  Zoltan Varga  <[EMAIL PROTECTED]>
 
        * mini-amd64.c (mono_arch_is_int_overflow): Fix rex handling.

Modified: trunk/mono/mono/mini/arrays.cs
===================================================================
--- trunk/mono/mono/mini/arrays.cs      2005-03-29 09:12:25 UTC (rev 42325)
+++ trunk/mono/mono/mini/arrays.cs      2005-03-29 09:18:15 UTC (rev 42326)
@@ -196,5 +196,15 @@
                }
                return 0;
        }
+
+       public static int test_0_interface_array_cast () {
+               try {
+                       object [] a = new ICloneable [2];
+                       ICloneable [] b = (ICloneable [])a;
+               } catch {
+                       return 1;
+               }
+               return 0;
+       }
 }
 

Modified: trunk/mono/mono/mini/inssel.brg
===================================================================
--- trunk/mono/mono/mini/inssel.brg     2005-03-29 09:12:25 UTC (rev 42325)
+++ trunk/mono/mono/mini/inssel.brg     2005-03-29 09:18:15 UTC (rev 42326)
@@ -1639,7 +1639,7 @@
 {
        int ioffset_reg = mono_regstate_next_int (s->rs);
 
-       MONO_EMIT_NEW_LOAD_MEMBASE (s, ioffset_reg, klass_reg, G_STRUCT_OFFSET 
(MonoClass, interface_offsets));
+       MONO_EMIT_NEW_LOAD_MEMBASE_OP (s, OP_LOADI4_MEMBASE, ioffset_reg, 
klass_reg, G_STRUCT_OFFSET (MonoClass, interface_offsets));
        mini_emit_load_intf_reg (s, intf_reg, ioffset_reg, klass);
 }
 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to