Pagpagawas sa naka-embed nga JavaScript engine nga Duktape 2.4.0

gipatik Pagpagawas sa makina sa JavaScript Duktape 2.4.0, nga gitumong sa pag-embed sa code base sa mga proyekto sa C/C++ nga pinulongan. Ang makina mao ang compact sa gidak-on, kaayo madaladala ug ubos nga resource konsumo. Ang source code sa makina gisulat sa C ug pagkaylap ubos sa lisensya sa MIT.

Ang Duktape code mokuha ug mga 160 kB ug mokonsumo lamang ug 70 kB sa RAM, ug sa ubos nga memory consumption mode 27 kB sa RAM. Aron i-integrate ang Duktape sa C/C++ code igo na idugang ang mga file duktape.c ug duktape.h sa proyekto, ug gamita Duktape API sa pagtawag sa JavaScript function gikan sa C/C++ code o vice versa. Aron mapahigawas ang wala magamit nga mga butang gikan sa panumduman, gigamit ang usa ka tigkolekta sa basura nga adunay usa ka finalizer, nga gitukod pinasukad sa usa ka kombinasyon algorithm pag-ihap sa link nga adunay algorithm sa pagmarka (Mark ug Sweep). Ang makina gigamit sa pagproseso sa JavaScript sa browser NetSurf.

Naghatag bug-os nga pagkaangay sa mga detalye sa Ecmascript 5.1 ug partial pagsuporta Ecmascript 2015 ug 2016 (E6 ug E7), lakip ang Proxy object nga suporta alang sa virtualization sa propyedad, Typed Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol object, etc. Naglakip kini sa usa ka built-in nga debugger, usa ka regular nga ekspresyon nga makina, ug usa ka subsystem alang sa suporta sa Unicode. Gihatag usab ang piho nga mga extension, sama sa suporta sa coroutine, usa ka built-in nga balangkas sa pag-log, usa ka mekanismo sa pagkarga sa module nga nakabase sa CommonJS, ug usa ka sistema sa pag-cache sa bytecode nga nagtugot kanimo sa pagtipig ug pagkarga sa mga giipon nga mga gimbuhaton.

Sa bag-ong pagpagawas gipatuman bag-ong tawag sa duk_to_stacktrace() ug duk_safe_to_stacktrace() para makakuha og stack traces, duk_push_bare_array() para makadugang ug independent array instances. Ang mga gimbuhaton nga duk_require_constructable() ug duk_require_constructor_call() gipahibalo sa publiko. Gipauswag nga pagkaangay sa detalye sa ES2017. Ang pagtrabaho sa mga arrays ug mga butang na-optimize. Gidugang ang "--no-auto-complete" nga kapilian sa duk CLI interface aron ma-disable ang input completion.

Source: opennet.ru

Idugang sa usa ka comment