[compiler-rt] Allow trampoline allocation further and 1 gig.
authorEtienne Bergeron <etienneb@google.com>
Mon, 18 Jul 2016 19:33:05 +0000 (19:33 +0000)
committerEtienne Bergeron <etienneb@google.com>
Mon, 18 Jul 2016 19:33:05 +0000 (19:33 +0000)
Summary:
The trampoline allocation limits the memory scanning to 1 gig.
There is an unittest that is allocating a large object which make
it impossible to the trampoline allocator to find a free spot.

see shadow_mapping_failures:
```
char bigchunk[1 << 30];
```

This patch is not fixing the unittest but it's fixing it's infinite
loop behavior.

Reviewers: rnk

Subscribers: llvm-commits, wang0109, chrisha

Differential Revision: https://reviews.llvm.org/D22471

llvm-svn: 275887

compiler-rt/lib/interception/interception_win.cc

index 8977d59..13d42cf 100644 (file)
@@ -294,7 +294,7 @@ struct TrampolineMemoryRegion {
   uptr max_size;
 };
 
-static const uptr kTrampolineScanLimitRange = 1 << 30;  // 1 gig
+static const uptr kTrampolineScanLimitRange = 1 << 31;  // 2 gig
 static const int kMaxTrampolineRegion = 1024;
 static TrampolineMemoryRegion TrampolineRegions[kMaxTrampolineRegion];