[Mono-bugs] [Bug 76592][Nor] Changed - anonymous methods draw BPT

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Nov 4 10:56:10 EST 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 miguel at ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=76592

--- shadow/76592	2005-10-29 16:08:15.000000000 -0400
+++ shadow/76592.tmp.1000	2005-11-04 10:56:10.000000000 -0500
@@ -1,17 +1,17 @@
 Bug#: 76592
 Product: Mono: Compilers
 Version: 1.1
-OS: 
+OS: unknown
 OS Details: Panther
 Status: NEW   
 Resolution: 
-Severity: 
-Priority: Wishlist
+Severity: Unknown
+Priority: Normal
 Component: C#
-AssignedTo: rharinath at novell.com                            
+AssignedTo: miguel at ximian.com                            
 ReportedBy: ats at cs.rit.edu               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
 URL: 
 Cc: 
 Summary: anonymous methods draw BPT
@@ -32,6 +32,40 @@
 successful execution
 
 How often does this happen? 
 always
 
 Additional Information:
+
+------- Additional Comments From miguel at ximian.com  2005-11-04 10:56 -------
+We are generating invalid code:
+
+** ERROR **: Invalid IL code at IL000f in
+<>AnonHelp<0>:<#AnonymousMethod>0 (int): IL_000f: call      0x0a000002
+    .method assembly hidebysig
+           instance default void '<#AnonymousMethod>0' (int32 a)  cil
+managed
+    {
+        // Method begins at RVA 0x2190
+        // Code size 21 (0x15)
+        .maxstack 8
+        IL_0000:  ldarg.0
+        IL_0001:  ldarg.0
+        IL_0002:  ldfld  int32 Lambda/'<>AnonHelp<0>'::'<p:x>'
+        IL_0007:  ldarg.1
+        IL_0008:  add
+        IL_0009:  dup
+        IL_000a:  stfld  int32 Lambda/'<>AnonHelp<0>'::'<p:x>'
+        IL_000f:  call void class
+[mscorlib]System.Console::WriteLine(int32)
+        IL_0014:  ret
+    } // end of method <>AnonHelp<0>::instance default void
+'<#AnonymousMethod>0' (int32 a)
+
+From this code:
+      delegate (int a) { Console.WriteLine(x += a); },
+
+Its missing a load of the resulting value.  Notice that without
+capturing the load is present.
+
+
+


More information about the mono-bugs mailing list