platform/upstream/dotnet/runtime.git
4 years agoMerge pull request #36744 from teo-tsirpanis/patch-1
Rich Lander [Mon, 8 Jun 2020 23:22:06 +0000 (16:22 -0700)]
Merge pull request #36744 from teo-tsirpanis/patch-1

Update "LICENSE.txt" so that it's recognized as MIT

4 years agoImplement ModuleBuilder.GetFieldToken (#37497)
Alexis Christoforides [Mon, 8 Jun 2020 22:08:08 +0000 (18:08 -0400)]
Implement ModuleBuilder.GetFieldToken (#37497)

Contributes to https://github.com/mono/mono/issues/14788

4 years ago[wasm] Pass more assemblies to the pinvoke table generator. (#37608)
Zoltan Varga [Mon, 8 Jun 2020 21:46:50 +0000 (17:46 -0400)]
[wasm] Pass more assemblies to the pinvoke table generator. (#37608)

4 years ago[Test] don't use process var in async readers (#37259)
John Salem [Mon, 8 Jun 2020 20:59:24 +0000 (13:59 -0700)]
[Test] don't use process var in async readers (#37259)

* don't use process var in async readers

* Add comment

4 years agoUpdate comments on GetCursorPosition (#37609)
Stephen Toub [Mon, 8 Jun 2020 20:52:19 +0000 (16:52 -0400)]
Update comments on GetCursorPosition (#37609)

4 years agoAllow MemoryMappedFile to work on character device (#2183)
Tomas Weinfurt [Mon, 8 Jun 2020 20:32:59 +0000 (13:32 -0700)]
Allow MemoryMappedFile to work on character device (#2183)

* allow MemoryMeppedFile to work on character device

* feedback from review

* feedback from review

* feedback from review

* roll-back write only access

* feedback from review

* fix windows

* avoid exception reordering

* feedback from review

Co-authored-by: Tomas Weinfurt <furt@Shining.local>
4 years agoAllow individual projects to override LangVersion (#37512)
Eric Erhardt [Mon, 8 Jun 2020 20:20:53 +0000 (15:20 -0500)]
Allow individual projects to override LangVersion (#37512)

Setting LangVersion in a .targets file makes it hard to override LangVersion in individual projects. Instead, move the default project setting back to the .props file and condition VB based on $(MSBuildProjectExtension), which is available in the .props file.

ILCompiler.Reflection.ReadyToRun needs to set LangVersion to 7.3 so it doesn't break ILSpy.

Fix #37498

4 years ago[master] Update dependencies from mono/linker Microsoft/vstest (#37562)
dotnet-maestro[bot] [Mon, 8 Jun 2020 20:10:46 +0000 (20:10 +0000)]
[master] Update dependencies from mono/linker Microsoft/vstest (#37562)

* Update dependencies from https://github.com/mono/linker build 20200606.1

Microsoft.NET.ILLink.Tasks
 From Version 5.0.0-preview.3.20305.2 -> To Version 5.0.0-preview.3.20306.1

* Update dependencies from https://github.com/microsoft/vstest build 20200608-10

Microsoft.NET.Test.Sdk
 From Version 16.7.0-preview-20200605-01 -> To Version 16.7.0-preview-20200608-10

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoAnnotate System.Resources.Extensions for nullable reference types (#37597)
Stephen Toub [Mon, 8 Jun 2020 20:00:11 +0000 (16:00 -0400)]
Annotate System.Resources.Extensions for nullable reference types (#37597)

4 years agoImprove R2RTest compile-serp (#37520)
Simon Nattress [Mon, 8 Jun 2020 18:43:32 +0000 (11:43 -0700)]
Improve R2RTest compile-serp (#37520)

* Improve the robustness and idempotence of compile-serp by backing up all MSIL assemblies that are compiled / referenced. Use those backups during compilations.
* Add `--composite-scenario` switch which currently supports two modes: each assembly is compiled separately, and another where the shared framework, Asp.Net, and Serp core each get a composite image.
* Added new `Crossgen2RunnerOptions` config class we can pass per-compile settings instead of relying on the process-wide `BuildOptions` object. This is needed to allow a single parallel batch of compilations where some are composite images and some are not.

4 years agoAdd Console.GetCursorPosition (#37559)
Stephen Toub [Mon, 8 Jun 2020 18:27:27 +0000 (14:27 -0400)]
Add Console.GetCursorPosition (#37559)

4 years agoAnnotate System.Reflection.Context for nullable reference types (#37592)
Stephen Toub [Mon, 8 Jun 2020 18:27:15 +0000 (14:27 -0400)]
Annotate System.Reflection.Context for nullable reference types (#37592)

4 years agoAnnotate System.Numerics.Tensors for nullable reference types (#37594)
Stephen Toub [Mon, 8 Jun 2020 18:27:02 +0000 (14:27 -0400)]
Annotate System.Numerics.Tensors for nullable reference types (#37594)

4 years agoAnnotate Microsoft.Win32.Registry.AccessControl for nullable reference types (#37596)
Stephen Toub [Mon, 8 Jun 2020 18:24:14 +0000 (14:24 -0400)]
Annotate Microsoft.Win32.Registry.AccessControl for nullable reference types (#37596)

Only a few methods defined, and none of their reference type inputs/outputs are nullable.

4 years agoCollapse mono runtime pack builds in official build (#37511)
Santiago Fernandez Madero [Mon, 8 Jun 2020 17:56:36 +0000 (10:56 -0700)]
Collapse mono runtime pack builds in official build (#37511)

* Collapse mono runtime pack builds in official build

* Minor cleanups

4 years ago[wasm] Bump emscripten to 1.39.17. (#37547)
monojenkins [Mon, 8 Jun 2020 17:08:25 +0000 (13:08 -0400)]
[wasm] Bump emscripten to 1.39.17. (#37547)

Co-authored-by: vargaz <vargaz@users.noreply.github.com>
4 years agoMono: Fix deadlock on Alpine (#37456)
monojenkins [Mon, 8 Jun 2020 16:58:27 +0000 (12:58 -0400)]
Mono: Fix deadlock on Alpine (#37456)

Fixes mono/mono#7167

The mono/mono commit 3e8108ea6576b07de2a64528be18674683879189 introduced a deadlock on Alpine, making it impossible to even build mono. This PR reverts the setting of PTHREAD_PRIO_INHERIT when on Alpine.
Since GCC on Alpine doesn't provide a builtin macro to detect Alpine, I also added a #define in configure.ac.

Co-authored-by: rickardp <rickardp@users.noreply.github.com>
4 years agoAdd Browser version of RuntimeInformation (#37256)
Marek Safar [Mon, 8 Jun 2020 16:32:00 +0000 (18:32 +0200)]
Add Browser version of RuntimeInformation (#37256)

4 years agoAdd initial doc about testing libraries on WebAssembly (#37478)
Maxim Lipnin [Mon, 8 Jun 2020 16:01:51 +0000 (19:01 +0300)]
Add initial doc about testing libraries on WebAssembly (#37478)

* Add initial doc about testing libraries on WebAssembly

* Address feedback

* Address feedback

4 years agoFix broken System.Console tests (#37558)
Stephen Toub [Mon, 8 Jun 2020 15:05:10 +0000 (11:05 -0400)]
Fix broken System.Console tests (#37558)

4 years agoImplement RandomNumberGeneratorImplementation for wasm. (#37408)
Zoltan Varga [Mon, 8 Jun 2020 14:41:01 +0000 (10:41 -0400)]
Implement RandomNumberGeneratorImplementation for wasm. (#37408)

* Implement RandomNumberGeneratorImplementation for wasm.

Simply read from /dev/random which is supported under WebAssembly.

* Address review comments.

* Update src/libraries/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/RandomNumberGeneratorImplementation.WebAssembly.cs

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Call Read() in a loop.

* Rename to .Browser.cs.

* Add a SystemNative_GetCryptographicallySecureRandomBytes function and use it to read /dev/urandom.

* Error out instead of asserting.

* Make the non secure version depend on the secure version.

* Fix the build.

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
4 years agoUse new ucontext handling for glibc 2.26 (#37568)
monojenkins [Mon, 8 Jun 2020 14:36:34 +0000 (10:36 -0400)]
Use new ucontext handling for glibc 2.26 (#37568)

<!--
Thank you for your Pull Request!

If you are new to contributing to Mono, please try to do your best at conforming to our coding guidelines http://www.mono-project.com/community/contributing/coding-guidelines/ but don't worry if you get something wrong. One of the project members will help you to get things landed.

Does your pull request fix any of the existing issues? Please use the following format: Fixes #issue-number
-->

Co-authored-by: mgorse <mgorse@users.noreply.github.com>
4 years ago[crossgen2][arm] Fix assertion repro237932.cs (#37588)
t-mustafin [Mon, 8 Jun 2020 13:55:06 +0000 (16:55 +0300)]
[crossgen2][arm] Fix assertion repro237932.cs (#37588)

Fix assertion on crossgen2 Debug on ni-compile of 237932/repro237932.cs
test for arm architecture.

Signed-off-by: Timur <t.mustafin@partner.samsung.com>
4 years ago[browser][wasm] Remove the use of reflection when instantiating core objects (#37554)
Kenneth Pouncey [Mon, 8 Jun 2020 12:44:50 +0000 (14:44 +0200)]
[browser][wasm] Remove the use of reflection when instantiating core objects (#37554)

* [browser][wasm] Remove the use of reflection when instantiating core objects

* Fix parameter call

* Address review comments

* Update Runtime.cs

* Address review comments

* Remove unused variable

4 years agoAppend -sroa -instcombine (#37458)
Egor Bogatov [Mon, 8 Jun 2020 06:36:44 +0000 (09:36 +0300)]
Append -sroa -instcombine (#37458)

4 years ago[runtime] Add remaining runtime events and fix some existing ones on netcore (#36658)
Ryan Lucia [Mon, 8 Jun 2020 06:17:45 +0000 (02:17 -0400)]
[runtime] Add remaining runtime events and fix some existing ones on netcore (#36658)

* Wire up OnResourceResolve

* Fix corlib satellite assembly check for postload hook

* Add ALC and AppContext to mono_defaults

* Remove ProcessExit from MonoDomain and clean up caller

* Remove UnhandledException from MonoDomain and call AppContext instead

* Wire up FirstChanceException

Still need to clean up handle usage, resolve some unanswered questions, and fix the remaining test (AssemblyResolve_FirstChanceException)

* Cleanup

* Update AssemblyResolve_FirstChanceException ActiveIssue

* Fix build

* Feedback

* Ensure no stray handles exist during thread finalizer

4 years agoImplement PAL_IsDebuggerPresent for SunOS (#37273)
Adeel Mujahid [Mon, 8 Jun 2020 05:51:08 +0000 (08:51 +0300)]
Implement PAL_IsDebuggerPresent for SunOS (#37273)

4 years agoAvoid double-call to Trim (#37566)
Youssef Victor [Sun, 7 Jun 2020 21:10:40 +0000 (23:10 +0200)]
Avoid double-call to Trim (#37566)

4 years agoClarify `compilerName` argument in build-job.yml (#37523)
Bruce Forstall [Sun, 7 Jun 2020 20:11:43 +0000 (13:11 -0700)]
Clarify `compilerName` argument in build-job.yml (#37523)

Before, it confusingly used the default value `clang` even for Windows.

4 years agoAdd Math.Tau, MathF.Tau (#37517)
John Kelly [Sun, 7 Jun 2020 15:54:21 +0000 (16:54 +0100)]
Add Math.Tau, MathF.Tau (#37517)

* Add Math.Tau, MathF.Tau

* Remove unncessary 'checked' and wrong val

4 years agoExpose Encoding.Latin1 (#37550)
Stephen Toub [Sun, 7 Jun 2020 01:43:12 +0000 (21:43 -0400)]
Expose Encoding.Latin1 (#37550)

4 years agoAdd ValueTask.factory members (#37507)
Stephen Toub [Sat, 6 Jun 2020 21:53:57 +0000 (17:53 -0400)]
Add ValueTask.factory members (#37507)

4 years ago[master] Update dependencies from mono/linker dotnet/xharness (#37542)
dotnet-maestro[bot] [Sat, 6 Jun 2020 21:17:20 +0000 (21:17 +0000)]
[master] Update dependencies from mono/linker dotnet/xharness (#37542)

* Update dependencies from https://github.com/mono/linker build 20200605.2

Microsoft.NET.ILLink.Tasks
 From Version 5.0.0-preview.3.20304.3 -> To Version 5.0.0-preview.3.20305.2

* Update dependencies from https://github.com/dotnet/xharness build 20200605.1

Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.20304.1 -> To Version 1.0.0-prerelease.20305.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years ago[mono] Move some culture-dependent source files to a separate directory (#37437)
monojenkins [Sat, 6 Jun 2020 18:48:22 +0000 (14:48 -0400)]
[mono] Move some culture-dependent source files to a separate directory (#37437)

* [mono] Move culture-info-tables.h to a separate directory

We'd like to remove culture-info-tables.h from the dotnet/runtime copy of mono since we use ICU
there for globalization like the rest of .NET 5.

The plan is:
1. We move the file (and some others) to a separate directory (this PR)
2. We tell the sync bot to skip `culture/` in the future
3. We delete the files (or make them empty) in dotnet/runtime
* Also move locale.c and culture-info.h

* Also move mono_w32process_ver_language_name

* [msvc] don't compile locales.c if it doesn't exist

   It exists for now, but won't after we stop syncing culture/ to dotnet/runtime

Co-authored-by: lambdageek <lambdageek@users.noreply.github.com>
4 years agoR2RTest - Launch crossgen2 with dotnet cli instead of corerun (#37531)
Simon Nattress [Sat, 6 Jun 2020 07:23:54 +0000 (00:23 -0700)]
R2RTest - Launch crossgen2 with dotnet cli instead of corerun (#37531)

* Replace corerun host with dotnet (crossgen2 with corerun on a debug / checked runtime is excruciatingly slow) via a new option, `--dotnet-cli`
* `--dotnet-cli` is optional if r2rtest is launched with a recent .NET 5 runtime - the root executing process is used. Typically this will be dotnet.exe or <repo>\dotnet.cmd. Corerun is still a valid cli for this purpose since we only use it to launch crossgen2.
* Remove `CompileFromCrossgenRspCommand` since it's no longer useful for anybody.
* Factored the options now we have two that are common to all commands.

4 years agoRemove WinRT specific code from EventSource. (#37508)
Eric Erhardt [Sat, 6 Jun 2020 04:14:11 +0000 (23:14 -0500)]
Remove WinRT specific code from EventSource. (#37508)

* Remove WinRT specific code from EventSource.

Follow up to #36715

* Remove EventSource.GetMetadata method, which was only used by ProjectN.

4 years agoAdd build support for ILLink.Substitutions.xml files (#37443)
Eric Erhardt [Sat, 6 Jun 2020 03:19:02 +0000 (22:19 -0500)]
Add build support for ILLink.Substitutions.xml files (#37443)

* Add build support for ILLink.Substitutions.xml files

These files enable the ILLinker to dynamically replace method bodies at link-time.

There are two ways of embedding the file:
- By making a single ILLink.Substitutions.xml file next to the .csproj
- By adding one or more files to the @(ILLinkSubstitutionsXmls) MSBuild item. This allows for libraries, like CoreLib, to have a shared substitutions file and also separate substitutions files for each RID - x64, wasm, etc - which all get combined into a single file during the build.

4 years agoAnnotate System.Net.Http.WinHttpHandler for nullable reference types (#37502)
Stephen Toub [Sat, 6 Jun 2020 00:54:01 +0000 (20:54 -0400)]
Annotate System.Net.Http.WinHttpHandler for nullable reference types (#37502)

4 years agoDon't build coreclr native tests components in official builds (#37525)
Santiago Fernandez Madero [Sat, 6 Jun 2020 00:44:18 +0000 (17:44 -0700)]
Don't build coreclr native tests components in official builds (#37525)

4 years agoSubmit to helix without managed pdbs (#36577)
Jarret Shook [Sat, 6 Jun 2020 00:02:54 +0000 (17:02 -0700)]
Submit to helix without managed pdbs (#36577)

* Trim managed pdbs

* Fix whitespace diff

4 years agoAnnotate System.Security.Cryptography.ProtectedData for nullable reference types...
Stephen Toub [Fri, 5 Jun 2020 23:00:36 +0000 (19:00 -0400)]
Annotate System.Security.Cryptography.ProtectedData for nullable reference types (#37493)

4 years agoAdd EventPipe array types to the profiler APIs (#37035)
David Mason [Fri, 5 Jun 2020 22:47:02 +0000 (15:47 -0700)]
Add EventPipe array types to the profiler APIs (#37035)

Follow up for #36242. Allow profilers to emit array types as well.

4 years agoStart unifying unaligned memory access codepaths. (#37445)
monojenkins [Fri, 5 Jun 2020 20:44:58 +0000 (16:44 -0400)]
Start unifying unaligned memory access codepaths. (#37445)

The intrinsic expansions for Unsafe.ReadUnaligned and
Unsafe.WriteUnaligned now use mini_emit_memory_load and
mini_emit_memory_store.

stind is now implemented in terms of mini_emit_memory_store; when used
during compilation of the the sgen nursery check wrapper,
mini_emit_memory_store will no longer longer emit a release fence when
storing a reference under the CLR memory model.

mini_emit_memory_load and mini_emit_memory_store also no longer
decompose unaligned loads/stores to explicit byte-wise memcpy move
sequences; the LLVM IR backend already converts
MONO_INST_UNALIGNED-flagged OP_LOAD*/OP_STORE* operations to LLVM memory
movement operations with alignment 1.

Should fix https://github.com/mono/mono/issues/19142.

Co-authored-by: imhameed <imhameed@users.noreply.github.com>
4 years agoStop adding NULL native code addresses in GetNativeCodeStartAddresses (#37195)
David Mason [Fri, 5 Jun 2020 20:15:18 +0000 (13:15 -0700)]
Stop adding NULL native code addresses in GetNativeCodeStartAddresses (#37195)

If you call in to GetNativeCodeStartAddresses between when a CodeVersion is created and when NativeCodeVersion::SetNativeCodeInterlocked is called, the NativeCodeVersion will return NULL for its address. This fixes that by checking for NULL before adding it to the list of known code addresses.

4 years agoAdd testing support for Alpine 3.12 (#37281)
Matt Galbraith [Fri, 5 Jun 2020 19:47:29 +0000 (12:47 -0700)]
Add testing support for Alpine 3.12 (#37281)

* Update alpine test matrix to have 3.12 as default, remove 3.8 as it is EOL since 5/1/2020

* Add support in idna tests for Unicode 13 and fix Unicode 11 parsing and test execution

* Remove alpine 3.9 from test matrix as it is no longer supported

* Fix builds

* PR Feedback

* Update Unicode11 test data and remove not needed changes

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
4 years agoStrip the ILLinkTrim.xml file from the System.ComponentModel.TypeConverter assembly...
Layomi Akinrinade [Fri, 5 Jun 2020 19:11:25 +0000 (15:11 -0400)]
Strip the ILLinkTrim.xml file from the System.ComponentModel.TypeConverter assembly (#37402)

* Strip the ILLinkTrim.xml file from the System.ComponentModel.TypeConverter assembly

* Address review feedback

* Update DefaultConstructor -> PublicParameterlessConstructor

* Fix ComObjectType property annotation

4 years agoAvoiding using recursive pattern matching (#37451)
Andrew Au [Fri, 5 Jun 2020 18:55:36 +0000 (11:55 -0700)]
Avoiding using recursive pattern matching (#37451)

4 years agoEnum dispose signature (#37450)
Simon Nattress [Fri, 5 Jun 2020 18:54:28 +0000 (11:54 -0700)]
Enum dispose signature (#37450)

* Fix case where CG2 emits incorrect signature

When making a constrained virtual call to `IDisposable.Dispose()` on a value type, we were emitting the owner type into the signature incorrectly. This caused a `MissingMethodException` at runtime as the runtime tried to resolve `System.IDisposable.Dispose()` on `IDisposable` instead of the constrained type.

Fixes CG2 compiled code which iterates over `S.R.M.MethodDefinitionHandleCollection` and its peers.

4 years ago[master] Update dependencies from mono/linker Microsoft/vstest dotnet/xharness (...
dotnet-maestro[bot] [Fri, 5 Jun 2020 18:41:19 +0000 (18:41 +0000)]
[master] Update dependencies from mono/linker Microsoft/vstest dotnet/xharness (#37481)

* Update dependencies from https://github.com/mono/linker build 20200604.3

Microsoft.NET.ILLink.Tasks
 From Version 5.0.0-preview.3.20304.2 -> To Version 5.0.0-preview.3.20304.3

* Update dependencies from https://github.com/microsoft/vstest build 20200605-01

Microsoft.NET.Test.Sdk
 From Version 16.7.0-preview-20200603-01 -> To Version 16.7.0-preview-20200605-01

* Update dependencies from https://github.com/dotnet/xharness build 20200604.1

Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.20303.2 -> To Version 1.0.0-prerelease.20304.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years ago[aot] Fix the binary search in the llvmonly unbox tramp table. (#37480)
monojenkins [Fri, 5 Jun 2020 18:19:46 +0000 (14:19 -0400)]
[aot] Fix the binary search in the llvmonly unbox tramp table. (#37480)

Fixes https://github.com/mono/mono/issues/19879.

Co-authored-by: vargaz <vargaz@users.noreply.github.com>
4 years agoFix JitRegs* optional builds (#37468)
Santiago Fernandez Madero [Fri, 5 Jun 2020 18:13:01 +0000 (11:13 -0700)]
Fix JitRegs* optional builds (#37468)

* Fix JitRegs* optional builds

* Override _BuildConfig correctly

4 years ago[interp] Optimize do_jit_call (). (#37361)
monojenkins [Fri, 5 Jun 2020 18:04:37 +0000 (14:04 -0400)]
[interp] Optimize do_jit_call (). (#37361)

* Move the JIT call related fields to a separate JitCallInfo structure.
* Compute calling convention information and store it into JitCallInfo
  to avoid most type processing at call time.

Co-authored-by: vargaz <vargaz@users.noreply.github.com>
4 years agoGC stress fix for reverse pinvoke stubs (#37432)
Andy Ayers [Fri, 5 Jun 2020 17:50:30 +0000 (10:50 -0700)]
GC stress fix for reverse pinvoke stubs (#37432)

Reverse PInvoke stubs change the thread to preemptive mode before
they exit. Often the epilog immediately follows this helper call,
but in some cases there may be a region with a few instructions
before we reach the epilog.

If there is a normal GC triggered while the method is in this region
then the runtime will not report GC references from the stub frame.

If the stub method is fully interruptible we will put GC coverage
interrupts in this region when doing GC stress. When these trigger a GC
then the runtime will report GC references from the stub frame.

So if while executing in this region we happen to do a normal GC and then
a stress invoked GC, the stress mode GC can find invalid GC references
in the frame, as the objects referenced could have been collected/moved
by the normal GC that happened just before.

There are a couple of avenues for a fix, but since this is a stress mode
only problem, I've modified GC stress avoid invoking a GC when the thread
is already in preemptive mode and the method is a reverse PINvoke stub.

Fixes #13720.

4 years agoAdd non-generic TaskCompletionSource (#37452)
Stephen Toub [Fri, 5 Jun 2020 14:50:51 +0000 (10:50 -0400)]
Add non-generic TaskCompletionSource (#37452)

- Adds the type, almost an exact copy of `TaskCompletionSource<TResult>`, but creating a `Task` instead of a `Task<TResult>`.  Primary benefits here are symmetry, smaller `Task` object, and not forcing a developer to specify an unnecessary type name.
- Adds tests for both TCS and TCS<TResult>.
- Switches a bunch of usage of the generic type over to the non-generic, both in src and tests.

4 years agoDo not test PostAsync_Cancel_CancellationTokenPassedToContent on WinHttpHandler....
Marie Píchová [Fri, 5 Jun 2020 11:44:19 +0000 (13:44 +0200)]
Do not test PostAsync_Cancel_CancellationTokenPassedToContent on WinHttpHandler. (#37441)

4 years agoMake Task.WhenAny(task, task) public (#37448)
Stephen Toub [Fri, 5 Jun 2020 09:05:55 +0000 (05:05 -0400)]
Make Task.WhenAny(task, task) public (#37448)

4 years agoProposal for allowing "get delegate" functionality on application host context (...
Vitek Karas [Fri, 5 Jun 2020 07:13:48 +0000 (00:13 -0700)]
Proposal for allowing "get delegate" functionality on application host context (#36990)

Describe the long-term vision for the hosting components in terms of ability exposed through APIs.

Removes the limitation of `hostfxr_get_runtime_delegate` to make it work on app host context as well.

Defines a new runtime delegate which operates on default load context only.

Some cleanup of the document.

Co-authored-by: Elinor Fung <47805090+elinor-fung@users.noreply.github.com>
4 years agoChanges for basic block flags. (#37335)
Eugene Rozenfeld [Fri, 5 Jun 2020 05:57:27 +0000 (22:57 -0700)]
Changes for basic block flags. (#37335)

Fix the code that propagates flags from the basic block of the return
expression to the caller's basic block during inlining. We are now
properly tracking the basic block of the return expression.
Fixes #36588.

Don't mark BBJ_RETURN blocks with BBF_BACKWARD_JUMP since they are
executed at most once.

The first change had a few diffs because we propagated BBF_BACKWARD_JUMP
flag. After analyzing them I realized that we shouldn't mark BBJ_RETURN
blocks with BBF_BACKWARD_JUMP in the first place. That resulted in some
diffs because we are less aggressive with inlining of calls outside of
loops.

4 years agoFix app local loading in Unix (#37455)
Santiago Fernandez Madero [Fri, 5 Jun 2020 05:13:48 +0000 (22:13 -0700)]
Fix app local loading in Unix (#37455)

4 years agoAdd OS distro info to ProcessInfo event (#37375)
Sung Yoon Whang [Fri, 5 Jun 2020 03:40:05 +0000 (20:40 -0700)]
Add OS distro info to ProcessInfo event (#37375)

* Add OS distro info to EventPipeEventSource/ProcessInfo Event

* Fix typo

* Bump up the version

* add arch info, osx->macos

4 years agoFix incorrect devirtualization in CG2 (#37370)
Simon Nattress [Fri, 5 Jun 2020 03:29:14 +0000 (20:29 -0700)]
Fix incorrect devirtualization in CG2 (#37370)

* Fix incorrect devirtualization in CG2

When making a constrained virtual method call on a boxed value type, CG2 devirtualizes the call incorrectly resulting in a direct call. This breaks code patterns like:

```
foreach (TestEnum val in Enum.GetValues(typeof(TestEnum)))
{
    buffer += val.ToString();
}
```

In the call to ToString(), `getCallInfo` is passed a boxed `TestEnum` and is calling `object.ToString()`. The constrained type is `TestEnum` so we end up making a direct call to `object.ToString()`. Fixed by removing the constrained type from devirtualization consideration which is how Crossgen treats this call.

* Port other interesting devirtualization cases

Ensure our devirtualization matches crossgen1's behavior. We were not devirtualizing delegate invoke calls, and we were devirtualizing all internal calls (not just JIT intrinsics) which is not necessarily version resilient.

4 years agoSet RollForward=Major for ILVerify dotnet tool (#37433)
Alexander Köplinger [Fri, 5 Jun 2020 02:16:55 +0000 (04:16 +0200)]
Set RollForward=Major for ILVerify dotnet tool (#37433)

This allows it to be used by later versions of dotnet if the original one isn't available.

4 years agoAdding extensibility point to global-build-job and some minor refactoring (#37427)
Jose Perez Rodriguez [Fri, 5 Jun 2020 00:25:43 +0000 (17:25 -0700)]
Adding extensibility point to global-build-job and some minor refactoring (#37427)

4 years agoUpdate name suffix for unified pipelines to be more clear (#37461)
Santiago Fernandez Madero [Fri, 5 Jun 2020 00:23:16 +0000 (17:23 -0700)]
Update name suffix for unified pipelines to be more clear (#37461)

4 years agoRemove ClearInitLocalsAssemblies arg (#37355)
Sven Boemer [Thu, 4 Jun 2020 23:48:53 +0000 (16:48 -0700)]
Remove ClearInitLocalsAssemblies arg (#37355)

See https://github.com/mono/linker/pull/1237.
Setting the boolean ClearInitLocals is sufficient here because we are
only linking the target assembly. If in the future we need to control
it per-assembly, we can use metadata on AssemblyPaths:
https://github.com/mono/linker/blob/master/src/ILLink.Tasks/LinkTask.cs#L23

4 years agoAdd an msbuild property to pass a JavaScript engine in WASM test build (#37420)
Maxim Lipnin [Thu, 4 Jun 2020 23:17:13 +0000 (02:17 +0300)]
Add an msbuild property to pass a JavaScript engine in WASM test build (#37420)

4 years agoCompress mono builds that don't run tests to single jobs (#37373)
Santiago Fernandez Madero [Thu, 4 Jun 2020 22:57:10 +0000 (15:57 -0700)]
Compress mono builds that don't run tests to single jobs (#37373)

* Compress mono builds that don't run tests to single jobs

* PR Feedback

4 years agoAllow user to specify independent heap hard limits for different object heaps. (...
Andrew Au [Thu, 4 Jun 2020 21:02:37 +0000 (14:02 -0700)]
Allow user to specify independent heap hard limits for different object heaps. (#37166)

4 years agoFix UpdatePackageIndex UsingTask (#37369)
Viktor Hofer [Thu, 4 Jun 2020 20:06:47 +0000 (22:06 +0200)]
Fix UpdatePackageIndex UsingTask (#37369)

* Fix UpdatePackageIndex UsingTask

4 years agoUpdate xunit.runner.visualstudio (#37317)
Viktor Hofer [Thu, 4 Jun 2020 20:05:48 +0000 (22:05 +0200)]
Update xunit.runner.visualstudio (#37317)

* Update xunit.runner.visualstudio

Updating the xunit VS runner to honor default filters specified in a runsettings file. This will filter out ActiveIssue / failing tests in VS Test Explorer.

4 years agoAlso check shutdown state in precondition (#37371)
John Salem [Thu, 4 Jun 2020 19:39:20 +0000 (12:39 -0700)]
Also check shutdown state in precondition (#37371)

* there is a race that can result in the process starting shutdown before the server starts.
  The server is resilient to shutdown happening, but the precondition assumes we aren't
  in shutdown when the thread starts.  This change makes the precondition check the
  shutdown state in the precondition as well.

4 years ago[master] Update dependencies from mono/linker Microsoft/vstest (#37413)
dotnet-maestro[bot] [Thu, 4 Jun 2020 19:06:13 +0000 (14:06 -0500)]
[master] Update dependencies from mono/linker Microsoft/vstest (#37413)

* Update dependencies from https://github.com/mono/linker build 20200604.2

Microsoft.NET.ILLink.Tasks
 From Version 5.0.0-preview.3.20303.1 -> To Version 5.0.0-preview.3.20304.2

* Update dependencies from https://github.com/microsoft/vstest build 20200603-01

Microsoft.NET.Test.Sdk
 From Version 16.7.0-preview-20200529-01 -> To Version 16.7.0-preview-20200603-01

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoAdd additional test coverage for other digest algorithms with RSA
Kevin Jones [Thu, 4 Jun 2020 17:47:03 +0000 (13:47 -0400)]
Add additional test coverage for other digest algorithms with RSA

4 years agoFix check for equal compare operands (#37379)
Carol Eidt [Thu, 4 Jun 2020 17:41:30 +0000 (10:41 -0700)]
Fix check for equal compare operands (#37379)

Fix #36616

4 years agoRemove GenericArraySortHelper from ILLinkTrim xml (#37286)
Jose Perez Rodriguez [Thu, 4 Jun 2020 17:16:19 +0000 (10:16 -0700)]
Remove GenericArraySortHelper from ILLinkTrim xml (#37286)

4 years agoIlverify fixes (#37388)
Jan Kotas [Thu, 4 Jun 2020 16:44:11 +0000 (09:44 -0700)]
Ilverify fixes (#37388)

* Statically link ILVerification library with tests to fix test build breaks

* Fix README.md

4 years agoDev infra master merge1 (#37274)
Jarret Shook [Thu, 4 Jun 2020 15:43:40 +0000 (08:43 -0700)]
Dev infra master merge1 (#37274)

* Build all managed coreclr tests on OSX in CI (#36253)

Remove concept of targetGeneric and targetSpecific

Add OSX corelcr managed tests builds to all pipes
Remove all other platform coreclr managed test build

Remove property `TestUnsupportedOutsideWindows`
Rename conditional `DisableProjectBuild` to `CLRTestTargetUnsupported`

Refactor tests to allow all managed tests to be built on OSX.

Split managed tests which based on target properties conditionally:
+ `<Compile Include/>`
+ `<DefineConstant/>`

This creates a separate test for each target configuration permutation.

Add `<CLRTestTargetUnsupported/>` conditions to select these at build and/or
run time

Append split tests with `_Target*` to identify intended test target

For tests which depend on target specific internal details od System.Private.Corlib,
expose a dummy implementation for unsupported targets.

Clean up

Remove <TraitTags/>
Remove <CLRTestNeedTarget/>
Remove managedOSXBuild
Remove managedTestBuildOsGroup
Remove managedTestBuildOsSubGroup

Use issues.target to disable expected failures

Some tests are configured to run on a targets with
specific charecteristics.

Use issues.targets to conditionally disable tests
not intended to run on all targets.

* Setup pr and batch runs for dev/infrsatructure (#36218) (#36299)

Co-authored-by: Jarret Shook <jashoo@microsoft.com>
* Add alias CoreClrTestBuildHost (#36256)

* Add alias CoreClrTestBuildHost

Intended to allow easy switching of test build host between OSX_x64 & Linux_x64
depending on availablility and reliability.

* Add missing issues.targets from #36253 (#36351)

* Add missing issues.targets from #36253

PR #36253 enabled building all tests on OSX. It was intended to include this list of
tests to disable on unsupported platforms. This was dropped as part of rebasing for
dev/infra branch.

Lack of CI on dev/infra allowed this to be missed.

* Revise issues.targets

* Add src/coreclr/tests/src/baseservices/typeequivalence/simple

* Remove #if Windows from DllImportPathTest

* Build scripts while copying native binaries (#36482)

* Build scripts while copying native binaries

Stop building test scripts during the managed build phase
Build after copying the native targets

Fixes issues relative to building scripts on OSX

* Fix superpmi script generation

* Cleanup issues.targets

* Keep 6 failing IJW tests

* Fix IJW when managed tests are built on OSX (#36711)

* Fix IJW when managed tests are built on OSX

- Refactor Interop.setting.targets to Directory.Build.{targets,props}
- Remove include Interop.setting.targets from interop projects rely on SDK including
    Directory.Build.* automatically
- Add new CopyInteropNativeRuntimeDependencies target for copying IJW dependencies
  * Add <Copy/> task
- Delete obsolete instruction in Interop/ReadMe.md

* Cleanup Readme.md

* Optional stress dependencies & don't populate CORE_ROOT twice (#36851)

Bruce noticed that we're downloading and installing stress
runtime dependencies several times during build. I have added a new
option to suppress this behavior in build-test and I fixed the
invocations of build-test based on Bruce's analysis. I have also
patched the build scripts to avoid populating CORE_ROOT in
"copynativeonly" mode.

Thanks

Tomas

Fixes: #36797

* Build test scripts whenever CopyNativeProjectBinaries builds (#37028)

* Fix pri0 test build.

* Clean pri1 test build (#37266)

* Clean pri1 test build

* Undo testing comment

* Make sure weakreferencetest does not run on unix

* Fixup WinRT proj

* Fix path

Co-authored-by: Steve MacLean <Steve.MacLean@microsoft.com>
Co-authored-by: Tomáš Rylek <trylek@microsoft.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Andy Ayers <andya@microsoft.com>
Co-authored-by: Adeel Mujahid <adeelbm@outlook.com>
Co-authored-by: Ganbarukamo41 <ganbarukamo@gmail.com>
Co-authored-by: monojenkins <jo.shields+jenkins@xamarin.com>
Co-authored-by: thaystg <thaystg@users.noreply.github.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Kevin Jones <kevin@vcsjones.com>
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Egor Bogatov <egorbo@gmail.com>
Co-authored-by: Simon Nattress <nattress@gmail.com>
Co-authored-by: Aleksey Kliger (λgeek) <alklig@microsoft.com>
Co-authored-by: Krzysztof Wicher <kwicher@microsoft.com>
Co-authored-by: Kunal Pathak <Kunal.Pathak@microsoft.com>
Co-authored-by: Carol Eidt <carol.eidt@microsoft.com>
Co-authored-by: Shimmy <2716316+weitzhandler@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Layomi Akinrinade <laakinri@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
Co-authored-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
Co-authored-by: Jose Perez Rodriguez <joperezr@microsoft.com>
Co-authored-by: Alexander Chermyanin <flamencist@mail.ru>
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
Co-authored-by: Sergey Andreenko <seandree@microsoft.com>
Co-authored-by: Nikola Milosavljevic <nikolam@microsoft.com>
Co-authored-by: Steve Pfister <steveisok@users.noreply.github.com>
Co-authored-by: David Wrighton <davidwr@microsoft.com>
Co-authored-by: buyaa-n <bunamnan@microsoft.com>
Co-authored-by: Krzysztof Wicher <mordotymoja@gmail.com>
Co-authored-by: Vladimir Sadov <vsadov@microsoft.com>
Co-authored-by: Leandro Pereira <leandro.pereira@microsoft.com>
Co-authored-by: Swaroop Sridhar <swaroop.sridhar@microsoft.com>
Co-authored-by: Marie Píchová <11718369+ManickaP@users.noreply.github.com>
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
Co-authored-by: Manish Godse <61718172+mangod9@users.noreply.github.com>
Co-authored-by: Bruce Forstall <brucefo@microsoft.com>
Co-authored-by: Alexis Christoforides <alexis@thenull.net>
Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
Co-authored-by: Alfred Myers <git@alfredmyers.com>
Co-authored-by: Nick Craver <nrcraver@gmail.com>
Co-authored-by: Nathan Ricci <naricc@microsoft.com>
Co-authored-by: Thays Grazia <thaystg@gmail.com>
Co-authored-by: Yoh Deadfall <yoh.deadfall@hotmail.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Jo Shields <directhex@apebox.org>
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
Co-authored-by: Anirudh Agnihotry <anirudhagnihotry098@gmail.com>
Co-authored-by: Roman Marusyk <Marusyk@users.noreply.github.com>
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
Co-authored-by: Youssef Victor <31348972+Youssef1313@users.noreply.github.com>
Co-authored-by: Ben Adams <thundercat@illyriad.co.uk>
Co-authored-by: Marek Safar <marek.safar@gmail.com>
Co-authored-by: Anton Lapounov <antonl@microsoft.com>
Co-authored-by: AraHaan <15173749+AraHaan@users.noreply.github.com>
Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
Co-authored-by: Tomas Weinfurt <furt@Shining.local>
Co-authored-by: David Cantu <dacantu@microsoft.com>
Co-authored-by: Sung Yoon Whang <suwhang@microsoft.com>
Co-authored-by: Levi Broderick <GrabYourPitchforks@users.noreply.github.com>
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Co-authored-by: David Mason <davmason@microsoft.com>
Co-authored-by: UnityAlex <UnityAlex@users.noreply.github.com>
Co-authored-by: Fan Yang <52458914+fanyang-mono@users.noreply.github.com>
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
Co-authored-by: radical <radical@users.noreply.github.com>
Co-authored-by: Ivan Diaz Sanchez <ivdiazsa@microsoft.com>
Co-authored-by: Gleb Balykov <g.balykov@samsung.com>
Co-authored-by: Honza Rameš <ramejan@gmail.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Co-authored-by: Ivan <ivanbuha@outlook.com>
Co-authored-by: Ryan Lucia <rylucia@microsoft.com>
Co-authored-by: SRV <roman.sakno@gmail.com>
Co-authored-by: Clinton Ingram <clinton.ingram@outlook.com>
Co-authored-by: Mikhail Pilin <ww898@users.noreply.github.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: w-flo <w-flo@users.noreply.github.com>
Co-authored-by: Peter Sollich <petersol@microsoft.com>
Co-authored-by: grendello <grendello@users.noreply.github.com>
Co-authored-by: Johan Lorensson <lateralusx.github@gmail.com>
Co-authored-by: Erhan Atesoglu <47518605+eanova@users.noreply.github.com>
Co-authored-by: Matt Mitchell <mmitche@microsoft.com>
Co-authored-by: Josh Schreuder <joshschreuder@gmail.com>
Co-authored-by: Josh Schreuder <josh.schreuder@gmail.com>
Co-authored-by: Andrew Au <andrewau@microsoft.com>
Co-authored-by: Eugene Rozenfeld <erozen@microsoft.com>
Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
Co-authored-by: Kenneth Pouncey <kjpou@pt.lu>
Co-authored-by: Kirill Frolov <k.frolov@samsung.com>
Co-authored-by: Tomas Weinfurt <furt@DESKTOP-0J9757E.corp.microsoft.com>
4 years agoSafeProcessHandle.Unix: fix missing DangerousRelease (#37412)
Tom Deseyn [Thu, 4 Jun 2020 14:53:27 +0000 (16:53 +0200)]
SafeProcessHandle.Unix: fix missing DangerousRelease (#37412)

Because the SafeProcessHandle was not owned, ReleaseHandle was
not called, causing the wrapped SafeWaitHandle to never release
its resources.

4 years ago[x86/Linux] Fix SIGSEGV during evaluation abort routine. (#37406)
Mikhail Kurinnoi [Thu, 4 Jun 2020 12:56:48 +0000 (15:56 +0300)]
[x86/Linux] Fix SIGSEGV during evaluation abort routine. (#37406)

In case of evaluation with implicit function call aborted by ```ICorDebugEval::Abort()```, CoreCLR crash with SIGSEGV at line https://github.com/dotnet/runtime/blob/e25517ea27311297c1e3946acb3b4382d5fa7fef/src/coreclr/src/vm/jitinterface.cpp#L14293 since ```m_pJM``` is ```NULL```.
This happens because during ```EECodeInfo::Init()``` call, ```codeAddress``` parameter provide address inside native code region (this address belong to CallDescrWorkerInternal(), libcoreclr.so), but not address inside managed code, so, ```ExecutionManager::FindCodeRange()``` can't find appropriate ```RangeSection```.

During investigation I found, that at line https://github.com/dotnet/runtime/blob/e25517ea27311297c1e3946acb3b4382d5fa7fef/src/coreclr/src/vm/stackwalk.cpp#L2584 current context was not changed properly (we have wrong ```Eip``` register value).
I found, that ```FuncEvalFrame::UpdateRegDisplay()``` code
https://github.com/dotnet/runtime/blob/e25517ea27311297c1e3946acb3b4382d5fa7fef/src/coreclr/src/debug/ee/debugger.inl#L238-L247
don't have x86/Linux support implemented.

I propose changes, that were already made for other ```UpdateRegDisplay()``` implementations in order to provide proper context for x86/Linux.

4 years agoRename DynamicallyAccessedMemberTypes.DefaultConstructor (#37297)
Michal Strehovský [Thu, 4 Jun 2020 09:21:25 +0000 (11:21 +0200)]
Rename DynamicallyAccessedMemberTypes.DefaultConstructor (#37297)

4 years agofix test failure in crossgen2 (#37299)
David Mason [Thu, 4 Jun 2020 09:20:19 +0000 (02:20 -0700)]
fix test failure in crossgen2 (#37299)

4 years agoFixed VS debugging link (#37407)
Yoh Deadfall [Thu, 4 Jun 2020 09:12:15 +0000 (12:12 +0300)]
Fixed VS debugging link (#37407)

4 years agoFix for Crossgen2 compilation of System.ServiceModel.Syndication (#35728)
Tomáš Rylek [Thu, 4 Jun 2020 09:08:04 +0000 (11:08 +0200)]
Fix for Crossgen2 compilation of System.ServiceModel.Syndication (#35728)

I have added a new flag CORINFO_FLG_DONT_PROMOTE
to suppress field promotion for types outside of the compilation
version bubble. I have also fixed two other small inconsistencies
I noticed in the investigation:

1) I have changed getClassName to use TypeString as the output
matches Crossgen1 and makes NGenDump outputs easier to compare.

2) When I was comparing the NGen dumps, I noticed a check in
Crossgen1 missing in Crossgen2 - only setting
CORINFO_FLG_BEFOREFIELDINIT for types in the same version bubble;
so I made it conditional in Crossgen2 too.

Thanks

Tomas

4 years agoAdd runtime detection for CovariantReturnsOfClasses (#37315)
Michal Strehovský [Thu, 4 Jun 2020 07:27:30 +0000 (09:27 +0200)]
Add runtime detection for CovariantReturnsOfClasses (#37315)

Was missed in #37276.

4 years ago[browser][wasm] Correct the interop call to prevent crash (#37343)
Kenneth Pouncey [Thu, 4 Jun 2020 05:22:20 +0000 (07:22 +0200)]
[browser][wasm] Correct the interop call to prevent crash (#37343)

4 years agoUse OrdinalIgnoreCase in IdnMapping (#37348)
Stephen Toub [Thu, 4 Jun 2020 02:22:06 +0000 (22:22 -0400)]
Use OrdinalIgnoreCase in IdnMapping (#37348)

* Use OrdinalIgnoreCase in IdnMapping

If only case has changed, we can still return the original string.  This helps avoid a string allocation when using ICU (both Unix and Windows), which lowercases ASCII inputs.

* Remove ICU special-casing for ASCII in tests

4 years agoChange Http2Connection.StartWriteAsync to use a callback model (#37353)
Stephen Toub [Thu, 4 Jun 2020 00:49:00 +0000 (20:49 -0400)]
Change Http2Connection.StartWriteAsync to use a callback model (#37353)

* Change Http2Connection.StartWriteAsync to use a callback model

In all of the places we use StartWriteAsync, it's followed by some amount of synchronous work and then releasing the lock.  We can instead pass that synchronous work into StartWriteAsync as a callback.  This has a few benefits:
1. If/when StartWriteAsync completes asynchronously, in most of the call sites we don't incur another async method then completing asynchronously and allocating its state machine, or needing to call through another layer of state machines.
2. We can have spans as locals inside of the callbacks as they're not async methods, which lets us reduce the number of times we access Memory.Span.
3. We can more easily experiment with different execution models around invoking the work waiting for the lock.

* Tweak Active/AvailableMemory properties/methods

* Address PR feedback

4 years agoRevert required global sdk (#37372)
Santiago Fernandez Madero [Wed, 3 Jun 2020 23:58:16 +0000 (16:58 -0700)]
Revert required global sdk (#37372)

4 years agoOptimize AsVector, AsVector128, GetUpper, As and WithElement with ARM64 intrinsics...
Kunal Pathak [Wed, 3 Jun 2020 23:12:43 +0000 (16:12 -0700)]
Optimize AsVector, AsVector128, GetUpper, As and WithElement with ARM64 intrinsics (#37338)

* Optimize Vector64/Vector128 WithElement()
* Optimize Vector64.As
* Optimize Vector128.GetUpper() in JIT
* Optimize AsVector128, AsVector and AsVector4

4 years agoOnly pack either debug or release dotnet.js/wasm files in runtime pack (#37347)
Alexander Köplinger [Wed, 3 Jun 2020 22:13:16 +0000 (00:13 +0200)]
Only pack either debug or release dotnet.js/wasm files in runtime pack (#37347)

Change the runtime pack to only include either the debug or release version of dotnet.js/wasm like we do for other targets.

Fixes an issue where self-contained publish didn't work anymore because the RuntimeList.xml contained two files with the same name.

4 years agoRemove exclude paths for libraries and installer (#37316)
Drew Scoggins [Wed, 3 Jun 2020 22:12:56 +0000 (15:12 -0700)]
Remove exclude paths for libraries and installer (#37316)

4 years agoFix Crst level violation error on SendMethodDetails event (#36932)
Sung Yoon Whang [Wed, 3 Jun 2020 21:07:56 +0000 (14:07 -0700)]
Fix Crst level violation error on SendMethodDetails event (#36932)

* fix race condition in AddTypeToGlobalCacheIfNotExists during rundown

* check for s_pAllLoggedTypes==NULL under lock

* delete

* code review feedback

4 years agoDisable sourcelink validation in the build (#37324)
Matt Mitchell [Wed, 3 Jun 2020 21:05:15 +0000 (14:05 -0700)]
Disable sourcelink validation in the build (#37324)

Now available in nightly runs and in the prep stage for releases

4 years agoMerge pull request #37275 from tqiu8/emsdk-documentation
Larry Ewing [Wed, 3 Jun 2020 20:48:45 +0000 (15:48 -0500)]
Merge pull request #37275 from tqiu8/emsdk-documentation

[wasm] add documentation for updating emscripten ver

4 years ago[master] Update dependencies from mono/linker dotnet/xharness (#37345)
dotnet-maestro[bot] [Wed, 3 Jun 2020 20:31:45 +0000 (20:31 +0000)]
[master] Update dependencies from mono/linker dotnet/xharness (#37345)

* Update dependencies from https://github.com/mono/linker build 20200603.1

Microsoft.NET.ILLink.Tasks
 From Version 5.0.0-preview.3.20302.1 -> To Version 5.0.0-preview.3.20303.1

* Update dependencies from https://github.com/dotnet/xharness build 20200603.2

Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.20301.2 -> To Version 1.0.0-prerelease.20303.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoEnable eliding some bounds checks in the jit (#36263)
nathan-moore [Wed, 3 Jun 2020 20:13:45 +0000 (16:13 -0400)]
Enable eliding some bounds checks in the jit (#36263)

* Fix case of subtracted length

* Handle GT_COMMA

* Added addional logging around pessimistic check

* Fix up comments

* formating

* Typo

4 years agoOnly pack either debug or release dotnet.js/wasm files in runtime pack
Alexander Köplinger [Wed, 3 Jun 2020 13:01:04 +0000 (15:01 +0200)]
Only pack either debug or release dotnet.js/wasm files in runtime pack

Change the runtime pack to only include either the debug or release version of dotnet.js/wasm like we do for other targets.

Fixes an issue where self-contained publish didn't work anymore because the RuntimeList.xml contained two files with the same name.

4 years agoAdd logic to properly honor naming policy when serializing flag enums (#36726)
Layomi Akinrinade [Wed, 3 Jun 2020 17:36:55 +0000 (13:36 -0400)]
Add logic to properly honor naming policy when serializing flag enums (#36726)

* Add logic to properly honor naming policy when serializing flag enums

* Cache JsonEncodedText, add optimization to-do, and use .Contains

* Fix CI failure

* Apply feedback, use enum value as lookup key, cache result even when naming policy is not used

* Use ulong as name cache key and perform caching at warm up

* Address feedback - set cap for name cache, compute cache key properly, and add more tests

4 years agoFix mono_asmctx_get_name () after #37264. (#37340)
Zoltan Varga [Wed, 3 Jun 2020 17:28:31 +0000 (13:28 -0400)]
Fix mono_asmctx_get_name () after #37264. (#37340)

4 years agoMacOS createdump and createdump cleanup. (#37224)
Mike McLaughlin [Wed, 3 Jun 2020 16:51:25 +0000 (09:51 -0700)]
MacOS createdump and createdump cleanup. (#37224)

* General createdump cleanup.

Converted the char* name fields (process name in CrashInfo and module name in MemoryRegion) to std::string for easier cleanup and usage.

Removed the vestiges of the SOS support (the m_sos flag, ThreadInfo::GetRegistersWithDataTarget(), etc.).

Moved the Linux read memory code out of the DataTarget into CrashInfo. DataTarget is now a thin wrapper around CrashInfo.

In the dumpwriter, fix the "number of program headers" calculate to just the ones backed by memory. Only write the memory regions backed by memory.  This makes lldb fail the memory read in these regions instead of returning zeros.

Removed the TRACE macro from the ElfReader; use the Trace() virtual method directly.

* Add MacOS createdump

Add MachO in-memory module reader (MachOReader).

Refactor CrashInfo and ThreadInfo in Unix and MacOS versions.

Enabled crash/unhandled exception createdump trigger.

Add unwind and eh frame info to coredump