239 Commits

Author SHA1 Message Date
Fabrice Bellard
cf0e179263 Iterator is an abstract class (bnoordhuis) 2025-09-20 17:05:13 +02:00
Fabrice Bellard
3dcca0d1d6 fix Iterator.prototype.constructor (initial patch by bnoordhuis) 2025-09-20 17:01:52 +02:00
Fabrice Bellard
b2ed2e91f5 added Iterator.prototype.[drop,filter,flatMap,map,take,every,find,forEach,some,reduce,[Symbol.toStringTag]] (saghul) 2025-09-20 16:47:43 +02:00
Fabrice Bellard
e924173c0f added Iterator.prototype.toArray and Iterator.from (bnoordhuis) 2025-09-20 16:27:45 +02:00
Fabrice Bellard
982b7aa14f added the Iterator object 2025-09-20 16:05:36 +02:00
Fabrice Bellard
0377dab4f2 removed uninitialized values - removed useless init 2025-09-20 14:31:14 +02:00
Fabrice Bellard
0cef7f0ddb set methods: removed memory leaks - fixed ordering of property access - fixed conversion to integer of 'size' in GetSetRecord() - added missing iterator close - factorized code 2025-09-20 14:21:39 +02:00
Fabrice Bellard
a1e073e444 added set methods (bnoordhuis) 2025-09-20 12:19:50 +02:00
Fabrice Bellard
de4d3927b8 removed memory leak (#441) 2025-09-18 10:42:13 +02:00
Fabrice Bellard
391cd3feff Fix crash on failure to read bytecode (penneryu) 2025-09-13 10:22:24 +02:00
Fabrice Bellard
9f6c190731 more efficient handling of strings in JSON.stringify() 2025-09-10 18:40:10 +02:00
Fabrice Bellard
8a0a6e92d2 better pretty printing of strings - removed String.prototype.__quote() 2025-09-10 18:25:34 +02:00
Fabrice Bellard
0b3c73ed9c removed function cast warnings (initial patch by saghul) 2025-08-27 15:16:52 +02:00
Fabrice Bellard
d9ec8f102e limit function and regexp bytecode to 1G to avoid buffer overflows (the bytecode generators assume that bytecode offsets can fit a 32 bit signed integer 2025-08-25 17:14:47 +02:00
Fabrice Bellard
4e0d0b7f80 avoid side effects in JS_PrintValue() which may lead to crashes in print() and js_std_promise_rejection_check() 2025-08-25 16:48:36 +02:00
Fabrice Bellard
c927eca49a fixed buffer overflow in TypedArray.prototype.lastIndexOf() 2025-08-25 15:25:41 +02:00
Fabrice Bellard
9ce544289f fixed buffer overflow in js_bigint_to_string1() 2025-08-25 15:06:19 +02:00
Fabrice Bellard
1168c215d1 fixed crash in OP_add_loc if the variable is modified in JS_ToPrimitiveFree() 2025-08-25 14:50:04 +02:00
Fabrice Bellard
e1c18befb8 fixed buffer overflow in js_bigint_from_string() 2025-08-25 14:24:06 +02:00
Fabrice Bellard
c942978927 TypedArray.prototype.subarray: fixed the step at which '[[ByteOffset]]' is read 2025-08-25 14:01:43 +02:00
Fabrice Bellard
458c34d29d fixed GC logic so that a module can live after a JSContext is destroyed (#280) - update the reference count for the realm in jobs and FinalizationRegistry 2025-06-28 17:41:58 +02:00
Fabrice Bellard
2fd48bf7df fixed module async evaluation logic - added DUMP_MODULE_EXEC 2025-06-28 17:25:54 +02:00
Fabrice Bellard
098f221cf3 added Error.isError() (bnoordhuis) 2025-06-14 11:42:54 +02:00
Nick Vatamaniuc
00b1d8d0b2
Read byteOffset for detached buffers
The spec [1] expects to read `byteOffset` even for detached buffers.

Noticed a new test262 test [2] failed and there an an existing one we skipped
as well for the same reason.

[1] https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray
[2] https://github.com/tc39/test262/blob/main/test/built-ins/TypedArray/prototype/subarray/byteoffset-with-detached-buffer.js

Fix: https://github.com/bellard/quickjs/issues/417
2025-06-07 01:37:54 -04:00
Fabrice Bellard
638ec8ca5e fixed js_bigint_to_string1() (#412) 2025-05-29 20:01:24 +02:00
Fabrice Bellard
3d92a9d30c new keyword cannot be used with an optional chain 2025-05-24 13:01:50 +02:00
Fabrice Bellard
02a2643142 fixed parsing of function definition 2025-05-24 12:47:35 +02:00
Fabrice Bellard
3dc7ef1f7f more robust out of memory handling (#406) 2025-05-24 12:09:46 +02:00
Fabrice Bellard
1572aa8a59 avoid win32 crash in getTimezoneOffset() if time is < 1970 (#238) 2025-05-24 11:32:22 +02:00
Fabrice Bellard
7c487f1c6a support JSON modules in qjsc - added support of JSON5 modules (using type = "json5") 2025-05-24 10:24:01 +02:00
Fabrice Bellard
1dfaa61680 improved compatibility of std.parseExtJSON() with JSON5 2025-05-24 10:16:10 +02:00
Fabrice Bellard
8b2a1249a4 fixed Regexp.prototype[Symbol.match] 2025-05-24 10:12:51 +02:00
Fabrice Bellard
f10ef299a6 added JSON modules and import attributes 2025-05-20 18:27:23 +02:00
Fabrice Bellard
838124580b added JS_AtomToCStringLen() 2025-05-20 18:03:29 +02:00
Fabrice Bellard
2f167bbeeb export JS_FreePropertyEnum() 2025-05-20 17:59:48 +02:00
Fabrice Bellard
9bce51eefd improved JSON parser conformity (chqrlie) (#250) 2025-05-19 17:23:25 +02:00
Fabrice Bellard
aaa9cea6a8 Proxy: fixed prototype comparison in setPrototypeOf() and getPrototypeOf() (#410) 2025-05-19 13:35:06 +02:00
Fabrice Bellard
1021e3c729 compilation fix 2025-05-16 20:48:01 +02:00
Fabrice Bellard
9c973a8923 added Promise.try (saghul) 2025-05-16 18:02:14 +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
c95b024d3e added RegExp.escape (bnoordhuis) 2025-05-05 16:46:21 +02:00
Fabrice Bellard
0a6160d7b3 avoid relying on 'FILE *' in JS_PrintValue() API 2025-05-05 15:59:04 +02:00
Fabrice Bellard
11d076fac6 added get_array_el3 opcode - removed to_propkey2 opcode 2025-04-30 14:12:10 +02:00
Fabrice Bellard
703de06c43 fixed use of JS_DumpValue() 2025-04-30 14:09:31 +02:00
Fabrice Bellard
be06b3e92b added JS_PrintValue() and use it in console.log(), print() and the REPL (#256) 2025-04-30 13:40:15 +02:00
Fabrice Bellard
30fe3de91d Object.prototype has an immutable prototype 2025-04-29 19:03:36 +02:00
Fabrice Bellard
53327c2580 simplified uncatchable exception handling 2025-04-29 18:48:58 +02:00
Fabrice Bellard
23e2dc9c39 handle strings as module import and export names 2025-04-29 14:54:57 +02:00
Fabrice Bellard
9bb1d7252b fixed operation order in js_obj_to_desc() 2025-04-28 16:33:14 +02:00