Les caches inline de SpiderMonkey : au-delà du simple cache

2025-09-14

Cet article explore en profondeur l'implémentation des caches inline (IC) dans le moteur JavaScript SpiderMonkey. Contrairement au caching traditionnel, l'IC de SpiderMonkey est une technique de code auto-modifiable. Il insère une série de stubs aux sites d'appel, sélectionnant dynamiquement des chemins d'exécution efficaces en fonction des types d'entrée. Le premier appel exécute un chemin de secours et génère des stubs correspondants en fonction du résultat. Les appels suivants du même type atteignent le cache, améliorant ainsi considérablement l'efficacité. L'article utilise l'addition JavaScript comme exemple pour expliquer le fonctionnement de l'IC et mentionne la dernière architecture CacheIR de SpiderMonkey, qui abstrait les détails des IC pour permettre le partage entre différents compilateurs.

Développement