2009-09-11 6 views

Antwort

-3

"x86/64, PowerPC und ARM" ist nicht eine sehr breite Palette von Architekturen. Viele Open-Source-VMs sollten diesen Satz unterstützen, einschließlich Mono für einen. Was willst du damit machen?

Monos supported platforms für JIT gehören (auszugsweise hier - vollständige Liste in Link):

  • X86
  • X86-64
  • IA64 (Itanium)
  • Power PC
  • ARM
  • MIPS
  • Alpha
+0

jitasm lassen Sie asm-Code on the fly mit der Option generieren, um sie auszuführen. Mono wird Code offline kompilieren. Nicht wirklich was ich will. – LiraNuna

+0

Mono kompiliert C# zu IL und JITs die IL on the fly. –

+0

dann müsste ich einen Wrapper programmieren, der zu IL kompiliert. Nicht gerade effizient und weit entfernt von dem, was ich wollte. – LiraNuna

4

Well GNU bietet Ihnen libjit. Highly portable zu Ihrer Architektur der Wahl, gut dokumentiert und bietet eine C++ - Schnittstelle. Als GCC-Compiler kann ich mir kein besseres Angebot vorstellen.

+2

libjit scheint x86/x86_64 nur zu sein ... – LiraNuna

7

Nach umfangreicher Suche und Forschung fand ich LLVM die beste JIT-Bibliothek. Alle unterstützen nur x86/x86_64, und LLVM ist der einzige mit x86/x86_64 und PPC/PPC64.

So erkläre ich hiermit das am besten tragbare ... Wenn jemand einen besseren findet, bitte - oh bitte teilen.

+1

Es war einmal, aber der Erfolg tötete es für allgemeine JIT Zwecke. Es ist jetzt zu fett, zu kompliziert und zu stark an statische Sprachen gebunden, einschließlich C++ – Lothar

12

DynASM, von LuaJIT verwendet, unterstützt x86, x64, ARM, MIPS und PowerPC.

2

Sie könnten NanoJit interessant finden. Es ist leichter als LLVM, obwohl schrecklich unterdokumentiert (es gibt ein nettes Tutorial here ... und das ist es). Unterstützte Architekturen:

  • x86
  • x64
  • ARM
  • MIPS
  • PowerPC