Bytecode VMs in surprising places (2024)
L'article rappelle que SQLite utilise une machine virtuelle à bytecode pour exécuter les instructions SQL et note que ce modèle se retrouve ailleurs que dans les langages de programmation classiques. eBPF, intégré au noyau Linux, est décrit comme une VM à registres qui a évolué d'un simple filtre réseau à une plate-forme universelle avec dix registres, instructions proches du matériel, support 64 bits et compilation JIT. Le format DWARF inclut un langage d'expressions basé sur une pile que les débogueurs évaluent pour reconstituer la valeur ou l'emplacement de variables optimisées. GDB traduit des expressions en un bytecode simple envoyé à un agent distant qui l'exécute afin d'évaluer des expressions sans embarquer d'évaluateur complet et avec des limites strictes de mémoire et de temps. D'autres usages cités comprennent le RarVM de WinRAR pour des filtres de compression, des interprètes d'expressions pour shaders GPU évitant la recompilation, ainsi que des jeux d'instructions pour TrueType et PostScript.