Iegultā JavaScript dzinēja Duktape 2.4.0 izlaišana

publicēts JavaScript dzinēja izlaišana Duktape 2.4.0, kuras mērķis ir iegult projektu kodu bāzē C/C++ valodā. Dzinējs ir kompakta izmēra, ļoti pārnēsājams un mazs resursu patēriņš. Dzinēja pirmkods ir rakstīts C un izplatīties saskaņā ar MIT licenci.

Duktape kods aizņem aptuveni 160 kB un patērē tikai 70 kB RAM, bet zema atmiņas patēriņa režīmā 27 kB RAM. Lai integrētu Duktape C/C++ kodā ir pietiekams pievienojiet projektam failus duktape.c un duktape.h un izmantojiet Duktape API lai izsauktu JavaScript funkcijas no C/C++ koda vai otrādi. Lai atbrīvotu neizmantotos objektus no atmiņas, tiek izmantots atkritumu savācējs ar pabeigtāju, kas izveidots, pamatojoties uz kombināciju algoritms saišu skaitīšana ar marķēšanas algoritmu (Mark and Sweep). Dzinējs tiek izmantots, lai pārlūkprogrammā apstrādātu JavaScript NetSurf.

Nodrošina pilnīgu saderību ar Ecmascript 5.1 specifikācijām un daļēju atbalstīt Ecmascript 2015 un 2016 (E6 un E7), tostarp starpniekservera objektu atbalsts īpašuma virtualizācijai, drukāti masīvi, ArrayBuffer, Node.js buferis, kodēšanas API, simbolu objekts utt. Tas ietver iebūvētu atkļūdotāju, regulāro izteiksmju dzinēju un apakšsistēmu Unicode atbalstam. Tiek nodrošināti arī īpaši paplašinājumi, piemēram, korutīnas atbalsts, iebūvēts reģistrēšanas ietvars, uz CommonJS balstīts moduļu ielādes mehānisms un baitkoda kešatmiņas sistēma, kas ļauj saglabāt un ielādēt apkopotās funkcijas.

Jaunajā laidienā īstenota jauni izsaukumi uz duk_to_stacktrace() un duk_safe_to_stacktrace(), lai iegūtu steka trases, duk_push_bare_array(), lai pievienotu neatkarīgus masīva gadījumus. Funkcijas duk_require_constructable() un duk_require_constructor_call() ir publiskotas. Uzlabota saderība ar ES2017 specifikāciju. Darbs ar masīviem un objektiem ir optimizēts. Duk CLI saskarnei ir pievienota opcija “--no-auto-complete”, lai atspējotu ievades pabeigšanu.

Avots: opennet.ru

Pievieno komentāru