En gros, qemu détect un "ADD" dans le code objet, il a compilé en C une fonction f_ADD_r_r(...), il recopie dans un buffer le contenu de cette fonction dans un buffer sans le prologue et l'épilogue de la fonction, il fait de même avec l'instruction suivante.
Tu te retrouve donc avec un buffer contenant du code machine qui l'exacte image de ton code objet. Il n'y a plus qu'à l'exécuter directement sans plus aucune traduction.
[^] # Re: Simples precisions
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Le projet Unladen Swallow vise à accélérer Python d'un facteur 5. Évalué à 2.
En gros, qemu détect un "ADD" dans le code objet, il a compilé en C une fonction f_ADD_r_r(...), il recopie dans un buffer le contenu de cette fonction dans un buffer sans le prologue et l'épilogue de la fonction, il fait de même avec l'instruction suivante.
Tu te retrouve donc avec un buffer contenant du code machine qui l'exacte image de ton code objet. Il n'y a plus qu'à l'exécuter directement sans plus aucune traduction.
"La première sécurité est la liberté"