Commit Graph

122 Commits

Author SHA1 Message Date
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 8e21b96738 pass node-js command line arguments to microbench 2024-02-15 09:59:50 +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
Charlie Gordon ef4e7b23f4 Fix compiler warnings 2024-02-12 18:35:27 +01:00
Charlie Gordon 92e339d14f Simplify and clarify URL quoting js_std_urlGet 2024-02-12 18:34:52 +01:00
Nick Vatamaniuc 636c946531
FreeBSD QuickJS Patch (#203) 2024-02-12 11:28:00 +01:00
Felix S ae6fa8d3d2
Fix shell injection bug in std.urlGet (#61) 2024-02-12 11:20:25 +01:00
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