SICStus Prolog 4.3 ha aggiunto un compilatore JIT per processori x86-64.SICStus Prolog Compilatore JIT
Ho due domande relative al compilatore JIT.
Innanzitutto, dove posso trovare della documentazione (documenti, note o memo) sulle funzionalità (e limitazioni, progettazione e tecniche) del compilatore JIT?
E in secondo luogo, è possibile indirizzare SICStus al codice assembly x86-64 prodotto dal compilatore JIT?
Doc ufficiale contiene alcune informazioni su JIT https://sicstus.sics.se/sicstus/docs/latest4/pdf/sicstus.pdf (ricerca per JIT), 4.3.1 Panoramica ... Alcune statistiche e l'ottimizzazione sono descritte ... – osgx
Ero già a conoscenza delle parti rispettive del manuale di SICStus Prolog ... Ho utilizzato le variabili di ambiente per accendere e spegnere il compilatore JIT nei micro-benchmark che ho fatto. – repeat
Con strace è possibile vedere l'allocazione della memoria per il codice jitted ('mmap's o' mprotect's con flag PROT_EXEC), e inoltre è possibile controllare/proc/PID/maps (o smaps; PID è pid del processo SICStus attivo) e cercare i segmenti di memoria con il flag x (exec). Ma queste informazioni ti permetteranno solo di scaricare il codice jitted (ad esempio con gdb, breakpointing su mmap/mprotects con PROT_EXEC e guardare le scritture sui segmenti; [dumping the mem] (http://serverfault.com/questions/173999/) ; possibilmente smontando il codice macchina), ma non per trovare documentazione, documenti, brevetti; nessuna informazione diretta sulle limitazioni ... – osgx