.NET Internals

So funktioniert der Just-in-Time-Compiler von .NET

06.07.2018, 08:30 Uhr
MVP Matt Warren hat sich den Just-in-Time-Compiler (JIT) von .NET genauer angesehen. In einem Blogpost beschreibt er, was er herausgefunden hat.
Der Übersetzungsprozess von .NET ist zweistufig. Der Compiler in Visual Studio beziehungsweise Roslyn erzeugt aus dem C#-, F#- oder Visual-Basic-Quellcode die Intermediate Language (IL). Dateien mit diesem Code werden dann auf den Zielrechner verteilt. Dort sorgt die Common Language Runtime (CLR) dann für die Ausführung.
Matt war lange Zeit der Meinung, dass der JIT ein einfacher Service ist, der IL-Code entgegennimmt und Maschinencode zurückgibt. Aber die Verhältnisse sind wohl etwas komplizierter, wie er in seinem Blogpost dokumentiert. So arbeiten die CLR und der JIT intensiv zusammen. Sie sind "joined at the hip".
Zentrales Modul in der CLR ist die Execution Engine (EE). Diese exportiert genauso wie der JIT über ein Interface, dass der jeweilige Partner implementieren muss. Über diese Methoden kommunizieren die beiden während der Ausführung. Die Details finden Sie im Blogpost.

Autor(in)

Das könnte sie auch interessieren
Testen
Native AOT-Anwendungen mit MSTest testen
Exaloop
Codon macht Python schneller
LLVM
PartialExecuter: WebAssembly-Größe reduzieren
Compiler-Backend von Microsoft
RyuJIT: Neuer Just in Time Compiler ist fertig
Mehr News?
Besuchen Sie unsere Seite ...
https://www.dotnetpro.de
nach oben