Skip to content

Conversation

@jkotas
Copy link
Member

@jkotas jkotas commented Sep 24, 2020

No description provided.

Jacksondr5 and others added 23 commits September 22, 2020 21:57
* add tests to increase enum serialization code coverage

* implement feedback and add test to cover naming policy scenario

* remove unnecessary bound check now that all primitive types are supported

* Revert "remove unnecessary bound check now that all primitive types are supported"

This reverts commit 0a6a345ed3eaf65be8efbb51c6258a8448aaf9c1.

* implement review feedback

remove unnecessary serializer options in test
rename JsonNamingPolicy ToLower -> ToLowerNamingPolicy

* Remove commented-out code

Co-authored-by: David Cantú <[email protected]>
…arcade Microsoft/vstest dotnet/llvm-project dotnet/icu (#42201)

[master] Update dependencies from dotnet/xharness mono/linker dotnet/arcade Microsoft/vstest dotnet/llvm-project dotnet/icu


 - Merge branch 'master' into darc-master-c2f56120-c0a9-49ac-83ec-d0550f2e6a36

 - Fix merge conflict

 - Revert override of local changes to send-to-helix.yml

 - Fix path to ILLink.Tasks.dll

 - Revert override of local changes to send-to-helix.yml

 - Revert override of local changes to send-to-helix.yml

 - Fix path to ILLink.Tasks.dll

 - Fix another path to ILLink.Tasks.dll
…(#42470)

* Revert "Make Console.ReadKey() distinguish between CR and LF inputs (#37491)"

This reverts commit a62bfcb.

* Account for terminals that have ICRNL disabled

* Add manual tests that validates the current \n ReadKey() behaviour on Unix
* Fix a few Socket.SendFile issues

- The string argument in the single-argument overload should be nullable.
- All overloads on Windows should allow a null file path, but they've been throwing an exception
- On Linux, data was silently truncated when sending a file larger than int.MaxValue with BeginSendFile.

* Address PR feedback
The singilefilehost needs to follow the libraries build in terms of how
it links to OpenSSL: if it's a non-portable build, the singlefilehost
needs to link to OpenSSL via linker arguments.

The installer also needs to have FEATURE_DISTRO_AGNOSTIC_SSL defined
just like it is defined for the libraries build.

Fixes: #41768
Fixes:
    stress client double read of content fixed
    fixed stress client hangs at start and stop
    leveraged HttpVersionPolicy
    increased pipeline timeout since we doubled the runs
    fixed base docker images to avoid missing IO.Pipelines Kestrel exception.

Re-hauled tracing:
    added server file logging
    added log file rotation

Minor renames.

Contributes to: #42211 and #42198
Adds a new flowgraph checker that tries to verify that the profile data is
self-consistent.

Use `COMPlus_JitProfileChecks=1` to enable in dumps, `=2` to raise asserts
if issues are found.

I plan on using this to start fixing the issues it finds and then perhaps
gradually enable more stringent checking.
…bid-suspend-for-debugger region (#42587)

- Followup to dotnet/runtime#40060
- In short timing windows if a thread is placed in a pending-suspend-for-debugger state while in a forbid-suspend-for-debugger region, from the above PR it would not suspend for the debugger but it was missed that it can also get stuck in a perpetual spin-wait while entering cooperative GC mode. This causes the thread to not suspend for the debugger (VS times out after waiting) and the thread can only progress by unmarking it for debugger suspension.
- Fixed to break the spin-wait by checking whether the thread is in the forbid region

Fix for dotnet/runtime#42375 in master
…622)

* Return null from ClaimsPrincipal.Current if no thread principal.

In the .NET Framework, the AppDomain's default PrincipalPolicy is
UnauthenticatedPrincipal. When falling back to the thread's principal,
this would no throw because a GenericPrincipal was returned.
If the policy was changed to NoPrincipal, ClaimsPrincipal.Current would
throw constructing the ClaimsPrincipal since there is no principal.
However that behavior was opt-in.

In .NET Core, the default policy was changed to NoPrincipal, which would
mean unless a principal was explicitly set, Current would always throw.

This changes the behavior to return null instead of throw for
NoPrincipal. This is to continue supporting the existing behavior in
.NET Core 3 of returning null if there is no principal, but continue
to allow falling back to the thread's principal.

* Code review feedback.

Co-authored-by: Stephen Toub <[email protected]>

* Fix typos

Co-authored-by: Stephen Toub <[email protected]>
* Delete unused Monitor.Wait argument

*  Move Monitor to shared partition
We experience CLR crash on some architectures (at least in x86) in case
of unhandled managed exception. libunwind steps to the very end of a
stack, and if .eh_frame info is correct, it returns with retcode 0 and
ip=0 from unw_step, then PAL calls unw_is_signal_frame with
c->validate==0 which in turn dereferences zeroed ip in access_mem.
libunwind spec says that retcode 0 from unw_step means very end of a
stack, so PAL should not expect any frames, signal or not. It should
convert cursor back to SEH representation and return with TRUE.
* Ensure Enumerable methods are preserved by System.Linq.Querable

When using System.Linq.Queryable against an in-memory collection, and trimming the application, the underlying Enumerable methods need to be preserved by the linker.

Annotating each Queryable method with a DynamicDependency to the corresponding Enumerable method will fix this scenario.

Fix #42536
Change the `-altjit` flag to require passing a JIT filename. There are
too many altjits (cross-compile JITs) available now to be able to pick
a good default, so force the user to pick.
* Support cp1252 codepage alias

* Apply suggestions from code review

Co-authored-by: Stephen Toub <[email protected]>

* Fix teh License comment in the file headers

Co-authored-by: Stephen Toub <[email protected]>
- Add all IDEXXXX warnings to ruleset, but as hidden for now
- Enable IDE0073: file header mismatch
@jkotas jkotas merged commit 30d3c2b into dotnet:feature/NativeAOT Sep 24, 2020
@jkotas jkotas deleted the runtime-merge branch September 24, 2020 05:34
jakobbotsch added a commit to jakobbotsch/runtimelab that referenced this pull request Apr 9, 2025
* JIT: Introduce `LclVarDsc::lvIsMultiRegDest`

With recent work to expand returned promoted locals into `FIELD_LIST`
the only "whole references" of promoted locals we should see is when
stored from a multi-reg node. This is the only knowledge the backend
should need for correctness purposes, so introduce a bit to track this
property, and switch the backend to check this instead.

The existing `lvIsMultiRegRet` is essentially this + whether the local
is returned. We should be able to remove this, but it is currently used
for some heuristics in old promotion, so keep it around for now.

* JIT: Add some more constant folding in lowering

Add folding for shifts and certain binops that are now getting produced
late due to returned `FIELD_LIST` nodes.

win-arm64 example:
```csharp
[MethodImpl(MethodImplOptions.NoInlining)]
static ValueTask<byte> Foo()
{
    return new ValueTask<byte>(123);
}
```

```diff
 G_M17084_IG02:  ;; offset=0x0008
             mov     x0, xzr
-            mov     w1, dotnet#1
-            mov     w2, wzr
-            mov     w3, dotnet#123
-            orr     w2, w2, w3,  LSL dotnet#16
-            orr     w1, w2, w1,  LSL dotnet#24
-						;; size=24 bbWeight=1 PerfScore 4.00
+            mov     w1, #0x17B0000
+						;; size=8 bbWeight=1 PerfScore 1.00
```

* Feedback
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.