Dev builds synced with nextgen source by github
Find a file
Ben Noordhuis 37fe427d59
Add resizable ArrayBuffers (#646)
This commit implements resizable ArrayBuffers - RABs for short - and
extends typed arrays (TAs) to support fixed-length and length-tracking
modes.

SharedArrayBuffers (SABs) also support the maxByteLength option now but
I cheated and allocate all memory upfront because atomically resizing
memory allocations is hard and this commit is already big and complex.

The lion's share is updating all the TA prototype methods to deal with
RABs resizing underneath them. Method arguments can be arbitrary objects
with arbitrary .valueOf methods and arbitrary side effects, like...
resizing the RAB we're currently operating on.

Fixes: https://github.com/quickjs-ng/quickjs/issues/477
2024-11-05 21:55:42 +01:00
.github/workflows Add C++ compile test (#615) 2024-10-26 14:01:45 +02:00
docs Prefix stdlib modules with "qjs:" 2024-10-24 22:24:03 +02:00
examples Prefix stdlib modules with "qjs:" 2024-10-24 22:24:03 +02:00
gen Add resizable ArrayBuffers (#646) 2024-11-05 21:55:42 +01:00
test262@b70b75793d Update test262 (#484) 2024-08-21 23:36:09 +02:00
tests Add resizable ArrayBuffers (#646) 2024-11-05 21:55:42 +01:00
.gitattributes Ignore diff for generated files 2024-09-23 23:36:54 +02:00
.gitignore Fix crash in deserializer (#602) 2024-10-17 08:45:04 +02:00
.gitmodules Enable test262 on CI (#11) 2023-11-04 10:27:57 +01:00
CMakeLists.txt Auto-detect ASan at compile time (#638) 2024-10-29 19:54:33 +01:00
ctest.c Make quickjs.h -Wall -Wextra -pedantic clean (#628) 2024-10-26 17:10:18 +02:00
cutils.c Build and run run-test262 on Windows 2024-10-10 21:52:34 +02:00
cutils.h Auto-detect ASan at compile time (#638) 2024-10-29 19:54:33 +01:00
cxxtest.cc Make quickjs.h -Wall -Wextra -pedantic clean (#628) 2024-10-26 17:10:18 +02:00
dirent_compat.h Add support for building with ClangCL on Windows 2023-11-30 01:23:09 +01:00
fuzz.c Fix crash in deserializer (#602) 2024-10-17 08:45:04 +02:00
getopt_compat.h Add support for building with ClangCL on Windows 2023-11-30 01:23:09 +01:00
libbf.c Fix out-of-bound write in libbf 2024-10-07 22:34:01 +02:00
libbf.h Guard int128_t typedef 2024-07-30 11:09:21 +02:00
libregexp-opcode.h regexp: fixed the zero advance logic in quantifiers 2024-09-14 22:00:48 +02:00
libregexp.c regexp: fixed the zero advance logic in quantifiers 2024-09-14 22:00:48 +02:00
libregexp.h Add 'extern' statements to public headers for C++ compatibility 2024-07-15 00:23:49 +02:00
libunicode-table.h Fix regexp case insensitive flag (#531) 2024-09-13 23:50:44 +02:00
libunicode.c Fix regexp case insensitive flag (#531) 2024-09-13 23:50:44 +02:00
libunicode.h Fix regexp case insensitive flag (#531) 2024-09-13 23:50:44 +02:00
LICENSE Update LICENSE 2023-12-06 00:00:15 +01:00
list.h Add 'extern' statements to public headers for C++ compatibility 2024-07-15 00:23:49 +02:00
Makefile Make quickjs.h -Wall -Wextra -pedantic clean (#628) 2024-10-26 17:10:18 +02:00
qjs.c Make qjs --std switch include bjson module (#640) 2024-10-29 22:56:00 +01:00
qjsc.c Prefix stdlib modules with "qjs:" 2024-10-24 22:24:03 +02:00
quickjs-atom.h Add resizable ArrayBuffers (#646) 2024-11-05 21:55:42 +01:00
quickjs-c-atomics.h Enable support for GCC compler v < 4.9 2023-11-29 09:22:27 +01:00
quickjs-libc.c Detect if stdout is a console in quickjs-libc (#642) 2024-10-31 11:08:41 +01:00
quickjs-libc.h Report async failures via exit code 2024-09-10 21:42:01 +02:00
quickjs-opcode.h Support private brand checks 2024-09-24 18:37:02 +02:00
quickjs.c Add resizable ArrayBuffers (#646) 2024-11-05 21:55:42 +01:00
quickjs.h Make quickjs.h -Wall -Wextra -pedantic clean (#628) 2024-10-26 17:10:18 +02:00
README.md Update README.md 2024-07-16 22:28:52 +02:00
repl.js Prefix stdlib modules with "qjs:" 2024-10-24 22:24:03 +02:00
run-test262.c Add stack trace to Test262Error (#644) 2024-11-04 23:21:52 +01:00
test262-fast.conf Add faster test262 test target (#362) 2024-04-09 10:36:49 +02:00
test262.conf Add resizable ArrayBuffers (#646) 2024-11-05 21:55:42 +01:00
test262_errors.txt Add resizable ArrayBuffers (#646) 2024-11-05 21:55:42 +01:00
tests.conf Fix cyclic import/export segfault (#568) 2024-10-16 10:13:38 +02:00
unicode_download.sh updated to Unicode 14.0.0 2022-03-06 19:00:24 +01:00
unicode_gen.c Fix regexp case insensitive flag (#531) 2024-09-13 23:50:44 +02:00
unicode_gen_def.h Update to Unicode 15.0.0 (#89) 2023-11-18 22:29:53 +01:00

QuickJS - A mighty JavaScript engine

Friendly QuickJS fork focused on reigniting the project.

Overview

In October 2023 @bnoordhuis and @saghul decided to fork the QuickJS project with the aim of reigniting it. They reached out to the original authors (@bellard and @chqrlie) about their intentions.

As of December 2023 the initial goal was somewhat accomplished. @bellard resumed working on the project and both parties have been pulling patches from each other since.

As of early 2024 both projects agree the proper path forward involves merging both projects and combining the efforts. While that may take a while, since both projects diverged in certain areas, there is willingness to go in this direction from both sides.