Wed 17 Jun 2015 16:00 - 16:25 at PLDI Main RED (Portland 256) - Potpourri Chair(s): Tiark Rompf

Runtime metaprogramming enables many useful applications and is often a convenient solution to solve problems in a generic way, which makes it widely used in frameworks, middleware, and domain-specific languages. However, powerful metaobject protocols are rarely supported and even common concepts such as reflective method invocation or dynamic proxies are not optimized. Solutions proposed in literature either restrict the metaprogramming capabilities or require application or library developers to apply performance improving techniques.

For overhead-free runtime metaprogramming, we demonstrate that dispatch chains, a generalized form of polymorphic inline caches, are a simple optimization at the language implementation level. Our evaluation shows that unrestricted metaobject protocols can be realized without runtime overhead for the first time. Furthermore, we demonstrate that optimizing common reflective operations can lead to significant performance improvements for existing applications.

PLDI 2015 Artifact Evaluated Badge

Wed 17 Jun

pldi2015-papers
16:00 - 17:40: Research Papers - Potpourri at PLDI Main RED (Portland 256)
Chair(s): Tiark RompfPurdue & Oracle Labs
pldi2015-papers16:00 - 16:25
Talk
Stefan MarrInria, France, Chris SeatonOracle Labs / University of Manchester, Stéphane Ducasse INRIA Lille
Media Attached
pldi2015-papers16:25 - 16:50
Talk
Media Attached
pldi2015-papers16:50 - 17:15
Talk
Alan LeungUniversity of California, San Diego, John SarracinoUniversity of California, San Diego, Sorin LernerUniversity of California, San Diego
Media Attached
pldi2015-papers17:15 - 17:40
Talk
Brandon LuciaCarnegie Mellon University, Benjamin RansfordUniversity of Washington
Media Attached