Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
76478fc
Fix project metadata in test (#24119)
Apr 19, 2019
533564b
Exclude failing tests on all platforms/architectures (#24121)
Apr 19, 2019
4029007
Large Pages on Linux & macOS (#24098)
Apr 19, 2019
6a7bf9c
[master] Update dependencies from dotnet/corefx (#24058)
dotnet-maestro[bot] Apr 19, 2019
3bd49ad
Fix Arm32 Ubuntu CoreFX script.
Apr 19, 2019
2617868
Merge pull request #24127 from sandreenko/fixArmUbuntuCoreFXTesting
Apr 20, 2019
b8916d5
Fix `impGetStructAddr`.
Apr 19, 2019
924d4fc
Merge pull request #24126 from sandreenko/fixStmtBug
Apr 20, 2019
83d0782
Add a repro test.
Apr 19, 2019
0410c3e
Implement APIs for some threading metrics (CoreCLR) (#24113)
kouvel Apr 20, 2019
0f93182
Pulling in CoreFX changes and fixing up Sse2.StoreLow to be Sse2.Stor…
tannergooding Apr 20, 2019
324344f
The thread triggering finalizer shutdown events should be in an alert…
AaronRobinsonMSFT Apr 20, 2019
bf0600c
Fix Timezone whitespace (#24137)
sdmaclea Apr 20, 2019
69436a8
Merge pull request #24131 from sandreenko/addAReproTest
Apr 20, 2019
6fd85d4
Update dependencies from https://github.com/dotnet/core-setup build 2…
dotnet-maestro[bot] Apr 20, 2019
b269345
Tighten asserts (#24124)
cshung Apr 20, 2019
9a7be98
Eventpipe Crst ordering fix (#24101)
sywhang Apr 20, 2019
bb40344
Update dependencies from https://github.com/dotnet/corefx build 20190…
dotnet-maestro[bot] Apr 20, 2019
31c69e1
[master] Update dependencies from dnceng/internal/dotnet-optimization…
dotnet-maestro[bot] Apr 21, 2019
472d840
Update BuildTools, CoreClr to preview4-03917-01, preview5-27618-71, r…
dotnet-maestro-bot Apr 21, 2019
c489692
Fixed link to .NET Core SDK (#24147)
YohDeadfall Apr 21, 2019
a36bc61
Fix AssemblyName cache hash and key (#24138)
sdmaclea Apr 21, 2019
a8d5756
Fix Arm64 UpperVector save/restore (#24043)
CarolEidt Apr 22, 2019
479d7ed
Remove create assembly name (#24154)
sdmaclea Apr 22, 2019
fc6dd70
Disable failing IJW tests against #23358
RussKeldorph Apr 22, 2019
9401fa6
Correct iterator (#24160)
franksinankaya Apr 22, 2019
1ae88b3
Fix `CORE_LIBRARIES` doc
sdmaclea Apr 22, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion BuildToolsVersion.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0.0-preview4-03913-01
3.0.0-preview4-03917-01
2 changes: 1 addition & 1 deletion Documentation/building/windows-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Powershell version must be 3.0 or higher. This should be the case for Windows 8
## DotNet Core SDK
While not strictly needed to build or test the .NET Core repository, having the .NET Core SDK installed lets you use the dotnet.exe command to run .NET Core applications in the 'normal' way. We use this in the
[Using Your Build](../workflow/UsingYourBuild.md) instructions. Visual Studio should have
installed the .NET Core SDK, but in case it did not you can get it from the [Installing the .NET Core SDK](https://www.microsoft.com/net/core) page.
installed the .NET Core SDK, but in case it did not you can get it from the [Installing the .NET Core SDK](https://dotnet.microsoft.com/download) page.

## Adding to the default PATH variable

Expand Down
2 changes: 1 addition & 1 deletion Documentation/workflow/UsingCoreRun.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ It does this by looking at two environment variables.

* `CORE_ROOT` - The directory where to find the runtime DLLs itself (e.g. CoreCLR.dll).
Defaults to be next to the corerun.exe host itself.
* `CORE_LIBRARIES` - A Semicolon separated list of directories to look for DLLS to resolve any assembly references.
* `CORE_LIBRARIES` - A directory to look for DLLS to resolve any assembly references.
It defaults CORE_ROOT if it is not specified.

These simple rules can be used in a number of ways
Expand Down
2 changes: 1 addition & 1 deletion ILAsmVersion.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0.0-preview5-27616-71
3.0.0-preview5-27618-71
6 changes: 3 additions & 3 deletions dependencies.props
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@

<!-- Source of truth for dependency tooling: the commit hash of the dotnet/versions master branch as of the last auto-upgrade. -->
<PropertyGroup>
<CoreClrCurrentRef>64388f5ec335146136dea340002316fed53df6a9</CoreClrCurrentRef>
<BuildToolsCurrentRef>c6a0e8080e10e8940af6b1d1809e79fdd8de55b7</BuildToolsCurrentRef>
<CoreClrCurrentRef>c759329d47d7e871483ef1747803839b31f2f31d</CoreClrCurrentRef>
<BuildToolsCurrentRef>c759329d47d7e871483ef1747803839b31f2f31d</BuildToolsCurrentRef>
</PropertyGroup>

<!-- Tests/infrastructure dependency versions. -->
<PropertyGroup>
<MicrosoftNETCoreRuntimeCoreCLRPackageVersion>3.0.0-preview5-27616-71</MicrosoftNETCoreRuntimeCoreCLRPackageVersion>
<MicrosoftNETCoreRuntimeCoreCLRPackageVersion>3.0.0-preview5-27618-71</MicrosoftNETCoreRuntimeCoreCLRPackageVersion>
<XunitPackageVersion>2.4.1-pre.build.4059</XunitPackageVersion>
<XunitPerformanceApiPackageVersion>1.0.0-beta-build0015</XunitPerformanceApiPackageVersion>
<MicrosoftDiagnosticsTracingTraceEventPackageVersion>2.0.40</MicrosoftDiagnosticsTracingTraceEventPackageVersion>
Expand Down
20 changes: 10 additions & 10 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,25 @@
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>517bf671ea342965d007aa48f5bfd4926e58d582</Sha>
</Dependency>
<Dependency Name="Microsoft.Private.CoreFx.NETCoreApp" Version="4.6.0-preview5.19215.16">
<Dependency Name="Microsoft.Private.CoreFx.NETCoreApp" Version="4.6.0-preview5.19219.11">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>071e6986b2a71e29cab3df4e2dd2cdf3fe3ce574</Sha>
<Sha>c608ddaa2a024dde2510f3c1122c89ba07b4325d</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview5.19215.16">
<Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview5.19219.11">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>071e6986b2a71e29cab3df4e2dd2cdf3fe3ce574</Sha>
<Sha>c608ddaa2a024dde2510f3c1122c89ba07b4325d</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App" Version="3.0.0-preview5-27618-16">
<Dependency Name="Microsoft.NETCore.App" Version="3.0.0-preview5-27620-01">
<Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>490010c3451a44e45f782a019efd736aa490f79c</Sha>
<Sha>b9a720984fa4d6454d1c66ae765bc1e34cb1d206</Sha>
</Dependency>
<Dependency Name="optimization.IBC.CoreCLR" Version="99.99.99-master-20190313.3">
<Dependency Name="optimization.IBC.CoreCLR" Version="99.99.99-master-20190420.1">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
<Sha>4f9d0ecf2b8151859fd2bd0734af32ea59258a3d</Sha>
<Sha>262f4c4cfae446577e19e7c79b43ad46ba456e56</Sha>
</Dependency>
<Dependency Name="optimization.PGO.CoreCLR" Version="99.99.99-master-20190313.3">
<Dependency Name="optimization.PGO.CoreCLR" Version="99.99.99-master-20190420.1">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
<Sha>4f9d0ecf2b8151859fd2bd0734af32ea59258a3d</Sha>
<Sha>262f4c4cfae446577e19e7c79b43ad46ba456e56</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
10 changes: 5 additions & 5 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
<UsingToolNetFrameworkReferenceAssemblies>true</UsingToolNetFrameworkReferenceAssemblies>
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.19179.4</MicrosoftDotNetXUnitConsoleRunnerVersion>
<MicrosoftNetFrameworkReferenceAssembliesVersion>1.0.0-alpha-004</MicrosoftNetFrameworkReferenceAssembliesVersion>
<MicrosoftPrivateCoreFxNETCoreAppVersion>4.6.0-preview5.19215.16</MicrosoftPrivateCoreFxNETCoreAppVersion>
<MicrosoftNETCorePlatformsVersion>3.0.0-preview5.19215.16</MicrosoftNETCorePlatformsVersion>
<MicrosoftNETCoreAppVersion>3.0.0-preview5-27618-16</MicrosoftNETCoreAppVersion>
<optimizationIBCCoreCLRVersion>99.99.99-master-20190313.3</optimizationIBCCoreCLRVersion>
<optimizationPGOCoreCLRVersion>99.99.99-master-20190313.3</optimizationPGOCoreCLRVersion>
<MicrosoftPrivateCoreFxNETCoreAppVersion>4.6.0-preview5.19219.11</MicrosoftPrivateCoreFxNETCoreAppVersion>
<MicrosoftNETCorePlatformsVersion>3.0.0-preview5.19219.11</MicrosoftNETCorePlatformsVersion>
<MicrosoftNETCoreAppVersion>3.0.0-preview5-27620-01</MicrosoftNETCoreAppVersion>
<optimizationIBCCoreCLRVersion>99.99.99-master-20190420.1</optimizationIBCCoreCLRVersion>
<optimizationPGOCoreCLRVersion>99.99.99-master-20190420.1</optimizationPGOCoreCLRVersion>
</PropertyGroup>
<!--Package names-->
<PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,14 +112,9 @@ public static partial class Activator
}
else
{
RuntimeAssembly? assemblyFromResolveEvent;
AssemblyName assemblyName = RuntimeAssembly.CreateAssemblyName(assemblyString, out assemblyFromResolveEvent);
if (assemblyFromResolveEvent != null)
{
// Assembly was resolved via AssemblyResolve event
assembly = assemblyFromResolveEvent;
}
else if (assemblyName.ContentType == AssemblyContentType.WindowsRuntime)
AssemblyName assemblyName = new AssemblyName(assemblyString);

if (assemblyName.ContentType == AssemblyContentType.WindowsRuntime)
{
// WinRT type - we have to use Type.GetType
type = Type.GetType(typeName + ", " + assemblyString, true /*throwOnError*/, ignoreCase);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ public bool Trim()
// Under high pressure, release all thread locals
if (log.IsEnabled())
{
foreach (KeyValuePair<T[]?[], object> tlsBuckets in s_allTlsBuckets)
foreach (KeyValuePair<T[]?[], object?> tlsBuckets in s_allTlsBuckets)
{
T[]?[] buckets = tlsBuckets.Key;
for (int i = 0; i < buckets.Length; i++)
Expand Down
19 changes: 0 additions & 19 deletions src/System.Private.CoreLib/shared/System/Reflection/Assembly.cs
Original file line number Diff line number Diff line change
Expand Up @@ -199,25 +199,6 @@ public static Assembly GetAssembly(Type type)

public static Assembly Load(byte[] rawAssembly) => Load(rawAssembly, rawSymbolStore: null);

[Obsolete("This method has been deprecated. Please use Assembly.Load() instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public static Assembly LoadWithPartialName(string partialName)
{
if (partialName == null)
throw new ArgumentNullException(nameof(partialName));

if ((partialName.Length == 0) || (partialName[0] == '\0'))
throw new ArgumentException(SR.Format_StringZeroLength, nameof(partialName));

try
{
return Load(partialName);
}
catch (FileNotFoundException)
{
return null;
}
}

// Loads the assembly with a COFF based IMAGE containing
// an emitted assembly. The assembly is loaded into a fully isolated ALC with resolution fully deferred to the AssemblyLoadContext.Default.
// The second parameter is the raw bytes representing the symbol store that matches the assembly.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,9 @@ public virtual void ReleaseAllResources()

lock (localResourceSets)
{
#pragma warning disable CS8619 // TODO-NULLABLE: https://github.com/dotnet/roslyn/issues/35131
foreach ((_, ResourceSet resourceSet) in localResourceSets)
#pragma warning restore CS8619
{
resourceSet.Close();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1450,16 +1450,6 @@ internal X64() { }
/// </summary>
public static unsafe void StoreHigh(double* address, Vector128<double> source) { throw new PlatformNotSupportedException(); }

/// <summary>
/// void _mm_storel_epi64 (__m128i* mem_addr, __m128i a)
/// MOVQ m64, xmm
/// </summary>
public static unsafe void StoreLow(long* address, Vector128<long> source) { throw new PlatformNotSupportedException(); }
/// <summary>
/// void _mm_storel_epi64 (__m128i* mem_addr, __m128i a)
/// MOVQ m64, xmm
/// </summary>
public static unsafe void StoreLow(ulong* address, Vector128<ulong> source) { throw new PlatformNotSupportedException(); }
/// <summary>
/// void _mm_storel_pd (double* mem_addr, __m128d a)
/// MOVLPD m64, xmm
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1456,16 +1456,6 @@ internal X64() { }
/// </summary>
public static unsafe void StoreHigh(double* address, Vector128<double> source) => StoreHigh(address, source);

/// <summary>
/// void _mm_storel_epi64 (__m128i* mem_addr, __m128i a)
/// MOVQ m64, xmm
/// </summary>
public static unsafe void StoreLow(long* address, Vector128<long> source) => StoreLow(address, source);
/// <summary>
/// void _mm_storel_epi64 (__m128i* mem_addr, __m128i a)
/// MOVQ m64, xmm
/// </summary>
public static unsafe void StoreLow(ulong* address, Vector128<ulong> source) => StoreLow(address, source);
/// <summary>
/// void _mm_storel_pd (double* mem_addr, __m128d a)
/// MOVLPD m64, xmm
Expand Down
6 changes: 3 additions & 3 deletions src/System.Private.CoreLib/shared/System/Text/ASCIIUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1347,7 +1347,7 @@ private static unsafe nuint NarrowUtf16ToAscii_Sse2(char* pUtf16Buffer, byte* pA
// Turn the 8 ASCII chars we just read into 8 ASCII bytes, then copy it to the destination.

Vector128<byte> asciiVector = Sse2.PackUnsignedSaturate(utf16VectorFirst, utf16VectorFirst);
Sse2.StoreLow((ulong*)pAsciiBuffer, asciiVector.AsUInt64()); // ulong* calculated here is UNALIGNED
Sse2.StoreScalar((ulong*)pAsciiBuffer, asciiVector.AsUInt64()); // ulong* calculated here is UNALIGNED

nuint currentOffsetInElements = SizeOfVector128 / 2; // we processed 8 elements so far

Expand Down Expand Up @@ -1386,7 +1386,7 @@ private static unsafe nuint NarrowUtf16ToAscii_Sse2(char* pUtf16Buffer, byte* pA

// Turn the 8 ASCII chars we just read into 8 ASCII bytes, then copy it to the destination.
asciiVector = Sse2.PackUnsignedSaturate(utf16VectorFirst, utf16VectorFirst);
Sse2.StoreLow((ulong*)(pAsciiBuffer + currentOffsetInElements), asciiVector.AsUInt64()); // ulong* calculated here is UNALIGNED
Sse2.StoreScalar((ulong*)(pAsciiBuffer + currentOffsetInElements), asciiVector.AsUInt64()); // ulong* calculated here is UNALIGNED
}

// Calculate how many elements we wrote in order to get pAsciiBuffer to its next alignment
Expand Down Expand Up @@ -1462,7 +1462,7 @@ private static unsafe nuint NarrowUtf16ToAscii_Sse2(char* pUtf16Buffer, byte* pA

Debug.Assert(((nuint)pAsciiBuffer + currentOffsetInElements) % sizeof(ulong) == 0, "Destination should be ulong-aligned.");

Sse2.StoreLow((ulong*)(pAsciiBuffer + currentOffsetInElements), asciiVector.AsUInt64()); // ulong* calculated here is aligned
Sse2.StoreScalar((ulong*)(pAsciiBuffer + currentOffsetInElements), asciiVector.AsUInt64()); // ulong* calculated here is aligned
currentOffsetInElements += SizeOfVector128 / 2;

goto Finish;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,7 @@ public IAsyncLocalValueMap Set(IAsyncLocal key, object? value, bool treatNullVal
{
var multi = new MultiElementAsyncLocalValueMap(MultiElementAsyncLocalValueMap.MaxMultiElements);
int index = 0;
foreach (KeyValuePair<IAsyncLocal, object> pair in this)
foreach (KeyValuePair<IAsyncLocal, object?> pair in this)
{
if (!ReferenceEquals(key, pair.Key))
{
Expand Down
53 changes: 53 additions & 0 deletions src/System.Private.CoreLib/shared/System/Threading/ThreadPool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,26 @@ public bool LocalFindAndPop(object obj)
return null;
}
}

public int Count
{
get
{
bool lockTaken = false;
try
{
m_foreignLock.Enter(ref lockTaken);
return Math.Max(0, m_tailIndex - m_headIndex);
}
finally
{
if (lockTaken)
{
m_foreignLock.Exit(useMemoryBarrier: false);
}
}
}
}
}

internal bool loggingEnabled;
Expand Down Expand Up @@ -512,6 +532,21 @@ internal bool LocalFindAndPop(object callback)
return callback;
}

public long LocalCount
{
get
{
long count = 0;
foreach (WorkStealingQueue workStealingQueue in WorkStealingQueueList.Queues)
{
count += workStealingQueue.Count;
}
return count;
}
}

public long GlobalCount => workItems.Count;

/// <summary>
/// Dispatches work items to this thread.
/// </summary>
Expand Down Expand Up @@ -1241,5 +1276,23 @@ internal static object[] GetGloballyQueuedWorkItemsForDebugger() =>

internal static object[] GetLocallyQueuedWorkItemsForDebugger() =>
ToObjectArray(GetLocallyQueuedWorkItems());

/// <summary>
/// Gets the number of work items that are currently queued to be processed.
/// </summary>
/// <remarks>
/// For a thread pool implementation that may have different types of work items, the count includes all types that can
/// be tracked, which may only be the user work items including tasks. Some implementations may also include queued
/// timer and wait callbacks in the count. On Windows, the count is unlikely to include the number of pending IO
/// completions, as they get posted directly to an IO completion port.
/// </remarks>
public static long PendingWorkItemCount
{
get
{
ThreadPoolWorkQueue workQueue = ThreadPoolGlobals.workQueue;
return workQueue.LocalCount + workQueue.GlobalCount + PendingUnmanagedWorkItemCount;
}
}
}
}
Loading