Commit Graph

164 Commits

Author SHA1 Message Date
Sam
693449e34e
add gitignore for build objects (#84)
Signed-off-by: Samuel Hellawell <sshellawell@gmail.com>
Co-authored-by: Charlie Gordon <github@chqrlie.org>
2024-02-12 10:28:38 +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
Ben Noordhuis
fd6e039770 Add UndefinedBehaviorSanitizer support 2024-02-11 20:37:24 +01:00
Ben Noordhuis
325ca194b7 Add MemorySanitizer support 2024-02-11 20:27:34 +01:00
Ben Noordhuis
626e0d4e60 Unbroke tests/test_test_bjson.js 2024-02-11 18:38:47 +01:00
Ben Noordhuis
2e1013429a Add more tests
- add regexp tests in tests/microbench.js
- add bjson_test_regexp in tests/test_test_bjson.js
2024-02-11 16:20:39 +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
c9e6c56c70 Improve microbench
- remove import statements (invoke with qjs --std)
- fix compatibility issues with node
- add more loop styles
- add more string concatenation tests
- use === and !=== where appropriate
- fix sort timing log
- add `-r ref_file` command line option to specify reference file
- add .gitignore file with target file patterns
2024-02-11 12:11:53 +01:00
Charlie Gordon
2c793e5097 Fix test262o error
- excude test262o/test/suite/ch15/15.5/15.5.4/15.5.4.9/15.5.4.9_CE.js:
  Test262 Error: String.prototype.localeCompare considers ö (\u006f\u0308) = ö (\u00f6).
2024-02-10 20:54:29 +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
1ed38eef33 fixed MingW64 install on Windows (absop) (github issue #230) 2024-02-03 15:48:09 +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
090685a8c2 update test results 2024-01-27 13:12:37 +01:00
Fabrice Bellard
67723c93e4 fixed js_std_await() in case 'obj' is not a promise (github issue #222) 2024-01-22 18:03:35 +01:00
Fabrice Bellard
9e561d5c2e fixed and simplified setTimeout() by using an integer timer handle (github issue #218) 2024-01-19 10:20:34 +01:00
Fabrice Bellard
84058766e9 added js_std_await() and use it to wait for the evaluation of a module (github issue #219) 2024-01-19 10:19:58 +01:00
Fabrice Bellard
d6c7d169de update Changelog 2024-01-19 10:18:32 +01:00
Fabrice Bellard
3f81070e57 new release 2024-01-13 11:16:02 +01:00
Fabrice Bellard
6e651e86e5 allow override of PREFIX, CROSS_PREFIX, CFLAGS and LDFLAGS in Makefile (humenda) 2024-01-13 11:15:28 +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
e80917bad4 fixed uninitialized harnessbuf 2024-01-11 15:28:41 +01:00
Fabrice Bellard
c9509664ab update test results 2024-01-11 15:28:12 +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
195c42b9fb added os.getpid() 2024-01-11 15:25:28 +01:00
Fabrice Bellard
10fc744ae4 regexp: fixed the zero advance logic in quantifiers (github issue #158) 2024-01-10 14:36:19 +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
af308614a8 fixed regexp case insensitive flag 2024-01-08 18:42:29 +01:00
Fabrice Bellard
aac24640b1 fix worker termination in example (github issue #98) 2024-01-08 18:41:03 +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
3c2cfabfc7 fixed run_test262_harness_test() with modules 2024-01-06 14:43:47 +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
a8064b74fb added note about atomic operations 2024-01-02 16:10:24 +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