Juan Sebastian Hoyos Ayala [Wed, 13 Apr 2022 23:27:07 +0000 (16:27 -0700)]
Merge branch 'darc-main-
31d4c308-6782-4440-8589-
61f58f239059' of https://github.com/dotnet/runtime into darc-main-
31d4c308-6782-4440-8589-
61f58f239059
Juan Sebastian Hoyos Ayala [Wed, 13 Apr 2022 23:26:44 +0000 (16:26 -0700)]
Disable warning C4679 in IJW tests
Juan Hoyos [Wed, 13 Apr 2022 20:59:03 +0000 (13:59 -0700)]
Fix queue name
Juan Hoyos [Wed, 13 Apr 2022 20:38:36 +0000 (13:38 -0700)]
Use preview 3 SDK
Juan Hoyos [Wed, 13 Apr 2022 20:37:53 +0000 (13:37 -0700)]
Use VS preview pools for Windows build jobs
dotnet-maestro[bot] [Wed, 13 Apr 2022 12:25:19 +0000 (12:25 +0000)]
Update dependencies from https://github.com/dotnet/arcade build
20220412.2
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.22179.1 -> To Version 2.5.1-beta.22212.2
Ankit Jain [Tue, 12 Apr 2022 16:18:53 +0000 (16:18 +0000)]
Merge remote-tracking branch 'origin/main' into darc-main-
31d4c308-6782-4440-8589-
61f58f239059
Ankit Jain [Tue, 12 Apr 2022 16:18:33 +0000 (16:18 +0000)]
Disable EMSDK wasm.build.tests due to https://github.com/dotnet/arcade/issues/9025
Eirik Tsarpalis [Tue, 12 Apr 2022 16:07:07 +0000 (17:07 +0100)]
Fix unsupported type detection when serializing polymorphic System.Type instances (#67618)
Andy Ayers [Tue, 12 Apr 2022 15:59:36 +0000 (08:59 -0700)]
JIT: fix interaction of OSR and shadowed parameters (#67884)
If a Tier0 method has shadowed parameters, the patchpoint info it creates
must refer to the stack slots for the shadow copies. Otherwise any updates
made to the params by the Tier0 code will not be seen by the OSR method.
Fixes #67410.
Mike McLaughlin [Tue, 12 Apr 2022 15:53:18 +0000 (08:53 -0700)]
Fix sos.eeheap's LoaderCodeHeap sizes (#67885)
Issue: https://github.com/dotnet/runtime/issues/58067
Lakshan Fernando [Tue, 12 Apr 2022 15:40:04 +0000 (08:40 -0700)]
Adding missing SDK assets for Publish (#67765)
* Adding missing SDK assets for Publish
* FB
* build break fix
* case senstive dir fix
* adding comments to the targets file
Brennan [Tue, 12 Apr 2022 15:34:06 +0000 (08:34 -0700)]
Add ReplenishingRateLimiter and IdleDuration (#67020)
Miha Zupan [Tue, 12 Apr 2022 15:10:55 +0000 (17:10 +0200)]
Fix & => && typo in Uri (#67900)
Radek Zikmund [Tue, 12 Apr 2022 14:48:04 +0000 (16:48 +0200)]
[HTTP/3] Reenable ResponseCancellation_ServerReceivesCancellation (#67535)
Since #57156 enforced sending RequestCancelled HTTP response code when disposing the stream, we no longer need to check for the 0xffffffff error code.
Johan Lorensson [Tue, 12 Apr 2022 13:49:09 +0000 (15:49 +0200)]
[Mono] Fix warnings to enable W4 on Windows. (#66710)
Fix warnings to enable W4 on Windows.
Aleksei Abakumkin [Tue, 12 Apr 2022 13:39:26 +0000 (16:39 +0300)]
Fix hanging of NamedPipeClientStream when connecting with infinite timeout (#66877)
* Add new test for named pipe client stream.
The test includes the situation when the NamedPipeClientStream
doesn't response to the cancellation token.
* Handle case with infinite timeout properly.
Egor Bogatov [Tue, 12 Apr 2022 13:19:04 +0000 (16:19 +0300)]
Faster IndexOf for arm64 (#67811)
Jan Kotas [Tue, 12 Apr 2022 12:59:40 +0000 (05:59 -0700)]
Fix Assembly.LoadFrom resolver (#67890)
Path.GetFullPath fails on empty path. Check for empty requestor path earlier.
Fixes #67802
dotnet-maestro[bot] [Tue, 12 Apr 2022 12:21:23 +0000 (12:21 +0000)]
Update dependencies from https://github.com/dotnet/arcade build
20220411.6
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.22179.1 -> To Version 2.5.1-beta.22211.6
Jakob Botsch Nielsen [Tue, 12 Apr 2022 11:38:46 +0000 (13:38 +0200)]
Stop passing StandardOptimizationData.mibc to crossgen2 multiple times for SPC (#67458)
Also disabled managed PGO for SourceBuild as before it was relying on no .mibc files being around to avoid passing the --mibc parameter.
Stephen Toub [Tue, 12 Apr 2022 11:11:31 +0000 (07:11 -0400)]
Disabe regex timeout test (#67898)
Egor Bogatov [Tue, 12 Apr 2022 10:54:13 +0000 (13:54 +0300)]
[arm64] Add RCPC ISA (8.3+) and use ldap for volatile reads (#67384)
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Tomáš Rylek [Tue, 12 Apr 2022 09:30:02 +0000 (11:30 +0200)]
Mark GCStressIncompatible and similar tests as out-of-proc (#67876)
According to current architecture we must mark conditionally
enabled tests as out of process because the special conditions
are tested in their individual execution scripts that are skipped
for ordinary merged tests.
Thanks
Tomas
Ben [Tue, 12 Apr 2022 07:00:24 +0000 (03:00 -0400)]
fix off-by-1000 error in Interop.Process (#67834)
fixes #67807
Dan Moseley [Tue, 12 Apr 2022 06:45:45 +0000 (00:45 -0600)]
Run large file test on its own (#67857)
* Segregate large file StreamReader test
* Extract just problematic test from BinaryWriter.Encoding tests
Jeremy Koritzinsky [Tue, 12 Apr 2022 04:54:37 +0000 (21:54 -0700)]
Code fix to add DisableRuntimeMarshalling when required (#67676)
Jan Kotas [Tue, 12 Apr 2022 04:06:24 +0000 (21:06 -0700)]
Fix error message for invalid assembly name (#67882)
The error message is always used for invalid assembly name. Delete mention of codebase to avoid confusion.
Dan Moseley [Tue, 12 Apr 2022 02:25:43 +0000 (20:25 -0600)]
Fix inadvertent logical AND (#67875)
Dan Moseley [Tue, 12 Apr 2022 02:25:20 +0000 (20:25 -0600)]
Fix exception and enable event logging when service has no name (#67827)
* Increase timeouts that are sporadically being hit
* Add logging to TestServiceInstaller
* Update ServiceTypeOptions to match header
* Rename SERVICE_ constants to match header
* Remove defunct comment
* Add failing test
* Remove event log noise
* Make test pass
* more apos
* spacing
* feedback
* Avoid overwriting last error
* feedback
Juan Hoyos [Tue, 12 Apr 2022 02:12:53 +0000 (19:12 -0700)]
Also update the rpmpkg job
David Cantú [Tue, 12 Apr 2022 01:32:49 +0000 (18:32 -0700)]
S.S.C.Cose: Add Async Stream-based signatures (#67786)
* Add SignAsync(stream) and VerifyAsync(Stream)
* Address src feedback
* * Add sync Stream APIs and tests
* Address feedback
* * Add newlines to long signatures
* Remove try-finally form ArrayPool rents on async context
Lakshan Fernando [Mon, 11 Apr 2022 23:51:05 +0000 (16:51 -0700)]
Explicitly referencing the latest Netstandard library (#67866)
* Explicitly referencing the latest Netstandard library
* FB
Aaron Robinson [Mon, 11 Apr 2022 23:08:22 +0000 (16:08 -0700)]
Consider `Type.IsByRefLike` an intrinsic when possible (#67852)
* Consider Type.IsByRefLike an intrinsic when possible
Omair Majid [Mon, 11 Apr 2022 23:04:48 +0000 (19:04 -0400)]
Use logical and for boolean operation in bstr (#67858)
This seems like a mistake and recent versions of clang even complain
about it:
/runtime/src/coreclr/palrt/bstr.cpp:50:13: error: use of bitwise '&' with boolean operands [-Werror,-Wbitwise-instead-of-logical]
if (SUCCEEDED(ULongMult(cchSize, sizeof(WCHAR), &temp)) &
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&&
/runtime/src/coreclr/pal/inc/pal.h:5144:27: note: expanded from macro 'SUCCEEDED'
#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
^
/runtime/src/coreclr/palrt/bstr.cpp:50:13: note: cast one or both operands to int to silence this warning
/runtime/src/coreclr/pal/inc/pal.h:5144:27: note: expanded from macro 'SUCCEEDED'
#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
^
1 error generated.
Stephen Toub [Mon, 11 Apr 2022 22:56:42 +0000 (18:56 -0400)]
Support default timeouts in RegexGenerator (#67775)
If you pass a timeout to Regex's constructor, that's the timeout that's used, and if it's infinite, no timeout is applied. However, if you don't specify a timeout, then while it defaults to infinite, it's also overridable by a process-wide AppContext switch. An AppContext value can be set before any Regex usage, and then any regexes that don't specify a timeout will default to that process-wide timeout value rather than to infinite.
With RegexGenerator, the code is all generated ahead of time, before there's even a process in which to check for a setting, as such, up until now not specifying a timeout has been the same as explicitly specifying infinite. With this PR, we fix that. If you explicitly specify a timeout, infinite or otherwise, nothing changes. But if you don't specify a timeout, we now still emit the timeout related checks, but guarded by a read of a static readonly bool that's initialized with a read for that same AppContext switch. This allows for the generated code to still participate in the global default while allowing the JIT to remove the guarded blocks when the code is tiered up and it observes that the readonly static highlights there's no default set (in the vast majority case). And if someone really doesn't want that code emitted at all, they can simplify specify an infinite timeout in the RegexGenerator attribute.
Ankit Jain [Mon, 11 Apr 2022 22:40:15 +0000 (22:40 +0000)]
[wasm] Debugger tests - always use the same sdk on helix, as the one
.. used for building.
This failed when `global.json` specified a preview4 sdk, which was used
to build the tests. But the built tests (including the preview4 testhost) were
send to helix with the preview2 (version set by arcade -
`DotNetCliVersion`), which causes:
```
Testhost process exited with error: It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '7.0.0-preview.4.22201.3' (x64) was not found.
- The following frameworks were found:
7.0.0-preview.2.22152.2 at [C:\helix\work\correlation\dotnet-cli\shared\Microsoft.NETCore.App]
You can resolve the problem by installing the specified framework and/or SDK.
```
Danyy427 [Mon, 11 Apr 2022 22:36:04 +0000 (01:36 +0300)]
Added test for extracting zip files with invalid characters in Windows (#67332)
* Added test for extracting zip files with invalid characters in Windows
* Removed faulty test case
* Removed redundant test cases, Added contents of the InvalidWindowsFileNameChars.zip
* Replaced "+"s to Path.Combine for forming the test file path.
* Update src/libraries/System.IO.Compression.ZipFile/tests/ZipFile.Extract.cs
* Added code to use ValidFullName across several files
* Removed weird character
* Added Sanitization
* Fixed Typo
* Fixed wrong if statement
* Fixed wrong filename in test
* Added sanitization as a method
The tests added pass with this build
* Fixed tests that didn't pass
* Cleaned up code
* Removed unnecessary tests
* Change agnostic TFM back to Windows
* spacing
* Changed default target framework to Unix
* Defaulted framework to unix
* Removed Browser
* Update src/libraries/System.IO.Compression.ZipFile/tests/ZipFile.Create.cs
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Zoltan Varga [Mon, 11 Apr 2022 21:20:21 +0000 (23:20 +0200)]
[mono] Avoid trying to fork to a debugger on tvos. (#67856)
Elinor Fung [Mon, 11 Apr 2022 18:47:10 +0000 (11:47 -0700)]
Update xlf files (#67863)
Aaron Robinson [Mon, 11 Apr 2022 18:20:01 +0000 (11:20 -0700)]
Update message based on offline feedback. (#67860)
Juan Hoyos [Mon, 11 Apr 2022 17:50:11 +0000 (10:50 -0700)]
Remove workaround that adds net7 tfm for installer tests
Juan Hoyos [Mon, 11 Apr 2022 17:48:07 +0000 (10:48 -0700)]
Update debpkg image
Mukund Raghav Sharma [Mon, 11 Apr 2022 17:01:30 +0000 (10:01 -0700)]
Added the `hard_limit_exceeded_p` back as without it, we won't be retrying another heap to fit the new allocation. (#67724)
* Added the `hard_limit_exceeded_p` back as without it, we will be not retrying another heap.
* Added fix for the setting commit_failed_p = TRUE only in the regions case
* Addressed feedback for the case where the heap hard limit isn't set for regions
* Fix based on feedback:
* Using positive directive logic
Krzysztof Wicher [Mon, 11 Apr 2022 15:13:03 +0000 (17:13 +0200)]
Add more diagnostics info for LookupProperty assert failure (#67838)
* Add more diagnostics info for LookupProperty assert failure
* Cacache -> Cache
* obj is actually nullable
* cleanup and add more debug info
* #if around Debug.Assert
Radek Zikmund [Mon, 11 Apr 2022 14:47:06 +0000 (16:47 +0200)]
Small MsQuicStream reafactorings (#67839)
* Merge `NativeCallbackHandler` and `HandleEvent`
* Use constants for `_state.ShutdownDone`
* Don't use Handle... prefix for private helpers
* Send state transition comments
Piotr Karocki [Mon, 11 Apr 2022 14:43:24 +0000 (16:43 +0200)]
Removing of unused parameter (#67836)
previousKey is (probably) some orphan from older versions.
Radek Zikmund [Mon, 11 Apr 2022 13:47:52 +0000 (15:47 +0200)]
Reenable SocketsHttpHandlerTest_Http3_MsQuic.ClientSettingsReceived_Success test (#67418)
Stephen Toub [Mon, 11 Apr 2022 13:43:29 +0000 (09:43 -0400)]
Add CoverageIncludeTests mention to coverage.md (#67779)
Juan Sebastian Hoyos Ayala [Mon, 11 Apr 2022 08:54:39 +0000 (01:54 -0700)]
Test not adding KnownFrameworkReference
Juan Hoyos [Mon, 11 Apr 2022 08:24:09 +0000 (01:24 -0700)]
Fix dbgshim entry in platform manifest (#67831)
This fixes the official build - mono's dbgshim still ships from the runtime repo.
Juan Sebastian Hoyos Ayala [Mon, 11 Apr 2022 03:19:26 +0000 (20:19 -0700)]
Bump installer tests to 7.0 targetting packs
Dan Moseley [Sun, 10 Apr 2022 23:44:05 +0000 (17:44 -0600)]
Remove COM from profiler messages (#67774)
* Remove COM from profiler messages
* Remove COR_ mentions
Theodor Zoulias [Sun, 10 Apr 2022 23:30:05 +0000 (02:30 +0300)]
Take method, XML documentation corrections (#67812)
The public T Take(); method doesn't throw OperationCanceledException.
Viktor Hofer [Sun, 10 Apr 2022 22:48:47 +0000 (00:48 +0200)]
Delete dead code (#67648)
Jan Kotas [Sun, 10 Apr 2022 19:04:55 +0000 (12:04 -0700)]
Delete dummy ==++== file headers (#67823)
These file headers are leftovers from before open sourcing. We have missed cleaning them up in some files.
Kunal Pathak [Sun, 10 Apr 2022 15:30:35 +0000 (08:30 -0700)]
Use CRT implementation of memset/memcpy (#67788)
* Use CRT implementation of memset/memcpy
* Remove the outdated comment:
Dan Moseley [Sun, 10 Apr 2022 15:29:43 +0000 (09:29 -0600)]
Remove dead strings from .rc files (#67817)
Jan Kotas [Sun, 10 Apr 2022 04:58:35 +0000 (21:58 -0700)]
Delete some Win9x-specific code and comments (#67814)
creator1creeper1 [Sat, 9 Apr 2022 18:06:57 +0000 (20:06 +0200)]
GC: Correctly align `exclusive_sync.alloc_objects` (#67799)
Previously, the calculation of the `cache_separator` size of the array
failed to take the first member `rwp_object` into account. Therefore,
`alloc_objects` was not properly aligned to `HS_CACHE_LINE_SIZE`.
Alexander Köplinger [Sat, 9 Apr 2022 17:52:53 +0000 (19:52 +0200)]
[mono] Cleanup unused code and remove sparc and mips architectures (#67503)
* Remove linux_magic.h
* Remove dead files
* Remove remap_keys() in assembly.c
It is no longer needed.
* Remove mono_dump_jit_offsets/mono_dump_metadata_offsets
It was actually producing incorrect code, see https://github.com/mono/mono/issues/13689
This wasn't noticed because we're generating the offsets file via offsets-tool.py and that uses the correct target.platform_define which is passed to the script.
The code in metadata-cross-helpers.c was only used as a verification helper but I don't think it has enough value to keep.
* Remove leftover code from Mono.Simd
* Remove leftover code from Mono.Tasklets
* Remove unused functions in mono-proclib.c
* Remove sparc and mips architecture
* Disable the Vector4 SIMD fix, it causes an issue
See https://github.com/dotnet/runtime/issues/67762
Vladimir Sadov [Sat, 9 Apr 2022 17:43:53 +0000 (10:43 -0700)]
Fix for the elusive suspension hang on Win7 WOW64 (#67628)
* Do not use CONTEXT_EXCEPTION_REQUEST anywhere except in EEGetThreadContext
* a test for suspension livelock in concurrent stack producer-consumer scenario
Lakshan Fernando [Sat, 9 Apr 2022 17:24:58 +0000 (10:24 -0700)]
Adding class target to RequiresDynamicCodeAttribute (#67778)
* Adding class target to RequiresDynamicCodeAttribute
* FB
Jeff Handley [Sat, 9 Apr 2022 16:19:51 +0000 (09:19 -0700)]
FabricBot config: Viktor is back (#67787)
Tomáš Rylek [Sat, 9 Apr 2022 14:03:45 +0000 (16:03 +0200)]
Always run CopyAllNativeProjectReferenceBinaries (#67718)
Previously this target was only called from the recursive traversal
used when globally copying native artifacts for all projects (this
is used in the lab where the native artifacts are produced on
a different machine than the managed test artifacts). In case of
combined (local) test build we weren't running the target, only
its dependencies (ResolveCMakeNativeProjectReference and
ConsolidateNativeProjectReference); this used to be sufficient as
these two targets handle all logic related to copying native
components of a normal project, however I have recently added
special logic for copying merged test wrapper native artifacts
the CopyAllNativeProjectReferenceBinaries target and so we now must
make sure it also always runs.
Mark JIT optimization-sensitive tests as out-of-process and fix
logic around skipping of out-of-process tests on the excluded platforms.
Fix GetFilteredExcludeList to properly report out-of-process tests
Add issues.targets exclusions for compat_i4_u_il_d / compat_i4_u_il_r
on all Mono platforms
Log timestamps in generated wrapper for investigation of timeouts
Log timestamps around Crossgen2 invocations for investigation of timeouts
Suppress noisy stderr spew for deletion of non-existent rsp files
Expand test timeout to 30 minutes
In the merged scenario we're intentionally reducing the number of
work items at the expense of a single work item size. When
Crossgen2 compilation is involved, with hundreds of tests in the
Methodical_*** projects we're hitting the 15 minute test timeout
so I'm bumping it up to 30. I have also suppressed uninteresting
stderr spew from deletion of the pre-existing composite image.
Thanks
Tomas
Michal Strehovský [Sat, 9 Apr 2022 13:37:52 +0000 (22:37 +0900)]
Remove Roslyn workaround in NativeAOT smoke test (#67795)
Might not be needed after #67780.
Adeel Mujahid [Sat, 9 Apr 2022 13:37:05 +0000 (16:37 +0300)]
Update coding-style.md (#67801)
* Remove mention of outdated formatting script and C++ language that was removed from libraries.
* Move C# coding style at the top of document.
Stephen Toub [Sat, 9 Apr 2022 13:28:22 +0000 (09:28 -0400)]
Rewrite RegexPrefixAnalyzer.FindFirstCharClass (#67732)
Every other analysis we use is on a recursion plan; this one is the last holdover that's still based on iteration maintaining its own custom stack of objects, making it difficult to comprehend the logic. As it turns out, it also has some bugs causing it to miss some cases, in particular where the pattern starts with an anchor followed by a negated set. This PR rewrites it to be simpler / recursive like the rest of our analyses.
Egor Bogatov [Sat, 9 Apr 2022 09:54:15 +0000 (12:54 +0300)]
Vectorize IndexOf for OrdinalIgnoreCase (#67758)
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Jose Perez Rodriguez [Sat, 9 Apr 2022 05:43:54 +0000 (22:43 -0700)]
Re-adding some tests that were commented out now that IgnoreCase work is done (#67709)
Stephen Toub [Sat, 9 Apr 2022 04:28:49 +0000 (00:28 -0400)]
Update C# compiler and revert workaround
* Update C# compiler to pick up attribute fix
* Revert "Work around https://github.com/dotnet/roslyn/issues/60572"
This reverts commit
dc030a0362e3177389f4d4e73e1332c345eab891.
Aleksey Kliger (λgeek) [Sat, 9 Apr 2022 03:30:15 +0000 (23:30 -0400)]
[runtime] copy updated byref nullables after invoke (#67652)
* [runtime] copy updated byref nullables after invoke
Bring back some code lost in
https://github.com/dotnet/runtime/pull/60270
When a `null` is passed for a `ref Nullable<S>` argument to a runtime
invoke, the invoke wrapper creates a default `Nullable` that should be
copied back into the original arguments array of the invoke.
There is code in the managed `Invoke` method to do some of the copying from the temporary
array that is created for the Invoke (we pass a `Span<object>` over
that array from managed to native), but in
`mono_runtime_try_invoke_span` we create a C array `pa` that has the
arguments (this takes care of by-value semantics for value types, for
example). We need to copy the byref nullables back from `pa` to the
span, so that managed code can then copy it back from the span to the
original input array of the Invoke.
Fixes https://github.com/dotnet/runtime/issues/67269
Juan Hoyos [Sat, 9 Apr 2022 02:51:45 +0000 (19:51 -0700)]
Bump SDK to 7.0.100-preview.4.22204.1
Mirror version used in aspnetcore
Fan Yang [Sat, 9 Apr 2022 01:59:14 +0000 (21:59 -0400)]
[Mono]Enable emitting intrinsics for System.Numerics.Vector<T> on arm64 (#67125)
* Enable emitting intrinsics for System.Numerics.Vector<T> on arm64
* Handle multiply by scalar
* Fix typo
* Add support for IsHardwareAccelerated
* Move architecture specific code under corresponding functions
* Resolve feedback
* Fix scalar checking
Bruce Forstall [Sat, 9 Apr 2022 01:58:48 +0000 (18:58 -0700)]
Change SuperPMI asm diffs relocation handling (#67688)
* Change SuperPMI asm diffs relocation handling
Add new techniques for handling relocations to prevent spurious asm diffs.
Especially, better handling for REL32 relocs on 64-bit targets, and
specifically AMD64.
With these changes, we should rarely if ever need to force REL32 relocs
to fit (there is code that already does that, as a backstop).
* Feedback
* Feedback: break out of loops once `delta` has been determined
Ankit Jain [Sat, 9 Apr 2022 01:56:46 +0000 (21:56 -0400)]
[wasm] Perf: Fixes for blazor_scenarios (#67414)
* Bump sdk used for workload testing to 7.0.100-preview.4.22180.18
* Fix multiple issues for blazor scenarios run
* Standardize on using $(payload)/dotnet, even for wasm runs
.. which allows removing, and avoiding some special casing for wasm.
Also, fix the work item names, and job names to indicate wasm/wasmaot.
* performance-setup.sh: extra logging
* cleanup
dotnet-maestro[bot] [Sat, 9 Apr 2022 01:37:55 +0000 (20:37 -0500)]
Update dependencies from https://github.com/dotnet/roslyn-analyzers build
20220407.3 (#67755)
Microsoft.CodeAnalysis.NetAnalyzers
From Version 7.0.0-preview1.22180.6 -> To Version 7.0.0-preview1.22207.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Michal Strehovský [Sat, 9 Apr 2022 01:22:17 +0000 (10:22 +0900)]
Fix some minor reflection bugs (#67571)
Found in System.Reflection tests.
Ankit Jain [Sat, 9 Apr 2022 00:34:37 +0000 (20:34 -0400)]
Merge remote-tracking branch 'origin/main' into darc-main-
31d4c308-6782-4440-8589-
61f58f239059
Ankit Jain [Sat, 9 Apr 2022 00:34:27 +0000 (20:34 -0400)]
Update target framework for some test projects
Bruce Forstall [Sat, 9 Apr 2022 00:33:27 +0000 (17:33 -0700)]
Fix a JIT formatting issue (#67785)
Ankit Jain [Fri, 8 Apr 2022 23:28:21 +0000 (19:28 -0400)]
Fix windows build
The generated path property for
`Pkgoptimization_windows_nt-x86_PGO_CoreCLR` seems to have a trailing
`\` now, on windows, which breaks the quoted use of the property:
`"-DCLR_CMAKE_OPTDATA_PATH="D:\a\_work\1\s\.packages\optimization.windows_nt-x86.pgo.coreclr\1.0.0-prerelease.22121.2\""`
Since this is a directory path being passed, it should be safe to always
trim the trailing `\`.
This manifests as:
```
Calling "D:\a\_work\1\s\src\coreclr\..\..\eng\native\gen-buildsys.cmd" "D:\a\_work\1\s\src\coreclr" "D:\a\_work\1\s\src\coreclr\..\..\artifacts\obj\coreclr\windows.x64.Release" vs2019 x64 "-DCMAKE_BUILD_TYPE=Release" "-DCLR_CMAKE_TARGET_ARCH=x64" "-DCLR_CMAKE_TARGET_OS=windows" "-DCLR_CMAKE_PGO_INSTRUMENT=0" "-DCLR_CMAKE_OPTDATA_PATH="D:\a\_work\1\s\.packages\optimization.windows_nt-x64.pgo.coreclr\1.0.0-prerelease.22121.2\"" "-DCLR_CMAKE_PGO_OPTIMIZE=1"
CMake Warning:
No source or binary directory provided. Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.
```
.. and ..
```
CMake Warning:
Manually-specified variables were not used by the project:
CLR_CMAKE_OPTDATA_PATH
```
and eventually:
```
##[error]BUILD: Error: unable to find generated native component build project
```
Vitek Karas [Fri, 8 Apr 2022 23:10:58 +0000 (16:10 -0700)]
Update host tracing doc to match the current functionality (#67749)
I rewrote the doc to act as a point-in-time documentation (instead of a proposal as before).
Co-authored-by: Elinor Fung <elfung@microsoft.com>
Larry Ewing [Fri, 8 Apr 2022 23:00:45 +0000 (18:00 -0500)]
Update WasmApp.LocalBuild.props to net7.0 too, whoops
Larry Ewing [Fri, 8 Apr 2022 22:48:37 +0000 (17:48 -0500)]
Pass cancellation token to ReadToEndAsync
Larry Ewing [Fri, 8 Apr 2022 22:32:55 +0000 (17:32 -0500)]
Update Microsoft.DotNet.HotReload.Utils.Generator.BuildTool to 1.1.0-alpha.0.22206.1
Larry Ewing [Fri, 8 Apr 2022 22:26:16 +0000 (17:26 -0500)]
Move tools and apps to net7.0
Larry Ewing [Fri, 8 Apr 2022 22:19:11 +0000 (17:19 -0500)]
Merge remote-tracking branch 'upstream/main' into darc-main-
31d4c308-6782-4440-8589-
61f58f239059
Mike McLaughlin [Fri, 8 Apr 2022 20:59:46 +0000 (13:59 -0700)]
Remove dbgshim and related code (#67725)
The dbgshim component has been moved to the diagnostics repo
and ships out of band.
Issue: https://github.com/dotnet/runtime/issues/65017
Steve Harter [Fri, 8 Apr 2022 20:38:01 +0000 (15:38 -0500)]
Reflection Invoke refactoring to support future byref-like and IL emit features (#66357)
Larry Ewing [Fri, 8 Apr 2022 19:54:58 +0000 (14:54 -0500)]
Use properties for target versions for core and framework (#67717)
* Populate target framework versions for tasks, and generated nugets based
.. on other properties, instead of hardcoding the values.
* Version substitution for MonoTargets nuget
* Version substitution for MonoAOTCompiler nuget
* sendhelixhelp.proj: Ensure that DotNetCliVersion gets overridden, as
.. intended. This seems to have been broken by the condition being
removed in
https://github.com/dotnet/arcade/commit/
cfdac3560f1c887780bac171df7c22f7805e6f40
from the `DotNetCliVersion` property, causing the value to always
overridden again to `6.0.100`.
And this breaks wasm aot/eat tests on helix:
```
/datadisks/disk1/work/
A4EE08D9/p/build/wasm/WasmApp.Native.targets(569,5): error MSB4062: The "MonoAOTCompiler" task could not be loaded from the assembly /datadisks/disk1/work/
A4EE08D9/p/build/MonoAOTCompiler/MonoAOTCompiler.dll. Could not load file or assembly 'System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=
b03f5f7f11d50a3a'. The system cannot find the file specified. [/datadisks/disk1/work/
A4EE08D9/w/
B3AE0955/e/publish/ProxyProjectForAOTOnHelix.proj]
/datadisks/disk1/work/
A4EE08D9/p/build/wasm/WasmApp.Native.targets(569,5): error MSB4062: Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
```
* Fix build for net7.0
Fails with:
```
src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcSocket.cs(27,35): error CS0108: 'IpcSocket.AcceptAsync(CancellationToken)' hides inherited member 'Socket.AcceptAsync(CancellationToken)'. Use the new keyword if hiding was intended. [/__w/1/s/src/tests/tracing/eventpipe/common/Microsoft.Diagnostics.NETCore.Client/Microsoft.Diagnostics.NETCore.Client.csproj]
```
* Fix some more target frameworks
* bump the workload sdk version
* Revert "sendhelixhelp.proj: Ensure that DotNetCliVersion gets overridden, as"
This reverts commit
426b4b19155d54a7f338140f4c87feec471b5d92.
Last update to Arcade's XHarnessRunner.targets unconditionally set
DotNetCliVersion, to workaround which this commit was added. But the
update in this PR changed DotNetCliPackageType to `aspnetcore-runtime`,
which makes the version from global.json - `6.0.100` incorrect for
aspnetcore.
And the next upcoming update will set versions explicitly and change the
DotNetCliPackageType back to `sdk`.
Instead, revert this. And don't use version from global.json for now,
instead relying on the version that xharnesrunner.targets sets.
Co-authored-by: Ankit Jain <radical@gmail.com>
dotnet-maestro[bot] [Fri, 8 Apr 2022 19:18:01 +0000 (19:18 +0000)]
Update dependencies from https://github.com/dotnet/arcade build
20220406.10
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.22179.1 -> To Version 2.5.1-beta.22206.10
Juan Hoyos [Fri, 8 Apr 2022 19:02:49 +0000 (12:02 -0700)]
Fix cross dac packaging (#67710)
Badre BSAILA [Fri, 8 Apr 2022 18:44:11 +0000 (20:44 +0200)]
display tidy message for failed assertions (#67750)
Maryam Ariyan [Fri, 8 Apr 2022 18:16:17 +0000 (14:16 -0400)]
Add metrics for caching (#66479)
Qiao Pengcheng [Fri, 8 Apr 2022 17:58:36 +0000 (01:58 +0800)]
[LoongArch64] coreclr-jit directory (#62843)
* Part6-1: add the coreclr-jit directory for LoongArch64. (#59561)
Co-authored-by: Loongson's .NET-teams
* [LoongArch64] add jit/CMakeLists.txt from #62889.
* [LoongArch64] update LoongArch64 after merge from main.
* [LoongArch64] Fix the error for "IsLoongArch64".
* [LoongArch64] Fix the cross-compiling error.
* [LoongArch64] Fixed the compiling errors after merge.
* [LoongArch64] revert `src/coreclr/jit/ICorJitInfo_API_names.h`.
* [LoongArch64] workround the compiling error on windows.
* [LoongArch64] amend the code-format.
* [LoongArch64] update by `git apply format.patch`.
* [LoongArch64] Delete the interface getArgType2.
And refactor the returned values of `getFieldSizeClassificationByHnd`.
Keep aligned with #62893 `
02ff4bfa41d7887b151d381e2697ba82ab6a0bca`.
* [LoongArch64] update code by `git apply format.patch`
And update `getLoongArch64PassStructInRegisterFlags`.
* [LoongArch64] Fixed the error when passing float-arg by integer-reg.
* [Loongarch64] amend patch formate by 'git apply format.patch'
* [LoongArch64] update the version of the `LICENSE description`.
* [LoongArch64] amend the CodeGen::genFnPrologCalleeRegArgs for the SC_IG_BUFFER_SIZE.
* [LoongArch64]: update the crossgen2 within the JIT.
* [LoongArch64] git-apply the `format.patch`.
* [LoongArch64] Fix the compiling error after merge-main.
* [LoongArch64] amend the code for reviewing by @BruceForstall.
* [LoongArch64] apply the `format.patch`.
* [LoongArch64] round 2 amend for reviewing by @BruceForstall.
* [LoongArch64] round 3 amend for reviewing by @BruceForstall.
* [LoongArch64] amend the format.
* [LoongArch64] round 4 amending for reviewing.
* [LoongArch64] add compiling the `clrjit_unix_loongarch64_*`.
* [LoongArch64] delete unused code and amend the format.
Also amend inst_Mov.
* [LoongArch64] apply the format and fix compiling warning.
* [LoongArch64] round 1 amend for reviewing by @kunalspathak.
* [LoongArch64] merge fast-tail-call from main.
* [LoongArch64] temp commit for windows compiling error.
* [LoongArch64] amend format for reviewing.
* [LoongArch64] amend the coding for LA-ABI's flags.
* [LoongArch64] amend some missed CRs.
* [LoongArch64] amend some code for CR.
* [LoongArch64] amend some code for CR round2.
* [LoongArch64] amend the output format of `emitDisInsName`.
* [LoongArch64] remove the optimization for type-cast
which depends on LoongArch64.
* [LoongArch64] ament the code for CR.
* [LoongArch64] amend some code for CR.
* [LoongArch64] amend some code for CR round2.
* [LoongArch64] amend some code for CR round3.
* [LoongArch64] amend some code for CR round4.
* [LoongArch64] amend some code for CR round5.
* [LoongArch64] amend some code after refacting.
* [LoongArch64] amend the compare and fix the error
when running hello-world within debug-mode.
Co-authored-by: qiaopengcheng <qiaopengcheng-hf@loongson.cn>
Drew Scoggins [Fri, 8 Apr 2022 16:51:23 +0000 (09:51 -0700)]
Add NoWASM to category filter (#67721)
Bruce Forstall [Fri, 8 Apr 2022 16:35:25 +0000 (09:35 -0700)]
Add JitDump output for calls to recordRelocation (#67639)
E.g.,
```
recordRelocation:
000001ECBD3AE28C (rw:
000001ECBD3AE28C) =>
000001ECBD38BC04, type 16 (IMAGE_REL_BASED_DISP32), delta 0
```
Krzysztof Wicher [Fri, 8 Apr 2022 15:35:18 +0000 (17:35 +0200)]
Further JsonPropertyInfo caching cleanup (#67754)
Stephen Toub [Fri, 8 Apr 2022 15:09:35 +0000 (11:09 -0400)]
Allow getting code coverage for the unit test project itself (#67736)
This is helpful for our test projects that include source directly into them. You can now do `dotnet build /t:test /p:Coverage=true /p:CoverageIncludeTests=true` to include the test project in the analysis.