2015-03-03 4 views
5

SICStus Prolog 4.3 добавил компилятор JIT для процессоров x86-64.SICStus Prolog JIT-компилятор

У меня есть два вопроса относительно JIT-компилятора.

Во-первых, где я могу найти документацию (документы, заметки или заметки) о возможностях (и ограничениях, дизайне и методах) компилятора JIT?

И во-вторых, может ли SICStus быть направленным на испускание кода сборки x86-64, созданного компилятором JIT?

+0

Официальный doc имеет некоторую информацию о JIT https://sicstus.sics.se/sicstus/docs/latest4/pdf/sicstus.pdf (поиск по JIT), 4.3.1 Обзор ... Некоторые статистические данные и настройка описаны ... – osgx

+0

Я уже знал о соответствующих частях руководства SICStus Prolog ... Я использовал переменные окружения для включения и отключения JIT-компилятора в микро-тестах, которые я сделал. – repeat

+0

С помощью 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

ответ

3

Публикация информации о реализации JIT SICStus Prolog отсутствует.

Вы можете получить информацию от perf в Linux, если вы следуете инструкциям в library/perf/sp_jit_objdump в установке SICStus. Помимо всего прочего, perf может показать разборку закодированного кода.

Смежные вопросы