mirror of
https://github.com/bellard/quickjs.git
synced 2026-03-31 12:18:01 +00:00
Public repository of the QuickJS Javascript Engine.
When the runtime is called from a different thread or fiber than the one that captured stack_top, the stack pointer comparison produces false positives. This happens in any M:N threading model (green threads, fibers, coroutines) where each execution context has its own stack at an unrelated address. Detect this by checking if sp falls outside the expected stack range. If so, call JS_UpdateStackTop() to re-anchor before comparing. Zero overhead on the common single-thread path (unlikely branch). Genuine stack overflows are still detected correctly after re-anchoring. |
||
|---|---|---|
| .github/workflows | ||
| compat | ||
| doc | ||
| examples | ||
| fuzz | ||
| tests | ||
| .gitignore | ||
| Changelog | ||
| cutils.c | ||
| cutils.h | ||
| dtoa.c | ||
| dtoa.h | ||
| libregexp-opcode.h | ||
| libregexp.c | ||
| libregexp.h | ||
| libunicode-table.h | ||
| libunicode.c | ||
| libunicode.h | ||
| LICENSE | ||
| list.h | ||
| Makefile | ||
| qjs.c | ||
| qjsc.c | ||
| quickjs-atom.h | ||
| quickjs-libc.c | ||
| quickjs-libc.h | ||
| quickjs-opcode.h | ||
| quickjs.c | ||
| quickjs.h | ||
| readme-cosmo.txt | ||
| readme.txt | ||
| release.sh | ||
| repl.js | ||
| run-test262.c | ||
| test262_errors.txt | ||
| test262.conf | ||
| test262o_errors.txt | ||
| test262o.conf | ||
| TODO | ||
| unicode_download.sh | ||
| unicode_gen_def.h | ||
| unicode_gen.c | ||
| VERSION | ||
The main documentation is in doc/quickjs.pdf or doc/quickjs.html.