Créer sa propre VM avec compilation JIT pour les nuls
🔗 publié par Olivier Poncet le 19/06/2023 à 12:30
La compilation « Just In Time » est une technique d’exécution très utilisée depuis de nombreuses années au sein des machines virtuelles de langages tels que Java, C#, JavaScript, etc …. Elle permet d’interpréter et d’exécuter un byte-code tout en le transformant « à la volée » vers le langage machine natif de la machine hôte nous permettant ainsi d’obtenir des performances bien plus élevées lors d’une seconde exécution du code.
Ces techniques de recompilation dynamique peuvent être complexes à appréhender lorsque l’on est néophyte sur le sujet, c’est pourquoi nous allons démystifier ensemble ce sujet.
Dans ce talk nous mettrons en œuvre et en live notre propre machine virtuelle avec JIT intégrée pour une calculatrice RPN (Reverse Polish Notation), sans aucun framework ni infrastructure de compilation extérieure, en émettant nous même le code machine x86_64 nécessaire à l’exécution.
Puisse le dieu des « segmentation fault (core dumped) » être avec nous !
Le talk
Ce talk sur la compilation just in time a été sélectionné et présenté lors de plusieurs conférences :
- Le Camping des Speakers 2023 (juin 2023)
- Sunny Tech 2023 (juin 2023)
- Riviera Dev 2023 (juillet 2023)
- Volcamp 2023 (octobre 2023)
- Devoxx France 2024 (avril 2024)
Les vidéos
Vous pouvez visionner les captations qui en ont déjà été faites :
- Sunny Tech 2023
- Volcamp 2023
- Devoxx France 2024 (🌟 captation recommandée)
Les slides
Vous pouvez retrouvez les slides de ce talk en cliquant sur le lien suivant:
Les références
Mon talk « Ressuscitons les ordinosaures » traitant de l’écriture d’émulateurs d’ordinateur et consoles.
Le code support de ce talk est disponible sur mes miroirs git :