JavaTXCompilerInJavaTX/notizen/stan/stackmaptable/Notizen.md

22 lines
970 B
Markdown
Raw Permalink Normal View History

2016-01-12 12:32:16 +00:00
# StackMapTable
* Attribute für Codeattribut
* Wird für Sprünge im Bytecode benötigt
* Quelle: https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.4
## Generierung
* StackMapTable könnte generiert werden, indem im bytecode geschaut wird, wo Sprünge vorliegen.
* https://stackoverflow.com/questions/24927993/what-kind-of-java-code-requires-stackmap-frames#24930521
* It is illegal to have code after an unconditional branch without a stack map frame being provided for it.
2016-02-18 17:28:08 +00:00
## BCEL Patch
https://issues.apache.org/jira/browse/BCEL-268
* Submitting patch: https://commons.apache.org/patches.html
### Änderungen im BCEL-Projekt
* Neue Datei StackMapTableGen
* Testen TODO:
* Mittels BCELifier Code generieren lassen, welcher Methoden erstellt, die Branches enthalten
* Dies dann dem StackMapTableGen übergeben und auf das erstellen von StackMapEntries abprüfen
2016-02-18 17:28:08 +00:00
# Literatur
* Zu JVM allgemein: http://blog.jamesdbloom.com/JVMInternals.html