Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025
NOTICE: Study plans for the following academic year are available.

Runtime Systems

Display time-table
Code Completion Credits Range Language
NI-RUN Z,ZK 5 2P+1C English
Course guarantor:
Filip Křikava
Lecturer:
Filip Křikava
Tutor:
Filip Křikava
Supervisor:
Department of Theoretical Computer Science
Synopsis:

This course is an introduction to the world of virtual machines (VM) for high-level programming languages. There are two goals:

Give you hands-on experience in design and implementation of a compiler and a VM from scratch, including

Abstract Syntax Tree (AST) interpretation

Byte code (BC) design and interpretation

AST to BC compilation

Memory management

Just-in-time compilation and some optimization techniques

Through a series of guest lectures, introduce you to various advanced topics and implementations of real-world VMs, including

Dynamic optimizations, speculations, and deoptimizations

Language implementation frameworks

Read-world VMs

Requirements:

In this course, you will implement a compiler and a virtual machine for a simple yet non-trivial programming language. This assumes that you can effectively program in some programming language. To implement the class project, you are free to use any programming language with manual memory management, such as C/C++, Rust, or Zig. The provided project template is in C++.

Syllabus of lectures:

1. Introduction to the world of VM

2. AST interpretation

3. Bytecode compilation

4. Bytecode interpretation

5. Memory management

6. Garbage collection

7. JVM ISA

8. V8 and its compilers

9. Just-in-time compilation

10. Truffle and GraalVM

11. Dynamic optimizations

12. Dynamic optimizations

Syllabus of tutorials:

1. The Lox programming language

2. AST interpretation

3. Bytecode compilation

4. Bytecode interpretation

5. Memory management

6. Memory management

7. Just-in-time compilation

Study Objective:
Study materials:

1. R. Nystrom: Crafting Interpreters, Genever Benning, 2021 ASIN: B09BCCVLCL (https://www.craftinginterpreters.com/)

2. Craig, I. D. : Virtual Machines. Springer, 2005. ISBN 978-1852339692.

3. Jones, R. - Hosking, A. - Moss, E. : The Garbage Collection Handbook: The Art of Automatic Memory Management. Chapman and Hall/CRC, 2011. ISBN 978-1420082791.

Note:
Further information:
https://courses.fit.cvut.cz/NI-RUN/
Time-table for winter semester 2024/2025:
Time-table is not available yet
Time-table for summer semester 2024/2025:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
Tue
roomTH:A-1247
Křikava F.
14:30–16:00
(lecture parallel1)
Thákurova 7 (budova FSv)
roomTH:A-1247
Křikava F.
16:15–17:00
(lecture parallel1
parallel nr.101)

Thákurova 7 (budova FSv)
Wed
Thu
Fri
The course is a part of the following study plans:
Data valid to 2025-04-08
For updated information see http://bilakniha.cvut.cz/en/predmet6114506.html