Tanner Gooding [Sat, 7 Jan 2023 00:45:06 +0000 (16:45 -0800)]
Rewrite how Matrix3x2 and Matrix4x4 are implemented (#80091)
* Rewrite how Matrix3x2 and Matrix4x4 are implemented
* Fix a bug in lowerxarch related to merging Sse41.Insert chains
Vladimir Sadov [Fri, 6 Jan 2023 23:45:45 +0000 (15:45 -0800)]
[NativeAOT] Use QueueUserAPC2 in GC suspension, if available. (#80087)
* QueueUserAPC2
* fixes, do not stack APCs
* adjust for newer SDK
* force a failure - to see if lab machines have support for this
* cleanup some includes
* FEATURE_SUSPEND_APC2
* remove intentional failure
* one more case of FEATURE_SUSPEND_APC2
* comment
* fail if QUEUE_USER_APC_CALLBACK_DATA_CONTEXT supported
* Apply suggestions from code review
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* FEATURE_SUSPEND_APC2 -> FEATURE_SPECIAL_USER_MODE_APC
* throw - to make sure this fails on Release builds
* un-break the feature
* fix for a stress issue.
* check for a failure to queue an APC.
* use the same activation optimization on Unix
* PR feedback
* unmark ActivationPending if APC failed to queue.
* a bit more robust against sharing the signal with something else.
* initialize QueueUserAPC2 on demand
* Check for STATUS_INVALID_PARAMETER
* print the error
* STATUS_INVALID_PARAMETER -> ERROR_INVALID_PARAMETER
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Tomáš Rylek [Fri, 6 Jan 2023 22:48:16 +0000 (23:48 +0100)]
Improve logging of GC ref map mismatches (#80219)
Katelyn Gadd [Fri, 6 Jan 2023 22:19:05 +0000 (14:19 -0800)]
Improve jiterpreter heuristic branch handling (#80275)
* Improve jiterpreter heuristic and bailout conditions
* Handle backwards branches in the jiterpreter heuristic
Katelyn Gadd [Fri, 6 Jan 2023 22:18:22 +0000 (14:18 -0800)]
[wasm] add a total wasm bytes quota to the jiterpreter; adjust parameters (#80266)
* Adjust jiterpreter parameters to avoid making S.T.J AOT tests slower
* Add a total wasm bytes quota to the jiterpreter to avoid generating way too much code in degenerate cases
Rich Lander [Fri, 6 Jan 2023 22:04:02 +0000 (14:04 -0800)]
Update copyright guidance for Creative Commons (#80272)
* Update copyright guidance
* Update link
* Remove space
* Add public domain link
* Update CONTRIBUTING.md
* Update docs/project/copyright.md
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
* Update per feedback
* Address linter error
* Clean up wording
* Update links
* Clean up wording
Co-authored-by: Theodore Tsirpanis <teo@tsirpanis.gr>
Pavel Savara [Fri, 6 Jan 2023 20:18:17 +0000 (21:18 +0100)]
[browser] make dynamic import cancelable (#80257)
* make dynamic import cancelable
* feedback
Andy Ayers [Fri, 6 Jan 2023 20:06:07 +0000 (12:06 -0800)]
JIT: Refactor post phase checks (#80194)
Add finer-grained notions of what post-phase checks are enabled. Start checking
some IR and FG invariants earlier than we did before.
This is largely done in anticipation of moving pred list building earlier
(#80193). We should also consider moving some of the IR checking
earlier as well.
Bruce Forstall [Fri, 6 Jan 2023 19:55:04 +0000 (11:55 -0800)]
Convert JitHashTable iteration to range-based `for` (#80265)
Tanner Gooding [Fri, 6 Jan 2023 18:58:01 +0000 (10:58 -0800)]
SimdAsHWIntrinsic improvements and cleanup (#80134)
* Merge common code paths in simdashwintrinsic.cpp
* Fixing a bug in the WithElement node for CreateFromVector
* Ensure simdashwintrinsic paths consistently use the gtNewSimd*Node helpers where one path was already
* Ensure remaining simdashwintrinsic paths use the gtNewSimd*Node helpers
* Consistently use fgMakeMultiUse in the gtNewSimd*Node APIs
* Applying formatting patch
* Ensure isSimdAsHWIntrinsic gets passed through
* Revert "Consistently use fgMakeMultiUse in the gtNewSimd*Node APIs"
This reverts commit
edb2ce8aa64c123f9407bd2a2f44c08900c54295.
* Handle SN_op_UnaryNegation for Vector2/3/4 on Mono
* Ensure short, ushort, float, and double don't assert for Vector128_Dot on downlevel hardware
Katelyn Gadd [Fri, 6 Jan 2023 18:55:42 +0000 (10:55 -0800)]
Fix alignment of interp stack on 32-bit platforms (#80299)
#80197 accidentally broke interp stack alignment on 32-bit platforms due to pointers being 4 bytes there.
Jan Vorlicek [Fri, 6 Jan 2023 17:26:31 +0000 (18:26 +0100)]
Fix embedded coreclr detection in corhost.cpp (#80294)
The `CORECLR_EMBEDDED` define that is used in corhost.cpp to detect
whether the current host has coreclr and some other native libraries
embedded or not doesn't work. The reason is that corhost.cpp is not
compiled separately for the cases of embedded and non-embedded coreclr.
The proper way is to check the `g_coreclr_embedded` global variable
that is defined in the ceemain.cpp, which is compiled separately for
those two cases.
While we could also make the corhost.cpp build twice, it would be
a waste of time.
Tanner Gooding [Fri, 6 Jan 2023 16:18:55 +0000 (08:18 -0800)]
Improving the SIMD codegen for SIMD12 load/store (#80083)
* Improving the SIMD codegen for SIMD12 load/store
* Apply formatting patch
* Ensure the right index is used for insertps
* Ensure emitIns_SIMD_* is used for insertps to handle the non-rmw form
* Fix the input size flag for extractps
* Fix an issue where the second half of a TYP_SIMD12 store used the wrong register
* Ensure relocatable handles for TYP_SIMD12 load/stores are not contained
* Ensure arm32 can build
Jan Vorlicek [Fri, 6 Jan 2023 16:02:30 +0000 (17:02 +0100)]
Remove incorrect assert from UnixEvent::Wait (#80270)
* Remove incorrect assert from UnixEvent::Wait
There is an incorrect assert checking that when `pthread_cond_timedwait`
timeouts, the event is not set. That assumption is incorrect, according
to the `pthread_cond_timedwait` documentation.
It fired in one of the CI runs recently.
Close #80166
* Fix one more occurence of the same assert
Austin Wise [Fri, 6 Jan 2023 14:04:15 +0000 (06:04 -0800)]
[NativeAOT] remove duplicate load of register (#80285)
This appears to be a copy-paste of the line above.
Tomas Weinfurt [Fri, 6 Jan 2023 08:14:14 +0000 (00:14 -0800)]
disable SendFileGetsCanceledByDispose on MacOS (#80286)
Michal Strehovský [Fri, 6 Jan 2023 08:00:10 +0000 (17:00 +0900)]
Add more precise tracking of static bases (#80093)
Under some circumstances, the compiler needs to generate information about the bases where static fields of a type are placed.
The existing logic was simple: if a static base was accessed, generate the owning type. If owning type was generated, generate all of it's static bases. At object emission, go over all generated types and preserve information about their bases.
We couldn't do better at the time this was implemented.
The information about static bases is needed in two cases:
1. A static field on the type is reflectable. We now know when that happens and it doesn't happen very often.
2. The generic type whose static base we generated has a template and we could build the type at runtime. This also doesn't happen very often anymore.
This PR teaches the compiler to only emit the information for these two cases. It prevents generating unnecessary EETypes, static bases, and .cctors.
Also adding a test case for scenario 2 above since we didn't have coverage for the scenario. Scenario 1 is covered.
Saves 0.2% on a hello world. Not much, but at least it's easier to reason about why this is generated.
Michał Petryka [Fri, 6 Jan 2023 07:35:57 +0000 (08:35 +0100)]
Convert MemoryMarshal.GetArrayDataReference to a JIT intrinsic (#79760)
* Convert MemoryMarshal.GetArrayDataReference to a JIT intrinsic
Converts MemoryMarshal.GetArrayDataReference to
an always expand JIT intrinsic and removes the VM intrinsics.
Introduces JIT tests validating the correct behaviour.
Fixes invalid codegen samples from:
https://github.com/dotnet/runtime/issues/58312#issuecomment-
993491291
* Update importer.cpp
* Update importer.cpp
* Update importer.cpp
* Update MemoryMarshalGetArrayDataReference.cs
* Update MemoryMarshalGetArrayDataReference.cs
* Fix nullchecks, improve tests, remove dead code
* Update project files
* Update MemoryMarshalGetArrayDataReference.cs
* Fix cloning of bounds-check-less INDEX_ADDRs
* Fix formatting
* Remove COMMA
* Move the nullcheck insertion to morph
* Fix compilation
* Revert morph changes
* Try a hack to see if the diffs are better
* Revert "Try a hack to see if the diffs are better"
This reverts commit
7af6e18a18457fa5f3eab4e73a5801ce9a9b2a16.
* Add more tests
* Future-proof against delegate inlining
* Redo changes, add test
* Revert merge issue
* Reorganize tests
* Update MemoryMarshalGetArrayDataReference.cs
* Update MemoryMarshalGetArrayDataReference.cs
* Test
* Update MemoryMarshalGetArrayDataReference.cs
* Update importercalls.cpp
* Update compiler.hpp
* Update compiler.hpp
* Update importercalls.cpp
* Add an assert
Co-authored-by: SingleAccretion <AccretionMail@yandex.ru>
Zoltan Varga [Fri, 6 Jan 2023 05:32:27 +0000 (00:32 -0500)]
[mono][aot] Disable dedup for wrapper with a return type which has a cmod. (#80279)
The wrappers are not found at runtime in some cases.
Ref: https://github.com/dotnet/runtime/issues/79814.
Tomas Weinfurt [Fri, 6 Jan 2023 05:27:55 +0000 (21:27 -0800)]
improve SslStream exception after disposal (#79329)
* improve SslStream exception after disposal
* add tests
* add StreamUse
* fix cleanup
* fix condition
* avoid casting
Vladimir Sadov [Fri, 6 Jan 2023 04:09:53 +0000 (20:09 -0800)]
Do not run managed pre-mortem callbacks for GC threads. (#80276)
Michal Strehovský [Fri, 6 Jan 2023 03:46:50 +0000 (12:46 +0900)]
Make metadata reader smaller (#80224)
Saves 12 kB of useless argument checks on a hello world.
Tanner Gooding [Fri, 6 Jan 2023 02:21:07 +0000 (18:21 -0800)]
Fix a build error around the ConstantExpected analyzer (#80282)
Ankit Jain [Fri, 6 Jan 2023 01:54:05 +0000 (20:54 -0500)]
[wasm] WBT: Update expected blazor tfm to net8.0 to match the latest sdk (#80241)
* [wasm] WBT: Update expected blazor tfm to net8.0 to match the latest sdk
* [wasm] WBT: Re-enable BlazorRunTest. Fixes #79514
* [wasm] WBT: re-enable running a blazor test
* [wasm] WBT: Use -O1 for some blazor tests
* Add -O1 for NativeBuild_WithDeployOnBuild_UsedByVS
* Fix test
Tanner Gooding [Fri, 6 Jan 2023 00:47:35 +0000 (16:47 -0800)]
Annotate platform specific hardware intrinsics with the ConstExpected attribute (#80192)
* Annotate platform specific hardware intrinsics with the ConstExpected attribute
* Remove a 'c' that was accidentally inserted
* Fixing using directives
Jan Kotas [Fri, 6 Jan 2023 00:06:05 +0000 (16:06 -0800)]
Use function pointers instead of marshalled delegates in EventSource (#79970)
* Delete obsolete security kernel annotations
* Use function pointers instead of marshalled delegates in EventSource
Zoltan Varga [Thu, 5 Jan 2023 23:35:29 +0000 (18:35 -0500)]
[wasm] Disable llvm for methods/calls with more than 1000 parameters. (#80243)
Some test suites are using methods like it and it causes a load
error in some v8 versions.
Will Smith [Thu, 5 Jan 2023 23:23:39 +0000 (15:23 -0800)]
[JIT] X64/ARM64 - Fold 'x & 255' and 'x & 65535' to a cast (#79630)
* Fold 'x & 256' and 'x & 65535'
* Remove comments
* Handle more cases
* Minor change
* Put header back
* Some refactoring
* Minor change
* Minor change
* Feedback
Aaron Robinson [Thu, 5 Jan 2023 22:37:07 +0000 (14:37 -0800)]
Fix assembly unloading for DispatchInfo (#80203)
* Fix assembly unloading for DispatchInfo
Create DispatchInfo functions for manipulating
loader handles instead of sharing the LoaderAllocator.
Make the DispatchMemberInfo look more
regular and make all fields private.
Jeremy Koritzinsky [Thu, 5 Jan 2023 22:30:21 +0000 (14:30 -0800)]
Ensure that we don't root the compilation when using a custom exception marshalling type. (#80147)
Jeremy Koritzinsky [Thu, 5 Jan 2023 22:29:59 +0000 (14:29 -0800)]
Remove dead code relating to switching AppDomains in CCWs (#80187)
Katelyn Gadd [Thu, 5 Jan 2023 22:03:03 +0000 (14:03 -0800)]
Remove remaining use of handles in interp_exec_method and instead use a reserved slot at the top of the stack (#80197)
Right now every time we enter the interpreter we waste some CPU time allocating a handle, even though the only remaining use of the handle is in the BOX opcodes. This PR instead allocates some space at the top of the stack for a temporary GC-visible object pointer, and then uses that instead of a handle.
Zoltan Varga [Thu, 5 Jan 2023 21:29:47 +0000 (16:29 -0500)]
[mono][aot] Avoid emitting gshared methods multiple times when preferring instances of them. (#80100)
This fixes a part of the size regression added by
c7c6aa032175f4ee48c38757d1d9f32df25f02c6.
Aleksey Kliger (λgeek) [Thu, 5 Jan 2023 21:23:01 +0000 (16:23 -0500)]
[build] Use MonoWasmBuildVariant to select runtime variant (#80024)
Use `MonoWasmBuildVariant=multithread` and
`MonoWasmBuildVariant=perftrace` consistently to select the runtime
variant. Previously we also supported setting `WasmEnableThreads` or
`WasmEnablePerfTracing` to configure the runtime variant. This PR
removes support for that.
Note that this is distinct from what users do: the public
`WasmEnableThreads` (respectively, `WasmEnablePerfTracing`) property
are used in user project to choose the threaded (respectively,
diagnostic tracing) runtime pack in a user project. That support is
not going way in this PR.
The only tricky bit is that when building and testing the sample
projects, we need to set the public properties, not the wasm build
variant property.
Fixes https://github.com/dotnet/runtime/issues/75152
Jo Shields [Thu, 5 Jan 2023 20:41:32 +0000 (15:41 -0500)]
Cross-compile Wasm cross-compilers for ARM64 machines (#74428)
This change enables building arbitrary cross-compilers for non-x64 hosts. Right now, only osx-arm64->browser-wasm and linux-arm64->browser-wasm are actually enabled, as runtime bugs prevent us from building any arm64->x86 or arm64->x64 cross-compilers. Getting this framework in will unblock workload work related to "native" wasm on M1 Mac.
== BREAKING CHANGE FOR DEVELOPERS ==
MonoAOTLLVMDir no longer exists.
Old:
`/p:MonoLLVMDir=/path/to/llvm` specifies the directory with LLVM binaries compiled for `$(TargetArchitecture)`, for compiling the Mono JIT on that target architecture
`/p:MonoAOTLLVMDir=/path/to/llvm` specifies the directory with LLVM binaries compiled for `$(BuildArchitecture)`, for compiling the mono-aot-cross executable
```
New:
`/p:MonoLLVMDir=/path/to/llvm` specifies a parent-level directory with LLVM binaries compiled for relevant architectures - e.g. `$(MonoLLVMDir)\x64` contains LLVM built for `x64`, current OS. `$(MonoLLVMDir)\arm64 contains LLVM built for arm64`, current OS.
You do not need to specify `/p:MonoLLVMDir=` manually, unless you are a developer who may be using custom, non-nupkg LLVM.
This change is necessary to stop hardcoding the assumptions that a) `$(BuildArchitecture)` is always `x64` and b) AOT binaries should be compiled for $(BuildArchitecture)
Closes: #74175
Zoltan Varga [Thu, 5 Jan 2023 19:49:19 +0000 (14:49 -0500)]
[wasm] Fix dedup support. (#80223)
The DedupAssembly argument to the MonoAOTCompiler task contains the
original file name but its being compared against the file name which
was copied into the aot-in directory.
Austin Wise [Thu, 5 Jan 2023 18:34:45 +0000 (10:34 -0800)]
Improve the performance of ConditionalWeakTable.TryGetValue (#80059)
* [NativeAOT] Fix Objective-C reference tracking
Fixes #80032
* Move implementation-specific comment out of public doc comment
* Duplicate code for TryGetHashCode implementations.
* Replace comments with a passing test.
* Add moke test for restricted callouts.
* Remove TryGetHashCode from Mono
It does not guarantee that hash codes are non-zero.
* Add test coverage for untracked objective objects.
* Implement RuntimeHelpers.TryGetHashCode for Mono
* Remove unneeded MONO_COMPONENT_API
* Remove Mono intrinsic for InternalGetHashCode
This is dead code because this method no longer lives on
System.Object.
* Move interpreter transforms to correct class.
* Rename and move icall to match convention.
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Chris Ahna [Thu, 5 Jan 2023 18:14:52 +0000 (10:14 -0800)]
Fix pGeneratedNewStub determination (#80128)
* Fix pGeneratedNewStub determination
* Remove unnecessary ILStubCreatorHelperHolder concept
Zoltan Varga [Thu, 5 Jan 2023 16:05:11 +0000 (11:05 -0500)]
[wasm] Don't pass -Wl,--allow-undefined to emcc when compiling .bc files. (#80221)
Its not needed, and causes a warning.
Allan Targino [Thu, 5 Jan 2023 16:01:13 +0000 (13:01 -0300)]
cleaning unused method in logging source generator Parser (#80233)
Tanner Gooding [Thu, 5 Jan 2023 15:38:13 +0000 (07:38 -0800)]
Replace the last two SIMDIntrinsic in LIR with NamedIntrinsic and delete GT_SIMD (#80027)
* Replace the last two SIMDIntrinsic in LIR with NamedIntrinsic and delete GT_SIMD
* Applying formatting patch
* Ensure SIMD_UpperRestore/Save is handled in gtSetEvalOrder
* Handle some asserts on Arm64
Miha Zupan [Thu, 5 Jan 2023 15:24:18 +0000 (16:24 +0100)]
Use IndexOfAnyValues in the RegexCompiler and source gen (#78927)
* Use IndexOfAnyValues in the RegexCompiler and source gen
* Review feedback
* Fix edge-case of ASCII set after Notonelazy that doesn't overlap with target
* Use ranges for short sets where applicable, avoid negated IndexOfAnyValues primary sets
* Add XML comment to IndexOfAnyValues declarations
* PR feedback
* Revert useless code around length=1 negated chars
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Jan Vorlicek [Thu, 5 Jan 2023 15:05:39 +0000 (16:05 +0100)]
Fix bug introduced by page bitmap removal (#80216)
The page bitmap removal in PAL that was made recently has introduced
a subtle bug when the `VIRTUALCommitMemory` was returning incorrect
address when a region of memory was reserved and later a smaller
subset of that region that didn't start at the beginning of the
reserved region was committed. It was returning the address of
the originally reserved region.
While we have not hit any issues in the main branch, a backport
of this change has caused CI failures on macOS due to the issue.
Andrii Kurdiumov [Thu, 5 Jan 2023 13:47:50 +0000 (19:47 +0600)]
Make sure that entry point is reflectable (#80226)
* Make sure that entry point is reflectable
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
dotnet bot [Thu, 5 Jan 2023 13:38:40 +0000 (05:38 -0800)]
Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2079941 (#80227)
Andrii Kurdiumov [Thu, 5 Jan 2023 13:36:36 +0000 (19:36 +0600)]
Fix bunch of incompatibilies of ComWrappers (#80119)
* Fix bunch of incompatibilies of ComWrappers
The only tests from ComWrappersTestsBuiltInComDisabled not working is
- ValidateFallbackQueryInterface
- ValidateAggregationWithComObject
- ValidateAggregationWithReferenceTrackerObject
Related #74620
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Stephen Toub [Thu, 5 Jan 2023 13:18:10 +0000 (08:18 -0500)]
Use MemoryExtensions.Split in MimeBasePart.DetectEncoding (#80211)
Stephen Toub [Thu, 5 Jan 2023 13:18:01 +0000 (08:18 -0500)]
Remove unnecessary static field from BigInteger (#80212)
Stephen Toub [Thu, 5 Jan 2023 13:17:43 +0000 (08:17 -0500)]
Switch a few ThrowIfLessThan(..., 1) calls to be ThrowIfNegativeOrZero(...) (#80201)
Marie Píchová [Thu, 5 Jan 2023 12:24:13 +0000 (13:24 +0100)]
Test made more reliable by eating TimeoutException as well. (#80229)
SingleAccretion [Thu, 5 Jan 2023 11:12:07 +0000 (14:12 +0300)]
Use helpers for implicit casts in importer (#78279)
* Add JitDumpTreeIDs
* Use cast helpers in importer
* Work around regressions (sigh)
* Tune TP on x86
Will call this enough, 0.03% -> 0.015%.
Egor Bogatov [Thu, 5 Jan 2023 10:42:58 +0000 (11:42 +0100)]
Ignore stale PGO data in impCastClassOrIsInstToTree (#80183)
Jakob Botsch Nielsen [Thu, 5 Jan 2023 10:06:52 +0000 (11:06 +0100)]
JIT: Allow sharing call temps within statements (#79574)
fgMakeOutgoingArgCopy has a hashset of shared temps that it uses before
creating a new temp. However, this hash set is reset only at new
statements which can cause regressions when forward sub moves several
calls into the same statement.
This adds support to allow the temps to be shared also within the same
statement. To do this we must take care not to share temps that have
overlapping lifetimes.
Also remove the FOREACH_HBV_BIT_SET macro in favor of a callback-based
function. The macro expands to 4 nested loops, so "break;" in it would not
do what is expected, and we had a bug due to that. The callback-based
iteration is harder to misuse. I initially tried creating an iterator for it, but
that was much more complicated.
Jakob Botsch Nielsen [Thu, 5 Jan 2023 08:47:31 +0000 (09:47 +0100)]
Disable hardware intrinsics tests under gcstress for macOS-arm64 and arm32 (#80168)
These are currently hitting timeouts.
Dan Moseley [Thu, 5 Jan 2023 06:23:41 +0000 (23:23 -0700)]
Fix crash in fixer on certain invalid patterns (#80007)
Stephen Toub [Thu, 5 Jan 2023 02:25:12 +0000 (21:25 -0500)]
Fix regex test compilation failure on .NET Framework 4.8 (#80207)
Somehow this snuck through CI.
Andrew Au [Thu, 5 Jan 2023 02:13:22 +0000 (18:13 -0800)]
Include GC in the default rundown keyword for eventpipe (#79671)
dotnet-maestro[bot] [Thu, 5 Jan 2023 02:13:10 +0000 (20:13 -0600)]
[main] Update dependencies from 9 repositories (#79685)
* Update dependencies from https://github.com/dotnet/llvm-project build
20221214.3
runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
From Version 14.0.0-alpha.1.22613.1 -> To Version 14.0.0-alpha.1.22614.3
* Update dependencies from https://github.com/dotnet/xharness build
20221215.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.22612.1 -> To Version 1.0.0-prerelease.22615.1
* Update dependencies from https://github.com/dotnet/roslyn build
20221214.8
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22614.8
* Update dependencies from https://github.com/dotnet/icu build
20221215.2
Microsoft.NETCore.Runtime.ICU.Transport
From Version 8.0.0-alpha.1.22612.1 -> To Version 8.0.0-alpha.1.22615.2
* Update dependencies from https://github.com/dotnet/roslyn build
20221215.5
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22615.5
* Update dependencies from https://github.com/dotnet/roslyn build
20221216.6
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22616.6
* Update dependencies from https://github.com/dotnet/icu build
20221219.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 8.0.0-alpha.1.22612.1 -> To Version 8.0.0-alpha.1.22619.1
* Update dependencies from https://github.com/dotnet/runtime build
20221218.1
Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Text.Json
From Version 8.0.0-alpha.1.22611.2 -> To Version 8.0.0-alpha.1.22618.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20221219.1
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx.11.0-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.osx.11.0-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter
From Version 1.0.0-alpha.1.22613.2 -> To Version 1.0.0-alpha.1.22619.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20221219.2
runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
From Version 14.0.0-alpha.1.22613.1 -> To Version 14.0.0-alpha.1.22619.2
* Update dependencies from https://github.com/dotnet/icu build
20221220.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 8.0.0-alpha.1.22612.1 -> To Version 8.0.0-alpha.1.22620.1
* Update dependencies from https://github.com/dotnet/xharness build
20221220.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.22612.1 -> To Version 1.0.0-prerelease.22620.1
* Update dependencies from https://github.com/dotnet/emsdk build
20221220.1
Microsoft.NET.Workload.Emscripten.net7.Manifest-8.0.100
From Version 8.0.0-alpha.1.22612.1 -> To Version 8.0.0-alpha.1.22620.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20221219.1
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.1.0-alpha.0.22612.1 -> To Version 1.1.0-alpha.0.22619.1
* Update dependencies from https://github.com/dotnet/roslyn build
20221219.3
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22619.3
* Expect no culture to work after icu update
* Update dependencies from https://github.com/dotnet/roslyn build
20221220.2
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22620.2
* Update dependencies from https://github.com/dotnet/roslyn build
20221221.4
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22621.4
* Update dependencies from https://github.com/dotnet/roslyn build
20221222.6
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22622.6
* Update dependencies from https://github.com/dotnet/roslyn build
20221224.2
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22624.2
* Update dependencies from https://github.com/dotnet/runtime build
20221225.2
Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Text.Json
From Version 8.0.0-alpha.1.22611.2 -> To Version 8.0.0-alpha.1.22625.2
* Update dependencies from https://github.com/dotnet/llvm-project build
20221226.1
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx.11.0-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.osx.11.0-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter
From Version 1.0.0-alpha.1.22613.2 -> To Version 1.0.0-alpha.1.22626.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20221226.2
runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
From Version 14.0.0-alpha.1.22613.1 -> To Version 14.0.0-alpha.1.22626.2
* Update dependencies from https://github.com/dotnet/icu build
20221226.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 8.0.0-alpha.1.22612.1 -> To Version 8.0.0-alpha.1.22626.1
* Update dependencies from https://github.com/dotnet/roslyn build
20221227.1
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22627.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20221228.1
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.1.0-alpha.0.22612.1 -> To Version 1.1.0-alpha.0.22628.1
* Update dependencies from https://github.com/dotnet/roslyn build
20221228.6
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22628.6
* Update dependencies from https://github.com/dotnet/roslyn build
20221229.5
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22629.5
* Update dependencies from https://github.com/dotnet/roslyn build
20221230.2
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22630.2
* Update dependencies from https://github.com/dotnet/roslyn build
20221231.2
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.22631.2
* Update dependencies from https://github.com/dotnet/runtime build
20221231.1
Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Text.Json
From Version 8.0.0-alpha.1.22611.2 -> To Version 8.0.0-alpha.1.22631.1
* Update dependencies from https://github.com/dotnet/roslyn build
20230101.1
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.23051.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20230102.1
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx.11.0-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.osx.11.0-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter
From Version 1.0.0-alpha.1.22613.2 -> To Version 1.0.0-alpha.1.23052.1
* Update dependencies from https://github.com/dotnet/icu build
20230102.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 8.0.0-alpha.1.22612.1 -> To Version 8.0.0-alpha.1.23052.1
* Update dependencies from https://github.com/dotnet/xharness build
20230102.2
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.22612.1 -> To Version 1.0.0-prerelease.23052.2
* Update dependencies from https://github.com/dotnet/roslyn build
20230102.2
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.5.0-3.23052.2
* Update dependencies from https://github.com/dotnet/roslyn-analyzers build
20230103.3
Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
From Version 3.3.4-beta1.22559.1 -> To Version 3.3.4-beta1.23053.3
* Update dependencies from https://github.com/dotnet/roslyn-analyzers build
20230103.6
Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
From Version 3.3.4-beta1.22559.1 -> To Version 3.3.4-beta1.23053.6
* Update dependencies from https://github.com/dotnet/roslyn build
20230104.2
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.5.0-3.22613.20 -> To Version 4.6.0-1.23054.2
* Update XmlStreamConfigurationProvider.cs
* Update dependencies from https://github.com/dotnet/runtime-assets build
20230104.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.22553.1 -> To Version 7.0.0-beta.23054.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Jeremy Koritzinsky [Thu, 5 Jan 2023 00:33:57 +0000 (16:33 -0800)]
Create basic YAML template for the pipeline for building and running the runtime with native sanitizers enabled. (#80215)
dotnet-maestro[bot] [Thu, 5 Jan 2023 00:26:18 +0000 (19:26 -0500)]
Update dependencies from https://github.com/dotnet/cecil build
20230103.1 (#80174)
Microsoft.DotNet.Cecil , Microsoft.DotNet.Cecil.Pdb
From Version 0.11.4-alpha.23052.1 -> To Version 0.11.4-alpha.23053.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Miha Zupan [Wed, 4 Jan 2023 23:50:27 +0000 (00:50 +0100)]
Fix HTTP/2 extended connect hang (#80066)
* Fix HTTP/2 extended connect hang
* Remove short test timeout
* Fix tests
* Avoid reusing the same exception instance
Vlad Brezae [Wed, 4 Jan 2023 23:42:56 +0000 (01:42 +0200)]
[mono][interp] Fix issue with clearing of unused defs (#80186)
If within a basic block we have code like `somevar = val1; ...; somevar = val2` and somevar has no indirects and is not used between the two defines, then we can remove the first assignment. However, MINT_SRC_DST_OFF is a special opcode that writes only to a part of a valuetype, even though it has the vt var as a destination. This means we can't clear the previous define, otherwise we lose data in part of the valuetype.
SingleAccretion [Wed, 4 Jan 2023 23:24:24 +0000 (02:24 +0300)]
Support deleting "entire" stores in the VN-based dead store removal phase (#79505)
* Add a flag for explicit inits
* Fix VN
* Add support for "whole" stores
Kevin Jones [Wed, 4 Jan 2023 22:19:59 +0000 (17:19 -0500)]
Add tests for Compute{Counter}Signature with attribute certificates
Jeremy Koritzinsky [Wed, 4 Jan 2023 22:05:35 +0000 (14:05 -0800)]
Remove duplicate android and wasm yaml templates to run the runtime tests after a "global-build" build step. (#80157)
Günther Foidl [Wed, 4 Jan 2023 21:02:00 +0000 (22:02 +0100)]
Base64.Decode: fixed latent bug for invalid input that is less than a block-size (#79952)
* Tests
* Fix
Stephen Toub [Wed, 4 Jan 2023 20:59:42 +0000 (15:59 -0500)]
Enable regex generator nullable reference types validation (#80142)
* Enable regex generator nullable reference types
Multiple times in the past we've audited the regex source generator for nullable reference type annotations, but as it was only compiled officially for netstandard2.0, any work we did to get it green eventually rotted. This follows the work done to enable also building a .NET Core target for the json generator to do the same for the regex generator. In doing so, I also took the opportunity to clean up the REGEXGENERATOR compilation constant.
* Add SetTargetFramework to ProjectReferences
* Fix regex unit tests
Thays Grazia [Wed, 4 Jan 2023 20:35:43 +0000 (17:35 -0300)]
[mono][debugger] Debugger method invokes dont' handle ref fields in ref structs (#76332)
* thays fix debug by ref field
* fix compilation
* addressing @lambdageek comments
* fix compilation error
* Fix merge
* addressing @lambdageek comments.
* Fix merge.
dotnet-maestro[bot] [Wed, 4 Jan 2023 19:27:40 +0000 (14:27 -0500)]
[main] Update dependencies from dotnet/arcade (#80171)
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.23052.2 -> To Version 8.0.0-beta.23053.5
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Kevin Jones [Wed, 4 Jan 2023 18:23:00 +0000 (13:23 -0500)]
Fix SignedCms certificate collection modification with attribute certificates
When adding or removing certificates from the certificateSet collection, we assumed that the collection would
only contain X.509 certificates. This changes the implementation so that when looking for certificates, we skip
over choices that are not an X.509 certificate.
Gregg Miskelly [Wed, 4 Jan 2023 18:03:01 +0000 (10:03 -0800)]
Add Visual Studio debugging note to libraries README (#80185)
This adds another section to docs/workflow/building/libraries/README.md to reference how to disable sign verification in Visual Studio.
Kevin Jones [Wed, 4 Jan 2023 17:52:19 +0000 (12:52 -0500)]
Fix CngKey.KeySize for keys in the Platform Crypto Provider
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Zoltan Varga [Wed, 4 Jan 2023 15:10:51 +0000 (10:10 -0500)]
[wasm] AOT BCL tests using -O1 to avoid OOM errors on CI. (#80103)
Also enable WasmNativeStrip.
Jan Vorlicek [Wed, 4 Jan 2023 13:36:05 +0000 (14:36 +0100)]
Enable CoreCLR init failure logging in single exe host (#80104)
* Enable CoreCLR init failure logging in single exe host
When adding the CoreCLR initialization failure logging recently, I have
missed the fact that there are two versions of the coreclr_resolver.cpp.
One for standalone host that I have added support for, but also for linking
into single exe.
This change adds the missing support to the single exe host.
* Remove unnecessary typedef
Stephen Toub [Wed, 4 Jan 2023 12:57:57 +0000 (07:57 -0500)]
Delete erroneous simplifer annotation for regex fixer (#80126)
* Delete erroneous simplifer annotation for regex fixer
* Fix a few test failures due to lack of simplification
Radek Doulik [Wed, 4 Jan 2023 09:39:29 +0000 (10:39 +0100)]
[wasm] Add ConditionalSelect SIMD intrinsics (#80145)
It uses existing `OP_BSL`, which does And, Not, And and Or operations.
llvm emits it as `v128.bitselect` for us. So I think we don't need
to use the `llvm.wasm.bitselect.*` intrinsics.
This should help in few areas, SpanHelper.ReplaceValueType and
IndexOfAnyAsciiSearcher.IndexOfAnyLookup'1.
It improves the Json deserialization a bit:
| measurement | before | after |
|-:|-:|-:|
| Json, non-ASCII text deserialize | 0.4343ms | 0.4275ms |
| Json, small deserialize | 0.0517ms | 0.0497ms |
| Json, large deserialize | 14.3995ms | 13.8217ms |
Example of emitted code:
> wa-info -d -f SpanHelper.*ReplaceValueType src\mono\sample\wasm\browser-bench\bin\Release\AppBundle\dotnet.wasm
(func corlib_System_SpanHelpers_ReplaceValueType_uint16_uint16__uint16__uint16_uint16_uintptr(param $0 i32, $1 i32, $2 i32, $3 i32, $4 i32, $5 i32))
...
i16x8.eq [SIMD]
v128.bitselect [SIMD]
v128.store [SIMD]
...
Kevin Jones [Wed, 4 Jan 2023 07:18:24 +0000 (02:18 -0500)]
Use platform runtime check for ProtectedData (#80158)
* Use platform runtime check for ProtectedData
* Remove duplicate TargetFramework
Viktor Hofer [Wed, 4 Jan 2023 07:08:10 +0000 (08:08 +0100)]
Clean-up ILLink targets and avoid binplacing (#80102)
Clean-up illink.targets file, remove outdated logic that doesn't work
and isn't used anymore. Avoid binplacing and instead use the P2P
protocol to communicate a projects illink settings. Such information is
then available in consuming projects like sfx.proj and oob.proj and
avoids IO operations (binplacing).
dotnet-maestro[bot] [Wed, 4 Jan 2023 02:39:28 +0000 (21:39 -0500)]
Update dependencies from https://github.com/dotnet/cecil build
20230102.1 (#80114)
Microsoft.DotNet.Cecil , Microsoft.DotNet.Cecil.Pdb
From Version 0.11.4-alpha.22627.1 -> To Version 0.11.4-alpha.23052.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Bruce Forstall [Wed, 4 Jan 2023 01:41:03 +0000 (17:41 -0800)]
Improve emitter output for IG creation/saving and other improvements (#80151)
1. When outputting IG information, be explicit if the IG is being created
or saved. Previously, it was harder to understand in a JitDump when an
"IGxx" line showed up, and was somewhat confusing when one showed up
after a new label BB started being generated that was actually saving the
previous, pre-BB code.
2. Use the standard `emitDispIG()` function to display an IG, in more places.
3. Move the `Mapped BBxx to IGyy` output to a more appropriate location (when
code from that BB has actually been generated into that IG -- which can happen
for multiple BBs).
4. Fix `refCntWtd2str()` to work better for non-aligned cases. This function
tries to generate a string like "8" with 3 trailing spaces so it will line up
with the "1" in "1.50" in aligned output (instead of generating something like
"8.00" which is more cluttered). But that's annoying when using the function for
non-aligned cases.
5. Fixed a wrongly attributed memory allocation, for `igBlocks`
Katelyn Gadd [Wed, 4 Jan 2023 01:28:21 +0000 (17:28 -0800)]
[wasm] enable JITs for interp->aot and aot->interp transitions (#78493)
See #76477 for information.
Aaron Robinson [Tue, 3 Jan 2023 23:24:32 +0000 (15:24 -0800)]
Remove some instances of `%S` and `%ls` (#78894)
* Remove unused NativeImagePerfMap
* Allocate enough for UTF8 conversion
* Missed VariantAsString API.
Change local `sFlags` to generic `szTempBuf`
* Remove all "entry point" logging for metadata APIs.
Jan Vorlicek [Tue, 3 Jan 2023 23:06:56 +0000 (00:06 +0100)]
Remove page map from PAL virtual memory allocator (#80105)
Ankit Jain [Tue, 3 Jan 2023 22:58:31 +0000 (17:58 -0500)]
[wasm] Revert back to using latest stable versions of chrome for testing (#80135)
* [wasm] Revert back to using latest stable versions of chrome for testing
* [wasm] widen the search area for chrome snapshots. They seem to be less frequent for windows builds.
Aaron Robinson [Tue, 3 Jan 2023 22:15:30 +0000 (14:15 -0800)]
Disable inlining for helper method (#80124)
dotnet-maestro[bot] [Tue, 3 Jan 2023 21:50:39 +0000 (22:50 +0100)]
[main] Update dependencies from dotnet/arcade (#79953)
* Update dependencies from https://github.com/dotnet/arcade build
20221223.1
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.22621.1 -> To Version 8.0.0-beta.22623.1
* Update dependencies from https://github.com/dotnet/arcade build
20221226.1
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.22621.1 -> To Version 8.0.0-beta.22626.1
* Update dependencies from https://github.com/dotnet/arcade build
20221228.1
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.22621.1 -> To Version 8.0.0-beta.22628.1
* Update dependencies from https://github.com/dotnet/arcade build
20221230.1
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.22621.1 -> To Version 8.0.0-beta.22630.1
* Update dependencies from https://github.com/dotnet/arcade build
20230102.2
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.22621.1 -> To Version 8.0.0-beta.23052.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
Austin Wise [Tue, 3 Jan 2023 21:20:55 +0000 (13:20 -0800)]
Generate CodeView debug information for .asm files (#77084)
Radek Doulik [Tue, 3 Jan 2023 20:54:52 +0000 (21:54 +0100)]
[wasm] Add WidenUpper and WidenLower SIMD intrins (#80117)
* [wasm] Add WidenUpper and WidenLower SIMD intrins
This improves performance in string related areas. Example code:
> wa-info -d -f Ascii.*WidenFourAsciiBytesToUtf16AndWriteToBuffer dotnet.wasm
(func corlib_System_Text_Ascii_WidenFourAsciiBytesToUtf16AndWriteToBuffer_char__uint(param $0 i32, $1 i32, $2 i32))
local.get $0
i32.eqz
if
call mini_llvmonly_throw_nullref_exception
unreachable
local.get $0
local.get $1
i32x4.splat [SIMD]
i16x8.extend.low.i8x16.u [SIMD]
v128.store64.lane 0 [SIMD]
It is also visible in the bench sample Json task, where it improves
serialization times:
| measurement | before | after |
|-:|-:|-:|
| Json, non-ASCII text serialize | 0.2939ms | 0.2174ms |
| Json, small serialize | 0.0274ms | 0.0262ms |
| Json, large serialize | 7.5466ms | 7.0948ms |
It would be enough to do zero/sign extensions instead of zero shifts, I
left the shifts in place though as I am not sure whether there is
a reason for that on arm64.
* Fix build
Jackson Schuster [Tue, 3 Jan 2023 19:35:27 +0000 (13:35 -0600)]
Avoid caching compilation data and use value equality for SyntaxNodes (#79051)
Fixes https://github.com/dotnet/runtime/issues/78242
Creates separate types for InteropAttributeData: one that holds compilation data (InteropAttributeCompilationData), and one that holds only the data necessary for the model to create the generated code (InteropAttributeModelData).
This uncovered some issues with record equality in records that use SyntaxNode. For those, we need to override Equals or wrap the SyntaxNode in a type that overrides Equals to use IsEquivalentTo on the SyntaxNode.
There are probably more places where we use SyntaxNode that aren't caught in the current tests.
To make sure every record has the right equality, I wasn't sure if it would be better to override Equals for each of the records, or create a wrapper record struct for each SyntaxNode that implements the equality we want (and implicit casts to and from the SyntaxNode). Then we wouldn't have to explicitly override the equality in each record that has a SyntaxNode. I also overrode both Equals and GetHashCode, but I'm not confident in my GetHashCode implementation. It could also be done with IEquatable.Equals without needing GetHashCode, but that would require implementing the TypeSyntax equality for every type that inherits from ManagedTypeInfo.
Eric Erhardt [Tue, 3 Jan 2023 19:20:19 +0000 (13:20 -0600)]
Fix failing Hosting tests (#79455)
Ensure the temp directory used is always empty, so it doesn't pick up appsettings.json files randomly.
Fix #79453
Bruce Forstall [Tue, 3 Jan 2023 18:38:34 +0000 (10:38 -0800)]
Be more flexible in finding libcoredistools (#80054)
Bruce Forstall [Tue, 3 Jan 2023 18:37:55 +0000 (10:37 -0800)]
Include zero-sized diffs in the set of textual diffs generated (#79917)
Diffs with zero size are important to examine because they most
likely indicate GC info changes.
Lachlan Ennis [Tue, 3 Jan 2023 17:57:54 +0000 (03:57 +1000)]
Add nullability to `CreateInstance` in `TypeDescriptor`/`TypeDescriptionProvider` to match `Activator.CreateInstance` (#79776)
madelson [Tue, 3 Jan 2023 17:32:42 +0000 (12:32 -0500)]
Fix thread-safety issues with enumerating ResourceManager. (#75054)
* Fix thread-safety issues with enumerating ResourceManager.
Concurrently enumerating a ResourceManager while also calling GetString()
and similar methods was prone to both transient errors and deadlock.
The transient errors were caused by RuntimeResourceSet calling internal
methods on ResourceReader that did not properly lock. Now, all exposed
methods on the Reader are thread-safe.
The deadlock was called by inconsistent lock ordering between
ResourceReader.ResourceEnumerator and RuntimeResourceSet which both lock
on the RuntimeResourceSet's cache and on the ResourceReader itself. Now,
the enumerator does not need to take both locks at the same time.
Fix #74052
Fix #74868
* Remove trailing whitespace
* Address feedback from https://github.com/dotnet/runtime/pull/75054
* Add comment in response to https://github.com/dotnet/runtime/pull/75054#issuecomment-
1317470280
* Implement feedback from https://github.com/dotnet/runtime/pull/75054
Jan Kotas [Tue, 3 Jan 2023 17:26:32 +0000 (09:26 -0800)]
Ignore SendMessageTimeout failures on Windows Nano Server (#80099)
* Ignore SendMessageTimeout failures on Windows Nano Server
* Fix tests
Fixes #30566
Shreyas Jejurkar [Tue, 3 Jan 2023 16:40:16 +0000 (22:10 +0530)]
fix (doc) : Specify where `*.dgml` files are generated (#80115)
Let's be clear with the path where the given file is getting generated.
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Milos Kotlar [Tue, 3 Jan 2023 15:01:43 +0000 (16:01 +0100)]
[mono][interp] Expand compare + brfalse/brtrue with single conditional branch opcode (#80046)
* Add integer opcodes
* Add floating-point opcodes
* Check if local_ref_count is 1
Miha Zupan [Tue, 3 Jan 2023 09:28:36 +0000 (10:28 +0100)]
Double IndexOf throughput for chars (#78861)
* Add PackedIndexOf for chars
* Add Contains and IndexOfValue(3 chars)
* Stop using PackedIndexOf on ARM
* Improve code comment
Michal Strehovský [Tue, 3 Jan 2023 06:29:42 +0000 (15:29 +0900)]
Generate fewer `ExactMethodInstantiationsHashtable` entries (#80090)
This hashtable contains information about unshared generic methods. We really only need it for generic virtual methods. There was some code in the reflection stack that was reading it to support stack traces and `Delegate.GetMethodInfo` but:
1. For stack traces, we have this information in the stack trace metadata table.
2. For `Delegate.GetMethodInfo` we have a rule that all targets of delegates should become reflectable in the compiler. We should have all this data in the reflection invoke table that we also parse for this purpose.
Andrii Kurdiumov [Tue, 3 Jan 2023 00:19:11 +0000 (06:19 +0600)]
Ignore uninstantiated generic method (#80096)
Fixes #78955