SICStus Prolog 4.3 fügte einen JIT-Compiler für x86-64-Prozessoren hinzu.SICStus Prolog JIT-Compiler
Ich habe zwei Fragen zum JIT-Compiler.
Erstens, wo finde ich einige Dokumentationen (Papiere, Notizen oder Memos) zu den Fähigkeiten (und Einschränkungen, Design und Techniken) des JIT-Compilers?
Und zweitens, kann SICStus angewiesen werden, den vom JIT-Compiler erzeugten x86-64-Assemblercode auszugeben?
Offizielles Dokument hat einige Informationen über JIT https://sicstus.sics.se/sicstus/docs/latest4/pdf/sicstus.pdf (Suche nach JIT), 4.3.1 Überblick ... Einige Statistiken und Tuning werden beschrieben ... – osgx
Die entsprechenden Teile des SICStus Prolog-Handbuchs waren mir schon bekannt ... Ich habe die Umgebungsvariablen dazu benutzt, den JIT-Compiler in den Mikro-Benchmarks, die ich gemacht habe, ein- und auszuschalten. – repeat
Mit strace können Sie die Speicherbelegung für Jitted-Code anzeigen ('mmap's oder' mprotect's mit PROT_EXEC Flag), und Sie können auch prüfen/proc/PID/maps (oder smaps; PID ist PID des aktiven SICStus-Prozesses) und suche nach Speichersegmenten mit x (exec) Flag. Aber diese Information erlaubt es Ihnen nur jittered code zu löschen (zum Beispiel mit gdb, breakpointing auf mmap/mprotects mit PROT_EXEC und auf Schreibvorgänge in Segmenten warten; [dumping the mem] (http://serverfault.com/questions/173999/) möglicherweise den Maschinencode zerlegen), aber keine Dokumente, Papiere, Patente finden; keine direkten Informationen zu Einschränkungen ... – osgx