platform/upstream/dotnet/runtime.git
4 years agoaddress PR feedback
Eirik Tsarpalis [Fri, 1 May 2020 14:40:26 +0000 (15:40 +0100)]
address PR feedback

4 years agoUpdate src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborWriter...
Eirik Tsarpalis [Fri, 1 May 2020 14:36:40 +0000 (15:36 +0100)]
Update src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborWriter.Map.cs

Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
4 years agoUpdate src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborReader.cs
Eirik Tsarpalis [Fri, 1 May 2020 14:24:51 +0000 (15:24 +0100)]
Update src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborReader.cs

Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
4 years agoUpdate src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborReader...
Eirik Tsarpalis [Fri, 1 May 2020 14:24:08 +0000 (15:24 +0100)]
Update src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborReader.Tag.cs

Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
4 years agoUpdate src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborReader...
Eirik Tsarpalis [Fri, 1 May 2020 14:06:11 +0000 (15:06 +0100)]
Update src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborReader.Array.cs

Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
4 years agoUpdate src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborConformance...
Eirik Tsarpalis [Fri, 1 May 2020 14:05:58 +0000 (15:05 +0100)]
Update src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborConformanceLevel.cs

Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
4 years agoI am disappoint
Eirik Tsarpalis [Thu, 30 Apr 2020 18:44:29 +0000 (19:44 +0100)]
I am disappoint

4 years agoimplement writing and reading multiple root-level values
Eirik Tsarpalis [Thu, 30 Apr 2020 18:32:22 +0000 (19:32 +0100)]
implement writing and reading multiple root-level values

4 years agopool key encoding range HashSets
Eirik Tsarpalis [Wed, 29 Apr 2020 20:05:23 +0000 (21:05 +0100)]
pool key encoding range HashSets

4 years agoreplace SortedList use with HashSet
Eirik Tsarpalis [Wed, 29 Apr 2020 19:12:01 +0000 (20:12 +0100)]
replace SortedList use with HashSet

4 years agostrip IndefiniteLength suffix from write methods
Eirik Tsarpalis [Tue, 28 Apr 2020 21:26:39 +0000 (22:26 +0100)]
strip IndefiniteLength suffix from write methods

4 years agomake ReadStartMap() and ReadStartArray() return int
Eirik Tsarpalis [Tue, 28 Apr 2020 21:22:14 +0000 (22:22 +0100)]
make ReadStartMap() and ReadStartArray() return int

4 years agoimplement CborWriter encodeIndefiniteLengths parameter
Eirik Tsarpalis [Tue, 28 Apr 2020 21:14:19 +0000 (22:14 +0100)]
implement CborWriter encodeIndefiniteLengths parameter

4 years agoadd a validateConformance parameter to Skip* methods
Eirik Tsarpalis [Tue, 28 Apr 2020 20:31:43 +0000 (21:31 +0100)]
add a validateConformance parameter to Skip* methods

4 years agoImplement CborReader.SkipToParent();
Eirik Tsarpalis [Tue, 28 Apr 2020 17:54:56 +0000 (18:54 +0100)]
Implement CborReader.SkipToParent();

4 years agoadd support for indefinite byte string literals in reader helpers
Eirik Tsarpalis [Tue, 28 Apr 2020 15:31:26 +0000 (16:31 +0100)]
add support for indefinite byte string literals in reader helpers

4 years agominor CborReader string refactoring
Eirik Tsarpalis [Tue, 28 Apr 2020 15:30:58 +0000 (16:30 +0100)]
minor CborReader string refactoring

4 years agoimplement patching for indefinite-length items
Eirik Tsarpalis [Tue, 28 Apr 2020 15:18:51 +0000 (16:18 +0100)]
implement patching for indefinite-length items

4 years agorename CborWriter.ToArray() => CborWriter.GetEncoding(); add a span encoding method
Eirik Tsarpalis [Mon, 27 Apr 2020 22:53:04 +0000 (23:53 +0100)]
rename CborWriter.ToArray() => CborWriter.GetEncoding(); add a span encoding method

4 years agoimplement appropriate rollback semantics for key conformance validation
Eirik Tsarpalis [Mon, 27 Apr 2020 21:52:06 +0000 (22:52 +0100)]
implement appropriate rollback semantics for key conformance validation

4 years agoaddress tuple label style
Eirik Tsarpalis [Mon, 27 Apr 2020 14:27:28 +0000 (15:27 +0100)]
address tuple label style

4 years agoaddress PR feedback
Eirik Tsarpalis [Fri, 24 Apr 2020 23:29:33 +0000 (00:29 +0100)]
address PR feedback

4 years agoUpdate src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborReader...
Eirik Tsarpalis [Fri, 24 Apr 2020 23:13:07 +0000 (00:13 +0100)]
Update src/libraries/System.Security.Cryptography.Encoding/tests/Cbor/CborReader.Integer.cs

Co-Authored-By: Jeremy Barton <jbarton@microsoft.com>
4 years agoaddress tuple label naming consistency
Eirik Tsarpalis [Fri, 24 Apr 2020 23:24:54 +0000 (00:24 +0100)]
address tuple label naming consistency

4 years agouse HashSet for reader key uniqueness
Eirik Tsarpalis [Fri, 24 Apr 2020 09:40:54 +0000 (10:40 +0100)]
use HashSet for reader key uniqueness

4 years agofactor frame struct out of checkpoint struct
Eirik Tsarpalis [Thu, 23 Apr 2020 16:45:14 +0000 (17:45 +0100)]
factor frame struct out of checkpoint struct

4 years agoimplement CborReader tag conformance level validation
Eirik Tsarpalis [Thu, 23 Apr 2020 13:51:59 +0000 (14:51 +0100)]
implement CborReader tag conformance level validation

4 years agoimplement CborReader indefinte-length conformance
Eirik Tsarpalis [Thu, 23 Apr 2020 13:04:30 +0000 (14:04 +0100)]
implement CborReader indefinte-length conformance

4 years agoimplement CborReader integer encoding conformance
Eirik Tsarpalis [Thu, 23 Apr 2020 12:37:09 +0000 (13:37 +0100)]
implement CborReader integer encoding conformance

4 years agoremove preserve float representation check
Eirik Tsarpalis [Thu, 23 Apr 2020 11:27:11 +0000 (12:27 +0100)]
remove preserve float representation check

4 years agoimplement CborWriter tag conformance levels
Eirik Tsarpalis [Thu, 23 Apr 2020 11:17:44 +0000 (12:17 +0100)]
implement CborWriter tag conformance levels

4 years agoimplement CborWriter indefinite length conformance levels
Eirik Tsarpalis [Thu, 23 Apr 2020 10:54:11 +0000 (11:54 +0100)]
implement CborWriter indefinite length conformance levels

4 years agoNonStrict -> Lax
Eirik Tsarpalis [Thu, 23 Apr 2020 09:46:38 +0000 (10:46 +0100)]
NonStrict -> Lax

4 years agoadd missing struct labels
Eirik Tsarpalis [Thu, 23 Apr 2020 09:32:20 +0000 (10:32 +0100)]
add missing struct labels

4 years agoimplement reader map conformance levels
Eirik Tsarpalis [Wed, 22 Apr 2020 22:28:39 +0000 (23:28 +0100)]
implement reader map conformance levels

4 years agoextract common conformance level logic to helper class
Eirik Tsarpalis [Wed, 22 Apr 2020 10:42:40 +0000 (11:42 +0100)]
extract common conformance level logic to helper class

4 years agoadd tests for strict mode map writes
Eirik Tsarpalis [Tue, 21 Apr 2020 16:58:49 +0000 (17:58 +0100)]
add tests for strict mode map writes

4 years agorename NoConformance to NonStrict
Eirik Tsarpalis [Tue, 21 Apr 2020 16:32:36 +0000 (17:32 +0100)]
rename NoConformance to NonStrict

4 years agoimplement writing sorted keys in maps
Eirik Tsarpalis [Tue, 21 Apr 2020 12:57:02 +0000 (13:57 +0100)]
implement writing sorted keys in maps

4 years agoimprove cmake version detection (#35593)
Tomas Weinfurt [Wed, 29 Apr 2020 13:18:09 +0000 (06:18 -0700)]
improve cmake version detection (#35593)

4 years agoProvide dummy runtime_version.h when skipped (#35579)
Adeel Mujahid [Wed, 29 Apr 2020 13:17:35 +0000 (16:17 +0300)]
Provide dummy runtime_version.h when skipped (#35579)

With `-skipgenerateversion`, all MSBuild invocations are skipped.
In that case, we generate a dummy `version.c` file. Since
`runtime_version.h` is added as a required header, generate its dummy
variant in the same context.

4 years agoNativeCallableAttribute to UnmanagedCallersOnlyAttribute (#35592)
Aaron Robinson [Wed, 29 Apr 2020 06:00:39 +0000 (23:00 -0700)]
NativeCallableAttribute to UnmanagedCallersOnlyAttribute (#35592)

* NativeCallableAttribute to UnmanagedCallersOnlyAttribute

Replace NativeCallableAttribute usage with UnmanagedCallersOnlyAttribute.
Update tests.
Update coreclr implementation to reflect new name.

4 years ago[Arm64] Implement ASIMD widening, narrowing, saturating instructions (#35379)
Egor Chesakov [Wed, 29 Apr 2020 03:54:37 +0000 (20:54 -0700)]
[Arm64] Implement ASIMD widening, narrowing, saturating instructions (#35379)

4 years agoFix FieldRVA handling of Field tokens (#35557)
Simon Nattress [Wed, 29 Apr 2020 03:41:42 +0000 (20:41 -0700)]
Fix FieldRVA handling of Field tokens (#35557)

FieldRefs in the metadata tables are variable sized. We assumed the common 2 byte encoding, but if there are at least 0x10000 fields in the assembly 4 bytes are used in all tables with FieldRefs, including the FieldRva table we walk and patch.

Use row size to make sure we adjust based on the encoding, and preserve it when rewriting the metadata.

4 years agoAdd BSF and BSR fallbacks for BitOperations methods (#34550)
Clinton Ingram [Wed, 29 Apr 2020 01:38:04 +0000 (18:38 -0700)]
Add BSF and BSR fallbacks for BitOperations methods (#34550)

* implement X86Base, add BSF and BSR intrinsics
* add X86Base to Utf8String S.R.I. shim
* add BSF and BSR fallbacks in BitOperations
* add X86Base to zapinfo
* disable 'w' size bit for BSF and BSR

4 years agoNaricc/move patch before helix (#35434)
Nathan Ricci [Wed, 29 Apr 2020 01:09:37 +0000 (21:09 -0400)]
Naricc/move patch before helix (#35434)

* parent a070557b8357d83edb76dcc2bddd5cd16204aa7b
author Nathan Ricci <naricc@microsoft.com> 1587776427 -0400
committer Nathan Ricci <naricc@microsoft.com> 1588004048 -0400

Moved patching of mono just before sending to helix, and properly propagate runtimeFlavorDisplayName.

4 years agoAdd a WebAssembly version of System.Console. (#35555)
Zoltan Varga [Wed, 29 Apr 2020 00:33:57 +0000 (20:33 -0400)]
Add a WebAssembly version of System.Console. (#35555)

4 years agoUse crossgen out of bindir (#35577)
Jarret Shook [Tue, 28 Apr 2020 22:57:51 +0000 (15:57 -0700)]
Use crossgen out of bindir (#35577)

4 years agoAdd disk usage on osx (#35522)
Jarret Shook [Tue, 28 Apr 2020 22:54:46 +0000 (15:54 -0700)]
Add disk usage on osx (#35522)

* Add disk usage information for mac builds

* Add disk usage for test build as well

* Like normal, yml syntax change

* Add more usage

* yml syntax

* Show du on ios and tvos

* Add before and after usage

* Address pr feedback

4 years ago[mono] Integrate xharness tool (iOS) (#35316)
Egor Bogatov [Tue, 28 Apr 2020 22:50:34 +0000 (01:50 +0300)]
[mono] Integrate xharness tool (iOS) (#35316)

* Integrate xharness

4 years agoImplement IAsyncDisposable for XmlWriter (#35233)
buyaa-n [Tue, 28 Apr 2020 21:50:40 +0000 (14:50 -0700)]
Implement IAsyncDisposable for XmlWriter (#35233)

* Update XmlWriter to implement IAsyncDisposable

4 years agoAdd option for extra queries for SuperPmi (#35411)
Carol Eidt [Tue, 28 Apr 2020 21:39:07 +0000 (14:39 -0700)]
Add option for extra queries for SuperPmi (#35411)

* Add option for extra queries for SuperPmi

This adds an option to do extra queries for struct fields and types to make it easier to test and diff struct promotion enhancements, but we could consider adding other queries in future.

4 years agoRemove Targets* instances from .props files (#35353)
Anirudh Agnihotry [Tue, 28 Apr 2020 20:36:53 +0000 (13:36 -0700)]
Remove Targets* instances from .props files (#35353)

* remove TargetsNetfx from isPartialFacadeAssembly property

* Omit Resources corrected

* fix partial facade

* GeneratePlatformNotSupportedAssemblyMessage corrected

* OmitResources made similar to isPartialFacadeAssembly

* fixes omitsources

* moving targetFramework dependent properties to second property Group

* fix GeneratePlatformNotSupportedAssemblyWithGlobalPrefix

* correct define constants

* fix no warn

* fix assembly version

* fix packageTargetFramework

* fix the build

* src and ref intell working

* remove targets properties from tests file

* adding comment

4 years agoServer and client are synchronized via TaskCompletionSource (#35569)
Alexander Nikolaev [Tue, 28 Apr 2020 18:58:49 +0000 (20:58 +0200)]
Server and client are synchronized via TaskCompletionSource (#35569)

Http2_PendingSend_SendsReset test fails because client sends the second request with EndOfStream flag sooner than the server reads the last RstStream frame of the first request. This is caused by too short delay before the second request is made on the client. This PR replaces Task.Delay with a synchronization via TaskCompletionSource.

Fixes #2131

4 years agoRemove workaround PreserveDependency in System.Data.Common (#35543)
Eric Erhardt [Tue, 28 Apr 2020 18:51:39 +0000 (13:51 -0500)]
Remove workaround PreserveDependency in System.Data.Common (#35543)

https://github.com/mono/linker/issues/800 has been fixed. So we can remove these attributes now.

4 years agoAdd new attributes for ILLink analysis. (#35387)
Eric Erhardt [Tue, 28 Apr 2020 18:44:35 +0000 (13:44 -0500)]
Add new attributes for ILLink analysis. (#35387)

* Add new attributes for ILLink analysis.

DynamicallyAccessedMembersAttribute
DynamicDependencyAttribute
UnconditionalSuppressMessageAttribute

Fix #33861, #35339, #30902

4 years agofix build.ps1 script execution error on cmd due to whitespace (#35554)
Himanshu Soni [Tue, 28 Apr 2020 18:28:23 +0000 (23:58 +0530)]
fix build.ps1 script execution error on cmd due to whitespace (#35554)

4 years agoEnable more formerly-failing-on-mono tests. (#35208)
imhameed [Tue, 28 Apr 2020 17:15:33 +0000 (10:15 -0700)]
Enable more formerly-failing-on-mono tests. (#35208)

See:
- https://github.com/dotnet/runtime/issues/34377,
- https://github.com/dotnet/runtime/issues/34378, and
- https://github.com/dotnet/runtime/issues/34381.

4 years agoJIT: fixes for EH Write Thru and OSR (#35550)
Andy Ayers [Tue, 28 Apr 2020 17:06:20 +0000 (10:06 -0700)]
JIT: fixes for EH Write Thru and OSR (#35550)

For EH Write Thru: make sure to initialize the stack home for any EH live
register parameters. Fixes some runtime errors.

For OSR: don't allocate the patchpoint counter local until we're going to
transform a patchpoint. Fixes a post-phase assert.

4 years agoImprove JIT dump related docs (#35166)
Ganbarukamo41 [Tue, 28 Apr 2020 14:30:36 +0000 (23:30 +0900)]
Improve JIT dump related docs (#35166)

* Update viewing-jit-dumps.md

* Add jitconfigvalues.h for the sources of env. variables
* Add JitDumpASCII in the list of useful env. variables

* Fix casings for JitDumpASCII env var

* Environment variables on UNIX OSes are case sensitive

4 years agoRemove GeneratedAssemblyInfoFile workaround (#35558)
Viktor Hofer [Tue, 28 Apr 2020 14:28:08 +0000 (16:28 +0200)]
Remove GeneratedAssemblyInfoFile workaround (#35558)

* Remove GeneratedAssemblyInfoFile workaround

The underlying issue is fixed in the SDK.

4 years agoAdd zlib-dev to linux requirement (#35571)
Jan Jahoda [Tue, 28 Apr 2020 14:27:06 +0000 (16:27 +0200)]
Add zlib-dev to linux requirement (#35571)

On Ubuntu, the build fails on missing zlib.

4 years agoDelete deprecated tailcalls support (#35552)
Jan Kotas [Tue, 28 Apr 2020 14:24:47 +0000 (07:24 -0700)]
Delete deprecated tailcalls support (#35552)

Follow up on #341

4 years agoHandle CriticalExtensions and WeakSignature on 509Chain for macOS (#35548)
Kevin Jones [Tue, 28 Apr 2020 14:19:00 +0000 (10:19 -0400)]
Handle CriticalExtensions and WeakSignature on 509Chain for macOS (#35548)

* Support unknown critical extensions on macOS.

If a certificate contains an unprocessable critical extension
in a certificate, map the "CriticalExtensions" status to
HasNotSupportedCriticalExtension instead of throwing an exception.

* Ignore WeakSignature chain status on macOS.

X509Chain on Windows will not check for modern signatures, so we
will let macOS do the same thing.

4 years ago[debugger] Cleaning error before return Invalid_argument. (#35532)
monojenkins [Tue, 28 Apr 2020 13:56:06 +0000 (09:56 -0400)]
[debugger] Cleaning error before return Invalid_argument. (#35532)

Fixing this PR
https://github.com/mono/mono/pull/19542

Co-authored-by: thaystg <thaystg@users.noreply.github.com>
4 years agoenable package Testing (#35541)
Anirudh Agnihotry [Tue, 28 Apr 2020 13:35:04 +0000 (06:35 -0700)]
enable package Testing (#35541)

4 years ago[master] Update dependencies from mono/linker dotnet/xharness (#35474)
dotnet-maestro[bot] [Tue, 28 Apr 2020 12:04:38 +0000 (12:04 +0000)]
[master] Update dependencies from mono/linker dotnet/xharness (#35474)

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

- Microsoft.NET.ILLink.Tasks: 5.0.0-preview.3.20220.1 -> 5.0.0-preview.3.20225.2

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

- Microsoft.DotNet.XHarness.Tests.Runners: 1.0.0-prerelease.20221.3 -> 1.0.0-prerelease.20227.9

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoDisable tests which require precise GC on mono (#35560)
Vlad Brezae [Tue, 28 Apr 2020 11:09:52 +0000 (14:09 +0300)]
Disable tests which require precise GC on mono (#35560)

While these didn't seem to fail with jit, they do fail with interpreter.

4 years agoMerge pull request #35429 from janvorli/fix-osx-debug-build-symbols
Jan Vorlicek [Tue, 28 Apr 2020 09:22:36 +0000 (11:22 +0200)]
Merge pull request #35429 from janvorli/fix-osx-debug-build-symbols

Fix OSX debug / checked build symbols

4 years agoMerge pull request #35418 from janvorli/fix-stack-overflow-reporting-osx
Jan Vorlicek [Tue, 28 Apr 2020 08:20:27 +0000 (10:20 +0200)]
Merge pull request #35418 from janvorli/fix-stack-overflow-reporting-osx

Enable stack overflow stack trace reporting on OSX

4 years agoMerge pull request #35218 from am11/feature/pal-tests
Jan Vorlicek [Tue, 28 Apr 2020 08:17:00 +0000 (10:17 +0200)]
Merge pull request #35218 from am11/feature/pal-tests

Fix PAL test build on non-Linux Unix platforms

4 years agoMerge pull request #35334 from davmason/eventsource_fixes
David Mason [Tue, 28 Apr 2020 08:11:47 +0000 (01:11 -0700)]
Merge pull request #35334 from davmason/eventsource_fixes

Write TraceEvent events to EventPipe even if an ETW provider is not enabled, and report EventSource errors over EventPipe.

4 years agoFix generation of Crossgen2 zips (#34971)
David Wrighton [Tue, 28 Apr 2020 02:09:05 +0000 (19:09 -0700)]
Fix generation of Crossgen2 zips (#34971)

The compressed crossgen2 zip file being created in the current builds are almost empty except for the license details. This fixes the problem by passing the right values into the installer project creation path, as well as setting the RuntimeIdentifier property as needed.

4 years agoImplement portable tailcall helpers (#341)
Jakob Botsch Nielsen [Tue, 28 Apr 2020 00:06:15 +0000 (02:06 +0200)]
Implement portable tailcall helpers (#341)

* Implement portable tailcall helpers

This implements tailcall-via-help support for all platforms supported by
the runtime. In this new mechanism the JIT asks the runtime for help
whenever it realizes it will need a helper to perform a tailcall, i.e.
when it sees an explicit tail. prefixed call that it cannot make into a
fast jump-based tailcall.

The runtime created two important IL stubs to help the JIT in performing
the necessary tailcalls. One IL stub is used to store the args for the
tailcall, while the other is used to dispatch the actual tailcall
itself. The JIT will then transform the call from

return tail. F(a1, ..., an);

to

IL_STUB_StoreTailCallArgs(a1, ..., an);
T result;
IL_STUB_DispatchTailCalls(..., &result);
return result;

The dispatcher is written in such a way that it is able to dispatch
multiple tailcalls in a row when tailcalled functions also perform
tailcalls. To do this, the JIT helps the dispatcher detect if the
caller's caller is also a dispatcher. When this is the case the
dispatcher returns to let the previous dispatcher perform the tailcall
with the currently stored args. This allows the frame to unwind and
ensures that sequences of tailcalls do not grow the stack more than by a
constant factor.

Due to this unwinding the args cannot be stored on the stack and are
instead stored in TLS. The GC is made specially of this buffer as the
args can be anything, including interior pointers.

The control-flow when performing the new tailcalls is nonstandard, so
this also changes the debugger to support proper stepping into/over/out
of tailcalled functions when they go through the new dispatcher.

x86's tailcalling mechanism does not change.

This commit also includes the following changes:

* Update design doc for helper-based tailcalls

* Change lowering of GT_LABEL on arm.

Generate movw/movt instead of adr on arm. adr on arm allows offsets
up to 4k, which may not be enough. In particular,
IL_STUB_CallTailCallTarget uses GT_LABEL before argument setup code
and it can be more than 4k.

* Add COMPlus_FastTailCalls environment variable.

COMPlus_FastTailCalls controls whether fast tail calls are allowed.
If COMPlus_FastTailCalls is 0, fast tail calls are not allowed even for
tail-prefixed calls. Only helper-based calls are allowed. This is useful
for testing helper-based calls.

Co-authored-by: Eugene Rozenfeld <erozen@microsoft.com>
4 years agoCode review feedback
David Mason [Fri, 24 Apr 2020 22:28:23 +0000 (15:28 -0700)]
Code review feedback

4 years agoAdd test for out of band messages over EventSource
David Mason [Fri, 24 Apr 2020 01:20:21 +0000 (18:20 -0700)]
Add test for out of band messages over EventSource

4 years agoMake EventSource log errors to eventpipe
David Mason [Thu, 23 Apr 2020 22:16:00 +0000 (15:16 -0700)]
Make EventSource log errors to eventpipe

4 years agoupdate eventsource
David Mason [Thu, 23 Apr 2020 11:06:19 +0000 (04:06 -0700)]
update eventsource

4 years agoAdd support of CreateScalarUnsafe() for arm64 intrinsic in JIT (#34579)
Kunal Pathak [Mon, 27 Apr 2020 23:11:48 +0000 (16:11 -0700)]
Add support of CreateScalarUnsafe() for arm64 intrinsic in JIT (#34579)

* Intrinsify Vector64.CreateScalarUnsafe() for byte, sbyte, short, ushort, int, uint, long, ulong, float
* Intrinsify Vector128.CreateScalarUnsafe() for byte, sbyte, short, ushort, int, uint, long, ulong, float, long, ulong, double

4 years agoUse intrinsics for SequenceEqual<byte> vectorization to emit at R2R (#32371)
Ben Adams [Mon, 27 Apr 2020 22:19:24 +0000 (23:19 +0100)]
Use intrinsics for SequenceEqual<byte> vectorization to emit at R2R (#32371)

4 years agoHandle additional X509 chain statuses for macOS
Kevin Jones [Mon, 27 Apr 2020 21:25:48 +0000 (17:25 -0400)]
Handle additional X509 chain statuses for macOS

MacOS returns a different status string for certificates that are in a special
database that are explicitly distrusted. Windows has similar behavior, which
reports the certificates as PAL_X509ChainExplicitDistrust. This makes macOS
do the same instead of throwing an exception.

Linux does not appear to have any special distrusting for these
certificates.

4 years agoHandle more basic constraints chain statuses on macOS
Kevin Jones [Mon, 27 Apr 2020 21:21:40 +0000 (17:21 -0400)]
Handle more basic constraints chain statuses on macOS

macOS can return additional chain status strings for a certificate that
was issued by a certificate that violated its basic constraints.

If a leaf certificate is issued from a certificate with CA:FALSE,
the strings BasicConstraintsCA and BasicConstraintsPathLen are
reported. We map these the same for BasicConstraints.

4 years ago[interp] Fix tracking of local refcount when adding movloc opcode (#35524)
Vlad Brezae [Mon, 27 Apr 2020 21:03:53 +0000 (00:03 +0300)]
[interp] Fix tracking of local refcount when adding movloc opcode  (#35524)

* [interp] Log also the used locals size for a method

* [interp] Fix tracking of local refcount when adding movloc opcode

Consider the following IL code pattern:

```
stloc.np 0
dup
stloc 1
```

When `stloc 1` instruction is processed, we know we have local 0 on the top of the stack so we can replace `dup/stloc` with `movloc 0 -> 1`. However, we need to make sure that the refcount for local 0 is increased so we don't prematurely kill instructions that store into this local (the `stloc.np` from above). This is needed because we remove a dependency from the stack but add one from the locals. If the local 0 would have been explicitly pushed with a ldloc, the refcount is updated when we handle the ldloc, and no other updates are necessary.

4 years agoSocketAsyncEngine.Unix: name socket event thread (#35471)
Tom Deseyn [Mon, 27 Apr 2020 19:59:56 +0000 (21:59 +0200)]
SocketAsyncEngine.Unix: name socket event thread (#35471)

* SocketAsyncEngine.Unix: name socket event thread

This makes it more easy to identify the thread amongst
the other threads in the application.

* PR feedback

* Make System.Threading.Thread Reference specific to Unix

4 years agoGuard against (de)serializing pointers & ref structs (#34777)
Layomi Akinrinade [Mon, 27 Apr 2020 19:29:45 +0000 (15:29 -0400)]
Guard against (de)serializing pointers & ref structs (#34777)

* Guard against (de)serializing pointers & ref structs

* Address review feedback

* Update isbyreflike check

* Address review feedback; fetch IsByRefLike with reflection

* Address review feedback

* Remove extra whitespace

* Add debug assert

* Add attribute-based fallback

* Ensure that property look-up with reflection is useful

* Remove IsByRefLike property reflection prob

* Move runtime type debug validation upstream

4 years agoRestore Seperate test builds, but fix broken pipe (#35378)
Steve MacLean [Mon, 27 Apr 2020 18:24:50 +0000 (14:24 -0400)]
Restore Seperate test builds, but fix broken pipe (#35378)

* Build coreclr targetGeneric tests separately for CI (#34790)

* Build CoreClr tests separately

* Build coreclr targetGeneric tests separately for CI
* Build coreclr targetGeneric tests separately in runtime.yml
* Distinguish generic build based on Libraries config
* Build OSX release libraries when CoreCLR changed
* Always use tar.gz compression for generic tests

* Mark all CoreCLR Interop/COM projects OsSpecific

* Assume debug/release libraries doesn't matter during test build

* Add comments

4 years agoDelete SQLCLR EEPolicy leftovers (#35440)
Jan Kotas [Mon, 27 Apr 2020 18:05:58 +0000 (11:05 -0700)]
Delete SQLCLR EEPolicy leftovers (#35440)

4 years agoTabs vs. spaces
Jan Kotas [Mon, 27 Apr 2020 18:05:12 +0000 (11:05 -0700)]
Tabs vs. spaces

4 years agoMerge pull request #35319 from krwq/nullable-xml-1
Krzysztof Wicher [Mon, 27 Apr 2020 17:51:31 +0000 (10:51 -0700)]
Merge pull request #35319 from krwq/nullable-xml-1

Nullable: System.Xml, part 1

4 years ago[installer] Add RuntimeSpecificFrameworkSuffix property (#35124)
Mitchell Hwang [Mon, 27 Apr 2020 17:42:47 +0000 (13:42 -0400)]
[installer] Add RuntimeSpecificFrameworkSuffix property (#35124)

Co-authored-by: Mitchell Hwang <mihw@microsoft.com>
4 years agoLSRA delete a custom logic to get a tree type, use a general one. (#35313)
Sergey Andreenko [Mon, 27 Apr 2020 16:57:35 +0000 (09:57 -0700)]
LSRA delete a custom logic to get a tree type, use a general one. (#35313)

* Test two ways of getting type in LSRA.

* Use `getDefType` in `updateMaxSpill`.

* Rename `typ` to `type`.

4 years agoImprove Crossgen2 map file emitter (#35459)
Tomáš Rylek [Mon, 27 Apr 2020 15:45:22 +0000 (17:45 +0200)]
Improve Crossgen2 map file emitter (#35459)

* Improve Crossgen2 map file emitter

I have rewritten the file name emitter with two main goals in mind:

1) Fix the long-standing problem that map file wasn't showing true
RVA's of the individual symbols / nodes, making it harder to
correlate its information with in-memory R2R PE layout.

2) Add section size and statistics section roughly mimicking what
JanV presented in his recent analytic breakdown of R2R contents.

Thanks

Tomas

4 years ago[mono] Implement System.Console for Android (#35415)
Egor Bogatov [Mon, 27 Apr 2020 14:49:53 +0000 (17:49 +0300)]
[mono] Implement System.Console for Android (#35415)

* Implement ConsolePal for Android

Co-authored-by: Stephen Toub <stoub@microsoft.com>
4 years agoSync shared crossgen2 files (#35504)
Michal Strehovský [Mon, 27 Apr 2020 14:23:43 +0000 (16:23 +0200)]
Sync shared crossgen2 files (#35504)

4 years agoFix Interop.Sys.Write signature (#35505)
Vlad Brezae [Mon, 27 Apr 2020 12:49:42 +0000 (15:49 +0300)]
Fix Interop.Sys.Write signature (#35505)

SystemNative_Write expects fd passed as intptr, while the original sigature was using int. This crashed on mono interpreter because we didn't zero extend the int argument to an intptr, passing in an invalid descriptor.

4 years agoRemove usage of non-generic collections from Mono's SPC (#35312)
Roman Marusyk [Mon, 27 Apr 2020 12:13:27 +0000 (15:13 +0300)]
Remove usage of non-generic collections from Mono's SPC (#35312)

* Remove usage of non-generic collections from Mono's SPC #35282

* Remove usage of non-generic collections from Mono's SPC

Fix #35282

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
4 years agoCompile the wasm cross compiler with llvm. (#35395)
Zoltan Varga [Mon, 27 Apr 2020 11:52:26 +0000 (07:52 -0400)]
Compile the wasm cross compiler with llvm. (#35395)

4 years agoadd correct value when cloning http headers (#35498)
Tomas Weinfurt [Mon, 27 Apr 2020 11:31:56 +0000 (04:31 -0700)]
add correct value when cloning http headers (#35498)

* add correct value when cloning http headers

* Address PR feedback

Co-authored-by: Tomas Weinfurt <furt@Shining.local>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
4 years agoskip Microsoft.XmlSerializer.Generator.Tests on FreeBSD (#35494)
Tomas Weinfurt [Mon, 27 Apr 2020 10:37:47 +0000 (03:37 -0700)]
skip Microsoft.XmlSerializer.Generator.Tests on FreeBSD (#35494)

4 years agofixes for Socket constructor from handle (#34986)
Tomas Weinfurt [Mon, 27 Apr 2020 09:58:20 +0000 (02:58 -0700)]
fixes for Socket constructor from handle (#34986)

* fixes for Socket from handle

* add netlink test

* feedback from review

* add test with socketpair

* update socketpair test

* improve netlink test & feedback from review

* remove extrae empty line

* fixup SocketOptionName.AcceptConnection on OSX and add test

* fix UDS getpeername on Windows

* add debug output to UDS test

* feedback from review

* refactor handling of small buffer for getpeername

* adjust buffer calculation

* update also InternalSize

* more fixes to deal with UDS

* update WinSock getpeername

* push size logic to pal

* feedback from review

* use Span<byte> with getpeername

Co-authored-by: Tomas Weinfurt <furt@Shining.local>