Alter Code komplett weg - RyuJIT-Umbau abgeschlossen
Kein Legacy-Code mehr im RyuJIT-Compiler. Mit dieser Meldung gab das .NET-Team den endgĂĽltigen Wandel dieser wichtigen Komponente der .NET-Runtime bekannt.
- Frank-Michael Schlede
Fast 50k an Code-Zeilen waren es, die das .NET-Entwicklerteam mit einem Merge des Pull-Requests dotnet/coreclr #18064 aus dem Source-Code des RyuJIT-Compilers entfernt hat. Damit ist der letzte Anteil an altem Legacy-Code, der noch aus vorherigen JIT-Implementierung stammt, aus dieser Software verschwunden. Somit konnte Bruce Forstall, Senior Software Design Engineer im .NET-Entwicklerteam, in einem Blogeintrag den vollständigen Wandel des RyuJIT-Compilers vermelden.
Der Weg zum Compiler fĂĽr mehrere Plattformen
Forstall führt im Blogeintrag auch aus, dass die Entwicklung dieses Compilers bereits vor fast neun Jahren startete. Das Ziel war es, RyuJIT als evolutionäre Weiterentwicklung des bisherigen .NET just-in-Time Compilers JIT32 (der die x86- und ARM32-Architekturen unterstützt) zu etablieren. Während der Roslyn C#-Compiler den C#-Code in IL-Byte-Code übersetzt, arbeitet der RyuJIT-Compiler so, dass er IL-Byte in Maschinencode für unterschiedliche Prozessoren übersetzt.
Während des Übergangs vom "alten" Compiler zu RyuJIT haben die Entwickler den alten Code noch gleichzeitig mit RyuJIT unterstützt. Daraus entstanden zwar laut Forstall durchaus auch Vorteile, es war aber sehr kostenintensiv im Hinblick auf das Testen und die Wartung des Codes. Mit der Beseitigung des Legacy-Code sei der JIT-Code nun insgesamt deutlich einfacher und übersichtlicher geworden.
RyuJIT fĂĽr x64 wurde bereits zusammen mit dem Release des .NET Framework 4.6 zur VerfĂĽgung gestellt und RyuJIT ersetzte JIT32 in .NET Core 2.0 im letzten Jahr. In dieser Version von .NET Core stand die UnterstĂĽtzung fĂĽr die ARM32-Architektur noch als Preview zur VerfĂĽgung. In .NET Core 2.1 wurde RyuJIT im Dezember des letzten Jahres dann zum ARM32 JIT fĂĽr diese Version. Die UnterstĂĽtzung von ARM64 in .NET Core 2.1 hat laut Aussagen der Entwickler nach vier Jahren fast den Preview-Status erreicht. Sie setzte von Beginn an direkt auf die RyuJIT-Architektur. (fms)