Fabrice Bellard
a6816be23a
optimized global variable access
2025-11-03 16:57:20 +01:00
Fabrice Bellard
3e5f2bbe69
inlined the get_length operation
2025-10-16 15:10:58 +02:00
Fabrice Bellard
8e8eefb922
optimized array access by inlining get_array_el, get_array_el2, get_array_el3 and put_array_el
2025-10-04 10:46:29 +02:00
Fabrice Bellard
2c90110287
- optimized global variable access
...
- removed full compliance with the spec for strict mode variable
assignment so that they are as fast as in non strict mode (V8,
SpiderMonkey and JavascriptCore do the same, so IMHO the spec should
be updated).
2025-10-03 14:26:13 +02:00
Fabrice Bellard
31663a930d
updated test262
2025-10-03 11:55:50 +02:00
Nick Vatamaniuc
fb14cc6b40
Run test262 tests in CI
...
Run test262 tests for Linux, macOS and Cosmopolitan
Add a Makefile `test2-bootstrap` helper to clone and patch test262 tests at
a particular commit. Running with the latest commit noticed a few tests were
failing and added them to the errors list.
The CI environment, especially for macOS, was a bit more unpredictable and was
failing in atomics tests due to lower timeouts in the `atomicsHelper` so double
the timeouts. The time didn't worsen too much. It still takes about 2-3 min.
2025-09-29 14:02:31 -04:00
Fabrice Bellard
bc753c6a15
added Math.sumPrecise()
2025-09-27 18:44:19 +02:00
Fabrice Bellard
f021d7714f
- added resizable array buffers (bnoordhuis)
...
- fixed Atomics.wait, Atomics.notify, TypedArray.prototype.lastIndexOf
- fixed JS_PreventExtensions() with resizable typed arrays
2025-09-22 18:37:41 +02:00
Fabrice Bellard
8a0a6e92d2
better pretty printing of strings - removed String.prototype.__quote()
2025-09-10 18:25:34 +02:00
Fabrice Bellard
a4ac84d993
Adjust lastIndex to leading surrogate when inside a surrogate pair in unicode RegExp (initial patch by auvred)
2025-08-25 17:54:19 +02:00
Fabrice Bellard
f1b1c000c2
update test262
2025-06-28 10:43:26 +02:00
Fabrice Bellard
dfc254af51
update tests
2025-05-24 13:26:36 +02:00
Fabrice Bellard
1dfaa61680
improved compatibility of std.parseExtJSON() with JSON5
2025-05-24 10:16:10 +02:00
Fabrice Bellard
071a4cf986
use Object.is() in tests
2025-05-24 10:02:50 +02:00
Fabrice Bellard
9bce51eefd
improved JSON parser conformity (chqrlie) ( #250 )
2025-05-19 17:23:25 +02:00
Fabrice Bellard
3c39307c22
better promise rejection tracker heuristics ( #112 )
2025-05-16 17:47:41 +02:00
Fabrice Bellard
d7cdfdc8d7
regexp: added v flag support - fixed corner cases of case insensitive matching
2025-05-16 17:43:03 +02:00
Fabrice Bellard
a8b2d7c2b2
added Float16Array (bnoordhuis) - optimized float16 conversion functions
2025-05-05 19:12:32 +02:00
Fabrice Bellard
7645ce5f63
more precise error location reporting
2025-04-26 12:25:00 +02:00
Fabrice Bellard
8e9e8e86c5
update tests
2025-04-22 19:16:19 +02:00
Fabrice Bellard
e5e724829a
added staging test262 tests
2025-04-21 16:23:42 +02:00
Fabrice Bellard
dbbca3dbf3
dtoa fix for minus zero
2025-04-21 15:33:47 +02:00
Fabrice Bellard
251a8b2211
added column number in error messages - simplified parser
2025-04-14 14:46:47 +02:00
Fabrice Bellard
9918c1206e
workaround for #282
2025-04-10 17:38:28 +02:00
Fabrice Bellard
25ffdb418e
fixed the handling of unicode identifiers
2025-04-10 10:34:40 +02:00
Fabrice Bellard
9d3776d0d4
fixed break statement in the presence of labels (bnoordhuis) ( #275 )
2025-04-07 19:01:30 +02:00
Fabrice Bellard
a151ce19e5
fixed and improved Map/Set hashing
2025-04-07 14:42:07 +02:00
Fabrice Bellard
159fe289e3
fixed module cyclic imports ( #329 )
2025-04-05 18:06:08 +02:00
Fabrice Bellard
f121cbdb5a
added forgotten js_weakref_is_live() tests
2025-04-05 15:41:51 +02:00
Fabrice Bellard
b342502a31
avoid freeing an object structure in js_weakref_free() if it is about to be freed in free_zero_refcount()
2025-04-05 15:21:57 +02:00
Fabrice Bellard
8b5b1277ad
reworked weak references so that cycles are (hopefully) correctly handled - added Symbol as WeakMap key, WeakRef and FinalizationRegistry
2025-04-05 12:49:29 +02:00
Fabrice Bellard
b31bb20666
updated to unicode 16.0.0 (bnoordhuis) - updated test262
2025-03-25 19:08:19 +01:00
Fabrice Bellard
156d981afe
added string ropes for faster concatenation of long strings (issue #67 )
2025-03-25 16:01:40 +01:00
Fabrice Bellard
372ad84e9a
more dtoa bench (Charlie Gordon)
2025-03-22 12:50:11 +01:00
Fabrice Bellard
a44011ed5a
enable dtoa tests on win32
2025-03-22 12:40:37 +01:00
Fabrice Bellard
49413985eb
fixed hash_map_resize() - added Map/WeakMap in microbench
2025-03-22 10:54:21 +01:00
Fabrice Bellard
993660621a
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.
2025-03-19 19:07:57 +01:00
Fabrice Bellard
6d6893bfa3
fixed BigInt hashing - removed -fno-bigint in qjsc and JS_AddIntrinsicBigInt() (BigInt is now considered as a base object)
2025-03-19 12:33:54 +01:00
Fabrice Bellard
6de88859e7
more bignum cleanup
2025-03-19 11:43:31 +01:00
Fabrice Bellard
543897ab7b
added missing variable
2025-03-18 18:34:05 +01:00
Fabrice Bellard
61e8b94428
removed bignum support and qjscalc - added optimized BigInt implementation
2025-03-18 18:29:10 +01:00
Fabrice Bellard
c739debf0f
microbench: use toFixed()
2025-03-13 16:23:13 +01:00
Akos Kiss
6e2e68fd08
Fix termination in Worker test
...
Function names are case sensitive, `onMessage` is not the same as
`onmessage`.
Related to #98
2024-07-27 23:40:48 +02:00
Fabrice Bellard
36911f0d3a
regexp: fix non greedy quantizers with zero length matches
2024-05-30 16:41:37 +02:00
Fabrice Bellard
d86aaf0b8f
updated test262.patch
2024-05-30 15:49:31 +02:00
Charlie Gordon
0c8fecab23
Improve class parser ( #289 )
...
- accept `class P { async = 1 }}`
- accept `class P { static = 1 }}` etc.
- Fixes #261
2024-05-05 19:54:47 +02:00
Richard Davison
d9c699f528
fix class method with name get ( #258 )
...
Co-authored-by: Richard Davison <ridaviso@amazon.com >
2024-05-05 18:46:30 +02:00
Charlie Gordon
6a89d7c270
Add CI targets, fix test_std.js ( #247 )
...
This switches the exec test to `SIGTERM` rather than `SIGQUIT` since the
latter didn’t seem to work in QEMU, and the distinction doesn’t really
matter for this test.
This also makes the `isatty()` check smarter by checking whether `STDIN`
is, in fact, a terminal.
Added qemu-alpine targets i386, arm32v6, arm32v7, arm64v8, s390x
Co-authored-by: Felipe Gasper <felipe@felipegasper.com >
2024-03-03 21:57:38 +01:00
Ben Noordhuis
e17cb9fc7a
Add github CI tests
...
- disable `isatty()` test in `test_os()`
- add `.github/workflows/ci.yml` with 8 targets
2024-03-03 14:14:23 +01:00
Charlie Gordon
3dd93eb4e4
fix microbench when microbench.txt is missing ( #246 )
2024-03-03 03:38:49 +01:00