Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ingest dotnet/runtime master #385

Merged
merged 241 commits into from
Nov 26, 2020

Conversation

layomia
Copy link

@layomia layomia commented Nov 25, 2020

No description provided.

elinor-fung and others added 30 commits November 11, 2020 10:15
…43896)

* Post build signing

* Add PostBuildSign flag
…(#44549)

* Stop providing IID_ICorDebugProcess10

Prevent older VS versions from setting managed data breakpoints.

* Simplify the thread collision logic to prevent deadlock

This is a simplification of dotnet/runtime#44539
as proposed by @kouvel
…lush(false) on Unix (#44443)

* Use fcntl(F_FLUSHFSYNC) on OSX and make FlushAsync to behave like Flush on Unix

* Remove HAVE_F_FULLFSYNC from mono/cmake/config.h.in

* Address FlushAsyncInternal feedback

* Address feedback: use fcntl only for OSX
…ter Types (#44529)

* Add Type.GetMethod overload that takes Name, BindingFlags, and Parameter Types

Adding overloads to GetConstructor and GetMethod that don't take a Binder or parameter modifiers.

Fix #42753
GTF_ICON_STATIC_HDL and GTF_ICON_FTN_ADDR can't be converted
to names using eeGetFieldName and eeGetMethodFullName, respectively.
So, just print out the type of the target.

Fixes #40354
* Stabilize StartInfo_NotepadWithContent_withArgumentList

* Add state in failed SetApartmentState exception

* Same for other tests

* Extract common code

* Modify

* Extract common code

* Pass down throwOnError

* Apply suggestions from code review

Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* feedback

* Add process for disposal

* Make slow test outer loop

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
…uild (#44090)

This change moves the logic for crossgenning System.Private.CoreLib to the crossgen-corelib.proj script, no longer calling out to the OS-specific scripts crossgen-corelib.cmd / crossgen-corelib.sh, and adds the support for using Crossgen2 for the System.Private.CoreLib compilation. As of this commit Crossgen2 is not set as the default because the System.Utf8.Experimental libraries tests fail with Crossgen2-compiled CoreLib. I'm working on fixing this as the next step.

Thanks

Tomas
* Remove unused Crst entries and regenerate header.
* Remove unused checks for DCOM proxies.

* Remove empty API for WinRT scenarios.

* Remove unused static functions from runtimecallablewrapper.cpp.

* Remove unused functions in comcallablewrappers.

* Remove unused or irrelevant functions in interoputil.cpp.

Remove WinRT focused code path in ComInterfaceMarshaler.
  - ICOMInterfaceMarshalerCallback usage
* Unroll empty loops

* Unroll single-iteration loops

* Update optimizer.cpp

* clean up

* Update optimizer.cpp
Change Task.Delay(1) to Task.Yield() to avoid a super race condition.

Fix #43389
This PR could resolve some failures mentioned in dotnet/runtime#44306
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
It's fine for higher layers, but in corelib we don't want to forcibly prevent LazyInitializer from being trimmed nor pay the overheads of additional cached delegates.
…=true and no FSW is provided (#41426)

When a FileSystemWatcher is not passed to the PhysicalFileWatcher
we'll permit construction (if polling is enabled) and have it behave as
exclusively polling.

The PhysicalFileProvider will use this mode when both
UsePollingFileWatcher and UseActivePolling are set which is what happens
when the DOTNET_USE_POLLING_FILE_WATCHER environment variable is set.
This PR redirects all RandomNumberGenerator, MD5, Sha1-512, HMAC and AES APIs to use Android SDK instead of OpenSSL.
Ensure our reference assembly parameter names match implementation.  Align all current mismatches.
If the drain size is set to 0, any attempts to drain end up failing with a 1st-chance exception that's logged and eaten, when we should just be skipping all the associated work and failing immediately.
Console.WriteLine ends up calling Write(span) in some cases, which incurs unnecessary additional cost to call through to Write(byte[], ...).
Sergey Andreenko and others added 29 commits November 23, 2020 18:32
* Fix native build on arm and arm64.

* Fix a typo.
* Fix CoreRT frozen strings handling.

* Review response.

* Delete noway_assert.

* Additional checks.

* Fix failures.
- Avoid an extra GetGenericArguments() call for all arities.
- Special-case a Type[] with just one type.  In looking at all calls to MakeGenericType when starting up a basic ASP.NET MVC app, 70% were for a single generic argument (the rest were for two).
* add support for less standard serial port speeds on macOS

* s/ifdef/if
… (#45127)

* Delay initialization of Task related properties which are rarely used

to reduce the dependencies chain

* Apply PR review suggestions

* fix up previous commit

* Update src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>

Co-authored-by: Stephen Toub <stoub@microsoft.com>
Change the core data type for basic block weights from unsigned to float,
to simplify overall calculations and allow for a wider dynamic range.

Many changes are straightforward, but a few are worth noting:
* LSRA needs a true max weight, so had to introduce infinity
* I removed some of the overflow checking as floats naturally saturate.
* The simple geometric loop weight scaling (*8 per loop nest level) leads
  to some very large counts in some tests (15 level loop nests). We may
  want to rethink this and scale less aggressively in deep nests.
* Morph's use of the weighted ref counts for RCS_EARLY is nonstandard
  and the values are not actually weights, so I just added a cast back to unsigned.
* Several places in the jit seem to try and compare or combine unweighted
  and weighted counts; I don't think this makes sense. But have left as is.
* Lower, LIR, and Decompose were passing around weights but never using them.
* I had to introduce a special new weight for the inline projection we do
  for the prejit root.

These changes lead to small numbers of diffs, mostly places where small rounding
changes have altered heuristics; notably:
* cse weights
* LSRA's initial take on whether a parameter should be enregistered

Overall diff impact is a wash.

There are almost no diffs without PGO/IBC data. Diffs are slightly more
prominent in the Roslyn assemblies prejitted with some IBC.

I've tried to keep the format of weights the same in dumps (in most places)
and see minimal diffs in dumps too.
And avoiding leaving the last invalid one for finalization.
* Fix work item exit code for helix tests

The helix work items are only supposed to return non-zero if they fail
to report tests for some reason.

* Fix if
Create `GT_PUTARG_TYPE` when signature type does not match node type.
Check in morph that this information has survived inlining and other phases between.
Based purely on code inspection, since I couldn't repro the failures happening in the lab, I believe what's happening is we're not outputting the right events if the connect ends up completing so fast that it's treated as a synchronous completion.  The fix is to move the relevant tracing to be done when the work completes, regardless of the completion mode.

I was able to simulate at least one set of failures by delaying the calling thread before it reaches a particular point, and this fixes that issue, so even if it's not fixing all known problems (hopefully it is), it's at least fixing some.
Implements the final version of the API proposal in #44025 except the [SupportedOSPlatform("windows10.0.2004")] bits
* Fix spelling of OverideEventProvider

* Fix a few more "overrides" in comments
…et/arcade dotnet/runtime-assets dotnet/xharness (#44459)

[master] Update dependencies from dotnet/icu  dotnet/llvm-project dotnet/arcade dotnet/runtime-assets dotnet/xharness


 - Merge branch 'master' into darc-master-f04f89fe-a712-45ce-96bf-a8d278fcda72

 - Revert changes to dotnet sdk in global.json

See dotnet/runtime#45108 (review)
…meter (#45138)

* change filtering system timezones from zone.tab as a task parameter

Co-authored-by: Ankit Jain <radical@gmail.com>
This unifies the build with the other platforms.

Hooks up the versioning targets so the mono libraries get the correct version.
* Initial version of class profiling for PGO

Add support to the jit and runtime so that PGO can determine the distribution of
classes at virtual and indirect call sites.

Use this information when jitting to enable guarded devirtualization, if there
is a suitably likely class to guess for.

Enable by setting:
```
COMPlus_TieredCompilation=1
COMPlus_TieredPGO=1
COMPlus_JitClassProfiling=1
COMPlus_JitEnableGuardedDevirtualization=1
```
impact can be enhanced by also setting
```
COMPlus_TC_QuickJitForLoops=1
```
to allow more methods to pass through Tier0.
* Handle browser warnings

* Apply feedback, revert updates handled with different PRs

* Add misssing diagnotic id

* Address multitargeted warnings

* Apply feedback

* Small type/comment updates

* Apply more feedback

* Use project settings instead adding Directory.Build.props

* Annotate APIs injecting unsupported type through DI

* Fix window support related warnings found with generic type parameter

* Fix another browser warning found with generic type parameter bug fix

* All public APIs of ConsoleLoggerExtensions are unsupported, so marking entire type as unsupported on browser

* Try handle mono warnings

* Revert mono related changes, it was mistake

* Try handle browser warninga in mono

* Apply feedback and fix new warnings caused from corelib changes

* Review update

* Apply feedback

* Move platform specific section from HttpTelemetry

* Revering unwanted changes

* Remove redundant attributes

* Exclude cross platform build with browser target

* small updates

* Annotate entire type DiagnosticCounter unsupported

* Apply feedback, improve suppression comments

* Remove Unsupported browser from TypeDescriptor.CreateInstance, TypeDescriptionProvider.CreateInstance and related updates
@layomia layomia merged commit 679ec40 into dotnet:feature/JsonCodeGen Nov 26, 2020
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.