logo of the SSW institute ;)
Computer Science
System Software

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports
Awards

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Talks
Library
Gallery
Links
Search

Webmaster


Special Topics in Software Engineering:

Dynamic Compilation and Run-time Optimization in Virtual Machines

339.342 1KV Grimmer, Wirth Room: TBA Dates: 12.5.2017

Overview

This course discusses state-of-the-art dynamic compilation techniques. The first part of this course includes the following topics:

  • Intermediate Representations of Optimizing Compilers: We discuss common IRs in optimizing compilers, including CFG, Sea of nodes, Graal IR, and ASTs.
  • Profile Information: We discuss how dynamic compilers collect information about a running program and how this information is used to optimize it. Topics include type profiling, value profiling, branch profiling, ...
  • Deoptimization: We discuss how dynamic compilers can make speculative assumptions about a running program execution and what deoptimization is.
  • Inline caches: We will discuss what monomorphic, polymorphic, and megamorphic call sites are and discuss (polymorphic) inline caches as an optimization.
  • and many more ....
The second part of this course shows how these dynamic compilation techniques are applied in practice. We will use the Graal/Truffle system as a case study, which is developed by Oracle Labs, in cooperation with the SSW.

Truffle is a platform for implementing high-performance language implementations in Java. There are many language implementations available; including JavaScript, Ruby, R, and also C. Truffle language implementations are abstract syntax tree (AST) interpreters, running on top of a Java Virtual Machine (the Graal VM). Source code is compiled to an AST, which is then dynamically executed by the Truffle framework.
Participants will learn how they can generate a high-performant compiler for a language based on this system, by implementing a simple AST interpreter.

Grading

There will be an oral exam about the topics as discussed in the first part.

Dates

Date Time Room
Fr, 12.5.2017 13:45 - 17:00S3 055
Fr, 19.5.2017 13:45 - 17:00S3 055

Online Resources