TU Darmstadt / ULB / TUbiblio

Next in line, Please!: Exploiting the Indirect Benefits of Inlining by Accurately Predicting Further Inlining

Sewe, Andreas ; Jochem, Jannik ; Mezini, Mira (2011)
Next in line, Please!: Exploiting the Indirect Benefits of Inlining by Accurately Predicting Further Inlining.
5th workshop on Virtual Machines and Intermediate Languages. Portland, OR, USA (24 Oct 2011)
doi: 10.1145/2095050.2095102
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

Inlining is an important optimization that can lead to significant runtime improvements. When deciding whether or not to inline a method call, a virtual machine has to weigh an increase in compile time against the expected decrease in program time. To estimate the latter, however, state-of-the-art heuristics only use information local to the call-site in question. But inlining is a powerful enabling optimization; by eliminating the actual call it not only offers an obvious direct benefit but also indirect benefits, as information about the method's arguments is propagated from caller to callee. One such indirect benefit is the elimination of guards in case the callee inlines a method called on one of its arguments. In this paper, we show how to enhance an inlining heuristic by accurately predicting where this further inlining occurs—and where not. To do so, we only use information readily available to many virtual machines: the program's dynamic call graph. An implementation based on Jikes RVM demonstrates that this information can be used to successfully exploit inlining's indirect benefits while at the same time reducing compilation effort.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2011
Autor(en): Sewe, Andreas ; Jochem, Jannik ; Mezini, Mira
Art des Eintrags: Bibliographie
Titel: Next in line, Please!: Exploiting the Indirect Benefits of Inlining by Accurately Predicting Further Inlining
Sprache: Englisch
Publikationsjahr: 2011
Ort: New York, NY, USA
Verlag: ACM
Buchtitel: Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE!'11, AOOPES'11, NEAT'11 & VMIL'11
Reihe: SPLASH '11 Workshops
Veranstaltungstitel: 5th workshop on Virtual Machines and Intermediate Languages
Veranstaltungsort: Portland, OR, USA
Veranstaltungsdatum: 24 Oct 2011
DOI: 10.1145/2095050.2095102
Kurzbeschreibung (Abstract):

Inlining is an important optimization that can lead to significant runtime improvements. When deciding whether or not to inline a method call, a virtual machine has to weigh an increase in compile time against the expected decrease in program time. To estimate the latter, however, state-of-the-art heuristics only use information local to the call-site in question. But inlining is a powerful enabling optimization; by eliminating the actual call it not only offers an obvious direct benefit but also indirect benefits, as information about the method's arguments is propagated from caller to callee. One such indirect benefit is the elimination of guards in case the callee inlines a method called on one of its arguments. In this paper, we show how to enhance an inlining heuristic by accurately predicting where this further inlining occurs—and where not. To do so, we only use information readily available to many virtual machines: the program's dynamic call graph. An implementation based on Jikes RVM demonstrates that this information can be used to successfully exploit inlining's indirect benefits while at the same time reducing compilation effort.

Freie Schlagworte: guard elimination, indirect benefits, inlining
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik > Softwaretechnik
LOEWE > LOEWE-Zentren > CASED – Center for Advanced Security Research Darmstadt
20 Fachbereich Informatik
Zentrale Einrichtungen
LOEWE
LOEWE > LOEWE-Zentren
Hinterlegungsdatum: 24 Jan 2012 14:57
Letzte Änderung: 05 Mär 2013 09:57
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen