summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/args.rs7
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);