Ben Noordhuis
3bb2ca360e
Remove unnecessary ssize_t posix-ism
...
ssize_t is not always available and the cast it was used in wasn't
necessary in the first place, the value already has the right type.
Note that the field malloc_limit is an int64_t in JSMemoryUsage whereas it
is a size_t in JSMallocState.
2024-02-16 10:25:29 +01:00
Charlie Gordon
c06af876f6
Improve string concatenation hack
...
- add more cases of in place string concatenation
this temporary hack improves the microbench timing by 30% but
has little impact on the test262 timings.
2024-02-15 10:30:04 +01:00
Charlie Gordon
95e0aa0526
Reverse e140122202
...
- remove temporary fix for MemorySanitizer:
setting p->u.array.count to 0 silenced a warning in JS_GetPropertyValue on a
hacky test agains the length of fast_array object.
This hack was removed by commit c3635861f6
.
2024-02-13 09:45:58 +01:00
Charlie Gordon
1fe04149e9
Fix test262 error
...
- force evaluation order in `set_date_fields`
- fix evaluation error in test262/test/built-ins/Date/UTC/fp-evaluation-order.js:19:
unexpected error: Test262Error: precision in MakeDate Expected SameValue(«34448384», «34447360») to be true
2024-02-12 18:37:37 +01:00
Ben Noordhuis
e140122202
Fix sloppy mode arguments uninitialized value use
...
MemorySanitizer complained about uninitialized reads in
the indexed property code path in JS_GetPropertyValue()
with JS_CLASS_MAPPED_ARGUMENTS objects.
2024-02-11 23:54:19 +01:00
Ben Noordhuis
6dbf01bb1f
Remove unsafe sprintf() and strcat() calls
...
Prep work for enabling the sanitizers on macos CI since they are marked
as deprecated and cause the build to fail when -Werror is enabled.
2024-02-11 21:58:14 +01:00
Charlie Gordon
6535064577
Fix undefined behavior (UBSAN)
2024-02-11 21:32:36 +01:00
Saúl Ibarra Corretgé
e53d622359
Fix UB in js_dtoa1
2024-02-11 20:59:17 +01:00
Charlie Gordon
48deab1aeb
Fix runtime bugs
...
- fix string leak in `js_printf_internal` on errors
- read `errno` before potential side effects in `js_os_stat`
2024-02-11 12:49:40 +01:00
Charlie Gordon
37bd4ae62d
Strip trailing spaces
2024-02-10 16:19:17 +01:00
Fabrice Bellard
6f480abbc8
avoid using INT64_MAX in double comparisons because it cannot be exactly represented as a double (bnoordhuis)
2024-02-03 15:48:57 +01:00
Fabrice Bellard
00967aac24
fixed Promise return in the REPL by using a wrapper object in async std.evalScript() (github issue #231 )
2024-02-03 15:47:42 +01:00
Fabrice Bellard
c6cc6a9a5e
export JS_GetModuleNamespace (github issue #34 )
2024-01-27 13:27:32 +01:00
Fabrice Bellard
cd666a851f
simplified and fixed arrow function parsing (github issue #226 )
2024-01-27 13:12:54 +01:00
Fabrice Bellard
efdb722f02
fixed JS_GetScriptOrModuleName() in direct or indirect eval code
2024-01-13 11:15:06 +01:00
Fabrice Bellard
9a4379daf6
native cosmopolitan build
2024-01-11 15:29:19 +01:00
Fabrice Bellard
e66ce48872
more portable and Windows version for getTimezoneOffset() (github issue #122 )
2024-01-11 15:26:39 +01:00
Fabrice Bellard
f25e5d4094
optional chaining fixes (github issue #103 )
2024-01-09 19:15:40 +01:00
Fabrice Bellard
e1e65aca91
fixed Date.toLocaleString() (kuzmas)
2024-01-08 19:02:30 +01:00
Fabrice Bellard
c06c399f4f
fixed next token parsing after a function definition (github issue #77 )
2024-01-08 18:40:35 +01:00
Fabrice Bellard
5935a26eae
fixed class name init in static initializers
2024-01-08 18:39:58 +01:00
Fabrice Bellard
c3635861f6
avoid potentially undefined behavior and make valgrind happy (bnoordhuis) (github issue #153 )
2024-01-08 18:39:26 +01:00
Fabrice Bellard
df3781d082
make for in faster and spec compliant (github issue #137 )
2024-01-06 14:43:29 +01:00
Fabrice Bellard
24aa7ba4f0
fixed test262: derived-this-uninitialized-realm.js
2024-01-06 14:42:43 +01:00
Fabrice Bellard
bd0b7048de
added a comment for non-initialized warning in Valgrind (github issue #153 )
2024-01-06 11:20:20 +01:00
Fabrice Bellard
3ab1c2b314
added 'in' operator for private fields
2024-01-02 16:11:20 +01:00
Fabrice Bellard
16057644f3
class static block (initial patch by bnoordhuis)
2024-01-02 16:10:43 +01:00
Fabrice Bellard
8f897d64d4
fixed crash in JS_DumpMemoryUsage (github issue #65 )
2024-01-02 16:09:55 +01:00
Fabrice Bellard
e44b793e38
allow 'await' in the REPL and added os.sleepAsync()
2024-01-02 16:09:30 +01:00
Fabrice Bellard
8de4538ff3
make JS_NewClassID thread safe
2024-01-02 16:08:48 +01:00
Fabrice Bellard
5c120cd471
added Error cause
2024-01-02 16:08:08 +01:00
Fabrice Bellard
2ee6be705f
added os.now()
2023-12-27 19:09:29 +01:00
Fabrice Bellard
2785ede778
fixed JS module autodetection with shebang (github issue #91 )
2023-12-27 18:19:46 +01:00
Fabrice Bellard
b4d80502b6
fixed crash when resizing property shapes in case of OOM (github issue #129 )
2023-12-27 18:19:06 +01:00
Fabrice Bellard
7414e5f67f
fixed the garbage collection of async functions with closures (github issue #156 )
2023-12-27 17:21:46 +01:00
Fabrice Bellard
399d916e66
removed memory leak
2023-12-27 17:20:10 +01:00
Fabrice Bellard
a47f40cde8
added RegExp 'd' flag (bnoordhuis)
2023-12-27 17:19:44 +01:00
Fabrice Bellard
5fc27dc7cf
added Promise.withResolvers
2023-12-27 17:19:25 +01:00
Fabrice Bellard
feefdb1742
added Array.prototype.{with,toReversed,toSpliced,toSorted} and TypedArray.prototype.{with,toReversed,toSorted} (initial patch by bnoordhuis)
2023-12-27 17:19:00 +01:00
Fabrice Bellard
c2c773e135
added Object.groupBy and Map.groupBy (initial patch by bnoordhuis)
2023-12-27 17:18:39 +01:00
Fabrice Bellard
4876f72a1a
added String.prototype.isWellFormed and String.prototype.toWellFormed
2023-12-27 17:16:47 +01:00
Fabrice Bellard
b8791e9b4a
fixed detached TypedArray in sort()
2023-12-27 17:13:44 +01:00
Fabrice Bellard
6e4931c4ad
top-level-await support - follow the spec in the implementation of the module linking and evaluation to avoid errors with cycling module dependencies
2023-12-27 17:10:47 +01:00
Fabrice Bellard
e9290401ce
reduced JS_MAX_LOCAL_VARS (github issue #123 )
2023-12-22 11:06:37 +01:00
Fabrice Bellard
e68993b678
removed unused JSContext field
2023-12-22 11:06:19 +01:00
Fabrice Bellard
07ff474992
use Unicode normalization in String.prototype.localeCompare
2023-12-22 11:05:49 +01:00
Fabrice Bellard
7cefa7b121
'for of' expression cannot start with 'async'
2023-12-22 11:05:18 +01:00
Fabrice Bellard
43420235d5
removed incorrect await in async yield*
2023-12-22 11:04:54 +01:00
Fabrice Bellard
3ba181e6c6
fixed define own property with writable=false on module namespace
2023-12-22 11:04:22 +01:00
Fabrice Bellard
c3599515c8
added container_of macro
2023-12-22 11:03:44 +01:00