SPLASH 2014
Mon 20 - Fri 24 October 2014 Portland, Oregon, United States
Wed 22 Oct 2014 14:15 - 14:37 at Salon E - Domain Specific Languages Chair(s): Yannis Smaragdakis

There are many domain libraries, but despite the performance benefits of compilation, domain-specific languages are comparatively rare due to the high cost of implementing an optimizing compiler. We propose commensal compilation, a new strategy for compiling embedded domain-specific languages by reusing the massive investment in modern language virtual machine platforms. Commensal compilers use the host language’s front-end, use an autotuner instead of optimization heuristics, and use host platform APIs that enable back-end optimizations by the host platform JIT. The cost of implementing a commensal compiler is only the cost of implementing the domain-specific optimizations. We demonstrate the concept by implementing a commensal compiler for the stream programming language StreamJIT atop the Java platform. Our compiler achieves performance comparable to StreamIt’s native code (via GCC) compiler with considerably less implementation effort.