Самая портативная библиотека для генерации динамического кода?

Я ищу самую портативную сборку ассемблера, например asmjit или jitasm.

Когда я говорю "самый портативный", я имею в виду, что он имеет большую поддержку широкой архитектуры. Язык не имеет большого значения, но С++ будет лучшим решением, особенно в сочетании с GCC.

Важными архитектурами для меня являются x86/64, PowerPC и ARM.

Ответы

Ответ 1

DynASM, используемый LuaJIT, поддерживает x86, x64, ARM, MIPS и PowerPC.

Ответ 2

После обширного поиска и исследований я нашел LLVM лучшей библиотекой JIT. Все они поддерживают только x86/x86_64, а LLVM является единственным с x86/x86_64 и PPC/PPC64.

Поэтому я заявляю, что это самый портативный... Если кто-то найдет лучший, пожалуйста, о, пожалуйста, поделитесь.

Ответ 3

Ну, GNU предлагает вам libjit. Высоко переносимый на ваши архитектурные решения, хорошо документированные и предлагающие интерфейс С++. Будучи GCC вашим компилятором, я не могу придумать лучшего предложения.

Ответ 4

Возможно, вы найдете NanoJit. Это легче, чем LLVM, хотя и ужасно недооцененный (там есть хороший учебник здесь... и об этом). Поддерживаемые архитектуры:

  • x86
  • 64
  • ARM
  • MIPS
  • PowerPC

Ответ 5

"x86/64, PowerPC и ARM" - это не очень широкий диапазон архитектур. Многие виртуальные машины с открытым исходным кодом должны поддерживать этот набор, включая Mono для одного. Что вы собираетесь с этим делать?

Моно поддерживаемые платформы для JIT include (неполный список здесь - полный список в ссылке):

  • X86
  • x86-64
  • IA64 (Itanium)
  • Power PC
  • ARM
  • MIPS
  • Альфа