Commit graph

687 commits

Author SHA1 Message Date
The Ghost of FOSS' Future
cb6fce1b84
Update qjs.c 2025-01-09 00:34:19 +00:00
The Ghost of FOSS' Future
178998f808
Update qjs.c 2025-01-09 00:33:37 +00:00
The Ghost of FOSS' Future
68d1773417
Update qjs.c 2025-01-09 00:32:51 +00:00
The Ghost of FOSS' Future
e5fb17e956
Update qjs.c 2025-01-09 00:30:29 +00:00
The Ghost of FOSS' Future
0440d400af
Update qjs.c 2025-01-09 00:26:20 +00:00
The Ghost of FOSS' Future
2639ec1199
Update qjs.c 2025-01-09 00:24:29 +00:00
The Ghost of FOSS' Future
47a857309f
Update qjs.c 2025-01-08 23:01:43 +00:00
The Ghost of FOSS' Future
168dfe4d09
Update qjs.c 2025-01-08 23:00:34 +00:00
The Ghost of FOSS' Future
2cb01b10a4
Update qjs.c 2025-01-08 22:59:06 +00:00
The Ghost of FOSS' Future
c4c48bf47b
Update repl.js 2025-01-08 22:53:12 +00:00
The Ghost of FOSS' Future
c8d48b3937
Merge branch 'quickjs-ng:master' into master 2025-01-08 22:45:11 +00:00
Saúl Ibarra Corretgé
97ea19dc81 Simplify exiting interpreter with exception
- Avoid keeping the exception object around
- Avoid passing the responsibility of freeing the exeption object to the
  caller
2025-01-08 21:37:49 +01:00
Ivan Komissarov
6d64933328
Add JS_IsRegExp function (#804) 2025-01-08 21:29:41 +01:00
Ivan Komissarov
36e3513d4e
Add JS_IsDate function (#803) 2025-01-08 21:29:05 +01:00
Ivan Komissarov
0fb7f4e208
Make js_get_stack_pointer more portable (#793)
By using code from LLVM.

3f79057338/clang/lib/Basic/Stack.cpp (L23-L38)
2025-01-08 19:56:43 +01:00
Ben Noordhuis
291eb9c5db
Remove test_conv.c (#800)
We only build it, we never run it, and it's fairly slow to build. It's
an almost verbatim copy of a sizable part of cutils.c that _is_ tested
so let's just remove it.

Fixes: https://github.com/quickjs-ng/quickjs/issues/788
2025-01-07 23:23:37 +01:00
Saúl Ibarra Corretgé
4b8057d512 Exit qjs on unhandled promise rejections
Fixes: https://github.com/quickjs-ng/quickjs/issues/790
2025-01-07 21:27:17 +01:00
The Ghost of FOSS' Future
86e6084fa9
Merge branch 'quickjs-ng:master' into master 2025-01-07 14:09:55 -06:00
Ivan Komissarov
84d11c4f69 Fix missing calls to va_end in libunicode 2025-01-07 18:09:22 +01:00
ialex32x
af16390b85 Update projects.md to include GodotJS 2025-01-07 06:49:21 +01:00
The Ghost of FOSS' Future
710866995b
add more polyfills 2025-01-06 19:28:30 -06:00
The Ghost of FOSS' Future
5d1cb14683
move globals back 2025-01-06 15:55:44 -06:00
The Ghost of FOSS' Future
f9809db69a
Add files via upload 2025-01-06 15:50:00 -06:00
The Ghost of FOSS' Future
30c9be7281
Update .gitignore 2025-01-06 15:49:23 -06:00
The Ghost of FOSS' Future
f95ffee992
Update .gitignore 2025-01-06 15:32:02 -06:00
The Ghost of FOSS' Future
4d17eb56ad
Update qjs.c 2025-01-06 15:31:15 -06:00
The Ghost of FOSS' Future
3984d3de14
fix shitty replace job 2025-01-06 15:28:28 -06:00
The Ghost of FOSS' Future
36c5ea0dae
moves repl polyfills to repl script 2025-01-06 15:24:12 -06:00
The Ghost of FOSS' Future
9658079b1a
Update README.md 2025-01-06 14:57:19 -06:00
The Ghost of FOSS' Future
16152fc0ce
Update README.md 2025-01-06 14:56:06 -06:00
The Ghost of FOSS' Future
febcddc3f2
Update LICENSE 2025-01-06 14:27:42 -06:00
The Ghost of FOSS' Future
ea54439877
Update qjsc.c 2025-01-06 14:26:21 -06:00
The Ghost of FOSS' Future
44fa5dbf60
Update qjs.c 2025-01-06 14:25:39 -06:00
Ben Noordhuis
ac4cd17bb5
Track line and column numbers for expressions (#781)
Commit 73cc00e reduced the number of emitted source locations a great
deal but it resulted in at least one observable regression:

    export default async function f() {
         return "abc" + x
    }
    f() // ReferenceError should point to 2:20 but pointed to 1:1

Emit source locations for expressions again. Increases the average
number of source locations by about 15%. Non-scientifically tested
by counting source locations emitted when parsing the test suite
before and after.

No test because we currently cannot easily test stack traces coming
from module imports.

Fixes: https://github.com/quickjs-ng/quickjs/issues/779
2025-01-05 22:20:43 +01:00
Ben Noordhuis
5b609f15af
Optimize derived class construction (#753)
We were emitting gobs of inefficient bytecode that created an arguments
array on the stack, then applied it to the parent constructor.

Add a new opcode for initializing a derived class. Speeds up construction
by 500%, although sadly that is not visible in the web-tooling-benchmark,
only in micro-benchmarks.

Fixes: https://github.com/quickjs-ng/quickjs/issues/752
2025-01-05 22:01:37 +01:00
Ben Noordhuis
6e434008f5
Fix -Wunterminated-string-initialization warning (#787)
Unbreaks the Cygwin build.
2025-01-05 21:42:18 +01:00
gschwind
1b957f71e3
Fix JS_NewClassID comment (#784) 2025-01-05 20:46:21 +01:00
lai
b675a95bec Expose JS_HasException API (#785) 2025-01-05 11:08:37 +01:00
guest271314
9fc794001a
Update cli.md (#783) 2025-01-04 09:56:10 +01:00
Ben Noordhuis
99c02eb451
Update stack limit in ASan builds (#778)
Otherwise recursive calls keep going until they trip ASan checks.

Remove the `__ASAN__` and `__UBSAN__` defines; no longer necessary.

Remove `globalThis.__running_with_sanitizer__` from qjs; likewise.

Fixes: https://github.com/quickjs-ng/quickjs/issues/671
Fixes: https://github.com/quickjs-ng/quickjs/issues/775
Fixes: https://github.com/quickjs-ng/quickjs/issues/776
2024-12-30 11:29:22 +01:00
Richard Davison
74fd4d7dc9
Add js_string_eq (#765)
Avoids checking equality when string lengths don't match.

Co-authored-by: Richard Davison <ridaviso@amazon.com>
2024-12-27 22:45:42 +01:00
Andrew Johnson
8d88f320fb
Fix compilation of quickjs-libc under emscripten (#773) 2024-12-27 16:37:34 +01:00
Saúl Ibarra Corretgé
482291286b Set version to 0.8.0 2024-12-23 22:45:13 +01:00
Saúl Ibarra Corretgé
e5915821be
Throw error when target executable cannot be found (#764) 2024-12-23 21:31:15 +01:00
Richard Davison
7f156b6ef9
Add typed array utility functions 2024-12-22 16:35:10 +01:00
Saúl Ibarra Corretgé
be2db73000 Use 1 MB as the default stack size
In addition:

- Move the WASI override to quickjs.c
- Allow it to be user defined

Ref: https://github.com/quickjs-ng/quickjs/issues/749#issuecomment-2540167690
2024-12-17 10:03:17 +01:00
KaruroChori
374915ad0c
Rename some internal symbols to avoid collisions 2024-12-15 11:01:16 +01:00
Saúl Ibarra Corretgé
7e292050a2 Drop checks for no longer used files 2024-12-13 09:46:57 +01:00
Cryse Hillmes
4b9d0ebdba Expose JS_IsUncatchableError API.
Very useful when handling errors.
2024-12-10 07:09:07 +01:00
Cryse Hillmes
6198fdf5d5 Update .gitignore for CMake and Visual Studio. 2024-12-10 06:46:11 +01:00