Sortie du moteur JavaScript embarqué Duktape 2.4.0

Publié Version du moteur JavaScript Duktape 2.4.0, visant à intégrer dans la base de code des projets en langage C/C++. Le moteur est de taille compacte, hautement portable et consomme peu de ressources. Le code source du moteur est écrit en C et propagé sous licence MIT.

Le code Duktape occupe environ 160 Ko et ne consomme que 70 Ko de RAM, et en mode faible consommation de mémoire 27 Ko de RAM. Pour intégrer Duktape dans le code C/C++ assez ajoutez les fichiers duktape.c et duktape.h au projet et utilisez API Duktape pour appeler des fonctions JavaScript à partir du code C/C++ ou vice versa. Pour libérer les objets inutilisés de la mémoire, un garbage collector avec un finaliseur est utilisé, construit sur la base d'une combinaison algorithme comptage de liens avec algorithme de marquage (Mark et Sweep). Le moteur est utilisé pour traiter JavaScript dans le navigateur NetSurf.

Fournit une compatibilité totale avec les spécifications Ecmascript 5.1 et partielle soutenir Ecmascript 2015 et 2016 (E6 et E7), y compris la prise en charge des objets proxy pour la virtualisation des propriétés, les tableaux typés, ArrayBuffer, le tampon Node.js, l'API d'encodage, l'objet Symbol, etc. Il comprend un débogueur intégré, un moteur d'expression régulière et un sous-système pour la prise en charge d'Unicode. Des extensions spécifiques sont également fournies, telles que la prise en charge de coroutine, un cadre de journalisation intégré, un mécanisme de chargement de module basé sur CommonJS et un système de mise en cache de bytecode qui vous permet d'enregistrer et de charger des fonctions compilées.

Dans la nouvelle version mis en œuvre nouveaux appels à duk_to_stacktrace() et duk_safe_to_stacktrace() pour obtenir des traces de pile, duk_push_bare_array() pour ajouter des instances de tableau indépendantes. Les fonctions duk_require_constructable() et duk_require_constructor_call() ont été rendues publiques. Compatibilité améliorée avec la spécification ES2017. Le travail avec des tableaux et des objets a été optimisé. Ajout de l'option « --no-auto-complete » à l'interface CLI duk pour désactiver la complétion des entrées.

Source: opennet.ru

Ajouter un commentaire