2008-05-14 Jb Evain <jbevain@novell.com>
authorJb Evain <jbevain@gmail.com>
Wed, 14 May 2008 14:22:09 +0000 (14:22 -0000)
committerJb Evain <jbevain@gmail.com>
Wed, 14 May 2008 14:22:09 +0000 (14:22 -0000)
* EmitContext.cs: only generate a new lambda name if we're in
a debug context.

svn path=/trunk/mcs/; revision=103188

mcs/class/System.Core/System.Linq.Expressions/ChangeLog
mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs

index 407812761ecdd2b3698d49e26bddbda4be18be5e..27275f180b944a6fb23b9e2377ae186bd2f9c1f4 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-14  Jb Evain  <jbevain@novell.com>
+
+       * EmitContext.cs: only generate a new lambda name if we're in
+       a debug context.
+
 2008-05-14  Jb Evain  <jbevain@novell.com>
 
        * LambdaExpression.cs, EmitContext.cs: When encountering a lambda
index 5c259473ea614cb31c9c736c2b4e6e133f9e2bec..7a09735a7bb3bfba29debcb9344cd650ece17b7a 100644 (file)
@@ -225,9 +225,6 @@ namespace System.Linq.Expressions {
 
                DynamicMethod method;
 
-               static object mlock = new object ();
-               static int method_count;
-
                public DynamicMethod Method {
                        get { return method; }
                }
@@ -248,17 +245,18 @@ namespace System.Linq.Expressions {
                        return method.CreateDelegate (owner.Type, new ExecutionScope (globals.ToArray ()));
                }
 
-               static string GenerateName ()
+               protected virtual string GenerateName ()
                {
-                       lock (mlock) {
-                               return "lambda_method-" + (method_count++);
-                       }
+                       return "lambda_method";
                }
        }
 
 #if !NET_2_1
        class DebugEmitContext : DynamicEmitContext {
 
+               static object mlock = new object ();
+               static int method_count;
+
                public DebugEmitContext (LambdaExpression lambda)
                        : base (lambda)
                {
@@ -278,6 +276,13 @@ namespace System.Linq.Expressions {
                        type.CreateType ();
                        assembly.Save (file_name);
                }
+
+               protected override string GenerateName ()
+               {
+                       lock (mlock) {
+                               return "lambda_method-" + (method_count++);
+                       }
+               }
        }
 #endif
 }