Trace-based just-in-time type specialization for dynamic languages

  title={Trace-based just-in-time type specialization for dynamic languages},
  author={Andreas Gal and Brendan Eich and Mike Shaver and D. Anderson and David Mandelin and M. Haghighat and Blake Kaplan and Graydon Hoare and Boris Zbarsky and Jason Orendorff and J. Ruderman and E. W. Smith and Rick Reitmaier and Michael Bebenita and Mason Chang and M. Franz},
  booktitle={PLDI '09},
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 generic code that can handle all possible type combinations at runtime. We present an alternative compilation technique for dynamically-typed languages that identifies frequently executed loop traces at run-time and then generates machine code on the fly that is specialized for the actual dynamic types occurring on… Expand
339 Citations
Code Versioning and Extremely Lazy Compilation of Scheme
  • 5
  • PDF
Stream-Based Dynamic Compilation for Object-Oriented Languages
  • 4
Removing checks in dynamically typed languages through efficient profiling
  • 6
  • PDF
Trace-based Just-intime Compilation for Haskell
  • PDF
Analysis and Optimization of Engines for Dynamically Typed Languages
  • 7