Rilascio del motore JavaScript incorporato Duktape 2.4.0

pubblicato Rilascio del motore JavaScript Nastro adesivo 2.4.0, mirato a incorporarsi nel codice base dei progetti nel linguaggio C/C++. Il motore è di dimensioni compatte, altamente portatile e a basso consumo di risorse. Il codice sorgente del motore è scritto in C e diffusione con licenza MIT.

Il codice Duktape occupa circa 160 kB e consuma solo 70 kB di RAM e in modalità a basso consumo di memoria 27 kB di RAM. Per integrare Duktape nel codice C/C++ abbastanza aggiungi i file duktape.c e duktape.h al progetto e usa API Duktape per chiamare funzioni JavaScript dal codice C/C++ o viceversa. Per liberare oggetti inutilizzati dalla memoria, viene utilizzato un garbage collector con finalizzatore, costruito sulla base di una combinazione algoritmo conteggio dei link con algoritmo di marcatura (Mark and Sweep). Il motore viene utilizzato per elaborare JavaScript nel browser NetSurf.

Fornisce piena compatibilità con le specifiche Ecmascript 5.1 e parziale sostegno Ecmascript 2015 e 2016 (E6 ed E7), incluso il supporto dell'oggetto proxy per la virtualizzazione delle proprietà, array tipizzati, ArrayBuffer, buffer Node.js, API di codifica, oggetto simbolo, ecc. Include un debugger integrato, un motore di espressioni regolari e un sottosistema per il supporto Unicode. Vengono inoltre fornite estensioni specifiche, come il supporto della coroutine, un framework di registrazione integrato, un meccanismo di caricamento dei moduli basato su CommonJS e un sistema di caching del bytecode che consente di salvare e caricare funzioni compilate.

Nella nuova versione implementato nuove chiamate a duk_to_stacktrace() e duk_safe_to_stacktrace() per ottenere tracce di stack, duk_push_bare_array() per aggiungere istanze di array indipendenti. Le funzioni duk_require_constructable() e duk_require_constructor_call() sono state rese pubbliche. Compatibilità migliorata con la specifica ES2017. Il lavoro con array e oggetti è stato ottimizzato. Aggiunta l'opzione "--no-auto-complete" all'interfaccia CLI duk per disabilitare il completamento dell'input.

Fonte: opennet.ru

Aggiungi un commento