mirror of
https://github.com/DoneJS-Runtime/quickjs-done-nextgen.git
synced 2025-01-09 17:43:15 +00:00
Dev builds synced with nextgen source by github
61c8fe6fb0
The spec says HostMakeJobCallback has to be used on the callback: https://tc39.es/ecma262/multipage/managing-memory.html#sec-finalization-registry-cleanup-callback That makes the following (arguably contrived) example run forever until memory is exhausted. ```js let count = 0; function main() { console.log(`main! ${++count}`); const registry = new FinalizationRegistry(() => { globalThis.foo = main(); }); registry.register([]); registry.register([]); return registry; } main(); console.log(count); ``` That is unlike V8, which runs 0 times. This can be explained by the difference in GC implementations and since FinRec makes GC observable, here we are! Fixes: https://github.com/quickjs-ng/quickjs/issues/432 |
||
---|---|---|
.github/workflows | ||
doc | ||
examples | ||
gen | ||
test262@b70b75793d | ||
tests | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
cutils.c | ||
cutils.h | ||
dirent_compat.h | ||
getopt_compat.h | ||
libbf.c | ||
libbf.h | ||
libregexp-opcode.h | ||
libregexp.c | ||
libregexp.h | ||
libunicode-table.h | ||
libunicode.c | ||
libunicode.h | ||
LICENSE | ||
list.h | ||
Makefile | ||
qjs.c | ||
qjsc.c | ||
quickjs-atom.h | ||
quickjs-c-atomics.h | ||
quickjs-libc.c | ||
quickjs-libc.h | ||
quickjs-opcode.h | ||
quickjs.c | ||
quickjs.h | ||
README.md | ||
repl.js | ||
run-test262.c | ||
test262-fast.conf | ||
test262.conf | ||
test262_errors.txt | ||
unicode_download.sh | ||
unicode_gen.c | ||
unicode_gen_def.h |
⚡️ 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.