Tracing algorithms visit reachable nodes in a graph and are central to activities such as garbage collection, marshalling etc. Traditional sequential algorithms use a worklist, re...
An aspect observes the execution of a base program; when certain actions occur, the aspect runs some extra code of its own. In the AspectJ language, the observations that an aspec...
Chris Allan, Pavel Avgustinov, Aske Simon Christen...
—This paper explores the use of compiler optimizations which optimize the layout of instructions in memory. The target is to enable the code to make better use of the underlying ...
The CPS transformation dates back to the early 1970's, where it arose as a technique to represent the control flow of programs in -calculus based programming languages as -te...
Dynamic languages such as JavaScript are more difficult to compile than statically typed ones. Since no concrete type information is available, traditional compilers need to emit...
Andreas Gal, Brendan Eich, Mike Shaver, David Ande...