Spring 2018, CS 142 (b)
Schedule
|
Lectures |
Presentation
Slides |
Notes |
Week 1.
Parsing bytecode |
|||
April 3
(Tue) |
Lecture 1:
Overview of the project and introduction of the .class file layout |
||
April 5 (Thur) |
No lecture -- working
on the project |
|
|
Week 2-3.
Building a Java interpreter |
|||
April 10
(Tue) |
Lecture 2:
What is a Java interpreter and how to implement it? |
||
April 12 (Thur) |
No lecture -- working
on the project |
|
|
April 17
(Tue) |
No lecture -- working
on the project |
|
|
April 19 (Thur) |
No lecture -- working
on the project |
|
|
Week 4- 5.
Building SSA |
|||
April 24
(Tue) |
Lecture 3:
What is SSA and how to compute it? |
||
April 26 (Thur) |
No lecture -- working
on the project |
||
May 1
(Tue) |
|
|
|
May 3
(Thurs) |
No lecture -- working
on the project |
|
|
Week 6-7.
Developing SSA-based optimizations |
|||
May 8
(Tue) |
Lecture 4:
Dataflow optimization I --- liveness analysis and register allocation |
||
May 11
(Thurs) |
No lecture -- working
on the project |
|
|
May 15
(Tue) |
Lecture 5:
Dataflow optimization II --- constant propagation (by Kai) |
|
|
May 17
(Thurs) |
No lecture -- working
on the project |
|
|
Week 8-9.
Generating X86 machine code |
|||
May 22
(Tue) |
Lecture 6:
Assembler (by Kai) |
||
May 24
(Thurs) |
No lecture -- working
on the project |
|
|
May 29
(Tue) |
No lecture -- working
on the project |
|
|
May 31
(Thurs) |
No lecture -- working
on the project |
|
|
Week 10. Project
Demo Week |
|||
June 5
(Tue) |
Project Demo (I) |
|
|
June 7
(Thurs) |
|
|