Keluaran enjin JavaScript terbenam Duktape 2.4.0

diterbitkan Keluaran enjin JavaScript Duktape 2.4.0, bertujuan untuk membenamkan ke dalam asas kod projek dalam bahasa C/C++. Enjinnya bersaiz padat, sangat mudah alih dan penggunaan sumber yang rendah. Kod sumber enjin ditulis dalam C dan sebar di bawah lesen MIT.

Kod Duktape mengambil kira-kira 160 kB dan menggunakan hanya 70 kB RAM, dan dalam mod penggunaan memori rendah 27 kB RAM. Untuk menyepadukan Duktape ke dalam kod C/C++ cukup tambah fail duktape.c dan duktape.h pada projek dan gunakan API Duktape untuk memanggil fungsi JavaScript daripada kod C/C++ atau sebaliknya. Untuk membebaskan objek yang tidak digunakan daripada ingatan, pengumpul sampah dengan penyempurna digunakan, dibina berdasarkan gabungan algoritma pengiraan pautan dengan algoritma penandaan (Mark and Sweep). Enjin digunakan untuk memproses JavaScript dalam penyemak imbas NetSurf.

Menyediakan keserasian penuh dengan spesifikasi Ecmascript 5.1 dan separa menyokong Ecmascript 2015 dan 2016 (E6 dan E7), termasuk sokongan objek Proksi untuk virtualisasi harta, Tatasusunan Taip, ArrayBuffer, Penampan Node.js, API Pengekodan, objek Simbol, dsb. Ia termasuk penyahpepijat terbina dalam, enjin ungkapan biasa dan subsistem untuk sokongan Unicode. Sambungan khusus juga disediakan, seperti sokongan coroutine, rangka kerja pengelogan terbina dalam, mekanisme pemuatan modul berasaskan CommonJS dan sistem caching kod bait yang membolehkan anda menyimpan dan memuatkan fungsi yang disusun.

Dalam keluaran baru dilaksanakan panggilan baharu ke duk_to_stacktrace() dan duk_safe_to_stacktrace() untuk mendapatkan surih tindanan, duk_push_bare_array() untuk menambah kejadian tatasusunan bebas. Fungsi duk_require_constructable() dan duk_require_constructor_call() telah didedahkan kepada umum. Keserasian yang lebih baik dengan spesifikasi ES2017. Bekerja dengan tatasusunan dan objek telah dioptimumkan. Menambahkan pilihan "--tiada-auto-lengkap" pada antara muka duk CLI untuk melumpuhkan penyiapan input.

Sumber: opennet.ru

Tambah komen