platform/upstream/dotnet/runtime.git
3 years agoAddress post-merge feedback on TimeZoneInfo display names PR (#53229)
Stephen Toub [Tue, 25 May 2021 22:11:02 +0000 (18:11 -0400)]
Address post-merge feedback on TimeZoneInfo display names PR (#53229)

3 years agoUpdate interpolated string handler based on API reviews / LDM decisions (#53153)
Stephen Toub [Tue, 25 May 2021 21:50:49 +0000 (17:50 -0400)]
Update interpolated string handler based on API reviews / LDM decisions (#53153)

3 years agoFix JsonElement.ToString nullable annotation (#53243)
Stephen Toub [Tue, 25 May 2021 21:49:31 +0000 (17:49 -0400)]
Fix JsonElement.ToString nullable annotation (#53243)

3 years agoAdd PreAllocatedOverlapped.UnsafeCreate / UnsafeAllocateNativeOverlapped (#53196)
Stephen Toub [Tue, 25 May 2021 21:49:10 +0000 (17:49 -0400)]
Add PreAllocatedOverlapped.UnsafeCreate / UnsafeAllocateNativeOverlapped (#53196)

3 years agoAdd support for OpenBSD/arm64 (#53233)
monojenkins [Tue, 25 May 2021 21:24:40 +0000 (17:24 -0400)]
Add support for OpenBSD/arm64 (#53233)

There are three changes required to build mono on OpenBSD/arm64.

- The first one is to provide the UCONTEXT macros, which for OpenBSD simply map to sigcontext.
- Furthermore as stated in issue mono/mono#21005, https://github.com/mono/boringssl/compare/mono...bluerise:obsd is necessary for boringssl so that it can be built.
- And last, bdwgc needs to be patches as well: https://github.com/Unity-Technologies/bdwgc/pull/62

Co-authored-by: bluerise <bluerise@users.noreply.github.com>
3 years agoMaking singlefile apps work when wrapped in an OSX universal binary (#52997)
Vladimir Sadov [Tue, 25 May 2021 20:56:45 +0000 (13:56 -0700)]
Making singlefile apps work when wrapped in an OSX universal binary (#52997)

* singlefile support for universal binaries

* Update src/native/corehost/bundle/reader.h

Co-authored-by: Vitek Karas <vitek.karas@microsoft.com>
* tests for OSX universal apps

* Added a comment about testing strategy

Co-authored-by: Vitek Karas <vitek.karas@microsoft.com>
3 years ago[wasm] Improve exception handling measurements (#52846)
Radek Doulik [Tue, 25 May 2021 20:46:45 +0000 (22:46 +0200)]
[wasm] Improve exception handling measurements (#52846)

Add conditional throw to the leaf methods to avoid optimizing out the
exception handling code in `TryCatch` measurement.

Add new `NoExceptionHandling` measurement to measure case when no
exception handling is involved.

Example measurement, chrome/amd64:

| measurement | AOT | interp |
|-:|-:|-:|
|  Exceptions, NoExceptionHandling |     0.0164us |     0.0558us |
|             Exceptions, TryCatch |     0.1400us |     0.0592us |
|        Exceptions, TryCatchThrow |     0.0064ms |     0.0028ms |
|       Exceptions, TryCatchFilter |     0.4415us |     0.0645us |
| Exceptions, TryCatchFilterInline |     0.1263us |     0.0527us |
|   Json, non-ASCII text serialize |     1.4475ms |     8.6952ms |
| Json, non-ASCII text deserialize |     6.5332ms |    12.2220ms |
|            Json, small serialize |     0.2020ms |     0.2362ms |
|          Json, small deserialize |     0.2293ms |     0.3614ms |
|            Json, large serialize |    53.3021ms |    68.0000ms |
|          Json, large deserialize |    61.5176ms |   100.0377ms |

3 years agoEnable use of RuntimeVariant to exclude runtime tests (#51522)
Nathan Ricci [Tue, 25 May 2021 20:16:56 +0000 (16:16 -0400)]
Enable use of RuntimeVariant to exclude runtime tests (#51522)

Allow filtering of runtime tests based on runtimevariant.

3 years agoReduce DefaultPooledConnectionIdleTimeout default (#52687)
Stephen Halter [Tue, 25 May 2021 19:46:40 +0000 (12:46 -0700)]
Reduce DefaultPooledConnectionIdleTimeout default (#52687)

* Reduce DefaultPooledConnectionIdleTimeout default

- Change DefaultPooledConnectionIdleTimeout from 120 seconds to 60 seconds
- This should reduce the occurrence of socket errors when connected to IIS or Kestrel

3 years ago[wasm][testing] create dev cert via powershell on helix (#53225)
Pavel Savara [Tue, 25 May 2021 16:25:54 +0000 (18:25 +0200)]
[wasm][testing] create dev cert via powershell on helix (#53225)

create SSL dev cert via powershell on helix

3 years agoClosing opened handles to avoid resource leak. (#51950)
Artem Kliatchkine [Tue, 25 May 2021 16:11:50 +0000 (18:11 +0200)]
Closing opened handles to avoid resource leak. (#51950)

SymReader::InitializeFromFile opens file handles which were not closed causing resource leaks on each call.

Fix #50422

Co-authored-by: Artem Kliatchkine <eldog@rambler.ru>
3 years agoRemove unused code from old IJW path (#53190)
Elinor Fung [Tue, 25 May 2021 16:06:52 +0000 (09:06 -0700)]
Remove unused code from old IJW path (#53190)

3 years agoCleanup internal ComWrappers cache when object enters Finalization queue (#52771)
Aaron Robinson [Tue, 25 May 2021 15:15:39 +0000 (08:15 -0700)]
Cleanup internal ComWrappers cache when object enters Finalization queue (#52771)

* Clean up the ExternalObjectContext cache for ComWrappers' RCWs.

* Add testing for verifying internal cache clean up.

3 years agoIntegrate selected changes from nativeaot branch (#53185)
Jan Kotas [Tue, 25 May 2021 15:02:16 +0000 (08:02 -0700)]
Integrate selected changes from nativeaot branch (#53185)

- More code sharing for System.Exception
- Some support for default interface methods
- Move callling convention helpers around to avoid duplication
- Unify Environment.StackTrace

3 years ago[Android] Revert arm and arm64 device PR runs (#53210)
Steve Pfister [Tue, 25 May 2021 14:30:35 +0000 (10:30 -0400)]
[Android] Revert arm and arm64 device PR runs (#53210)

We're still having capacity issues even after doubling the number of devices.  Only run device tests on the rolling build for the time being.

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
3 years agoDeterministic bundling issue 3601 (#52930)
Jan Krivanek [Tue, 25 May 2021 13:49:29 +0000 (15:49 +0200)]
Deterministic bundling issue 3601 (#52930)

https://github.com/dotnet/runtime/issues/3601
Bundling should generate id based on the content in order to secure unique but reproducible ids

3 years agoFix missing nullable enable in Microsoft.Extensions.Logging.Abstractions ref (#53199)
Stephen Toub [Tue, 25 May 2021 12:22:40 +0000 (08:22 -0400)]
Fix missing nullable enable in Microsoft.Extensions.Logging.Abstractions ref (#53199)

3 years agomake networking easier to debug with console (#53178)
Tomas Weinfurt [Tue, 25 May 2021 09:16:32 +0000 (11:16 +0200)]
make networking easier to debug with console (#53178)

3 years agoEmit JITStarting, MethodLoad, ModuleLoad and AssemblyLoad EventPipe events on Mono...
Johan Lorensson [Tue, 25 May 2021 08:32:44 +0000 (10:32 +0200)]
Emit JITStarting, MethodLoad, ModuleLoad and AssemblyLoad EventPipe events on Mono. (#53020)

* Add native JIT event into EventPipe.

* Emit module/assembly load native events into EventPipe.

* Emit MethodDCEnd_V1 and MethodILToNativeMap EventPipe events.

3 years agoParse `DOTNET_PROCESSOR_COUNT` with a 10 radix not 16 (#53208)
Aaron Robinson [Tue, 25 May 2021 05:42:26 +0000 (22:42 -0700)]
Parse `DOTNET_PROCESSOR_COUNT` with a 10 radix not 16 (#53208)

* Parse DOTNET_PROCESSOR_COUNT with a 10 radix not 16

* Update test for DOTNET_PROCESSOR_COUNT

3 years agoDelete now unused *AsyncResult files from Sockets (#53192)
Stephen Toub [Tue, 25 May 2021 01:42:06 +0000 (21:42 -0400)]
Delete now unused *AsyncResult files from Sockets (#53192)

3 years agoGT_COPY source should be marked as consume during resolution (#53041)
Kunal Pathak [Tue, 25 May 2021 01:23:22 +0000 (18:23 -0700)]
GT_COPY source should be marked as consume during resolution (#53041)

3 years agoSystem.ComponentModel.* missed Equals nullable annotations (#52163)
hrrrrustic [Tue, 25 May 2021 01:15:04 +0000 (04:15 +0300)]
System.ComponentModel.* missed Equals nullable annotations  (#52163)

* add NotNullWhen attribute

* add usings

3 years agoFix handling of non-mergeable char classes in regex prefix analyzer (#53135)
Stephen Toub [Tue, 25 May 2021 01:04:52 +0000 (21:04 -0400)]
Fix handling of non-mergeable char classes in regex prefix analyzer (#53135)

3 years agoHot Reload: test on WebAssembly (#53050)
Aleksey Kliger (λgeek) [Tue, 25 May 2021 00:25:17 +0000 (20:25 -0400)]
Hot Reload: test on WebAssembly (#53050)

* Hot Reload: test on WebAssembly

   1. Always build the assemblies in the ApplyUpdate/ subdirectory without optimization, with debug info.  Hot reload depends on it.
   2. Pass the required environment variable to the runtime via xharness to enable support for applying updates.

* Add ApplyUpdate test assemblies to test project linker descriptor

* Fix wasm EnableAggressiveTrimming lane

3 years agoAdd more natvis visualizations for base VM types. (#53052)
Jeremy Koritzinsky [Tue, 25 May 2021 00:12:37 +0000 (17:12 -0700)]
Add more natvis visualizations for base VM types. (#53052)

3 years agoDelete redundant area-owners entries (#53188)
Jan Kotas [Mon, 24 May 2021 23:36:31 +0000 (16:36 -0700)]
Delete redundant area-owners entries (#53188)

3 years agoUse the new Microsoft.DotNet.PackageValidation on Microsoft.Extensions* packages...
Anirudh Agnihotry [Mon, 24 May 2021 21:48:17 +0000 (14:48 -0700)]
Use the new Microsoft.DotNet.PackageValidation on Microsoft.Extensions* packages. (#52741)

* enabling the new validation on extensions packages

* use most recent version namespace fixes

* use the new pacakge version with the path fix

* editing the comments

3 years agoReenable extract unicode System.IO.Compression.ZipFile tests on iOS (#53176)
Steve Pfister [Mon, 24 May 2021 21:20:10 +0000 (17:20 -0400)]
Reenable extract unicode System.IO.Compression.ZipFile tests on iOS (#53176)

As a result of https://github.com/dotnet/xharness/pull/605, the tests should be good to run

Fixes https://github.com/dotnet/runtime/issues/52471

3 years ago[mono] LLVM build fixes (#53139)
imhameed [Mon, 24 May 2021 20:43:28 +0000 (13:43 -0700)]
[mono] LLVM build fixes (#53139)

Don't copy files from an LLVM header and library directory to
`artifacts/obj/mono` if the directory was supplied as a user-specified
`MonoLLVMDir` or `MonoAOTLLVMDir` property.

3 years agoFix EventSource default channel allocation (#48864)
Sung Yoon Whang [Mon, 24 May 2021 20:42:52 +0000 (13:42 -0700)]
Fix EventSource default channel allocation (#48864)

3 years agoUpdate testing docs with x86 instructions (#48715)
Adam Sitnik [Mon, 24 May 2021 18:45:21 +0000 (20:45 +0200)]
Update testing docs with x86 instructions (#48715)

* Update testing docs with x86 instructions

* Apply suggestions from code review

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
* add more examples

* Apply suggestions from code review

Co-authored-by: Dan Moseley <danmose@microsoft.com>
* Update docs/workflow/testing/libraries/testing.md

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
3 years agoFix another bug in the backport action (#53187)
Doug Bunting [Mon, 24 May 2021 18:32:15 +0000 (11:32 -0700)]
Fix another bug in the backport action (#53187)

- #52938 was incomplete
- see also dotnet/aspnetcore#32930

3 years agoFix the token included by HttpClient.HandleFailure (#53133)
Stephen Toub [Mon, 24 May 2021 18:22:10 +0000 (14:22 -0400)]
Fix the token included by HttpClient.HandleFailure (#53133)

3 years agoAdd additional area labels that have been added recently (#53183)
Jeff Schwartz [Mon, 24 May 2021 18:13:09 +0000 (11:13 -0700)]
Add additional area labels that have been added recently (#53183)

3 years agoAdd runtimeconfig.json support to AppleAppBuilder, reenable affected tests (#53172)
Filip Navara [Mon, 24 May 2021 18:11:26 +0000 (20:11 +0200)]
Add runtimeconfig.json support to AppleAppBuilder, reenable affected tests (#53172)

3 years agoFix: Avoid throwing if a symbolic link cycle to itself is detected while enumerating...
Carlos Sanchez [Mon, 24 May 2021 17:48:40 +0000 (10:48 -0700)]
Fix: Avoid throwing if a symbolic link cycle to itself is detected while enumerating (#52749)

* Fix: Avoid throwing on FileSystemEntry.Initialize

* Add unit tests that verify cyclic symbolic links

* Fix Windows-specific unit test failures

* Use OperatingSystem.IsWindows()

* CHange 'Assert.Equal(1, ' to 'Assert.Single('

* Rename helper method that creates self referencing symlink

* Spacing

* ConditionalClass for CanCreateSymbolicLinks

* ConditionalClass does not work in browser/ios/android, use ConditionalFact/ConditionalTheory

Co-authored-by: carlossanlop <Carlos Sanchez carlossanlop@users.noreply.github.com>
Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
3 years agoStringify RMWStatus for the dump (#53148)
SingleAccretion [Mon, 24 May 2021 16:59:01 +0000 (19:59 +0300)]
Stringify RMWStatus for the dump (#53148)

* Stringify RMWStatus for the dump

* Use a simpler switch-based implementation

* Made the string into a description

3 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro[bot] [Mon, 24 May 2021 16:32:24 +0000 (09:32 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210523.4 (#53170)

optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.21271.2 -> To Version 1.0.0-prerelease.21273.4

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoinstall development SSL certificate on Helix agent before xharness run (#53180)
Pavel Savara [Mon, 24 May 2021 16:06:25 +0000 (18:06 +0200)]
install development SSL certificate on Helix agent before xharness run (#53180)

3 years agoImplement Get*PublicKey methods on S.S.C.X509Certificates.PublicKey
Kevin Jones [Mon, 24 May 2021 16:04:53 +0000 (12:04 -0400)]
Implement Get*PublicKey methods on S.S.C.X509Certificates.PublicKey

3 years agoSet NumProc on tizen (#53098)
Gleb Balykov [Mon, 24 May 2021 15:01:03 +0000 (18:01 +0300)]
Set NumProc on tizen (#53098)

3 years agoChange enterprise test password (#53094)
Jan Jahoda [Mon, 24 May 2021 13:54:45 +0000 (15:54 +0200)]
Change enterprise test password (#53094)

* Change password

* Change another occurence

3 years agoDisabled failing HTTP/3 tests. (#53092)
Marie Píchová [Mon, 24 May 2021 13:31:23 +0000 (15:31 +0200)]
Disabled failing HTTP/3 tests. (#53092)

* Disabled failing HTTP/3 tests.

* The test disabling move to code for abstract bases.

3 years agoDbgTransportSession: delete message copy when not queued (#50550)
Tom Deseyn [Mon, 24 May 2021 09:45:33 +0000 (11:45 +0200)]
DbgTransportSession: delete message copy when not queued (#50550)

3 years agoReflection-annotate obscure API (#53081)
Michal Strehovský [Mon, 24 May 2021 09:29:15 +0000 (11:29 +0200)]
Reflection-annotate obscure API (#53081)

I missed the extra `Activator` in Activator.RuntimeType.cs (the rest are in Activator.cs). This was flagged on the NativeAOT side.

Also missed the APIs on `ModuleHandle` that I found by accident just now.

3 years agoSystem.Collections.* missed Equals nullable annotations (#52164)
hrrrrustic [Mon, 24 May 2021 08:55:05 +0000 (11:55 +0300)]
System.Collections.* missed Equals nullable annotations  (#52164)

* add NotNullWhen attribute

* add usings

3 years ago[main] Update dependencies from dotnet/arcade dotnet/icu dotnet/xharness dotnet/hotre...
dotnet-maestro[bot] [Mon, 24 May 2021 07:56:51 +0000 (07:56 +0000)]
[main] Update dependencies from dotnet/arcade dotnet/icu dotnet/xharness dotnet/hotreload-utils (#53138)

[main] Update dependencies from dotnet/arcade dotnet/icu dotnet/xharness dotnet/hotreload-utils

3 years agoUpdate dependencies from https://github.com/dotnet/emsdk build 20210520.1 (#53013)
dotnet-maestro[bot] [Mon, 24 May 2021 07:42:22 +0000 (07:42 +0000)]
Update dependencies from https://github.com/dotnet/emsdk build 20210520.1 (#53013)

[main] Update dependencies from dotnet/emsdk

3 years agoAdd [return: NotNullIfNotNull("str")] to SecurityElement.Escape (#52442)
Bond-009 [Mon, 24 May 2021 07:40:52 +0000 (09:40 +0200)]
Add [return: NotNullIfNotNull("str")] to SecurityElement.Escape (#52442)

3 years agoAdd missing space in xml description for IReadOnlySet<T>.Overlaps (#53159)
Simon Cropp [Mon, 24 May 2021 07:40:34 +0000 (17:40 +1000)]
Add missing space in xml description for IReadOnlySet<T>.Overlaps (#53159)

fixes https://github.com/dotnet/runtime/issues/53147

3 years agoReintroduce EnumerateRunes tests (#53114)
Levi Broderick [Mon, 24 May 2021 07:33:06 +0000 (00:33 -0700)]
Reintroduce EnumerateRunes tests (#53114)

3 years agoFix formatting of CircularDependencyException error message (#53140)
Marek Safar [Mon, 24 May 2021 06:37:40 +0000 (08:37 +0200)]
Fix formatting of CircularDependencyException error message (#53140)

3 years agoOptimise GetCustomAttributes - Part 1 (#53152)
Jan Kotas [Mon, 24 May 2021 04:36:09 +0000 (21:36 -0700)]
Optimise GetCustomAttributes - Part 1 (#53152)

- Use is/is not instead of ==/!=. Avoids overhead from operator overloading
- Pass ListBuilder as ref instead of out. Avoids redundant initialization to default.
- Use HashSet instead of Dictionary.

Co-authored-by: Ben Adams <thundercat@illyriad.co.uk>
3 years agoFix a 32-bit specific bug in `fgMorphCast` (#52828)
SingleAccretion [Mon, 24 May 2021 04:26:04 +0000 (07:26 +0300)]
Fix a 32-bit specific bug in `fgMorphCast` (#52828)

* Added a test

Verifying that checked '.un' casts from floats to small types are not treated as casts from unsigned types.

* Do not mark casts from FP types with GTF_UNSIGNED

It used to be that in the importer, whether the cast was to
be marked as GTF_UNSIGNED was decided exclusively based on
the incoming opcode. However, the flag only makes sense
for casts from integral sources, and it turns out morph
had a bug where it failed to clear this flag which resulted in
bad codegen.

The bug went as follows: "gtMorphCast" turns casts from an FP
type to a small integer into a chain of casts:
CAST(small integer <- FP) => CAST(small integer <- CAST(TYP_INT <- FP)).
On 32 bit platforms, the code failed to clear the GTF_UNSIGNED flag
from the original tree, which meant that the outer cast thought it
had TYP_UINT as the source. This matters for checked casts:
conv.ovf.i2.un(-2.0d), which is a legitimate conversion, was interpreted
wrongly as an overflowing one as the resulting codegen only checked the
upper bound via an unsigned compare.

The fix is two-fold: clear GTF_UNSIGNED for GT_CAST nodes with FP sources
on creation and unify the 64 bit and 32 bit paths in "gtMorphCast",
which, after the removal of GTF_UNSIGNED handling, are identical.

This is a zero-diff change across all SPMI collections for Windows x64, Linux x64,
Linux ARM64.

This **is not** a zero-diff change for Windows x86.
Instances of bad codegen have been corrected in some tests.

* Assert instead of normalizing

Instead of normalizing GTF_UNSIGNED for FP sources in "gtNewCastNode",
assert that it is not set in GenTreeCast's constructor and fix the
importer to respect that constraint.

3 years agoSome cleanup of `var_types` - related functions (#52418)
SingleAccretion [Mon, 24 May 2021 04:25:13 +0000 (07:25 +0300)]
Some cleanup of `var_types` - related functions (#52418)

* Specified the parameter name for ReinterpretHexAsDecimal

* Refactored "genUnsignedType", now "varTypeToUnsigned"

Renamed "genUnsignedType" to "varTypeToUnsigned" to conform to the existing
naming convention, moved its definition from "compiler.hpp" to "vartype.h",
made it a templated function like all the other "varType*" functions.
Deleted the equivalent but unused "varTypeSignedToUnsigned".

* Deleted "genSignedType" and renamed "varTypeUnsignedToSigned"

"genSignedType" had confusing semantics where it only returned the actual
signed type for TYP_UINT and TYP_ULONG. Deleted the function and made
the callsites explicitly request that behavior.
Also renamed "varTypeUnsignedToSigned" to "varTypeToSigned" for parity
with "varTypeToUnsigned" and made it a templated function.

* Made "genActualType" a templated function

* Made "genTypeStSz" a templated function

Also renamed the parameters for it and "genTypeSize" to be
consistent with "genActualType".

3 years ago[iOS] Re-enable Brotli tests (#53069)
Filip Navara [Sun, 23 May 2021 22:03:25 +0000 (00:03 +0200)]
[iOS] Re-enable Brotli tests (#53069)

3 years ago[iOS] Re-enable System.Xml.XmlSchema.XmlSchemaValidatorApi.Tests (#53068)
Filip Navara [Sun, 23 May 2021 22:02:08 +0000 (00:02 +0200)]
[iOS] Re-enable System.Xml.XmlSchema.XmlSchemaValidatorApi.Tests (#53068)

Fixes #51338

3 years agoRemove redundant GeneratePackageOnBuild condition (#53107)
Viktor Hofer [Sun, 23 May 2021 18:46:52 +0000 (20:46 +0200)]
Remove redundant GeneratePackageOnBuild condition (#53107)

* Remove redundant GeneratePackageOnBuild condition

3 years agoAvoid dependency on LINQ orderby iterators when building exception messsage (#53123)
Marek Safar [Sun, 23 May 2021 12:14:40 +0000 (14:14 +0200)]
Avoid dependency on LINQ orderby iterators when building exception messsage (#53123)

Saves about 2k compressed for Blazor default template

3 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro[bot] [Sun, 23 May 2021 03:58:33 +0000 (20:58 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210521.2 (#53124)

optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.21270.4 -> To Version 1.0.0-prerelease.21271.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoSystem.Reflection.* missed Equals nullable annotations (#52162)
hrrrrustic [Sat, 22 May 2021 20:54:40 +0000 (23:54 +0300)]
System.Reflection.* missed Equals nullable annotations  (#52162)

* add NotNullWhen attribute

3 years agoAllow TimeZoneInfo display names to use any of the installed Windows languages (...
Matt Johnson-Pint [Sat, 22 May 2021 18:50:14 +0000 (11:50 -0700)]
Allow TimeZoneInfo display names to use any of the installed Windows languages (#53119)

3 years agoIntegrate misc changes from nativeaot (#53063)
Jan Kotas [Sat, 22 May 2021 17:01:44 +0000 (10:01 -0700)]
Integrate misc changes from nativeaot (#53063)

* Integrate misc changes from nativeaot

* Fix RemoteStack serialization

* Delete confusing String.Empty comment

3 years agoMove GlobalizationMode initialization into a nested class (#53082)
Marek Safar [Sat, 22 May 2021 11:12:19 +0000 (13:12 +0200)]
Move GlobalizationMode initialization into a nested class (#53082)

3 years agoremove pragma (#52481)
hrrrrustic [Sat, 22 May 2021 09:55:05 +0000 (12:55 +0300)]
remove pragma (#52481)

3 years agoFix typos in comments (#53064)
IchHabeKeineNamen [Sat, 22 May 2021 01:30:01 +0000 (09:30 +0800)]
Fix typos in comments (#53064)

3 years agoRevert "Allow TimeZoneInfo display names to use any of the installed Windows language...
Matt Johnson-Pint [Fri, 21 May 2021 23:35:34 +0000 (16:35 -0700)]
Revert "Allow TimeZoneInfo display names to use any of the installed Windows languages" (#53112)

This reverts commit b54dbaf9adb2ec068098394b3f73e8e7cd0ec09c.

3 years agoAllow TimeZoneInfo display names to use any of the installed Windows languages (...
Matt Johnson-Pint [Fri, 21 May 2021 23:00:18 +0000 (16:00 -0700)]
Allow TimeZoneInfo display names to use any of the installed Windows languages (#52992)

3 years agoImplement Initialize on HashAlgorithm (#51402)
Kevin Jones [Fri, 21 May 2021 22:12:18 +0000 (18:12 -0400)]
Implement Initialize on HashAlgorithm (#51402)

* Implement Initialize on HashAlgorithm derived types.

* Add test for SHA CryptoServiceProviders

* Implement reset for HMAC

* Remove const

* Fix header.

[sigh]

* Remove ZeroMemory

* Fix performance of CSP hash providers.

3 years agoFix typo tihs -> this (#52398)
Jonas Nyrup [Fri, 21 May 2021 22:03:21 +0000 (00:03 +0200)]
Fix typo tihs -> this (#52398)

3 years agoensure we flush when a window limit is hit (#52797)
Geoff Kizer [Fri, 21 May 2021 21:25:01 +0000 (14:25 -0700)]
ensure we flush when a window limit is hit (#52797)

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
3 years agoRemove unused field (#53100)
Chris Ross [Fri, 21 May 2021 19:35:08 +0000 (12:35 -0700)]
Remove unused field (#53100)

3 years agoJIT: fix relop flags for peeled switch compare (#53096)
Andy Ayers [Fri, 21 May 2021 19:19:25 +0000 (12:19 -0700)]
JIT: fix relop flags for peeled switch compare (#53096)

In particular we need to set `GTF_DONT_CSE` so that CSE doesn't
introduce commas under `GT_JTRUE` nodes.

Fixes #52785.

3 years agoSkip flakey mobile library test crashes (#52931)
Mitchell Hwang [Fri, 21 May 2021 19:18:14 +0000 (15:18 -0400)]
Skip flakey mobile library test crashes (#52931)

* [mobile][libraries] Skip test suites failing on CI

* [libraries] Add more flakey test suite crashes

* [Android][libraries] Add DynamicChainTests.MismatchKeyIdentifiers failure

* Add issue to DynamicChainTests ActiveIssue

* [Android] Add more flakey test suite crashes for Android arm64

* [libraries] Add RunDisabledAndroidTests condition to be able to run tests on build lane

* [Android] Add even more flakey test suites that crash

* [iOS] Add System.Net.Security.Tests X509 Certificate not supported skips

* [libraries][Android] Add another round of test suite flakes for Android arm64

* Remove suites that had Package Installation Error failures

* [Android][libraries] Add more process crashed test suites

* Add more process crashed for Android arm and arm64

* Remove test suites that failed due to Package Installation Failure

* [Android][libraries] Add System.Diagnostics.Process.Tests active issue

* [Android] Add more flakey test suite crashing from json error

* [Android][libraries] JSON parsing exception section for suite skips

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
3 years agoOverride BaseType in TypeRefTypeSystemType (#52963)
Jakob Botsch Nielsen [Fri, 21 May 2021 18:35:06 +0000 (20:35 +0200)]
Override BaseType in TypeRefTypeSystemType (#52963)

* Override BaseType in TypeRefTypeSystemType

BaseType is being used to determine whether the type is a value type or
class type. This meant that `dotnet-pgo merge` would always produce
metadata saying that all types were class types.

In practice, this meant that we had the following behavior:
```
.\dotnet-pgo.exe merge --input IBCTrace28800.mibc --output identity.mibc
.\dotnet-pgo.exe merge --input IBCTrace28800.mibc --input identity.mibc --output foo.mibc
Opening D:\dev\dotnet\dotnet-optimization\output\temp\IBCTrace28800.mibc
Opening D:\dev\dotnet\runtime\artifacts\bin\coreclr\windows.x64.Debug\dotnet-pgo\foo.mibc
Unhandled exception. System.Exception: Same type `[S.P.CoreLib]System.ReadOnlySpan`1` used as both ValueType and non-ValueType
   at Microsoft.Diagnostics.Tools.Pgo.TypeRefTypeSystem.TypeRefTypeSystemType.SetIsValueType(Boolean isValueType)
   at Microsoft.Diagnostics.Tools.Pgo.TypeRefTypeSystem.TypeRefTypeSystemContext.TypeRefSignatureParserProvider.GetTypeFromReference(MetadataReader reader, TypeReferenceHandle handle, Byte rawTypeKind)
```

The same problem would occur when using compare-mibc to compare a
merged mibc file with some of its constituents. These scenarios work
now.

* Re-abstract BaseType in MetadataType

3 years agoFixing nullability annotations on DateOnly and TimeOnly (#53088)
Tanner Gooding [Fri, 21 May 2021 18:22:39 +0000 (11:22 -0700)]
Fixing nullability annotations on DateOnly and TimeOnly (#53088)

* Fixing nullability annotations on DateOnly and TimeOnly

* Fix nullability annotatations for formats parameter on TryParseExact

3 years ago[main] Update dependencies from dnceng/internal/dotnet-optimization (#52966)
dotnet-maestro[bot] [Fri, 21 May 2021 17:44:25 +0000 (10:44 -0700)]
[main] Update dependencies from dnceng/internal/dotnet-optimization (#52966)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210518.8

optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.21267.7 -> To Version 1.0.0-prerelease.21268.8

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210519.5

optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.21267.7 -> To Version 1.0.0-prerelease.21269.5

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210520.4

optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.21267.7 -> To Version 1.0.0-prerelease.21270.4

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoAllow more efficient marshalling to IDispatch (#53065)
Andrii Kurdiumov [Fri, 21 May 2021 16:26:17 +0000 (22:26 +0600)]
Allow more efficient marshalling to IDispatch (#53065)

In NativeAOT scenario this allow to not rely on reflection to get GUID of the IDispatch, since it is well known.
Related to https://github.com/dotnet/runtimelab/pull/1142

3 years agoDisable UnmanagedCallConvTest on Android (#53079)
Fan Yang [Fri, 21 May 2021 15:30:56 +0000 (11:30 -0400)]
Disable UnmanagedCallConvTest on Android (#53079)

3 years agoMark some APIs as unsupported on MacCatalyst (#53075)
Maxim Lipnin [Fri, 21 May 2021 13:48:49 +0000 (16:48 +0300)]
Mark some APIs as unsupported on MacCatalyst (#53075)

3 years agoCom trimming related work (#52940)
Lakshan Fernando [Fri, 21 May 2021 13:12:46 +0000 (06:12 -0700)]
Com trimming related work (#52940)

* COM related work and native host name changes

* FB

3 years agoFix creation of platforms and sources package (#53073)
Viktor Hofer [Fri, 21 May 2021 13:11:41 +0000 (15:11 +0200)]
Fix creation of platforms and sources package (#53073)

* Fix creation of platforms and sources package

* Update Microsoft.Extensions.HostFactoryResolver.Sources.csproj

3 years agoBig-endian fix: JsonWriterHelper (#52790)
Ulrich Weigand [Fri, 21 May 2021 12:21:15 +0000 (14:21 +0200)]
Big-endian fix: JsonWriterHelper (#52790)

JsonWriterHelper.Transcoding.cs has endian-dependent code that is
guarded via a #if BIGENDIAN.  However, nobody ever defines this
predefine (outside of System.Private.CoreLib) so this doesn't work.

Fixed by using BitConverter.IsLittleEndian like everywhere else.

3 years agoImplement 64-bit type handle histogram counts (#52898)
Jakob Botsch Nielsen [Fri, 21 May 2021 10:24:28 +0000 (12:24 +0200)]
Implement 64-bit type handle histogram counts (#52898)

3 years agoadd SslStream_RandomWrites_OK test (#52682)
Tomas Weinfurt [Fri, 21 May 2021 10:01:36 +0000 (12:01 +0200)]
add SslStream_RandomWrites_OK test (#52682)

* add SslStream_RandomWrites_OK test

* update parameters

* feedback from review

* split RandomReadWriteSizeStream to separate file

* add comment

* feedback from review

* s/_maxSize/_maxChunkSize

3 years agoAdd mibc to the PE family of signatures (#53048)
Juan Hoyos [Fri, 21 May 2021 09:09:23 +0000 (02:09 -0700)]
Add mibc to the PE family of signatures (#53048)

3 years ago[wasm] Fix few paths (#53049)
Radek Doulik [Fri, 21 May 2021 07:29:14 +0000 (09:29 +0200)]
[wasm] Fix few paths (#53049)

To avoid parts of the path like:

    artifacts\bin\native\net6.0-Browser-Debug-wasm\/dotnet.wasm

3 years agoRename Mac Catalyst dylib to libmonosgen, not libcoreclr (#53038)
Jo Shields [Fri, 21 May 2021 07:07:34 +0000 (03:07 -0400)]
Rename Mac Catalyst dylib to libmonosgen, not libcoreclr (#53038)

3 years agoMake DSA.Create, AesCcm, AesGcm, ChaCha20Poly1305 throw PNSE on iOS (#52978)
Filip Navara [Fri, 21 May 2021 06:56:05 +0000 (08:56 +0200)]
Make DSA.Create, AesCcm, AesGcm, ChaCha20Poly1305 throw PNSE on iOS (#52978)

3 years agoAdd UnmanagedCallConvAttribute (#52869)
Elinor Fung [Fri, 21 May 2021 06:07:39 +0000 (23:07 -0700)]
Add UnmanagedCallConvAttribute (#52869)

3 years agoAdd a missing end of line to JITDUMP in lclmorph.cpp (#53028)
SingleAccretion [Fri, 21 May 2021 03:48:30 +0000 (06:48 +0300)]
Add a missing end of line to JITDUMP in lclmorph.cpp (#53028)

3 years agoDelete an unnecessary pessimization for x86. (#52803)
Sergey Andreenko [Fri, 21 May 2021 03:27:02 +0000 (20:27 -0700)]
Delete an unnecessary pessimization for x86. (#52803)

3 years agoFix DataCommonEventSource EnterScope (#53043)
Miha Zupan [Fri, 21 May 2021 02:45:15 +0000 (04:45 +0200)]
Fix DataCommonEventSource EnterScope (#53043)

3 years agoResolving ILLink warnings for Microsoft.Extensions.Configuration.Binder (#52795)
Jose Perez Rodriguez [Thu, 20 May 2021 23:54:08 +0000 (16:54 -0700)]
Resolving ILLink warnings for Microsoft.Extensions.Configuration.Binder (#52795)

* Resolving ILLink warnings for Microsoft.Extensions.Configuration.Binder

* Addressing PR Feedback

3 years agoDisable crossgen2determinism test on OSX arm64 (#53045)
Tomáš Rylek [Thu, 20 May 2021 23:22:54 +0000 (01:22 +0200)]
Disable crossgen2determinism test on OSX arm64 (#53045)

3 years agoMake the lookup for getApplicationProtocol optional (#53001)
Steve Pfister [Thu, 20 May 2021 23:16:57 +0000 (19:16 -0400)]
Make the lookup for getApplicationProtocol optional (#53001)

* Make the lookup for getApplicationProtocol optional

The method getApplicationProtocol in javax.net.ssl.SSLEngine is only supported on API level 29 and above, so running on older devices would result in a crash. This change makes the initial method lookup optional and AndroidCryptoNative_SSLStreamGetApplicationProtocol in pal_sslstream.c will error if it is not supported.

Fixes https://github.com/dotnet/runtime/issues/52965

* Feedback

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
3 years agoFix OperatingSystem.IsAndroidVersionAtLeast() (#53034)
Alexander Köplinger [Thu, 20 May 2021 23:15:59 +0000 (01:15 +0200)]
Fix OperatingSystem.IsAndroidVersionAtLeast() (#53034)

The implementation called into uname() which returns the Linux kernel version, but the API as specified in https://github.com/dotnet/designs/blob/main/accepted/2020/platform-checks/platform-checks.md expects the Android API level to be passed in and checked.

Also fix `OperatingSystem.IsLinux()` to return false on Android.

3 years agoReturn null when Variant contains BSTR (#53030)
Andrii Kurdiumov [Thu, 20 May 2021 22:34:02 +0000 (04:34 +0600)]
Return null when Variant contains BSTR (#53030)

* Return null when Variant contains BSTR

I found this one when implement VARIANT marshalling for NativeAOT. Without that I have to resort to duplicate implementation in that class.
PR where I discover this - https://github.com/dotnet/runtimelab/pull/1142
Problem is `Marshal.PtrToStringBSTR` throw exception when passed `IntPtr.Zero`, but `Marshal.StringToBSTR` produce `IntPtr.Zero` when given null.

* Update nullable annotations

3 years agoStringValues.Count test null first (#52508)
Ben Adams [Thu, 20 May 2021 22:26:21 +0000 (23:26 +0100)]
StringValues.Count test null first (#52508)