diff options
Diffstat (limited to 'vm_core.h')
-rw-r--r-- | vm_core.h | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -698,6 +698,18 @@ typedef struct rb_vm_struct { #define RUBY_VM_FIBER_MACHINE_STACK_SIZE_MIN ( 16 * 1024 * sizeof(VALUE)) /* 64 KB or 128 KB */ #endif +#if __has_feature(memory_sanitizer) || __has_feature(address_sanitizer) +/* It seems sanitizers consume A LOT of machine stacks */ +#undef RUBY_VM_THREAD_MACHINE_STACK_SIZE +#define RUBY_VM_THREAD_MACHINE_STACK_SIZE (1024 * 1024 * sizeof(VALUE)) +#undef RUBY_VM_THREAD_MACHINE_STACK_SIZE_MIN +#define RUBY_VM_THREAD_MACHINE_STACK_SIZE_MIN ( 512 * 1024 * sizeof(VALUE)) +#undef RUBY_VM_FIBER_MACHINE_STACK_SIZE +#define RUBY_VM_FIBER_MACHINE_STACK_SIZE ( 256 * 1024 * sizeof(VALUE)) +#undef RUBY_VM_FIBER_MACHINE_STACK_SIZE_MIN +#define RUBY_VM_FIBER_MACHINE_STACK_SIZE_MIN ( 128 * 1024 * sizeof(VALUE)) +#endif + /* optimize insn */ #define INTEGER_REDEFINED_OP_FLAG (1 << 0) #define FLOAT_REDEFINED_OP_FLAG (1 << 1) |