Skip to content

dotnet/runtime

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

* Adding new ReadyToRun helper for static cctor

When accessing a static field the static cctor of the class is
called. Then the helper CORINFO_HELP_READYTORUN_STATIC_BASE
was printed twice during the same block, the first for the cctor
and the second for the getter, as if they were two calls for the
same method.

* Removing helper CORINFO_HELP_STRCNS_CURRENT_MODULE

* Removing CORINFO_HELP_STRCNS_CURRENT_MODULE

* Changing TYP_BYREF to TYP_VOID

* Formatting files

* Splitting up R2R STATIC_BASE in more helpers

* Updating STATIC_BASE R2R helper with new helpers

* Extending getReadyToRunHelper support

Consider the new R2R helpers that were group in
CORINFO_HELP_READYTORUN_STATIC_BASE.

* Keeping the preffered R2R helper constructor

In some cases the R2R helpers already call to the
constructor. In those cases we can insert a repeated
call that will be eliminated by CSE. There are still
cases in which we may need to call the constructor.

* Extending value numbering with new helpers

* Renaming helper

* Replacing STATIC_BASE helper in ilc for NON_GC

* Fixing helper order

* Refactoring code

* Supporting R2R_STATIC_BASE helper in nativeaot

* Moving compiler var initialization to compCompile

* Using new helper names in ILC

* Encapsulating common method

* Removing CORINFO_HELP_READYTORUN_STATIC_BASE helper

* Removing comment

* Moving new helper function to shared code

* Setting undef helper as default

* Repeating same helper call for CSE optimization

Avoid hardcoding the Non-GC helper call, which is used just to
trigger the constructor if it is needed, and use the existing
helper call in the code, so CSE would persist only one.

* Update src/coreclr/jit/compiler.cpp

Co-authored-by: Jakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>

* Update src/coreclr/tools/Common/Compiler/DependencyAnalysis/CorInfoHelpers.cs

Co-authored-by: Jakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>

* Update src/coreclr/tools/aot/ILCompiler.RyuJit/JitInterface/CorInfoImpl.RyuJit.cs

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>

* Update src/coreclr/tools/aot/ILCompiler.ReadyToRun/JitInterface/CorInfoImpl.ReadyToRun.cs

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>

* Formatting jithelpers.h

* Renaming function

* Moving CorInfoHelper function to R2R/AOT interface

* Updating preferred helper when is not thread type

* Removing some helper value nums

Static base helper was removed and cctor returns
void.

* Formatting file

* Ensuring void return when the helper is cctor

* Updating preferred helper when when classes matches

* Removing cctor trigger helper from aot,vm and jit

* Updating m_prefferedInitCctor default value

It is initialized with CORINFO_HELP_UNDEF and set to R2R GC or NON
GC Static Base later.

* Updating comments

* Updating comments

Co-authored-by: Brian Bohe <brianbohe@microsoft.com>
Co-authored-by: Jakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
c635ae2

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time

.NET Runtime

Build Status Help Wanted Gitter Discord

This repo contains the code to build the .NET runtime, libraries and shared host (dotnet) installers for all supported platforms, as well as the sources to .NET runtime and libraries.

What is .NET?

Official Starting Page: https://dotnet.microsoft.com

How can I contribute?

We welcome contributions! Many people all over the world have helped make this project better.

Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter. You can also find these instructions in this repo's Security doc.

Also see info about related Microsoft .NET Core and ASP.NET Core Bug Bounty Program.

Filing issues

This repo should contain issues that are tied to the runtime, the class libraries and frameworks, the installation of the dotnet binary (sometimes known as the muxer) and installation of the .NET runtime and libraries.

For other issues, please file them to their appropriate sibling repos. Their respective links are described in the config issue template doc.

Useful Links

.NET Foundation

.NET Runtime is a .NET Foundation project.

There are many .NET related projects on GitHub.

  • .NET home repo - links to 100s of .NET projects, from Microsoft and the community.
  • ASP.NET Core home - the best place to start learning about ASP.NET Core.

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.

General .NET OSS discussions: .NET Foundation Discussions

License

.NET (including the runtime repo) is licensed under the MIT license.