Commit Graph

  • f1139494d1 regexp: removed alloca() is lre_exec() - added specific opcodes for \s and \S to have a smaller bytecode - optimized \b and \B master Fabrice Bellard 2025-12-22 15:12:46 +01:00
  • 7bd1ae2c76 \x{N} is a syntax error Fabrice Bellard 2025-12-22 15:05:37 +01:00
  • 31ef02b907 slightly faster lexical variable assignment Fabrice Bellard 2025-12-22 15:03:43 +01:00
  • c73a435f36 Don't call well-known Symbol methods for RegExp on primitive values Fabrice Bellard 2025-12-11 19:27:19 +01:00
  • 1dbba8a88e removed use after free in js_create_module_bytecode_function() (#467) Fabrice Bellard 2025-12-11 19:18:56 +01:00
  • fcd33c1afa removed memory leak in case of error in cpool_add() (#468) Fabrice Bellard 2025-12-11 19:17:38 +01:00
  • e5fd3918c1 fixed fast array extension optimization when there are multiple realms Fabrice Bellard 2025-12-03 13:36:26 +01:00
  • 24379bf53c added regexp duplicate named groups - fixed reset of captures with quantizers Fabrice Bellard 2025-12-03 13:30:33 +01:00
  • b226856177 updated to unicode 17.0.0 - updated test262 version Fabrice Bellard 2025-11-29 15:14:41 +01:00
  • 5907aa6d68 added missing lre_poll_timeout() Fabrice Bellard 2025-11-29 13:13:18 +01:00
  • 47aac8b2a8 regexp: cosmetic: make it clearer that there is now a set of registers instead of an auxiliary stack Fabrice Bellard 2025-11-29 13:04:47 +01:00
  • 371c06e359 regexp: ensure that the bytecode size grows linearly with respect to the input regexp. Fabrice Bellard 2025-11-29 12:39:52 +01:00
  • a77400796d removed buffer overflows introduced in regexp optimizations Fabrice Bellard 2025-11-22 12:10:55 +01:00
  • 728ed94889 fixed Worker freeing logic (#462) Fabrice Bellard 2025-11-22 11:03:45 +01:00
  • 9f11034a5a - optimized Regexp.prototype.exec - optimized String.prototype.replace - optimized 'arguments' object creation - optimized access to non strict 'arguments' elements Fabrice Bellard 2025-11-22 11:00:50 +01:00
  • 7ab23413b8 faster and simpler implementation of regexp backtracking Fabrice Bellard 2025-11-22 10:44:19 +01:00
  • fcbf5ea2a6 fixed BJSON array serialization (#457) Fabrice Bellard 2025-11-15 14:52:50 +01:00
  • 4bd485d713 - Added Iterator.concat (initial patch by bnoordhuis) - optimized js_iterator_concat_next() - added more guards against recursion in Iterator.concat operations Fabrice Bellard 2025-11-15 12:22:50 +01:00
  • 3d0cc291d4 optimized add/sub int32 overflow Fabrice Bellard 2025-11-15 12:18:18 +01:00
  • 125b01279c added error checking in JS_InstantiateFunctionListItem() Fabrice Bellard 2025-11-15 12:10:44 +01:00
  • ae7219b1a1 - Closure optimization (go from quadratic to linear time when the number of closure variables is large) - Separated JSVarDef and JSBytecodeVarDef to simplify the code and save memory - fixed debug info stripping with global variables Fabrice Bellard 2025-11-15 12:01:20 +01:00
  • 9688007ccb Restore a mistakenly removed goto on error in js_build_module_ns() (igorburago) Fabrice Bellard 2025-11-05 11:46:20 +01:00
  • b07ad11c31 fixed JS_PROP_AUTOINIT handling in js_closure_define_global_var() (#455) Fabrice Bellard 2025-11-05 11:41:18 +01:00
  • d10613f8f9 fixed exception handling in put_var operation (regression introduced by commit a6816be) (#454) Fabrice Bellard 2025-11-05 11:29:03 +01:00
  • 080c01f346 More informative "not a constructor" error message (initial patch by bnoordhuis) (#368) Fabrice Bellard 2025-11-03 18:52:39 +01:00
  • c6fe5a98fd Fix length check in ArrayBuffer.prototype.slice (bnoordhuis) (#451) Fabrice Bellard 2025-11-03 18:38:20 +01:00
  • 7cfddd0664 fixed DataView resizing Fabrice Bellard 2025-11-03 18:29:10 +01:00
  • 75b5230000 Fix use-after-free in ArrayBuffer.prototype.transfer (bnoordhuis) (#450) - use js_array_buffer_update_typed_arrays() in JS_DetachArrayBuffer() Fabrice Bellard 2025-11-03 18:23:19 +01:00
  • baa186fc6e qjs: added --strict option - don't consider included files as modules - allow module and strict code with -e option Fabrice Bellard 2025-11-03 17:22:18 +01:00
  • 961478d7bb removed duplicate test Fabrice Bellard 2025-11-03 17:14:12 +01:00
  • e015918dd8 Much faster destructuring at the expense of a slight incompatibility with the spec when direct evals are present (v8 behaves the same way). Fabrice Bellard 2025-11-03 17:08:59 +01:00
  • a6816be23a optimized global variable access Fabrice Bellard 2025-11-03 16:57:20 +01:00
  • eb2c89087d removed uninitialized variable Fabrice Bellard 2025-10-18 12:04:12 +02:00
  • eab6945fca updated test results Fabrice Bellard 2025-10-18 11:09:17 +02:00
  • c31809e84d fixed operation order in Regexp constructor Fabrice Bellard 2025-10-18 11:05:05 +02:00
  • af16a97921 changed module rejection order according to spec change Fabrice Bellard 2025-10-18 10:50:51 +02:00
  • 9a421b3338 optimized Array.prototype.push Fabrice Bellard 2025-10-16 15:21:24 +02:00
  • 3e5f2bbe69 inlined the get_length operation Fabrice Bellard 2025-10-16 15:10:58 +02:00
  • c720e35d26 added js_string_eq() Fabrice Bellard 2025-10-16 15:00:29 +02:00
  • 2161640067 stricter year parsing in Date Fabrice Bellard 2025-10-13 14:51:37 +02:00
  • 7fb994c45d fixed argument evaluation order in Date constructor and Date.UTC() Fabrice Bellard 2025-10-13 14:11:47 +02:00
  • 0d4cd2d051 faster and safer dbuf functions (#443) Fabrice Bellard 2025-10-13 13:51:25 +02:00
  • 2a53de04c6 test262 update Fabrice Bellard 2025-10-12 13:28:37 +02:00
  • 63450099a3 fixed regression in error message display introduced in commit 42eb279 Fabrice Bellard 2025-10-12 13:23:50 +02:00
  • eb9fa2b8da compilation fix for clang Fabrice Bellard 2025-10-11 11:13:13 +02:00
  • 42eb2795f0 Faster context creation and exception checks in JS_NewContext (#404) Fabrice Bellard 2025-10-11 10:59:21 +02:00
  • 7a488f3e0c update Fabrice Bellard 2025-10-08 14:16:51 +02:00
  • c8a8cf57c6 faster appending of elements in arrays Fabrice Bellard 2025-10-08 14:11:27 +02:00
  • 79f3ae2959 optimized string_buffer_putc() Fabrice Bellard 2025-10-08 11:32:17 +02:00
  • e5de89fb3f optimized post_inc and post_dec Fabrice Bellard 2025-10-07 19:10:27 +02:00
  • 8e8eefb922 optimized array access by inlining get_array_el, get_array_el2, get_array_el3 and put_array_el Fabrice Bellard 2025-10-04 10:46:29 +02:00
  • 64c55c6daf removed JS_PROP_NO_ADD Fabrice Bellard 2025-10-03 16:52:17 +02:00
  • 57f8ec0099 inlined fast path for get_field, get_field2 and put_field Fabrice Bellard 2025-10-03 15:41:21 +02:00
  • 2c90110287 - optimized global variable access Fabrice Bellard 2025-10-03 14:26:13 +02:00
  • f4951efd94 optimize the create of arrays - optimized the rest and array_from opcodes Fabrice Bellard 2025-10-03 12:25:05 +02:00
  • f1253f2ab5 Improve error handling in Promise.withResolvers (bnoordhuis) Fabrice Bellard 2025-10-03 12:00:26 +02:00
  • 31663a930d updated test262 Fabrice Bellard 2025-10-03 11:55:50 +02:00
  • 4af5b1ea7e Merge pull request #408 from nickva/run-test262-in-ci bellard 2025-09-30 10:35:00 +02:00
  • fb14cc6b40 Run test262 tests in CI Nick Vatamaniuc 2025-05-12 23:35:22 -04:00
  • c3e5ae2008 simplified math.sumPrecise() Fabrice Bellard 2025-09-29 16:12:23 +02:00
  • 00608769df fixed Date parsing: "1997-03-08 11:19:10-0700" is a valid date and "1997-03-08T11:19:10-07" should yield an error Fabrice Bellard 2025-09-29 15:13:04 +02:00
  • a6db749af7 fixed Atomics.pause() in the NaN boxing case (32 bit cpu) Fabrice Bellard 2025-09-29 12:10:36 +02:00
  • bc753c6a15 added Math.sumPrecise() Fabrice Bellard 2025-09-27 18:44:19 +02:00
  • 456e016f7c added Map and WeakMap upsert methods (bnoordhuis) Fabrice Bellard 2025-09-27 10:24:48 +02:00
  • 8807fedec5 - added Atomics.pause (bnoordhuis) - use the pause instruction for x86 and ARM64 in Atomics.pause() Fabrice Bellard 2025-09-22 18:58:18 +02:00
  • f021d7714f - added resizable array buffers (bnoordhuis) - fixed Atomics.wait, Atomics.notify, TypedArray.prototype.lastIndexOf - fixed JS_PreventExtensions() with resizable typed arrays Fabrice Bellard 2025-09-22 18:37:41 +02:00
  • 44d03a823d fixed parsing of computed property name Fabrice Bellard 2025-09-22 14:48:43 +02:00
  • 1e19893c82 - added ArrayBuffer.prototype.transfer (Divy Srivastava) - fixed transfer when the ArrayBuffer was allocated with a custom allocator Fabrice Bellard 2025-09-21 16:41:02 +02:00
  • 2d99c323a2 Iterator functions: Fabrice Bellard 2025-09-20 18:30:02 +02:00
  • cf0e179263 Iterator is an abstract class (bnoordhuis) Fabrice Bellard 2025-09-20 17:05:13 +02:00
  • 3dcca0d1d6 fix Iterator.prototype.constructor (initial patch by bnoordhuis) Fabrice Bellard 2025-09-20 17:01:52 +02:00
  • b2ed2e91f5 added Iterator.prototype.[drop,filter,flatMap,map,take,every,find,forEach,some,reduce,[Symbol.toStringTag]] (saghul) Fabrice Bellard 2025-09-20 16:47:43 +02:00
  • e924173c0f added Iterator.prototype.toArray and Iterator.from (bnoordhuis) Fabrice Bellard 2025-09-20 16:27:45 +02:00
  • 982b7aa14f added the Iterator object Fabrice Bellard 2025-09-20 16:05:36 +02:00
  • 0377dab4f2 removed uninitialized values - removed useless init Fabrice Bellard 2025-09-20 14:31:14 +02:00
  • 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 Fabrice Bellard 2025-09-20 14:21:39 +02:00
  • a1e073e444 added set methods (bnoordhuis) Fabrice Bellard 2025-09-20 12:19:50 +02:00
  • de4d3927b8 removed memory leak (#441) Fabrice Bellard 2025-09-18 10:42:13 +02:00
  • dc7af0ac42 updated release.sh Fabrice Bellard 2025-09-18 10:28:33 +02:00
  • fa628f8c52 new release Fabrice Bellard 2025-09-13 10:51:18 +02:00
  • 391cd3feff Fix crash on failure to read bytecode (penneryu) Fabrice Bellard 2025-09-13 10:22:24 +02:00
  • 9f6c190731 more efficient handling of strings in JSON.stringify() Fabrice Bellard 2025-09-10 18:40:10 +02:00
  • 8a0a6e92d2 better pretty printing of strings - removed String.prototype.__quote() Fabrice Bellard 2025-09-10 18:25:34 +02:00
  • 20d2b404af qjsc: handle C name conflicts between scripts and modules (#432) Fabrice Bellard 2025-08-27 16:06:44 +02:00
  • a4e4b43fd8 run-test262: added --count_skipped_features option Fabrice Bellard 2025-08-27 15:19:45 +02:00
  • 0b3c73ed9c removed function cast warnings (initial patch by saghul) Fabrice Bellard 2025-08-27 15:16:52 +02:00
  • 5689f30cd0 fixed handling of 8 bit unicode strings in RegExp (regression introduced by commit a4ac84d) Fabrice Bellard 2025-08-25 18:20:58 +02:00
  • a4ac84d993 Adjust lastIndex to leading surrogate when inside a surrogate pair in unicode RegExp (initial patch by auvred) Fabrice Bellard 2025-08-25 17:54:19 +02:00
  • 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 Fabrice Bellard 2025-08-25 17:14:47 +02:00
  • 4e0d0b7f80 avoid side effects in JS_PrintValue() which may lead to crashes in print() and js_std_promise_rejection_check() Fabrice Bellard 2025-08-25 16:48:36 +02:00
  • c927eca49a fixed buffer overflow in TypedArray.prototype.lastIndexOf() Fabrice Bellard 2025-08-25 15:25:41 +02:00
  • 9ce544289f fixed buffer overflow in js_bigint_to_string1() Fabrice Bellard 2025-08-25 15:06:19 +02:00
  • 1168c215d1 fixed crash in OP_add_loc if the variable is modified in JS_ToPrimitiveFree() Fabrice Bellard 2025-08-25 14:50:04 +02:00
  • e1c18befb8 fixed buffer overflow in js_bigint_from_string() Fabrice Bellard 2025-08-25 14:24:06 +02:00
  • c942978927 TypedArray.prototype.subarray: fixed the step at which '[[ByteOffset]]' is read Fabrice Bellard 2025-08-25 14:01:43 +02:00
  • bb34e2797f test262 update Fabrice Bellard 2025-08-25 12:05:21 +02:00
  • 1fdc768fdc removed module leak in js_std_eval_binary() (#425) Fabrice Bellard 2025-07-09 14:39:19 +02:00
  • 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 Fabrice Bellard 2025-06-28 17:41:58 +02:00
  • 2fd48bf7df fixed module async evaluation logic - added DUMP_MODULE_EXEC Fabrice Bellard 2025-06-28 17:25:54 +02:00
  • f1b1c000c2 update test262 Fabrice Bellard 2025-06-28 10:43:26 +02:00