Commit graph

84 commits

Author SHA1 Message Date
The Ghost of FOSS' Future
23d4991413
Update qjs.c 2025-01-09 01:10:16 +00:00
The Ghost of FOSS' Future
1192dce8db
Update qjs.c 2025-01-09 01:09:29 +00:00
The Ghost of FOSS' Future
b72e49aef9
Update qjs.c 2025-01-09 01:07:06 +00:00
The Ghost of FOSS' Future
71134f6280
Update qjs.c 2025-01-09 01:06:20 +00:00
The Ghost of FOSS' Future
dd406af274
Update qjs.c 2025-01-09 01:05:27 +00:00
The Ghost of FOSS' Future
67e4da4695
Update qjs.c 2025-01-09 01:03:54 +00:00
The Ghost of FOSS' Future
2eda1aa250
Update qjs.c 2025-01-09 01:03:01 +00:00
The Ghost of FOSS' Future
c50f3ac3e1
Update qjs.c 2025-01-09 00:57:49 +00:00
The Ghost of FOSS' Future
7d750e11ba
Update qjs.c 2025-01-09 00:56:38 +00:00
The Ghost of FOSS' Future
4471e8c960
Update qjs.c 2025-01-09 00:55:15 +00:00
The Ghost of FOSS' Future
368edcad72
Update qjs.c 2025-01-09 00:53:06 +00:00
The Ghost of FOSS' Future
31447efe69
Update qjs.c 2025-01-09 00:51:59 +00:00
The Ghost of FOSS' Future
02c03f6a01
Update qjs.c 2025-01-09 00:48:26 +00:00
The Ghost of FOSS' Future
78a733fdc3
Update qjs.c 2025-01-09 00:47:30 +00:00
The Ghost of FOSS' Future
c5a8c04c50
Update qjs.c 2025-01-09 00:45:48 +00:00
The Ghost of FOSS' Future
5fd2efe534
Update qjs.c 2025-01-09 00:43:27 +00:00
The Ghost of FOSS' Future
2cb4872308
Update qjs.c 2025-01-09 00:40:50 +00:00
The Ghost of FOSS' Future
c47ebab939
Update qjs.c 2025-01-09 00:39:11 +00:00
The Ghost of FOSS' Future
7f9a72d70c
Update qjs.c 2025-01-09 00:36:32 +00:00
The Ghost of FOSS' Future
ecce83d642
Update qjs.c 2025-01-09 00:34:58 +00:00
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
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
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
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
4d17eb56ad
Update qjs.c 2025-01-06 15:31:15 -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
44fa5dbf60
Update qjs.c 2025-01-06 14:25:39 -06: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
KaruroChori
374915ad0c
Rename some internal symbols to avoid collisions 2024-12-15 11:01:16 +01:00
Saúl Ibarra Corretgé
ce03c998c4
Add ability to create standalone binaries with qjs
Ref: https://github.com/quickjs-ng/quickjs/issues/438
Closes: https://github.com/quickjs-ng/quickjs/pull/441
2024-12-03 22:59:11 +01:00
Saúl Ibarra Corretgé
92577d33ff Rename __argv to execArgv 2024-12-03 07:05:38 +01:00
Saúl Ibarra Corretgé
5cfb0ec260 Expose raw argv in CLI
`scriptArgs` only contains arguments that the CLI didn't parse, the
script might want to dig into all the arguments.
2024-12-02 21:17:16 +01:00
Saúl Ibarra Corretgé
f7f70fc579 Fix leak when interpreter exits due to exception
Fixes: https://github.com/quickjs-ng/quickjs/issues/720
2024-11-25 11:07:07 +01:00
Ben Noordhuis
df81c9940f
Make qjs --std switch include bjson module (#640) 2024-10-29 22:56:00 +01:00
Saúl Ibarra Corretgé
0c8aeb1d50 Eval CLI included files as scripts
After 8cd59bf7c4 any file included by qjs
with -I that would parse as a module is eval'd as so, which is usually
not the intent, but rather to define some global functions.
2024-10-24 22:25:13 +02:00
Saúl Ibarra Corretgé
cc11a829e8
Prefix stdlib modules with "qjs:"
Fixes: https://github.com/quickjs-ng/quickjs/issues/616
2024-10-24 22:24:03 +02:00
Saúl Ibarra Corretgé
1defa63c73
Add version to navigator.userAgent (#542)
A la Deno and Bun.
2024-09-24 18:28:14 +02:00
Saúl Ibarra Corretgé
6ce2dcc938 Add ability to compile the CLI with mimalloc
Some (unscientific) benchmark results:

| Benchmark (Higher scores are better)  | QuickJS           | QuickJS (mimalloc) |
|---------------------------------------|-------------------|--------------------|
| Richards                              | 1217              | 1229               |
| DeltaBlue                             | 1192              | 1297               |
| Crypto                                | 1195              | 1191               |
| RayTrace                              | 1477              | 2186               |
| EarleyBoyer                           | 2441              | 3246               |
| RegExp                                | 275               | 315                |
| Splay                                 | 2461              | 3765               |
| NavierStokes                          | 2156              | 2119               |
| Score                                 | 1318              | 1553               |

Running the V8 benchmark suite (version 7) on an M1 MacBook Pro.

Fixes: https://github.com/quickjs-ng/quickjs/issues/142
2024-09-20 09:49:01 +02:00
Saúl Ibarra Corretgé
cfeeff91db Refactor JSMallocFunctions to simplify the implementation
Rather than having the user take care of JSMallocState, take care of the
bookkeeping internally (and make JSMallocState non-public since it's no
longer necessary) and keep the allocation functions to the bare minimum.

This has the advantage that using a different allocator is just a few
lines of code, and there is no need to copy the default implementation
just to moficy the call to the allocation function.

Fixes: https://github.com/quickjs-ng/quickjs/issues/285
2024-09-19 20:49:09 +02:00