diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | src/args.rs | 7 |
2 files changed, 7 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index aab281f7..f36245f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -91,6 +91,7 @@ Bug fixes: Fix bug where `-F`/`-x` weren't applied to patterns given via `-f`. * [BUG #1189](https://github.com/BurntSushi/ripgrep/issues/1189): Document cases where ripgrep may use a lot of memory. +* BUG: Increase the default stack size for PCRE2's JIT. 0.10.0 (2018-09-07) diff --git a/src/args.rs b/src/args.rs index 414bf815..389de1dd 100644 --- a/src/args.rs +++ b/src/args.rs @@ -693,8 +693,13 @@ impl ArgMatches { .word(self.is_present("word-regexp")); // For whatever reason, the JIT craps out during regex compilation with // a "no more memory" error on 32 bit systems. So don't use it there. - builder.jit_if_available(true); if cfg!(target_pointer_width = "64") { + builder + .jit_if_available(true) + // The PCRE2 docs say that 32KB is the default, and that 1MB + // should be big enough for anything. But let's crank it to + // 10MB. + .max_jit_stack_size(Some(10 * (1<<20))); } if self.pcre2_unicode() { builder.utf(true).ucp(true); |