Lanzamiento del motor JavaScript integrado Duktape 2.4.0

publicado Lanzamiento del motor JavaScript Cinta adhesiva 2.4.0, destinado a incrustarse en el código base de proyectos en el lenguaje C/C++. El motor es de tamaño compacto, muy portátil y de bajo consumo de recursos. El código fuente del motor está escrito en C y propagar bajo la licencia del MIT.

El código Duktape ocupa unos 160 kB y consume sólo 70 kB de RAM, y en modo de bajo consumo de memoria 27 kB de RAM. Para integrar Duktape en código C/C++ suficiente agregue los archivos duktape.c y duktape.h al proyecto y use API de cinta adhesiva para llamar funciones JavaScript desde código C/C++ o viceversa. Para liberar de la memoria los objetos no utilizados, se utiliza un recolector de basura con un finalizador, construido sobre la base de una combinación algoritmo conteo de enlaces con algoritmo de marcado (Mark and Sweep). El motor se utiliza para procesar JavaScript en el navegador. Navegación por la red.

Proporciona compatibilidad total con las especificaciones de Ecmascript 5.1 y parcial. apoyar Ecmascript 2015 y 2016 (E6 y E7), incluido el soporte de objetos Proxy para virtualización de propiedades, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol object, etc. Incluye un depurador integrado, un motor de expresiones regulares y un subsistema para compatibilidad con Unicode. También se proporcionan extensiones específicas, como soporte de rutinas, un marco de registro integrado, un mecanismo de carga de módulos basado en CommonJS y un sistema de almacenamiento en caché de código de bytes que le permite guardar y cargar funciones compiladas.

En la nueva versión implementado nuevas llamadas a duk_to_stacktrace() y duk_safe_to_stacktrace() para obtener seguimientos de pila, duk_push_bare_array() para agregar instancias de matriz independientes. Las funciones duk_require_constructable() y duk_require_constructor_call() se han hecho públicas. Compatibilidad mejorada con la especificación ES2017. Se ha optimizado el trabajo con matrices y objetos. Se agregó la opción “--no-auto-complete” a la interfaz CLI de duk para deshabilitar la finalización de entrada.

Fuente: opennet.ru

Añadir un comentario