Original-URL des Artikels: https://www.golem.de/news/compilersammlung-gcc-5-1-erscheint-mit-jit-kompilierung-1504-113671.html    Veröffentlicht: 22.04.2015 17:48    Kurz-URL: https://glm.io/113671

Compilersammlung

GCC 5.1 erscheint mit Jit-Kompilierung

Die stabile Version 5.1 von GCC bringt zusätzlich zum neuen Namensschema eine Bibliothek für Jit-Compiler. Unterstützt werden OpenMP 4.0 und OpenACC. Als Standard wird nun außerdem C11 verwendet, C++11 wird voll unterstützt.

Mit einem neuen Versionsschema ist die aktuelle Version der GNU Compiler Collection erschienen. Die nun veröffentlichte erste stabile Version des 5er-Zweigs trägt die Nummer 5.1, ein für den Sommer geplantes Updates wird als 5.2 erscheinen. Die nächste Version mit grundlegenden Änderungen wird voraussichtlich in einem Jahr als GCC 6.1 bereitstehen.

Eine der größten Neuerungen in GCC 5.1 ist eine Jit-Compiler-API (libgccjit), dessen Entwicklung vor etwa eineinhalb Jahren gestartet worden ist. Genutzt werden kann die Bibliothek etwa, um einen Interpreter zu schreiben, der Bytecode zu Maschinencode Jit-kompiliert.

Damit rückt GCC dem Funktionsumfang des zweiten großen freien Compilerprojektes, LLVM, wieder etwas näher. Letzteres bietet eine solche Möglichkeit seit Jahren, die unter anderem auch den Code noch weiter optimieren kann. Eingesetzt wird dies von vielen verschiedenen Programmen wie zum Beispiel in dem Javascript-Backend von Webkit oder bei dem von Dropbox initiierten Pyston, einer Implementierung von Python 2.7.

Neue Standards der C-Familie

Das Frontend zum Kompilieren von C++-Code unterstützt nun vollständig den 2014er-Sprachstandard. Die in GCC enthaltene C++-Standardbibliothek erlaubt die Verwendung von C++11 in vollen Umfang, Tests mit C++14 können aber ebenso durchgeführt werden. Ermöglicht wird der Einsatz von C++11 durch die Einführung eines sogenannten Dual-ABIs.

Standardmäßig verwendet darüber hinaus nun auch das C-Frontend den aktuellen Sprachstandard C11, samt den GNU-Erweiterungen. Davon betroffen ist die Semantik bestimmter Code-Bestandteile, die eventuell portiert werden müssen.

Bereits seit einem Jahr wird die OpenMP-Spezifikation in Version 4.0 unterstützt. In GCC 5.1 können die Offloading-Funktionen auch in den Compilern für C, C++ und Fortran genutzt werden. Spezielle Anpassungen zur Verwendung von Intels Xeon Phi sind ebenso verfügbar. In Vorbereitung ist die Umsetzung des Standards OpenACC 2.0, der bereits getestet werden kann.

Viele Verbesserungen der Interna

Zur Interprozeduralen Optimierung kann nun auch das Zusammenlegen von identischem Code genutzt werden. Dieses Verhalten weist leichte Unterschiede zu den bisher vom Gold-Linker vorgenommenen Arbeiten. Damit können beispielsweise 31.000 Funktionen beim Kompilieren von Firefox zusammengeführt werden, was etwa 14 Prozent der gesamten Codebasis entspricht. Das Entwicklerteam hat ebenso Verbesserungen an der Link-Time-Optimierung umgesetzt und den Umgang bei der Zuweisung lokaler Register umgestaltet.

Die Compilersammlung GCC 5.1 steht über die FTP-Server des GNU-Projekts zum Download bereit. Eine Liste der Änderungen bietet das Projekt auf seiner Webseite.  (sg)


Verwandte Artikel:
RPM-OSTree: Atomare Upgrades für Fedora 22 geplant   
(14.01.2015, https://glm.io/111699 )
LLVM-Konkurrenz: GCC bekommt JIT-Compiler   
(13.11.2014, https://glm.io/110530 )
LLILC: Microsoft veröffentlicht LLVM-basierten Compiler für .NET   
(14.04.2015, https://glm.io/113488 )
Python: Pypy unterstützt Python 3   
(23.06.2014, https://glm.io/107378 )
HHVM: Facebooks JIT-Compiler für PHP ist schneller und kompatibler   
(20.12.2013, https://glm.io/103511 )

© 1997–2020 Golem.de, https://www.golem.de/