Fri 30 Oct 2015 14:37 - 15:00 at Grand Station 2 - 12. Performance Chair(s): Tiark Rompf

This paper presents an algorithm for off-line partial evaluation of machine code. The algorithm follows the classical two-phase approach of binding-time analysis (BTA) followed by specialization. However, machine-code partial evaluation presents a number of new challenges, and it was necessary to devise new techniques for use in each phase. - Our BTA algorithm makes use of an instruction-rewriting method that ``decouples'' multiple updates performed by a single instruction. This method counters the cascading imprecision that would otherwise occur with a more naive approach to BTA. - Our specializer specializes an explicit representation of the semantics of an instruction, and emits residual code via machine-code synthesis. Moreover, to create code that allows the stack and heap to be at different positions at run-time than at specialization-time, the specializer represents specialization-time addresses using symbolic constants, and uses a symbolic state for specialization. Our experiments show that our algorithm can be used to specialize binaries with respect to commonly used inputs to produce faster binaries, as well as to extract an executable component from a bloated binary.

Fri 30 Oct

Displayed time zone: Eastern Time (US & Canada) change

13:30 - 15:00
12. PerformanceOOPSLA at Grand Station 2
Chair(s): Tiark Rompf Purdue & Oracle Labs
13:30
22m
Talk
Automating Ad-hoc Data Representation TransformationsOOPSLA Artifact
OOPSLA
Vlad Ureche EPFL, Switzerland, Aggelos Biboudis University of Athens, Yannis Smaragdakis University of Athens, Martin Odersky EPFL, Switzerland
Pre-print Media Attached
13:52
22m
Talk
Tracing vs. Partial Evaluation: Comparing Meta-compilation Approaches for Self-Optimizing InterpretersOOPSLA Artifact
OOPSLA
Stefan Marr INRIA, France, Stéphane Ducasse INRIA, France
Link to publication Media Attached
14:15
22m
Talk
Effectively Mapping Linguistic Abstractions for Message-Passing Concurrency to Threads on the Java Virtual Machine
OOPSLA
Ganesha Upadhyaya Iowa State University, USA, Hridesh Rajan Iowa State University, USA
DOI Pre-print Media Attached
14:37
22m
Talk
Partial Evaluation of Machine Code
OOPSLA
Venkatesh Srinivasan University of Wisconsin-Madison, USA, Thomas Reps University of Wisconsin - Madison and Grammatech Inc.
DOI Media Attached