Vydanie vstavaného JavaScript motora Duktape 2.4.0

publikovaný Vydanie nástroja JavaScript Duktape 2.4.0, zameraný na vkladanie do kódovej základne projektov v jazyku C/C++. Motor má kompaktnú veľkosť, je vysoko prenosný a má nízku spotrebu zdrojov. Zdrojový kód motora je napísaný v jazyku C a šírenie pod licenciou MIT.

Kód Duktape zaberá približne 160 kB a spotrebuje len 70 kB RAM a v režime nízkej spotreby pamäte 27 kB RAM. Na integráciu Duktape do kódu C/C++ je postačujúce pridajte súbory duktape.c a duktape.h do projektu a použite Duktape API na volanie funkcií JavaScript z kódu C/C++ alebo naopak. Na uvoľnenie nepoužívaných predmetov z pamäte sa používa zberač odpadu s finalizátorom, postavený na základe kombinácie algoritmu počítanie odkazov pomocou značkovacieho algoritmu (Mark and Sweep). Motor sa používa na spracovanie JavaScriptu v prehliadači NetSurf.

Poskytuje úplnú a čiastočnú kompatibilitu so špecifikáciami Ecmascript 5.1 podpora Ecmascript 2015 a 2016 (E6 a E7), vrátane podpory Proxy objektov pre virtualizáciu vlastností, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol object atď. Obsahuje vstavaný debugger, motor regulárneho výrazu a podsystém pre podporu Unicode. K dispozícii sú aj špecifické rozšírenia, ako napríklad podpora coroutine, vstavaný protokolový rámec, mechanizmus načítania modulov založený na CommonJS a systém ukladania bajtov do vyrovnávacej pamäte, ktorý vám umožňuje ukladať a načítať kompilované funkcie.

V novom vydaní implementovaná nové volania duk_to_stacktrace() a duk_safe_to_stacktrace() na získanie stôp zásobníka, duk_push_bare_array() na pridanie nezávislých inštancií poľa. Funkcie duk_require_constructable() a duk_require_constructor_call() boli zverejnené. Vylepšená kompatibilita so špecifikáciou ES2017. Práca s poliami a objektmi bola optimalizovaná. Do rozhrania duk CLI bola pridaná možnosť „--no-auto-complete“ na zakázanie dokončovania vstupu.

Zdroj: opennet.ru

Pridať komentár