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.10.2011-24.10.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.10.2011-24.10.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 |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |