Quellcode-Analyse von Interpreterquelltext

Sommersemester 2010

Dr. Martin v. Löwis

Gegenstand des Seminars ist das Studium von Algorithmen in aktuellen Interpreterimplementierungen, insbesondere

  • TraceMonkey (Firefox JavaScript)
  • V8 (Chrome JavaScript)
  • Python 2.6/3.1
  • Ruby 1.9
  • Tcl 8.5
  • Perl 5.10

Für diese Interpreter sollen die folgenden Aspekte untersucht werden:

  • Objektrepräsentation (Slots, Methoden-Dispatch)
  • Speicherverwaltung (Garbage Collector)
  • Codeausführung (Interpreterschleife, Bytecode, ggf. JIT)
  • Foreign Function Interface
  • Parser

Jeder Seminarteilnehmer wird für sein Thema die relevanten Quelltexte studieren und in einem Seminarvortrag vorstellen. Dazu sollen insbesondere geeignete Experimente definiert werden, die die relevanten Aspekte (Funktionalität, Laufzeit, Speicherverbrauch) der jeweiligen Implementierung illustrieren. Die tatsächlich verwendeten Implementierungen sollen mit aus der Literatur bekannten Ansätzen verglichen werden.

Literatur

  1. TraceMonkey
  2. V8
  3. Python:
  4. Ruby Link nicht mehr erreichbar: http://eigenclass.org/hiki/ruby+internals+guide
  5. Tcl
  6. Perl

Vorträge

Datum Titel Sprecher
20. April 2010 Themenvorstellung
27. April 2010 Themenvergabe
4. Mai 2010 kein Vortrag
11. Mai 2010 Martin v. Löwis PyPy
18. Mai 2010 Michael Grünewald Tcl-Einführung
25. Mai 2010 Tilman Giese Ruby: Method Dispatch
1. Juni 2010 Martin v. Löwis PyPy: Object Spaces
8. Juni 2010 Kein Vortrag
15. Juni 2010
22. Juni 2010
1. Juli 2010 (9:15, C-1.x) Stefan Lemme Speicherverwaltung von Python
6. Juli 2010 Tilman Giese Method-Dispatch in Ruby
Michael Grünewald Ausführung von Tcl
13. Juli 2010 Christopher Schuster JIT-Compiler von Chrome V8
20. Juli 2010 Kein Vortrag