Duktape 2.4.0 kapsulatutako JavaScript motorra kaleratzea

argitaratua JavaScript motorra kaleratzea Duktape 2.4.0, proiektuen kode oinarrian C/C++ lengoaian txertatzera zuzenduta. Motorra tamaina trinkoa da, oso eramangarria eta baliabideen kontsumo txikia. Motoraren iturburu-kodea C-n idatzita dago eta barreiatu MIT lizentziapean.

Duktape kodeak 160 kB inguru hartzen ditu eta 70 kB RAM baino ez ditu kontsumitzen, eta memoria kontsumo txikiko moduan 27 kB RAM. Duktape C/C++ kodean integratzeko nahikoa da gehitu duktape.c eta duktape.h fitxategiak proiektuari eta erabili Duktape APIa JavaScript funtzioei C/C++ kodetik deitzeko edo alderantziz. Erabiltzen ez diren objektuak memoriatik askatzeko, konbinazio batean oinarrituta eraikitako finalizatzaile duen zabor-biltzailea erabiltzen da. algoritmoa esteken zenbaketa markaketa algoritmoarekin (Mark and Sweep). Arakatzailean JavaScript prozesatzeko erabiltzen da motorra NetSurf.

Ecmascript 5.1 zehaztapenekin bateragarritasun osoa eta partziala eskaintzen du onartzen Ecmascript 2015 eta 2016 (E6 eta E7), propietateen birtualizaziorako Proxy objektuen laguntza barne, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol objektu, etab. Arazte integratua, adierazpen erregular motorra eta Unicode laguntzarako azpisistema bat ditu. Luzapen espezifikoak ere eskaintzen dira, hala nola, coroutine euskarria, erregistro-esparru integratua, CommonJS-n oinarritutako moduluak kargatzeko mekanismoa eta konpilatutako funtzioak gorde eta kargatzeko aukera ematen duen bytecode caching sistema.

Argitalpen berrian ezarrita dei berriak duk_to_stacktrace() eta duk_safe_to_stacktrace() pilaren arrastoak lortzeko, duk_push_bare_array() array instantzia independenteak gehitzeko. duk_require_constructable() eta duk_require_constructor_call() funtzioak publiko egin dira. ES2017 zehaztapenarekin bateragarritasun hobetua. Array eta objektuekin lana optimizatu da. "--no-auto-complete" aukera gehitu da duk CLI interfazean sarrera osatzea desgaitzeko.

Iturria: opennet.ru

Gehitu iruzkin berria