Lansarea motorului JavaScript încorporat Duktape 2.4.0

publicat Lansarea motorului JavaScript Duktape 2.4.0, care vizează încorporarea în baza de cod a proiectelor în limbajul C/C++. Motorul are dimensiuni compacte, extrem de portabil și consumă redus de resurse. Codul sursă al motorului este scris în C și răspândire sub licența MIT.

Codul Duktape ocupă aproximativ 160 kB și consumă doar 70 kB de RAM, iar în modul de consum redus de memorie 27 kB de RAM. Pentru a integra Duktape în codul C/C++ este suficient adăugați fișierele duktape.c și duktape.h la proiect și utilizați Duktape API pentru a apela funcții JavaScript din codul C/C++ sau invers. Pentru a elibera obiectele neutilizate din memorie, se folosește un colector de gunoi cu un finalizator, construit pe baza unei combinații algoritm numărarea legăturilor cu algoritm de marcare (Mark and Sweep). Motorul este folosit pentru a procesa JavaScript în browser NetSurf.

Oferă compatibilitate deplină cu specificațiile Ecmascript 5.1 și parțial sprijini Ecmascript 2015 și 2016 (E6 și E7), inclusiv suport pentru obiecte proxy pentru virtualizarea proprietăților, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol object etc. Include un depanator încorporat, un motor de expresii regulate și un subsistem pentru suport Unicode. Sunt furnizate, de asemenea, extensii specifice, cum ar fi suportul pentru corutine, un cadru de înregistrare încorporat, un mecanism de încărcare a modulelor bazat pe CommonJS și un sistem de stocare în cache bytecode care vă permite să salvați și să încărcați funcții compilate.

În noua ediție implementate noi apeluri la duk_to_stacktrace() și duk_safe_to_stacktrace() pentru a obține urme de stivă, duk_push_bare_array() pentru a adăuga instanțe de matrice independente. Funcțiile duk_require_constructable() și duk_require_constructor_call() au fost făcute publice. Compatibilitate îmbunătățită cu specificația ES2017. Lucrul cu matrice și obiecte a fost optimizat. S-a adăugat opțiunea „--no-auto-complete” la interfața duk CLI pentru a dezactiva completarea introducerii.

Sursa: opennet.ru

Adauga un comentariu