4 ms·
Also of interest, are trace compilers suited for static languages? http://www.freelists.org/post/luajit/Are-trace-compilers-suited-for-static-languages,1 http:
by eloff 13y ago
Also of interest, are trace compilers suited for static languages?
http://www.freelists.org/post/luajit/Are-trace-compilers-suited-for-static-languages,1 http://www.freelists.org/post/luajit/Are-trace-compilers-sui...
- rayiner 13y agoSome of the original work on trace compilation was done in the context of Java, a static language: http://static.usenix.org/event/vee06/full_papers/p144-gal.pdf http://static.usenix.org/event/vee06/full_papers/p144-gal.pd.... What trace compilation buys you is: 1) elimination of method call boundaries in analysis; 2) elimination of data flow merges. Dynamic languages benefit particularly from these characteristics because their semantics are replete with method calls and data flow merges (e.g. after any generic operation). But static languages can have these qualities too.
- mikemike 13y agoTo give credit, where credit is due: the original work on trace compilation is much, much older. The paper you cited is an application. The fundamental papers to hunt for are Joseph A. Fisher's publications on trace scheduling (sadly, his PhD thesis from the 70ies is nowhere to be found online) and the Multiflow reports from the 90ies. The Dynamo paper built upon that foundation ten years later in '99 (get the full HP report, not the short summary). A related research area is about trace caches for use in CPUs with various papers from the 90ies. AFAIK there's no up-to-date comprehensive summary of the state of research on trace compilers. Most papers don't even scratch the surface of the challenges you'll face when building a production-quality trace compiler.
- chrismonsanto 13y ago> AFAIK there's no up-to-date comprehensive summary of the state of research on trace compilers. Most papers don't even scratch the surface of the challenges you'll face when building a production-quality trace compiler. In general, there are few good + comprehensive resources for advanced compilation techniques. I would gladly fork over $$$ if you wrote a textbook on tracing compilers aimed at people who have expert-level knowledge in more traditional compilation methods (aka, not JIT).
- ldc 13y agoFisher's thesis is actually available on the internet archive: https://archive.org/details/optimizationofho00fish https://archive.org/details/optimizationofho00fish
- mikemike 13y agoOh, great! Thank you very much!