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

Smalltalk VMs
Miranda, Béra, Boix, Ingalls. (2018): Two Decades of Smalltalk VM Development: Live VM Development Through Simulation Tools. Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages. ACM. 57--66.

Jit

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.
JitBuilder History
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.
Low Effort JITs
Saleil, Feeley. (2018): Building JIT Compilers for Dynamic Languages with Low Development Effort. Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages. ACM. 36--46.
Numba
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.
Jit Code Caching
Xu, Cooper, Brock, Zhang, Ye. (2018): JIT. CoRR. abs/1810.09555.

See also projects using JitBuilder.