Executing Environment: Garbage Collection, Virtual Machines

(実行環境、ゴミ集め、仮想計算機、動的コンパイル)

15th lecture, July 24, 2018

Language Theory and Compilers

https://www.sw.it.aoyama.ac.jp/2018/Compiler/lecture15.html

Martin J. Dürst

AGU

© 2005-18 Martin J. Dürst 青山学院大学

Today's Schedule

 

Remaining Schedule

 

Logical Structure of a Compiler

  1. [preprocessor]
  2. Lexical analysis
  3. Parsing (syntax analysis)
  4. Semantic analysis
  5. Optimization (or 5)
  6. Code generation (or 4)
  7. [assembler]
  8. [linker, loader]

Relocatable Program

 

Investigation of Relocatable Programs

 

Execution Environment

Everything that has to be provided together with the compiler:

 

Traditional Dynamic Memory Management

 

Garbage Collection

 

How Garbage Collection Works

 

Advantages and Disadvantages of GC

 

Methods for GC

 

Reference Count(ing) GC

 

Mark and Sweep GC

(mark and sweep GC)

 

Copying GC

(usually used together with mark and sweep)

 

Generational GC

 

Virtual Machine

 

Dynamic Compilation

 

Summary

 

Glossary

relocatable program
再配置可能プログラム
environment variable
環境変数
exception
例外
garbage collection
ゴミ集め
reference count(ing) GC
参照カウント GC
mark and sweep GC
印掃式 GC
copying GC
複写式 GC
generational GC
世代別 GC
generation
世代
virtual machine
仮想計算機、仮想マシーン
portability
移植性
emulate
エミュレート