aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar zinc <zinc@downsta.ir> 2026-10-15 14:25:01 +0330
committerGravatar zinc <zinc@downsta.ir> 2026-10-15 14:25:01 +0330
commit8c0c0b0dad6a7ddf2b3075db2285dce8130ef2d0 (patch)
tree56bafd1318fb4f74c7c232cf6d847892025c4b4c /src/core
parentactors: remaining tls tables and the input buffer allocated on use; a worker ... (diff)
actors: micro workers map a copy-on-write snapshot too; inherited input is only the unread bytes; worker stacks 4 MB
Diffstat (limited to 'src/core')
-rw-r--r--src/core/core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/core.c b/src/core/core.c
index 77c4a99..648f54a 100644
--- a/src/core/core.c
+++ b/src/core/core.c
@@ -7688,7 +7688,7 @@ static Cell context_start(Cell entry, Cell channel) {
memcpy(context->callback_snapshot, ffi_cb, sizeof ffi_cb); memcpy(context->symbol_snapshot, ffi_sym, sizeof ffi_sym); memcpy(context->library_snapshot, ffi_lib, sizeof ffi_lib);
context->ffi_symbols = ffi_nsym; context->ffi_libraries = ffi_nlib; context->ffi_libm = ffi_tried_libm;
#endif
- pthread_attr_init(&attributes); pthread_attr_setstacksize(&attributes, 16u << 20);
+ pthread_attr_init(&attributes); pthread_attr_setstacksize(&attributes, 4u << 20); /* the vm keeps its own stacks in vm memory; 4 MB of address space covers the deepest native recursion (jit compile, o3) */
i = pthread_create(&context->thread, &attributes, context_worker, context); pthread_attr_destroy(&attributes);
if (i) goto failed;
context->parent_channel.next = context_channels; context_channels = &context->parent_channel;