]> git.kaiwu.me - quickjs.git/log
quickjs.git
14 months agodtoa fix for minus zero
Fabrice Bellard [Mon, 21 Apr 2025 13:33:47 +0000 (15:33 +0200)]
dtoa fix for minus zero

14 months agofixed build_arg_list()
Fabrice Bellard [Mon, 21 Apr 2025 12:13:49 +0000 (14:13 +0200)]
fixed build_arg_list()

14 months agofixed checks in Proxy defineProperty
Fabrice Bellard [Mon, 21 Apr 2025 12:00:32 +0000 (14:00 +0200)]
fixed checks in Proxy defineProperty

14 months agofixed Array.from() and TypedArray.from()
Fabrice Bellard [Mon, 21 Apr 2025 10:39:18 +0000 (12:39 +0200)]
fixed Array.from() and TypedArray.from()

14 months agothe %TypedArray% Intrinsic Object should be a constructor
Fabrice Bellard [Mon, 21 Apr 2025 09:52:42 +0000 (11:52 +0200)]
the %TypedArray% Intrinsic Object should be a constructor

14 months agofixed memory leak in String constructor
Fabrice Bellard [Wed, 16 Apr 2025 15:16:10 +0000 (17:16 +0200)]
fixed memory leak in String constructor

14 months agofixed Proxy getOwnPropertyDescriptor with getters and setters
Fabrice Bellard [Wed, 16 Apr 2025 14:51:34 +0000 (16:51 +0200)]
fixed Proxy getOwnPropertyDescriptor with getters and setters

14 months agoremoved atom leak introduced in commit 83530ac9
Fabrice Bellard [Wed, 16 Apr 2025 14:46:41 +0000 (16:46 +0200)]
removed atom leak introduced in commit 83530ac9

14 months agoadded 'at' in Array.prototype[Symbol.unscopables]
Fabrice Bellard [Wed, 16 Apr 2025 13:10:38 +0000 (15:10 +0200)]
added 'at' in Array.prototype[Symbol.unscopables]

14 months agooptimized and fixed JS_AtomIsNumericIndex1(): 'NaN' is also a number
Fabrice Bellard [Wed, 16 Apr 2025 13:04:57 +0000 (15:04 +0200)]
optimized and fixed JS_AtomIsNumericIndex1(): 'NaN' is also a number

14 months agofixed 'with' access by adding HasPropery() calls - removed unused 'with_get_ref_undef...
Fabrice Bellard [Wed, 16 Apr 2025 12:48:12 +0000 (14:48 +0200)]
fixed 'with' access by adding HasPropery() calls - removed unused 'with_get_ref_undef' opcode

14 months agofixed destructuring operation order when defining variables - optimized more cases...
Fabrice Bellard [Wed, 16 Apr 2025 12:23:54 +0000 (14:23 +0200)]
fixed destructuring operation order when defining variables - optimized more cases of variable definition in destructuring

14 months agofixed destructuring parsing: do it only in assignment expressions
Fabrice Bellard [Wed, 16 Apr 2025 12:14:21 +0000 (14:14 +0200)]
fixed destructuring parsing: do it only in assignment expressions

14 months agomore ToPropertyKey ordering changes
Fabrice Bellard [Tue, 15 Apr 2025 09:26:53 +0000 (11:26 +0200)]
more ToPropertyKey ordering changes

14 months agospec update: ToPropertyKey() is now done after the evaluation of the expression in...
Fabrice Bellard [Tue, 15 Apr 2025 08:50:59 +0000 (10:50 +0200)]
spec update: ToPropertyKey() is now done after the evaluation of the expression in assignments

14 months agoenabled os.Worker on Windows (bnoordhuis)
Fabrice Bellard [Mon, 14 Apr 2025 17:13:57 +0000 (19:13 +0200)]
enabled os.Worker on Windows (bnoordhuis)

14 months agoMerge pull request #400 from renatahodovan/fix-regexp
bellard [Mon, 14 Apr 2025 15:54:18 +0000 (17:54 +0200)]
Merge pull request #400 from renatahodovan/fix-regexp

Define lre_check_timeout in fuzz_regexp

14 months agoDefine lre_check_timeout in fuzz_regexp
Renata Hodovan [Thu, 10 Apr 2025 21:09:15 +0000 (23:09 +0200)]
Define lre_check_timeout in fuzz_regexp

Since #25aaa77, lre_check_timeout must be defined by the user. The
patch adds this definition to the regexp fuzzer.

14 months agoString.prototype.localeCompare is added in JS_AddIntrinsicStringNormalize() as it...
Fabrice Bellard [Mon, 14 Apr 2025 13:14:49 +0000 (15:14 +0200)]
String.prototype.localeCompare is added in JS_AddIntrinsicStringNormalize() as it requires unicode normalization

14 months agoqjsc: added missing -fno-weakref
Fabrice Bellard [Mon, 14 Apr 2025 13:05:02 +0000 (15:05 +0200)]
qjsc: added missing -fno-weakref

14 months agoadded column number in error messages - simplified parser
Fabrice Bellard [Mon, 14 Apr 2025 12:46:47 +0000 (14:46 +0200)]
added column number in error messages - simplified parser

14 months agooptimized js_parse_class_default_ctor() (bnoordhuis)
Fabrice Bellard [Sat, 12 Apr 2025 14:04:59 +0000 (16:04 +0200)]
optimized js_parse_class_default_ctor() (bnoordhuis)

14 months agofixed DUMP_BYTECODE
Fabrice Bellard [Sat, 12 Apr 2025 14:02:48 +0000 (16:02 +0200)]
fixed DUMP_BYTECODE

14 months agofixed HTML comments (chqrlie)
Fabrice Bellard [Sat, 12 Apr 2025 10:38:51 +0000 (12:38 +0200)]
fixed HTML comments (chqrlie)

14 months ago- removed the 'use strip' extension
Fabrice Bellard [Sat, 12 Apr 2025 10:14:37 +0000 (12:14 +0200)]
- removed the 'use strip' extension
- removed the JS_EVAL_FLAG_STRIP eval flag and replaced it with JS_SetStripInfo() which has simpler semantics.
- qjs: added the '-s' and '--strip-source' options
- qjsc: added the '-s' and '--keep-source' options

14 months agoindent fix
Fabrice Bellard [Thu, 10 Apr 2025 15:38:44 +0000 (17:38 +0200)]
indent fix

14 months agoworkaround for #282
Fabrice Bellard [Thu, 10 Apr 2025 15:38:28 +0000 (17:38 +0200)]
workaround for #282

14 months agoFix exporting destructured variables (saghul) (#382)
Fabrice Bellard [Thu, 10 Apr 2025 14:23:25 +0000 (16:23 +0200)]
Fix exporting destructured variables (saghul) (#382)

14 months agofixed class field named get or set
Fabrice Bellard [Thu, 10 Apr 2025 14:01:26 +0000 (16:01 +0200)]
fixed class field named get or set

14 months agochanged js_throw_type_error ES5 workaround to be more compatible with test262
Fabrice Bellard [Thu, 10 Apr 2025 13:37:19 +0000 (15:37 +0200)]
changed js_throw_type_error ES5 workaround to be more compatible with test262

14 months agofixed JS_IsString() with ropes
Fabrice Bellard [Thu, 10 Apr 2025 09:51:41 +0000 (11:51 +0200)]
fixed JS_IsString() with ropes

14 months agofixed the handling of unicode identifiers
Fabrice Bellard [Thu, 10 Apr 2025 08:34:40 +0000 (10:34 +0200)]
fixed the handling of unicode identifiers

14 months agofixed break statement in the presence of labels (bnoordhuis) (#275)
Fabrice Bellard [Mon, 7 Apr 2025 17:01:30 +0000 (19:01 +0200)]
fixed break statement in the presence of labels (bnoordhuis) (#275)

14 months agoadded JS_GetAnyOpaque() (oleavr)
Fabrice Bellard [Mon, 7 Apr 2025 16:45:11 +0000 (18:45 +0200)]
added JS_GetAnyOpaque() (oleavr)

14 months agofixed buffer overflow in BJSON String and BigInt reader (#399)
Fabrice Bellard [Mon, 7 Apr 2025 16:40:49 +0000 (18:40 +0200)]
fixed buffer overflow in BJSON String and BigInt reader (#399)

14 months agofixed and improved Map/Set hashing
Fabrice Bellard [Mon, 7 Apr 2025 12:42:07 +0000 (14:42 +0200)]
fixed and improved Map/Set hashing

14 months agoqjs: added performance.now()
Fabrice Bellard [Mon, 7 Apr 2025 12:33:30 +0000 (14:33 +0200)]
qjs: added performance.now()

14 months agoremoved unused slack in hash_map_resize() (saghul)
Fabrice Bellard [Mon, 7 Apr 2025 10:05:40 +0000 (12:05 +0200)]
removed unused slack in hash_map_resize() (saghul)

14 months agoFix UB in BigInt left shift (saghul)
Fabrice Bellard [Mon, 7 Apr 2025 10:02:01 +0000 (12:02 +0200)]
Fix UB in BigInt left shift (saghul)

14 months agoFix leak in BigInt unary plus (saghul)
Fabrice Bellard [Mon, 7 Apr 2025 10:00:08 +0000 (12:00 +0200)]
Fix leak in BigInt unary plus (saghul)

14 months agoqjs: allow SI suffixes in memory sizes - set default stack size to 1 MB
Fabrice Bellard [Mon, 7 Apr 2025 09:47:57 +0000 (11:47 +0200)]
qjs: allow SI suffixes in memory sizes - set default stack size to 1 MB

14 months agofixed weakmap gc (#398)
Fabrice Bellard [Mon, 7 Apr 2025 09:44:28 +0000 (11:44 +0200)]
fixed weakmap gc (#398)

14 months agoupdated Changelog
Fabrice Bellard [Mon, 7 Apr 2025 08:21:17 +0000 (10:21 +0200)]
updated Changelog

14 months agoflush stdout in console.log() (#309)
Fabrice Bellard [Sat, 5 Apr 2025 16:22:34 +0000 (18:22 +0200)]
flush stdout in console.log() (#309)

14 months agofixed module cyclic imports (#329)
Fabrice Bellard [Sat, 5 Apr 2025 16:05:15 +0000 (18:05 +0200)]
fixed module cyclic imports (#329)

14 months agoworkaround for overflow test in JS_GetOwnPropertyNamesInternal() (#111)
Fabrice Bellard [Sat, 5 Apr 2025 14:19:25 +0000 (16:19 +0200)]
workaround for overflow test in JS_GetOwnPropertyNamesInternal() (#111)

14 months ago'undefined' is a valid let/const variable name. It gives a SyntaxError at top level...
Fabrice Bellard [Sat, 5 Apr 2025 13:52:55 +0000 (15:52 +0200)]
'undefined' is a valid let/const variable name. It gives a SyntaxError at top level because it is already defined (#370)

14 months agoadded forgotten js_weakref_is_live() tests
Fabrice Bellard [Sat, 5 Apr 2025 13:41:51 +0000 (15:41 +0200)]
added forgotten js_weakref_is_live() tests

14 months agoavoid freeing an object structure in js_weakref_free() if it is about to be freed...
Fabrice Bellard [Sat, 5 Apr 2025 13:21:57 +0000 (15:21 +0200)]
avoid freeing an object structure in js_weakref_free() if it is about to be freed in free_zero_refcount()

14 months agoreworked weak references so that cycles are (hopefully) correctly handled - added...
Fabrice Bellard [Sat, 5 Apr 2025 10:49:29 +0000 (12:49 +0200)]
reworked weak references so that cycles are (hopefully) correctly handled - added Symbol as WeakMap key, WeakRef and FinalizationRegistry

15 months agofixed eval with empty argument scope (#249)
Fabrice Bellard [Mon, 31 Mar 2025 16:33:22 +0000 (18:33 +0200)]
fixed eval with empty argument scope (#249)

15 months agoremoved useless printf() (#257)
Fabrice Bellard [Mon, 31 Mar 2025 16:00:27 +0000 (18:00 +0200)]
removed useless printf() (#257)

15 months agoensure that JS_IteratorNext() returns JS_UNDEFINED when done = TRUE (#394)
Fabrice Bellard [Mon, 31 Mar 2025 11:37:37 +0000 (13:37 +0200)]
ensure that JS_IteratorNext() returns JS_UNDEFINED when done = TRUE (#394)

15 months agoremoved invalid tests
Fabrice Bellard [Fri, 28 Mar 2025 09:19:28 +0000 (10:19 +0100)]
removed invalid tests

15 months agofixed exception handling in AsyncFromSyncIterator and async for of
Fabrice Bellard [Fri, 28 Mar 2025 09:11:15 +0000 (10:11 +0100)]
fixed exception handling in AsyncFromSyncIterator and async for of

15 months agofixed typed array set operation when obj != receiver
Fabrice Bellard [Thu, 27 Mar 2025 16:06:26 +0000 (17:06 +0100)]
fixed typed array set operation when obj != receiver

15 months agofixed set_date_field()
Fabrice Bellard [Thu, 27 Mar 2025 15:28:56 +0000 (16:28 +0100)]
fixed set_date_field()

15 months agodisable rejection tracker in the repl - repl cleanup
Fabrice Bellard [Thu, 27 Mar 2025 14:34:20 +0000 (15:34 +0100)]
disable rejection tracker in the repl - repl cleanup

15 months agoremoved memory leak in string padding (issue #274)
Fabrice Bellard [Thu, 27 Mar 2025 13:43:25 +0000 (14:43 +0100)]
removed memory leak in string padding (issue #274)

15 months agoexit by default on unhandled promise rejections (issue #305)
Fabrice Bellard [Thu, 27 Mar 2025 13:22:58 +0000 (14:22 +0100)]
exit by default on unhandled promise rejections (issue #305)

15 months agoupdate test262_errors.txt
Fabrice Bellard [Tue, 25 Mar 2025 18:17:19 +0000 (19:17 +0100)]
update test262_errors.txt

15 months agoupdated to unicode 16.0.0 (bnoordhuis) - updated test262
Fabrice Bellard [Tue, 25 Mar 2025 18:08:19 +0000 (19:08 +0100)]
updated to unicode 16.0.0 (bnoordhuis) - updated test262

15 months agoadded missing header
Fabrice Bellard [Tue, 25 Mar 2025 15:49:41 +0000 (16:49 +0100)]
added missing header

15 months agoadded -Wno-infinite-recursion
Fabrice Bellard [Tue, 25 Mar 2025 15:42:05 +0000 (16:42 +0100)]
added -Wno-infinite-recursion

15 months agomore use of js_new_string8 - inlined JS_NewString() (initial patch by Charlie Gordon)
Fabrice Bellard [Tue, 25 Mar 2025 15:33:47 +0000 (16:33 +0100)]
more use of js_new_string8 - inlined JS_NewString() (initial patch by Charlie Gordon)

15 months agoadded string ropes for faster concatenation of long strings (issue #67)
Fabrice Bellard [Tue, 25 Mar 2025 15:01:40 +0000 (16:01 +0100)]
added string ropes for faster concatenation of long strings (issue #67)

15 months agomore dtoa bench (Charlie Gordon)
Fabrice Bellard [Sat, 22 Mar 2025 11:50:11 +0000 (12:50 +0100)]
more dtoa bench (Charlie Gordon)

15 months agoenable dtoa tests on win32
Fabrice Bellard [Sat, 22 Mar 2025 11:40:37 +0000 (12:40 +0100)]
enable dtoa tests on win32

15 months agoreduced memory usage of Map hash table
Fabrice Bellard [Sat, 22 Mar 2025 10:28:23 +0000 (11:28 +0100)]
reduced memory usage of Map hash table

15 months agofixed hash_map_resize() - added Map/WeakMap in microbench
Fabrice Bellard [Sat, 22 Mar 2025 09:54:21 +0000 (10:54 +0100)]
fixed hash_map_resize() - added Map/WeakMap in microbench

15 months agosimplified and fixed backtrace_barrier (#306)
Fabrice Bellard [Thu, 20 Mar 2025 12:37:07 +0000 (13:37 +0100)]
simplified and fixed backtrace_barrier (#306)

15 months agoprotect against printf errors (#319)
Fabrice Bellard [Thu, 20 Mar 2025 10:47:07 +0000 (11:47 +0100)]
protect against printf errors (#319)

15 months agoadded new dtoa library to print and parse float64 numbers. It is necessary to fix...
Fabrice Bellard [Wed, 19 Mar 2025 18:07:57 +0000 (19:07 +0100)]
added new dtoa library to print and parse float64 numbers. It is necessary to fix corner cases (e.g. radix != 10) and to have correct behavior regardless of the libc implementation.

15 months agomsan fix (#389)
Fabrice Bellard [Wed, 19 Mar 2025 13:27:01 +0000 (14:27 +0100)]
msan fix (#389)

15 months agosimplified js_bigint_from_float64()
Fabrice Bellard [Wed, 19 Mar 2025 12:56:10 +0000 (13:56 +0100)]
simplified js_bigint_from_float64()

15 months agofixed examples/hello_module compilation (#240)
Fabrice Bellard [Wed, 19 Mar 2025 12:29:54 +0000 (13:29 +0100)]
fixed examples/hello_module compilation (#240)

15 months agofixed BigInt hashing - removed -fno-bigint in qjsc and JS_AddIntrinsicBigInt() (BigIn...
Fabrice Bellard [Wed, 19 Mar 2025 11:33:54 +0000 (12:33 +0100)]
fixed BigInt hashing - removed -fno-bigint in qjsc and JS_AddIntrinsicBigInt() (BigInt is now considered as a base object)

15 months agofixed JS_DumpValue() for BigInt
Fabrice Bellard [Wed, 19 Mar 2025 10:59:47 +0000 (11:59 +0100)]
fixed JS_DumpValue() for BigInt

15 months agomore bignum cleanup
Fabrice Bellard [Wed, 19 Mar 2025 10:43:31 +0000 (11:43 +0100)]
more bignum cleanup

15 months agoremoved the ability to do simultaneous 64 and 32 bit x86 builds in order to simplify...
Fabrice Bellard [Wed, 19 Mar 2025 09:54:04 +0000 (10:54 +0100)]
removed the ability to do simultaneous 64 and 32 bit x86 builds in order to simplify the Makefile

15 months agoMerge pull request #391 from nickva/try-to-fix-multiplatform-builds
bellard [Wed, 19 Mar 2025 09:33:03 +0000 (10:33 +0100)]
Merge pull request #391 from nickva/try-to-fix-multiplatform-builds

Fix multiarch CI builds

15 months agoFix multiarch CI builds
Nick Vatamaniuc [Tue, 18 Mar 2025 23:29:55 +0000 (19:29 -0400)]
Fix multiarch CI builds

Fix: https://github.com/bellard/quickjs/issues/390

15 months agocompilation fix
Fabrice Bellard [Tue, 18 Mar 2025 17:45:21 +0000 (18:45 +0100)]
compilation fix

15 months agoadded missing variable
Fabrice Bellard [Tue, 18 Mar 2025 17:34:05 +0000 (18:34 +0100)]
added missing variable

15 months agoremoved bignum support and qjscalc - added optimized BigInt implementation
Fabrice Bellard [Tue, 18 Mar 2025 17:29:10 +0000 (18:29 +0100)]
removed bignum support and qjscalc - added optimized BigInt implementation

15 months agoregexp: allow [\-] in unicode mode (#373)
Fabrice Bellard [Thu, 13 Mar 2025 18:00:25 +0000 (19:00 +0100)]
regexp: allow [\-] in unicode mode (#373)

15 months agofixed CONFIG_ALL_UNICODE compilation
Fabrice Bellard [Thu, 13 Mar 2025 17:13:25 +0000 (18:13 +0100)]
fixed CONFIG_ALL_UNICODE compilation

15 months agosimplified the handling of closures
Fabrice Bellard [Thu, 13 Mar 2025 16:44:55 +0000 (17:44 +0100)]
simplified the handling of closures

15 months agoadded missing stack overflow check in JSON.stringify()
Fabrice Bellard [Thu, 13 Mar 2025 16:27:38 +0000 (17:27 +0100)]
added missing stack overflow check in JSON.stringify()

15 months agoallow regexp interruption (e.g. with Ctrl-C in the REPL)
Fabrice Bellard [Thu, 13 Mar 2025 16:17:51 +0000 (17:17 +0100)]
allow regexp interruption (e.g. with Ctrl-C in the REPL)

15 months agofix crash when add_property() fails on build arguments (penneryu)
Fabrice Bellard [Thu, 13 Mar 2025 15:30:02 +0000 (16:30 +0100)]
fix crash when add_property()  fails on build arguments (penneryu)

15 months agomicrobench: use toFixed()
Fabrice Bellard [Thu, 13 Mar 2025 15:23:13 +0000 (16:23 +0100)]
microbench: use toFixed()

15 months agoJS_SetPropertyInternal(): avoid recursing thru the prototypes if the property is...
Fabrice Bellard [Thu, 13 Mar 2025 15:04:38 +0000 (16:04 +0100)]
JS_SetPropertyInternal(): avoid recursing thru the prototypes if the property is found in a prototype

15 months agofixed date parsing in case there is more than nine initial digits (initial patch...
Fabrice Bellard [Thu, 13 Mar 2025 14:52:53 +0000 (15:52 +0100)]
fixed date parsing in case there is more than nine initial digits (initial patch by nickva)

23 months agoFix termination in Worker test
Akos Kiss [Sat, 27 Jul 2024 09:34:49 +0000 (11:34 +0200)]
Fix termination in Worker test

Function names are case sensitive, `onMessage` is not the same as
`onmessage`.

Related to #98

23 months agoDefine a fallback PATH_MAX if not available
Pino Toscano [Sun, 9 Jun 2024 07:23:49 +0000 (09:23 +0200)]
Define a fallback PATH_MAX if not available

PATH_MAX is optional in POSIX, and it is not available on GNU/Hurd.
While it could be possible to not rely on PATH_MAX, for now provide a
fallback definition (which should be safe enough) to get quickjs built
on GNU/Hurd.

23 months agoUse ftello() & fseeko() on any OS based on GNU libc
Pino Toscano [Sun, 9 Jun 2024 07:21:01 +0000 (09:21 +0200)]
Use ftello() & fseeko() on any OS based on GNU libc

Strictly speaking, they are available in POSIX.1-2008 [1][2], so they
could be used on more platforms/OSes. To be cautious, enable them when
using GNU libc, since they have been available with that libc for a
very long time.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/ftell.html
[2] https://pubs.opengroup.org/onlinepubs/9699919799/functions/fseek.html

23 months agoUse malloc_usable_size() on any OS based on GNU libc
Pino Toscano [Sun, 9 Jun 2024 07:18:38 +0000 (09:18 +0200)]
Use malloc_usable_size() on any OS based on GNU libc

malloc_usable_size() is a GNU extension in GNU libc; hence, use it
every time GNU libc is used, rather than only on Linux.

23 months agoFix `JS_HasException()` when `null` is thrown (#313)
Kasper Isager Dalsgarð [Wed, 17 Jul 2024 11:58:08 +0000 (13:58 +0200)]
Fix `JS_HasException()` when `null` is thrown (#313)

Use `JS_UNINITIALIZED` instead of `JS_NULL` when no exception is pending, so `null` can be thrown and distinguished from no exception pending.

23 months agoFix GC leak in `js_proxy_get()` (#302)
Dmitry Volyntsev [Sun, 14 Jul 2024 22:08:40 +0000 (15:08 -0700)]
Fix GC leak in `js_proxy_get()` (#302)

Fixes #277