David Wrighton [Wed, 26 May 2021 18:06:39 +0000 (11:06 -0700)]
Fix devirtualization in shared generic context
In circumstances where the JIT doesn't provide exact enough details about the impl type and interface method to identify exactly which method should be called
- In particular, when the impl class implements multiple copies of the target interface, and they are canonically compatible with the interface method that is to be called
- Simply disable devirtualization for these scenarios
Fixes #51982
Viktor Hofer [Wed, 26 May 2021 17:57:04 +0000 (19:57 +0200)]
Expose the UseLocalTargetingRuntimePack property (#53290)
* Expose the UseLocalTargetingRuntimePack property
and use it in the Microsoft.NETCore.Platforms package to avoid a dependency on the live built targeting and runtime pack / shared framework.
* Update Microsoft.NETCore.Platforms.csproj
Drew Scoggins [Wed, 26 May 2021 17:52:41 +0000 (10:52 -0700)]
Add different pgo data runs (#52780)
* Add different pgo data runs
* Fix if else formatting
* Update log artifact name
* Turn off failing tests for these runs
* Remove filter
* Fix config order
* Remove testing comments
Steve Pfister [Wed, 26 May 2021 17:16:59 +0000 (13:16 -0400)]
Remove -O=-float32 from Default AOT process arguments (#53209)
Addresses https://github.com/dotnet/runtime/issues/51992
Fan Yang [Wed, 26 May 2021 16:35:29 +0000 (12:35 -0400)]
Move Android x64 to normal pipeline (#53237)
Natalia Kondratyeva [Wed, 26 May 2021 16:08:25 +0000 (18:08 +0200)]
[QUIC] Handle connection abort in streams (#52776)
This leverages newly added flag to SHUTDOWN_COMPLETED event, which means that's not a user-initiated stream shutdown, but a connection abort.
Fixes #32050
Andy Ayers [Wed, 26 May 2021 15:56:09 +0000 (08:56 -0700)]
JIT: pgo/devirt diagnostic improvements (#53247)
Several changes to help better diagnose PGO and devirtualization issues:
* Report the source of the PGO data to the jit
* Report the reason for a devirtualization failure to the jit
* Add checking mode that compares result of devirtualization to class profile
* Add reporting mode to assess overall rates of devirtualization failure
when the jit has exact type information.
Also fix a loophole where in some case we'd still devirtualize if not
optimizing.
Note crossgen2 does not yet set devirtualization failure reasons.
Jan Vorlicek [Wed, 26 May 2021 15:19:57 +0000 (17:19 +0200)]
JIT into scratch buffer (#53173)
* Generate JITted code into a scratch buffer
Copy it to the final location after the JITing is done.
* Put also the code header and real code header into the buffer
* Disable the scratch buffer usage until we enable W^X
Sven Boemer [Wed, 26 May 2021 15:00:22 +0000 (08:00 -0700)]
Fix platform-specific substitutions (#53179)
* These feature switches are dead code on non-windows. They were causing
linker warnings because the substitutions weren't being resolved.
See https://github.com/dotnet/sdk/pull/17676
* Fix condition
Check OS, not Platform. Use the same pattern as we do for other
Windows-specific XMLs.
David Cantú [Wed, 26 May 2021 14:47:05 +0000 (09:47 -0500)]
Allow watch of symbolic links to folders on Unix (#52679)
* Allow watch of symbolic links to folders on Unix
* Add logic to repeat directory tests with symlinks
* Remove whitespace
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Avoid follow symlinks by default in subdirectories
* Add Symbolic Link tests
* Revert "Add logic to repeat directory tests with symlinks"
This reverts commit
5b44eb0195c2e5824ac375862765ea5a2cdeb0ad.
* Exclude test from win7 and 8.1
* Avoid running Process.Start in iOS, tvOS and MacCatalyst
* Apply suggestions from code review
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
Johan Lorensson [Wed, 26 May 2021 14:10:44 +0000 (16:10 +0200)]
Mono runtime dynamic component support. (#53221)
Jeff Schwartz [Wed, 26 May 2021 14:00:30 +0000 (07:00 -0700)]
Update area owners to reflect current state (#53232)
Karel Zikmund [Wed, 26 May 2021 13:57:48 +0000 (15:57 +0200)]
Update HttpClientFactory lead (#53270)
Stephen Toub [Wed, 26 May 2021 13:57:31 +0000 (09:57 -0400)]
Delete invalid assert in GetFileMuiPath (#53276)
Gérald Barré [Wed, 26 May 2021 10:58:03 +0000 (06:58 -0400)]
Fix FlushAsyncInternal when emitting BOM (#52812)
* Fix FlushAsyncInternal when emitting BOM
Update StreamWriter.WriteTests.cs
Update StreamWriter.WriteTests.cs
* Remove temporary variable
Stephen Toub [Wed, 26 May 2021 10:51:39 +0000 (06:51 -0400)]
Fix ActivityContext.TryParse null handling (#53265)
Stephen Toub [Wed, 26 May 2021 10:51:21 +0000 (06:51 -0400)]
Make String.{Try}CopyTo public (#53246)
Viktor Hofer [Wed, 26 May 2021 10:09:00 +0000 (12:09 +0200)]
Generate targets files that throws for unsupported netstandard applicable tfms (#53244)
* Generate targets files that throw for unsupported NS tfm
For S.D.Common, S.Speech and S.Sec.Crypto.Pkcs we manually added a
targets file to mark the .NETStandard asset as not applicable.
This was done to allow defining a minimum supported .NETCoreApp
version, even though a compatible .NETStandard asset is available.
This commit automatically generates that targets file based on
items.
Nikitin A. Kirill [Wed, 26 May 2021 07:46:28 +0000 (11:46 +0400)]
Fix #53181. AssemblyLoadContext incorrectly validates name of dynamic assembly when returned from Load (#53219)
See #53181
Pavel Krymets [Wed, 26 May 2021 06:52:11 +0000 (23:52 -0700)]
Remove indirection in DependencyInjection (#52140)
- Remove indirection
- Get rid of scope state and lock on ResolvedServices
- Don't run customer code under the lock
- No public API changes
Viktor Hofer [Wed, 26 May 2021 06:19:30 +0000 (08:19 +0200)]
Disable workload resolver until we support it (#53226)
Unblock Preview 4 SDK usage in the repo.
Tarek Mahmoud Sayed [Wed, 26 May 2021 05:09:43 +0000 (22:09 -0700)]
Synchronize Metrics Events (#53204)
SingleAccretion [Wed, 26 May 2021 02:44:12 +0000 (05:44 +0300)]
Delete some unused functions & one define (#53130)
Sergey Andreenko [Wed, 26 May 2021 02:36:32 +0000 (19:36 -0700)]
Fix no struct promotion condition for long vars on 32bit platforms. (#53067)
* fix a condition.
* Move `PromoteLongVars` to `DecomposeLongs`.
* response review
Jose Perez Rodriguez [Wed, 26 May 2021 01:02:27 +0000 (18:02 -0700)]
Removing unnecessary nowarns from trimming tests (#53251)
* Removing unnecessary nowarns from trimming tests
* Also change the way we mark managedassemblies to link
* Remove target and instead use TrimmerDefaultAction
* Adding the suppression of warnings from the linker
Tanner Gooding [Tue, 25 May 2021 23:07:52 +0000 (16:07 -0700)]
Fix a couple issues with Vector128.Get/WithElement (#52985)
* Fix an issue with Vector128.WithElement around unused nodes for pre SSE4.1
* Fixing the expected exception for a structreturn test
* Ensure we check if the baseline SIMD ISAs are supported in morph
* Ensure TYP_SIMD12 LclVar can be cloned in lowering
* Fixing up the non SSE41 path for WithElement
* Applying formatting patch
* Ensure ReplaceWithLclVar lowers the created LclVar and assignment
* Don't check the JitLog for compiled methods when the baseline ISAs aren't supported
* Address PR feedback
* Responding to more PR feedback
* Applying formatting patch
* Fixing the more PR review feedback
Stephen Toub [Tue, 25 May 2021 22:11:02 +0000 (18:11 -0400)]
Address post-merge feedback on TimeZoneInfo display names PR (#53229)
Stephen Toub [Tue, 25 May 2021 21:50:49 +0000 (17:50 -0400)]
Update interpolated string handler based on API reviews / LDM decisions (#53153)
Stephen Toub [Tue, 25 May 2021 21:49:31 +0000 (17:49 -0400)]
Fix JsonElement.ToString nullable annotation (#53243)
Stephen Toub [Tue, 25 May 2021 21:49:10 +0000 (17:49 -0400)]
Add PreAllocatedOverlapped.UnsafeCreate / UnsafeAllocateNativeOverlapped (#53196)
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>
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>
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 |
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.
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
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
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>
Elinor Fung [Tue, 25 May 2021 16:06:52 +0000 (09:06 -0700)]
Remove unused code from old IJW path (#53190)
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.
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
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>
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
Stephen Toub [Tue, 25 May 2021 12:22:40 +0000 (08:22 -0400)]
Fix missing nullable enable in Microsoft.Extensions.Logging.Abstractions ref (#53199)
Tomas Weinfurt [Tue, 25 May 2021 09:16:32 +0000 (11:16 +0200)]
make networking easier to debug with console (#53178)
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.
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
Stephen Toub [Tue, 25 May 2021 01:42:06 +0000 (21:42 -0400)]
Delete now unused *AsyncResult files from Sockets (#53192)
Kunal Pathak [Tue, 25 May 2021 01:23:22 +0000 (18:23 -0700)]
GT_COPY source should be marked as consume during resolution (#53041)
hrrrrustic [Tue, 25 May 2021 01:15:04 +0000 (04:15 +0300)]
System.ComponentModel.* missed Equals nullable annotations (#52163)
* add NotNullWhen attribute
* add usings
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)
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
Jeremy Koritzinsky [Tue, 25 May 2021 00:12:37 +0000 (17:12 -0700)]
Add more natvis visualizations for base VM types. (#53052)
Jan Kotas [Mon, 24 May 2021 23:36:31 +0000 (16:36 -0700)]
Delete redundant area-owners entries (#53188)
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
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
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.
Sung Yoon Whang [Mon, 24 May 2021 20:42:52 +0000 (13:42 -0700)]
Fix EventSource default channel allocation (#48864)
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>
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
Stephen Toub [Mon, 24 May 2021 18:22:10 +0000 (14:22 -0400)]
Fix the token included by HttpClient.HandleFailure (#53133)
Jeff Schwartz [Mon, 24 May 2021 18:13:09 +0000 (11:13 -0700)]
Add additional area labels that have been added recently (#53183)
Filip Navara [Mon, 24 May 2021 18:11:26 +0000 (20:11 +0200)]
Add runtimeconfig.json support to AppleAppBuilder, reenable affected tests (#53172)
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>
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
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>
Pavel Savara [Mon, 24 May 2021 16:06:25 +0000 (18:06 +0200)]
install development SSL certificate on Helix agent before xharness run (#53180)
Kevin Jones [Mon, 24 May 2021 16:04:53 +0000 (12:04 -0400)]
Implement Get*PublicKey methods on S.S.C.X509Certificates.PublicKey
Gleb Balykov [Mon, 24 May 2021 15:01:03 +0000 (18:01 +0300)]
Set NumProc on tizen (#53098)
Jan Jahoda [Mon, 24 May 2021 13:54:45 +0000 (15:54 +0200)]
Change enterprise test password (#53094)
* Change password
* Change another occurence
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.
Tom Deseyn [Mon, 24 May 2021 09:45:33 +0000 (11:45 +0200)]
DbgTransportSession: delete message copy when not queued (#50550)
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.
hrrrrustic [Mon, 24 May 2021 08:55:05 +0000 (11:55 +0300)]
System.Collections.* missed Equals nullable annotations (#52164)
* add NotNullWhen attribute
* add usings
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
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
Bond-009 [Mon, 24 May 2021 07:40:52 +0000 (09:40 +0200)]
Add [return: NotNullIfNotNull("str")] to SecurityElement.Escape (#52442)
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
Levi Broderick [Mon, 24 May 2021 07:33:06 +0000 (00:33 -0700)]
Reintroduce EnumerateRunes tests (#53114)
Marek Safar [Mon, 24 May 2021 06:37:40 +0000 (08:37 +0200)]
Fix formatting of CircularDependencyException error message (#53140)
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>
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.
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".
Filip Navara [Sun, 23 May 2021 22:03:25 +0000 (00:03 +0200)]
[iOS] Re-enable Brotli tests (#53069)
Filip Navara [Sun, 23 May 2021 22:02:08 +0000 (00:02 +0200)]
[iOS] Re-enable System.Xml.XmlSchema.XmlSchemaValidatorApi.Tests (#53068)
Fixes #51338
Viktor Hofer [Sun, 23 May 2021 18:46:52 +0000 (20:46 +0200)]
Remove redundant GeneratePackageOnBuild condition (#53107)
* Remove redundant GeneratePackageOnBuild condition
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
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>
hrrrrustic [Sat, 22 May 2021 20:54:40 +0000 (23:54 +0300)]
System.Reflection.* missed Equals nullable annotations (#52162)
* add NotNullWhen attribute
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)
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
Marek Safar [Sat, 22 May 2021 11:12:19 +0000 (13:12 +0200)]
Move GlobalizationMode initialization into a nested class (#53082)
hrrrrustic [Sat, 22 May 2021 09:55:05 +0000 (12:55 +0300)]
remove pragma (#52481)
IchHabeKeineNamen [Sat, 22 May 2021 01:30:01 +0000 (09:30 +0800)]
Fix typos in comments (#53064)
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.
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)
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.
Jonas Nyrup [Fri, 21 May 2021 22:03:21 +0000 (00:03 +0200)]
Fix typo tihs -> this (#52398)
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>
Chris Ross [Fri, 21 May 2021 19:35:08 +0000 (12:35 -0700)]
Remove unused field (#53100)
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.