mirror of
https://github.com/radareorg/quickjs.git
synced 2026-11-07 06:25:57 -10:00
master
Replace quickjs-ng's stack-based libregexp with Fabrice Bellard's
register-based backtracking engine, which
is faster and guarantees linear bytecode size growth. This also brings the
regexp implementation to full parity with upstream: v flag, regexp modifiers,
duplicate named capture groups, properties of strings, and Script=Unknown.
Includes the following upstream commits from bellard/quickjs:
7ab2341 faster and simpler implementation of regexp backtracking
a774007 removed buffer overflows introduced in regexp optimizations
371c06e ensure regexp bytecode size grows linearly with the input
47aac8b regexp: a set of registers instead of an auxiliary stack
5907aa6 added missing lre_poll_timeout()
f113949 removed alloca() in lre_exec(); \s/\S opcodes; optimized \b/\B
7bd1ae2 \x{N} is a syntax error
24379bf added regexp duplicate named groups; fixed reset of captures
f95b8ba added regexp modifiers
d7cdfdc regexp: added v flag support; CR_OP_SUB + properties of strings
fc524f7 added missing 'Unknown' unicode Script
⚡️ QuickJS - A mighty JavaScript engine
Overview
QuickJS is a small and embeddable JavaScript engine. It aims to support the latest ECMAScript specification.
This project is a fork of the original QuickJS project by Fabrice Bellard and Charlie Gordon, after it went dormant, with the intent of reigniting its development.
Getting started
Head over to the project website for instructions on how to get started and more documentation.
Authors
@bnoordhuis, @saghul, and many more contributors.
Description
QuickJS, the Next Generation: a mighty JavaScript engine
40 MiB
0 Stars
1 Watchers
0 Forks
Languages
C
92.2%
JavaScript
6.7%
CMake
0.5%
Meson
0.5%
Makefile
0.1%