Lëshimi i motorit të integruar JavaScript Duktape 2.4.0

botuar Lëshimi i motorit JavaScript Duktape 2.4.0, që synon futjen në bazën e kodit të projekteve në gjuhën C/C++. Motori është kompakt në madhësi, shumë i lëvizshëm dhe konsum i ulët burimesh. Kodi burimor i motorit është shkruar në C dhe përhapet nën licencën MIT.

Kodi Duktape merr rreth 160 kB dhe konsumon vetëm 70 kB RAM, dhe në modalitetin e konsumit të ulët të memories 27 kB RAM. Për të integruar Duktape në kodin C/C++ mjaft mirë shtoni skedarët duktape.c dhe duktape.h në projekt dhe përdorni Duktape API për të thirrur funksionet JavaScript nga kodi C/C++ ose anasjelltas. Për të liruar objektet e papërdorura nga kujtesa, përdoret një grumbullues mbeturinash me një finalizues, i ndërtuar në bazë të një kombinimi algoritmi numërimi i lidhjeve me algoritmin e shënimit (Mark dhe Sweep). Motori përdoret për të përpunuar JavaScript në shfletues NetSurf.

Ofron përputhshmëri të plotë me specifikimet Ecmascript 5.1 dhe të pjesshme mbështetje Ecmascript 2015 dhe 2016 (E6 dhe E7), duke përfshirë mbështetjen e objektit Proxy për virtualizimin e vetive, Vargjet e shtypura, ArrayBuffer, Node.js Buffer, Encoding API, Object Symbol, etj. Ai përfshin një korrigjues të integruar, një motor me shprehje të rregullt dhe një nënsistem për mbështetjen e Unicode. Ofrohen gjithashtu shtesa specifike, të tilla si mbështetja e korutinës, një kornizë e integruar e regjistrimit, një mekanizëm ngarkimi i modulit të bazuar në CommonJS dhe një sistem memorie të fshehtë të bytekodit që ju lejon të ruani dhe ngarkoni funksionet e përpiluara.

Në të rejat zbatuar thirrje të reja në duk_to_stacktrace() dhe duk_safe_to_stacktrace() për të marrë gjurmë të stivës, duk_push_bare_array() për të shtuar instanca të vargjeve të pavarura. Funksionet duk_require_constructable() dhe duk_require_constructor_call() janë bërë publike. Përputhshmëri e përmirësuar me specifikimin ES2017. Puna me grupe dhe objekte është optimizuar. U shtua opsioni "--jo-auto-plotësim" në ndërfaqen duk CLI për të çaktivizuar përfundimin e hyrjes.

Burimi: opennet.ru

Shto një koment