Frigivelse af den indlejrede JavaScript-motor Duktape 2.4.0

offentliggjort JavaScript-motorudgivelse Duktape 2.4.0, der har til formål at indlejre i kodebasen af ​​projekter i C/C++ sproget. Motoren er kompakt i størrelse, yderst bærbar og lavt ressourceforbrug. Motorens kildekode er skrevet i C og spredning under MIT-licensen.

Duktape-koden fylder omkring 160 kB og bruger kun 70 kB RAM, og i lavt hukommelsesforbrug 27 kB RAM. At integrere Duktape i C/C++ kode er tilstrækkelig tilføj filer duktape.c og duktape.h til projektet, og brug Duktape API at kalde JavaScript-funktioner fra C/C++-kode eller omvendt. For at frigøre ubrugte genstande fra hukommelsen bruges en skraldeopsamler med en færdiggører, bygget på basis af en kombination algoritme linktælling med markeringsalgoritme (Mark and Sweep). Motoren bruges til at behandle JavaScript i browseren NetSurf.

Giver fuld kompatibilitet med Ecmascript 5.1 specifikationer og delvis støtte Ecmascript 2015 og 2016 (E6 og E7), inklusive Proxy-objektunderstøttelse til ejendomsvirtualisering, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol-objekt osv. Det inkluderer en indbygget debugger, en regulært udtryksmotor og et undersystem til Unicode-understøttelse. Specifikke udvidelser er også tilvejebragt, såsom coroutine-understøttelse, en indbygget logningsramme, en CommonJS-baseret modulindlæsningsmekanisme og et bytecode-cachesystem, der giver dig mulighed for at gemme og indlæse kompilerede funktioner.

I den nye udgivelse implementeret nye kald til duk_to_stacktrace() og duk_safe_to_stacktrace() for at få stack-spor, duk_push_bare_array() for at tilføje uafhængige array-forekomster. Funktionerne duk_require_constructable() og duk_require_constructor_call() er blevet offentliggjort. Forbedret kompatibilitet med ES2017-specifikationen. Arbejdet med arrays og objekter er blevet optimeret. Tilføjet "--no-auto-complete"-mulighed til duk CLI-grænsefladen for at deaktivere fuldførelse af input.

Kilde: opennet.ru

Tilføj en kommentar