Gibt es ein llvm-Java-Frontend, das Java-Quelle in llvms Zwischenform konvertiert?
Von dem, was ich gelesen habe, es ist ein llvm-Programm, das konvertiert den java-bytecode in llvm ist zwischen form genannt class2llvm. Meine Frage ist, wie erhalte ich Zugriff auf diese. Was vor Ende muss ich installieren, um Zugriff auf diese.
VMkit ist Ihrer Implementierung einer JVM, aber ich bin auf der Suche nach kompilieren des java-source-code mit llvm nicht, wie es ausführen.
InformationsquelleAutor der Frage The_Pacifist | 2012-05-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Java-frontend übersetzt den Java-bytecode (.class-Dateien) in LLVM
bytecode. Werfen Sie einen Blick auf diesen link:
https://llvm.org/svn/llvm-project/java/trunk/docs/java-frontend.txt
InformationsquelleAutor der Antwort Ashkan
Können Sie einen Blick auf dragoneggdie es ermöglicht, llvm zu verwenden, gcc-frontends. Wie gcc schon hat ein frontend für java, genannt gcjvielleicht llvm können es verwenden, zu kompilieren java-code. Aber ich bin mir nicht sicher, wie gut llvm-Schnittstellen mit dem gcc-frontend, so kann dies nicht funktionieren.
InformationsquelleAutor der Antwort lei_z
Habe ich ausgeführt, die eine java-Klasse mit vmkit ( http://vmkit.llvm.org/ ) basierend auf LLVM. Es nutzt LLVM für die Erstellung und Optimierung von high-level-Sprachen Maschinen-code. J3 ist eine Implementierung einer JVM mit VMKit.
InformationsquelleAutor der Antwort Ashkan
[HINWEIS: Ab November 2015 ist es nicht mehr open source, also dieser hack ist meist nutzlos.]
RoboVM werden könnte, die Lösung, die Sie suchen. Es ist open-source und kompiliert JVM-bytecode (.class-Dateien) in den Maschinencode.
Ich nehme an, Sie tun es mit so etwas wie class2llvm.
Leider, es ist noch in der alpha. Habe es gerade getestet auf HelloWorld.java. Es gab 5x Geschwindigkeit bis der laden mal läuft auf einem single-core. (Die meisten der Zeit wird die Ladezeit.)
Beachten Sie, dass die java-Aufrufe einer 32MB - $JAVA_HOME/lib/rt.jar Datei (und vielleicht mehr). Die Suche in so einer großen Datei, muss ein Teil der Grund, warum java so langsam zu laden. Wenn RoboVM immer schlauer, vielleicht können werfen die meisten 9.3 MB binären für eine noch schnellere laden?
Der Webseite erwähnt iOS, aber ich denke, das ist, weil Sie den Verkauf Ihrer UI-add-on-Bibliotheken. RoboVM zusammengestellt fein für mich auf eine Geschmacksrichtung von Ubuntu. Nur stellen Sie sicher,
ersten (und vielleicht install libpthread-stubs0-dev und libpthread-workqueue0...weiß nicht, ob Sie ankam).
InformationsquelleAutor der Antwort expz