Ответ 1
DynASM, используемый LuaJIT, поддерживает x86, x64, ARM, MIPS и PowerPC.
Я ищу самую портативную сборку ассемблера, например asmjit или jitasm.
Когда я говорю "самый портативный", я имею в виду, что он имеет большую поддержку широкой архитектуры. Язык не имеет большого значения, но С++ будет лучшим решением, особенно в сочетании с GCC.
Важными архитектурами для меня являются x86/64, PowerPC и ARM.
DynASM, используемый LuaJIT, поддерживает x86, x64, ARM, MIPS и PowerPC.
После обширного поиска и исследований я нашел LLVM лучшей библиотекой JIT. Все они поддерживают только x86/x86_64, а LLVM является единственным с x86/x86_64 и PPC/PPC64.
Поэтому я заявляю, что это самый портативный... Если кто-то найдет лучший, пожалуйста, о, пожалуйста, поделитесь.
Ну, GNU предлагает вам libjit. Высоко переносимый на ваши архитектурные решения, хорошо документированные и предлагающие интерфейс С++. Будучи GCC вашим компилятором, я не могу придумать лучшего предложения.
Возможно, вы найдете NanoJit. Это легче, чем LLVM, хотя и ужасно недооцененный (там есть хороший учебник здесь... и об этом). Поддерживаемые архитектуры:
"x86/64, PowerPC и ARM" - это не очень широкий диапазон архитектур. Многие виртуальные машины с открытым исходным кодом должны поддерживать этот набор, включая Mono для одного. Что вы собираетесь с этим делать?
Моно поддерживаемые платформы для JIT include (неполный список здесь - полный список в ссылке):