Moderne Programmiersprachen mit Garbage Collection bieten üblicherweise
nur eine Methode der Allokation an, bei welcher der Heap benutzt wird.
Diese Form der Allokation ist mit einem gewissen Overhead bei der Speicherverwaltung verbunden.
Aus Performancegründen ist es daher oft lohnenswert, Objekte auf dem Stack zu allokieren.
Compiler oder virtuelle Maschinen für Programmiersprachen mit Garbage Collection enthalten oft eine Optimierung, die Heap-Allokationen automatisch in Stack-Allokationen umwandelt, falls dadurch die Programm-Semantik nicht verändert wird.
Notwendige Voraussetzung für eine solche Optimierung im Compiler ist die Escape-Analyse.
Aufgabe:
Aufgabe dieser Arbeit ist die Implementierung von Analyse und Optimierung im Rahmen der FIRM-Bibliothek.
Eine Evaluierung der Optimierung mit Hilfe der zur Verfügung stehenden Java-Bytecode- und X10-Frontends ist wünschenswert.
Voraussetzungen
- Programmiererfahrung mit C und libFirm hilfreich
- Spaß am Compilerbau
Veröffentlichungen
Betreuer
Studenten