|  | 
| 285 | 285 | /* Min auxilliary stack size of each wasm thread */ | 
| 286 | 286 | #define WASM_THREAD_AUX_STACK_SIZE_MIN (256) | 
| 287 | 287 | 
 | 
| 288 |  | -/* Default/min/max stack size of each app thread */ | 
|  | 288 | +/* Default/min native stack size of each app thread */ | 
|  | 289 | +#if !(defined(APP_THREAD_STACK_SIZE_DEFAULT) \ | 
|  | 290 | +      && defined(APP_THREAD_STACK_SIZE_MIN)) | 
| 289 | 291 | #if defined(BH_PLATFORM_ZEPHYR) || defined(BH_PLATFORM_ALIOS_THINGS) \ | 
| 290 | 292 |     || defined(BH_PLATFORM_ESP_IDF) || defined(BH_PLATFORM_OPENRTOS) | 
| 291 | 293 | #define APP_THREAD_STACK_SIZE_DEFAULT (6 * 1024) | 
| 292 | 294 | #define APP_THREAD_STACK_SIZE_MIN (4 * 1024) | 
| 293 | 295 | #elif defined(PTHREAD_STACK_DEFAULT) && defined(PTHREAD_STACK_MIN) | 
| 294 | 296 | #define APP_THREAD_STACK_SIZE_DEFAULT PTHREAD_STACK_DEFAULT | 
| 295 | 297 | #define APP_THREAD_STACK_SIZE_MIN PTHREAD_STACK_MIN | 
|  | 298 | +#elif WASM_ENABLE_UVWASI != 0 | 
|  | 299 | +/* UVWASI requires larger native stack */ | 
|  | 300 | +#define APP_THREAD_STACK_SIZE_DEFAULT (64 * 1024) | 
|  | 301 | +#define APP_THREAD_STACK_SIZE_MIN (48 * 1024) | 
| 296 | 302 | #else | 
| 297 | 303 | #define APP_THREAD_STACK_SIZE_DEFAULT (32 * 1024) | 
| 298 | 304 | #define APP_THREAD_STACK_SIZE_MIN (24 * 1024) | 
| 299 | 305 | #endif | 
|  | 306 | +#endif /* end of !(defined(APP_THREAD_STACK_SIZE_DEFAULT) \ | 
|  | 307 | +                   && defined(APP_THREAD_STACK_SIZE_MIN)) */ | 
|  | 308 | + | 
|  | 309 | +/* Max native stack size of each app thread */ | 
| 300 | 310 | #if !defined(APP_THREAD_STACK_SIZE_MAX) | 
| 301 | 311 | #define APP_THREAD_STACK_SIZE_MAX (8 * 1024 * 1024) | 
| 302 | 312 | #endif | 
| 303 | 313 | 
 | 
| 304 | 314 | /* Reserved bytes to the native thread stack boundary, throw native | 
| 305 | 315 |    stack overflow exception if the guard boudary is reached */ | 
| 306 |  | -#define RESERVED_BYTES_TO_NATIVE_STACK_BOUNDARY (512) | 
|  | 316 | +#ifndef RESERVED_BYTES_TO_NATIVE_STACK_BOUNDARY | 
|  | 317 | +#if WASM_ENABLE_UVWASI != 0 | 
|  | 318 | +/* UVWASI requires larger native stack */ | 
|  | 319 | +#define RESERVED_BYTES_TO_NATIVE_STACK_BOUNDARY (4096 * 6) | 
|  | 320 | +#else | 
|  | 321 | +#define RESERVED_BYTES_TO_NATIVE_STACK_BOUNDARY (1024) | 
|  | 322 | +#endif | 
|  | 323 | +#endif | 
| 307 | 324 | 
 | 
| 308 | 325 | /* Guard page count for stack overflow check with hardware trap */ | 
|  | 326 | +#ifndef STACK_OVERFLOW_CHECK_GUARD_PAGE_COUNT | 
| 309 | 327 | #define STACK_OVERFLOW_CHECK_GUARD_PAGE_COUNT 3 | 
|  | 328 | +#endif | 
| 310 | 329 | 
 | 
| 311 | 330 | /* Default wasm block address cache size and conflict list size */ | 
| 312 | 331 | #ifndef BLOCK_ADDR_CACHE_SIZE | 
|  | 
0 commit comments