Utjefte fan 'e ynbêde JavaScript-motor Duktape 2.4.0

publisearre JavaScript-motor frijlitting Duktape 2.4.0, rjochte op it ynbêdzjen yn 'e koadebasis fan projekten yn 'e C/C++-taal. De motor is kompakt yn grutte, tige draachber en lege boarne konsumpsje. De boarnekoade fan 'e motor is skreaun yn C en fersprieding ûnder de MIT-lisinsje.

De Duktape-koade nimt sa'n 160 kB op en verbruikt mar 70 kB RAM, en yn modus foar lege ûnthâldferbrûk 27 kB RAM. Om Duktape te yntegrearjen yn C / C ++ koade is genôch tafoegje triemmen duktape.c en duktape.h oan it projekt, en brûk Duktape API om JavaScript-funksjes te neamen fanút C/C++-koade of oarsom. Om net brûkte objekten út it ûnthâld te befrijen, wurdt in garbagesamler mei in finalizer brûkt, boud op basis fan in kombinaasje algoritme link tellen mei markearring algoritme (Mark en Sweep). De motor wurdt brûkt om JavaScript yn 'e browser te ferwurkjen Netsurf.

Biedt folsleine komptabiliteit mei Ecmascript 5.1 spesifikaasjes en foar in part stypje Ecmascript 2015 en 2016 (E6 en E7), ynklusyf Proxy foarwerp stipe foar eigendom virtualization, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol foarwerp, etc. It omfettet in ynboude debugger, in motor foar reguliere ekspresje, en in subsysteem foar Unicode-stipe. Spesifike tafoegings wurde ek foarsjoen, lykas coroutine-stipe, in ynboude logging-ramt, in CommonJS-basearre module-laadmeganisme, en in bytecode-cachingsysteem wêrmei jo kompilearre funksjes kinne bewarje en laden.

Yn de nije útjefte útfierd nije oproppen oan duk_to_stacktrace () en duk_safe_to_stacktrace () foar in fa stack traces, duk_push_bare_array () foar in foegjen ûnôfhinklike array eksimplaren. De funksjes duk_require_constructable() en duk_require_constructor_call() binne iepenbier makke. Ferbettere kompatibiliteit mei de ES2017-spesifikaasje. Wurk mei arrays en objekten is optimalisearre. Added "--no-auto-complete" opsje oan 'e duk CLI-ynterface om ynfierfoltôging út te skeakeljen.

Boarne: opennet.ru

Add a comment