JavaTXCompilerInJavaTX/notizen/stan/lambdaBytecode/Notizen.md
2015-09-22 18:43:36 +02:00

1.7 KiB

Quellen

Decompiler

  • Es wird javap verwendet. Die Datei ~/bin/javap leitet den javap Befehl um. Muss angepasst werden, wenn man andere Version verwenden will.

#Quellen

Doku

  • 2 Möglichkeiten Lambda Ausdrücke zu kompilieren: Anonymous inner class, Invokedynamic

Invokedynamic

  • Hat Argumente auf dem Stack liegen
  • Indexbytes zeigen auf eine InvokeDynamic_Info structure, welche beinhaltet:
    • Methodenname der bootstrap-Methode (Symbolic Reference)
    • Mehrere Symbolic References auf statische Argumente der Bootstrap Methode
    • Einen Methodenname und Deskriptor.
  • Ausführung:

Bootstrap Methods

LambdaMetaFactory

  • Stellt eine mögliche Bootstrap Methode dar

TODO:

  • Matrix Beispiel muss funktionieren (verschachtelter Lambda Ausdruck)
  • Automatisch Bytecode generieren, wenn alle Typen eingesetzt sind