Commit graph

161 commits

Author SHA1 Message Date
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
Fabrice Bellard
2ee6be705f added os.now() 2023-12-27 19:09:29 +01:00
Fabrice Bellard
ffe81419ff define the same atoms with or without CONFIG_ATOMICS (github issue #76) 2023-12-27 18:28:54 +01:00
Fabrice Bellard
2785ede778 fixed JS module autodetection with shebang (github issue #91) 2023-12-27 18:19:46 +01:00