From d768c1abdb41ad18562c5d7e2d7a9fa6ba3c8140 Mon Sep 17 00:00:00 2001 From: Jb Evain Date: Wed, 14 May 2008 14:22:09 +0000 Subject: [PATCH 1/1] 2008-05-14 Jb Evain * EmitContext.cs: only generate a new lambda name if we're in a debug context. svn path=/trunk/mcs/; revision=103188 --- .../System.Linq.Expressions/ChangeLog | 5 +++++ .../System.Linq.Expressions/EmitContext.cs | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/mcs/class/System.Core/System.Linq.Expressions/ChangeLog b/mcs/class/System.Core/System.Linq.Expressions/ChangeLog index 407812761ec..27275f180b9 100644 --- a/mcs/class/System.Core/System.Linq.Expressions/ChangeLog +++ b/mcs/class/System.Core/System.Linq.Expressions/ChangeLog @@ -1,3 +1,8 @@ +2008-05-14 Jb Evain + + * EmitContext.cs: only generate a new lambda name if we're in + a debug context. + 2008-05-14 Jb Evain * LambdaExpression.cs, EmitContext.cs: When encountering a lambda diff --git a/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs b/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs index 5c259473ea6..7a09735a7bb 100644 --- a/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs +++ b/mcs/class/System.Core/System.Linq.Expressions/EmitContext.cs @@ -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 } -- 2.25.1