Runtime feedback in a meta-tracing JIT for efficient dynamic languages
Carl Friedrich Bolz, Antonio Cuni, Maciej Fijałkowski, Michaël Leuschel, Samuele Pedroni, Armin Rigo · 2011
Meta-tracing JIT compilers can be applied to a variety of different languages without explicitly encoding language semantics into the compiler. So far, they lacked a way to give the language implementor control over runtime feedback. This restricted their performance. In this paper we describe the mechanisms in PyPy's meta-tracing JIT that can be used to control runtime feedback in language-specific ways. These mechanisms are flexible enough to express classical VM techniques such as maps and runtime type feedback.