platform/upstream/dotnet/runtime.git
2 years agoDisable GitHub_35821 on arm64 (#67472)
Bruce Forstall [Sat, 2 Apr 2022 03:40:16 +0000 (20:40 -0700)]
Disable GitHub_35821 on arm64 (#67472)

Tracking: https://github.com/dotnet/runtime/issues/66921

2 years agoDisable readytorun/coreroot_determinism test on GCStress due to test failure (#67468)
Bruce Forstall [Sat, 2 Apr 2022 03:39:42 +0000 (20:39 -0700)]
Disable readytorun/coreroot_determinism test on GCStress due to test failure (#67468)

Tracking: https://github.com/dotnet/runtime/issues/58699

2 years agoDisable ArrBoundBinaryOp under GCStress due to failure (#67469)
Bruce Forstall [Sat, 2 Apr 2022 03:39:24 +0000 (20:39 -0700)]
Disable ArrBoundBinaryOp under GCStress due to failure (#67469)

Tracking: https://github.com/dotnet/runtime/issues/66279

2 years agoUpdate System.Runtime.InteropServices.cs (#67466)
Aaron Robinson [Sat, 2 Apr 2022 02:49:01 +0000 (19:49 -0700)]
Update System.Runtime.InteropServices.cs (#67466)

Remove `ObsoleteAttribute` from COM interop values.

2 years agoDetect systemd when inside a container. (#67288)
judilsteve [Sat, 2 Apr 2022 01:29:06 +0000 (09:29 +0800)]
Detect systemd when inside a container. (#67288)

* Detect systemd when inside a container.

Modify IsSystemdService to function correctly
for containerised services.

Fix #67203

Adds conditional compilation to fall back
to Process.GetCurrentProcess().Id when
Environment.ProcessId is not available.

* Apply suggestions from code review

The minimum supported .NETCoreApp version in the repository is 6.0, so just using NETCOREAPP.

Co-authored-by: james <judilsteve>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
2 years agoMore XARCH `PUTARG_STK` CQ improvements (#67400)
SingleAccretion [Sat, 2 Apr 2022 00:20:52 +0000 (03:20 +0300)]
More XARCH `PUTARG_STK` CQ improvements (#67400)

* Dissolve structs into primitives for PUTARG_STK

The primary benefit of this change is "free" support for
complex addressing modes, which is always desirable when
we are loading a primitive (as opposed to the large struct
case, where we would not want to use the 3-operand LEA
in a loop, but instead cache the address in a register).

The additional (future) benefit is that we will no longer
need to mark the source local as DNER, once LCL_VAR sources
for struct PUTARG_STKs are supported.

* Contain PUTARG_STK sources for "push [mem]"

2 years agoIgnore execution scripts under merged wrappers (#67452)
Tomáš Rylek [Fri, 1 Apr 2022 23:26:52 +0000 (01:26 +0200)]
Ignore execution scripts under merged wrappers (#67452)

Today logic for emitting the legacy XUnit wrappers is based on
scanning the test output tree for execution scripts (sh / cmd);
we however need to emit execution scripts even in the presence of
merged wrappers in case of tests requiring project isolation.
This change filters these tests out so that they don't end up
creating a spurious legacy XUnit test wrapper.

Thanks

Tomas

2 years agoUse the stapled OCSP response from TLS on Linux, when available
Jeremy Barton [Fri, 1 Apr 2022 23:13:19 +0000 (16:13 -0700)]
Use the stapled OCSP response from TLS on Linux, when available

Based on (non-exhaustive) testing, chain builds from a Let's Encrypt issued certificate have
the following characteristics:

* Live OCSP request required (uncached/unstapled): 577ms
* OCSP response retrieved from cache (unstapled): 183ms
* OCSP response utilized from TLS stapling (bypasses cache): 182ms

In both cached and stapled the revocation portion was about 39ms.
(The revocation mode was ExcludeRoot, the CRL pertaining to the intermediate was cached for all three measurements.)

If the OCSP response was stapled (and the math worked out OK on it) then we completely ignore the OCSP cache.
While it could potentially be useful to update the cache if the stapled response was newer, the extra I/O of doing
the "newer" test didn't feel justified at this time.

2 years agoSync shared code from aspnetcore (#67456)
github-actions[bot] [Fri, 1 Apr 2022 22:26:17 +0000 (15:26 -0700)]
Sync shared code from aspnetcore (#67456)

2 years agoImprove support for multiple enveloped signatures in the same SignedXml document
Anders Abel [Fri, 1 Apr 2022 22:11:08 +0000 (00:11 +0200)]
Improve support for multiple enveloped signatures in the same SignedXml document

This should improve the experience when working with complex SAML tokens.

2 years ago[QUIC] Update to msquic 2 (#67383)
Marie Píchová [Fri, 1 Apr 2022 21:26:31 +0000 (23:26 +0200)]
[QUIC] Update to msquic 2 (#67383)

* Update to msquic 2, test and code fixes

* feedback

* Fixed more HTTP/3 bugs

* updated fedora image to contain the newest msquic

* Better test debugging, fixed some timeouts

* feedback

* Return some msquic calls into a lock

2 years agoRely on PGO for isinst/castclass (#65922)
Egor Bogatov [Fri, 1 Apr 2022 21:25:56 +0000 (00:25 +0300)]
Rely on PGO for isinst/castclass (#65922)

2 years ago[Group 5] Enable nullable annotations for `Microsoft.Extensions.Configuration.Xml...
Maksym Koshovyi [Fri, 1 Apr 2022 20:40:47 +0000 (23:40 +0300)]
[Group 5] Enable nullable annotations for `Microsoft.Extensions.Configuration.Xml` (#67178)

2 years ago[Group 6] Enable nullable annotations for Microsoft.Extensions.Logging.Configuration...
Maksym Koshovyi [Fri, 1 Apr 2022 19:51:27 +0000 (22:51 +0300)]
[Group 6] Enable nullable annotations for Microsoft.Extensions.Logging.Configuration (#67174)

2 years agoUse a simpler representation for array addresses after morph (#64581)
SingleAccretion [Fri, 1 Apr 2022 19:35:27 +0000 (22:35 +0300)]
Use a simpler representation for array addresses after morph (#64581)

* Do not copy flags in ADDR/COMMA opt

We only need to update the side effects, and
gtUpdateNodeSideEffects already takes care of that.

Will avoid copying GTF_NO_CSE unnecessarily.

No diffs.

* Add GT_ARR_ADDR

* Generate ARR_ADDR in morph

* gtSetEvalOrder tuning

* Delete the ArrayInfo map

* Delete GTF_IND_ARR_INDEX

* Make ARR_ADDR non-null

This preserves the non-faultness annotation for the parent
indir when ADDR(IND(ARR_ADDR)) -> ARR_ADDR folding happends.

* Simplify the array address parsing

We don't need the field sequence or the complex parsing.

A few diffs because previos code didn't handle COMMAs.
(The new code doesn't either, but they are skipped
automatically by the optComputeLoopSideEffectsOfBlock).

* Clean ParseArrayAddress up

Move it to GenTreeArrAddr, stop using ArrayInfo.

* More ParseArrayAddress cleanup

FldSeq no loger expected or needed. We will be
attaching it to ARR_ADDR directly in the future.

* Delete index labeling

And associated code. No longer needed, and we
will use a different mechanism for ARR_ADDR.

No diffs.

* Delete the last pseudo-field

No longer needed...

* Delete ArrayInfo

* Fix formatting

2 years ago[mono] Fix static virtual calls to generic methods from gshared code (#66739)
Vlad Brezae [Fri, 1 Apr 2022 19:27:49 +0000 (22:27 +0300)]
[mono] Fix static virtual calls to generic methods from gshared code (#66739)

* [mono] Fix static virtual calls to generic methods from gshared code

When the resolved method from the vtable is generic, we need to inflate it.

For example, in the gshared method we are calling on `Interface.InterfaceMethod<int> ()` (the type argument can either be fixed or determined based on the gshared method's context), and this method is resolved to generic method `Class.InterfaceMethod<T> ()`. We then need to inflate the method and resolve `T` to `int`.

* Enable tests

* [mono][interp] Fix calls to static virtual methods via delegates

* [mono][aot] Fix constrained + ldftn

* [mono][gsharing] Fix constrained + ldftn from gshared method

We can'd determine at compile time the static method if the constrained_class is a generic parameteri. We defer the computation of the method at runtime, in a similar fashion with calls.

* Disable test suite on android

It hits an issue in the android test runner

2 years agoBump Intellisense to Preview2 (#67396)
Carlos Sanchez [Fri, 1 Apr 2022 19:05:42 +0000 (12:05 -0700)]
Bump Intellisense to Preview2 (#67396)

Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
2 years agoRevert "[mono][workload] Add workloads for win-arm64 using emulation again" (#67450)
Larry Ewing [Fri, 1 Apr 2022 18:51:56 +0000 (13:51 -0500)]
Revert "[mono][workload] Add workloads for win-arm64 using emulation again" (#67450)

This reverts commit eaa1f05dae0075a4709264b637f36e0f557cc2bb.

2 years ago[Group 4] Enable nullable annotations for `Microsoft.Extensions.Logging.EventLog...
Maksym Koshovyi [Fri, 1 Apr 2022 18:43:38 +0000 (21:43 +0300)]
[Group 4] Enable nullable annotations for `Microsoft.Extensions.Logging.EventLog` (#67200)

2 years agoPublish crossgen as AOT if supported by the target platform (#65948)
Andy Gocke [Fri, 1 Apr 2022 17:22:28 +0000 (10:22 -0700)]
Publish crossgen as AOT if supported by the target platform (#65948)

Publishes crossgen as an AOT binary on Windows+Linux x64+ARM64, otherwise publishes as an R2R single file.

Closes #60016

2 years agoMake the cross-component build just another invocation of the build-runtime script...
Jeremy Koritzinsky [Fri, 1 Apr 2022 17:08:23 +0000 (10:08 -0700)]
Make the cross-component build just another invocation of the build-runtime script (#67108)

2 years agoFix IsPrefix and IsSuffix with ignored characters (#67370)
Tarek Mahmoud Sayed [Fri, 1 Apr 2022 16:26:33 +0000 (09:26 -0700)]
Fix IsPrefix and IsSuffix with ignored characters (#67370)

2 years agoUpdate dependencies from https://github.com/dotnet/roslyn-analyzers build 20220330...
dotnet-maestro[bot] [Fri, 1 Apr 2022 16:05:58 +0000 (12:05 -0400)]
Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20220330.6 (#67382)

Microsoft.CodeAnalysis.NetAnalyzers
 From Version 7.0.0-preview1.22174.1 -> To Version 7.0.0-preview1.22180.6

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years ago[iOS] Enable some previously skipped tests (#65652)
Steve Pfister [Fri, 1 Apr 2022 14:35:22 +0000 (10:35 -0400)]
[iOS] Enable some previously skipped tests (#65652)

Enabling because the underlying issues appear to have been fixed.

https://github.com/dotnet/runtime/issues/56085
https://github.com/dotnet/runtime/issues/52460

2 years agoclean up JsonTypeInfo constructor (#67430)
Krzysztof Wicher [Fri, 1 Apr 2022 13:35:48 +0000 (15:35 +0200)]
clean up JsonTypeInfo constructor (#67430)

2 years agoRefactor JsonSerializer metadata reading infrastructure (#67183)
Eirik Tsarpalis [Fri, 1 Apr 2022 09:47:46 +0000 (10:47 +0100)]
Refactor JsonSerializer metadata reading infrastructure (#67183)

* Refactor metadata reading infrastructure.

* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Converters/Object/ObjectConverter.cs

2 years agoOptimize `ValueNumStore::GetVNFunc` (#67395)
Jakob Botsch Nielsen [Fri, 1 Apr 2022 06:56:03 +0000 (08:56 +0200)]
Optimize `ValueNumStore::GetVNFunc` (#67395)

`ValueNumStore::GetVNFunc` is very hot, in fact so hot that it shows up
right at the top in a profile of SPMI over libraries.pmi, next to
`fgMorphSmpOp`. Instead of copying all args just return a pointer to the
arguments which allows all the cases to be unified and makes the
function small enough for MSVC to inline it.

Most of the work here is to make sure we do not end up with undefined
behavior. I also removed some of the duplication by using a templated
struct for func apps instead of the old VNDefFuncNArg.

Windows x64 SPMI over libraries.pmi:
PIN before: 329991512865
PIN after: 326098430289 (-1.19%)

2 years agoUse ROS<byte> instead of byte[] where it makes sense on S.S.C.Cose (#66741)
David Cantú [Fri, 1 Apr 2022 06:00:28 +0000 (23:00 -0700)]
Use ROS<byte> instead of byte[] where it makes sense on S.S.C.Cose (#66741)

* Use ROS<byte> instead of byte[] on S.S.C.Cose

* Add TrySign and improve Sign implementation to use less byte[]

* Add TrySign tests

* Address using scope feedback

* Address src feedback

* Refactor tests to avoid duplicated ones

* Remove invalid asserts in Crypto code

* Fix 'new()' without the type on the left-hand side

* Fix ThreadStatic issues in tests

* * Don't use ArrayPool in SignCore
* Add comment describing reusability of encoded protected headers
* Cache toBeSigned

* Don't cache toBeSigned for detached content

* Address nits in tests

2 years agoBring back direct dependencies on System.Runtime.CompilerServices.Unsafe for other...
Viktor Hofer [Fri, 1 Apr 2022 05:49:32 +0000 (07:49 +0200)]
Bring back direct dependencies on System.Runtime.CompilerServices.Unsafe for other tfms than net7.0 (#67385)

* Add dependency on Unsafe package

With the removal of the Unsafe package, a few projects regressed which
previously had a direct dependency on the latest version of Unsafe
(6.0.0) by now depending on the transitive Unsafe dependency of i.e.
System.Memory which is a very old version (4.5.*).

Fixing those projects to declare the direct dependency again.

* Cleanup

2 years agoRe-baseline Pri-0 tests with NativeAOT (#67412)
Michal Strehovský [Fri, 1 Apr 2022 05:34:34 +0000 (14:34 +0900)]
Re-baseline Pri-0 tests with NativeAOT (#67412)

2 years agoDon't produce unnecessary default interface methods (#67409)
Michal Strehovský [Fri, 1 Apr 2022 05:33:57 +0000 (14:33 +0900)]
Don't produce unnecessary default interface methods (#67409)

Found this because it was asserting in one of the Pri-0 tests. We were trying to generate a special instantiating stub for an interface type that was not a dynamic interface castable implementation. I'm adding a regression test too because it has a visible outside behavior besides the assert.

2 years agoAdd RemoteExecutor check in TestWaitForExitValidation (#67397)
Steve Pfister [Thu, 31 Mar 2022 23:11:09 +0000 (19:11 -0400)]
Add RemoteExecutor check in TestWaitForExitValidation (#67397)

https://github.com/dotnet/runtime/pull/64860 added a TestWaitForExitValidation test that would fail when run on platforms that did not support RemoteExecutor.

This change adds a `ConditionalTheory` to make sure that doesn't happen.

2 years agoLoad R2R images on osx-arm64 according to Apple's guidelines (#67118)
Jonathan Giannuzzi [Thu, 31 Mar 2022 22:54:58 +0000 (00:54 +0200)]
Load R2R images on osx-arm64 according to Apple's guidelines (#67118)

* Load R2R images on osx-arm64 according to Apple's guidelines

* Address review comments

* use MAP_PRIVATE for the mapped file
* correct the condition

* Use PAL_JitWriteProtect once per relocation

* Flush instruction cache during relocation on Apple Silicon

* Fix typo in comment

* Use PAL_JitWriteProtect in the same spots where protection is toggled

This allows to keep the instruction cache flush logic identical between platforms.

* Revert the change for Intel to avoid any regression

* Always unmap the file to avoid leaks + log errors

2 years agoMakes GetChildKeys more efficient (#67186)
Maryam Ariyan [Thu, 31 Mar 2022 21:50:44 +0000 (17:50 -0400)]
Makes GetChildKeys more efficient (#67186)

2 years agoMark architecture-specific tests as requiring process isolation (#67394)
Tomáš Rylek [Thu, 31 Mar 2022 21:11:14 +0000 (23:11 +0200)]
Mark architecture-specific tests as requiring process isolation (#67394)

As discussed offline, according to the current merged wrapper
architecture, for architecture-variant tests all versions
are compiled and the "wrong" variants get skipped at runtime
using the ConditionalFact attribute. Sadly for some of the ILPROJ
tests JITting the "wrong" variant ends up crashing the JIT during
Crossgen2 compilation. We can follow up by figuring out whether
the crash is intentional but for now a simple way to work around
this problem (hitting just a small number of tests) is to mark
them as out-of-process tests so that the wrong variants get
filtered out early and R2R compilation is not triggered for them.

Thanks

Tomas

2 years agoFix missing side effect flags on HWI nodes (#67206)
SingleAccretion [Thu, 31 Mar 2022 20:57:44 +0000 (23:57 +0300)]
Fix missing side effect flags on HWI nodes (#67206)

* Set side-effect flags in constructor for HWIs

* Add test

* Experiment: NULL_CHECK LDOBJs

2 years agoAccount for global stores in hoisting properly (#67213)
SingleAccretion [Thu, 31 Mar 2022 20:39:31 +0000 (23:39 +0300)]
Account for global stores in hoisting properly (#67213)

* Take HWI stores into account in hoisting

* Also fix ordinary stores while we're at it

The contract for whether the LHS of a global ASG(IND, ...)
should be marked with GLOB_REF is not clearly specified.

* Add tests

2 years agoMemory containment for `FIELD_LIST` operands on x86 (#65803)
SingleAccretion [Thu, 31 Mar 2022 20:25:42 +0000 (23:25 +0300)]
Memory containment for `FIELD_LIST` operands on x86 (#65803)

* Remove "inst_RV_TT" usages from non-XARCH code

a) It is clearer and cheaper to directly use the emitter anyway.
b) "inst_RV_TT" will be made XARCH-only in an upcoming change.

* Refactor "inst_TT" and "inst_RV_TT"

a) Make them XARCH-only.
b) Rewrite them using "OperandDesc".

* Memory containment for FIELD_LIST operands on x86

Enable broader containment for FIELD_LIST operands on x86.

The primary benefits come from containing loads that long
decomposition has left (e. g. LCL_FLDs):

```diff
-       mov      ecx, dword ptr [ebp+08H]
-       mov      edx, dword ptr [ebp+0CH]
-       push     edx
-       push     ecx
+       push     dword ptr [ebp+0CH]
+       push     dword ptr [ebp+08H]
```

* emitIns_A: add function header

* Remove the "UNDONE: ..." printing

Insert an assert instead about what we expect and handle GCInfo-wise.

2 years agoFix Wrong exception for Open*Stream after connection is closed (#67342)
Radek Zikmund [Thu, 31 Mar 2022 19:26:58 +0000 (21:26 +0200)]
Fix Wrong exception for Open*Stream after connection is closed (#67342)

* Fix Wrong exception for Open*Stream after connection is closed

* Don't handle InvalidState

* Update src/libraries/System.Net.Quic/src/System/Net/Quic/Implementations/MsQuic/MsQuicStream.cs

Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com>
Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com>
2 years agoPort Access violation occurring in System.DirectoryServices.ActiveDirectory.ForestTru...
Ravi Kumar [Thu, 31 Mar 2022 17:34:47 +0000 (10:34 -0700)]
Port Access violation occurring in System.DirectoryServices.ActiveDirectory.ForestTrustRelationshipInformation fix from .netfx to .net-core (#66726)

* foresttrust port from dotnetfx

* fixed nullable reference error

2 years agoFix ordering in default interface method lookup (#67379)
Michal Strehovský [Thu, 31 Mar 2022 13:45:25 +0000 (22:45 +0900)]
Fix ordering in default interface method lookup (#67379)

* Fix ordering in default interface method lookup

The previous implementation would find a default implementation in the current type before looking for non-default implementation in the base. Default implementations should be looked at last.

In fact the default implementation in the current type is unreachable if there's a non-default implementation in the base type - the compiler shouldn't even have bothered to emit it into the dispatch map. That can be a separate fix - this fix is still logically correct and necessary to get variant dispatch corner cases correctly.

* Regression test

2 years ago[mono][llvm] Fix an assert with --aot=llvmonly and -O=gsharedvt. (#67357)
Zoltan Varga [Thu, 31 Mar 2022 09:26:55 +0000 (11:26 +0200)]
[mono][llvm] Fix an assert with --aot=llvmonly and -O=gsharedvt. (#67357)

Deopt is currently disabled for gsharedvt methods, so disable AOTing
gsharedvt methods with clauses to avoid hitting an assert in
emit_llvmonly_landing_pad ().

2 years agoMinor refactoring in MarshallingAttributeInfoParser (#67325)
Elinor Fung [Thu, 31 Mar 2022 01:23:38 +0000 (18:23 -0700)]
Minor refactoring in MarshallingAttributeInfoParser (#67325)

2 years agoAlways commit X.509 chain before Finish
Kevin Jones [Thu, 31 Mar 2022 01:22:11 +0000 (21:22 -0400)]
Always commit X.509 chain before Finish

For OpenSSL 3, we need to always commit the chain to clear out the untrusted intermediates. Otherwise, we started getting details about the partial chain that we don't map to codes.

This fixes the behavior so that an AKI/SKI mismatch reports as a partial chain.

2 years agoFix a PAL filemapping test for macOS arm64 (#67352)
Jan Vorlicek [Thu, 31 Mar 2022 00:33:17 +0000 (02:33 +0200)]
Fix a PAL filemapping test for macOS arm64 (#67352)

This test was disabled for macOS arm64, adding MEM_RESERVE_EXECUTABLE fixes the issue.

2 years agoDisable test45929 for win-arm64 (#67363)
Bruce Forstall [Thu, 31 Mar 2022 00:28:28 +0000 (17:28 -0700)]
Disable test45929 for win-arm64 (#67363)

Tracking: https://github.com/dotnet/runtime/issues/60152

2 years agoEnable all StructABI tests in pri-0 (#67362)
Bruce Forstall [Thu, 31 Mar 2022 00:27:06 +0000 (17:27 -0700)]
Enable all StructABI tests in pri-0 (#67362)

2 years agoRevert "Do not generate `TYP_STRUCT` `LCL_FLD` nodes (#66251)" (#67360)
SingleAccretion [Wed, 30 Mar 2022 23:13:07 +0000 (02:13 +0300)]
Revert "Do not generate `TYP_STRUCT` `LCL_FLD` nodes (#66251)" (#67360)

This reverts commit 2453f16807b85b279efc26d17d6f20de87801c09.

2 years agoTweak OSR debugging document (#67366)
Bruce Forstall [Wed, 30 Mar 2022 22:36:15 +0000 (15:36 -0700)]
Tweak OSR debugging document (#67366)

Grammar, consistency fixes

2 years agoShow the actual value of the X09VerifyStatusCode on error
Omair Majid [Wed, 30 Mar 2022 21:42:41 +0000 (17:42 -0400)]
Show the actual value of the X09VerifyStatusCode on error

Right now, the Debug.Fail just shows the literal text `Unrecognized
X509VerifyStatusCode:Interop+Crypto+X509VerifyStatusCode`, which isn't
very helpful.

2 years agoperf: wasm: Collect helix logs, and artifacts when the build fails (#67248)
Ankit Jain [Wed, 30 Mar 2022 21:16:00 +0000 (17:16 -0400)]
perf: wasm: Collect helix logs, and artifacts when the build fails (#67248)

* perf: wasm: Collect helix logs, and artifacts when the build fails

This will be helpful in debugging build issues, and random crashes that
we have been seeing on helix.

* Fix misplaced double quote

* perf: Use '--run-isolated' with wasm projects

2 years agoFix SuperPMI implementation of `appendClassName` (#67280)
Bruce Forstall [Wed, 30 Mar 2022 20:47:49 +0000 (13:47 -0700)]
Fix SuperPMI implementation of `appendClassName` (#67280)

* Fix SuperPMI implementation of `appendClassName`

Change #67135 added more and different calls to `appendClassName`, exposing
that it was not correctly implemented in SuperPMI. Fix this, especially, to
handle the case of passing a zero length to determine the correct size output buffer.

Also, add `eeTryGetClassSize` to wrap `getClassSize` and use it in two cases in the
importer that only use the output in JitDump, but was preventing a clean JitDump
replay of some collections.

Change the JIT-EE GUID because the SuperPMI collection data structures were changed.

* Update semantics of `appendClassName` API

Document the semantics more clearly.

Update EE and crossgen2 to conform to the same semantics.

Notable changes:
1. ppBuf argument is allowed to be nullptr, if `*pnBufLen` is zero.
2. If `*pnBufLen` is greater than zero, `*ppBuf` and `*pnBufLen` are
advanced by the number of characters actually written rather than the
number in the full class name string. This will differ in the case of
truncation due to a small output buffer. The advance does not include
the null terminator. Thus, `*ppBuf` will point at the null terminator
on return, and `*pnBufLen` will be at least `1`.
3. The EE will copy as much as possible (i.e., will truncate if necessary),
rather than crashing on a too-small output buffer.
4. Crossgen2 now advances `*ppBuf` and `*pnBufLen` as noted above.
5. SuperPMI implements these new semantics.

* Fix non-Windows build

Set `JIT_BUILD` when building SuperPMI. This disables contracts and some PAL debugging,
including the debugreturn.h debugging that was causing a build break.

Also, adjust a couple loops based on code review feedback.

2 years agoEnable QJFL and OSR by default for x64 and arm64 (#65675)
Andy Ayers [Wed, 30 Mar 2022 20:03:41 +0000 (13:03 -0700)]
Enable QJFL and OSR by default for x64 and arm64 (#65675)

Change these default values when the jit targets x64 or arm64:

* COMPlus_TC_QuickJitForLoops=1
* COMPlus_TC_OnStackReplacement=1

The upshot is that on x64/arm64 more methods will be jitted at Tier0,
and we will rely on OSR to get out of long-running Tier0 methods.

Other architectures continue to use the old behavior for now, as
OSR is not yet supported for x86 or arm.

2 years agoDisable coredumps for fuzzers (#67340)
Jakob Botsch Nielsen [Wed, 30 Mar 2022 19:54:29 +0000 (21:54 +0200)]
Disable coredumps for fuzzers (#67340)

2 years agoFix Referencing Unsafe Package in System.Diagnostics.DiagnosticSource (#67322)
Tarek Mahmoud Sayed [Wed, 30 Mar 2022 19:46:47 +0000 (12:46 -0700)]
Fix Referencing Unsafe Package in System.Diagnostics.DiagnosticSource (#67322)

2 years agoObsolete non-specific key blob support on ECDiffieHellmanPublicKey
Kevin Jones [Wed, 30 Mar 2022 19:39:24 +0000 (15:39 -0400)]
Obsolete non-specific key blob support on ECDiffieHellmanPublicKey

2 years agoFix failing CI after merging 63730 (#67348)
Ilona Tomkowicz [Wed, 30 Mar 2022 18:37:35 +0000 (20:37 +0200)]
Fix failing CI after merging 63730 (#67348)

Add sorting by access level in ValueType + check if index exists before accessing element.

2 years agoAdd missing SUCCEEDED() within conditional (#67321)
Levi Broderick [Wed, 30 Mar 2022 16:49:57 +0000 (09:49 -0700)]
Add missing SUCCEEDED() within conditional (#67321)

Addresses CodeQL rule cpp/hresult-boolean-conversion

2 years ago[main] Update dependencies from dotnet/arcade dotnet/xharness dotnet/runtime-assets...
dotnet-maestro[bot] [Wed, 30 Mar 2022 15:40:17 +0000 (17:40 +0200)]
[main] Update dependencies from dotnet/arcade dotnet/xharness dotnet/runtime-assets (#67328)

* Update dependencies from https://github.com/dotnet/xharness build 20220330.1

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.22178.1 -> To Version 1.0.0-prerelease.22180.1

* Update dependencies from https://github.com/dotnet/arcade build 20220329.1

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.22171.2 -> To Version 2.5.1-beta.22179.1

* Update dependencies from https://github.com/dotnet/runtime-assets build 20220329.2

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.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.22177.1 -> To Version 7.0.0-beta.22179.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoFix failing debug assertion in JsonTypeInfo initialization (#67334)
Eirik Tsarpalis [Wed, 30 Mar 2022 15:10:07 +0000 (16:10 +0100)]
Fix failing debug assertion in JsonTypeInfo initialization (#67334)

2 years agoLocalized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 168995...
dotnet bot [Wed, 30 Mar 2022 12:01:24 +0000 (05:01 -0700)]
Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1689955 (#67177)

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1683074

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1683308

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1683442

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1683560

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1683893

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1683991

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1684448

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1684571

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1684919

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1685160

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1685380

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1685824

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1686332

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1686932

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1687139

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1687242

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1687551

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1687851

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1688205

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1688723

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1689101

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1689361

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1689678

* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 1689955

* Commit updated .xlf files

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2 years agoImprove exception thrown when constructing SslCertificateTrust (#66763)
Radek Zikmund [Wed, 30 Mar 2022 11:01:04 +0000 (13:01 +0200)]
Improve exception thrown when constructing SslCertificateTrust (#66763)

* Improve exception thrown when constructing SslCertificateTrust

* Remove UnsupportedOSPlatform annotation

* fixup! Remove UnsupportedOSPlatform annotation

* Update ApiCompatBaseline

2 years agoEnable recently added analyzers (and fix some violations) (#67292)
Stephen Toub [Wed, 30 Mar 2022 10:55:28 +0000 (06:55 -0400)]
Enable recently added analyzers (and fix some violations) (#67292)

2 years agoUse shared SocketAddress code in QUIC (#66794)
Radek Zikmund [Wed, 30 Mar 2022 10:40:32 +0000 (12:40 +0200)]
Use shared SocketAddress code in QUIC (#66794)

* Use shared SocketAddress code in QUIC

* Code review feedback

* Disable broken tests

* Rename file

2 years agoRun fuzzers on macOS arm64 (#67297)
Jakob Botsch Nielsen [Wed, 30 Mar 2022 07:10:16 +0000 (09:10 +0200)]
Run fuzzers on macOS arm64 (#67297)

2 years agoDo not generate `TYP_STRUCT` `LCL_FLD` nodes (#66251)
SingleAccretion [Wed, 30 Mar 2022 04:48:39 +0000 (07:48 +0300)]
Do not generate `TYP_STRUCT` `LCL_FLD` nodes (#66251)

* Do not create TYP_STRUCT LCL_FLD

* Fix regressions

This is also a correctness fix. Missing adding zero-offset field sequences is fatal.

* More fixes for regressions

Types of location nodes do not matter, the underlying locations do.

* Add a comment

2 years ago[wasm][debugger] Debuger tests refactor 63667 (#63730)
Ilona Tomkowicz [Wed, 30 Mar 2022 01:37:00 +0000 (03:37 +0200)]
[wasm][debugger] Debuger tests refactor 63667 (#63730)

* Removed a dedicated StructGetter class.

* Used DerivedClass in protection level tests + fixed InvokeMethod + reverted StructureGetters removal.

* Exchange ElementType in DotnetObjectId for bool.

* Applied @radical's suggestion to log whole call stack instead of message.

* Applied @lewing's suggestions.

* Merge errors fixed.

2 years agoQuote file path in rc file (#67307)
Jeremy Koritzinsky [Wed, 30 Mar 2022 01:01:49 +0000 (18:01 -0700)]
Quote file path in rc file (#67307)

2 years ago[main] Update dependencies from dotnet/linker (#67143)
dotnet-maestro[bot] [Wed, 30 Mar 2022 00:44:44 +0000 (19:44 -0500)]
[main] Update dependencies from dotnet/linker (#67143)

* Update dependencies from https://github.com/dotnet/linker build 20220324.1

Microsoft.NET.ILLink.Tasks
 From Version 7.0.100-1.22173.2 -> To Version 7.0.100-1.22174.1

* Update dependencies from https://github.com/dotnet/linker build 20220328.1

Microsoft.NET.ILLink.Tasks
 From Version 7.0.100-1.22173.2 -> To Version 7.0.100-1.22178.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoSwitch crossgen2 to use SHA256 for PDB hash (#67305)
Jan Kotas [Wed, 30 Mar 2022 00:02:33 +0000 (17:02 -0700)]
Switch crossgen2 to use SHA256 for PDB hash (#67305)

2 years agoskip adding leaf certificate to ChainPolicy.ExtraStore (#67279)
Tomas Weinfurt [Tue, 29 Mar 2022 22:24:39 +0000 (15:24 -0700)]
skip adding leaf certificate to  ChainPolicy.ExtraStore (#67279)

2 years agoFix a couple of issues with StackTraceSymbols.TryGetReader (#67300)
Stephen Toub [Tue, 29 Mar 2022 21:39:36 +0000 (17:39 -0400)]
Fix a couple of issues with StackTraceSymbols.TryGetReader (#67300)

The implementation has a comment about how ConditionalWeakTable prevents multiple threads from racing to create readers, but CWT doesn't invole the delegate under its lock.  So multiple threads can actually race to create a reader, and if one loses, it won't Dispose the reader it created.  On top of this, every call to TryGetReader is allocating a closure, even if one of the fast paths is hit, because the cache callback captures all the parameters.

2 years ago[wasm] Unset PYTHONHOME (#67282)
Radek Doulik [Tue, 29 Mar 2022 20:48:39 +0000 (22:48 +0200)]
[wasm] Unset PYTHONHOME (#67282)

Unset PYTHONHOME environment variable. We don't use emsdk.bat, which
unsets PYTHONHOME and PYTHONPATH variables to not clash with emscripten
python. So we should make sure the PYTHONHOME and PYTHONPATH are not
pointing to other python locations.

Together with previous PYTHONPATH
[change](https://github.com/dotnet/runtime/pull/63894/commits/d9b8aefcbf0efc4692c9ca46b323efcf86bda961)
it should fix https://github.com/dotnet/runtime/issues/65859

2 years agoDo not call into MsQuic inside a lock (#67037)
Radek Zikmund [Tue, 29 Mar 2022 20:11:09 +0000 (22:11 +0200)]
Do not call into MsQuic inside a lock (#67037)

Fixes #59345

2 years agoJIT: Use small register types for some enregisterable locals (#67274)
Andy Ayers [Tue, 29 Mar 2022 20:10:33 +0000 (13:10 -0700)]
JIT: Use small register types for some enregisterable locals (#67274)

Fix two cases where small enregisterable locals can't be saved to the stack
using actual (widened) types:
* small memory args for OSX ARM64
* promoted fields of OSR locals

Closes #67152.
Closes #67188.

2 years ago[wasm] Dead code removal, minor fixes (#66418)
Pavel Savara [Tue, 29 Mar 2022 19:29:57 +0000 (21:29 +0200)]
[wasm] Dead code removal, minor fixes (#66418)

* - treat jsHandle and gcHandle as IntPtr on C# icall definition
- removed IJSObject, HostObject, CoreObject empty private classes
- removed Float32Array, Float64Array, Int8Array, Int16Array, Int32Array, Uint16Array, Uint32Array, Uint8ClampedArray, SharedArrayBuffer, Map unused private classes and their tests
- moved Length property to Array and TypedArray types
- removed unused eventListener helpers and it's tests
- added Module.stackSave, Module.stackRestore, Module.stackAlloc imports
- fixed promise reject signature
- fixed cwrap of mono_wasm_invoke_method and mono_wasm_try_unbox_primitive_and_get_type
- fixed string interning on StringDecoder path
- improved assert helper
* feedeback from @kg

2 years ago[main] Update dependencies from dotnet/xharness dotnet/runtime-assets dotnet/hotreloa...
dotnet-maestro[bot] [Tue, 29 Mar 2022 17:31:54 +0000 (12:31 -0500)]
[main] Update dependencies from dotnet/xharness dotnet/runtime-assets dotnet/hotreload-utils dotnet/llvm-project (#67289)

* Update dependencies from https://github.com/dotnet/xharness build 20220328.1

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.22173.1 -> To Version 1.0.0-prerelease.22178.1

* Update dependencies from https://github.com/dotnet/runtime-assets build 20220327.1

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.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.22171.1 -> To Version 7.0.0-beta.22177.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20220328.2

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.2-alpha.0.22171.1 -> To Version 1.0.2-alpha.0.22178.2

* Update dependencies from https://github.com/dotnet/llvm-project build 20220328.2

runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , 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.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
 From Version 11.1.0-alpha.1.22171.2 -> To Version 11.1.0-alpha.1.22178.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoFix a case of infinite retries while allocating at LOH boundary by constraining retri...
Mukund Raghav Sharma [Tue, 29 Mar 2022 17:29:09 +0000 (10:29 -0700)]
Fix a case of infinite retries while allocating at LOH boundary by constraining retries (#67128)

* Fix a case of infinite retries while allocating at LOH boundary that is now an OOM

* Addressed feedback.

* Updated name of allocation variable and parenthesized the retry check

2 years agoIntroduce abstract PartitionedRateLimiter (#67241)
Brennan [Tue, 29 Mar 2022 17:08:27 +0000 (10:08 -0700)]
Introduce abstract PartitionedRateLimiter (#67241)

2 years agoIncrease timeout on regex count test (#67256)
Dan Moseley [Tue, 29 Mar 2022 16:27:14 +0000 (10:27 -0600)]
Increase timeout on regex count test (#67256)

* Increase timeout on regex count test

* make it 30

2 years agoImprove `QuicImplementationProviders.MsQuic.IsSupported` for TLS1.3 On Windows (...
Hugo Woodiwiss [Tue, 29 Mar 2022 16:19:44 +0000 (17:19 +0100)]
Improve `QuicImplementationProviders.MsQuic.IsSupported` for TLS1.3 On Windows (#66019)

* Scaffold TLS Support Helper

Scaffolds an interoperable TLS support helper.
Needs to be multi-file so that the Microsoft.Win32 dependency can be safely used in `MsQuicTlsSupportHelper.Windows.cs`

* Invert `IsTls1_3Enabled` to `IsTls1_3Disabled`

Disabling TLS1.3 is an explicit action in supported versions of windows, and we should check for the explicit configuration

* Add check for whether TLS1.3 Is DDisabled

* Add reference to Microsoft.Win32.Registry for windows builds

Need access to Registry API to check whether TLS 1.3 has been disabled

* Remove Platform agnostic MsQuicTlsSupportHelper

* Implement IsTls1_3Disabled

- Checks if key exists
- If not returns false
- Gets Value from Key "Enabled"
- If Enabled == 0 returns true
- Any other case returns false

* Revert some spacing and line changes in csproj

* Remove added spaces from .csproj

* Move to conditional compilation for TLS Check

* Move to TARGET_WINDOWS defined constant
Update to check correct registry keys/values

* Simplify IsTls13Disabled implementation

* Remove IsTls13Disabled from Windows version check

* Add TLS13MayBeDisabled flag

* Add `QuicTlsVersionException`
Throw `QuicTlsVersionException` on specific failures of ConfigurationLoadCredential

Throw this exception if status is 0x80090331 (Algorithm Mismatch), and the registry indicated that Tls13 could be disabled

* Fix IDE resource file whitespace changes

* Update net_quic_tls_version_notsupported message

* Change error code comparison to use Interop.SECURITY_STATUS
Make AlgorithmMismatch check TARGET_WINDOWS only

Interop.SECURITY_STATUS contains status values from SChannel, which is the source of this error in the first place.

* Remove QuicTlsVersionException and update usages

* Remove unused using

2 years agoPerform reachability analysis before codegen (#66967)
Kunal Pathak [Tue, 29 Mar 2022 16:19:28 +0000 (09:19 -0700)]
Perform reachability analysis before codegen  (#66967)

* Add size

* Remove unreachable blocks

* Ensure epoch

* Add a condition in asserT

* Add test case

* Another shorter implementation

* Add DeadBlock elimination

* fgDomsComputed adjusted

* Review comment

2 years agoAvoid allocating a delegate in OptionsMonitor.Get() when possible. (#66688)
madelson [Tue, 29 Mar 2022 15:32:55 +0000 (11:32 -0400)]
Avoid allocating a delegate in OptionsMonitor.Get() when possible. (#66688)

* Avoid allocating a delegate in OptionsMonitor.Get() when possible.

Fix #61086

* Address feedback from https://github.com/dotnet/runtime/pull/66688#discussion_r827519222

* Use locals to avoid unnecessary closure allocations.

* Remove another closure allocation in OptionsMonitor and add test for #61086.

2 years agoOnly use first field maps for shared statics (#66558)
SingleAccretion [Tue, 29 Mar 2022 15:04:55 +0000 (18:04 +0300)]
Only use first field maps for shared statics (#66558)

* Use a handle for field sequences in VN

The field sequences are already canonical in the store,
so there is no need to have the somewhat involved code
in VN which essentially re-canonicalized them, we can
just use the pointer value (as a handle) to encode them.

Makes the future change of encoding some information in
the handle a little easier.

* Encode the statics

* Use shared-ness info in IsFieldAddr

2 years ago[mono][workload] Add workloads for win-arm64 using emulation again
Larry Ewing [Tue, 29 Mar 2022 15:00:32 +0000 (10:00 -0500)]
[mono][workload] Add workloads for win-arm64 using emulation again

This reverts commit 67f26ca4fbc27d215c9ba766c7d93966b69b5a99 and adds back the emulated win-arm64 workloads

2 years agofeat: Add support for emscripten module exports (#66868)
Jérôme Laban [Tue, 29 Mar 2022 14:57:42 +0000 (10:57 -0400)]
feat: Add support for emscripten module exports (#66868)

2 years ago[wasm] provisioning: run sanitize.py with python3 (#67245)
Aleksey Kliger (λgeek) [Tue, 29 Mar 2022 14:52:17 +0000 (10:52 -0400)]
[wasm] provisioning: run sanitize.py with python3 (#67245)

2 years agoFixed dump path in HTTP stress test (#67230)
Marie Píchová [Tue, 29 Mar 2022 14:51:18 +0000 (16:51 +0200)]
Fixed dump path in HTTP stress test (#67230)

2 years agoFix error when provisioning with python 3.8. (#67287)
Ilona Tomkowicz [Tue, 29 Mar 2022 14:47:17 +0000 (16:47 +0200)]
Fix error when provisioning with python 3.8. (#67287)

2 years agoRemove `ToTimeoutSeconds`.`SendPingAsync` and fix `TimeSpan` behavior (#67253)
Robin Lindner [Tue, 29 Mar 2022 14:46:54 +0000 (16:46 +0200)]
Remove `ToTimeoutSeconds`.`SendPingAsync` and fix `TimeSpan` behavior (#67253)

* Move CancellationToken throwing logic to the end of `Task.Wait`

To match the default behavior

* Fix timeout behavior in `NetworkStream.Close`

Use milliseconds instead of seconds

* Remove `SendPingAsync` overloads

2 years ago[Group 4] Enable nullable annotations for `Microsoft.Extensions.Http` (#66891)
Maksym Koshovyi [Tue, 29 Mar 2022 13:33:49 +0000 (16:33 +0300)]
[Group 4] Enable nullable annotations for `Microsoft.Extensions.Http` (#66891)

* Annotate things

* InnerHandler not null

* Fix build

2 years agoPreserve parsed & raw header value ordering (#67227)
Miha Zupan [Tue, 29 Mar 2022 13:15:15 +0000 (06:15 -0700)]
Preserve parsed & raw header value ordering (#67227)

2 years ago[mono] Remove mono-perfcounters.c and most of mono-counters.c (#66986)
Alexander Köplinger [Tue, 29 Mar 2022 11:37:04 +0000 (13:37 +0200)]
[mono] Remove mono-perfcounters.c and most of mono-counters.c (#66986)

They were disabled already so were behaving as no-ops.
The recommended replacement is using EventCounters.

2 years agoAccount for renamed Pri-0 tests (#67278)
Michal Strehovský [Tue, 29 Mar 2022 11:07:04 +0000 (20:07 +0900)]
Account for renamed Pri-0 tests (#67278)

Fixes NativeAOT Pri-0 test baselines.

2 years agoAdd log to file option to createdump (#67181)
Mike McLaughlin [Tue, 29 Mar 2022 04:00:43 +0000 (21:00 -0700)]
Add log to file option to createdump (#67181)

Add log to file option to createdump

Add DOTNET_CreateDumpVerboseDiagnostics env var

Make the timestamp ms and 8 hex digits

Add printf_status and printf_error that all stdout goes through.

Prefix "[createdump" to all printf_status/error output.

2 years agoAdd support for creating delegates to static virtual methods (#66936)
Michal Strehovský [Tue, 29 Mar 2022 03:44:03 +0000 (12:44 +0900)]
Add support for creating delegates to static virtual methods (#66936)

Requires a JitInterface change because we need to be able to pass information about constraints to `getReadyToRunDelegateCtorHelper`

2 years agoJIT: refactor IsOSRLocal (#67247)
Andy Ayers [Tue, 29 Mar 2022 01:27:55 +0000 (18:27 -0700)]
JIT: refactor IsOSRLocal (#67247)

Make this a property of the local, in anticipation of needing to check this in
cases where we won't have access to the compiler object.

Unify marking of OSR exposed locals.

2 years agoAdd \<para> tags to remarks comments (#67173)
Genevieve Warren [Tue, 29 Mar 2022 00:39:07 +0000 (17:39 -0700)]
Add \<para> tags to remarks comments (#67173)

2 years ago[wasm] Attempt to fix audit errors in sanitize (#67255)
Larry Ewing [Tue, 29 Mar 2022 00:36:36 +0000 (19:36 -0500)]
[wasm] Attempt to fix audit errors in sanitize (#67255)

* Run audit fix by default

* Run update before audit

* review suggestions

2 years agoRemove `IsEmpty` workaround in `Span` and `ReadOnlySpan` (#66865)
xtqqczze [Tue, 29 Mar 2022 00:16:33 +0000 (01:16 +0100)]
Remove `IsEmpty` workaround in `Span` and `ReadOnlySpan` (#66865)

* Revert "Workaround to remove unnecessary bounds checks when using {ReadOnly}Span.IsEmpty (dotnet/coreclr#19640)"

This reverts commit 82bd67f763bd1b3fc8752eae22b31012455e95b5.

* Update doc comments

* Apply suggestions from code review

Co-authored-by: Robin Lindner <robin.lindner1@t-online.de>
* Apply suggestions from code review

Co-authored-by: Robin Lindner <robin@deeprobin.de>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Robin Lindner <robin.lindner1@t-online.de>
Co-authored-by: Robin Lindner <robin@deeprobin.de>