Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 2 » Uebersetzerbau 3
Uebersetzerbau 3
Prüfer: Prof. Dr. Michael Philippsen, Dipl.-Inf. Stefan Kempf
Syntax: Frage? (Meine) Antwort
Anmerkung: Hab viel selbst erzaehlt da Prof. Dr. Philippsen das so gerne sieht(?)
Gedaechtnis-Protokoll
Fragen kamen nur von Stefan. Er hat auch nur Fragen zum Praktikum und den Teilen der Vorlesung gestellt die er selbst gehalten hat.
- Byte-Code:
int foo(int a){
add tmp, a, 1
return tmp;
}
int main(){
... // hier standen Anweisungen
push y
call z, foo()
... // noch mehr sinnlose Anweisungen
}
- Was macht ein Interpreter damit?
- Wie sieht der Aufruf von foo() aus? // Interpreter ruft sich selbst rekursive Aufruft oder macht direkte Sprung im Byte-Code.//
- Was macht der JIT?
- Ohne Optimierung // Das ganz normale 1:1 Codeerzeugen erklaert. //
- JIT2 = Registervergabe mittels Linear Scan
- Algorithmus an einfachem Beispiel (nur gegebenen Lebensspannen) auf Papier vorfuehren. Davor hab ich selbst noch erklaert wie man die Lebenspannen korrekt berechnet, etc.
- Dann JIT3: foo() in main inlininen
- Wann sollte man JITen? // Laufzeitmessung: Zaehler vs Stichproben //
- Zwischen drinnen kam noch eine Frage zu was passiert wenn man aus Interpretiertem Code gejiteten Code aufrufen will oder umgekehrt. // Trampolin Funktion. System vs Interpreter Stack. On-Stack-Replacement // (Die genaue chronologische Einordnung in den obigen Block ist mir leider entfallen.)
- Exceptions
- Warum?
- Wie? //dynamisches Registrieren vs statische Tabellen (kurz umrissen) //
- Was ist zur Laufzeit besser? // statische Tabellen //
- Linker und Loader:
- Dynamic shared Library
- Wie muss der Code beschaffen sein? // PIC //
- Was passiert wenn man foo() der Library aufruft? // PLT: Erst steht dort die Adresse des Stubs der dann die richtige Adresse berechnet und in die PLT eintraegt (und dann noch foo() aufruft). //
- Wie koennte man fuer Daten auch Lazy-relocation implementieren? // ? //
Alles in allem lockerer Pruefung. Gerne wieder.
