Imported Upstream version 3.10.0

Former-commit-id: 172c8e3c300b39d5785c7a3e8dfb08ebdbc1a99b
This commit is contained in:
Jo Shields
2014-10-04 11:27:48 +01:00
parent fe777c5c82
commit 8b9b85e7f5
970 changed files with 20242 additions and 31308 deletions

View File

@ -230,18 +230,23 @@ namespace System.Linq.Parallel
var implementerToken = options.ImplementerToken;
try {
// Avoid cache thrashing of locals array
var local = locals [index];
if (seedFunc == null) {
if (!enumerator.MoveNext ())
return;
locals[index] = (U)(object)enumerator.Current;
local = (U)(object)enumerator.Current;
}
while (enumerator.MoveNext ()) {
if (implementerToken.IsCancellationRequested)
break;
token.ThrowIfCancellationRequested ();
locals[index] = localCall (locals[index], enumerator.Current);
local = localCall (local, enumerator.Current);
}
locals [index] = local;
} finally {
enumerator.Dispose ();
}