LLVM CIL и Java Bytecode

Я видел проект http://vmkit.llvm.org/, но это не совсем то, что я ищу. Не хочу, чтобы мой код запускался на другой виртуальной машине, но на .NET и Java VM.

Существуют ли какие-либо компиляторы для LLVM, которые генерируют .NET CIL и/или Java Bytecode?

Ответ 1

LLVM находится на гораздо более низком уровне, чем байтовый код CIL и Java. Это означает, что трудно сопоставить инструкции LLVM с инструкциями CIL и Java, и никто еще не нуждался в этом, но работа была выполнена не полностью.

Однако некоторые из работ были выполнены. См. http://llvm.1065342.n5.nabble.com/JVM-Backend-tp41356.html, чтобы узнать, полезен ли он вам.

Ответ 2

С++ может быть скомпилирован в CIL (с визуальным компилятором С++/CLI), так почему же не CIL-сервер для LLVM? Я не думаю, что это было бы настолько сложно, насколько набор не .NET специфических команд CIL довольно мало/просто. Компиляция С++ в Java намного сложнее, потому что в байт-коде Java нет инструкций указателей, поэтому байт-код LLVM для байт-кода Java будет намного сложнее.

Я думаю, что ребята из бэкэнда MONO LLVM уже работали над чем-то похожим, но похоже, что они использовали LLVM иначе, потому что MONO - это компилятор С#, а не компилятор С++..

напишите мне [email protected], если вы работаете с бэкэндом .NET LLVM..