QuickJS, the Next Generation: a mighty JavaScript engine
3b50de4848
* Improve consistency of JS_NewFloat64 API - `JS_NewFloat64()` always creates a `JS_TAG_FLOAT64` value - internal `js_float64()` always creates a `JS_TAG_FLOAT64` value - add `js_int64` internal function for consistency - rename `float_is_int32` as `double_is_int32` - handle `INT32_MIN` in `double_is_int32`, use (somewhat) faster alternative - add `js_number(d)` to create a `JS_TAG_FLOAT64` or a `JS_TAG_INT` value if possible - add `JS_NewNumber()` API for the same purpose - use non testing constructor for infinities in `js_atof2` - always store internal time value as a float64 - merge `JS_NewBigInt64_1` into `JS_NewBigInt64` - use comparisons instead of `(int32_t)` casts (implementation defined behavior) |
||
---|---|---|
.github/workflows | ||
doc | ||
examples | ||
gen | ||
test262@c1281dba45 | ||
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.conf | ||
test262_errors.txt | ||
unicode_download.sh | ||
unicode_gen.c | ||
unicode_gen_def.h | ||
v8-tweak.js | ||
v8.js | ||
v8.sh | ||
v8.txt |
⚡️ 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.