Unter Devirtualisierung versteht man eine Compileroptimierung, die dynamische in statische Methodenaufrufe umwandelt. Dies ist insbesondere dann nützlich, wenn weitere Optimierungen (inlining,etc) darauf aufbauen können. Methoden für solche Transformationen gibt es viele; Von rein lokalen Optimierungen bis zur Datenflussanalyse.
Unser X10 Compiler besitzt bereits eine einfache lokale Optimierung und benutzt Rapid Type Analysis. Trotzdem lassen sich noch Fälle erkennen, die mit relativ geringem Aufwand optimiert werden können sollten.
Aufgabe:
In dieser Arbeit hat der Student viele Freiheiten, wie die Optimierung umzusetzen ist. Allerdings steigt dadurch auch die Eigenverantwortung.
Voraussetzungen
- Kenntnisse im Compilerbau
- Selbstständigkeit
Veröffentlichungen
Veröffentlichung |
Improved Devirtualization in libFirm |
Betreuer
Ehemalige Mitarbeiter |
---|
M.Sc. Andreas Fried |
Studenten
Studenten |
---|
Daniel Biester |