GNU-Blitz - GNU lightning

GNU-Blitze
Heckert GNU white.svg
Entwickler GNU-Projekt
Erstveröffentlichung 19. Januar 2001 ; vor 20 Jahren ( 2001-01-19 )
Stabile Version 2.1.3 (18. September 2019 ; vor 21 Monaten ) [±] ( 18.09.2019 )
Betriebssystem Plattformübergreifend
Plattform GNU
Art Just-in-time-Zusammenstellung
Lizenz GNU General Public License , GNU Lesser General Public License
Webseite Offizielle Website

GNU Lightning ist eine kostenlose Softwarebibliothek zum Generieren von Assemblercode zur Laufzeit. Version 2.1.3, veröffentlicht im September 2019, unterstützt Backends für SPARC (32-Bit), x86 (32- und 64-Bit), MIPS , ARM (32- und 64-Bit), ia64 , HPPA , PowerPC (32- Bit), Alpha , S390 und RISC-V (64-Bit).

Vorteile gegenüber anderen Bibliotheken

Die Funktionen, die GNU Lightning bietet, machen es für die Just-in-Time-Kompilierung nützlich . Im Vergleich zu Bibliotheken wie LLVM oder libJIT bietet GNU Lightning nur eine Low-Level-Schnittstelle zum Assemblieren von einer standardisierten RISC-Assemblersprache – die lose auf den SPARC- und MIPS- Architekturen basiert – in die Maschinensprache der Zielarchitektur.

Nachteile

Es bietet keine Registerzuordnung , Datenfluss- oder Kontrollflussanalyse oder Optimierung .

Befehlssatz

Der Befehlssatz von GNU Lightning basiert lose auf bestehenden RISC- Architekturen.

Typen

Bei Bedarf verarbeiten Anweisungen Daten mit diesen 9 Typen:

Art C-Äquivalent
c signiert
uc unsigniertes Zeichen
so kurz
uns unsigned short
ich int
ui unsigned int
l lange
f schweben
d doppelt

Projekte, die GNU Lightning verwenden

GNU Smalltalk , GNU Guile und CLISP verwenden GNU Lightning für die Just-in-Time-Kompilierung . GNU Lightning wurde zuerst als Werkzeug für den dynamischen Übersetzer von GNU Smalltalk von Bytecodes in nativen Code entwickelt.

Verweise

Externe Links