Aller au contenu principal

Allumer l'interpréteur Ignition

· 5 minutes de lecture
Ross McIlroy, Jump Starter d'Ignition V8

Les moteurs JavaScript modernes comme V8 obtiennent leur vitesse grâce à la compilation juste-à-temps (JIT) du script en code machine natif immédiatement avant l'exécution. Initialement, le code est compilé par un compilateur basique, qui peut générer rapidement du code machine non optimisé. Le code compilé est analysé pendant l'exécution et éventuellement re-compilé dynamiquement avec un compilateur optimisé plus avancé pour une performance maximale. Dans V8, ce pipeline d'exécution de scripts comporte une variété de cas particuliers et de conditions nécessitant une mécanique complexe pour basculer entre le compilateur de base et deux compilateurs optimisés, Crankshaft et TurboFan.

V8 à la conférence BlinkOn 6

· 3 minutes de lecture
l'équipe V8

BlinkOn est une réunion semestrielle des contributeurs de Blink, V8 et Chromium. BlinkOn 6 a eu lieu à Munich les 16 et 17 juin. L'équipe V8 a donné plusieurs présentations sur l'architecture, la conception, les initiatives de performance et l'implémentation des langages.

Version V8 v5.3

· 4 minutes de lecture
l'équipe V8

Environ toutes les six semaines, nous créons une nouvelle branche de V8 dans le cadre de notre processus de sortie. Chaque version est issue du dépôt Git master de V8 immédiatement avant que Chrome ne crée une branche pour une version bêta de Chrome. Aujourd'hui, nous sommes heureux d'annoncer notre nouvelle branche, V8 version 5.3, qui sera en version bêta jusqu'à sa sortie en coordination avec Chrome 53 Stable. V8 v5.3 regorge de nouveautés destinées aux développeurs, et nous voulons vous offrir un aperçu de certains des points forts en prévision de la sortie dans plusieurs semaines.

Sortie de V8 version v5.2

· 2 minutes de lecture
l'équipe V8

Environ toutes les six semaines, nous créons une nouvelle branche de V8 dans le cadre de notre processus de publication. Chaque version est dérivée du dépôt Git principal de V8 immédiatement avant que Chrome ne crée une branche pour une étape de Chrome Beta. Aujourd'hui, nous sommes ravis d'annoncer notre nouvelle branche, V8 version 5.2, qui sera en version bêta jusqu'à sa sortie en coordination avec Chrome 52 Stable. V8 5.2 est rempli de toutes sortes de nouveautés destinées aux développeurs, nous aimerions donc vous donner un aperçu de certains des points forts en prévision de la sortie dans plusieurs semaines.

ES2015, ES2016, et au-delà

· 10 minutes de lecture
l'équipe V8, Les passionnés d'ECMAScript

L'équipe V8 accorde une grande importance à l'évolution de JavaScript vers un langage de plus en plus expressif et bien défini qui facilite l'écriture d'applications web rapides, sûres et correctes. En juin 2015, la spécification ES2015 a été ratifiée par le comité de normalisation TC39, faisant d'elle la plus grande mise à jour unique du langage JavaScript. Les nouvelles fonctionnalités incluent les classes, les fonctions fléchées, les promesses, les itérateurs / générateurs, les proxies, les symboles bien connus, et un sucre syntaxique supplémentaire. TC39 a également accéléré le rythme des nouvelles spécifications et a publié en février 2016 le projet de candidat pour ES2016 qui doit être ratifié cet été. Bien qu'il ne soit pas aussi vaste que la mise à jour ES2015 en raison du cycle de publication plus court, ES2016 introduit notamment l'opérateur d'exponentiation et Array.prototype.includes.

Sortie de V8 version v5.1

· 4 minutes de lecture
l'équipe V8

La première étape du processus de sortie de V8 consiste à créer une nouvelle branche à partir du master Git immédiatement avant que Chromium ne branche pour une version Beta de Chrome (environ toutes les six semaines). Notre toute dernière branche est V8 v5.1, qui restera en version bêta jusqu'à ce que nous publions une version stable en conjonction avec Chrome 51 Stable. Voici un aperçu des nouvelles fonctionnalités destinées aux développeurs dans cette version de V8.

Jank Busters Partie Deux : Orinoco

· 7 minutes de lecture
les chasseurs de jank : Ulan Degenbaev, Michael Lippautz, et Hannes Payer

Dans un article de blog précédent, nous avons introduit le problème du jank causé par la collecte des déchets interrompant une expérience de navigation fluide. Dans cet article, nous présentons trois optimisations qui posent les bases d'un nouveau ramasse-miettes dans V8, nommé Orinoco. Orinoco repose sur l'idée qu'implémenter un ramasse-miettes majoritairement parallèle et concurrent sans frontières générationnelles strictes réduira le jank causé par la collecte des déchets et la consommation mémoire tout en fournissant un haut débit. Au lieu d'implémenter Orinoco derrière un drapeau comme un ramasse-miettes distinct, nous avons décidé de déployer les fonctionnalités d'Orinoco de manière incrémentale dans la version principale de V8 pour en faire bénéficier immédiatement les utilisateurs. Les trois fonctionnalités discutées dans cet article sont le compactage parallèle, le traitement parallèle de l'ensemble mémorisé, et l'allocation en noir.

V8 release v5.0

· 3 minutes de lecture
l'équipe V8

La première étape du processus de publication de V8 est une nouvelle branche créée depuis le master Git juste avant que Chromium ne ramifie pour un jalon Beta Chrome (environ toutes les six semaines). Notre dernière branche de publication est V8 v5.0, qui restera en version beta jusqu'à la publication d'une version stable avec Chrome 50 Stable. Voici un aperçu des nouvelles fonctionnalités pour les développeurs dans cette version de V8.

Prise en charge expérimentale de WebAssembly dans V8

· 3 minutes de lecture
Seth Thompson, Responsable WebAssembly

Pour une vue d'ensemble complète de WebAssembly et une feuille de route pour une collaboration communautaire future, consultez Une étape importante pour WebAssembly sur le blog Mozilla Hacks.

Depuis juin 2015, des collaborateurs de Google, Mozilla, Microsoft, Apple et du groupe communautaire W3C WebAssembly travaillent d'arrache-pied à la conception, à la spécification et à l'implémentation (1, 2, 3, 4) de WebAssembly, un nouveau runtime et cible de compilation pour le web. WebAssembly est un bytecode bas niveau et portable, conçu pour être encodé dans un format binaire compact et exécuté à une vitesse proche de celle du natif dans un bac à sable sécurisé. En tant qu'évolution des technologies existantes, WebAssembly est étroitement intégré à la plate-forme web, plus rapide à télécharger sur le réseau et plus rapide à instancier que asm.js, un sous-ensemble bas niveau de JavaScript.

Assertions de lookbehind avec RegExp

· 4 minutes de lecture
Yang Guo, Ingénieur en expressions régulières

Introduites avec la troisième édition de la spécification ECMA-262, les expressions régulières font partie de JavaScript depuis 1999. En termes de fonctionnalité et d'expressivité, l'implémentation des expressions régulières en JavaScript reflète globalement celle d'autres langages de programmation.