Самая портативная библиотека для динамической генерации кода? - PullRequest
13 голосов
/ 12 сентября 2009

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

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

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

Ответы [ 5 ]

12 голосов
/ 24 января 2012

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

7 голосов
/ 09 октября 2009

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

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

4 голосов
/ 12 сентября 2009

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

2 голосов
/ 07 ноября 2014

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

  • x86
  • 64
  • ARM
  • MIPS
  • PowerPC
0 голосов
/ 12 сентября 2009

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

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

  • X86
  • x86-64
  • IA64 (Itanium)
  • Power PC
  • ARM
  • 1018 * MIPS *
  • Альфа
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...