Veröffentlichung des JavaScript-Engines , die auf die Integration in Codebasen von C/C++-Projekten ausgerichtet ist. Die Engine zeichnet sich durch ihre kompakte GröĂe, hohe PortabilitĂ€t und geringen Ressourcenverbrauch aus. Der Quellcode der Engine ist in C geschrieben und unterliegt der MIT-Lizenz.
Der Duktape-Code benötigt etwa 160 kB und verbraucht nur 70 kB RAM, im Modus fĂŒr geringen Speicherverbrauch sind es 27 kB RAM. Um Duktape in C/C++-Code zu integrieren, fĂŒgen Sie die Dateien duktape.c und duktape.h in das Projekt ein und verwenden Sie zum Aufrufen von JavaScript-Funktionen aus C/C++-Code oder umgekehrt. Ein Abfallsammler mit Finalizer, der auf einer Kombination von ReferenzzĂ€hlung mit dem Mark-and-Sweep-Algorithmus basiert, wird verwendet, um nicht mehr benötigte Objekte aus dem Speicher freizugeben. Die Engine wird zur Verarbeitung von JavaScript im Browser .
vollstĂ€ndige KompatibilitĂ€t mit den Spezifikationen von Ecmascript 5.1 und partielle UnterstĂŒtzung fĂŒr Ecmascript 2015 und 2016 (E6 und E7), einschlieĂlich der UnterstĂŒtzung des Proxy-Objekts zur Virtualisierung von Eigenschaften, typisierten Arrays, ArrayBuffer, Node.js Buffer, Encoding API, Symbol-Objekt usw. Es enthĂ€lt einen eingebauten Debugger, eine Engine zum AusfĂŒhren von regulĂ€ren AusdrĂŒcken und ein Subsystem zur UnterstĂŒtzung von Unicode. AuĂerdem werden spezifische Erweiterungen bereitgestellt, wie die UnterstĂŒtzung von Koroutinen, ein eingebautes Protokollierungsframework, ein Modul-Lade-Mechanismus basierend auf CommonJS und ein Bytecode-Cache-System, das die Speicherung und das Laden kompilierter Funktionen ermöglicht.
In der neuen Version neue Aufrufe duk_to_stacktrace() und duk_safe_to_stacktrace() zur Erfassung von Stack-Traces, duk_push_bare_array() zum HinzufĂŒgen unabhĂ€ngiger Array-Instanzen. Die Funktionen duk_require_constructable() und duk_require_constructor_call() wurden öffentlich ĂŒbersetzt. Die KompatibilitĂ€t mit der ES2017-Spezifikation wurde verbessert. Die Leistung bei der Arbeit mit Arrays und Objekten wurde optimiert. Im CLI-Interface von duk wurde die Option ââno-auto-completeâ hinzugefĂŒgt, um die automatische VervollstĂ€ndigung der Eingabe zu deaktivieren.
Quelle: opennet.ru
