From 7a25422b7a0731f9db979f601b7cf753002e9368 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Mon, 17 Sep 2018 16:21:25 -0700 Subject: * Revert the changes to TryInsert() introduced by https://github.com/dotnet/coreclr/pull/17096 completely, which only showed modest size improvement * Removing the _version increment from Clear() entirely to bring it in line with the behavior in Remove() and to keep size gains [tfs-changeset: 1714543] --- .../shared/System/Collections/Generic/Dictionary.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/System.Private.CoreLib/shared/System/Collections/Generic/Dictionary.cs b/src/System.Private.CoreLib/shared/System/Collections/Generic/Dictionary.cs index bc3040771..47105651d 100644 --- a/src/System.Private.CoreLib/shared/System/Collections/Generic/Dictionary.cs +++ b/src/System.Private.CoreLib/shared/System/Collections/Generic/Dictionary.cs @@ -267,7 +267,6 @@ namespace System.Collections.Generic _freeCount = 0; Array.Clear(_entries, 0, count); } - _version++; } public bool ContainsKey(TKey key) @@ -476,7 +475,6 @@ namespace System.Collections.Generic ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key); } - _version++; if (_buckets == null) { Initialize(0); @@ -511,6 +509,7 @@ namespace System.Collections.Generic if (behavior == InsertionBehavior.OverwriteExisting) { entries[i].value = value; + _version++; return true; } @@ -552,6 +551,7 @@ namespace System.Collections.Generic if (behavior == InsertionBehavior.OverwriteExisting) { entries[i].value = value; + _version++; return true; } @@ -590,6 +590,7 @@ namespace System.Collections.Generic if (behavior == InsertionBehavior.OverwriteExisting) { entries[i].value = value; + _version++; return true; } @@ -647,6 +648,7 @@ namespace System.Collections.Generic entry.value = value; // Value in _buckets is 1-based bucket = index + 1; + _version++; // Value types never rehash if (default(TKey) == null && collisionCount > HashHelpers.HashCollisionThreshold && comparer is NonRandomizedStringEqualityComparer) -- cgit v1.2.3