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
Saúl Ibarra Corretgé
53b641d4b3
Fixes timezone bias on Windows
...
`GetTimeZoneInformation`returns the bias in minutes already, so no need to adjust it.
Also handle the return code since it determines if the time zone is in the daylight saving range.
Ref: https://learn.microsoft.com/en-us/windows/win32/api/timezoneapi/nf-timezoneapi-gettimezoneinformation
Fixes: https://github.com/saghul/txiki.js/issues/325
2024-12-09 22:53:43 +01:00
Ben Noordhuis
66732e78ef
Fix break statement in presence of labels ( #742 )
...
In this snippet...
for (;;) label: break
...the break statement jumped back to the start of the loop instead of
*out* of the loop.
Fixes: https://github.com/quickjs-ng/quickjs/issues/741
2024-12-04 23:56:52 +01:00
Oliver
ebc1a655b4
Fix linking with libm
...
Fixes using clang's MSVC ABI.
Fixes: https://github.com/quickjs-ng/quickjs/issues/728
2024-12-04 07:15:20 +01:00
Saúl Ibarra Corretgé
a41771f735
Update docs on standalone executables
2024-12-03 23:03:37 +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é
721766faa1
Fix exporting JS_GetModuleNamespace
2024-12-03 17:11:34 +01:00
Saúl Ibarra Corretgé
4968ef6e90
Add support for the "x" flag in std.open()
2024-12-03 14:59:50 +01:00
Saúl Ibarra Corretgé
92577d33ff
Rename __argv to execArgv
2024-12-03 07:05:38 +01:00
Saúl Ibarra Corretgé
858fc361ff
Use UCRT64 variant when making 64bit Windows releases
...
See: https://www.msys2.org/docs/environments/
2024-12-02 21:19:51 +01:00
Saúl Ibarra Corretgé
e77cfb67b8
Add "compile_module" and "eval_module" flags to std.evalScript
...
This is preparation for standalone binaries support, we need the ability
to compile source as a module and then evaluate it.
2024-12-02 21:18:08 +01:00
Saúl Ibarra Corretgé
517e9e274e
Add ability to load file as Uint8Array in std.loadFile
2024-12-02 21:17:34 +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é
06cd3da2fd
Add INSTALL_PREFIX helper variable to Makefile
2024-12-02 21:16:53 +01:00
Saúl Ibarra Corretgé
685a9bc171
Install qjsc as part of the install target
...
Fixes: https://github.com/quickjs-ng/quickjs/issues/730
2024-12-02 21:16:53 +01:00
Saúl Ibarra Corretgé
fd054b7231
Fix Date.prototype.set* when date is invalid
...
setYear required special handing since calling date.setYear(NaN) has
specific defined behavior.
2024-11-28 20:45:54 +01:00
Saúl Ibarra Corretgé
c351133dcc
Implement Error.captureStackTrace
2024-11-26 12:13:42 +01:00
Ben Noordhuis
0b0b794605
Simplify close_lexical_var ( #726 )
...
Its implementation was borderline wrong: calling it with is_arg=TRUE
segfaults because it looks up the var ref index in the wrong array.
Fortunately, there is only one caller and it only passes FALSE.
2024-11-26 00:34:46 +01:00