Jan Vorlicek [Thu, 10 Nov 2022 00:13:45 +0000 (01:13 +0100)]
Restrict named mutex files permissions (#78106)
This change restricts the permission for files created for named mutexes
that are not machine wide. Until now, all named mutexes had
underlying files with access to all users. With this change,
mutexes that are session local have access for the current user only.
In addition to that, sticky bit is set for the /tmp/.dotnet,
/tmp/.dotnet/shm directories to ensure that only creator of a file
or a subdirectory can delete the respective file / subdirectory.
SingleAccretion [Wed, 9 Nov 2022 20:56:48 +0000 (23:56 +0300)]
Split and simplify `fgMorphOneAsgBlockOp` (#76793)
* Delete gtNewCpObjNode
* Import INITOBJ of primitives as STIND
No point in creating block nodes for simple types.
* Retype local FP stores too
Avoids a couple regressions.
* Handle a bit of what OneAsg morphing does in block morphing
* Slim down fgMorphOneAsgBlockOp
A zero-diff checkpoint.
* Slim down fgMorphOneAsgBlockOp, part 2
A zero-diff checkpoint.
* Slim down fgMorphOneAsgBlockOp, final part
3 small regressions across all of SPMI due to less aggressive
CSEing ("LCL_FLD" is costed cheaper than "IND(ADDR(LCL_VAR))").
* Don't call OneAsg for init blocks
* Delete assertion killing dead code
PrepareDst will have killed assertions already.
* Don't call gtSetObjGcInfo
Viktor Hofer [Wed, 9 Nov 2022 18:55:35 +0000 (19:55 +0100)]
Add README.md for System.Drawing.Primitives (#78123)
* Add README.md for System.Drawing.Primitives
* Update README.md
Viktor Hofer [Wed, 9 Nov 2022 18:53:13 +0000 (19:53 +0100)]
Add README.md for System.Drawing.Common (#78121)
Andy Gocke [Wed, 9 Nov 2022 18:34:29 +0000 (10:34 -0800)]
Revert changes to fabricbot.json (#78126)
Looks like this broke parsing. I'll revert and bring
back the change later.
Andy Ayers [Wed, 9 Nov 2022 16:06:23 +0000 (08:06 -0800)]
JIT: fix gc hole in peephole optimizations (#78074)
We cannot safely peephole instructions that straddle a gc enable boundary.
Detecting when this might happen is a bit subtle; currently we rely on
`emitForceNewIG` to be set.
Add a new utility 'emitCanPeepholeLastIns` to centralize the logic that
decides whether basing current emission on `emitLastIns` is safe.
Closes #77661.
Alhad Deshpande [Wed, 9 Nov 2022 15:19:17 +0000 (20:49 +0530)]
Fixed clang15 build issues (#78102)
* [ppc64le] Fixed thunk address 8 byte alignment issue
* Fixed FSharp crash issue
* [ppc64le] Implementation of mono_arch_get_delegate_virtual_invoke_impl method for ppc64le architecture
* Fixed clang15 build issues and returning address of sc_sp instead of value
Jiri Cincura ↹ [Wed, 9 Nov 2022 13:54:51 +0000 (14:54 +0100)]
Update framework to net8.0. (#78012)
Gleb Balykov [Wed, 9 Nov 2022 13:30:50 +0000 (16:30 +0300)]
Update area tizen owners (#78095)
Radek Doulik [Wed, 9 Nov 2022 12:33:05 +0000 (13:33 +0100)]
[wasm] Implement Vector128.Abs intrinsics (#78067)
* [wasm] Implement Vector128.Abs intrinsics
C# code
iv = Vector128.Abs(Vector128.Create(System.Random.Shared.Next()));
fv = Vector128.Abs(Vector128.Create(System.Random.Shared.NextSingle()));
dv = Vector128.Abs(Vector128.Create(System.Random.Shared.NextDouble()));
is emitted as:
...
i32x4.splat [SIMD]
i32x4.abs [SIMD]
v128.store offset:16 [SIMD]
...
f32x4.splat [SIMD]
f32x4.abs [SIMD]
v128.store [SIMD]
...
f64x2.splat [SIMD]
f64x2.abs [SIMD]
v128.store offset:80 [SIMD]
...
* Review feedback
Stephen Toub [Wed, 9 Nov 2022 10:57:11 +0000 (05:57 -0500)]
Fix XxHash3 DeriveSecretFromSeed scalar fallback on big endian (#78084)
Fixes https://github.com/dotnet/runtime/issues/78043
Vitek Karas [Wed, 9 Nov 2022 09:25:09 +0000 (01:25 -0800)]
Sync linker to NativeAOT (#77894)
Sync latest changes from dotnet/linker to the shared code in NativeAOT and also to the code which is similar in NativeAOT.
Syncs NativeAOT to https://github.com/dotnet/linker/tree/
e502e7255030dde029e984e397924338485d1079/
The only notable change is the switch to use ParameterProxy and related abstractions when operating with method parameters. This was introduced in linker to avoid bugs when using a simple integer to refer to parameters by index, since different parts of the system use different indexing (some have index 0 as the implicit this parameter, while others don't).
The places which are similar to code in linker I converted to use ParameterProxy and helpers. Other places which interact directly with the type system in NativeAOT codebase I kept using the underlying APIs as it seems to make more sense.
One test change - this modifies the infra for running linker tests to define `NATIVEAOT` when compiling any of the tests sources. This is needed to ifdef out a test targeting vararg which is not supported by NativeAOT.
Kunal Pathak [Wed, 9 Nov 2022 06:57:30 +0000 (22:57 -0800)]
Upgrade dotnet version needed to build benchmarks in superpmi (#78088)
* Upgrade benchmarks to .NET 8
* Only run benchmarks
* Revert "Only run benchmarks"
This reverts commit
bbdac67661871cf2c10ea5b4fd03da9b50e0f79b.
Michal Strehovský [Wed, 9 Nov 2022 03:21:34 +0000 (12:21 +0900)]
Pass NodeFactory to ObjectData's Section (#77967)
This is a preparatory change for something I'm working on, but makes sense on its own - notice several node types that had to hold on to extra state just because we didn't have context in the `Section` property. Got rid of the extra state as well. A couple bytes of memory saved here and there.
SingleAccretion [Wed, 9 Nov 2022 02:55:01 +0000 (05:55 +0300)]
Update USEASG in the GS transformation (#78028)
Alexander Köplinger [Wed, 9 Nov 2022 02:45:50 +0000 (03:45 +0100)]
Fix build error due to unused windowSize parameter in pal_console.c (#78056)
Elinor Fung [Wed, 9 Nov 2022 01:30:37 +0000 (17:30 -0800)]
Exclude unnecessary functions/fields when FEATURE_METADATA_EMIT_IN_DEBUGGER (#78058)
Chris Rummel [Wed, 9 Nov 2022 01:30:12 +0000 (19:30 -0600)]
[release/7.0] Disable NativeAOT subset for source-build. (#76206) (#78060)
* Disable NativeAOT subset for source-build.
* More surgical fix - remove only the ObjWriter dependency for source-build.
Tanner Gooding [Wed, 9 Nov 2022 01:03:54 +0000 (19:03 -0600)]
Fix an issue with Vector<T>.Multiply (#78021)
* Fix an issue with Vector<T>.Multiply
* Fix test
Tarek Mahmoud Sayed [Wed, 9 Nov 2022 00:49:58 +0000 (16:49 -0800)]
Fix Configuration with IList and ICollection (#77857)
Buyaa Namnan [Tue, 8 Nov 2022 22:04:30 +0000 (14:04 -0800)]
Add Readme.md for Resources, Threading.Tasks, Threading.Channels, ComilerServices, Configuration and CodeDom assemblies (#77932)
* Add Readme.md for Resources, Threading.Tasks, ComilerServices, Configuration and CodeDom assemblies
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: MSDN.WhiteKnight <35516665+MSDN-WhiteKnight@users.noreply.github.com>
Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
Kevin Jones [Tue, 8 Nov 2022 20:08:56 +0000 (15:08 -0500)]
Implement AES-GCM with CryptoKit on macOS
With this change, GCM on macOS no longer uses OpenSSL, but routes into the CryptoKit library.
This means that tags 12-15 bytes long are no longer supported on macOS.
Maryam Ariyan [Tue, 8 Nov 2022 19:56:37 +0000 (14:56 -0500)]
Links to issue with more info on flaky behavior (#77859)
Alexander Köplinger [Tue, 8 Nov 2022 18:11:08 +0000 (19:11 +0100)]
[mono] Don't use lld on s390x architecture (#78032)
It doesn't work there. Fixes https://github.com/dotnet/runtime/issues/78026
Andrew Au [Tue, 8 Nov 2022 17:37:48 +0000 (09:37 -0800)]
Fix the build with BACKGROUND_GC turned off (#77328)
Ilona Tomkowicz [Tue, 8 Nov 2022 16:36:52 +0000 (17:36 +0100)]
[wasm][debugger] Fix DebuggerTypeProxy for structs and for classes with multiple constructors (#77039)
* Adding any new constructor breaks UsingDebuggerTypeProxy test.
* Fix: now objects won't get identified as valueTypes by a mistake.
* Test logic fix: rely on comparison with fixed entities only.
* Fix: choosing proxy's matching constructor works.
* Support DebuggerProxy in valueTypes.
* Fix test to not rely on `testPropertiesNone`.
* Fix tests.
* Fix tests.
* Edit and disable rootHidden test.
Andy Gocke [Tue, 8 Nov 2022 16:01:47 +0000 (08:01 -0800)]
Add linker to area owners (#77983)
* Add linker to area owners
Add a new area-tools-linker and assign myself as the lead and @sbomer as technical expert
* Update fabricbot config
* Use Tools-ILLink name
* Update fabricbot.json
* Update area-owners.md
Jan Dupej [Tue, 8 Nov 2022 15:14:34 +0000 (16:14 +0100)]
[mono] Added null-checks for LDFLDA on pointers. (#77827)
* Added a null check for LDFLDA with pointers.
* Reenabled LDFLDA pointer null-check runtime test for mono.
* Added null check for LDFLDA in Mono interpreter.
* [mono][interp] LDFLDA fix for null pointers now keeps more optimizations intact.
Stephen Toub [Tue, 8 Nov 2022 15:08:17 +0000 (10:08 -0500)]
Fix build break due to IDE0060 (#78025)
Jiri Cincura ↹ [Tue, 8 Nov 2022 14:28:51 +0000 (15:28 +0100)]
Fix typo in timeout. (#78011)
Zoltan Varga [Tue, 8 Nov 2022 14:13:31 +0000 (09:13 -0500)]
[mono][wasm] Small cleanups (#77954)
* [mono][wasm] Pass -DEMSCRIPTEN_SYSTEM_PROCESSOR=wasm to cmake so Emscripten.cmake doesn't set CMAKE_SYSTEM_PROCESSOR to x86.
* [mono][wasm] Fix the hello world sample.
Adam Sitnik [Tue, 8 Nov 2022 14:12:52 +0000 (15:12 +0100)]
unify error handling for FileStream and Pipe Streams (#77543)
Adam Sitnik [Tue, 8 Nov 2022 14:09:54 +0000 (15:09 +0100)]
Remove .NET 6 Console Key Parser (#77977)
Marek Safar [Tue, 8 Nov 2022 13:05:34 +0000 (14:05 +0100)]
Enable IDE0060 (Remove unused parameter) analyzer (#72667)
Radek Doulik [Tue, 8 Nov 2022 11:25:18 +0000 (12:25 +0100)]
[wasm] Add intrinsics for clz and ctz instructions (#77777)
* [wasm] Add intrinsics for clz and ctz instructions
Add intrinsics for leading and trailing zero count for wasm.
Introduce new internal class WasmBase for non-SIMD wasm intrinsics.
These are always used in AOT build, unlike SIMD intrinsics, which are
disabled by default.
* Fix CI build
* Fix CI build again
* Review feedback
Refactor the code to avoid adding ifdefs
* Fix build
* Fix build
* Fix build
* Fix CI build
Jakob Botsch Nielsen [Tue, 8 Nov 2022 10:18:07 +0000 (11:18 +0100)]
JIT: Fix GenTreeCall::Equals for virtual vs static calls (#77981)
Fix #77710
Hyungju Lee [Tue, 8 Nov 2022 08:46:29 +0000 (17:46 +0900)]
Implement Console.SetWindowSize() for linux (#75824)
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Michał Petryka <35800402+MichalPetryka@users.noreply.github.com>
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Katelyn Gadd [Tue, 8 Nov 2022 08:45:44 +0000 (00:45 -0800)]
Optimize (WasmRoot|WasmExternalRoot).clear (#77521)
Optimize (WasmRoot|WasmExternalRoot).clear to not use a memory barrier when zeroing a root for improved interop perf
Marek Fišera [Tue, 8 Nov 2022 06:56:37 +0000 (07:56 +0100)]
[wasm] Update repository URL in package.json (#77937)
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
Austin Wise [Tue, 8 Nov 2022 05:47:52 +0000 (21:47 -0800)]
Fix sprintf deprecation error with Xcode 14.1 (#77950)
* Fix sprintf deprecation error with Xcode 14.1
* Update src/tests/Common/Platform/platformdefines.cpp
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Bruce Forstall [Tue, 8 Nov 2022 02:29:58 +0000 (18:29 -0800)]
Add AVX-512 testing pipeline (#77930)
* Add AVX-512 testing pipeline
Introduce DOTNET_JitForceEVEXEncoding to force EVEX encoding when
possible. This will fail when not an an AVX-512 capable machine,
by design (to know we are properly testing on capable machines).
Current pipeline definition only runs coreclr tests with
JitForceEVEXEncoding set. Currently defined to automatically trigger when
one of the JIT files instrsxarch.h, emitxarch.cpp, or emitxarch.h are
changed, as it is expected these will be changed frequently as the AVX-512
feature is implemented. It is also expected this will be manually triggered
as appropriate. Eventually, this pipeline will be removed and tests folded
into the existing jitstress-isas-x86 pipeline.
* Formatting
* Disable Linux and OSX testing
Those OSes currently do not have AVX-512 capable machines in our test lab.
Kamron Batman [Tue, 8 Nov 2022 00:46:13 +0000 (16:46 -0800)]
Fixes typo in TimerQueue.Portable.cs comment (#77997)
Fixes a typo in a comment in TimerQueue.Portable.cs
David Wrighton [Tue, 8 Nov 2022 00:19:53 +0000 (16:19 -0800)]
Improve coreclr test infra (#77929)
These fixes were built for PR #74886; however, as that PR is so utterly large and unreviewable, I've pulled out the test infra changes for separate review
Changes
- Increase the number of trampolines in the llvm aot compilation process to 20,000 from 10,000 (This avoids running out of them in some of the hardware intrinsics tests
- Add a concept of striping tests when running under GC stress
- To use this new feature, specify <NumberOfStripesToUseInStress>N</NumberOfStripesToUseInStress> within the merged test assembly. If this value is set, then the tests within that merged test assembly will be run across N different work items instead of 1 when running under any form of GC stress based scenario. At this moment the largest supported value of N is 99
- Emit the testresults.xml file as a file which is exported from the tests. This is useful for debugging testresult.xml parsing failures
- Fix the testresults summary generator to never emit an empty CDATA string. If one is present the parser may fail the parse.
- In the XUnitWrapperGenerator fix the implementation of the Outerloop and ActiveIssue when used with a conditional member.
- Add PlatformDetection.IsMonoLLVMAOT, PlatformDetection.IsMonoLLVMFULLAOT, and PlatformDetection.IsMonoInterpreter boolean properties to the PlatformDetection type for use with the ActiveIssue attribute
- Add some documentation about project files for coreclr tests, as well as some documentation on the command line parameters for merged test runner assemblies
MSDN.WhiteKnight [Mon, 7 Nov 2022 23:06:34 +0000 (04:06 +0500)]
Add readmes for configuration packages, part 2 (#77982)
Bruce Forstall [Mon, 7 Nov 2022 20:57:30 +0000 (12:57 -0800)]
Allow deleting any kind of nodes after address mode formation (#77872)
* Allow deleting any kind of nodes after address mode formation
This is a general solution to #77152, allowing for deleting any
set of nodes that contributed to an address mode, especially those
nodes on the `op1` side of a GT_MUL with a zero `op2`.
Note that for the #77152 case, this deletes all the `op1` nodes,
but leaves behind a dead temp var that was created as part of
long MUL rationalization.
Fixes #77152.
* Add DEBUG_DESTROY_NODE
Levi Broderick [Mon, 7 Nov 2022 20:14:48 +0000 (12:14 -0800)]
Fix StreamReader EOF handling and improve perf (#69888)
* Fix StreamReader EOF handling and improve perf
* Address PR feedback
* Remove erroneous asserts
Co-authored-by: Stephen Toub <stoub@microsoft.com>
hangy [Mon, 7 Nov 2022 18:24:34 +0000 (18:24 +0000)]
Refactor ProcessStartInfoTests to use WindowsTestAccount (#77804)
* Allow generated password to be retrieved from WindowsTestAccount
* Use WindowsTestAccount class in TestUserCredentialsPropertiesOnWindows instead of manual Interop
Eric StJohn [Mon, 7 Nov 2022 18:03:53 +0000 (10:03 -0800)]
Revert "Update assembly version from hardcoded to MajorVersion (#74157)" (#77899)
This reverts commit
f84c1b5cd9fa6a0b1ab6d96ce3a55a4fe8438d00.
TechPizza [Mon, 7 Nov 2022 16:10:19 +0000 (17:10 +0100)]
Fix typo in docs of AdvSimd.Arm64.TransposeOdd (#76971)
Stephen Toub [Mon, 7 Nov 2022 15:23:44 +0000 (10:23 -0500)]
Improve IndexOf handling in regex source generator / compiler (#77925)
This PR does a few related things:
1. Consolidates _most_ (but not all) use of IndexOf variants into a single helper that can then be used from multiple locations to avoid code duplication and make it easier for us to extend in the future with additional IndexOf variants.
2. Stops using IndexOf when doing lazy backtracking in an optional.
3. Special-cases "any" repeaters to not do any character checking.
4. Adds use of IndexOf (via the new helper) into repeaters.
Tanner Gooding [Mon, 7 Nov 2022 15:11:41 +0000 (07:11 -0800)]
Add and use a MakeSrcRegOptional that validates IsSafeToContainMem was called (#77895)
* Add and use a MakeSrcRegOptional that validates IsSafeToContainMem was called
* Applying formatting patch
* Revert the MakeSrcRegOptional in ContainCheckDivOrMod due to an assert
* Moving TryMakeSrcContainedOrRegOptional into the lower.cpp file
Manish Godse [Mon, 7 Nov 2022 14:44:03 +0000 (06:44 -0800)]
check the right return value for mmap (#77952)
Krzysztof Wicher [Mon, 7 Nov 2022 10:11:20 +0000 (11:11 +0100)]
Remove unnecessary encoding allocations in System.Private.DataContractSerialization (#76366)
* Remove unnecessary encoding allocations in System.Private.DataContractSerialization
* Address PR feedback
Steve Dunn [Sun, 6 Nov 2022 23:08:52 +0000 (23:08 +0000)]
Control if invalid configuration values are swallowed or thrown (#77708)
Jon Galloway [Sun, 6 Nov 2022 22:31:19 +0000 (14:31 -0800)]
Correct typo in README (#77958)
SingleAccretion [Sun, 6 Nov 2022 16:58:03 +0000 (19:58 +0300)]
Include dependently promoted fields in SSA (#77238)
* Remove quirks
* Early prop fix for call asgs
* Include all tracked locals in SSA
* Remove a (now incorrect) comment
* Fix a typo
* Encoding fixes
1) The definition of SIMPLE_NUM_COUNT was wrong.
2) SsaNumInfo::Composite, in the compact case, did not clear the old value.
3) SsaNumInfo::Composite, in the outlined case, did not copy the already
(compactly) encoded simple names.
* Fix store numbering
The load path needs to use the offset relative to
the store's target location.
* Clarify 'fieldValueOffset' calculations
Bill Holmes [Sun, 6 Nov 2022 16:02:30 +0000 (11:02 -0500)]
Fix mono arm assert with large return structs (#77854)
* Fix mono arm assert with large return structs
When the return struct is large the store instruction offset is too
large. When this happens, put the large offset in a register.
* Adding JIT test for large return structs
dotnet-maestro[bot] [Sun, 6 Nov 2022 12:38:35 +0000 (04:38 -0800)]
Update dependencies from https://github.com/dotnet/arcade build
20221104.2 (#77940)
Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 8.0.0-beta.22552.1 -> To Version 8.0.0-beta.22554.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
dotnet-maestro[bot] [Sun, 6 Nov 2022 12:37:56 +0000 (04:37 -0800)]
[main] Update dependencies from dotnet/icu dotnet/runtime-assets dotnet/emsdk dotnet/roslyn-analyzers dotnet/roslyn (#77829)
* Update dependencies from https://github.com/dotnet/runtime-assets build
20221102.2
Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
From Version 7.0.0-beta.22531.1 -> To Version 7.0.0-beta.22552.2
* Update dependencies from https://github.com/dotnet/emsdk build
20221102.9
Microsoft.NET.Workload.Emscripten.net7.Manifest-8.0.100
From Version 8.0.0-alpha.1.22510.1 -> To Version 8.0.0-alpha.1.22552.9
* Update dependencies from https://github.com/dotnet/roslyn-analyzers build
20221103.1
Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
From Version 3.3.4-beta1.22551.1 -> To Version 3.3.4-beta1.22553.1
* Update dependencies from https://github.com/dotnet/icu build
20221103.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 8.0.0-alpha.1.22531.1 -> To Version 8.0.0-alpha.1.22553.1
* Update dependencies from https://github.com/dotnet/runtime-assets build
20221103.1
Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
From Version 7.0.0-beta.22531.1 -> To Version 7.0.0-beta.22553.1
* Update dependencies from https://github.com/dotnet/roslyn-analyzers build
20221103.2
Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
From Version 3.3.4-beta1.22551.1 -> To Version 3.3.4-beta1.22553.2
* Update dependencies from https://github.com/dotnet/roslyn build
20221103.5
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-1.22528.14 -> To Version 4.5.0-1.22553.5
* Update dependencies from https://github.com/dotnet/emsdk build
20221104.1
Microsoft.NET.Workload.Emscripten.net7.Manifest-8.0.100
From Version 8.0.0-alpha.1.22510.1 -> To Version 8.0.0-alpha.1.22554.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Jakob Botsch Nielsen [Sat, 5 Nov 2022 22:22:58 +0000 (23:22 +0100)]
Fix rerunning crossgen2 tests (#77903)
Alexandre Mutel [Sat, 5 Nov 2022 15:05:12 +0000 (16:05 +0100)]
Optimize XxHash3 on ARM platform (#77881)
* Optimize XxHash3 on ARM platform
* Extract code to MultiplyWideningLower
* Update src/libraries/System.IO.Hashing/src/System/IO/Hashing/XxHash3.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Elinor Fung [Sat, 5 Nov 2022 13:28:30 +0000 (06:28 -0700)]
Switch custom attribute hash from using CClosedHashEx to SHash (#77933)
* Switch custom attribute hash from CClosedHashEx to SHash
* Remove CClosedHashEx
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Will Smith [Sat, 5 Nov 2022 03:01:26 +0000 (20:01 -0700)]
[JIT] X64 - More replacement sequences for integer multiplication by a constant (#77137)
* Using 3 instruction sequence for x64 multiply
* Do not do this in morph. Do it in codegen now.
* Fixing codegen
* Only allow values under 127 and do not skip mov - correctness testing
* Try to fix tests
* cleanup
* Moving to Lowering
* Quick fix
* Fully works in lowering now
* Account for all ints
* Take into account codegen opts
* Minor cleanup
* Minor cleanup
* Fixed test
* Added int multiply disasm checks. Fixed SuperFileCheck namespace bug. Made SuperFileCheck anchors more likely to match.
* Update comments
* Update comments
* Update comments
* Update comments
* Formatting
* Fixing build
* Fixing build again
* minor rename
* Moving x64 multiply codegen optimizations to lowering
* Using ReplaceWithLclVar
* Feedback. Removed use of FULL-LINE as it is more readable not strictly necessary. Forgot to add an additional instruction to a disasm test.
* Minor fix
* Formatting
* Adding codegen opts back, but disabling lowering opts if min-opts is enabled
* Little more changes
* Formatting
* Remove codegen opts
* Update comments
* Added test case for address-exposed
* Added TryLowerLshWithConstant
* Cleanup
* Removed TryLowerLshWithConstant
* Handle GT_LSH to emit lea if const is 3
* Added tests.
* Updated comments
* Revert LowerShift
* Remove IndexWithScale
* Fix build
* Update comment
* Formatting
* Update comments. Fix disasm test.
* Another minor test change
* Fix test
* Fix test
* Feedback
* Update IntMultiply.cs
* Update codegenxarch.cpp
* Update codegenxarch.cpp
Jan Kotas [Sat, 5 Nov 2022 01:37:46 +0000 (18:37 -0700)]
Disable Microsoft.NETCore.Runtime.JIT.Tools for source build (#77928)
Fixes #77920
DeepakRajendrakumaran [Sat, 5 Nov 2022 00:34:58 +0000 (17:34 -0700)]
Adding EVEX encoding logic for RR/AM pathways (#77419)
* Cleaning up TODO-XARCH-CLEANUP on EA_8BYTE size.
* Adding EVEX encoding pathways for emitOutputRR().
* Adding EVEX encoding support for AM paths.
* Moving 'JitStressEvexEncoding' under Debug flag and other review cleanup.
Aaron Robinson [Fri, 4 Nov 2022 23:34:44 +0000 (16:34 -0700)]
Remove nonexistent tests from PAL test run files (#77917)
SingleAccretion [Fri, 4 Nov 2022 21:06:14 +0000 (00:06 +0300)]
Work around invalid IR with field morphing temps (#77848)
* Add a test
* Use unique temps for zero-offset field morphing
To avoid running into invalid IR issues.
Kevin Jones [Fri, 4 Nov 2022 20:53:27 +0000 (16:53 -0400)]
Suppress warnings for deprecated keychain APIs
Miha Zupan [Fri, 4 Nov 2022 20:02:45 +0000 (13:02 -0700)]
Vectorize {Last}IndexOfAny{Except} for ASCII needles (#76740)
* Vectorize {Last}IndexOfAny{Except} for ASCII needles
* Add a ShouldUseSimpleLoop helper
* Review feedback
Stephen Toub [Fri, 4 Nov 2022 19:49:15 +0000 (15:49 -0400)]
Add FrozenDictionary/Set (#77799)
* Import original frozen collections source with updates to successfully compile
Co-authored-by: Martin Taillefer <mataille@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Overhaul frozen collections (API, implementation, tests)
* Address PR feedback
Co-authored-by: Martin Taillefer <mataille@microsoft.com>
Stephen Toub [Fri, 4 Nov 2022 19:48:51 +0000 (15:48 -0400)]
Add System.IO.Hashing ref csproj (#77856)
* Add System.IO.Hashing ref csproj
* Fix System.IO.Hashing ref source and add sln
Alan Hayward [Fri, 4 Nov 2022 18:59:29 +0000 (18:59 +0000)]
If conversion should not convert PHI nodes (#77886) (#77888)
* If conversion should not convert PHI nodes (#77886)
* Add regression test
Bruce Forstall [Fri, 4 Nov 2022 17:07:53 +0000 (10:07 -0700)]
Improve JIT bit sets (#77876)
1. `AllVarBitSetTraits::GetArrSize()` was allocating far too much memory:
one size_t for every bit in the vector.
2. Cache the array size for `BitVecTraits::GetArrSize()` -- this function was
showing up hot in a perf run (x86 SPMI replay).
3. Stop passing `sizeof(size_t)` to `GetArrSize()` -- we always assume bitsets
work in size_t units.
Jakob Botsch Nielsen [Fri, 4 Nov 2022 16:27:34 +0000 (17:27 +0100)]
JIT: Propagate only BBF_COPY_PROPAGATE flags during inliner substitution (#77845)
Jan Dupej [Fri, 4 Nov 2022 15:59:23 +0000 (16:59 +0100)]
Adding issue #77889 to GenerateRuntimeGraphTests. (#77890)
Tom Deseyn [Fri, 4 Nov 2022 15:33:34 +0000 (16:33 +0100)]
source-build: set the properties to build for mono runtime. (#77786)
Dan Moseley [Fri, 4 Nov 2022 15:25:42 +0000 (09:25 -0600)]
Update api-review-process.md (#77860)
* Update api-review-process.md
* Update docs/project/api-review-process.md
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Elinor Fung [Fri, 4 Nov 2022 14:53:15 +0000 (07:53 -0700)]
Remove SharedFxLookup tests (#77858)
These were a roundabout/confusing way of testing that we roll forward
patch/minor for framework resolution by default and how we resolve
dependencies based on assembly version when the dependency is included
in multiple frameworks. We have existing tests that are clearer and
lighter weight that do this.
Aaron Robinson [Fri, 4 Nov 2022 14:22:18 +0000 (07:22 -0700)]
Remove `palrt` from JIT and remove `memcpy` from PAL (#77556)
* Remove palrt from JIT and remove memcpy from PAL
The compiles and runs without palrt.
The memcpy in the PAL was a thin wrapper and
didn't appear to add any additional value. The
PAL export was removed and the memcpy macro
was removed in most cases.
Robin Lindner [Fri, 4 Nov 2022 14:21:38 +0000 (15:21 +0100)]
Move LibraryImports to Common (#77674)
Krzysztof Wicher [Fri, 4 Nov 2022 13:47:49 +0000 (14:47 +0100)]
Add readme for System.Linq (#77672)
* Add readme for System.Linq
* Add readmes for .Parallel, .Queryable
* remove remark about not accepting refactoring changes due to new language features
* PR feedback
* static -> extension
Marek Fišera [Fri, 4 Nov 2022 09:36:03 +0000 (10:36 +0100)]
[wasm] WasmAppHost docs (#77265)
Co-authored-by: Ankit Jain <radical@gmail.com>
Alexander Köplinger [Fri, 4 Nov 2022 09:11:54 +0000 (10:11 +0100)]
Use backport workflow from arcade repo (#77844)
* Use backport workflow from arcade repo
The arcade repo now includes the backport workflow as a reusable workflow so we can reference it from there and cleanup code duplication.
* Preserve custom PR description template
Stephen Toub [Fri, 4 Nov 2022 08:57:47 +0000 (04:57 -0400)]
Add BinaryPrimitives.ReverseEndianness for spans of elements (#76339)
Mark Plesko [Fri, 4 Nov 2022 08:30:33 +0000 (01:30 -0700)]
Standardize test script naming to CLRTestBa{tc,s}hP{re,ost}Commands (#76483)
Main change is BashCLRTestPreCommands -> CLRTestBashPreCommands. As part of this I noticed that wasm tests overwrite the Bash precommands, and fixing that breaks them so it isn't touched here. Also, there are several non-Commands variables that start with Ba{tc,s}hTest that aren't touched here.
Remove check on RunCrossGen2 in disasm checks as that is intended as a shell environment variable, not an msbuild variable.
Convert a few more tests to the new environment variable format.
Pavel Savara [Fri, 4 Nov 2022 07:26:56 +0000 (08:26 +0100)]
[wasm] browser profiler (again) (#77779)
* 0e24ea7 again
* fix support for shells
* report only when enabled
Aaron Robinson [Fri, 4 Nov 2022 02:40:20 +0000 (19:40 -0700)]
Design to support ByRefLike types in Generics (#67129)
* Design to support ByRefLike types in Generics
* Trim whitespace
* Review feedback
* Remove words
* Update based on feedback
* Add F# as being impacted.
* Feedback and clarify wording for constrained calls.
* Add well-known IL sequences for boxing
Record APIs where compiler constraint analysis should be suppressed.
Defined analysis suppression attribute.
* Minor nits.
* Update docs/design/features/byreflike-generics.md
Co-authored-by: Jared Parsons <jaredpparsons@gmail.com>
* Review feedback
* Update to design doc
* Misspelling
* Update byreflike-generics.md
Co-authored-by: Jared Parsons <jaredpparsons@gmail.com>
Aaron Robinson [Fri, 4 Nov 2022 02:24:58 +0000 (19:24 -0700)]
Remove "wprintf" from PAL (#77852)
The last usage was in FormatMessageW, which
only used wprintf syntax for messages that used
embedded printf format between two "!". We do
not use this feature in any of our messages so
this code path is technically unused.
Remove _snwprintf_s from PAL
Remove _vsnwprintf_s from PAL
_woutput_s was not removed because it is intertwined
with the implementation for printf. The linker will just
prune the implementation anyways.
FormatMessageW errors if embedded formatting is used
Update PAL tests for FormatMessageW
Alexandre Mutel [Thu, 3 Nov 2022 20:45:56 +0000 (21:45 +0100)]
Optimize XxHash3 (#77756)
* Optimize XxHash3
* Update src/libraries/System.IO.Hashing/src/System/IO/Hashing/XxHash3.cs
* Fix var
* Fix compilation errors for < .NET 7.0
* Fix issue on scalar code path
Co-authored-by: Stephen Toub <stoub@microsoft.com>
David Wrighton [Thu, 3 Nov 2022 20:45:03 +0000 (13:45 -0700)]
Fix op_Inequality for `Vector64<T>` (#77815)
Recent changes to the implementation of the `Vector64<T>` type caused a regression to the fallback path for inequality. In particular it changed from inequality to checking of all elements were unequal, which is a different operation.
Jakob Botsch Nielsen [Thu, 3 Nov 2022 19:36:23 +0000 (20:36 +0100)]
Update superpmi-collect queues (#77825)
dotnet-maestro[bot] [Thu, 3 Nov 2022 19:05:56 +0000 (14:05 -0500)]
Update dependencies from https://github.com/dotnet/arcade build
20221102.1 (#77828)
Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 8.0.0-beta.22528.1 -> To Version 8.0.0-beta.22552.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
dotnet-maestro[bot] [Thu, 3 Nov 2022 18:52:34 +0000 (13:52 -0500)]
Update dependencies from https://github.com/dotnet/linker build
20221102.1 (#77830)
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22551.1 -> To Version 7.0.100-1.22552.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Alexander Köplinger [Thu, 3 Nov 2022 18:40:34 +0000 (19:40 +0100)]
Use correct container definitions in perf_slow.yml (#77774)
Fallout from https://github.com/dotnet/runtime/pull/75473, container handling happens in platform-matrix.yml now.
madelson [Thu, 3 Nov 2022 17:58:25 +0000 (13:58 -0400)]
Make ResourceManager.BaseName work as documented. (#75497)
* Make ResourceManager.BaseName work as documented.
This property is documented to return the "qualified namespace name and
the root resource name of a resource file". However, previously when
constructing a ResourceManager with a Type the BaseName property would
instead return the name of the type without its namespace.
fix #74918
* Remove _locationInfo field
* Add additional test cases for ResourceManager.BaseName.
Address feedback from https://github.com/dotnet/runtime/pull/75497#issuecomment-
1262913704.
* Fix BaseName test case in response to https://github.com/dotnet/runtime/pull/75497#issuecomment-
1295500698
Jakob Botsch Nielsen [Thu, 3 Nov 2022 17:15:40 +0000 (18:15 +0100)]
Unify RunCrossGen2 environment variable to be set to 1 instead of "true" (#77808)
Various places were setting this to "true" and various other places to
"1". Always use "1" in the environment variable and "true" in the
msbuild property. This fixes local runs of crossgen2 tests (using
src/tests/run.cmd runcrossgen2tests) -- these were not skipping
FileCheck tests before as the test wrapper script only checks for "1".
SingleAccretion [Thu, 3 Nov 2022 17:05:03 +0000 (20:05 +0300)]
Do not add null checks for boxed statics (#77796)
* Do not add some null checks
* Fix ARR_ELEM exceptions
Stephen Toub [Thu, 3 Nov 2022 16:49:57 +0000 (12:49 -0400)]
Avoid some unnecessary MemoryStream.ToArray calls (#77832)
Ankit Jain [Thu, 3 Nov 2022 15:41:51 +0000 (11:41 -0400)]
Mono workloads: Fix building non-mono project when `RunAOTCompilation=true` (#77762)
This manifested in a case where a non-mono project was passed a mono specific property `RunAOTCompilation=true`, but instead of it getting ignored, the build failed with:
```
/usr/local/share/dotnet/sdk/7.0.200-preview.22521.7/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5):
error NETSDK1147: To build this project, the following workloads must be installed: macos [/private/tmp/c/c.csproj]
error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/private/tmp/c/c.csproj]
```
And this is because the `MonoAOTCompiler.Task` is imported with:
https://github.com/dotnet/runtime/blob/
82aa87f9cdf9ac20f0f685016648c36247a76ff1/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Manifest/WorkloadManifest.targets.in#L57-L57
- This happens for net6, and net8 projects.
Fixes https://github.com/dotnet/runtime/issues/77707 .
cc @steveisok @lewing
Ankit Jain [Thu, 3 Nov 2022 15:40:57 +0000 (11:40 -0400)]
[wasm] Bump tests timeout 15mins to 30mins, for .. (#77819)
.. `xharness`.
Some library tests, like `System.Text.RegularExpressions.Tests` can take more than 15mins.
- Also, fix building `console-v8` sample with `make`