IL2CPU

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
IL2CPU
DeveloperCosmos Project
Stable release
Release 20221121 / 21 November 2022; 3 years ago (2022-11-21)
Repositorygithub.com/CosmosOS/IL2CPU
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Available inEnglish
    LicenseBSD
    Websitegithub.com/CosmosOS

    IL2CPU (IL To CPU) is an ahead-of-time (AOT) compiler for .NET that is written using one of its Common Intermediate Language compliant languages (C#). It translates Common Intermediate Language to bare metal machine code. IL2CPU is the primary compilation component of the Cosmos Project, and is developed by the same team.

    History

    [edit | edit source]

    IL2CPU was created in 2005 by the Cosmos team. It was originally designed for the .NET Framework, but has since been upgraded to .NET Core, which is now known as just .NET.

    As of 2022, it is planned to be superseded by .NET's native ahead-of-time (AOT) compiler, NativeAOT, however it is still in active development.

    As of late 2024 two from the core development team have started work on porting IL2CPUs plug system to .NET's native ahead-of-time (AOT) compiler in hopes to replace the current setup

    Technical details

    [edit | edit source]

    IL2CPU is a console program invoked by the Cosmos build process. It takes in a dynamic link library (DLL) file, systematically scans its opcodes and outputs x86 instructions to be consumed by one of Cosmos's output methods, e.g. to create an ISO disk image file or to be booted over the network via PXE.

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    [edit | edit source]