Publication du moteur JavaScript embarqué Duktape 2.4.0

Publié Lancement du moteur JavaScript Duktape 2.4.0, conçu pour être intégré dans le code de base de projets en C/C++. Le moteur se distingue par sa taille compacte, sa grande portabilité et sa faible consommation de ressources. Le code source du moteur est écrit en C et sont distribués sous licence MIT.

Le code de Duktape occupe environ 160 kB et consomme seulement 70 kB de RAM, et en mode faible consommation de mémoire, 27 kB de RAM. Pour intégrer Duktape dans le code C/C++ sont suffisants ajoutez les fichiers duktape.c et duktape.h à votre projet, et utilisez Duktape API pour appeler des fonctions JavaScript depuis le code C/C++ ou vice versa. Un ramasse-miettes avec finaliseur est utilisé pour libérer les objets inutilisés en mémoire, basé sur une combinaison de l'algorithme de comptage des références et de l'algorithme de marquage et balayage (Mark and Sweep). Le moteur est utilisé pour exécuter JavaScript dans le navigateur NetSurf.

Il assure une compatibilité complète avec les spécifications Ecmascript 5.1 et partielle avec la prise en charge Ecmascript 2015 et 2016 (E6 et E7), y compris le support de l'objet Proxy pour la virtualisation des propriétés, des tableaux typés, ArrayBuffer, Node.js Buffer, l'API d'encodage, l'objet Symbol, etc. Il comprend un débogueur intégré, un moteur pour l'exécution d'expressions régulières et un sous-système pour le support de l'Unicode. Des extensions spécifiques sont également fournies, telles que le support des coroutines, un cadre intégré pour la journalisation, un mécanisme de chargement de modules basé sur CommonJS, et un système de mise en cache de bytecode permettant de sauvegarder et charger des fonctions compilées.

Dans cette nouvelle version sont implémentés De nouveaux appels duk_to_stacktrace() et duk_safe_to_stacktrace() pour obtenir des traces de pile, duk_push_bare_array() pour ajouter des instances indépendantes de tableaux. Les fonctions duk_require_constructable() et duk_require_constructor_call() ont été traduites en public. La compatibilité avec la spécification ES2017 a été améliorée. Le traitement des tableaux et des objets a été optimisé. Une option «--no-auto-complete» a été ajoutée à l'interface CLI duk pour désactiver la complétion automatique des entrées.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster