JIT-Compiler

Ein JIT-Compiler ist ein Just-In-Time Compiler (Echtzeit-Compiler) und gehört zu einer virtuellen Maschine, wie z. B. der Java Virtual Machine (JVM) oder der Common Language Runtime (CLR)  des .NET Frameworks von Microsoft.  Die CLR wie auch die JVM erzeugen zuerst einen Zwischencode: dieser Bytecode wird von dem JIT-Compiler erst bei Laufzeit des Programmes in Maschinen-Code, den der Prozessor direkt ausführen kann, übersetzt. Dadurch ist eine Plattformunabhängigkeit  gegeben und die Programmausführung für dynamische Programmiersprachen kann bei hochentwickleten JIT-Compilern beschleunigt werden, da dynamische Optimierungen durchgeführt werden können.  Compiler welche den fertigen Maschinen-Code vor der Laufzeit des Programmes erzeugen werden als Ahead-of-Time-Compiler (AOT-Compiler) bezeichnet. Bei AOT-Compilern ist der Code allerdings nicht mehr plattformunabhängig. Dafür sind die Programme zur  Laufzeit i.d.R. schneller, da sie schon fertig kompiliert sind. Im Rahmen der CLR kompiliert der Just-in-Time-Compiler das in der Common Intermediate Language (CLR)  oder früher auch Microsoft Intermediate Language (MSIL) genannt vorliegende Programm zur Laufzeit in Maschinencode und optimiert dabei den Code für die jeweilige Plattform und insbesondere den Prozessortyp.  Dadurch ist Plattform- und Sprachunabhängigkeit gegeben. Die CIL ist eine Zwischensprache der CLR: sie ist eine objektorientierte Assemblersprache und stackbasiert.                                           
Siehe auch:    Dot-NET   Dot-NET-Framework-3-0   Compiler   CLR   Microsoft   Java   Assembler   Quellcode