[Mono-bugs] [Bug 74992][Cri] Changed - ArumentException Bug
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Thu May 19 10:39:33 EDT 2005
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by vargaz at gmail.com.
http://bugzilla.ximian.com/show_bug.cgi?id=74992
--- shadow/74992 2005-05-19 08:41:53.000000000 -0400
+++ shadow/74992.tmp.5043 2005-05-19 10:39:33.000000000 -0400
@@ -69,6 +69,55 @@
------- Additional Comments From Yury at serdyuk.botik.ru 2005-05-19 08:41 -------
Created an attachment (id=15163)
Source module
+
+------- Additional Comments From vargaz at gmail.com 2005-05-19 10:39 -------
+Here is a reduced testcase:
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+using System;
+
+public class Tests {
+
+ public static int Main( String[] args ) {
+ return test_0_arg_only_written ("md.in", null);
+ }
+
+ public static int test_0_arg_only_written (string file_name, int[]
+ncells ) {
+ if (file_name == null)
+ return 1;
+
+ ncells = foo ();
+ bar (ncells [0]);
+
+ return 0;
+ }
+
+ public static int[] foo () {
+ return new int [3];
+ }
+
+ public static void bar (int i) {
+ }
+}
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
+It returns 1 when run, while it returns 0 when run with -O=-linears.
+
+The problem here is that the liveness range of the two arguments are
+disjoint, so both of them are allocated the same register (edi). In
+the prolog, they are loaded from the stack into the same register:
+ 5: 8b 7d 08 mov 0x8(%ebp),%edi
+ 8: 8b 7d 0c mov 0xc(%ebp),%edi
+
+Here, the second load overwrites the first one.
+
+
+
+
+
+
+
More information about the mono-bugs
mailing list