Abo
  • IT-Karriere:

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. Advanced Business Computer Consult GmbH, Volxheim
  2. Universität Konstanz, Konstanz

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.



Anzeige
Spiele-Angebote
  1. (-78%) 11,00€
  2. 34,99€
  3. 4,31€

ArneBab 11. Dez 2013

Sehe ich auch so. Ich habe nicht kommentiert, weil der Artikel schön alles zusammenfasst...


Folgen Sie uns
       


Transparenter OLED-Screen von Panasonic angesehen (Ifa 2019)

Der transparente OLED-Fernseher von Panasonic rückt immer näher. Auf der Ifa 2019 steht ein Prototyp, der schon jetzt Einrichtungsideen in den Kopf ruft.

Transparenter OLED-Screen von Panasonic angesehen (Ifa 2019) Video aufrufen
Garmin Fenix 6 im Test: Laufzeitmonster mit Sonne im Herzen
Garmin Fenix 6 im Test
Laufzeitmonster mit Sonne im Herzen

Bis zu 24 Tage Akkulaufzeit, im Spezialmodus sogar bis zu 120 Tage: Garmin setzt bei seiner Sport- und Smartwatchserie Fenix 6 konsequent auf Akku-Ausdauer. Beim Ausprobieren haben uns neben einem System zur Stromgewinnung auch neue Energiesparoptionen interessiert.
Ein Test von Peter Steinlechner

  1. Fenix 6 Garmins Premium-Wearable hat ein Pairing-Problem
  2. Wearable Garmin Fenix 6 bekommt Solarstrom

Surface Hub 2S angesehen: Das Surface Hub, das auch in kleine Meeting-Räume passt
Surface Hub 2S angesehen
Das Surface Hub, das auch in kleine Meeting-Räume passt

Ifa 2019 Präsentationen teilen, Tabellen bearbeiten oder gemeinsam auf dem Whiteboard skizzieren: Das Surface Hub 2S ist eine sichtbare Weiterentwicklung des doch recht klobigen Vorgängers. Und Microsofts Pläne sind noch ambitionierter.
Ein Hands on von Oliver Nickel

  1. Microsoft Nutzer berichten von defektem WLAN nach Surface-Update
  2. Surface Microsofts Dual-Screen-Gerät hat zwei 9-Zoll-Bildschirme
  3. Centaurus Microsoft zeigt intern ein Surface-Gerät mit zwei Displays

Party like it's 1999: Die 510 letzten Tage von Sega
Party like it's 1999
Die 510 letzten Tage von Sega

Golem retro_ Am 9.9.1999 kam in den USA mit der Sega Dreamcast die letzte Spielkonsole der 90er Jahre auf den Markt. Es sollte auch die letzte Spielkonsole von Sega werden. Aber das wusste zu diesem Zeitpunkt noch niemand.
Von Martin Wolf


      •  /