vergleichen Übersetzungstechniken für unterschiedliche Programmierparadigmen
beschreiben die Übersetzung funktionaler Sprachen
erläutern die Funktionsweise von Typinferenz
legen Optimierungen für die Übersetzung funktionaler Sprachen dar
erläutern die Konzepte aspektorientierter Sprachen
schildern Übersetzungtechniken und Optimierungen für aspektorientierte Sprachen
vergleichen Techniken zur Übersetzung von Ausnahmen
nennen die Aufgaben eines Binders
geben die Struktur unterschiedlicher Formate für ausführbare Dateien an
vergleichen die Funktionsweise statischer und dynamischer Bibliotheken
vergleichen verschiedene Ansätze zur interpretierten Ausführung von Bytecode
schildern, wann sich der Umstieg von interpretierter zu nativer Ausführung lohnt
evaluieren, welche Sprachkonstrukte zur Ausführung in einer virtuellen Maschine geeignet sind
illustrieren die Arbeitsweise eines Just-In-Time-Compilers
beschreiben die Funktionsweise von Heuristiken, die Optimierungen beim Just-In-Time-Übersetzungsvorgang auslösen
erläutern gängige Optimierungen für Just-In-Time-Compiler
beschreiben Algorithmen zur automatischen Speicherbereinigung
erklären und vergleichen Techniken zur Erkennung von Wettlaufsituationen
erläutern Verfahren zur Einbettung von Wasserzeichen in Software
skizzieren die Eigenschaften von LLVM
legen die grundlegende Funktionsweise abstrakter Interpretation dar
beschreiben die Grundzüge der symbolischen Ausführung sowie möglicher Verbesserungen
erklären das Einlesen von Bytecode
implementieren einen einfachen Bytecode-Interpreter
setzen einen einfachen Just-In-Time-Compiler um
untersuchen den Wechsel zwischen Bytecode und nativem Code
implementieren Registervergabe mit linearem Scan
setzen Inlining auf Bytecode-Ebene um