platform/upstream/dotnet/runtime.git
4 years agoVector abi tests and reverse pinvoke fixes (#32034)
David Wrighton [Thu, 13 Feb 2020 23:44:41 +0000 (15:44 -0800)]
Vector abi tests and reverse pinvoke fixes (#32034)

- Fix issues noted in returning structures from reverse p/invokes

* Add tests for marshalling Vector2/3/4
- Anticipated work on Windows Amd64 calling conventions may affect this, so this needs testing
* Updates to add return struct marshalling tests/fixes
- Adjust some reverse p/invoke struct marshalling tests to add coverage for returning structures
  - Coverage includes a 3 byte, 4 byte struct, 8 byte struct, and a large struct
  - Note: There is a code in mlinfo.cpp which explicitly makes support for returning 3, 5, 6, and 7 on X86 follow the wrong calling convention by rounding the size to a 4 byte boundary. I've left this unfortunate detail in place.
* Re-encode ReversePInvokeTest.cs to utf8 to reduce future diffing burden

4 years agoUpdate CODEOWNERS and scripts (#32251)
Chris Ross [Thu, 13 Feb 2020 23:29:41 +0000 (15:29 -0800)]
Update CODEOWNERS and scripts (#32251)

4 years agouse proper IO in ssl handshake (#32013)
Tomas Weinfurt [Thu, 13 Feb 2020 23:07:49 +0000 (15:07 -0800)]
use proper IO in ssl handshake (#32013)

* use proper IO in ssl handshake

* fix UnitTests/Fakes

* feedback from review

* rename adapters to SyncSslIOAdapter and AsyncSslIOAdapter

* feedback from review

4 years agoMerge pull request #32184 from steveharter/FileCleanup
Steve Harter [Thu, 13 Feb 2020 21:50:44 +0000 (15:50 -0600)]
Merge pull request #32184 from steveharter/FileCleanup

System.Text.Json file and converter name clean-up (no functional changes)

4 years agoRemove dead code in S.R.S.Formatters.Tests (#32229)
Viktor Hofer [Thu, 13 Feb 2020 21:27:01 +0000 (22:27 +0100)]
Remove dead code in S.R.S.Formatters.Tests (#32229)

4 years agoSkip res. intensive BinaryFormatter tests on chk (#32245)
Viktor Hofer [Thu, 13 Feb 2020 21:24:07 +0000 (22:24 +0100)]
Skip res. intensive BinaryFormatter tests on chk (#32245)

* Skip res. intensive BinaryFormatter tests on chk

Those tests are taking too long for our default timeout on Checked
configurations and that configuration doesn't provide much value there.

* Update BinaryFormatterTests.cs

4 years ago[runtime] Disable assertion messages for g_assertf as well if DISABLE_ASSERT_MESSAGES...
monojenkins [Thu, 13 Feb 2020 21:20:38 +0000 (16:20 -0500)]
[runtime] Disable assertion messages for g_assertf as well if DISABLE_ASSERT_MESSAGES is used. (#32018)

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
4 years ago[mini] Move netcore hosting functionality into separate file (#32136)
Ryan Lucia [Thu, 13 Feb 2020 20:36:18 +0000 (15:36 -0500)]
[mini] Move netcore hosting functionality into separate file (#32136)

* [mini] Move netcore hosting functionality into separate file

* [loader] Don't crash in the preload hook if the TPA paths aren't set

* [loader] Never request a refonly load in netcore preload hook

* Assert not refonly in netcore preload hook

* Add new files to msvc build

4 years agoFix handling of non-reg-passed HFA (#32180)
Carol Eidt [Thu, 13 Feb 2020 18:56:30 +0000 (10:56 -0800)]
Fix handling of non-reg-passed HFA (#32180)

Fix #31673

4 years agoDisabling x86 Win7&8.1 helix test runs (#32233)
Viktor Hofer [Thu, 13 Feb 2020 18:21:02 +0000 (19:21 +0100)]
Disabling x86 Win7&8.1 helix test runs (#32233)

These runs are failing frequently based on Client are fully patched.

4 years agoAdditional renaming and csproj changes
Steve Harter [Wed, 12 Feb 2020 17:33:07 +0000 (11:33 -0600)]
Additional renaming and csproj changes

4 years agoRename converter types
Steve Harter [Wed, 12 Feb 2020 17:30:20 +0000 (11:30 -0600)]
Rename converter types

4 years agoRename and move converter files
Steve Harter [Wed, 12 Feb 2020 16:30:38 +0000 (10:30 -0600)]
Rename and move converter files

4 years agoClean up improper usage of linguistic string functions (#31968)
Levi Broderick [Thu, 13 Feb 2020 17:40:34 +0000 (09:40 -0800)]
Clean up improper usage of linguistic string functions (#31968)

- Optimize ToUpperInvariant/ToLowerInvariant
- Also optimize static field TextInfo.Invariant
- Rewrite ToUpper/Lower(Invariant) call sites to use optimized method
- Fix some uses of culture-aware ToUpper / ToLower to use invariant culture
- Replace Trim().Length with IsNullOrWhiteSpace where appropriate
- Use ordinal StartsWith / EndsWith where appropriate
- Avoid calling CultureInfo.InvariantCulture where possible

4 years agoFurther removal of old framework aliases in docs
Viktor Hofer [Thu, 13 Feb 2020 17:17:30 +0000 (18:17 +0100)]
Further removal of old framework aliases in docs

4 years agoRemove old frameworks and use dotnet build in docs
Viktor Hofer [Thu, 13 Feb 2020 17:15:14 +0000 (18:15 +0100)]
Remove old frameworks and use dotnet build in docs

4 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20200212.7 (#32224)
dotnet-maestro[bot] [Thu, 13 Feb 2020 16:46:18 +0000 (17:46 +0100)]
Update dependencies from https://github.com/dotnet/arcade build 20200212.7 (#32224)

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20112.7
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20112.7
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20112.7
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20112.7
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20112.7
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20112.7
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20112.7
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20112.7
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20112.7
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20112.7
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20112.7
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20112.7
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20112.7
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20112.7
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20112.7

4 years agoUpdate to the latest available Intellisense transport package. (#32218)
Ahson Khan [Thu, 13 Feb 2020 16:42:36 +0000 (08:42 -0800)]
Update to the latest available Intellisense transport package. (#32218)

4 years agoRemove unused variables and follow coding style (#677)
Youssef Victor [Thu, 13 Feb 2020 13:10:04 +0000 (15:10 +0200)]
Remove unused variables and follow coding style (#677)

* Remove unused variables and follow coding style

* Update BuildFolderSet.cs

* Use StartNew method based on stephen feedback

4 years ago[tests] Disable bug-10127.exe runtime test on Windows x64 (#32222)
monojenkins [Thu, 13 Feb 2020 12:50:05 +0000 (07:50 -0500)]
[tests] Disable bug-10127.exe runtime test on Windows x64 (#32222)

It hangs: https://github.com/mono/mono/issues/18827

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
4 years ago[interp] Always init locals (#32193)
monojenkins [Thu, 13 Feb 2020 12:00:51 +0000 (07:00 -0500)]
[interp] Always init locals (#32193)

Storing uninitialized locals in a managed object shouldn't crash the runtime, so they should be zeroed. This doesn't seem to regress performance on wasm since the initlocals flag is always set, currently. We should be able to remove it most of the time, once we add some multi basic block support to the cprop phase. This will enable us to further reduce call overhead.

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

Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
4 years ago[interp] Add missing conversion opcodes from r4 (#32196)
monojenkins [Thu, 13 Feb 2020 11:58:51 +0000 (06:58 -0500)]
[interp] Add missing conversion opcodes from r4 (#32196)

Fixes tests from System.Linq.Expressions suite

Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
4 years ago[runtime] Add --enable-minimal=processes,config options to disable support for proces...
monojenkins [Thu, 13 Feb 2020 11:55:21 +0000 (06:55 -0500)]
[runtime] Add --enable-minimal=processes,config options to disable support for processes and .config files. (#32217)

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
4 years ago[llvm] Remove a wasm limitation which no longer exists. (#32163)
monojenkins [Thu, 13 Feb 2020 08:37:09 +0000 (03:37 -0500)]
[llvm] Remove a wasm limitation which no longer exists. (#32163)

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
4 years ago[interp][wasm] Make newobj_fast not recursive, cleanup, fix EXCEPTION_CHECKPOINT...
monojenkins [Thu, 13 Feb 2020 08:14:18 +0000 (03:14 -0500)]
[interp][wasm] Make newobj_fast not recursive, cleanup, fix EXCEPTION_CHECKPOINT. (#31856)

Make newobj_fast not recursive.
This contributes significantly to https://github.com/mono/mono/issues/18646,
and against master might even fix it.
Much recursion remains in the interpreter/transform.

This also cleans up redundant code, i.e. method_entry,
and places EXCEPTION_CHECKPOINT more correctly,
i.e. when transform occurs but does not return an exception.
EXCEPTION_CHECKPOINT fix is necessary so that non-recursive newobj_fast does not break one test.

One more item, could be separate PR:
Making call_vararg added the following to all calls:
  storing is_void in a larger scoped local
  save is_void
  restore is_void
  check is_void, along with preexisting check of retval == null

Because retval must be set even for void call_varargs, because the arglist is found from it.
This removes the check of retval == null, it should be redundant with is_void.
Since there was complaint about call_vararg inefficiency, this fixes part of it.

Co-authored-by: Jay Krell <jay.krell@cornell.edu>
4 years agoEnable Mono ARM & ARM64 Linux builds (#32181)
Jo Shields [Thu, 13 Feb 2020 06:15:20 +0000 (01:15 -0500)]
Enable Mono ARM & ARM64 Linux builds (#32181)

* Enable cross-compiling for ARM{64} with ./mono.sh --arch arm{64}

* Add Mono ARM/ARM64 builds to CI

* Ensure we don't use win-arm64 RID on `./mono --pack`

* Don't replace prof_ldflags on non-Linux

4 years agoFix nullability warnings in System.Diagnostics.Process (#32211)
Stephen Toub [Thu, 13 Feb 2020 06:01:42 +0000 (22:01 -0800)]
Fix nullability warnings in System.Diagnostics.Process (#32211)

4 years agoAdd initial mono CODEOWNERS file (#32198)
Ryan Lucia [Thu, 13 Feb 2020 04:11:06 +0000 (23:11 -0500)]
Add initial mono CODEOWNERS file (#32198)

* Add initial mono CODEOWNERS file

* Add Alexis to a few more dirs

* Add Egor to LLVM dirs

4 years agoDisable System.Reflection.Emit.Tests in mono (#32201)
Santiago Fernandez Madero [Thu, 13 Feb 2020 03:01:26 +0000 (19:01 -0800)]
Disable System.Reflection.Emit.Tests in mono (#32201)

4 years agoAdd span-based methods to Decimal (#32155)
Stephen Toub [Thu, 13 Feb 2020 02:43:16 +0000 (18:43 -0800)]
Add span-based methods to Decimal (#32155)

* Add span-based methods to Decimal

* Address PR feedback

Add missing tests

* Address PR feedback

4 years agoImplement WaitForExitAsync for System.Diagnostics.Process (#1278)
Matt Kotsenas [Thu, 13 Feb 2020 02:16:21 +0000 (21:16 -0500)]
Implement WaitForExitAsync for System.Diagnostics.Process (#1278)

* Add Process.WaitForExitAsync() and associated unit tests

Add a task-based `WaitForExitAsync()` for the `Process` class, and
duplicate existing `WaitForExit()` tests to add async versions.

In order to ensure that the `Exited` event is never lost, it is the
callers responsibility to ensure that `EnableRaisingEvents` is `true`
_prior_ to calling `WaitForExitAsync()`. A new
`InvalidOperationException` is introduced to enforce those semantics.

* Review feedback: Change WaitForExitAsync to return Task

Per review feedback, change `WaitForExitAsync` to return a `Task`
instead of `Task<bool>`. Now, to determine if the process has exited,
callers should check `HasExited` after the await, and cancellation
follows the async pattern of setting canceled on the task.

* Remove asserts on Task properties

Per code review feedback, remove the asserts that verify that the Task
returned by WaitForExitAsync is completed successfully / canceled, as
they're essentially Task tests and not relevant to WaitForExitAsync.

* Fix unit test to not create async void

Per code review feedback, fix the
MultipleProcesses_ParallelStartKillWaitAsync test to make work a
`Func<Task>` instead of an `Action` since we're await-ing it.

* Remove implicit delegate creation for ExitHandler

Per code review feedback, converting ExitHandler from a local function
to an `EventHandler` to avoid the extra delegate allocation to convert
between the types.

* Flow CancellationToken to OperationCanceledExceptions

Per code review, register the `TaskCompletionSource` with the
`CancellationToken` so that if an `OperationCanceledException` is thrown
the relevant token is available on
`OperationCanceledException.CancellationToken`.

To accomplish that the `TaskCompletionSourceWithCancellation` class
that's internal to `System.Net.Http` is moved to Common and consumed in
both places.

Unit tests are also updated to verify that the cancellation token passed
in is the same one returned from
`OperationCanceledException.CancellationToken`.

* Do not require EnableRaisingEvents to already be true

Per code review feedback, update `WaitForExitAsync` to not require the
user to call `EnableRaisingEvents` first.

Setting `EnableRaisingEvents` ourselves introduces the chance for an
exception in the case where the process has already exited, so I've
added a comment to the top of the method to detail the possible paths
through the code and added comment annotations for each case.

Lastly, I updated the unit tests to remove `EnableRaisingEvents` calls.

* Follow style guidelines in ProcessWaitingTests

Per code review feedback, update the new unit tests in
ProcessWaitingTests to follow style guidelines.

* Update tests to follow coding guidelines

Per code review feedback, update tests to follow coding guidelines,
simplify creating cancellation tokens, and verify synchronous completion
of tasks in the exited / canceled case.

* Update WaitForExitAsync to early out in canceled case

Per code review feedback, add an early out for a non-exited process when
canceled.

* Add a test for completion without a cancellation token

Per code review feedback, add a test for a process that completes
normally and doesn't use a canellation token.

* Address PR feedback in xmldocs

Per code review feedback, update the xmldocs for `WaitForExitAsync` to
specify the language keyword for "true", and add a `<returns>` element.

* Update xmldocs per code review feedback

Per code review feedback, update xmldocs to list other conditions that
can cause the function to return.

* Update function guards per code review feedback

Per code review feedback, update the method guards to span multiple
lines to adhere to style guidelines.

* Refactor test to verify async as well as sync cancellation

Per code review feedback, update
SingleProcess_TryWaitAsyncMultipleTimesBeforeCompleting to test both the
case where the token is canceled before creating the Task as well as
after the task is already created.

4 years agomodify integral tryparse to use memcpy (#2295)
John Salem [Thu, 13 Feb 2020 02:14:46 +0000 (18:14 -0800)]
modify integral tryparse to use memcpy (#2295)

4 years agoAnnotate System.Net.Ping for nullable reference types (#32131)
Stephen Toub [Thu, 13 Feb 2020 01:44:17 +0000 (17:44 -0800)]
Annotate System.Net.Ping for nullable reference types (#32131)

4 years agoCall start earlier in System.Net.Quic (#32143)
Justin Kotalik [Thu, 13 Feb 2020 01:29:54 +0000 (17:29 -0800)]
Call start earlier in System.Net.Quic (#32143)

4 years agoImplement the JIT part of the dynamic dictionary expansion feature. (#31957)
Sergey Andreenko [Thu, 13 Feb 2020 00:23:56 +0000 (16:23 -0800)]
Implement the JIT part of the dynamic dictionary expansion feature. (#31957)

* Implement the JIT part of the dynamic dictionary expansion feature.

* review response.

* response review

4 years agoDisplay stack trace at stack overflow (#32167)
Jan Vorlicek [Thu, 13 Feb 2020 00:05:52 +0000 (01:05 +0100)]
Display stack trace at stack overflow (#32167)

This is a fixed version of the reverted commit.

This change enables printing stack trace at stack overflow to the
console. In case multiple threads fail with stack overflow in parallel,
only the trace of the first thread is printed.

There are couple of interesting details:

The stack trace is printed in a compressed form. The algorithm finds the
largest sequence of frames starting from the top of the stack that is
repeated and prints it just once with the repeat count.
Only the first thread that hits stack overflow gets its stack printed.
On Linux, others threads that hit stack overflow are held spinning until
the process exits. This enables having a single preallocated stack for
handling stack overflow. On Windows, we just don't print the stack
trace, as it would be messy anyways due to the interleaving of output
from multiple threads and the value of getting stack overflow traces of
multiple threads is questionable.
On debug / checked builds for Windows, I had to bump the stack guarantee
by two pages and also enable setting the stack guarantee for all threads
in these build flavors.
At couple of places in the runtime, there were debug checks comparing
explicit frame and some other struct addresses to the current SP. These
were firing on Linux when we are running on an extra stack overflow
handling stack. I've fixed it by adding a flag to the Thread that
indicates that we are running on an alternate stack and these checks
should be skipped.
I've fixed the x86 Windows JIT_StackProbe to first probe at SP-4 and
then move the SP to leave more stack space for the handler.
I've fixed stack overflow check on Linux for some glibc / distros. The
stack limit returned by the pthread_attr_getstack returns the address of
the guard page in some of the glibc / distros and address of the last
accessible page before the guard page on others. So I've relaxed the
check to consider +/- 1 page around the stack limit to recognize sigsegv
as stack overflow.

4 years agoremove dead code from SslStream (#32065)
Tomas Weinfurt [Wed, 12 Feb 2020 22:51:29 +0000 (14:51 -0800)]
remove dead code from SslStream (#32065)

* remove dead code from SslStream

* add equivalent ThrowIfExceptionalOrNotAuthenticated

4 years ago[threading] Switch to a native implementation of LowLevelLifoSemaphore (#2098)
Ryan Lucia [Wed, 12 Feb 2020 22:14:21 +0000 (17:14 -0500)]
[threading] Switch to a native implementation of LowLevelLifoSemaphore (#2098)

This change is motivated on two main fronts. The first is maintainability - the current managed implementation is difficult to understand and I worry diagnosing any potential issues would be a massive time sink. The second is performance - the current implementation appears to suffer from significant lock contention when running the TechEmpower plaintext benchmark. My hope is that the simpler, cleaner native implementation here will avoid both problems, but I don't want to merge it until we have benchmarking data. However, even if the numbers are similar, I still think it's worth merging just from a maintainability perspective.

The native LifoSemaphore implementation has only ever been tested on posix-like platforms, so Windows behavior is unknown. Currently the Windows implementation of LowLevelLifoSemaphore is very different, so unless we have need for the LifoSemaphore elsewhere in the runtime this isn't a concern.

Many thanks to @filipnavara for the initial implementation.

4 years ago[master] Update dependencies from dotnet/arcade (#32115)
dotnet-maestro[bot] [Wed, 12 Feb 2020 20:09:11 +0000 (20:09 +0000)]
[master] Update dependencies from dotnet/arcade (#32115)

* Update dependencies from https://github.com/dotnet/arcade build 20200210.11

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20110.11
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20110.11
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20110.11
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20110.11
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20110.11
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20110.11
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20110.11
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20110.11
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20110.11
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20110.11
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20110.11
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20110.11
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20110.11
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20110.11
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20110.11

* Update dependencies from https://github.com/dotnet/arcade build 20200211.3

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20111.3
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20111.3
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20111.3
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20111.3
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20111.3
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20111.3
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20111.3
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20111.3
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20111.3
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20111.3
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20111.3
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20111.3
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20111.3
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20111.3
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20111.3

* Update dependencies from https://github.com/dotnet/arcade build 20200211.5

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20111.5
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20111.5
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20111.5
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20111.5
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20111.5
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20111.5
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20111.5
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20111.5
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20111.5
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20111.5
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20111.5
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20111.5
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20111.5
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20111.5
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20111.5

* React to changes from https://github.com/dotnet/arcade/pull/4799

* Downgrade compiler version

* Update dependencies from https://github.com/dotnet/arcade build 20200211.11

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20111.11
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20111.11
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20111.11
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20111.11
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20111.11
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20111.11
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20111.11
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20111.11
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20111.11
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20111.11
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20111.11
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20111.11
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20111.11
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20111.11
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20111.11

* Disable serialization test on Mono

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
4 years agoMinor R2RDump improvements (#32178)
Tomáš Rylek [Wed, 12 Feb 2020 19:55:03 +0000 (20:55 +0100)]
Minor R2RDump improvements (#32178)

Based on JanV's suggestions and based on my own composite R2R work
I have made a few small improvements in R2RDump:

1) When normalization is on, we newly also normalize transition
records for a particular IP address.

2) New option --hide-transitions suppresses transition information
in the disassembly completely.

3) Logic for parsing the new OwnerCompositeExecutable R2R section.

Thanks

Tomas

4 years agoFix ActiveIssue issue number to use full Url (#32182)
Stephen Toub [Wed, 12 Feb 2020 19:38:36 +0000 (11:38 -0800)]
Fix ActiveIssue issue number to use full Url (#32182)

This is the only one in the repo still using a number.

4 years agoadding outerBuild\InnerBuild structure for generate reference source (#31892)
Anirudh Agnihotry [Wed, 12 Feb 2020 18:27:26 +0000 (10:27 -0800)]
adding outerBuild\InnerBuild structure for generate reference source (#31892)

* Using new custom target from arcade

* removing the outerbuild directory

4 years agoAdd basic RIDs for ios and tvos (#31953)
Marek Safar [Wed, 12 Feb 2020 18:00:10 +0000 (19:00 +0100)]
Add basic RIDs for ios and tvos (#31953)

4 years agoBring back T4 templating service for tt files (#32172)
Viktor Hofer [Wed, 12 Feb 2020 17:04:52 +0000 (18:04 +0100)]
Bring back T4 templating service for tt files (#32172)

4 years agoDisable constantly failing NetworkInformation test (#32176)
Viktor Hofer [Wed, 12 Feb 2020 17:04:22 +0000 (18:04 +0100)]
Disable constantly failing NetworkInformation test (#32176)

4 years agoUpdate to preview branding (#31744)
Matt Mitchell [Wed, 12 Feb 2020 16:56:29 +0000 (08:56 -0800)]
Update to preview branding (#31744)

4 years agoRestructure shared http code (#32141)
Chris Ross [Wed, 12 Feb 2020 16:49:27 +0000 (08:49 -0800)]
Restructure shared http code (#32141)

4 years agoFix AppDomain.SetPrincipalPolicy bug for new threads (#32104)
Marco Rossignoli [Wed, 12 Feb 2020 16:25:10 +0000 (17:25 +0100)]
Fix AppDomain.SetPrincipalPolicy bug for new threads (#32104)

* fix principal policy for new threads

Fixes #31717

4 years agoMove getFieldInfo to CorInfoImpl.ReadyToRun (#32159)
Tomáš Rylek [Wed, 12 Feb 2020 14:41:11 +0000 (15:41 +0100)]
Move getFieldInfo to CorInfoImpl.ReadyToRun (#32159)

4 years agoRemove links to issues in old repositories
Viktor Hofer [Wed, 12 Feb 2020 12:44:47 +0000 (13:44 +0100)]
Remove links to issues in old repositories

4 years agoSimplify signature context management in Crossgen2 (#32158)
Tomáš Rylek [Wed, 12 Feb 2020 12:42:07 +0000 (13:42 +0100)]
Simplify signature context management in Crossgen2 (#32158)

Based on my recent design discussions with JanK it turns out that
we don't want heterogeneous import cells in composite R2R images.
An interesting corollary of this fact is that the signature context
only changes internally during recursive descent into generic
signatures and at the top level it's a singleton during the entire
build. Due to this fact we don't need to store it in the various
import nodes and keys and we can just use the singleton in
NodeFactory. I have highlighted this fact by renaming it from
InputModuleContext to SignatureContext.

Thanks

Tomas

4 years ago[runtime] Call mono_stack_mark_record_size () only in a checked build, its slow,...
monojenkins [Wed, 12 Feb 2020 09:43:50 +0000 (04:43 -0500)]
[runtime] Call mono_stack_mark_record_size () only in a checked build, its slow, and the __FUNCTION__ argument creates a C string for every function name. (#32017)

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
4 years agoUnify int to hexadecimal char conversions (#1273)
Marek Safar [Wed, 12 Feb 2020 09:17:29 +0000 (10:17 +0100)]
Unify int to hexadecimal char conversions (#1273)

* Unify int to hexadecimal char conversions

This replaces about 7 different implementations with a single version

4 years ago[utils] Add unused attribute to fix warning in checked-build.c (#32138)
Ryan Lucia [Wed, 12 Feb 2020 06:57:29 +0000 (01:57 -0500)]
[utils] Add unused attribute to fix warning in checked-build.c (#32138)

4 years ago[jit] Add an #ifdef around MONO_CPU_WASM_SIMD. (#32014)
monojenkins [Wed, 12 Feb 2020 06:56:54 +0000 (01:56 -0500)]
[jit] Add an #ifdef around MONO_CPU_WASM_SIMD. (#32014)

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
4 years agoActually enables IOV features in createdump (#31782)
Next Turn [Wed, 12 Feb 2020 04:19:30 +0000 (12:19 +0800)]
Actually enables IOV features in createdump (#31782)

4 years agoRevert "Display stack trace at stack overflow (#31956)" (#32153)
Santiago Fernandez Madero [Wed, 12 Feb 2020 03:11:27 +0000 (19:11 -0800)]
Revert "Display stack trace at stack overflow (#31956)" (#32153)

This reverts commit 65587ba7b402411b62ce877ee044aef2c2c71dfd.

4 years agoReplace default(T) != null with typeof(T).IsValueType (#32098)
Levi Broderick [Wed, 12 Feb 2020 02:34:58 +0000 (18:34 -0800)]
Replace default(T) != null with typeof(T).IsValueType (#32098)

Only affects call sites which weren't intending to special-case Nullable<T>

4 years agoUnix: Default to a users-specific temp directory for extracting single-file apps...
Swaroop Sridhar [Wed, 12 Feb 2020 02:24:44 +0000 (18:24 -0800)]
Unix: Default to a users-specific temp directory for extracting single-file apps (#2329)

In .net core 3, single file apps run by extracting the bundled contents to a temp directory.
The extraction directory is machine specific, and can be set through DOTNET_BUNDLE_EXTRACT_BASE_DIR environment variable.

When this setting is not configured, the host tries to use certain default directories.
On windows, extraction is within %TMPDIR%, which is user specific.
On Unix systems $TMPDIR/.net if set, which may be user specific (ex: MAC)
Otherwise, the extraction directory is within /var/tmp/ or /tmp/ which is common to all users, and may be locked by a specific user on first creation.

Therefore, this change fixes this issue by defaulting the extraction base directory in Unix systems to
`<temp-dir>/.net/<user-ID>` , where
`<temp-dir>/.net/` has permission 0777, and
`<temp-dir>/.net/<user-ID>/` has permission 01700.

This fix will be migrated to coreclr/3.1 branch for servicing.

Testing: Manual testing on Unix/Mac systems, since we don't have the setup to add automated tests with multiple users.

Issue #3846

4 years agoIntroduce native AssemblyLoadContext base class (#32097)
Jan Kotas [Wed, 12 Feb 2020 02:13:12 +0000 (18:13 -0800)]
Introduce native AssemblyLoadContext base class (#32097)

* Add assemblyloadcontext.*

* Make AssemblyContext base class

* Add method to return AssemblyLoadContext

4 years agoUpdates and additions to the composite R2R format (#32137)
Tomáš Rylek [Wed, 12 Feb 2020 00:23:49 +0000 (01:23 +0100)]
Updates and additions to the composite R2R format (#32137)

Based on my progress with composite R2R implementation I propose
clarifying the design as follows:

1) I have proposed a rewriting scheme for the standalone MSIL
files next to the composite R2R executable to receive forwarding
information pointing at the composite file;

2) I have updated the section names I renamed yesterday and I
added a description of the new section OwnerCompositeExecutable
to be used for the forwarding information.

Thanks

Tomas

4 years agoEliminate duplicate zero initializations more aggressively. (#31960)
Eugene Rozenfeld [Tue, 11 Feb 2020 23:40:26 +0000 (15:40 -0800)]
Eliminate duplicate zero initializations more aggressively. (#31960)

We have 3 places in the code where we may need to insert explicit zero
initialization. In some cases the initialization may become redundant with prolog
initialization so we have logic to avoid explicit initialization in some cases.
This change makes the logic less conservative.

1. If the variable is not being initialized in a loop, we can avoid explicit zero initialization if
      - the variable is a gc pointer, or
      - the variable is a struct with gc pointer fields and either all fields are gc pointer fields
          or the struct is big enough to guarantee block initialization, or
      - compInitMem is set and the variable has a long lifetime or has gc fields.

   Before this change we always inserted explicit zero initalization when compInitMem
   wasn't set and the variable was a gc pointer or a struct with gc fields. This relaxes that
   as described above.

2. When we were allocating structs via newobj, we were always inserting explicit zero initializations
   when importing an inlinee. This change applies the same optimization if the basic block can't be
   in a loop after inlining.

3. When we were initializing inlinee locals, we were only optimizing explicit zero initializations
   for structs; however, the same logic applies to non-structs.

4. If the initialization basic block is in a loop but is BBJ_RETURN, we may avoid zero initialization
   since the block will be executed at most once per method invocation.

4 years agoMerge pull request #32095 from nattress/ResourceStrings
Simon Nattress [Tue, 11 Feb 2020 23:15:38 +0000 (15:15 -0800)]
Merge pull request #32095 from nattress/ResourceStrings

Move crossgen2 user-facing strings to resx

4 years agoRemove BMI2 intrinsics from ASCII and UTF-8 transcoding logic (#31904)
Levi Broderick [Tue, 11 Feb 2020 23:13:56 +0000 (15:13 -0800)]
Remove BMI2 intrinsics from ASCII and UTF-8 transcoding logic (#31904)

Improves performance on processors where pdep/pext aren't optimized

4 years agoFixed ASP.NET Core links in Readme (#32139)
Jim Buck [Tue, 11 Feb 2020 23:05:35 +0000 (18:05 -0500)]
Fixed ASP.NET Core links in Readme (#32139)

* Fixed obsolete org names in readme.

Since `aspnet/aspnetcore` has been transferred to `dotnet/aspnetcore` the links were incorrect (redirects worked fine). This just aligns them with the correct URLs.

* Changed "ASP.NET Core home" to docs home.

* Removed forced `en-us` in URL.

4 years ago[mono] Implement Sse2.AddSaturate using LLVM (#32116)
Egor Bogatov [Tue, 11 Feb 2020 22:50:05 +0000 (01:50 +0300)]
[mono] Implement Sse2.AddSaturate using LLVM (#32116)

* Implement Sse2.AddSaturate

* Undo changes in Makefile

* Fix typo

* Address feedback

4 years agoUpdate shared Http3 code (#32133)
Justin Kotalik [Tue, 11 Feb 2020 22:48:55 +0000 (14:48 -0800)]
Update shared Http3 code (#32133)

4 years ago[mono] Change library id to @rpath/libcoreclr.dylib when copying (#32135)
Ryan Lucia [Tue, 11 Feb 2020 22:47:37 +0000 (17:47 -0500)]
[mono] Change library id to @rpath/libcoreclr.dylib when copying (#32135)

4 years agoImplement QUIC abort exceptions, fix channel usage, and implement some tests. (#32051)
Cory Nelson [Tue, 11 Feb 2020 22:38:05 +0000 (14:38 -0800)]
Implement QUIC abort exceptions, fix channel usage, and implement some tests. (#32051)

New: implement QuicStreamAbortedException, QuicConnectionAbortedException, QuicOperationAbortedException.
Fix: MsQuic returning null implementation when completing listener/connection channels.
Fix: some flags types being defined as 8-bit when they are 32-bit in msquic.h
Add some additional tests demonstrating failures seen in HttpClient.

4 years agoEnable building Mono LLVM osx-x64 NuGets (#32092)
Filip Navara [Tue, 11 Feb 2020 21:48:31 +0000 (22:48 +0100)]
Enable building Mono LLVM osx-x64 NuGets (#32092)

* Enable building Mono LLVM osx-x64 NuGets

* Fix restoring on LLVM NuGets on macOS

* Enable release builds too

* Remove dependency on NETCoreSdkRuntimeIdentifier

4 years agoMerge pull request #2259 from steveharter/NewConverterModel
Steve Harter [Tue, 11 Feb 2020 21:32:12 +0000 (15:32 -0600)]
Merge pull request #2259 from steveharter/NewConverterModel

New serializer converter model for objects and collections

4 years agoMake FPU settings configurable for installer (#32053)
Adeel Mujahid [Tue, 11 Feb 2020 21:08:51 +0000 (23:08 +0200)]
Make FPU settings configurable for installer (#32053)

4 years agoadding binlog and removing genrateRuntimeOSprops (#31945)
Anirudh Agnihotry [Tue, 11 Feb 2020 20:48:35 +0000 (12:48 -0800)]
adding binlog and removing genrateRuntimeOSprops (#31945)

4 years agoFix native CoreCLR build with special feature flags used by Tizen (#32119)
Tomáš Rylek [Tue, 11 Feb 2020 20:19:07 +0000 (21:19 +0100)]
Fix native CoreCLR build with special feature flags used by Tizen (#32119)

4 years ago[runtime] Simplify access to runtime TLS variables when DISABLE_THREADS is defined...
monojenkins [Tue, 11 Feb 2020 19:49:40 +0000 (14:49 -0500)]
[runtime] Simplify access to runtime TLS variables when DISABLE_THREADS is defined, they become simple globals. (#32015)

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
4 years agoNew converter model additional refactoring and feedback
Steve Harter [Tue, 28 Jan 2020 19:02:57 +0000 (13:02 -0600)]
New converter model additional refactoring and feedback

4 years agoA few small jit changes. (#31816)
Sergey Andreenko [Tue, 11 Feb 2020 19:11:42 +0000 (11:11 -0800)]
A few small jit changes. (#31816)

* Small refactoring changes.

* Additional checks and returns, no diffs.

* Fix SPMI replay with JitDump enabled.

* update the comment and do the same for arm.

4 years agoFix build warnings (#32122)
Next Turn [Tue, 11 Feb 2020 18:52:59 +0000 (02:52 +0800)]
Fix build warnings (#32122)

4 years agoSmtpClientTest: disable TestZeroTimeout (#32099)
Tom Deseyn [Tue, 11 Feb 2020 18:49:41 +0000 (19:49 +0100)]
SmtpClientTest: disable TestZeroTimeout (#32099)

Disable to prevent CI failures.

4 years agoSpecial-case two set loops in RegexCompiler (#32003)
Stephen Toub [Tue, 11 Feb 2020 18:35:11 +0000 (10:35 -0800)]
Special-case two set loops in RegexCompiler (#32003)

* Optimize .* in Singleline mode

When RegexOptions.Singleline is specified, `.*` goes from meaning `[^\n]*` to meaning `[everything]*`.  As such, when we encounter it, we can just jump to the end without actually comparing anything.  This is worth optimizing in in the compiler because, well, why not, but we don't in the interpreter because it's not a common-enough pattern to spend cycles checking for.

* Use IndexOfAny to implement set loops of 2 or 3 negated chars

* Apply suggestions from code review

Co-Authored-By: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
4 years ago[mini] Wrap check for debug info enabled in ENABLE_NETCORE in all places (#32113)
monojenkins [Tue, 11 Feb 2020 15:50:38 +0000 (10:50 -0500)]
[mini] Wrap check for debug info enabled in ENABLE_NETCORE in all places (#32113)

See if this fixes the weird bug-10127.exe test failure that only occurs on Windows C++ builds.

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
4 years agoAdd mono offsets-tool for generating cross-compiler offsets (#32110)
Alexander Köplinger [Tue, 11 Feb 2020 12:37:58 +0000 (13:37 +0100)]
Add mono offsets-tool for generating cross-compiler offsets (#32110)

This is a build-only tool used to generate the offsets file for Mono cross compilers.

Taken from https://github.com/mono/mono/tree/071b7259d517b9298c2672e16248f62c5e3ce500/mono/tools/offsets-tool

4 years ago[interp] reclaim stack fragments when not used. (#32022)
monojenkins [Tue, 11 Feb 2020 09:59:43 +0000 (04:59 -0500)]
[interp] reclaim stack fragments when not used. (#32022)

When a requested frame size doesn't fit in an already allocated stack fragment, we instead allocate another, larger fragment.
When doing this we missed to free the existing stack fragment, and in combination with a second problem (`current->next` not being cleared when unused) it can accumulate to a lot of unused stack fragments and in worst-case to OOM, as it happened on Linux corlib xunit tests.

Thanks to Jay for tracking it down.

Co-authored-by: Bernhard Urban-Forster <bernhard.urban@xamarin.com>
4 years ago[cross] support arm-linux-gnueabihf cross compiling with netcore (#31803)
monojenkins [Tue, 11 Feb 2020 08:49:57 +0000 (03:49 -0500)]
[cross] support arm-linux-gnueabihf cross compiling with netcore (#31803)

Some notes on usage:

```console
$ sudo apt install g{++,cc}-gnu-linux-gnueabihf python3-pip

$ ./autogen.sh --disable-boehm --target=arm-linux-gnueabihf \
    --with-cross-offsets=arm-linux-gnueabihf-cross-offsets.h \
    --with-core=only \
    CFLAGS="-O0 -ggdb3 -fno-omit-frame-pointer" \
    CXXFLAGS="-O0 -ggdb3 -fno-omit-frame-pointer"

$ make -C tools/offsets-tool-py/

$ python3 tools/offsets-tool-py/offsets-tool.py \
    --targetdir=/home/lewurm/work/mono \
    --abi=arm-linux-gnueabihf \
    --monodir=/home/lewurm/work/mono \
    --outfile=arm-linux-gnueabihf-cross-offsets.h \
    --libclang=/usr/lib/x86_64-linux-gnu/libclang-7.so.1 \
    --sysroot=/usr/arm-linux-gnueabihf \
    --netcore
```

Co-authored-by: Bernhard Urban-Forster <bernhard.urban@xamarin.com>
4 years ago[mono] Allow the use of an override directory for LLVM. (#32070)
imhameed [Tue, 11 Feb 2020 08:37:27 +0000 (00:37 -0800)]
[mono] Allow the use of an override directory for LLVM. (#32070)

With this change, a custom LLVM directory can be set via the `MonoLLVMDir` property. When using a custom LLVM directory, llvm-init.proj will be ignored.

`--enable--llvm` (with two dashes) is not a valid mono configure argument, and `--enable-llvm` is implied by `--with-llvm`.

4 years agoAdd volatile for cross thread communication. (#31964)
monojenkins [Tue, 11 Feb 2020 08:16:19 +0000 (03:16 -0500)]
Add volatile for cross thread communication. (#31964)

This test is flaky. Maybe this helps. Otherwise I'll dig in later.

Co-authored-by: Jay Krell <jay.krell@cornell.edu>
4 years agoMove crossgen2 user-facing strings to resx
Simon Nattress [Tue, 11 Feb 2020 06:22:28 +0000 (22:22 -0800)]
Move crossgen2 user-facing strings to resx

* Move user-visible strings for command line use and argument validation to a resx file so they can be localized.
* Logging strings are left alone. When we collect logs from customers, we'll want them in English.

4 years agoAnnotate System.Security.Cryptography.Algorithms for nullable (#2375)
buyaa-n [Tue, 11 Feb 2020 06:04:54 +0000 (22:04 -0800)]
Annotate System.Security.Cryptography.Algorithms for nullable (#2375)

* Annotate System.Security.Cryptography.Algorithms for nullable

4 years agoUse ref for stream event in System.Net.Quic (#32086)
Justin Kotalik [Tue, 11 Feb 2020 05:36:25 +0000 (21:36 -0800)]
Use ref for stream event in System.Net.Quic (#32086)

4 years agoBuild failed due to -Werror option (#32040)
Kirill Frolov [Tue, 11 Feb 2020 04:42:15 +0000 (07:42 +0300)]
Build failed due to -Werror option (#32040)

* fixed error processing for pipe2 call in Unix/../pal_process.c

Due to -Werror warning (function result not checked) is converted to an
error.

Fix #32038

* fixed warnings in Unix/../pal_networking.c

Due to -Werror all warnings (wrong signess, wrong types) converted to
errors, so why this changes needed.

Fix #32038

4 years agoCrossgen2: ensure base address >= 4 GiB for 64-bit Windows targets (#32064)
Anton Lapounov [Tue, 11 Feb 2020 04:40:49 +0000 (20:40 -0800)]
Crossgen2: ensure base address >= 4 GiB for 64-bit Windows targets (#32064)

Crossgen2: ensure base address >= 4 GiB for 64-bit Windows targets.
Also fix ADRP's argument calculation for ARM64.

4 years agoTighten up some SSE2 ASCII + UTF-16 transcoding logic (#32036)
Levi Broderick [Tue, 11 Feb 2020 04:33:14 +0000 (20:33 -0800)]
Tighten up some SSE2 ASCII + UTF-16 transcoding logic (#32036)

Makes more efficient use of register allocation and uses paddusw to speed up some operations

4 years agoFix infinite loop in string.Replace (#31946)
Levi Broderick [Tue, 11 Feb 2020 04:29:53 +0000 (20:29 -0800)]
Fix infinite loop in string.Replace (#31946)

When string.Replace is given a target string with zero collation weight, it would enter an infinite loop. It is now changed so that the call to Replace terminates when such a condition is encountered.

4 years agoRename CoreCLR runtime R2R section names to match Crossgen2 naming (#32084)
Tomáš Rylek [Tue, 11 Feb 2020 02:45:20 +0000 (03:45 +0100)]
Rename CoreCLR runtime R2R section names to match Crossgen2 naming (#32084)

4 years agoSet azure devops variable if any package reports are found and skip copy packages...
Santiago Fernandez Madero [Tue, 11 Feb 2020 02:18:09 +0000 (18:18 -0800)]
Set azure devops variable if any package reports are found and skip copy packages base on that (#32083)

* Set azure devops variable if any package reports are found

* Run target in CI as well

4 years agoR2RDump changes for composite R2R format support (#32027)
Tomáš Rylek [Tue, 11 Feb 2020 01:59:53 +0000 (02:59 +0100)]
R2RDump changes for composite R2R format support (#32027)

I have separated the R2RDump-specific changes from my broader
composite R2R change. The gist of the change is becoming able to
read the new "native R2R header" flavor and look up MSIL in
separate DLL's next to the R2R executable.

On top of this basic scheme I have removed the section ID
duplication between ReadyToRunSection.cs and RuntimeHeaders.cs.
I have also slightly cleaned up unnecessary double dictionary
lookups for R2R sections.

For now I have made EH clause parsing work in single-assembly build
mode only, for composite R2R that will require additional changes.

Thanks

Tomas

4 years agoAdd assert to Unix GCToOSInterface::GetCurrentProcessorNumber for clarity (#32033)
Jan Kotas [Tue, 11 Feb 2020 01:36:25 +0000 (17:36 -0800)]
Add assert to Unix GCToOSInterface::GetCurrentProcessorNumber for clarity (#32033)

Fixes #31995

4 years agoadd fromPackage to exclude properties (#32063)
Anirudh Agnihotry [Tue, 11 Feb 2020 00:33:55 +0000 (16:33 -0800)]
add fromPackage to exclude properties (#32063)

4 years ago[Arm64] Implement FMA, FMS, MLA, MLS (#31899)
Egor Chesakov [Tue, 11 Feb 2020 00:23:31 +0000 (16:23 -0800)]
[Arm64] Implement  FMA, FMS, MLA, MLS (#31899)

* Add "FusedMultiplyAdd" and "FusedMultiplyAddScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Add "FusedMultiplySubtract" and "FusedMultiplySubtractScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Add "FusedMultiplyAddNegatedScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Add "FusedMultiplySubtractNegatedScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Add "MultiplyAdd" and "MultiplyAddScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Add "MultiplySubtract" and "MultiplySubtractScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs

* Update System.Runtime.Intrinsics.Experimental.cs

* Add fused multiply-add and multiply-subtract intrinsics in hwintrinsiclistarm64.h

* Add "MultiplyAdd" and "MultiplySubtract" in hwintrinsiclistarm64.h

* Implement fused multiply-add and multiply-subtract intrinsics in hwintrinsiccodegenarm64.cpp

* Add fused multiply-add and multiply-subtract intrinsics in GenerateTests.csx

* Mark uses of op2 and op3 of fma, fms, mla, mls intrinsics as delay free in lsraarm64.cpp

* Add "MultiplyAdd" in GenerateTests.csx

* Add "MultiplySubtract" in GenerateTests.csx

* Update AdvSimd/ AdvSimd.Arm64/

* Update Helpers.cs Helpers.tt

4 years agopass Span through Windows PAL (#32008)
Tomas Weinfurt [Tue, 11 Feb 2020 00:20:47 +0000 (16:20 -0800)]
pass Span through Windows PAL (#32008)

* pass Span through Windws PAL

* feedback from review

* feedback from review

* remove missed referenmces to GetBuffer