Fabrice Bellard
0c5d59f6a9
optimized and fixed JS_AtomIsNumericIndex1(): 'NaN' is also a number
2025-04-16 15:04:57 +02:00
Fabrice Bellard
3b04c58628
fixed 'with' access by adding HasPropery() calls - removed unused 'with_get_ref_undef' opcode
2025-04-16 14:48:12 +02:00
Fabrice Bellard
83530ac9a7
fixed destructuring operation order when defining variables - optimized more cases of variable definition in destructuring
2025-04-16 14:23:54 +02:00
Fabrice Bellard
1d5e7cf300
fixed destructuring parsing: do it only in assignment expressions
2025-04-16 14:14:21 +02:00
Fabrice Bellard
5449fd42d6
more ToPropertyKey ordering changes
2025-04-15 11:26:53 +02:00
Fabrice Bellard
8f99de5b7f
spec update: ToPropertyKey() is now done after the evaluation of the expression in assignments
2025-04-15 10:50:59 +02:00
Fabrice Bellard
ecfef7174d
String.prototype.localeCompare is added in JS_AddIntrinsicStringNormalize() as it requires unicode normalization
2025-04-14 15:14:49 +02:00
Fabrice Bellard
251a8b2211
added column number in error messages - simplified parser
2025-04-14 14:46:47 +02:00
Fabrice Bellard
4cc4c6c1c5
optimized js_parse_class_default_ctor() (bnoordhuis)
2025-04-12 16:04:59 +02:00
Fabrice Bellard
9106fa0b58
fixed DUMP_BYTECODE
2025-04-12 16:02:48 +02:00
Fabrice Bellard
5b0c98a43a
fixed HTML comments (chqrlie)
2025-04-12 12:38:51 +02:00
Fabrice Bellard
67b48ae4e6
- 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
2025-04-12 12:14:37 +02:00
Fabrice Bellard
c50de13b15
indent fix
2025-04-10 17:38:44 +02:00
Fabrice Bellard
9918c1206e
workaround for #282
2025-04-10 17:38:28 +02:00
Fabrice Bellard
7adeb5c56e
Fix exporting destructured variables (saghul) ( #382 )
2025-04-10 16:23:25 +02:00
Fabrice Bellard
949c105aff
fixed class field named get or set
2025-04-10 16:01:26 +02:00
Fabrice Bellard
d546fbfdb7
changed js_throw_type_error ES5 workaround to be more compatible with test262
2025-04-10 15:37:19 +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
00e6f29b17
added JS_GetAnyOpaque() (oleavr)
2025-04-07 18:45:11 +02:00
Fabrice Bellard
1eb05e44fa
fixed buffer overflow in BJSON String and BigInt reader ( #399 )
2025-04-07 18:40:49 +02:00
Fabrice Bellard
a151ce19e5
fixed and improved Map/Set hashing
2025-04-07 14:42:07 +02:00
Fabrice Bellard
2b6cf578af
removed unused slack in hash_map_resize() (saghul)
2025-04-07 12:05:40 +02:00
Fabrice Bellard
083b7bab01
Fix UB in BigInt left shift (saghul)
2025-04-07 12:02:01 +02:00
Fabrice Bellard
fa706d5622
Fix leak in BigInt unary plus (saghul)
2025-04-07 12:00:08 +02:00
Fabrice Bellard
c805d4f784
fixed weakmap gc ( #398 )
2025-04-07 11:44:28 +02:00
Fabrice Bellard
159fe289e3
fixed module cyclic imports ( #329 )
2025-04-05 18:06:08 +02:00
Fabrice Bellard
c1bf4e99db
workaround for overflow test in JS_GetOwnPropertyNamesInternal() ( #111 )
2025-04-05 16:19:25 +02:00
Fabrice Bellard
beeb2725cd
'undefined' is a valid let/const variable name. It gives a SyntaxError at top level because it is already defined ( #370 )
2025-04-05 15:52:55 +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
bf164d640f
fixed eval with empty argument scope ( #249 )
2025-03-31 18:33:22 +02:00
Fabrice Bellard
6ac04e1bf2
removed useless printf() ( #257 )
2025-03-31 18:00:27 +02:00
Fabrice Bellard
0d7aaed71c
ensure that JS_IteratorNext() returns JS_UNDEFINED when done = TRUE ( #394 )
2025-03-31 13:37:37 +02:00
Fabrice Bellard
56c47f7d2a
fixed exception handling in AsyncFromSyncIterator and async for of
2025-03-28 10:11:15 +01:00
Fabrice Bellard
67de495254
fixed typed array set operation when obj != receiver
2025-03-27 17:06:26 +01:00
Fabrice Bellard
b0c1a12196
fixed set_date_field()
2025-03-27 16:28:56 +01:00
Fabrice Bellard
e8cfe8fede
removed memory leak in string padding (issue #274 )
2025-03-27 14:43:25 +01:00
Fabrice Bellard
6cc02b4421
more use of js_new_string8 - inlined JS_NewString() (initial patch by Charlie Gordon)
2025-03-25 16:33:47 +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
d1bb520f29
reduced memory usage of Map hash table
2025-03-22 11:28:23 +01:00
Fabrice Bellard
49413985eb
fixed hash_map_resize() - added Map/WeakMap in microbench
2025-03-22 10:54:21 +01:00
Fabrice Bellard
9f65ef1950
simplified and fixed backtrace_barrier ( #306 )
2025-03-20 13:37:07 +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
9f1864a268
msan fix ( #389 )
2025-03-19 14:27:01 +01:00
Fabrice Bellard
131408fa07
simplified js_bigint_from_float64()
2025-03-19 13:56:10 +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
5a16c0c1eb
fixed JS_DumpValue() for BigInt
2025-03-19 11:59:47 +01:00
Fabrice Bellard
6de88859e7
more bignum cleanup
2025-03-19 11:43:31 +01:00