GCC: JIT-Compiler in Bytecode-Interpreter einbauen

Ein Patch für die GNU Compiler Collection soll es ermöglichen, einen Jit-Compiler in einen Bytecode-Interpreter oder ähnliche Programme einzubetten.

Artikel veröffentlicht am ,
Ein JIT-Compiler für GCC
Ein JIT-Compiler für GCC (Bild: GCC)

Der Red-Hat-Entwickler David Malcolm hat einen Patch für die GNU Compiler Collection (GCC) vorgestellt, der ein JIT-Compiler-API bereitstellt und GCC als Backend nutzt. Die Bibliothek soll sich auf diese Weise dynamisch in Bytecode-Interpreter linken lassen, oder in ähnliche Programme, die Maschinencode zur Laufzeit erstellen wollen.

Stellenmarkt
  1. IT-Netzwerk-Ingenieur (m/w/d)
    Techniker Krankenkasse, Hamburg
  2. Product Information Management Specialist (m/w/d)
    SICK AG, Waldkirch
Detailsuche

Die Bibliothek, die das API bereitstellt - Libgccjit - nutzt Libbackend, weshalb sie auf GCC wie ein normales Frontend wirkt, allerdings führt der Parsing-Hook eine Callback-Funktion des Client-Codes aus. Danach wird der Code an das interne API übergeben und Funktionen oder Typen erstellt. In den Code selbst ist ein Ablaufdiagramm integriert, das die Funktionsweise besser erklären soll. Das API versteckt also die Interna von GCC und versucht zudem, typensicherer zu sein als GCC selbst.

Noch sei der Code als sehr experimentell einzustufen und enthalte einige sehr große Hacks - einige davon sind im Code sogar als "ekelhaft" kommentiert. Aber mit Hilfe des APIs kann tausendfach hintereinander erfolgreich Quellcode innerhalb eines laufenden Prozesses übersetzt werden. Was Malcolm mit einer kleinen Versuchsanordnung aus selbst geschriebenem Bytecode-Interpreter beweist.

Die API ist in C verfasst und verwendet C-Terminologie, da es Malcolm zufolge wahrscheinlich ist, dass Nutzer den JIT-kompilierten Code in C- oder C++-Programme einfügen wollten. Der Quellcode des JIT-Compilers steht in einem eigenen Git-Repository Malcolms zum Download bereit. Das Kompilieren funktioniert ihm zufolge derzeit aber noch unzuverlässig.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Eichrechtsverstoß
Tesla betreibt gut 1.800 Supercharger in Deutschland illegal

Teslas Supercharger in Deutschland sind wie viele andere Ladesäulen nicht gesetzeskonform. Der Staat lässt die Anbieter gewähren.

Eichrechtsverstoß: Tesla betreibt gut 1.800 Supercharger in Deutschland illegal
Artikel
  1. Bitblaze Titan samt Baikal-M: Russischer Laptop mit russischem Chip ist fast fertig
    Bitblaze Titan samt Baikal-M
    Russischer Laptop mit russischem Chip ist fast fertig

    Ein 15-Zöller mit ARM-Prozessor: Der Bitblaze Titan soll sich für Office und Youtube eignen, die Akkulaufzeit aber ist fast schon miserabel.

  2. Quartalsbericht: Huawei steigert den Umsatz trotz US-Sanktionen wieder
    Quartalsbericht
    Huawei steigert den Umsatz trotz US-Sanktionen wieder

    Besonders im Bereich Cloud erzielt Huawei wieder Zuwächse.

  3. Maschinelles Lernen und Autounfälle: Es muss nicht immer Deep Learning sein
    Maschinelles Lernen und Autounfälle
    Es muss nicht immer Deep Learning sein

    Nicht nur das autonome Fahren, sondern auch die Fahrzeugsicherheit könnte von KI profitieren - nur ist Deep Learning nicht unbedingt der richtige Ansatz dafür.
    Von Andreas Meier

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Günstig wie nie: Palit RTX 3080 Ti 1.099€, Samsung SSD 2TB m. Kühlkörper (PS5) 219,99€, Samsung Neo QLED TV (2022) 50" 1.139€, AVM Fritz-Box • Asus: Bis 840€ Cashback • MindStar (MSI RTX 3090 Ti 1.299€, AMD Ryzen 7 5800X 288€) • Microsoft Controller (Xbox&PC) 48,99€ [Werbung]
    •  /