VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

251-0223-00L 6 Credits
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Compiler Design II

Compiler Design II (in English)

Lecturers & Examiners: Prof. em. Dr. Thomas Gross
VVZ CR n/a

Last Updated: 2026-02-05 14:59:55

Abstract

This course covers advanced topics in compiler design: SSA intermediate representation and its use in optimization, just-in-time compilation, profile-based compilation, exception handling in modern programming languages.

Objective

Understand translation of object-oriented programs, opportunities and difficulties in optimizing object-oriented programs.

Content

This course builds conceptually on Compiler Design I, but this class is not a prerequisite. Students should however have a solid understanding of basic compiler technology. This course provides another opportunity to explore software design in a medium-scale software project. The focus is on handling the key features of object-oriented programs. We discuss implementations of single and multiple inheritance (incl. object layout, method dispatch) and optimization opportunities. Specific topics: Single inheritance, multiple inheritance, object layout, method dispatch, type analysis, type propagation, static single assignment (SSA) representation, constant folding, partial redundancy optimizations, profiling, profile-guided code generation. Special topics as time permits: debugging optimized code, multi-threading, data races, object races, memory consistency models, programming language design.

Resources

Literature

Aho/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (English edition or both volumes of the German edition). In addition papers as provided in the class.

General Information

Language
English
Frequency
Yearly recurring

Examination

Type
session examination
Mode
oral 15 minutes

Course Components

Type Title Time & Place Hours
lecture Compiler Design II (in English)
  • Tue 10:15-12:00 (IFW C 42)
2 h weekly
exercise Compiler Design II (in English)
  • Fri 08:15-10:00 (IFW C 42)
2 h weekly

Offered In