Duktape 2.4.0 o'rnatilgan JavaScript dvigatelining chiqarilishi

nashr etilgan JavaScript dvigatelining chiqarilishi Duktape 2.4.0, C/C++ tilidagi loyihalarning kod bazasiga kiritishga qaratilgan. Dvigatel hajmi jihatidan ixcham, yuqori portativ va kam resurs iste'moli. Dvigatelning manba kodi C va da yozilgan tarqaldi MIT litsenziyasi ostida.

Duktape kodi taxminan 160 kB ni egallaydi va atigi 70 kB RAM, kam xotira iste'moli rejimida esa 27 kB RAM iste'mol qiladi. Duktape-ni C/C++ kodiga integratsiya qilish uchun etarli loyihaga duktape.c va duktape.h fayllarini qo'shing va foydalaning Duktape API C/C++ kodidan JavaScript funksiyalarini chaqirish yoki aksincha. Foydalanilmayotgan ob'ektlarni xotiradan bo'shatish uchun kombinatsiya asosida qurilgan yakunlovchi bilan axlat yig'uvchi ishlatiladi. algoritm belgilash algoritmi bilan havolalarni hisoblash (Mark and Sweep). Dvigatel brauzerda JavaScript-ni qayta ishlash uchun ishlatiladi NetSurf.

Ecmascript 5.1 spetsifikatsiyalari va qisman to'liq muvofiqligini ta'minlaydi qo'llab-quvvatlash Ecmascript 2015 va 2016 (E6 va E7), shu jumladan mulkni virtualizatsiya qilish uchun proksi ob'ektni qo'llab-quvvatlash, Typed Arrays, ArrayBuffer, Node.js Bufer, Encoding API, Symbol obyekti va boshqalar. U o'rnatilgan tuzatuvchini, oddiy ifoda mexanizmini va Unicode qo'llab-quvvatlash uchun quyi tizimni o'z ichiga oladi. Korutin yordami, o'rnatilgan ro'yxatga olish tizimi, CommonJS-ga asoslangan modullarni yuklash mexanizmi va kompilyatsiya qilingan funktsiyalarni saqlash va yuklash imkonini beruvchi bayt-kod keshlash tizimi kabi maxsus kengaytmalar ham taqdim etiladi.

Yangi nashrda amalga oshirildi stek izlarini olish uchun duk_to_stacktrace() va duk_safe_to_stacktrace() ga yangi qo'ng'iroqlar, mustaqil massiv misollarini qo'shish uchun duk_push_bare_array() ga. duk_require_constructable() va duk_require_constructor_call() funksiyalari ommaga e’lon qilindi. ES2017 spetsifikatsiyasi bilan yaxshilangan muvofiqlik. Massivlar va obyektlar bilan ishlash optimallashtirildi. Kirishni yakunlashni o'chirish uchun duk CLI interfeysiga "--no-auto-complete" opsiyasi qo'shildi.

Manba: opennet.ru

a Izoh qo'shish