Institut für Computersprachen
Programmiersprachen und Übersetzer

Detailinformation

( Fenster schließen )


Diplomarbeit
Titel Interprozedurale Registerallokation für eine WAM mit fixem Registersatz
Autor Binder, Walter
Erscheinungsjahr 1997
Abstract In dieser Diplomarbeit wird eine Technik vorgestellt, die interprozedurale Registerallokationen für die Warren Abstract Machine (WAM) ermöglicht, um unnötige Datenbewegungen zu vermeiden und die Allokation von Stack-Variablen zu minimieren. Dabei wird ein fixer Registersatz verwendet und eine neue Calling Convention mit Caller Saved und Callee Saved Registern eingeführt, ähnlich wie in der Architektur moderner RISC Prozessoren. Die neue Registerallokation wird durch eine Transformation erreicht, wobei 3 vordefinierte Prädikate eingesetzt werden, die in den WAM-Code Generator pl_wam von SICStus Prolog integriert worden sind. Es werden genaue Messungen durchgeführt, um die Performance-Steigerungen durch die Transformtion zu quantifizieren. Bei deterministischen Prädikaten sind Performance-Gewinne von über 50% erreichbar, während bei nicht-deterministischen Prädikaten der Mehraufwand durch den fixen Registersatz in vielen Fällen keine Verbesserungen zulässt.
Status Verfügbar

( Fenster schließen )