Charlie Gordon
47e07b25aa
Fix Map hash bug ( #281 )
...
- `map_hash_key` must generate the same key for JS_INT and JS_FLOAT64
with the same value
- add test cases in tests/test_builtin.js
2024-02-23 11:57:43 +01:00
Charlie Gordon
ef4d8ab2ed
Force evaluation order in set_date_fields
( #268 )
2024-02-22 14:08:29 +01:00
Ben Noordhuis
9f9bf3c9ab
Fix for/in iteration over proxy objects ( #241 )
2023-12-30 22:47:32 +01:00
Ben Noordhuis
f0ef9e1593
Implement RegExp 'v' flag, part 1 ( #229 )
...
This commit implements the flag itself and teaches the regex engine to
reject previously accepted patterns when in unicodeSets mode.
Refs: https://github.com/quickjs-ng/quickjs/issues/228
2023-12-21 19:37:31 +01:00
Saúl Ibarra Corretgé
4c929c5b6b
Implement Error.stackTraceLimit
...
We default to 10 with a max cap of 64.
Ref: https://v8.dev/docs/stack-trace-api
2023-12-19 22:45:36 +01:00
Saúl Ibarra Corretgé
555d837334
Implement Error.prepareStackTrace support
...
Based on V8's API: https://v8.dev/docs/stack-trace-api .
Bits picked from Frida: 78fd25fed8
Closes: https://github.com/quickjs-ng/quickjs/issues/134
2023-12-19 15:36:44 +01:00
Saúl Ibarra Corretgé
e5812862f9
Fix 'return' handling with 'yield' in 'for of' or with finally blocks
...
Ref: 4bb8c35da7
2023-12-14 11:49:14 +01:00
Ben Noordhuis
bace4f635e
Record source column positions ( #193 )
...
And:
- display them in stack traces
- expose them as Function.prototype.columnNumber
OP_line_num is renamed to OP_source_loc and the pc2line data structure
is extended with the column number in zigzag encoding.
The bytecode version number BC_VERSION is incremented because pc2line
data is read and written by JS_ReadObject() and JS_WriteObject() when
it is present.
Fixes: https://github.com/quickjs-ng/quickjs/issues/149
2023-12-11 22:36:13 +01:00
Ben Noordhuis
67d90092fe
Add regression test for previous commit
2023-12-10 21:03:48 +01:00
Felipe Gasper
56738d8b4b
Add Cygwin compatibility
2023-12-03 18:15:07 +01:00
Nick Vatamaniuc
6b3bed1740
Fix stack overflow in CVE-2023-31922 ( #157 )
...
isArray and proxy isArray can call each other indefinitely in a mutually
recursive loop.
Add a stack overflow check in the js_proxy_isArray function before calling
`JS_isArray(ctx, s->target)`.
Original issue: https://github.com/bellard/quickjs/issues/178
CVE: https://nvd.nist.gov/vuln/detail/CVE-2023-31922
2023-12-01 16:31:36 +01:00
Saúl Ibarra Corretgé
bfd8c381cb
Add support for building with ClangCL on Windows
...
Since ClangCL is compatible with MSVC this should get us almost there.
Ref: https://clang.llvm.org/docs/MSVCCompatibility.html
2023-11-30 01:23:09 +01:00
Ben Noordhuis
d2e632e77a
Allow symbols as WeakMap and WeakSet keys ( #58 )
2023-11-16 09:07:59 +01:00
Ben Noordhuis
162a8b7409
Remove trailing whitespace ( #46 )
...
Not purely cosmetic because it breaks navigation with { and } in the
One True Editor.
2023-11-12 10:01:40 +01:00
Ben Noordhuis
0068db8a11
Avoid UB when checking if float fits in int32
2023-11-08 19:17:13 +01:00
Saúl Ibarra Corretgé
2f51cbc4e6
Add CI for MinGW on Windows
2023-11-08 11:12:54 +01:00
Ben Noordhuis
d6fbd6b744
Fix UB signed integer overflow
2023-11-01 09:31:30 +01:00
bellard
b5e62895c6
2021-03-27 release
2021-03-27 11:17:31 +01:00
bellard
b1f67dfc1a
2020-11-08 release
2020-11-08 14:30:56 +01:00
bellard
7c312df422
2020-09-06 release
2020-09-06 19:10:15 +02:00
bellard
8900766099
2020-07-05 release
2020-09-06 19:07:30 +02:00
bellard
383e2b06c8
2020-03-16 release
2020-09-06 19:02:03 +02:00
bellard
91459fb672
2020-01-05 release
2020-09-06 18:53:08 +02:00