Lars Bak, 5342.226
Ulrik Pagh Schultz, phone 8942-5672, office 5342.225 (contact teacher)
The students present a paper each week; papers are available for reference in electronic form
Thursday 12-15, 5342.118
Handouts
HTML
As a guidline, your project reports should be 10-15 pages in length, and describe all aspects of your projects: what your project is, your initial milestones, how the project evolved and why, the result (what can it do, what can't it do - evaluate your own work!), any benchmarks, etc.
| Date | Description | Material |
| 7/2 | Course introduction
Overview of the HotSpot virtual machine (Slides: HTML or PDF) |
None |
| 14/2 | Dynamically typed languages
Smalltalk introduction Introduction to the SOM virtual machine (Slides from Lars: HTML or PDF, from Ulrik: PDF) |
Smalltalk
Tutorial (HTML), Chapters 1-4
Efficient Implementation of the Smalltalk-80 System |
| 21/2 | Garbage collection
(Slides: HTML or PDF) |
Tenuring
Policies for Generation-Based Storage Reclamation and
Incremental Mature Garbage Collection Chapters 2 and 3 |
| 28/2 | Object model
Byte codes Interpreters (Slides: HTML or PDF) |
Optimizing
direct threaded code by selective inlining
Source/som/Interpreter.javain SOMcore |
| 7/3 | Dynamic compilation
Measuring performance (Slides: HTML or PDF) |
Reconciling Responsiveness with Performance in Pure Object-Oriented Languages |
| 14/3 | Type feedback
Aggressive inlining Deoptimization (Slides: HTML or PDF) |
Debugging Optimized Code with Dynamic Deoptimization |
| 21/3 | Cartesian Product Algorithm, Selective Argument Specialization
Automatic Program Specialization for Java Project descriptions are due! (Slides: PDF) |
The
Cartesian Product Algorithm
Selective Specialization for Object-Oriented Languages Automatic Program Specialization for Java |
| 28/3 | Cancelled: Easter | |
| 4/4 | Threading
Object locking (Slides: HTML) |
Thin Locks: Featherweight Synchronization for Java |
| 11/4 | Project week 1 (invited lectures)
Mads Torgersen: Implementing genericity Ulrik: SOM in Pervasive Computing |
Adding
type parameterization to the Java language
Making the future safe for the past: Adding genericity to the Java language |
| 18/4 | Project week 2 (invited lectures)
Olivier Danvy: Functional programming and virtual machines |
Implementation
strategies for continuations
Formalizing Implementation Strategies for First-Class Continuations The ZINC experiment: an economical implementation of the ML language |
| 25/4 | Project week 3 (invited lectures)
Olivier Danvy: the dOvs virtual machine |
|
| 2/5 | Project week 4 (invited lectures)
Erik Ernst: gbeta execution in a virtual machine |
Propagating Class and Method Combination |
| 9/5 | Lectures cancelled: ascension day | |
| 16/5 | Project presentations
Project reports are due! |
|
| 23/5 | Experiences and conclusion |