К сожалению, у пользователей нет возможности расширить JIT для таких случаев, как этот.
Я думал о доступе к инструкциям по подсчету населения (для некоторых не связанных применений) из Пролога.Способ добавления этой и других аналогичных инструкций будет следующим:
- Добавить новую арифметическую инструкцию к
is/2
.Это должно поддерживаться всем нашим кодом, а не только JIT-скомпилированным кодом, поэтому интерпретатор, WAM-эмулятор, различные внутренние процессоры байт-кода, все статические анализаторы в нашей IDE и т. д. и т. п. - Добавьте JIT-компиляцию, которая просто вызывает обратно в соответствующую подпрограмму C в системе времени выполнения.
- Если можно продемонстрировать, что производительность значительно повышается, сделайте JIT-компиляторвыдает инструкции ЦП специального назначения для целей, у которых они есть.
(1) требует достаточного пользовательского спроса (или, конечно, явного финансирования).(3) требует убедительных ориентиров.В настоящее время ни один из них не доступен, но, конечно, это может измениться.