Public repository of the QuickJS Javascript Engine.
Go to file
landerlyoung 6b073afcb9 Change JSObject.weak_ref_list to use a bit and external hash table.
1. Add a generic hashmap implementation.
2. Change Error `JSObject.is_uncatchable_error` flag to `JSObject.u.error` struct, leaving room for weak ref flag bit.
3. Compat `JSString.hash_next` to 31-bits (can be safely compat to 28-bits), leaving room for weak ref flag bit.

Save memory for each JSObject (8 bytes on 64-bit platform, 4 bytes on 32-bit platform).
2024-08-14 12:06:20 +08:00
.github/workflows Add CI targets, fix test_std.js (#247) 2024-03-03 21:57:38 +01:00
compat Improve js_os_exec (#295) 2024-05-10 01:57:55 +02:00
doc Add WeakRef implementation 2024-08-06 21:02:22 +08:00
examples Strip trailing spaces 2024-02-10 16:19:17 +01:00
fuzz Add the missing fuzz_common.c (#292) 2024-05-09 12:36:12 +02:00
tests Change JSObject.weak_ref_list to use a bit and external hash table. 2024-08-14 12:06:20 +08:00
.gitignore Add benchmarks target 2024-02-19 01:13:07 +01:00
Changelog update Changelog 2024-01-19 10:18:32 +01:00
cutils.c Prevent UB on memcpy and floating point conversions 2024-03-03 14:05:40 +01:00
cutils.h Improve Date.parse, small fixes 2024-03-22 00:47:17 +01:00
libbf.c Fix compilation with -DCONFIG_BIGNUM 2024-03-22 11:23:33 +01:00
libbf.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
libregexp-opcode.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
libregexp.c regexp: fix non greedy quantizers with zero length matches 2024-05-30 16:41:37 +02:00
libregexp.h Improve libunicode and libregexp headers (#288) 2024-05-05 17:47:40 +02:00
libunicode-table.h Improve unicode table handling (#286) 2024-05-05 12:10:24 +02:00
libunicode.c Improve libunicode and libregexp headers (#288) 2024-05-05 17:47:40 +02:00
libunicode.h Improve libunicode and libregexp headers (#288) 2024-05-05 17:47:40 +02:00
LICENSE Strip trailing spaces 2024-02-10 16:19:17 +01:00
list.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
Makefile fixed test of test262 directory 2024-05-30 15:36:20 +02:00
qjs.c Use malloc_usable_size() on any OS based on GNU libc 2024-07-21 10:24:01 +02:00
qjsc.c Add WeakRef implementation 2024-08-06 21:02:22 +08:00
qjscalc.js Strip trailing spaces 2024-02-10 16:19:17 +01:00
quickjs-atom.h Add WeakRef implementation 2024-08-06 21:02:22 +08:00
quickjs-libc.c Define a fallback PATH_MAX if not available 2024-07-21 10:24:01 +02:00
quickjs-libc.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
quickjs-opcode.h Strip trailing spaces 2024-02-10 16:19:17 +01:00
quickjs.c Change JSObject.weak_ref_list to use a bit and external hash table. 2024-08-14 12:06:20 +08:00
quickjs.h Add WeakRef implementation 2024-08-06 21:02:22 +08:00
readme.txt 2020-01-05 release 2020-09-06 18:53:08 +02:00
release.sh Strip trailing spaces 2024-02-10 16:19:17 +01:00
repl.js Improve repl regexp handling 2024-03-02 14:36:44 +01:00
run-test262.c Improve run-test262 2024-02-18 15:00:04 +01:00
test262_errors.txt fixed JS_GetScriptOrModuleName() in direct or indirect eval code 2024-01-13 11:15:06 +01:00
test262.conf Add WeakRef implementation 2024-08-06 21:02:22 +08:00
test262o_errors.txt 2020-01-05 release 2020-09-06 18:53:08 +02:00
test262o.conf Fix test262o error 2024-02-10 20:54:29 +01:00
TODO Change JSObject.weak_ref_list to use a bit and external hash table. 2024-08-14 12:06:20 +08:00
unicode_download.sh Strip trailing spaces 2024-02-10 16:19:17 +01:00
unicode_gen_def.h updated to unicode 15.0.0 2023-12-05 16:51:16 +01:00
unicode_gen.c Improve libunicode and libregexp headers (#288) 2024-05-05 17:47:40 +02:00
VERSION Improve string concatenation hack 2024-02-15 10:30:04 +01:00

The main documentation is in doc/quickjs.pdf or doc/quickjs.html.