QuickJS, the Next Generation: a mighty JavaScript engine
Find a file
Charlie Gordon 3b50de4848
Improve consistency of JS_NewFloat64 API (#319)
* 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)
2024-03-25 08:29:04 +01:00
.github/workflows Add valgrind to CI 2024-03-20 20:03:05 +01:00
doc Handle serialization endianness transparently (#152) 2023-11-28 22:49:01 +01:00
examples Replace JSValueConst with JSValue (#195) 2023-12-10 15:15:42 +01:00
gen Remove unused variables in REPL 2024-03-20 11:50:06 +01:00
test262@c1281dba45 Enable test262 on CI (#11) 2023-11-04 10:27:57 +01:00
tests Make Object.prototype an immutable prototype object (#317) 2024-03-16 08:53:29 +01:00
.gitignore Add support for compiling with Microsoft Visual Studio C++ (MSVC) (#246) 2024-01-16 12:42:05 +01:00
.gitmodules Enable test262 on CI (#11) 2023-11-04 10:27:57 +01:00
CMakeLists.txt Do not link to pthread when targeting Android 2024-03-20 07:30:39 +01:00
cutils.c Retain function source code in serialized bytecode (#218) 2023-12-16 01:01:26 +01:00
cutils.h Fix Android build 2024-03-12 10:26:10 +01:00
dirent_compat.h Add support for building with ClangCL on Windows 2023-11-30 01:23:09 +01:00
getopt_compat.h Add support for building with ClangCL on Windows 2023-11-30 01:23:09 +01:00
libbf.c Fix UB in bf_set_ui() 2023-12-02 16:05:10 +01:00
libbf.h Fix building with tcc (#170) 2023-12-03 13:36:51 +01:00
libregexp-opcode.h Optimize RegExp ASCII literal matching (#94) 2023-11-19 17:26:45 +01:00
libregexp.c Fix bug in GET_PREV_CHAR macro (#278) 2024-03-03 17:12:52 +01:00
libregexp.h Implement RegExp 'v' flag, part 1 (#229) 2023-12-21 19:37:31 +01:00
libunicode-table.h Drop CONFIG_ALL_UNICODE and enable it by default 2023-11-20 10:52:04 +01:00
libunicode.c Add NetBSD support (#177) 2023-12-07 15:48:31 +01:00
libunicode.h Drop CONFIG_ALL_UNICODE and enable it by default 2023-11-20 10:52:04 +01:00
LICENSE Update LICENSE 2023-12-06 00:00:15 +01:00
list.h Add container_of macro 2023-12-23 00:11:41 +01:00
Makefile Check-in all generated C files 2024-02-13 09:49:57 +01:00
qjs.c Run V8 spec conformance test suite (#243) 2024-01-02 07:47:40 +01:00
qjsc.c Retain function source code in serialized bytecode (#218) 2023-12-16 01:01:26 +01:00
quickjs-atom.h Implement Error.prepareStackTrace support 2023-12-19 15:36:44 +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 Add os.getpid (#320) 2024-03-17 20:01:06 +01:00
quickjs-libc.h Replace JSValueConst with JSValue (#195) 2023-12-10 15:15:42 +01:00
quickjs-opcode.h Fix 'return' handling with 'yield' in 'for of' or with finally blocks 2023-12-14 11:49:14 +01:00
quickjs.c Improve consistency of JS_NewFloat64 API (#319) 2024-03-25 08:29:04 +01:00
quickjs.h Improve consistency of JS_NewFloat64 API (#319) 2024-03-25 08:29:04 +01:00
README.md Update README, add fork information 2024-03-12 20:00:41 +01:00
repl.js Remove unused variables in REPL 2024-03-20 11:50:06 +01:00
run-test262.c Fix run-test262 dynamic import (#237) 2023-12-27 10:19:58 +01:00
test262.conf Implement RegExp 'v' flag, part 1 (#229) 2023-12-21 19:37:31 +01:00
test262_errors.txt Fix evaluation order of computed properties 2024-01-16 12:43:35 +01:00
unicode_download.sh updated to Unicode 14.0.0 2022-03-06 19:00:24 +01:00
unicode_gen.c Fix typo in #undef (#222) 2023-12-16 15:11:28 +01:00
unicode_gen_def.h Update to Unicode 15.0.0 (#89) 2023-11-18 22:29:53 +01:00
v8-tweak.js Improve string parsing and JSON parsing (#316) 2024-03-22 11:19:36 +01:00
v8.js Improve string parsing and JSON parsing (#316) 2024-03-22 11:19:36 +01:00
v8.sh Run V8 spec conformance test suite (#243) 2024-01-02 07:47:40 +01:00
v8.txt Fix fully initializing JSStackFrame (#328) 2024-03-24 22:06:57 +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.