start | find | index | login or register | edit
by earl, 4157 days ago
Gal and Franz (2006), "Incremental Dynamic Code Generation with Trace Trees":
"The unit of compilation for traditional just-in-time compilers is the method. We have explored trace-based compilation, in which the unit of compilation is a loop, potentially spanning multiple methods and even library code. Using a new intermediate representation that is discovered and updated lazily on-demand while the program is being executed, our compiler generates code that is competitive with traditional dynamic compilers, but that uses only a fraction of the compile time and memory footprint."
As mentioned earlier (2007-11-30), Tamarin-tracing is an experimental trace-based JIT-compiler for JavaScript/ECMAScript. And if that's not enough to wetten your trace-based JITter interest, [create Mike Pall] recently posted about his work on LuaJIT 2.0, which will bring trace-based optimization goodness to Lua. Mike gives a very nice and quick introduction to compilation using traces. The paper by Gal and Franz describes the construction of traces at runtime and shows how multiple interleaving traces can be connected to form "trace trees". Meanwhile, if you want to play around a bit with Tamarin-tracing, Chris Double wrote a quick intro that may help in getting you started.
powered by vanilla
echo earlZstrainYat|tr ZY @. • esa3 • online for 6687 days • c'est un vanilla site