Advanced Optimizations in Dynamic Language Compiler

Daniel Ponte Balas · Digital Repository (National Repository of Grey Literature) · 2012

Dynamic programming languages are designed to be interpreted and consequently perform a considerable amount of runtime type checking. In contrast, compilers for statically typed languages can remove this class of checks using information known at compile-time. This thesis aims to improve Phalanger, a compiler of PHP language for CIL, by introducing advanced static program analyses to its compilation process in order to remove some, or most, of dynamic operations that are now performed at runtime by Phalanger-compiled programs. We show that using a carefully designed control flow analysis and subsequent type analysis we are able to improve the performance of simple PHP programs several times.

Read the paper · More papers on PaperTik