انتشار موتور جاوا اسکریپت جاسازی شده Duktape 2.4.0

منتشر شده انتشار موتور جاوا اسکریپت Duktape 2.4.0، با هدف جاسازی در پایه کد پروژه ها به زبان C/C++. موتور از نظر اندازه جمع و جور، بسیار قابل حمل و مصرف منابع کم است. کد منبع موتور به زبان C و نوشته شده است گسترش تحت مجوز MIT

کد Duktape حدود 160 کیلوبایت اشغال می کند و تنها 70 کیلوبایت رم مصرف می کند و در حالت مصرف کم حافظه 27 کیلوبایت رم. برای ادغام Duktape در کد C/C++ کافی است فایل های duktape.c و duktape.h را به پروژه اضافه کنید و استفاده کنید Duktape API برای فراخوانی توابع جاوا اسکریپت از کد C/C++ یا بالعکس. برای آزاد کردن اشیاء استفاده نشده از حافظه، از یک جمع کننده زباله با یک نهایی کننده استفاده می شود که بر اساس ترکیبی ساخته شده است. الگوریتم شمارش لینک با الگوریتم علامت گذاری (Mark and Sweep). این موتور برای پردازش جاوا اسکریپت در مرورگر استفاده می شود NetSurf.

سازگاری کامل با مشخصات Ecmascript 5.1 و جزئی را فراهم می کند پشتیبانی Ecmascript 2015 و 2016 (E6 و E7)، از جمله پشتیبانی از شیء پروکسی برای مجازی سازی ویژگی، آرایه های تایپ شده، ArrayBuffer، Node.js Buffer، Encoding API، شی نماد و غیره. این شامل یک دیباگر داخلی، یک موتور بیان منظم و یک زیر سیستم برای پشتیبانی از یونیکد است. افزونه‌های خاصی نیز ارائه شده‌اند، مانند پشتیبانی کوروتین، یک چارچوب ورود به سیستم داخلی، مکانیزم بارگیری ماژول مبتنی بر CommonJS، و یک سیستم کش بایت که به شما امکان ذخیره و بارگیری توابع کامپایل‌شده را می‌دهد.

در نسخه جدید اجرا شد فراخوانی های جدید به duk_to_stacktrace() و duk_safe_to_stacktrace() برای دریافت ردیابی پشته، duk_push_bare_array() برای افزودن نمونه های آرایه مستقل. توابع duk_require_constructable() و duk_require_constructor_call() عمومی شده اند. سازگاری بهبود یافته با مشخصات ES2017. کار با آرایه ها و اشیا بهینه شده است. گزینه «--no-auto-complete» به رابط duk CLI اضافه شد تا تکمیل ورودی را غیرفعال کند.

منبع: opennet.ru

اضافه کردن نظر