coreclr
CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.
The runtime engine that powers .NET Core apps, it compiles C# code to machine instructions at runtime, manages memory automatically, and provides core types like String and Object.
CoreCLR is the runtime engine that makes .NET Core applications work. When you write a program in C# or another .NET language, it gets compiled into an intermediate form called IL (Intermediate Language). CoreCLR takes that IL and actually runs it: it compiles it further into machine code at runtime (called JIT compilation), manages memory automatically so you do not have to manually free it (called garbage collection), and provides the basic building blocks that all .NET programs depend on, such as the String and Object types.
This repository contains the source code for that runtime. Most people using .NET Core do not need this at all: you just download the .NET SDK and use it. This repo is for people who want to understand how the runtime works internally, contribute to it, or build a customized version of it.
The runtime is split across two main repositories. This one (CoreCLR) handles the low-level engine: memory management, JIT compilation, type loading, and interoperability with native code. The standard library (things like collections, file input/output, XML parsing) lives in a separate repository called CoreFX. A complete application needs both, plus a small host program that loads and starts everything.
The readme covers how to clone and build the repository on Windows, Linux, and macOS, and explains how to run tests and use a locally built runtime with a test application. It also links to documentation on the runtime's internal architecture for those who want to understand the design.
Where it fits
- Study how a production JIT compiler and garbage collector work by reading the actual source code
- Contribute a performance fix or bug patch to the .NET Core runtime
- Build a customized version of the .NET runtime for a specialized platform or embedded device
- Learn how fundamental C# types like String, Array, and Object are implemented at the lowest level