JavaScript-mootori vĂ€ljalaskmine , mis on suunatud C/C++ projekti koodibaasi integreerimisele. Mootor on kompaktne, kĂ”rgelt ĂŒlekantav ja madala ressursikasutusega. Mootori allikakood on kirjutatud C keeles ja MIT litsentsi alusel.
Duktape kood vĂ”tab umbes 160 kB ja kasutab ainult 70 kB RAM-i, madala mĂ€lu tarbimise reĆŸiimis aga 27 kB RAM-i. Duktape'i integreerimiseks C/C++ koodi projektis duktape.c ja duktape.h failide lisamisest ning kasutamisest JavaScripti funktsioonide kutsumiseks C/C++ koodist vĂ”i vastupidi. MĂ€lus kasutamata objektide vabastamiseks rakendatakse kokkuvĂ”ttega prĂŒgikoristajat, mis pĂ”hineb kombinatsioonil viidete lugemise ja mĂ€rgpuhastus (Mark and Sweep) algoritmist. Mootorit kasutatakse JavaScripti töötlemiseks brauseris .
Tagatakse tĂ€ielik ĂŒhilduvus Ecmascript 5.1 spetsiifikatsioonidega ja osaline Ecmascript 2015 ja 2016 (E6 ja E7), sealhulgas Proxy objekti tugi omaduste virtualiseerimiseks, tĂŒĂŒpide massiivid, ArrayBuffer, Node.js Buffer, Encoding API, Symbol objekt jne. Komplektil on sisseehitatud tĂ”rkefinder, regulaaravaldiste töötlemise mootori ja Unicode'i toetasĂŒsteem. Samuti pakutakse spetsiifilisi laiendusi, nagu nĂ€iteks kooperatiivide tugi, sisseehitatud logimise raamistik, CommonJS-pĂ”hine moodulite laadimise mehhanism ja sĂŒmbioosi salvestamise sĂŒsteem, mis vĂ”imaldab salvestada ja laadida kompileeritud funktsioone.
Uues vĂ€ljaandes uued kĂ”ned duk_to_stacktrace() ja duk_safe_to_stacktrace() virnastustĂ”mmiste saamiseks, duk_push_bare_array() sĂ”ltumatute massiivi eksemplaride lisamiseks. Avalikuks on muudetud funktsioonid duk_require_constructable() ja duk_require_constructor_call(). Parandatud ĂŒhilduvust ES2017 spetsiifikaga. Optimeeritud töö massiivide ja objektidega. Duki CLI-liidesele on lisatud valik ââno-auto-completeâ, et sissekanne automaatne tĂ€itmine keelata.
Allikas: opennet.ru
