coreclr

This repo contains the .NET Core runtime, called CoreCLR, and the base library, called System.Private.Corelib (or mscorlib). It includes the garbage collector, JIT compiler, base .NET data types and many low-level classes. We welcome contributions.

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star blank 374f33e4d622a2930833db3cbea26b5d03dc44961a6ecab0b9e13276d97d6682Star blank 374f33e4d622a2930833db3cbea26b5d03dc44961a6ecab0b9e13276d97d6682Star blank 374f33e4d622a2930833db3cbea26b5d03dc44961a6ecab0b9e13276d97d6682 (1 ratings)
Rated 2.0 out of 5
Subscribe to updates I use coreclr


Statistics on coreclr

Number of watchers on Github 9043
Number of open issues 1587
Average time to close an issue 1 day
Main language C#
Average time to merge a PR about 19 hours
Open pull requests 645+
Closed pull requests 134+
Last commit 8 months ago
Repo Created almost 4 years ago
Repo Last Updated 8 months ago
Size 206 MB
Homepage https://github.co...
Organization / Authordotnet
Latest Releasev1.1.6
Contributors190
Page Updated
Do you use coreclr? Leave a review!
View open issues (1587)
View coreclr activity
View on github
Latest Open Source Launches
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating coreclr for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

.NET Core Common Language Runtime (CoreCLR)

This repository contains the complete source code for the runtime of .NET Core. If you are new to .NET Core start with the About .NET that quickly points you to .NET Core Tutorials.

.NET Core is best thought of as 'agile .NET'. Generally speaking it is the same as the Desktop .NET Framework distributed as part of the Windows operating system, but it is a cross platform (Windows, Linux, macOS) and cross architecture (x86, x64, ARM) subset that can be deployed as part of the application (if desired), and thus can be updated quickly to fix bugs or add features.

If You Just Want to Use .NET Core

Most users don't need to build .NET Core from source since there is already a built and tested version for any supported platform. You can get the latest released version of the .NET Core SDK by following the instructions on the .NET Core Getting Started page. If you need the most up to date (daily) version of this .NET Core installer you can get it from the latest Installers of .NET Core and .NET Core SDK. If you want one of our official releases, you can get the download from the download archive page.

Are you Here for Something Besides the Source Code?

In addition to providing the source code, this repository also acts as a useful nexus for things related to .NET Core including:

What Can you Make from this Repository?

.NET Core relies heavily on the NuGet package manager, which is a system to package, distribute and version software components. See https://www.nuget.org/ for more information on NuGet. For now it is enough to know NuGet is a system that bundles components into *.nupkg files (which are ZIP archives) and these packages can be 'published' either through a local file system path or by a URL (e.g. https://www.nuget.org/). There are then tools (e.g. nuget.exe, Visual Studio, dotnet.exe) that based on a configuration file (.csproj) know how to search these publishing locations and pull down consistent set of packages for the application.

In concrete terms, this repository is best thought of as the source code for the following NuGet package:

  • Microsoft.NETCore.Runtime.CoreCLR - Represents the object allocator, garbage collector (GC), class loader, type system, interop and the most fundamental parts of the .NET class library (e.g. System.Object, System.String ...)

It also contains the source code for the following closely related support packages.

  • Microsoft.NETCore.Jit - The Just In Time (JIT) compiler for the .NET Intermediate language (IL)
  • Microsoft.NETCore.ILAsm - An assembler for the .NET Intermediate language (IL)
  • Microsoft.NETCore.ILDAsm - A disassembler (Pretty printer) for the .NET Intermediate language (IL)
  • Microsoft.NETCore.TestHost - This contains the corehost.exe program, which is a small wrapper that uses the .NET Runtime to run IL DLLs passed to it on the command line.
  • Microsoft.TargetingPack.Private.CoreCLR - A set of assemblies that represent the compile time surface area of the class library implemented by the runtime itself.

Relationship with the CoreFX Repository

By itself, the Microsoft.NETCore.Runtime.CoreCLR package is actually not enough to do much. One reason for this is that the CoreCLR package tries to minimize the amount of the class library that it implements. Only types that have a strong dependency on the internal workings of the runtime are included (e.g, System.Object, System.String, System.Threading.Thread, System.Threading.Tasks.Task and most foundational interfaces). Instead most of the class library is implemented as independent NuGet packages that simply use the .NET Core runtime as a dependency. Many of the most familiar classes (System.Collections, System.IO, System.Xml and so on), live in packages defined in the dotnet/corefx repository.

But the main reason you can't do much with CoreCLR is that ALL of the types in the class library LOOK like they are defined by the CoreFX framework and not CoreCLR. Any library code defined here lives in a single DLL called System.Private.CoreLib.dll and as its name suggests is private (hidden). Instead for any particular PUBLIC type defined in CoreCLR, we found the 'right' package in CoreFX where it naturally belongs and use that package as its public publishing point. That 'facade' package then forwards references to the (private) implementation in System.Private.CoreLib.dll defined here. For example the System.Runtime package defined in CoreFX declares the PUBLIC name for types like System.Object and System.String. Thus from an applications point of view these types live in System.Runtime.dll. However, System.Runtime.dll (defined in the CoreFX repo) forwards references ultimately to System.Private.CoreLib.dll which is defined here.

Thus in order to run an application, you need BOTH the Microsoft.NETCore.Runtime.CoreCLR NuGet package (defined in this repository) as well as packages for whatever you actually reference that were defined in the CoreFX repository (which at a minimum includes the System.Runtime package). You also need some sort of 'host' executable that loads the CoreCLR package as well as the CoreFX packages and starts your code (typically you use dotnet.exe for this).

These extra pieces are not defined here, however you don't need to build them in order to use the CoreCLR NuGet package you create here. There are already versions of the CoreFX packages published on https://www.nuget.org/ so you can have your test application's project file specify the CoreCLR you built and it will naturally pull anything else it needs from the official location https://www.nuget.org/ to make a complete application. More on this in the Using Your Build page.


Setting up your GIT Clone of the CoreCLR Repository

The first step in making a build of the CoreCLR Repository is to clone it locally. If you already know how to do this, just skip this section. Otherwise if you are developing on Windows you can see Setting Up A Git Repository In Visual Studio 2017 for instructions on setting up. This link uses a different repository as an example, but the issues (do you fork or not) and the procedure are equally applicable to this repository.


Building the Repository

The build depends on Git, CMake, Python and of course a C++ compiler. Once these prerequisites are installed the build is simply a matter of invoking the 'build' script (build.cmd or build.sh) at the base of the repository.

The details of installing the components differ depending on the operating system. See the following pages based on your OS. There is no cross-building across OS (only for ARM, which is built on X64).
You have to be on the particular platform to build that platform.

The build has two main 'buildTypes'

  • Debug (default)- This compiles the runtime with additional runtime checks (asserts). These checks slow runtime execution but are really valuable for debugging, and is recommended for normal development and testing.
  • Release - This compiles without any development time runtime checks. This is what end users will use but can be difficult to debug. Pass 'release' to the build script to select this.

In addition, by default the build will not only create the runtime executables, but it will also build all the tests. There are quite a few tests so this does take a significant amount of time that is not necessary if you want to experiment with changes. You can skip building the tests by passing the 'skiptests' argument to the build script.

Thus to get a build as quickly as possible type the following (using \ as the directory separator, use / on Unix machines)

    .\build skiptests 

which will build the Debug flavor which has development time checks (asserts), or

    .\build release skiptests

to build the release (full speed) flavor. You can find more build options with build by using the -? or -help qualifier.

Using Your Build

The build places all of its generated files under the bin directory at the base of the repository. There is a bin\Log directory that contains log files generated during the build (most useful when the build fails). The the actual output is placed in a directory like this

  • bin\Product\Windows_NT.x64.Release

Where you can see the operating system and CPU architecture, and the build type are part of the name. While the 'raw' output of the build is sometimes useful, normally you are only interested in the NuGet packages that were built, which are placed in the directory

  • bin\Product\Windows_NT.x64.Release.nuget\pkg

These packages are the 'output' of your build.

There are two basic techniques for using your new runtime.

  1. Use dotnet.exe and NuGet to compose an application. See Using Your Build for instructions on creating a program that uses your new runtime by using the NuGet packages you just created and the 'dotnet' command line interface. This is the expected way non-runtime developers are likely to consume your new runtime.

  2. Use corerun.exe to run an application using unpackaged Dlls. This repository also defines a simple host called corerun.exe that does NOT take any dependency on NuGet. Basically it has to be told where to get all the necessary DLLs you actually use, and you have to gather them together 'by hand'. This is the technique that all the tests in the repo use, and is useful for quick local 'edit-compile-debug' loop (e.g. preliminary unit testsing). See Using corerun To Run .NET Core Application for details on using this technique.

Editing and Debugging

Typically users run through the build and use instructions first with an unmodified build, just to familiarize themselves with the procedures and to confirm that the instructions work. After that you will want to actually make modifications and debug any issues those modifications might cause. See the following links for more.

Running Tests

After you have your modification basically working, and want to determine if you have broken anything it is time to run tests. See Running .NET Core Tests for more.

Contributing to Repository

Looking for something to work on? The list of up-for-grabs issues is a great place to start.

Please read the following documents to get started.

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.


Related Projects

As noted above, the CoreCLR Repository does not contain all the source code that makes up the .NET Core distribution. Here is a list of the other repositories that complete the picture.

  • dotnet/corefx - Source for the most common classes in the .NET Framework library.
  • dotnet/core-setup - Source code for the dotnet.exe program and the policy logic to launch basic .NET Core code (hostfxr, hostpolicy) which allow you to say 'dotnet SOME_CORE_CLR_DLL' to run the app.
  • dotnet/cli repo - Source for build time actions supported by dotnet.exe Command line Interface (CLI). Thus this is the code that runs when you do 'dotnet build', 'dotnet restore' or 'dotnet publish'.
  • dotnet/core-docs - Master copy of documentation for http://docs.microsoft.com/en-us/dotnet/

See Also

Important Blog Entries

License

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

coreclr open issues Ask a question     (View All Issues)
  • about 2 years 6 P1 tests fail without assertion
  • about 2 years Assert failure(PID 4876 [0x0000130c], Thread: 12100 [0x2f44]): Assertion failed '(op1->gtOper != GT_CNS_INT && op1->gtOper != GT_CNS_LNG && op1->gtOper != GT_CNS_DBL) || tree->gtOverflow() || (op1->gtOper == GT_CNS_DBL && !_finite(op1->gtDblCon.gtDconVal)) || !compiler->opts.OptEnabled(CLFLG_CONSTANTFOLD)' in 'ILGEN_0xd01d9fe9:Method_0x594ff2c5(short,ubyte,char,long,int,byte,ubyte,char,int,int,int,ubyte,int,byte):int' (IL size 493)
  • about 2 years Assert failure(PID 10364 [0x0000287c], Thread: 14536 [0x38c8]): Assertion failed 'isGeneralRegister(id->idReg2())' in 'StructABI:Main():int' (IL size 2040)
  • about 2 years Assert failure(PID 10244 [0x00002804], Thread: 7648 [0x1de0]): Assertion failed '!(block->bbFlags & BBF_FINALLY_TARGET)' in 'GoryNativePastTest:foo():this' (IL size 42)
  • about 2 years Assert failure(PID 3300 [0x00000ce4], Thread: 15916 [0x3e2c]): Consistency check failed: ERROR: you didn't pass CONTEXT_EXCEPTION_REQUEST into GetThreadContext
  • about 2 years Add JIT intrinsic support to take advantage of Intel SSE4.2 crc32 instruction
  • about 2 years ILASM: Add ARM64 command line option
  • about 2 years [ARM32/Linux] Unittest baseservices/exceptions/simple/HardwareEh with crossgen failure
  • about 2 years Proposal: Introducing a JIT intrinsic for acquiring timestamps
  • about 2 years Fix the execution order for array range check nodes.
  • about 2 years List<T>.Sort(Comparison<T> comparison) does not increase version
  • about 2 years [Port] Add capturing YMM registers to OSX InjectActivationInternal
  • about 2 years Finally in-lining or cloning in the corresponding try-block
  • about 2 years JIT: clarify contract for fgRemoveStmt
  • about 2 years Span<T> design question
  • about 2 years A question about Math.Round intrinsic on x64
  • about 2 years CoreCLR Ubuntu 14.04 Build fails with Latest liblttng-ust-dev installed
  • about 2 years Reduce allocations in String.Split
  • about 2 years Serialization and Raytracer performance tests are not posting results
  • about 2 years Null dereference error compiling with clang 3.9
  • about 2 years Two shortcoming of rethrowing an exception
  • about 2 years Enable R2R for WinArm32
  • about 2 years Method chaining on dynamic object throws StackOverflowException
  • about 2 years Remove the VC Redist pre-req
  • about 2 years Cleanup perf related test infra from #3999
  • about 2 years x86: Correctly consume registers for GT_FIELD_LIST
  • about 2 years Investigate diffs from 1.1.0 CoreCLR performance runs
  • about 2 years Unused generic type parameter should not cause loader failure
  • about 2 years Investigate mapping one R2R image multiple times into memory
  • about 2 years JIT: assert seen when running tests via run-xunit-perf.cmd
coreclr open pull requests (View All Pulls)
  • Add export to define environment variables
  • Fix test issue on NetBSD: Walk-around getrusage(2) implementation nits
  • Pulling down coredistool package for gcstress test
  • Generate WinX86 Nuget package
  • Short-circuit for empty strings in string.Insert and Remove
  • Trivial change to make StringBuilder.Length setter faster for larger values
  • InlineRefactoring: start to capture failures in the inline tree
  • Mark compTypeCtxtArg as lvOnFrame
  • DO NOT MERGE - testing CSCbench test
  • Enable tests on Ubuntu that were previously disabled by issue #3235
  • add helix run support to coreclr repo
  • Fix NetBSD build: Define PAL_STDCPP_COMPAT=1 for twowaypipe.cpp
  • Fixes to build CentOS CoreCLR Nuget Package
  • Add minopts and fix few bugs
  • Handle CMakeArgs correctly
  • Fixed parent pointers becoming corrupt in GC benchmark for Red/Black trees
  • Disambiguate debug pipe names with more than just PID [WIP]
  • Fix for SIMD Initialize intrinsic expansion.
  • Fix issue unveiled on NetBSD: Add PAL__vsnprintf shadow in PAL
  • Revert "Revert "Remove useless security checks""
  • Round for int type and Truncate2()
  • Missing whitespaces
  • Remove need for mono resgen
  • Move Package config to test/src directory
  • Benchstones: Adjust iteration count
  • [Do Not Merge] Move coreclr to branch model
  • More efficient ParseNumber & MatchChars
  • Add GC stress modes
  • Remove empty Threadpool .cctors
  • Fix usage of environment in PAL
  • [WIP] Avoid Interval and RefPosition unnecessary initialization and copying
  • Fix some JIT disassembly issues
  • ARM64: Fix GC hole in indirect call site
  • [WIP] Create Long-running GC test job for the CI
  • ARM64: Major Update for new tests to run using Smarty.exe
  • Fix calculating the calendar year in JapaneseLunisolarCalendar
  • Add test mode exclusions
  • Remove __cdecl__ calling convention for [-Werror,-Wignored-attributes]
  • Fix inconsistent uint64-to-double cast
  • Using StackString to improve memory consumption in Lttng EventProvider
  • Fix to Huffman benchmark decompression loop has unnecessary spills and reloads
  • Remove hardcoded versions from runtests.proj
  • Enabling standalone builds for Test Project of any Priority
  • Open source even more threading tests [WIP]
  • Speed up StringBuilder.Append(char, int) for null chars
  • Add parameter names to ArgumentExceptions in Guid
  • Ported managed Utf8/Unicode encoder/decoder to C++ for usage in PAL
  • Fix impossible condition
  • Don't return pointer to already deleted object
  • Initial version of CoreCLR JIT Performance Harness
  • String.Compare - Prefer quick index compare before full string equals
  • Convert SOSAndICorDebug.docx to SOSAndICorDebug.md
  • Explain explicit reference doesn't help
  • Use else-if for mutually exclusive conditions
  • NetBSD: Fix integer overflow of ullTotalPhys and ullAvailPhys
  • Add 'skippack' option to 'build.sh'
  • Implement GetEntrypointExecutableAbsolutePath() on NetBSD
  • Fix issue 4210
  • Reenable paltest_pal_sxs_test1 on NetBSD
  • Use _lwp_self() in THREADSilentGetCurrentThreadId() for NetBSD
  • GCInfo: Fix ARM64 GCInfo decoding
  • Fix a few tests issues
  • Force IR to be always var=call in case of multi-reg returning call nodes plus refactoring changes
  • ARM: fix build warning for unw usage
  • ARM: Add Ubuntu Codename vivid, wily for arm-linux image
  • Refactor `StructArrayList` for the GC info encoder.
  • Linux/ARM: Unifying the redundant usages of objcopy
  • Fix race condition between CTS.Cancel and Dispose
  • Add CI support for Linux ARM emulator
  • Implement StartUnwindingNativeFrames Linux/ARM
  • Dummy -- no merge
  • Fix a bug in the code for inserting a tree in the linear order.
  • [WIP] Implement software write watch and make concurrent GC functional outs…
  • Generate map files for symbol resolution for Linux native images on PerfView
  • Make fields in ThreadPool readonly/const where possible
  • Improve performance of parsing integers with default options
  • Improve performance of parsing Version
  • Almost double the performance of parsing Guids
  • Reduce string.Split allocations in System.AppContext
  • ", >, and < are valid wildcard characters
  • Design to support Multi-reg GT_CALL/GT_RETURN nodes (for x64/unix, arm64, x86, arm32)
  • Add parameter names to RegionInfo constructor
  • Enable XplatEventLogger on all non-Windows platforms
  • [WIP] Add support for multi-dimensional array initialization
  • Fix failure of EventSource to parse ETW arguments.
  • Remove FEATURE_HOSTED_BINDER definition
  • Helpers for ReadyToRun
  • Mark simd type vars as lvRegStruct accurately.
  • Cleanup sxsJitStartup from codemanager
  • Improve detection of error condition when using StringBuilder
  • Increase a test timeout
  • Create System.Private.CoreLib assembly
  • Disable FEATURE_MERGE_JIT_AND_ENGINE on *nix.
  • Use Buffer.BlockCopy in System.Reflection.Emit
  • [Arm64]: Implement GetUnwindDataBlob
  • Fixes multidim array Get Accessor for enum datatype
  • Buffer.BlockCopy: Avoid double-typechecks for arrays of same type
  • UTF8 Marshaling support(UnmanagedType.LPUTF8Str)
  • Always download coredistools package
  • Fixing the StackOverflowException error message.
  • [WIP - Do Not Merge] Modify some test cases for <2GB RAM testing environments
  • Enable DefaultDllImportSearchPathsAttribute in CoreCLR Windows
  • ARM: Fix SOS stack dump command failure
  • Fix recently introduced timing issue when growing the card table
  • Fix incremental build restore: move generated test_runtime project.json to bin
  • Optimize async invocation
  • do not merge
  • NetBSD: Fix build with LLVM-3.9
  • mscorlib: handle unix-like OS information properly.
  • Fix 'runtest.sh' script
  • Linux/ARM: Add 'initial-exec' tls model by default for RELEASE build
  • Match Inconsistent CMake/MSBuild Compiler Definitions 2
  • Reduce item format allocations in AppendFormat
  • StringBuilder: Supplant use of Array.Copy w/ BlockCopy
  • Enable DefaultDllImportSearchPathsAttribute in CoreCLR Windows. Host …
  • Move notion of restricted physical memory behind the GCToOSInterface
  • Implement source/line number support for Exception.StackTrace.
  • Document about supporting long on 32-bit architectures.
  • Introduce a way to override AppContext switches from the project.json
  • Add typeInfo::GetMehtod2 to avoid checking GetType == TI_METHOD.
  • R2R Generic Dictionaries support for x64 on Unix
  • Rename some IL tests whose names conflicted with C# tests
  • Enable Checksum csc param for mscorlib
  • Reenable NativeCallable test on x86 legacy backend
  • Encapsulate or replace references to CORINFO_PAGE_SIZE.
  • Optimize Array.GetLength, GetUpperBound, GetLowerBound
  • Switch GCSimulator to BuildAndRun so that a shell wrapper gets generated
  • Remove some preprocessor usage from the JIT interface.
  • Implement integer to long/ulong casts for x86
  • Add slack channel
  • Add more help options to corerun
  • Test ARM64: ABI - Passing HFA struct arguments in floating point registers
  • Vector3 clear upperbits
  • Added tests for libsosplugin
  • [WIP] Support to build tests in Linux
  • Linux/ARM: Change default clang version from 3.5 to 3.6
  • Make sure explicit tail call result is never stored on stack.
  • Shrink Task size by 10%
  • Add extra options to 'runtest.sh' for effective test monitoring.
  • Allow long paths in CoreCLR managed code
  • Update file handle steps
  • [mscorlib] Improve perf for many Char methods
  • [WIP - Do not merge] Add support for System.Private.CoreLib to be core library
  • Port from tfs: onload exception debugger crash fix
  • Comment typo fix: removed double word
  • GCStress: Fix a race-condition
  • Revise variable offset on double in ARM HFA
  • Disable a large number of GC tests from running under GCStress
  • Fix for issue 5343: Assert Failure: !"Cannot take the address of an uninstantiated generic method."
  • Port of fix for issue 5241: [RTM] Interop\ICastable\Castable\Castable.cmd CONTRACT VIOLATION by ReadyToRunInfo::TryLookupTypeTokenFromName
  • Enable managed heap dumps on Linux
  • Enabling overriding of TPA assemblies
  • Linux/ARM: Adding rpath for shared library of exception_handling.pal_sxs.test1
  • Fix JIT PInvoke Check Failure on Linux/ARM
  • Speed up CreateComparer in Comparer/EqualityComparer
  • Import `new` multi-dimmensional array using the non-vararg helper
  • Add new document on how to setup/view JIT dumps
  • [WIP]fix retbuf calling convention
  • Fix the named semaphore leak on OSX (and Linux) (#5269)
  • Publish packages into folders named for their configuration groups
  • Test
  • Disable vm overcommit for GC tests running on Linux
  • Enable managed heap dumps on Linux
  • arm-ci: Make the Linux ARM emulator check automatic
  • Add more Ready-to-Run generics tests
  • [WIP] according to arm64 calling convention valuetypes can be returned in
  • Task & Thread Pool scheduled item optimizations
  • Fixing perf runs on helix
  • Fix Issue #5542
  • Updating External dependencies to rc4-24216-00
  • Remove set -x from tests/setup-runtime-dependencies.sh.
  • ARM64: Fix WriteBarrier
  • Remove useless gtSetFlags calls
  • Updating External dependencies to rc4-24215-00
  • Specialize IndexOf, LastIndexOf for the enum equality comparers
  • ThreadSuspend: Save Extended registers
  • Testing *DO NOT MERGE*
  • Update the header string in runtest.sh
  • Updating External dependencies to rc4-24213-00
  • Provide KeyValuePair.Create static factory method
  • Updating External dependencies to rc4-24212-01
  • [Testing] Undo a bug fix - it should cause R2R CI job to fail
  • Updating External dependencies to rc3-24211-00
  • Remove the UseLatestBehaviorWhenTFMNotSpecified compat switch
  • Generic dictionary minor performance improvement and simplification for R2R
  • [WIP] Corerun: Do not override path of the given executable.
  • Replace `bc` with the BASH builtin let
  • Invoke 'copy_test_native_bin_to_test_root' inside 'create_core_overlay'
  • Increase inlineability of String.Equals
  • Add more lldbplugin/libsosplugin tests
  • Enable GT_CALL with long ret types for x86 RyuJIT
  • Fix https://github.com/dotnet/coreclr/issues/5517
  • Adding single-precision math functions.
  • Make GetMethods() return methods in declaration order consistantly
  • Run fgMorphCopyBlock for newly inserted assignment
  • Decomposing 64-bit storeind instruction to 32-bit storeind instructions
  • Updating External dependencies to beta-24301-00
  • GC ETW fixes
  • Start using dumpling service to upload dumps from CI runs
  • Clean up unused code related to memory mapping
  • Updating External dependencies to beta-24230-00
  • ARM64: Test Update for GcStress
  • ARM-CI [WIP]: Add tests to CI script
  • [WIP] Add profiler tests
  • Testing *DO NOT MERGE*
  • [WIP]Consider spilled lcl vars as memory operands for codegen purpose
  • Unecessary Linux stack argument copy
  • Massage code for clang-format
  • Remove misplaced call to genUnspillRegIfNeeded
  • Less conservative gt obj
  • Named mutex: Use flock instead of pthread process-shared mutex in som…
  • Expose remaining Environment.* public surface area from System.Private.Corelib
  • Release fixes for rebuild
  • [WIP] Implement GT_NEG decomposition
  • Add testsRunningInsideARM.txt
  • Improve Threadpool QUWI throughput
  • [WIP] Fix add/sub decomposition
  • Update the build system to use llvm-ranlib. llvm-ar is not compatibl…
  • Linux/ARM: Fix +3000 bus errors of unit-test in case of O2/O3 levels
  • ARM-CI : Check a device is already mounted while mounting a device.
  • Updating External dependencies to beta-24321-00
  • Expose serialization primitives from System.Private.Corelib
  • Remove DBG GcInfo encoder/decoder
  • Documentation: Add additional terminologies in the glossary.md
  • Updating CoreFx dependencies to beta-24321-01
  • Updating CoreClr dependencies to beta-24321-01
  • Fix bug: inlinee did not copy inlinee bbFlags to caller bbFlags.
  • Add the proposal for embedded statement removal.
  • Move RegionNames out of #ifs
  • [SOS][Linux] Fix incorrect processing 'setclrpath' command with portable PDB reader
  • Not Initialized AssertionDsc
  • RyuJIT/x86: implement tailcall via helper
  • Added dumpling collection for the CI to pick up.
  • ARM-CI : Disable automatic checks for resolving the unmounting error.
  • Arm64: Debugger
  • Decompose GT_IND for x86
  • Adding support for more generic dictionary entry slots for R2R
  • Propagate known array lengths to more places
  • The sort for CSE size optimization should be different from exec
  • [Linux] GDB JIT support for source line debug information.
  • ARM64: Enable Function Fragment
  • [WIP] additional refactoring for multireg return
  • Fix Attribute implementations of Equals and GetHashCode
  • Fix silent bad codegen in signed comparison
  • Remove code about testNativeBinDir in runtest.sh
  • FieldDescSlot generic handle support
  • Do not invoke endlocal when skipping native build
  • [WIP] ARM64 - Support for methods that return structs in multiple registers
  • Don't overwrite crossgen log in build.cmd script
  • Further tweak Buffer.MemoryCopy performance
  • Automate the perf data collection for JIT CodeQuality benchmarks on Windows.
  • Reduced Array exception code repetition
  • Add a few missing .ctor's to reference assembly
  • Fix #6517
  • Expose missing members of System.Reflection in contract to prep for dotnet/corefx#1053
  • Use packages.builds when generating nuget packages
  • [DO NOT MERGE] Port fixes for CoreCLR 1.0.0 RTM
  • ARM64: Fix for ARM64TODO
  • Cleanup/optimize many string.Compare overloads
  • Check PAL_VirtualUnwind failure during GC
  • Reformat jit source with clang-tidy and -format
  • Adding DateTime implementation of ISerializable on mscorlib facade
  • For helper method frame DAC doesn't read register pointers. So set them to NULL to not use "wrong" data.
  • Always get a jitdump for AppendFormatHelper
  • Do not run local var liveness before rationalize.
  • Change warning to error for future test asset framework issues
  • [x86] Cast from long/ulong to int32/uint32 with overflow checking
  • WorkerThreadStart volatile read+cmpxchg loop
  • Less Conservative GT_OBJ
  • [WIP] Re-enable FEATURE_STUBS_AS_IL for ARM/Linux
  • Add RunBenchmarks.sh for unix-like systems
  • [x86] cast from long w/o overflow checking
  • Fix DecomposeStoreLclVar
  • Restore most serialization implementations in coreclr
  • ARM64: Test Update (d3f5a70b404386c538053cb0fe1746338ac4d342)
  • [ARM/Linux] avoid inlining: struct type return method
  • Expose new methods in System.Activator
  • Automate enhancement on the perf data collection for JIT CodeQuality benchmarks on Windows.
  • Add a CI job for openSUSE 42.1
  • Adding missing members on System Namespace
  • Expose MulticastDelegate.GetObjectData method
  • [Linux/ARM/Script] Add some features help for arm target test
  • [ARM/Linux] Fix HFA structs
  • Fix strict aliasing violation from conditional typedef of wchar_t by building entire project as C++
  • Upgrade xunit runner to 2.2.0-beta2-build3300
  • Remove usages of FillStringChecked from String
  • [WIP] Revises UMThunkStub unwindable in ARM/Linux
  • Updating External dependencies to beta-24418-00
  • Remove idiv from ThreadPoolWorkQueue:Dequeue loop
  • Specify packages.builds by default in build-packages command
  • Jitted Code Dropping Feature implemented
  • Update Tuple hashing algorithm, avoid boxing in Equals/GetHashCode calls
  • [WIP 2] Move the GC behind an interface and use that interface in the VM
  • fix for correct conversion from negative double to unsigned long in ARM
  • Set DOES_NOT_RETURN gtCallMoreFlags in fgFindJumpTargets
  • Add Debuggertests to coreclr repo(WIP)
  • Adding the missing string function to model.xml
  • Revises isSingleFloat32Struct
  • Use versions repo tooling from BuildTools
  • [Dont merge] Add TryCopyTo methods to Spans API #5857
  • Enable crossgen to use SSE2 instructions for x86
  • ConcurrentDictionary<TKey, TValue> Exceptions to ThrowHelper
  • Make TryEnsureSufficientExecutionStack public
  • Avoid creating zh-CHS/zh-CHT durng culture enumeration
  • Revises 'JitTimer::PrintCsvHeader' to use 'append' mode
  • Make GT_LIST processing non-recursive to avoid StackOverflow.
  • Fix Arm64 build breaks
  • Fix some timing code bit rot, plus minor cleanup.
  • Allow either of op1 or op2 of a bin-op to be treated as reg-optional instead of lower fixing one of the operands as reg optional.
  • Enable long multiply
  • Upgrade CLI, buildtools for RTM shared framework
  • Historical debugging feature
  • [WIP]Allow both the non-contained operands of a bin-op to be marked as reg-optional instead of lower fixing one of the operands as reg optional.
  • Implement the x87 math intrinsics for x86.
  • Create coreclr perf jobs for Linux.
  • X86: Fix inline assertion
  • Fix BBF_HAS_NULLCHECK test
  • Reduce code bloat around formatted GetResourceString calls
  • Update CoreClr, CoreFx, External to beta-24507-02, beta-24507-02, beta-24507-00, respectively (master)
  • Allow long->int "struct promotion" of do-not-enregister long locals
  • Exposes runtime functionality to Appdomain implementation in corefx
  • Suppress SymbolReader delegate error msg in release build
  • Implement GcInfo v2 for X86
  • [Linux/LLDB] Implement SetValue(s) functions from IDebugRegisters interface in LLDB plugin
  • SpinLock.TryEnter fail fast for timeout 0
  • [ARM] Enabled DoStackSnapshot API to walk the current thread's stack
  • Remove the new string.Split(string) overload
  • Fix IMGREL32 static field addr value-num blindspot
  • [ARM/Linux] Fix HFA unit test regression
  • Remove an overly fragile assertion.
  • Fix assertion regarding byteable reg when ngen'ing desktop mscorlib
  • Disable emit{Enable,Disable}GC for x86.
  • Exposing MarshalByRefObject
  • Use the existing operands for long decomposition #6925
  • Upstream source build patches
  • Add CoreCLR perf test support to Jenkins
  • Update Readme.md to lead you through basic repo workflow
  • Update CoreClr, CoreFx to beta-24611-01, beta-24610-02, respectively (master)
  • Expose some members of the Thread class
  • Add heuristic to trigger GC to finalize dead threads and clean up han…
  • Improvements to the Random class.
  • Fix Unittest: Test for DateTime string parsing
  • Updating External dependencies to servicing-24604-00
  • [no merge] Introduce a new attribute indicating a method uses StackCrawlMark
  • Lower long compares that produce a result
  • Fix lowering's containment analysis.
  • Fix ifdefs used to select the symbol reader dll name
  • Move TOC to README.md
  • Disable LLDBPLUGIN via external option
  • Don't explicitly initialize Dictionary.buckets to -1
  • Add generic overloads of Array.Copy
  • Add code to switch to BitVec data structure in CSE optimization.
  • NullReferenceException APIs
  • [ARM] Generate direct call instructions for recursive calls
  • ARM64:Increase test timeout
  • [Linux][ARM] Add Linux/ARM/SoftFP profiler
  • Enable building the RootFS for cross-compiling on Ubuntu 16.04
  • Copy CoreFX FileStream to CoreLib
  • Use getLocationOfThisType instead of embedGenericHandle
  • Enable CultureInfo netstandard 1.7 APIs on Linux
  • Fix a race condition in the test build
  • Allow Ready-to-Run image to be loaded multiple times
  • Clear side-effect flags on local reads in rationalize.
  • Enable PGO for release/1.1.0 on Windows x64
  • Update CoreClr, CoreFx to beta-24625-03, beta-24625-02, respectively (master)
  • Make sure that when the StringBuilder.Append method is called we firs…
  • Port: Invoke correct pinvoke resolution override for dynamically generated assembly.
  • Update CoreClr, CoreFx to preview1-24626-01, preview1-24626-01, respectively (release/1.1.0)
  • Update CoreClr, CoreFx to beta-24626-02, beta-24625-02, respectively (master)
  • Inliner: support inlining of methods with pinned locals
  • Optimize 'test' instruction in case of op1 == 0 or op1 != 0 where op1 is known to set Zero flag.
  • Port to Release: Add some extra checks to BinaryReader/Writer buffers
  • [Linux][GDB-JIT] Fix lldb stepping issues
  • Remove dependency of System.Globalization.Native.so on specific ICU v…
  • Fix P/Invoke cookie passing on x86.
  • Port fix passing struct with four floats in registers via reflection to 1.1.0
  • Jit: use class attributes check to reduce GC layout asks
  • implement profiler ELT callbacks for AMD64 Linux
  • [ARM/CI] Add runtest option for using dumpling service
  • Enable optimization of structs
  • Implements UMThunkStub Handler for ARM/Linux
  • Update buildtools to 1.0.26-prerelease-00914-01
  • Unify alignment constants between the GC and the VM and assert that t…
  • Inliner: ensure all statements have an inline context
  • WIP: Formatting patch with bad formatting
  • Enable optimization of structs
  • Create patches in formatting job
  • Updating External dependencies to stable
  • Updating External dependencies to servicing-24709-00
  • Expose AppDomain::AssemblyResolve
  • Expose some things for ns2.0
  • [WIP - do not merge] Remove need for separate test build in ilasm round trip scenario
  • Add some jitstress CI jobs
  • CoreDisTools: Use Common Test Dependency Infrastructure
  • [WIP - do not merge] Jit-diff automation
  • Do not fold `(x + null)` in certain cases.
  • Removed unnecessary null check, followed code style more closely
  • Reduce variable scope
  • BinaryReader: Use cached default encoding instance
  • Adding perf tests for the single precision math functions in System.MathF.
  • Enable unrolling of SIMD_LIMIT loops
  • Update CoreFx to preview1-24705-01 (release/1.1.0)
  • Refactor call arg table updates.
  • Fix assert with struct copy to/from same lclVar
  • Add String.Join overloads accepting a char separator
  • Allow LoadFrom to load assemblies in TPA
  • Remove project lock files before zipping
  • Remove redundant statement
  • x86: not all fields of promoted struct need regs
  • Fix performance problem introduced in previous change
  • [x86/Linux] Fix prototype for GCThreadStub
  • Remove the BinaryCompatibility class as it is not useful on .NET Core…
  • Change NYI to be a noway_assert if ALT_JIT is not defined
  • [x86/Linux] Fix mismatch between signature and implementation of ActivationFunctions
  • [x86/Linux] Exclude jithelp.asm for x86/Linux
  • [x86/Linux] Uses HCIMPL2 in the impl of JIT helpers
  • [x86/Linux] Adjust the definition of FnStaticBaseHelper for x86
  • [x86/Linux] Fix cannot jump from this goto statement to its label
  • [x86/Linux] Push FrameHandlerExRecord when FEATURE_PAL is not defined
  • [x86/Linux] Do not invoke VerifyValidTransitionFromManagedCode for ...
  • [x86/Linux] Disable LeaveCatch for non-Windows platforms
  • Fix x86 encoder to use 64-bit type to accumulate opcode/prefix bits
  • [x86/Linux] Revises exception handling macros for x86/Linux
  • [x86/Linux] Disable CheckStackBarrier for non-Windows platforms
  • [x86/Linux] Disable PrintSEHChain for non-Windows platforms
  • [x86/Linux] Declare CtorFtnType only when it is used
  • [x86/Linux] Fix Dacp structure size mismatch
  • [x86/Linux] Disables FrameHandlerExRecordWithBarrier for non-Windows platforms
  • [x86/Linux] Disable EHWatsonBucketTracker for non-windows platforms
  • [x86/Linux] Declare GetCallerSp when WIN64EXCEPTION (not _TARGET_X86_) is defined
  • [x86/Linux] Disable windows-specific code
  • [x86/Linux] Fix mismatch between longfilepathwrappers.cpp and longfilepathwrappers.h
  • [x86/Linux] Uses portable ROTATE_LEFT for x86/Linux
  • [x86/Linux] Fix mismatch between sortversioning.h and sortversioning.cpp
  • [x86/Linux] Fix mismatch over LPOVERLAPPED_COMPLETION_ROUTINE
  • Fix to avoid stalling the process when ETW is doing a rundown
  • StringBuilder.AppendJoin (appending lists to StringBuilder)
  • string.Join small optimization
  • [x86/Linux] Revise RealCodeHeader and CodeHeader
  • [x86/Linux] Emit compile error on porting issue when PORTABILITY_CHECK is set
  • Remove unused mscoree files and code
  • Cleaning up the extra argument in throw new ArgumentException(Argument_InvalidFlag)
  • Remove ILDASM GUI cruft
  • JIT: fix bad assumption in non-funclet EH models
  • Fix debugger launch race hitting breakpoints in startup code.
  • JIT: Remove empty try regions
  • Add version increment into Sort(Comparison<T>)
  • Fix TplEventSource diagnostic error due to mismatched signature
  • Add generic instantion argument passing description on x86
  • Update CoreClr, CoreFx to beta-24914-04, beta-24914-13, respectively (master)
  • Mark a small number of tests heap-verify-incompatible.
  • [ARM32/Linx] cross-architecture build: restrict build project list
  • [ARM32/Linux] Fix cross-architecture build error: stub generation for crossgen
  • [x86/Linux] Fix RtlRestoreContext
  • [x86/Linux] Port ''ExceptionTracker::UpdateNonvolatileRegisters'
  • [x86/Linux] Port 'HelperMethodFrame::UpdateRegDisplay'
  • [x86/Linux] Do NOT use Shadow SP
  • [x86/Linux] Port RtlVirtualUnwind (WIP)
  • Add a simple span benchmark
  • Don't treat spill temps as contained
  • Fix an error in build-test.cmd
  • [x86/Linux] (Partially) Enable FEATURE_EH_FUNCLETS
  • Impl GT_DIV in genCodeForTreeNode for Ryujit ARM32
  • Remove some Diagnostics.Eventing allocations
  • [Linux/ARM] Fix cross-architecture component build error: assembly constant check
  • Reduce CreateContinuationWrapper allocations
  • Fix JIT32_GCENCODER-related build errors
  • [x86/Linux] WIP, Stack align 16 bytes for JIT code
  • Improve int->long cast decomposition
  • Cross-compile - Added libunwind8-dev as package prerequisite
  • Enable build on old Linux
  • [Arm64/Unix] Fix SOFTWARE_WRITE_WATCH for 64K pages
  • Use ReferenceEquals instead of Delegate.op_Equality for sentinel checks
  • [Arm64] Enable FEATURE_TAILCALL_OPT
  • Fixed memory instruction selector for integer register which contants simd8 type
  • Path.GetDirectoryName() throw exception when path is empty or has only white spaces
  • Add JitBench scenario testing.
  • Fix clang version detection in src/pal/tools/gen-buildsys-clang.sh
  • FailFast stderr logging with stacktrace
  • Remove relocations from SECTION_MethodDesc for ngened images
  • Removed Dictionary<TKey, TValue>.GetValueOrDefault Methods
  • Fixed issue #11383
  • Update CoreClr, CoreFx to preview2-25305-01, preview2-25305-01, respectively (master)
  • Make CoreCLR work properly under PaX's RANDMMAP
  • [Local GC, WIP] Obtaining configuration information
  • [Arm64/Unix] Enable FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP
  • Change relocations in ngen-ed code with PC-relative constants for Linux ARM32
  • Add missing GTF_EXCEPT when importing string length intrinsic
  • [Arm64] Add emitIns_R_R_S_S & emitIns_S_S_R_R
  • Lean runs
  • Null comparer consistency
  • [release/2.0.0] Fix current publish build warnings
  • [WIP] Merge dev/perf_profiler to master
  • [WIP] Re-enable queryperformancecounter PAL test
  • [ARM/Linux] Support unaligned struct read/write
  • [WIP] [x86/Linux] Enable gcMarkFilterVarsPinned (WIN64EXCEPTIONS)
  • Add a GC Reliability Framework job to the CI
  • [Arm64/Win] Revise JIT_MemCpy
  • [ARM/Linux] Enable build with FEATURE_DBGIPC=0
  • Use relevant define for resumable frame SP handling code
  • Update CoreClr to preview1-25327-01 (master)
  • Update CoreClr, CoreFx to servicing-25327-01, servicing-25327-01, respectively (release/1.1.0)
  • Mirror changes from dotnet/corert
  • [WIP] try VARSET_TP iterator without arguments.
  • IDeserializationCallback cleanup
  • Fix failures in ETW logging on 4GB aware 32 bit processes
  • Fix optdata restore functionality
  • LinkBench: Enable Roslyn
  • extension nullable to check a box has no value or has a default value.
  • Allowing larger segment size for SOH
  • Fix timing issues in RunOnly tests
  • Fix tool initialization detection
  • [Linux][GDB-JIT] Added DWARF exprloc for static value class fields
  • Coretype variables renamed back to netfx counterpart for reflection based serialization
  • Make containedness explicit
  • Ensure that platform is considered for LongPlatformName instead of PackagePlatform
  • Test packages from current build in pipeline
  • [WIP] Lower long compares that are materialized into a register for ARM32
  • Merge remaining common arm32/arm64 lowering functions
  • [RyuJIT/ARM32] Dodge lowering long compares
  • Disable IEnumerable.GetEnumerator on RCW through IDispatch
  • ILLink Performance Tests: Enable MusicStore
  • Fixed tests build on Linux (#2)
  • [ WIP ] Partially remove relocations from Module section of NGEN-ed images
  • [x86/Linux] fix TC fails associated with CORINFO_HELP_OVERFLOW
  • [ARM32/RyuJIT] Enable passing splitted struct in registers and stack
  • Remove gtRegArgList.
  • Update CoreClr, CoreFx to preview2-25327-01, preview2-25325-03, respectively (release/2.0.0)
  • Update runtest.cmd help to reflect reality
  • Add the arm64 unix CI
  • Port #16003 to 2.1 preview1
  • [Local GC] FEATURE_EVENT_TRACE 4/n: Event ports for all GC-keyword events
  • Fix ContainerName generation
  • JIT: don't overlook strong nearby preference in LSRA
  • [WIP] Delete GenTreePtr.
  • GCPrivate, GCHandle, and GChandlePrivate events for local GC
  • WIP No Merge [Arm64] Add HWIntrinsic test
  • Enable Windows ARM32 corefx testing
  • Fix FreeBSD build and update build instructions
  • Default interface methods test fixes
  • Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02425-02, preview2-26125-07, preview2-26126-03, master-20180125-0043, respectively (master)
  • [WIP] Implement Load*/Store* for Intel HW intrinsics by reusing GT_IND/GT_STOREIND
  • [Test only] Test with tiered compilation enabled and no delay for call counting
  • [Test only] Test with tiered compilation enabled
  • Perform PhysicalMemoryLimit check for workstation GC, refactor GetLargestOnDieCacheSize into GetCacheSizePerLogicalCpu
  • Updates `Vector64<T>`, `Vector128<T>`, and `Vector256<T>` to have the appropriate packing.
  • On all platforms first member of InstructionSet enum is InstructionSet_ILLEGAL
  • Optimize Span.Copy and Span.TryCopyTo
  • Disable the TP perf legs from release/1.1.0
  • Fixing some inconsistencies in the x86 HWIntrinsic APIs
  • Event Pipe Developer Guide (docs)
  • Remove relocations for MethodTable::m_pParentMethodTable for Linux ARM
  • improve DllImport library name variation trying
  • [R2R] add a virtualStubParamInfo as an argument
  • Fix failfast stacktrace
  • [WIP] Enable testing marshalling tests for sequential layout classes
  • [Arm64] Initial HW intrinsic framework
  • Port S.N.Vector sources down to corelib
  • Debugger api to set a breakpoint on offset 0 of all methods
  • Add ETL flags for ReadyToRun
  • Fix DateTime Serialization for TraceLogging Events
  • Event pipe guid in metadata
  • Change SetGCConcurrent to TemporaryDisableConcurrentGC for profiler startup path
  • Removing the colon block that tosses out paths that are not device path.
  • [Arm64] Implement managed Short Vector ABI for Vector64<T> Vector128<T>
  • Remove EOL OSes and add new / missing ones
  • [WIP] Speed-up FP Math.Min/Max
  • JIT: look for escaping byrefs
  • Fix stack trace population to get proper source/line info for tier 1 methods
  • Implement simple SIMD intrinsics for AVX/AVX2
  • ExecuteHandlerOnOriginalStack: handle case when it is called on original stack
  • Add VSD additional param for DIRECT calls.
  • [WIP] Recognize S.N.Vector via IntrinsicAttribute
  • Implement scalar Sse2 hardware intrinsics
  • Add ReadOnlySpan string-like StartsWith and EndsWith API with globalization support
  • JIT: Allow struct promotion in GS frames
  • [WIP] Update the table-driven framework to support x86 imm-intrinsics
  • [RyuJIT/arm32] Support GTF_IND_VOLATILE and GTF_BLK_VOLATILE
  • [wip][do not merge]dummy change, test arm r2r
  • [WIP][R2R][RyuJit][ARM] Fix R2R relative indirection for arm.
  • [Arm64] Implement Simd.Insert
  • [WIP] If conversion
  • Fix SIGSEGV in EventPipe on Shutdown
  • Add environment variable (COMPlus_EnableDiagnostics) to disable debuggging and profiling
  • Improve performance of Convert.ToInt32(bool) and related functions
  • [WIP] Disable EventPipe tests at runtime rather than buildtime
  • Implement support for selecting test assemblies via runtest.{cmd|sh} command line switch
  • Fix ARM/ARM64 hijacking in tail calls
  • Fixing lambda capture unused errors.
  • Fix path issues
  • Update CoreFx to preview2-26225-01 (master)
  • Fixed mixed mode attach/JIT debugging.
  • Fixed NaN's GetHashCode and Equals invariant issue.
  • Use overriden double/float GetHashCode for default struct hashcodes
  • [Arm64/Windows] Make r2r green in CI
  • Fix ascii range check
  • Implement JitDefaultFill
  • Make _TARGET_64BIT_ macro global to coreclr
  • Add MemoryExtensions to CoreLib along with necessary SpanHelpers
  • [Arm64/Arm32] Add MemoryBarrier to ErectWriteBarrierForMT
  • [WIP] Create RefPositions without TreeNodeInfo
  • Replace sizeof(void*)-like expressions with TARGET_POINTER_SIZE macro
  • Update PgoData to release-20180222-0036 (release/2.1)
  • [Arm64] Crypto arm64 intrinsics implementation
  • [DO NOT MERGE] Fake PR to repro issue on GC test failure on CI
  • Debugger FIFO pipes are created in TMPDIR if defined #16234
  • Inlinable String.Equals for ref equality
  • Add test for GC.GetAllocatedBytesForCurrentThread
  • [RyuJIT/ARM32] Enabling fast tail call feature
  • Add NativeLibrary class
  • Separate build tests to its own pipeline
  • WIP: Vectorize String.IndexOf(char)
  • [Arm64] Mark removed compare zero nodes unused
  • Simplify test dependencies for benchmarks
  • Catch exception coming out of constraint resolution
  • Up the jit stress timeout to 5 hours
  • Fix lldb-3.9-dev package name
  • Remove unused LclVarDsc members
  • Ensure that `id->idReg2()` is properly encoded for 4-Byte SIMD instructions
  • Fix LSRA enregisterLocalVars
  • Run ILLInk on System.Private.CoreLib.dll to remove dead code and clear initlocals.
  • Failfast windows event log
  • Implement AVX Shuffle and Permute intrinsics
  • [release/1.0.0] Enable TLS 1.2 in UpdateDependencies.ps1
  • Missing Case In Remove Relative Segments
  • [release/1.1.0] Add UpdateDependencies.ps1 to fix auto-PR submission
  • Update Buildtools (DO NOT MERGE)
  • Update Buildtools (DO NOT MERGE)
  • [WIP] Add EventSource TraceLogging Support for EventPipe
  • Include Linux/cross-arch components into NuGet packages
  • Fix etmdummy.h file not found during Linux/arm crosscomponent build
  • Disable -Werror for untested compilers
  • Fix ConvertScalarToVector128(U)Int64 codegen and improve tests
  • Move windows agents to DotNetCore-Build
  • Update BuildTools, CoreClr, CoreFx to preview2-02612-01, preview2-26310-01, preview2-26312-01, respectively (master)
  • Implement SSE2 StoreNonTemporal HW intrinsic - complete SSE2 ISA
  • [Arm64] Base HW Intrinsics
  • Disable rundown tracevalidation test
  • Mark operands of dead FIELD_LIST as unused
  • [ WIP ] Fix handling of incorrect assemblies on Unix
  • Managed implementation of SetAllVector128 SSE2 helper HW intrinsic
  • Disable FEATURE_NI_BIND_FALLBACK by default for all platforms
  • Fix etl rundown test with crossgen
  • [local gc] refactor apis for threading and suspension to avoid redundant calls in to the runtime
  • Add ability to use x64 host tools when building
coreclr questions on Stackoverflow (View All Questions)
  • Is CoreCLR support System.Collection.Generic types?
  • "Could not resolve coreclr" path on Ubuntu 14.04
  • How do I mock objects in the new coreclr world?
  • Unable to load 'System.ComponentModel.DataAnnotations' from dnx using RC1 of the coreclr runtime
  • What's the difference between .NET CoreCLR, CoreRT, Roslyn and LLILC
  • How to run ASP.NET 5 web site using CoreCLR in Azure Web App?
  • Cannot use FileSystemWatcher with coreclr on ubuntu
  • Performance comparison of dnxcore50 vs dnx451? (CoreClr vs .net Framework)
  • EF7 under Linux (CoreCLR) + MSSQL = Encryption(ssl/tls) handshake failed
  • Using System.Data.SqlClient under Linux-coreclr-rc1
  • How do I get all types in loaded Assemblies with CoreClr?
  • (http) Web request provider in coreclr/dnxCore?
  • Activator.CreateInstance throws 'System.MissingMethodException' when using CoreCLR
  • Type.InvokeMember(..) in CoreCLR
  • Using mono assemblies from the .NET CoreCLR
  • How do I build a hello-world console app to run on the .NET CoreCLR?
  • Will (and how) CoreCLR out-of-band libraries have InternalCall and unsafe in untrusted environment?
  • Setting up CoreCLR and CoreFX on Ubuntu 14.04
  • HashAlgorithms in CoreCLR
  • List of .NET classes/methods which are not supported by CoreCLR, Portable, Universal Apps?
  • DNX Core CLR: Symbols not loaded with CoreCLR (Debug / Attach To IIS Process)
  • how do i build coreclr applications with dnx
  • Get assembly location in CoreCLR
  • Confusion about mono and coreclr ( OS X )
  • Running F# in CoreCLR
  • No native code debugging in CoreCLR console application projects in VS2015?
  • Reading assembly version information and custom attributes in CoreCLR
  • Get available types in CoreCLR
  • coreclr build fails on ubuntu 14.4 x64
  • CoreCLR and project Mono relationship after Microsoft open-sourced the .net, roadmap
coreclr latest release notes
v1.1.6 .NET Core 1.1.6

The January Update includes .NET Core 1.1.6 and the .NET Core SDK 1.1.7

Repos

v1.0.11 .NET Core 1.0.9

The January Update includes .NET Core 1.0.9 and the .NET Core SDK 1.1.7

Repos

v2.0.5 .NET Core 2.0.5

The January Update includes .NET Core 2.0.5 and the .NET Core SDK 2.1.4

Repos

Other projects in C#