SICStus Prolog 4.3 добавил компилятор JIT для процессоров x86-64.SICStus Prolog JIT-компилятор
У меня есть два вопроса относительно JIT-компилятора.
Во-первых, где я могу найти документацию (документы, заметки или заметки) о возможностях (и ограничениях, дизайне и методах) компилятора JIT?
И во-вторых, может ли SICStus быть направленным на испускание кода сборки x86-64, созданного компилятором JIT?
Официальный doc имеет некоторую информацию о JIT https://sicstus.sics.se/sicstus/docs/latest4/pdf/sicstus.pdf (поиск по JIT), 4.3.1 Обзор ... Некоторые статистические данные и настройка описаны ... – osgx
Я уже знал о соответствующих частях руководства SICStus Prolog ... Я использовал переменные окружения для включения и отключения JIT-компилятора в микро-тестах, которые я сделал. – repeat
С помощью strace вы можете выделить распределение памяти для jitted-кода ('mmap' или 'mprotect' с флагом PROT_EXEC), а также вы можете проверить/proc/PID/maps (или smaps; PID - pid активного SICStus-процесса) и поиск сегментов памяти с флагом x (exec). Но эта информация позволит вам только сбрасывать jitted-код (например, с gdb, breakpointing на mmap/mprotects с PROT_EXEC и наблюдать за записью в сегменты; [dumping mem] (http://serverfault.com/questions/173999/) , возможно, разобрав машинный код), но не найти документацию, документы, патенты; нет прямой информации об ограничениях ... – osgx