JIT-Compiler auf GCC-Basis

Die Softwarebibliothek libgccjit.so hat derzeit noch experimentellen Charakter, könnte aber kurz oder lang in die GCC-Codebasis einziehen.

In Pocket speichern vorlesen Druckansicht 20 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Alexander Neumann

Der Red-Hat-Entwickler David Malcolm hat einen JIT-Compiler (Just In Time) auf Basis der GNU Compiler Collection (GCC) vorgestellt. Die Softwarebibliothek libgccjit.so hat derzeit noch experimentellen Charakter und weist auch noch etliche Fehler auf, Malcolm hofft aber, dass sein "Proof of Concept" irgendwann in die GCC-Codebasis einzieht.

Mit der GCC als Backend nutzenden Bibliothek erhält der Compiler eine API für die JIT-Kompilierung. Sie ermöglicht die dynamische Verlinkung mit Bytecode-Interpretern und ähnlichen Programmen, die Entwickler zum Übersetzen in Maschinencode zur Laufzeit heranziehen. Damit ließe sich beispielsweise die Programmiersprache C als Skriptsprache für Erweiterungen nutzen. Das selbst ist nicht neu, so gibt es schon einige proprietäre und quelloffene C-Interpreter, abgesehen davon, dass JavaScript, für das es ebenfalls viele bewährte JIT-Compiler gibt, die vermutlich naheliegendste Wahl für solch Aufgaben sein dürfte.

Mit Malcolms Bibliothek soll eine neue Option zur GCC-Kompilierung entstehen, über die sich der GNU C Compiler als dynamische Bibliothek erstellen lässt, die wiederum Programme laden kann und deren Compiler sich über die C-API starten lässt. Malcom hat außerdem begonnen, an einer Portierung seiner Bibliothek für Python zu arbeiten. (ane)