TraceMonkey
From Wikipedia, the free encyclopedia
| Créateur | Mozilla Foundation |
|---|---|
| Type | Compilateur à la volée |
TraceMonkey est un compilateur à la volée pour le moteur d'exécution JavaScript SpiderMonkey. TraceMonkey est un moteur d'enregistrement, de compilation à la volée et d'exécution de traces d'exécution de code JavaScript créé par la fondation Mozilla pour le moteur de rendu Gecko. Il a fait son apparition dans Mozilla Firefox 3.5.
Il a été créé afin d'améliorer les performances d'exécution JavaScript du moteur SpiderMonkey et de permettre ainsi aux développeurs Web de proposer des applications Web autrefois impossibles à réaliser à cause des performances insuffisantes du JavaScript.
TraceMonkey réalise la compilation à la volée d'arbre de traces. Les arbres de traces sont une structure de données utilisée pour tracer (enregistrer dans une trace) le code exécuté sur les points chauds, et le compiler. Quand les points chauds du code sont à nouveau exécutés, le code compilé est exécuté à la place.
Mise en œuvre
Dans Firefox, l'interpréteur JavaScript s'appelle SpiderMonkey. Ce dernier a été modifié pour s'interfacer avec TraceMonkey, le moteur de traces. SpiderMonkey interprète le code JavaScript, surveille les exécutions de boucles et compte le nombre d'itérations. Lorsque le seuil du nombre d'exécution d'une itération est atteint, TraceMonkey enregistre les traces, les compile en code natif grâce à nanojit et les exécute [1].