Inline-Caches in SpiderMonkey: Mehr als nur Caching

2025-09-14

Dieser Beitrag befasst sich eingehend mit der Implementierung von Inline-Caches (IC) in der JavaScript-Engine SpiderMonkey. Im Gegensatz zum traditionellen Caching ist der IC in SpiderMonkey eine Technik zur Selbstmodifikation von Code. Er fügt an Aufrufstellen eine Reihe von Stubs ein und wählt dynamisch effiziente Ausführungspfade basierend auf den Eingabetypen aus. Der erste Aufruf führt einen Fallback-Pfad aus und generiert entsprechend dem Ergebnis entsprechende Stubs. Nachfolgende Aufrufe desselben Typs treffen den Cache und verbessern so die Effizienz erheblich. Der Artikel verwendet die JavaScript-Addition als Beispiel, um die Funktionsweise des IC zu erläutern, und erwähnt die neueste CacheIR-Architektur von SpiderMonkey, die die Details der IC abstrahiert, um die gemeinsame Nutzung zwischen verschiedenen Compilern zu ermöglichen.

Entwicklung Inline-Caching