Ouvrir le menu principal

MacGeneration

Recherche

Une pincée de WebKit dans le prochain moteur JavaScript de Mozilla

Christophe Laporte

mardi 09 mars 2010 à 16:50 • 18

Ailleurs

La fondation Mozilla cherche à améliorer les performances JavaScript de Firefox. Celui-ci est actuellement distancé par Chrome, Safari et Opera. Pour parvenir à ses fins, Mozilla travaillerait sur un tout nouveau moteur baptisé JagerMonkey, qui reprendrait des portions de code de WebKit.

Les moteurs JavaScript récents ont recours au tracing. Cette méthode consiste à repérer les parties de codes répétitives, tout en tentant de détecter les types des valeurs utilisées. À partir de cela, le moteur JavaScript génère du code machine optimisé, ce qui évite de réinterpréter le JavaScript à chaque passe d'une boucle. Sur les dernières versions de Firefox, cette tâche incombe à nanojit, un composant issu du projet Tamarin.

Avec JagerMonkey, les développeurs de la fondation Mozilla souhaitent aller plus loin. Lorsqu'il n'est pas possible d'exécuter du code par le biais du tracing, JaëgerMonkey le transformera en code machine. Pour effectuer cette tâche, il aura recours à Nitro Assembler, un compilateur que l'on retrouve dans WebKit.

Ce projet n'en est qu'à ses débuts. On ignore pour l'heure quand il sera intégré à une version finalisée de Firefox.

Pour accélérer son navigateur, la fondation Mozilla travaille également sur un autre chantier : l'accélération matérielle graphique pour la 2D. Sur Windows, elle sera effectuée à l'aide de Direct2D. Sur Mac OS X et Linux, Firefox aura recours à OpenGL 2.1. Ce n'est pas la seule amélioration que Gecko comprendra au niveau de l'affichage. Il utilisera un système de calques. L'avantage de cette solution, c'est que chaque calque disposera de son propre type d'accélération graphique. Ce système permettra de traiter de manière optimale les différents éléments d'une page : vidéo, texte, images…

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner