Utgivelse av den innebygde JavaScript-motoren Duktape 2.4.0

publisert JavaScript-motorutgivelse Duktape 2.4.0, rettet mot å bygge inn i kodebasen til prosjekter i C/C++-språket. Motoren er kompakt i størrelse, svært bærbar og lavt ressursforbruk. Kildekoden til motoren er skrevet i C og spre under MIT-lisensen.

Duktape-koden tar opp omtrent 160 kB og bruker kun 70 kB RAM, og i lavt minneforbruksmodus 27 kB RAM. For å integrere Duktape i C/C++-kode er tilstrekkelig legg til filene duktape.c og duktape.h til prosjektet, og bruk Duktape API å kalle JavaScript-funksjoner fra C/C++-kode eller omvendt. For å frigjøre ubrukte gjenstander fra minnet, brukes en søppeloppsamler med sluttbehandler, bygget på grunnlag av en kombinasjon algoritme linktelling med markeringsalgoritme (Mark and Sweep). Motoren brukes til å behandle JavaScript i nettleseren NetSurf.

Gir full kompatibilitet med Ecmascript 5.1-spesifikasjoner og delvis støtte Ecmascript 2015 og 2016 (E6 og E7), inkludert Proxy-objektstøtte for egenskapsvirtualisering, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol Object, etc. Den inkluderer en innebygd debugger, en motor for regulære uttrykk og et undersystem for Unicode-støtte. Spesifikke utvidelser er også gitt, for eksempel coroutine-støtte, et innebygd loggingsrammeverk, en CommonJS-basert modullastingsmekanisme og et bytekode-bufringsystem som lar deg lagre og laste kompilerte funksjoner.

I den nye utgivelsen implementert nye kall til duk_to_stacktrace() og duk_safe_to_stacktrace() for å få stackspor, duk_push_bare_array() for å legge til uavhengige array-forekomster. Funksjonene duk_require_constructable() og duk_require_constructor_call() har blitt offentliggjort. Forbedret kompatibilitet med ES2017-spesifikasjonen. Arbeid med matriser og objekter har blitt optimalisert. Lagt til "--no-auto-complete"-alternativet til duk CLI-grensesnittet for å deaktivere inndatafullføring.

Kilde: opennet.ru

Legg til en kommentar