UNB/ CS/ David Bremner/ teaching/ cs6999/ reference

Virtual Machines

The main book we will follow (at least for the first 6 chapters) is

Smith, Nair. (2005): Virtual machines - versatile platforms for systems and processes. Elsevier. Available from UNB Library


A Survey on JIT Compilation
Aycock. (2003): A brief history of just-in-time. ACM Computing Surveys. 35, 97--113.
A paper on VM / JIT warmup
Barrett, Bolz-Tereick, Killick, Mount, Tratt. (2017): Virtual machine warmup blows hot and cold. Proceedings of the ACM on Programming Languages. ACM. 1(OOPSLA), 52.

Python JITs

Rigo. (2004): Representation-based Just-in-time Specialization and the Psyco Prototype for Python. Proceedings of the 2004 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Manipulation. ACM. 15--26.
  • Bolz, Cuni, Fijalkowski, Rigo. (2009): PyPy}'s Tracing {JIT. Proceedings of the 4th Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems. ACM. 18--25.
  • Rigo, Pedroni. (2006): PyPy's Approach to Virtual Machine Construction. Companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications. ACM. 944--953.
Barany. (2014): pylibjit: A JIT Compiler Library for Python. Software Engineering (Workshops). 213--224.
Akeret, Gamper, Amara, Refregier. (2015): HOPE: A Python just-in-time compiler for astrophysical computations. Astronomy and Computing. 10, 1 - 8.
Lam, Pitrou, Seibert. (2015): Numba: A LLVM-based Python JIT Compiler. Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC. ACM. 7:1--7:6.


Gaudet, Stoodley. (2016): Rebuilding an Airliner in Flight: A Retrospective on Refactoring IBM Testarossa Production Compiler for Eclipse OMR. Proceedings of the 8th International Workshop on Virtual Machines and Intermediate Languages. ACM. 24--27.

See also projects using JitBuilder.